diff --git a/404.html b/404.html index 873fd856a..0df8b2532 100644 --- a/404.html +++ b/404.html @@ -14,9 +14,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.1a21bc9c.css b/assets/css/styles.1a21bc9c.css new file mode 100644 index 000000000..b0c6bd6d5 --- /dev/null +++ b/assets/css/styles.1a21bc9c.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{-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)}.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{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-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-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}*,: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--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 a;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}.sidebar_re4s,.tableOfContents_bqdL{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem);overflow-y:auto}.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}@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}@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 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}.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/css/styles.9e44150b.css b/assets/css/styles.9e44150b.css deleted file mode 100644 index abd969046..000000000 --- a/assets/css/styles.9e44150b.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}*,.markdown .alert,:after,:before{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.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}.toggleButton_gllP,html{-webkit-tap-highlight-color:transparent}*,.DocSearch-Container,.DocSearch-Container *,:after,:before{box-sizing:border-box}:root{--ifm-color-scheme:light;--ifm-dark-value:10%;--ifm-darker-value:15%;--ifm-darkest-value:30%;--ifm-light-value:15%;--ifm-lighter-value:30%;--ifm-lightest-value:50%;--ifm-contrast-background-value:90%;--ifm-contrast-foreground-value:70%;--ifm-contrast-background-dark-value:70%;--ifm-contrast-foreground-dark-value:90%;--ifm-color-primary:#3578e5;--ifm-color-secondary:#ebedf0;--ifm-color-success:#00a400;--ifm-color-info:#54c7ec;--ifm-color-warning:#ffba00;--ifm-color-danger:#fa383e;--ifm-color-primary-dark:#306cce;--ifm-color-primary-darker:#2d66c3;--ifm-color-primary-darkest:#2554a0;--ifm-color-primary-light:#538ce9;--ifm-color-primary-lighter:#72a1ed;--ifm-color-primary-lightest:#9abcf2;--ifm-color-primary-contrast-background:#ebf2fc;--ifm-color-primary-contrast-foreground:#102445;--ifm-color-secondary-dark:#d4d5d8;--ifm-color-secondary-darker:#c8c9cc;--ifm-color-secondary-darkest:#a4a6a8;--ifm-color-secondary-light:#eef0f2;--ifm-color-secondary-lighter:#f1f2f5;--ifm-color-secondary-lightest:#f5f6f8;--ifm-color-secondary-contrast-background:#fdfdfe;--ifm-color-secondary-contrast-foreground:#474748;--ifm-color-success-dark:#009400;--ifm-color-success-darker:#008b00;--ifm-color-success-darkest:#007300;--ifm-color-success-light:#26b226;--ifm-color-success-lighter:#4dbf4d;--ifm-color-success-lightest:#80d280;--ifm-color-success-contrast-background:#e6f6e6;--ifm-color-success-contrast-foreground:#003100;--ifm-color-info-dark:#4cb3d4;--ifm-color-info-darker:#47a9c9;--ifm-color-info-darkest:#3b8ba5;--ifm-color-info-light:#6ecfef;--ifm-color-info-lighter:#87d8f2;--ifm-color-info-lightest:#aae3f6;--ifm-color-info-contrast-background:#eef9fd;--ifm-color-info-contrast-foreground:#193c47;--ifm-color-warning-dark:#e6a700;--ifm-color-warning-darker:#d99e00;--ifm-color-warning-darkest:#b38200;--ifm-color-warning-light:#ffc426;--ifm-color-warning-lighter:#ffcf4d;--ifm-color-warning-lightest:#ffdd80;--ifm-color-warning-contrast-background:#fff8e6;--ifm-color-warning-contrast-foreground:#4d3800;--ifm-color-danger-dark:#e13238;--ifm-color-danger-darker:#d53035;--ifm-color-danger-darkest:#af272b;--ifm-color-danger-light:#fb565b;--ifm-color-danger-lighter:#fb7478;--ifm-color-danger-lightest:#fd9c9f;--ifm-color-danger-contrast-background:#ffebec;--ifm-color-danger-contrast-foreground:#4b1113;--ifm-color-white:#fff;--ifm-color-black:#000;--ifm-color-gray-0:var(--ifm-color-white);--ifm-color-gray-100:#f5f6f7;--ifm-color-gray-200:#ebedf0;--ifm-color-gray-300:#dadde1;--ifm-color-gray-400:#ccd0d5;--ifm-color-gray-500:#bec3c9;--ifm-color-gray-600:#8d949e;--ifm-color-gray-700:#606770;--ifm-color-gray-800:#444950;--ifm-color-gray-900:#1c1e21;--ifm-color-gray-1000:var(--ifm-color-black);--ifm-color-emphasis-0:var(--ifm-color-gray-0);--ifm-color-emphasis-100:var(--ifm-color-gray-100);--ifm-color-emphasis-200:var(--ifm-color-gray-200);--ifm-color-emphasis-300:var(--ifm-color-gray-300);--ifm-color-emphasis-400:var(--ifm-color-gray-400);--ifm-color-emphasis-600:var(--ifm-color-gray-600);--ifm-color-emphasis-700:var(--ifm-color-gray-700);--ifm-color-emphasis-800:var(--ifm-color-gray-800);--ifm-color-emphasis-900:var(--ifm-color-gray-900);--ifm-color-emphasis-1000:var(--ifm-color-gray-1000);--ifm-color-content:var(--ifm-color-emphasis-900);--ifm-color-content-inverse:var(--ifm-color-emphasis-0);--ifm-color-content-secondary:#525860;--ifm-background-color:#0000;--ifm-background-surface-color:var(--ifm-color-content-inverse);--ifm-global-border-width:1px;--ifm-global-radius:0.4rem;--ifm-hover-overlay:#0000000d;--ifm-font-color-base:var(--ifm-color-content);--ifm-font-color-base-inverse:var(--ifm-color-content-inverse);--ifm-font-color-secondary:var(--ifm-color-content-secondary);--ifm-font-family-base:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--ifm-font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ifm-font-size-base:100%;--ifm-font-weight-light:300;--ifm-font-weight-normal:400;--ifm-font-weight-semibold:500;--ifm-font-weight-bold:700;--ifm-font-weight-base:var(--ifm-font-weight-normal);--ifm-line-height-base:1.65;--ifm-global-spacing:1rem;--ifm-spacing-vertical:var(--ifm-global-spacing);--ifm-spacing-horizontal:var(--ifm-global-spacing);--ifm-transition-fast:200ms;--ifm-transition-slow:400ms;--ifm-transition-timing-default:cubic-bezier(0.08,0.52,0.52,1);--ifm-global-shadow-lw:0 1px 2px 0 #0000001a;--ifm-global-shadow-md:0 5px 40px #0003;--ifm-global-shadow-tl:0 12px 28px 0 #0003,0 2px 4px 0 #0000001a;--ifm-z-index-dropdown:100;--ifm-z-index-fixed:200;--ifm-z-index-overlay:400;--ifm-container-width:1140px;--ifm-container-width-xl:1320px;--ifm-code-background:#f6f7f8;--ifm-code-border-radius:var(--ifm-global-radius);--ifm-code-font-size:90%;--ifm-code-padding-horizontal:0.1rem;--ifm-code-padding-vertical:0.1rem;--ifm-pre-background:var(--ifm-code-background);--ifm-pre-border-radius:var(--ifm-code-border-radius);--ifm-pre-color:inherit;--ifm-pre-line-height:1.45;--ifm-pre-padding:1rem;--ifm-heading-color:inherit;--ifm-heading-margin-top:0;--ifm-heading-margin-bottom:var(--ifm-spacing-vertical);--ifm-heading-font-family:var(--ifm-font-family-base);--ifm-heading-font-weight:var(--ifm-font-weight-bold);--ifm-heading-line-height:1.25;--ifm-h1-font-size:2rem;--ifm-h2-font-size:1.5rem;--ifm-h3-font-size:1.25rem;--ifm-h4-font-size:1rem;--ifm-h5-font-size:0.875rem;--ifm-h6-font-size:0.85rem;--ifm-image-alignment-padding:1.25rem;--ifm-leading-desktop:1.25;--ifm-leading:calc(var(--ifm-leading-desktop)*1rem);--ifm-list-left-padding:2rem;--ifm-list-margin:1rem;--ifm-list-item-margin:0.25rem;--ifm-list-paragraph-margin:1rem;--ifm-table-cell-padding:0.75rem;--ifm-table-background:#0000;--ifm-table-stripe-background:#00000008;--ifm-table-border-width:1px;--ifm-table-border-color:var(--ifm-color-emphasis-300);--ifm-table-head-background:inherit;--ifm-table-head-color:inherit;--ifm-table-head-font-weight:var(--ifm-font-weight-bold);--ifm-table-cell-color:inherit;--ifm-link-color:var(--ifm-color-primary);--ifm-link-decoration:none;--ifm-link-hover-color:var(--ifm-link-color);--ifm-link-hover-decoration:underline;--ifm-paragraph-margin-bottom:var(--ifm-leading);--ifm-blockquote-font-size:var(--ifm-font-size-base);--ifm-blockquote-border-left-width:2px;--ifm-blockquote-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-blockquote-padding-vertical:0;--ifm-blockquote-shadow:none;--ifm-blockquote-color:var(--ifm-color-emphasis-800);--ifm-blockquote-border-color:var(--ifm-color-emphasis-300);--ifm-hr-background-color:var(--ifm-color-emphasis-500);--ifm-hr-height:1px;--ifm-hr-margin-vertical:1.5rem;--ifm-scrollbar-size:7px;--ifm-scrollbar-track-background-color:#f1f1f1;--ifm-scrollbar-thumb-background-color:silver;--ifm-scrollbar-thumb-hover-background-color:#a7a7a7;--ifm-alert-background-color:inherit;--ifm-alert-border-color:inherit;--ifm-alert-border-radius:var(--ifm-global-radius);--ifm-alert-border-width:0px;--ifm-alert-border-left-width:5px;--ifm-alert-color:var(--ifm-font-color-base);--ifm-alert-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-alert-padding-vertical:var(--ifm-spacing-vertical);--ifm-alert-shadow:var(--ifm-global-shadow-lw);--ifm-avatar-intro-margin:1rem;--ifm-avatar-intro-alignment:inherit;--ifm-avatar-photo-size:3rem;--ifm-badge-background-color:inherit;--ifm-badge-border-color:inherit;--ifm-badge-border-radius:var(--ifm-global-radius);--ifm-badge-border-width:var(--ifm-global-border-width);--ifm-badge-color:var(--ifm-color-white);--ifm-badge-padding-horizontal:calc(var(--ifm-spacing-horizontal)*0.5);--ifm-badge-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-breadcrumb-border-radius:1.5rem;--ifm-breadcrumb-spacing:0.5rem;--ifm-breadcrumb-color-active:var(--ifm-color-primary);--ifm-breadcrumb-item-background-active:var(--ifm-hover-overlay);--ifm-breadcrumb-padding-horizontal:0.8rem;--ifm-breadcrumb-padding-vertical:0.4rem;--ifm-breadcrumb-size-multiplier:1;--ifm-breadcrumb-separator:url('data:image/svg+xml;utf8,');--ifm-breadcrumb-separator-filter:none;--ifm-breadcrumb-separator-size:0.5rem;--ifm-breadcrumb-separator-size-multiplier:1.25;--ifm-button-background-color:inherit;--ifm-button-border-color:var(--ifm-button-background-color);--ifm-button-border-width:var(--ifm-global-border-width);--ifm-button-font-weight:var(--ifm-font-weight-bold);--ifm-button-padding-horizontal:1.5rem;--ifm-button-padding-vertical:0.375rem;--ifm-button-size-multiplier:1;--ifm-button-transition-duration:var(--ifm-transition-fast);--ifm-button-border-radius:calc(var(--ifm-global-radius)*var(--ifm-button-size-multiplier));--ifm-button-group-spacing:2px;--ifm-card-background-color:var(--ifm-background-surface-color);--ifm-card-border-radius:calc(var(--ifm-global-radius)*2);--ifm-card-horizontal-spacing:var(--ifm-global-spacing);--ifm-card-vertical-spacing:var(--ifm-global-spacing);--ifm-toc-border-color:var(--ifm-color-emphasis-300);--ifm-toc-link-color:var(--ifm-color-content-secondary);--ifm-toc-padding-vertical:0.5rem;--ifm-toc-padding-horizontal:0.5rem;--ifm-dropdown-background-color:var(--ifm-background-surface-color);--ifm-dropdown-font-weight:var(--ifm-font-weight-semibold);--ifm-dropdown-link-color:var(--ifm-font-color-base);--ifm-dropdown-hover-background-color:var(--ifm-hover-overlay);--ifm-footer-background-color:var(--ifm-color-emphasis-100);--ifm-footer-color:inherit;--ifm-footer-link-color:var(--ifm-color-emphasis-700);--ifm-footer-link-hover-color:var(--ifm-color-primary);--ifm-footer-link-horizontal-spacing:0.5rem;--ifm-footer-padding-horizontal:calc(var(--ifm-spacing-horizontal)*2);--ifm-footer-padding-vertical:calc(var(--ifm-spacing-vertical)*2);--ifm-footer-title-color:inherit;--ifm-footer-logo-max-width:min(30rem,90vw);--ifm-hero-background-color:var(--ifm-background-surface-color);--ifm-hero-text-color:var(--ifm-color-emphasis-800);--ifm-menu-color:var(--ifm-color-emphasis-700);--ifm-menu-color-active:var(--ifm-color-primary);--ifm-menu-color-background-active:var(--ifm-hover-overlay);--ifm-menu-color-background-hover:var(--ifm-hover-overlay);--ifm-menu-link-padding-horizontal:0.75rem;--ifm-menu-link-padding-vertical:0.375rem;--ifm-menu-link-sublist-icon:url('data:image/svg+xml;utf8,');--ifm-menu-link-sublist-icon-filter:none;--ifm-navbar-background-color:var(--ifm-background-surface-color);--ifm-navbar-height:3.75rem;--ifm-navbar-item-padding-horizontal:0.75rem;--ifm-navbar-item-padding-vertical:0.25rem;--ifm-navbar-link-color:var(--ifm-font-color-base);--ifm-navbar-link-active-color:var(--ifm-link-color);--ifm-navbar-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-navbar-padding-vertical:calc(var(--ifm-spacing-vertical)*0.5);--ifm-navbar-shadow:var(--ifm-global-shadow-lw);--ifm-navbar-search-input-background-color:var(--ifm-color-emphasis-200);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-800);--ifm-navbar-search-input-placeholder-color:var(--ifm-color-emphasis-500);--ifm-navbar-search-input-icon:url('data:image/svg+xml;utf8,');--ifm-navbar-sidebar-width:83vw;--ifm-pagination-border-radius:var(--ifm-global-radius);--ifm-pagination-color-active:var(--ifm-color-primary);--ifm-pagination-font-size:1rem;--ifm-pagination-item-active-background:var(--ifm-hover-overlay);--ifm-pagination-page-spacing:0.2em;--ifm-pagination-padding-horizontal:calc(var(--ifm-spacing-horizontal)*1);--ifm-pagination-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-pagination-nav-border-radius:var(--ifm-global-radius);--ifm-pagination-nav-color-hover:var(--ifm-color-primary);--ifm-pills-color-active:var(--ifm-color-primary);--ifm-pills-color-background-active:var(--ifm-hover-overlay);--ifm-pills-spacing:0.125rem;--ifm-tabs-color:var(--ifm-font-color-secondary);--ifm-tabs-color-active:var(--ifm-color-primary);--ifm-tabs-color-active-border:var(--ifm-tabs-color-active);--ifm-tabs-padding-horizontal:1rem;--ifm-tabs-padding-vertical:1rem}.badge--danger,.badge--info,.badge--primary,.badge--secondary,.badge--success,.badge--warning{--ifm-badge-border-color:var(--ifm-badge-background-color)}.button--link,.button--outline{--ifm-button-background-color:#0000}html{-webkit-font-smoothing:antialiased;-moz-text-size-adjust:100%;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{--ifm-h1-vertical-rhythm-top:3;--ifm-h2-vertical-rhythm-top:2;--ifm-h3-vertical-rhythm-top:1.5;--ifm-heading-vertical-rhythm-top:1.25;--ifm-h1-vertical-rhythm-bottom:1.25;--ifm-heading-vertical-rhythm-bottom:1}.markdown:after,.markdown:before{content:"";display:table}.markdown:after{clear:both}.markdown h1:first-child{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-h1-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown>h2{--ifm-h2-font-size:2rem;margin-top:calc(var(--ifm-h2-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h3{--ifm-h3-font-size:1.5rem;margin-top:calc(var(--ifm-h3-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h4,.markdown>h5,.markdown>h6{margin-top:calc(var(--ifm-heading-vertical-rhythm-top)*var(--ifm-leading))}.markdown>p,.markdown>pre,.markdown>ul{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}.hash-link,.select-none{-webkit-user-select:none}.button,.button:hover{color:var(--ifm-button-color)}.button--outline{--ifm-button-color:var(--ifm-button-border-color)}.button--outline:hover{--ifm-button-background-color:var(--ifm-button-border-color)}.button--link{--ifm-button-border-color:#0000;color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}.button--link.button--active,.button--link:active,.button--link:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button.disabled,.button:disabled,.button[disabled]{opacity:.65;pointer-events:none}.button--sm{--ifm-button-size-multiplier:0.8}.button--lg{--ifm-button-size-multiplier:1.35}.button--block{display:block;width:100%}.button.button--secondary{color:var(--ifm-color-gray-900)}:where(.button--primary){--ifm-button-background-color:var(--ifm-color-primary);--ifm-button-border-color:var(--ifm-color-primary)}:where(.button--primary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-primary-dark);--ifm-button-border-color:var(--ifm-color-primary-dark)}.button--primary.button--active,.button--primary:active{--ifm-button-background-color:var(--ifm-color-primary-darker);--ifm-button-border-color:var(--ifm-color-primary-darker)}:where(.button--secondary){--ifm-button-background-color:var(--ifm-color-secondary);--ifm-button-border-color:var(--ifm-color-secondary)}:where(.button--secondary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-secondary-dark);--ifm-button-border-color:var(--ifm-color-secondary-dark)}.button--secondary.button--active,.button--secondary:active{--ifm-button-background-color:var(--ifm-color-secondary-darker);--ifm-button-border-color:var(--ifm-color-secondary-darker)}:where(.button--success){--ifm-button-background-color:var(--ifm-color-success);--ifm-button-border-color:var(--ifm-color-success)}:where(.button--success):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-success-dark);--ifm-button-border-color:var(--ifm-color-success-dark)}.button--success.button--active,.button--success:active{--ifm-button-background-color:var(--ifm-color-success-darker);--ifm-button-border-color:var(--ifm-color-success-darker)}:where(.button--info){--ifm-button-background-color:var(--ifm-color-info);--ifm-button-border-color:var(--ifm-color-info)}:where(.button--info):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-info-dark);--ifm-button-border-color:var(--ifm-color-info-dark)}.button--info.button--active,.button--info:active{--ifm-button-background-color:var(--ifm-color-info-darker);--ifm-button-border-color:var(--ifm-color-info-darker)}:where(.button--warning){--ifm-button-background-color:var(--ifm-color-warning);--ifm-button-border-color:var(--ifm-color-warning)}:where(.button--warning):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-warning-dark);--ifm-button-border-color:var(--ifm-color-warning-dark)}.button--warning.button--active,.button--warning:active{--ifm-button-background-color:var(--ifm-color-warning-darker);--ifm-button-border-color:var(--ifm-color-warning-darker)}:where(.button--danger){--ifm-button-background-color:var(--ifm-color-danger);--ifm-button-border-color:var(--ifm-color-danger)}:where(.button--danger):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-danger-dark);--ifm-button-border-color:var(--ifm-color-danger-dark)}.button--danger.button--active,.button--danger:active{--ifm-button-background-color:var(--ifm-color-danger-darker);--ifm-button-border-color:var(--ifm-color-danger-darker)}.button-group{display:inline-flex;gap:var(--ifm-button-group-spacing)}.button-group>.button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.button-group>.button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.button-group--block{display:flex;justify-content:stretch}.button-group--block>.button{flex-grow:1}.card{background-color:var(--ifm-card-background-color);border-radius:var(--ifm-card-border-radius);box-shadow:var(--ifm-global-shadow-lw);display:flex;flex-direction:column;overflow:hidden}.card__image{padding-top:var(--ifm-card-vertical-spacing)}.card__image:first-child,.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;left:0;top:0;visibility:hidden}.menu__link{color:var(--ifm-menu-color);flex:1;line-height:1.25}.menu__link:hover{color:var(--ifm-menu-color);text-decoration:none}.menu__caret:before,.menu__link--sublist-caret:after{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:-webkit-sticky;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)}.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,.sidebarItemLink_mo7H: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)}.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)}.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-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);--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;--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:#656c85cc;--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 #ffffff80,0 3px 8px 0 #555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px #1e235a66;--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 #45629b1f;--docsearch-primary-color:var(--ifm-color-primary);--docsearch-text-color:var(--ifm-font-color-base);--docusaurus-tag-list-border:var(--ifm-color-emphasis-300)}#nprogress .bar{background:var(--docusaurus-progress-bar-color);height:2px;left:0;position:fixed;top:0;width:100%;z-index:1031}#nprogress .peg{box-shadow:0 0 10px var(--docusaurus-progress-bar-color),0 0 5px var(--docusaurus-progress-bar-color);height:100%;opacity:1;position:absolute;right:0;transform:rotate(3deg) translateY(-4px);width:100px}*,:after,:before{border:0 solid;--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-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: }.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}.DocSearch-Hit[aria-selected=true] mark,.content_knG7 a{text-decoration:underline}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}.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{--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:-webkit-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{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{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}.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-bold{font-weight:700}.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-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors,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)}.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}h5,h6,li{line-height:1.5}aside{--doc-sidebar-width:320px}h1,h2,h3,h4{font-weight:700}h5{font-size:clamp(.9853849721883559rem,calc(.97675rem + .04317vw),1.0181953544068256rem)}h5,h6{font-weight:700}h6{font-size:clamp(.8888888888888888rem,calc(.89437rem - .02741vw),.8680555555555557rem);letter-spacing:.0142em}li{font-family:neue-haas-grotesk-text,Arial,sans-serif;font-size:clamp(.9853849721883559rem,calc(.97675rem + .04317vw),1.0181953544068256rem)}blockquote{margin:2.5rem 0;padding:1rem 0 1rem 2.5rem}.DocSearch-Modal .DocSearch-Form,.DocSearch.DocSearch-Button{border-color:rgb(228 235 245/var(--tw-border-opacity))!important;border-style:solid!important}blockquote p{font-family:neue-haas-grotesk-text,Arial,sans-serif;font-weight:700}.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-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.before\:duration-300:before{content:var(--tw-content);transition-duration:.3s}.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 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}.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}.DocSearch.DocSearch-Button{--tw-border-opacity:1!important;--tw-bg-opacity:1!important;border-width:1px!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:-webkit-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{--tw-border-opacity:1!important;border-radius:.5rem!important;border-width:1px!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))}#__docusaurus-base-url-issue-banner-container,.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,.docSidebarContainer_YfHR,.navbar__link svg,.navbar__title,.sidebarLogo_isFc,.themedComponent_mlkZ,[data-theme=dark] .lightToggleIcon_pyhR,[data-theme=light] .darkToggleIcon_wfgR,html[data-announcement-bar-initially-dismissed=true] .announcementBar_mb4j{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,main[class*=docMainContainer]>.container>.row{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;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}.blog-post-page .markdown img,.docs-doc-page .navbar{--tw-border-opacity:1;border-color:rgb(228 235 245/var(--tw-border-opacity))}.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}.docs-doc-page .navbar{border-bottom-width:1px;padding-left:1.5rem;padding-right:1.5rem}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}.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:auto 1fr;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:20rem;width:20rem}.blog-post-page .container>.row>.col.col--7{justify-self:center;max-width:48rem}.blog-post-page .markdown img{--tw-bg-opacity:1;background-color:rgb(245 249 255/var(--tw-bg-opacity));border-radius:.375rem;border-width:1px}body:not(.navigation-with-keyboard) :not(input):focus{outline:0}.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;z-index:calc(var(--ifm-z-index-fixed) + 1)}.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}.iconExternalLink_nPIU{margin-left:.3rem}.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}.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);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{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem);overflow-y:auto;position:-webkit-sticky;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 a;border:.4em solid #eee;border-radius:50%;border-top:.4em solid var(--ifm-color-primary);height:3rem;margin:0 auto;width:3rem}@keyframes a{to{transform:rotate(1turn)}}.loader_vvXV{margin-top:2rem}.search-result-match{background:#ffd78e40;color:var(--docsearch-hit-color);padding:.09em 0}.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}.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}[data-theme=dark]:root{--docusaurus-collapse-button-bg:#ffffff0d;--docusaurus-collapse-button-bg-hover:#ffffff1a}.collapseSidebarButton_PEFL{display:none;margin:0}.docMainContainer_TBSr,.docRoot_UBD9{display:flex;width:100%}.docsWrapper_hBAB{display:flex;flex:1 0 auto}.DocSearch-Button,.DocSearch-Button-Container{align-items:center;display:flex}.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--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{text-decoration:none}.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:-webkit-sticky;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}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}.buttonGroup__atx button,.codeBlockContainer_Ckt0{background:var(--prism-background-color);color:var(--prism-color)}@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{z-index:calc(var(--ifm-z-index-fixed) + 1)}.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:-webkit-sticky;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{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem);overflow-y:auto;position:-webkit-sticky;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:-webkit-fit-content;width:fit-content}.desktop\:sticky{position:-webkit-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:5rem!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}.navbarSearchContainer_Bca1{padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.collapseSidebarButton_PEFL{border:1px solid var(--ifm-toc-border-color);border-radius:0;bottom:0;display:block!important;height:40px;position:-webkit-sticky;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:-webkit-sticky;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}.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/0058bf23.b2af8f40.js b/assets/js/0058bf23.b2af8f40.js new file mode 100644 index 000000000..92d8d0dcf --- /dev/null +++ b/assets/js/0058bf23.b2af8f40.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[10256],{43148:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>c,default:()=>h,frontMatter:()=>s,metadata:()=>r,toc:()=>l});var o=n(17624),i=n(4552);const s={id:"blocks-important",title:"Important"},c=void 0,r={id:"legacy/v8/basics/blocks-important",title:"Important",description:"docs-source",source:"@site/docs/legacy/v8/basics/blocks-important.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/blocks-important",permalink:"/docs/legacy/v8/basics/blocks-important",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-important",title:"Important"},sidebar:"docs",previous:{title:"Blocks",permalink:"/docs/legacy/v8/basics/blocks"},next:{title:"Faq",permalink:"/docs/legacy/v8/basics/blocks-faq"}},a={},l=[];function d(e){const t={a:"a",blockquote:"blockquote",code:"code",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,o.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(t.p,{children:"Before you start developing and changing anything on your block/components, you should keep in mind how we have managed to create this setup and some of the side effects of automatic file loading."}),"\n",(0,o.jsxs)(t.p,{children:["We require all our JS files using the ",(0,o.jsx)(t.code,{children:"require.context"})," and all our SCSS files using the ",(0,o.jsx)(t.code,{children:"webpack-import-glob-loader"}),"."]}),"\n",(0,o.jsxs)(t.p,{children:["All files are required during the project's ",(0,o.jsx)(t.code,{children:"compile-time"}),". This means that we can't get any new files after the compile time is over. This approach gives you the ability to not worry whether you loaded the file or not. You can focus on your code and leave the messy stuff to the boilerplate."]}),"\n",(0,o.jsxs)(t.p,{children:["Since all the files are required during the ",(0,o.jsx)(t.code,{children:"compile-time"}),", every time you change the file structure, you must restart the Webpack watch."]}),"\n",(0,o.jsxs)(t.p,{children:["You ",(0,o.jsx)(t.strong,{children:"must restart"})," Webpack watch when:"]}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"adding a new block/component/variation;"}),"\n",(0,o.jsx)(t.li,{children:"changing the names of any files in the block/component/variation folder (for example, you made a typo in a block's name);"}),"\n",(0,o.jsx)(t.li,{children:"removing any file from the block/component/variation folder; and"}),"\n",(0,o.jsx)(t.li,{children:"changing the block name in the block manifest.json."}),"\n"]}),"\n",(0,o.jsxs)(t.p,{children:["You ",(0,o.jsx)(t.strong,{children:"don't need to restart"})," Webpack watch when you:"]}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"add/remove styles;"}),"\n",(0,o.jsx)(t.li,{children:"add/remove JS implementation in the files;"}),"\n",(0,o.jsx)(t.li,{children:"add/remove PHP implementation in the files; and"}),"\n",(0,o.jsx)(t.li,{children:"make changes on anything other than blockName in the manifest.json."}),"\n"]}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsx)(t.p,{children:"Remember this note because, in 90 per cent of cases, your error occurs when you made changes to the files and didn't restart the Webpack watch."}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,i.M)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},4552:(e,t,n)=>{n.d(t,{I:()=>r,M:()=>c});var o=n(11504);const i={},s=o.createContext(i);function c(e){const t=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:c(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0058bf23.ddce52ea.js b/assets/js/0058bf23.ddce52ea.js deleted file mode 100644 index 02c48cdb2..000000000 --- a/assets/js/0058bf23.ddce52ea.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[66114],{72334:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>c,default:()=>h,frontMatter:()=>s,metadata:()=>r,toc:()=>l});var o=n(85893),i=n(11151);const s={id:"blocks-important",title:"Important"},c=void 0,r={id:"legacy/v8/basics/blocks-important",title:"Important",description:"docs-source",source:"@site/docs/legacy/v8/basics/blocks-important.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/blocks-important",permalink:"/docs/legacy/v8/basics/blocks-important",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-important",title:"Important"},sidebar:"docs",previous:{title:"Blocks",permalink:"/docs/legacy/v8/basics/blocks"},next:{title:"Faq",permalink:"/docs/legacy/v8/basics/blocks-faq"}},a={},l=[];function d(e){const t={a:"a",blockquote:"blockquote",code:"code",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,o.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(t.p,{children:"Before you start developing and changing anything on your block/components, you should keep in mind how we have managed to create this setup and some of the side effects of automatic file loading."}),"\n",(0,o.jsxs)(t.p,{children:["We require all our JS files using the ",(0,o.jsx)(t.code,{children:"require.context"})," and all our SCSS files using the ",(0,o.jsx)(t.code,{children:"webpack-import-glob-loader"}),"."]}),"\n",(0,o.jsxs)(t.p,{children:["All files are required during the project's ",(0,o.jsx)(t.code,{children:"compile-time"}),". This means that we can't get any new files after the compile time is over. This approach gives you the ability to not worry whether you loaded the file or not. You can focus on your code and leave the messy stuff to the boilerplate."]}),"\n",(0,o.jsxs)(t.p,{children:["Since all the files are required during the ",(0,o.jsx)(t.code,{children:"compile-time"}),", every time you change the file structure, you must restart the Webpack watch."]}),"\n",(0,o.jsxs)(t.p,{children:["You ",(0,o.jsx)(t.strong,{children:"must restart"})," Webpack watch when:"]}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"adding a new block/component/variation;"}),"\n",(0,o.jsx)(t.li,{children:"changing the names of any files in the block/component/variation folder (for example, you made a typo in a block's name);"}),"\n",(0,o.jsx)(t.li,{children:"removing any file from the block/component/variation folder; and"}),"\n",(0,o.jsx)(t.li,{children:"changing the block name in the block manifest.json."}),"\n"]}),"\n",(0,o.jsxs)(t.p,{children:["You ",(0,o.jsx)(t.strong,{children:"don't need to restart"})," Webpack watch when you:"]}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"add/remove styles;"}),"\n",(0,o.jsx)(t.li,{children:"add/remove JS implementation in the files;"}),"\n",(0,o.jsx)(t.li,{children:"add/remove PHP implementation in the files; and"}),"\n",(0,o.jsx)(t.li,{children:"make changes on anything other than blockName in the manifest.json."}),"\n"]}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsx)(t.p,{children:"Remember this note because, in 90 per cent of cases, your error occurs when you made changes to the files and didn't restart the Webpack watch."}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},11151:(e,t,n)=>{n.d(t,{Z:()=>r,a:()=>c});var o=n(67294);const i={},s=o.createContext(i);function c(e){const t=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:c(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/014fa81c.db41be05.js b/assets/js/014fa81c.db41be05.js new file mode 100644 index 000000000..751aaedcd --- /dev/null +++ b/assets/js/014fa81c.db41be05.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[75180],{56980:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>l,default:()=>h,frontMatter:()=>t,metadata:()=>r,toc:()=>a});var i=s(17624),o=s(4552);const t={id:"wp-cli",title:"WP-CLI"},l=void 0,r={id:"legacy/v6/basics/wp-cli",title:"WP-CLI",description:"docs-source",source:"@site/docs/legacy/v6/basics/wp-cli.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/wp-cli",permalink:"/docs/legacy/v6/basics/wp-cli",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"wp-cli",title:"WP-CLI"},sidebar:"docs",previous:{title:"Basics",permalink:"/docs/legacy/v6/basics/basics-intro"},next:{title:"Architecture concepts",permalink:"/docs/legacy/v6/basics/architecture-concepts"}},c={},a=[{value:"How it works",id:"how-it-works",level:2},{value:"Options and commands",id:"options-and-commands",level:2},{value:"Commands",id:"commands",level:3},{value:"Running commands in multisite",id:"running-commands-in-multisite",level:2}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,o.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/tree/4.0.0",children:(0,i.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsxs)(n.p,{children:["Eightshift Development Kit provides extensive ",(0,i.jsx)(n.a,{href:"https://wp-cli.org/",children:"WP-CLI"})," tooling, allowing you to automate bootstrapping of common code, adding blocks from the Frontend Libs library to your projects and more using ",(0,i.jsx)(n.code,{children:"wp boilerplate"}),"."]}),"\n",(0,i.jsx)(n.h2,{id:"how-it-works",children:"How it works"}),"\n",(0,i.jsxs)(n.p,{children:["In your project's entry point (usually ",(0,i.jsx)(n.code,{children:"functions.php"}),"), you'll find something along these lines:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-php",children:"/**\n * Run all WP-CLI commands.\n */\nif (class_exists(Cli::class)) {\n (new Cli())->load('boilerplate');\n}\n"})}),"\n",(0,i.jsxs)(n.p,{children:["This code loads the WP-CLI class from Eightshift Libs, which handles command registration for all of our commands. As this command registration is part of the theme/plugin code, this means that the same theme/plugin ",(0,i.jsx)(n.strong,{children:"must be activated"})," for ",(0,i.jsx)(n.code,{children:"wp boilerplate"})," to work."]}),"\n",(0,i.jsx)(n.p,{children:"To run the WP-CLI command and see what you can use, run this command in your terminal:"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"wp boilerplate --help"})}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:["By default, your project's WP-CLI commands run under the parent name ",(0,i.jsx)(n.code,{children:"boilerplate"}),", as defined above."]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"You can change that by simply replacing the string inside the load method like this:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-php",children:"/**\n * Run all WP-CLI commands.\n */\nif (class_exists(Cli::class)) {\n (new Cli())->load('superCoolTheme');\n}\n"})}),"\n",(0,i.jsx)(n.p,{children:"Now, your project's WP-CLI commands are available using:"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"wp superCoolTheme --help"}),"."]}),"\n",(0,i.jsx)(n.p,{children:"This is especially handy when you have multiple Eightshift Boilerplate powered themes or plugins installed. In that case, you should change the WP-CLI parent name on each of the projects."}),"\n",(0,i.jsx)(n.h2,{id:"options-and-commands",children:"Options and commands"}),"\n",(0,i.jsxs)(n.p,{children:["To get to know which commands are available and what do they do, run ",(0,i.jsx)(n.code,{children:"wp boilerplate --help"}),".\nThe ",(0,i.jsx)(n.code,{children:"--help"})," argument is available on all of our commands and provides a description of the command and a list of required and optional parameters for the command."]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"wp boilerplate create_config --help"})}),"\n",(0,i.jsx)(n.h3,{id:"commands",children:"Commands"}),"\n",(0,i.jsx)(n.p,{children:"We use these common prefixes for commands:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"create"})," - services classes that will be copied to your project."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"init"})," - additional functions, methods and helpers that will be copied to your project."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"run"})," - commands used to run an action directly from Eightshift Libs. They will not copy anything to your project."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"setup"})," - commands that runs multiple already defined commands from the list."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"use"})," - commands used for blocks and block-related stuff. They will copy various files and folders from the blocks folder to your project."]}),"\n"]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Make WP-CLI your best friend, and your coding life will be much more comfortable, trust us."})}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["While we might go into more details about some of these commands, we won't be documenting all of them here - use the built-in manuals for more information about particular commands and to discover what's available. Don't gloss over them, as using ",(0,i.jsx)(n.code,{children:"wp boilerplate"})," is a particularly useful tool when building projects with Eightshift Development Kit."]}),"\n",(0,i.jsx)(n.h2,{id:"running-commands-in-multisite",children:"Running commands in multisite"}),"\n",(0,i.jsxs)(n.p,{children:["When you are running a multisite setup, you should always provide the additional ",(0,i.jsx)(n.code,{children:"--url"})," parameter. Otherwise, WP-CLI will always run the command on the main site."]}),"\n",(0,i.jsx)(n.p,{children:"Here is an example for command running on the primary site:"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"wp boilerplate create_config"})}),"\n",(0,i.jsx)(n.p,{children:"and here is an example for command running on the subsite:"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"wp boilerplate create_config --url='custom.domain.com'"})})]})}function h(e={}){const{wrapper:n}={...(0,o.M)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},4552:(e,n,s)=>{s.d(n,{I:()=>r,M:()=>l});var i=s(11504);const o={},t=i.createContext(o);function l(e){const n=i.useContext(t);return i.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(o):e.components||o:l(e.components),i.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/014fa81c.fdc41dda.js b/assets/js/014fa81c.fdc41dda.js deleted file mode 100644 index 00cfa97dd..000000000 --- a/assets/js/014fa81c.fdc41dda.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[36666],{49422:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>l,default:()=>h,frontMatter:()=>t,metadata:()=>r,toc:()=>a});var i=s(85893),o=s(11151);const t={id:"wp-cli",title:"WP-CLI"},l=void 0,r={id:"legacy/v6/basics/wp-cli",title:"WP-CLI",description:"docs-source",source:"@site/docs/legacy/v6/basics/wp-cli.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/wp-cli",permalink:"/docs/legacy/v6/basics/wp-cli",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"wp-cli",title:"WP-CLI"},sidebar:"docs",previous:{title:"Basics",permalink:"/docs/legacy/v6/basics/basics-intro"},next:{title:"Architecture concepts",permalink:"/docs/legacy/v6/basics/architecture-concepts"}},c={},a=[{value:"How it works",id:"how-it-works",level:2},{value:"Options and commands",id:"options-and-commands",level:2},{value:"Commands",id:"commands",level:3},{value:"Running commands in multisite",id:"running-commands-in-multisite",level:2}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,o.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/tree/4.0.0",children:(0,i.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsxs)(n.p,{children:["Eightshift Development Kit provides extensive ",(0,i.jsx)(n.a,{href:"https://wp-cli.org/",children:"WP-CLI"})," tooling, allowing you to automate bootstrapping of common code, adding blocks from the Frontend Libs library to your projects and more using ",(0,i.jsx)(n.code,{children:"wp boilerplate"}),"."]}),"\n",(0,i.jsx)(n.h2,{id:"how-it-works",children:"How it works"}),"\n",(0,i.jsxs)(n.p,{children:["In your project's entry point (usually ",(0,i.jsx)(n.code,{children:"functions.php"}),"), you'll find something along these lines:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-php",children:"/**\n * Run all WP-CLI commands.\n */\nif (class_exists(Cli::class)) {\n (new Cli())->load('boilerplate');\n}\n"})}),"\n",(0,i.jsxs)(n.p,{children:["This code loads the WP-CLI class from Eightshift Libs, which handles command registration for all of our commands. As this command registration is part of the theme/plugin code, this means that the same theme/plugin ",(0,i.jsx)(n.strong,{children:"must be activated"})," for ",(0,i.jsx)(n.code,{children:"wp boilerplate"})," to work."]}),"\n",(0,i.jsx)(n.p,{children:"To run the WP-CLI command and see what you can use, run this command in your terminal:"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"wp boilerplate --help"})}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:["By default, your project's WP-CLI commands run under the parent name ",(0,i.jsx)(n.code,{children:"boilerplate"}),", as defined above."]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"You can change that by simply replacing the string inside the load method like this:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-php",children:"/**\n * Run all WP-CLI commands.\n */\nif (class_exists(Cli::class)) {\n (new Cli())->load('superCoolTheme');\n}\n"})}),"\n",(0,i.jsx)(n.p,{children:"Now, your project's WP-CLI commands are available using:"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"wp superCoolTheme --help"}),"."]}),"\n",(0,i.jsx)(n.p,{children:"This is especially handy when you have multiple Eightshift Boilerplate powered themes or plugins installed. In that case, you should change the WP-CLI parent name on each of the projects."}),"\n",(0,i.jsx)(n.h2,{id:"options-and-commands",children:"Options and commands"}),"\n",(0,i.jsxs)(n.p,{children:["To get to know which commands are available and what do they do, run ",(0,i.jsx)(n.code,{children:"wp boilerplate --help"}),".\nThe ",(0,i.jsx)(n.code,{children:"--help"})," argument is available on all of our commands and provides a description of the command and a list of required and optional parameters for the command."]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"wp boilerplate create_config --help"})}),"\n",(0,i.jsx)(n.h3,{id:"commands",children:"Commands"}),"\n",(0,i.jsx)(n.p,{children:"We use these common prefixes for commands:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"create"})," - services classes that will be copied to your project."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"init"})," - additional functions, methods and helpers that will be copied to your project."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"run"})," - commands used to run an action directly from Eightshift Libs. They will not copy anything to your project."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"setup"})," - commands that runs multiple already defined commands from the list."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"use"})," - commands used for blocks and block-related stuff. They will copy various files and folders from the blocks folder to your project."]}),"\n"]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Make WP-CLI your best friend, and your coding life will be much more comfortable, trust us."})}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["While we might go into more details about some of these commands, we won't be documenting all of them here - use the built-in manuals for more information about particular commands and to discover what's available. Don't gloss over them, as using ",(0,i.jsx)(n.code,{children:"wp boilerplate"})," is a particularly useful tool when building projects with Eightshift Development Kit."]}),"\n",(0,i.jsx)(n.h2,{id:"running-commands-in-multisite",children:"Running commands in multisite"}),"\n",(0,i.jsxs)(n.p,{children:["When you are running a multisite setup, you should always provide the additional ",(0,i.jsx)(n.code,{children:"--url"})," parameter. Otherwise, WP-CLI will always run the command on the main site."]}),"\n",(0,i.jsx)(n.p,{children:"Here is an example for command running on the primary site:"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"wp boilerplate create_config"})}),"\n",(0,i.jsx)(n.p,{children:"and here is an example for command running on the subsite:"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"wp boilerplate create_config --url='custom.domain.com'"})})]})}function h(e={}){const{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},11151:(e,n,s)=>{s.d(n,{Z:()=>r,a:()=>l});var i=s(67294);const o={},t=i.createContext(o);function l(e){const n=i.useContext(t);return i.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(o):e.components||o:l(e.components),i.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/01980361.6677c583.js b/assets/js/01980361.6677c583.js new file mode 100644 index 000000000..7392b7533 --- /dev/null +++ b/assets/js/01980361.6677c583.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[92172],{10800:(e,o,n)=>{n.r(o),n.d(o,{assets:()=>r,contentTitle:()=>l,default:()=>h,frontMatter:()=>i,metadata:()=>a,toc:()=>c});var t=n(17624),s=n(4552);const i={id:"blocks-intro",title:"Intro",sidebar_label:"Intro"},l=void 0,a={id:"legacy/v5/basics/blocks-intro",title:"Intro",description:"docs-source",source:"@site/docs/legacy/v5/basics/blocks-intro.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/blocks-intro",permalink:"/docs/legacy/v5/basics/blocks-intro",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-intro",title:"Intro",sidebar_label:"Intro"},sidebar:"docs",previous:{title:"Important",permalink:"/docs/legacy/v5/basics/blocks-important"},next:{title:"Registration",permalink:"/docs/legacy/v5/basics/blocks-registration"}},r={},c=[{value:"Why do all my blocks look the same and have the same name structure?",id:"why-do-all-my-blocks-look-the-same-and-have-the-same-name-structure",level:3},{value:"What is the difference between components and blocks?",id:"what-is-the-difference-between-components-and-blocks",level:3},{value:"Do I need to have Storybook stories in my block?",id:"do-i-need-to-have-storybook-stories-in-my-block",level:3},{value:"Do you support block variations, and how can I use them?",id:"do-you-support-block-variations-and-how-can-i-use-them",level:3},{value:"Do you support patterns, and how can I use them?",id:"do-you-support-patterns-and-how-can-i-use-them",level:3},{value:"What is a wrapper?",id:"what-is-a-wrapper",level:3},{value:"Do you support inner blocks?",id:"do-you-support-inner-blocks",level:3},{value:"Why do you use manifest.json in all blocks and components?",id:"why-do-you-use-manifestjson-in-all-blocks-and-components",level:3},{value:"Why do you use global manifest.json?",id:"why-do-you-use-global-manifestjson",level:3},{value:"If I want to create a new block/component, what do I do?",id:"if-i-want-to-create-a-new-blockcomponent-what-do-i-do",level:3},{value:"How can I use your pre-made blocks?",id:"how-can-i-use-your-pre-made-blocks",level:3},{value:"Can I use block/component from Eightshift-frontend-libs directly?",id:"can-i-use-blockcomponent-from-eightshift-frontend-libs-directly",level:3},{value:"I want to change attributes on inner blocks. How do I do it?",id:"i-want-to-change-attributes-on-inner-blocks-how-do-i-do-it",level:3},{value:"Do I need to write JS and PHP implementation for all my blocks?",id:"do-i-need-to-write-js-and-php-implementation-for-all-my-blocks",level:3},{value:"How do I use components in blocks?",id:"how-do-i-use-components-in-blocks",level:3},{value:"How do I use multiple heading components in my block?",id:"how-do-i-use-multiple-heading-components-in-my-block",level:3},{value:"Where can I define my global styles?",id:"where-can-i-define-my-global-styles",level:3},{value:"Where can I define global typography for all my blocks/components?",id:"where-can-i-define-global-typography-for-all-my-blockscomponents",level:3},{value:"Can I make a component with WP_Query logic in it?",id:"can-i-make-a-component-with-wp_query-logic-in-it",level:3},{value:"Do I need to make components for all my blocks?",id:"do-i-need-to-make-components-for-all-my-blocks",level:3},{value:"Will this setup work with full site editing?",id:"will-this-setup-work-with-full-site-editing",level:3},{value:"Can I use core blocks with your setup?",id:"can-i-use-core-blocks-with-your-setup",level:3},{value:"How can I limit my blocklist?",id:"how-can-i-limit-my-blocklist",level:3},{value:"How to allow only one pattern category?",id:"how-to-allow-only-one-pattern-category",level:3},{value:"Can I have blocks in multiple categories?",id:"can-i-have-blocks-in-multiple-categories",level:3},{value:"How can I add a new blocks category?",id:"how-can-i-add-a-new-blocks-category",level:3},{value:"What if you don't yet support something from the native setup? What can I do?",id:"what-if-you-dont-yet-support-something-from-the-native-setup-what-can-i-do",level:3},{value:"Why is my blocks folder called custom and not blocks, for example?",id:"why-is-my-blocks-folder-called-custom-and-not-blocks-for-example",level:3},{value:"In the global manifest, you have a key called \u201ccustomBlocksName\u201d: \u201ceightshift-block\u201d. Can I change this to my-project-name-block?",id:"in-the-global-manifest-you-have-a-key-called-customblocksname-eightshift-block-can-i-change-this-to-my-project-name-block",level:3},{value:"Simple vs Compound blocks",id:"simple-vs-compound-blocks",level:3},{value:"Naming is hard",id:"naming-is-hard",level:3}];function d(e){const o={a:"a",code:"code",em:"em",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(o.p,{children:(0,t.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/",children:(0,t.jsx)(o.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsxs)(o.p,{children:["Before we dive into blocks and see how everything is set, we should describe this setup's mindset.\nIf you've managed to set up your project by this point with the ",(0,t.jsx)(o.a,{href:"wp-cli",children:"WP-CLI"})," command ",(0,t.jsx)(o.code,{children:"setup_theme"}),", you might have a few questions. We will try to answer all those questions here."]}),"\n",(0,t.jsx)(o.h3,{id:"why-do-all-my-blocks-look-the-same-and-have-the-same-name-structure",children:"Why do all my blocks look the same and have the same name structure?"}),"\n",(0,t.jsxs)(o.p,{children:["This is so because we defined the name structure for all our blocks and components to load everything automatically. For more information, please check the ",(0,t.jsx)(o.a,{href:"block-structure",children:"block structure"})," and ",(0,t.jsx)(o.a,{href:"blocks-component-structure",children:"component structure"})," chapters."]}),"\n",(0,t.jsx)(o.h3,{id:"what-is-the-difference-between-components-and-blocks",children:"What is the difference between components and blocks?"}),"\n",(0,t.jsxs)(o.p,{children:["The main difference is that blocks are available in the block editor's block picker, and components are not. With that being said, blocks are registered using the ",(0,t.jsx)(o.code,{children:"registerBlockType"})," method, and components are just here for you to bundle some functionality in one place and reuse it wherever you need."]}),"\n",(0,t.jsxs)(o.p,{children:["For more information about blocks, read the ",(0,t.jsx)(o.a,{href:"block-structure",children:"block structure"})," chapter. To find out more about components, read the ",(0,t.jsx)(o.a,{href:"blocks-component-structure",children:"component structure"})," chapter."]}),"\n",(0,t.jsx)(o.h3,{id:"do-i-need-to-have-storybook-stories-in-my-block",children:"Do I need to have Storybook stories in my block?"}),"\n",(0,t.jsx)(o.p,{children:"No, you don't. But we provided you with the ability to use the Storybook for all of your blocks and components. Why not use it? It will speed up your development time. Trust us. \ud83d\ude42"}),"\n",(0,t.jsxs)(o.p,{children:["For more details on how to write stories, check out ",(0,t.jsx)(o.a,{href:"blocks-storybook",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"do-you-support-block-variations-and-how-can-i-use-them",children:"Do you support block variations, and how can I use them?"}),"\n",(0,t.jsxs)(o.p,{children:["Yes, we do. All block variations are located in the ",(0,t.jsx)(o.code,{children:"src/Blocks/variations"})," folder. For more information about this, please check the ",(0,t.jsx)(o.a,{href:"blocks-variations",children:"variations"})," chapter."]}),"\n",(0,t.jsx)(o.h3,{id:"do-you-support-patterns-and-how-can-i-use-them",children:"Do you support patterns, and how can I use them?"}),"\n",(0,t.jsxs)(o.p,{children:["Yes, we do. For more information, please read the ",(0,t.jsx)(o.a,{href:"blocks-patterns",children:"patterns"})," chapter."]}),"\n",(0,t.jsx)(o.h3,{id:"what-is-a-wrapper",children:"What is a wrapper?"}),"\n",(0,t.jsxs)(o.p,{children:["Read about wrappers in ",(0,t.jsx)(o.a,{href:"blocks-wrapper",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"do-you-support-inner-blocks",children:"Do you support inner blocks?"}),"\n",(0,t.jsxs)(o.p,{children:["Yes, we support everything that the core natively supports. You can find more information on how to use them in ",(0,t.jsx)(o.a,{href:"block-manifest",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"why-do-you-use-manifestjson-in-all-blocks-and-components",children:"Why do you use manifest.json in all blocks and components?"}),"\n",(0,t.jsxs)(o.p,{children:["So that we can provide content, attributes, options, and much more across multiple different files in multiple contexts (in both PHP and JS). You can read all about it in ",(0,t.jsx)(o.a,{href:"block-manifest",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"why-do-you-use-global-manifestjson",children:"Why do you use global manifest.json?"}),"\n",(0,t.jsxs)(o.p,{children:["The answer is the same as the previous one. In the global ",(0,t.jsx)(o.code,{children:"manifest.json"}),", we have options that are shared across all blocks and components. Read more about it in ",(0,t.jsx)(o.a,{href:"blocks-global-manifest",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"if-i-want-to-create-a-new-blockcomponent-what-do-i-do",children:"If I want to create a new block/component, what do I do?"}),"\n",(0,t.jsxs)(o.p,{children:["In your terminal, write ",(0,t.jsx)(o.code,{children:"wp boilerplate use_block --name=example"})," and style that block however you seem fit."]}),"\n",(0,t.jsx)(o.h3,{id:"how-can-i-use-your-pre-made-blocks",children:"How can I use your pre-made blocks?"}),"\n",(0,t.jsxs)(o.p,{children:["You can check all available blocks/components using our ",(0,t.jsx)(o.code,{children:"wp boilerplate use_block --help"})," or ",(0,t.jsx)(o.code,{children:"wp boilerplate use_component --help"})," command."]}),"\n",(0,t.jsx)(o.h3,{id:"can-i-use-blockcomponent-from-eightshift-frontend-libs-directly",children:"Can I use block/component from Eightshift-frontend-libs directly?"}),"\n",(0,t.jsxs)(o.p,{children:["It depends. You can't use things from the blocks folder like ",(0,t.jsx)(o.code,{children:"components"}),", ",(0,t.jsx)(o.code,{children:"custom"}),", ",(0,t.jsx)(o.code,{children:"variations"}),", ",(0,t.jsx)(o.code,{children:"wrapper"}),", etc. They are meant to be copied to your project, styled, and changed depending on your project's needs."]}),"\n",(0,t.jsxs)(o.p,{children:["You can move things from a block to your project using the commands described in ",(0,t.jsx)(o.a,{href:"blocks-intro#how-can-i-use-your-pre-made-blocks",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"i-want-to-change-attributes-on-inner-blocks-how-do-i-do-it",children:"I want to change attributes on inner blocks. How do I do it?"}),"\n",(0,t.jsxs)(o.p,{children:["We described how attributes are used and combined in ",(0,t.jsx)(o.a,{href:"blocks-attributes",children:"this chapter"})," and ",(0,t.jsx)(o.a,{href:"blocks-component-in-block",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"do-i-need-to-write-js-and-php-implementation-for-all-my-blocks",children:"Do I need to write JS and PHP implementation for all my blocks?"}),"\n",(0,t.jsx)(o.p,{children:"For a block, you must provide the JS and PHP implementations because it won't work without them."}),"\n",(0,t.jsx)(o.p,{children:"For components, if you are not using the JS part, you don't need to write one, but we recommend you do so because the JS part is used in Storybook."}),"\n",(0,t.jsxs)(o.p,{children:["If you have a more advanced block and don't benefit from writing the JS implementation of the block, you can always use the ",(0,t.jsx)(o.a,{href:"https://developer.wordpress.org/block-editor/packages/packages-server-side-render/",children:"ServerSideRender component"})," form the core. If you have no inputs in the editor from the admin, there is no need to write JS implementation of the block. Just use ",(0,t.jsx)(o.code,{children:"ServerSideRender"})," component in that case."]}),"\n",(0,t.jsx)(o.h3,{id:"how-do-i-use-components-in-blocks",children:"How do I use components in blocks?"}),"\n",(0,t.jsxs)(o.p,{children:["Please check out ",(0,t.jsx)(o.a,{href:"blocks-component-in-block",children:"this chapter"})," for more information."]}),"\n",(0,t.jsx)(o.h3,{id:"how-do-i-use-multiple-heading-components-in-my-block",children:"How do I use multiple heading components in my block?"}),"\n",(0,t.jsxs)(o.p,{children:["You can follow the instructions given in ",(0,t.jsx)(o.a,{href:"blocks-component-in-block",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"where-can-i-define-my-global-styles",children:"Where can I define my global styles?"}),"\n",(0,t.jsxs)(o.p,{children:["You can follow the instructions given in ",(0,t.jsx)(o.a,{href:"writing-styles",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"where-can-i-define-global-typography-for-all-my-blockscomponents",children:"Where can I define global typography for all my blocks/components?"}),"\n",(0,t.jsxs)(o.p,{children:["You can follow the instructions given in ",(0,t.jsx)(o.a,{href:"writing-styles",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"can-i-make-a-component-with-wp_query-logic-in-it",children:"Can I make a component with WP_Query logic in it?"}),"\n",(0,t.jsx)(o.p,{children:"Yes, you can, but think of the component as a dumb and simple piece of code that should not hold any business logic. A component should only be used as a view. If you need to write WP_Query logic, you can do that in a block and just pass the data to your component as props."}),"\n",(0,t.jsx)(o.h3,{id:"do-i-need-to-make-components-for-all-my-blocks",children:"Do I need to make components for all my blocks?"}),"\n",(0,t.jsx)(o.p,{children:"No, it might look like that from the examples provided, but that is not the case. You should create components depending on your needs."}),"\n",(0,t.jsx)(o.p,{children:"Ask yourself, will I reuse this functionality anywhere else?"}),"\n",(0,t.jsxs)(o.ul,{children:["\n",(0,t.jsxs)(o.li,{children:["If the answer is ",(0,t.jsx)(o.strong,{children:"yes"}),", create a component."]}),"\n",(0,t.jsxs)(o.li,{children:["If the answer is ",(0,t.jsx)(o.strong,{children:"no"}),", don't create a component."]}),"\n"]}),"\n",(0,t.jsx)(o.p,{children:"Our recommendation is not to burden yourself with components from the beginning. Start creating blocks and, if you find yourself in need of code that you already wrote, just extract it in a component."}),"\n",(0,t.jsx)(o.h3,{id:"will-this-setup-work-with-full-site-editing",children:"Will this setup work with full site editing?"}),"\n",(0,t.jsx)(o.p,{children:"Yes, it will. We are constantly upgrading this documentation and our code to say that it will work with full site editing. This boilerplate was made for the Infinum/Eightshift WordPress team, so we are constantly using it in our projects."}),"\n",(0,t.jsx)(o.h3,{id:"can-i-use-core-blocks-with-your-setup",children:"Can I use core blocks with your setup?"}),"\n",(0,t.jsx)(o.p,{children:"Yes, you can. We are working on the ability to override core blocks in our smart way. Until we make this work, you can use everything that is already defined in the core documentation."}),"\n",(0,t.jsx)(o.p,{children:"We avoid using core blocks because they add different class naming and additional markup that makes it harder to style things."}),"\n",(0,t.jsx)(o.p,{children:"Also, they are prone to breaking changes every several months, so we prefer to write our own implementation."}),"\n",(0,t.jsx)(o.h3,{id:"how-can-i-limit-my-blocklist",children:"How can I limit my blocklist?"}),"\n",(0,t.jsxs)(o.p,{children:["Easy. We have a method you can extend that limits your project's block to the only block from your project. You should put this filter in your project's ",(0,t.jsx)(o.code,{children:"src/Blocks/Blocks.php"})," file under the ",(0,t.jsx)(o.code,{children:"register"})," method:"]}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-php",children:" // Limits the usage of only custom project blocks.\n add_filter('allowed_block_types', [ $this, 'getAllBlocksList' ], 10, 2);\n"})}),"\n",(0,t.jsx)(o.h3,{id:"how-to-allow-only-one-pattern-category",children:"How to allow only one pattern category?"}),"\n",(0,t.jsx)(o.p,{children:(0,t.jsx)(o.em,{children:"Coming soon"})}),"\n",(0,t.jsx)(o.h3,{id:"can-i-have-blocks-in-multiple-categories",children:"Can I have blocks in multiple categories?"}),"\n",(0,t.jsxs)(o.p,{children:["In your block manifest, you can define in what category your block will appear. You can create a new category for your project or use our category. We created our category called ",(0,t.jsx)(o.code,{children:"eightshift"})," using this filter:"]}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-php",children:" // Create a new custom category for custom blocks.\n add_filter('block_categories', [ $this, 'getCustomCategory' ]);\n"})}),"\n",(0,t.jsx)(o.h3,{id:"how-can-i-add-a-new-blocks-category",children:"How can I add a new blocks category?"}),"\n",(0,t.jsx)(o.p,{children:"You can provide your implementation, or you can extend our method for registering a custom category. Here is how you do it:"}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-php",children:" /**\n * Register all the hooks\n *\n * @return void\n */\npublic function register(): void\n{\n // Create a new custom category for custom blocks.\n add_filter('block_categories', [ $this, 'getCustomCategory' ]);\n}\n\n /**\n * Create a custom category to assign all custom blocks\n *\n * This category will be shown on all blocks list in the \"Add Block\" button.\n *\n * @param array[] $categories Array of all block categories.\n * @param \\WP_Post $post Post being loaded.\n *\n * @return array[] Array of block categories.\n */\npublic function getCustomCategory(array $categories, \\WP_Post $post): array\n{\n return array_merge(\n parent::getCustomCategory($categories, $post),\n [\n [\n 'slug' => 'custom-category-name',\n 'title' => \\esc_html__('Custom Category', 'project-text-domain'),\n 'icon' => 'admin-settings',\n ],\n ]\n );\n}\n"})}),"\n",(0,t.jsx)(o.h3,{id:"what-if-you-dont-yet-support-something-from-the-native-setup-what-can-i-do",children:"What if you don't yet support something from the native setup? What can I do?"}),"\n",(0,t.jsxs)(o.p,{children:["As we described in ",(0,t.jsx)(o.a,{href:"blocks",children:"this chapter"}),", if we don't support something natively from the core or you can't find it in this documentation, you can always use it in the normal native way from the ",(0,t.jsx)(o.a,{href:"https://developer.wordpress.org/block-editor/tutorials/block-tutorial/",children:"WordPress documentation"}),". Also, if you think we are missing something, please open a ",(0,t.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/pulls",children:"pull request"})," or an ",(0,t.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/issues",children:"issue"})," on our GitHub repository."]}),"\n",(0,t.jsxs)(o.h3,{id:"why-is-my-blocks-folder-called-custom-and-not-blocks-for-example",children:["Why is my blocks folder called ",(0,t.jsx)(o.code,{children:"custom"})," and not ",(0,t.jsx)(o.code,{children:"blocks"}),", for example?"]}),"\n",(0,t.jsx)(o.p,{children:"The idea was to put all your custom blocks inside the custom folder and all core block in the core folder. This boilerplate is not designed only for your custom block, but you can use it as an ultimate block setup."}),"\n",(0,t.jsxs)(o.p,{children:["And folder structure ",(0,t.jsx)(o.code,{children:"src/Blocks/blocks"})," is kind of weird."]}),"\n",(0,t.jsx)(o.h3,{id:"in-the-global-manifest-you-have-a-key-called-customblocksname-eightshift-block-can-i-change-this-to-my-project-name-block",children:"In the global manifest, you have a key called \u201ccustomBlocksName\u201d: \u201ceightshift-block\u201d. Can I change this to my-project-name-block?"}),"\n",(0,t.jsx)(o.p,{children:"You can, but you shouldn't. We use this key to provide the CSS selectors on all our custom blocks in the block editor. Additional styles are added to this selector for the wrapper to work on full width and remove some of the native block editor styles."}),"\n",(0,t.jsx)(o.p,{children:"So don't remove or change this \ud83d\ude05."}),"\n",(0,t.jsx)(o.h3,{id:"simple-vs-compound-blocks",children:"Simple vs Compound blocks"}),"\n",(0,t.jsx)(o.p,{children:"In a nutshell, there is no difference between blocks. The WordPress core block is a block, but we like to make a distinction between what is simple and what is a compound block."}),"\n",(0,t.jsxs)(o.p,{children:[(0,t.jsx)(o.strong,{children:"Simple block"})," is a block that is used just as is and provides a small isolated functionality. For example: heading, paragraph, button, etc."]}),"\n",(0,t.jsxs)(o.p,{children:[(0,t.jsx)(o.strong,{children:"Compound block"})," is a block built from multiple components. For example: card, featured posts, etc"]}),"\n",(0,t.jsx)(o.h3,{id:"naming-is-hard",children:"Naming is hard"}),"\n",(0,t.jsx)(o.p,{children:(0,t.jsx)(o.em,{children:"There are only two hard things in Computer Science: cache invalidation and naming things. - Phil Karlton"})}),"\n",(0,t.jsx)(o.p,{children:"Yes, naming is hard, and no matter how long your development experience is you will always struggle with names for your components, block, files, variables, functions, etc."}),"\n",(0,t.jsx)(o.p,{children:"Here are some of our recommendations to ease your pain:"}),"\n",(0,t.jsxs)(o.ul,{children:["\n",(0,t.jsxs)(o.li,{children:["Always try to name your block based on ",(0,t.jsx)(o.strong,{children:"what they are"}),", rather than ",(0,t.jsx)(o.strong,{children:"what they will be used for"}),". For example, if you have a component card for custom post-type ",(0,t.jsx)(o.code,{children:"books"}),", you should never call this component ",(0,t.jsx)(o.code,{children:"card-book"}),". Instead, use a more generic name like ",(0,t.jsx)(o.code,{children:"card-product"}),"."]}),"\n",(0,t.jsx)(o.li,{children:"Make your names as generic as possible for better reusability, but specific enough to fully understand what the block/component is used for."}),"\n",(0,t.jsx)(o.li,{children:"Always think about the future. How can this feature be used in some other way?"}),"\n",(0,t.jsxs)(o.li,{children:['When naming your attributes ask yourself: "is this attribute going to be used in any other way?". For example, you have an attribute for adding font-weight: bold to your text. You can create an attribute called font-weight and set it as a ',(0,t.jsx)(o.code,{children:"boolean"})," type and that will be ok if you have only one font-weight. A better way would be to put it as a string and provide a ",(0,t.jsx)(o.code,{children:"SelectControl"})," component if there is any possibility that in the future you will have additional font-weight."]}),"\n",(0,t.jsxs)(o.li,{children:["Name booleans positively as a question. Example: ",(0,t.jsx)(o.code,{children:"isValid"}),", ",(0,t.jsx)(o.code,{children:"isLoading"}),", ",(0,t.jsx)(o.code,{children:"isComplete"}),"."]}),"\n",(0,t.jsx)(o.li,{children:"Don\u2019t hesitate to use longer names."}),"\n",(0,t.jsx)(o.li,{children:"Use singular names."}),"\n",(0,t.jsx)(o.li,{children:"The variables or functions should be named by their work: Name of variables/functions should always try to express their meaning without diving into the code base try to pack meaningful information inside the name."}),"\n",(0,t.jsx)(o.li,{children:"Naming should be simple enough to be understood by everyone: Using complex words to describe a simple thing only creates hassle while reading the code. Also, use simple English."}),"\n",(0,t.jsx)(o.li,{children:"You might not be the only person working on your particular project in the future. Think about the next person. Your naming will provide an insight into the process and project."}),"\n",(0,t.jsxs)(o.li,{children:[(0,t.jsx)(o.strong,{children:"BE CONSISTENT"}),"."]}),"\n"]})]})}function h(e={}){const{wrapper:o}={...(0,s.M)(),...e.components};return o?(0,t.jsx)(o,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},4552:(e,o,n)=>{n.d(o,{I:()=>a,M:()=>l});var t=n(11504);const s={},i=t.createContext(s);function l(e){const o=t.useContext(i);return t.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(s):e.components||s:l(e.components),t.createElement(i.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/01980361.8717faba.js b/assets/js/01980361.8717faba.js deleted file mode 100644 index b8fdece6b..000000000 --- a/assets/js/01980361.8717faba.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[99248],{46097:(e,o,n)=>{n.r(o),n.d(o,{assets:()=>r,contentTitle:()=>l,default:()=>h,frontMatter:()=>i,metadata:()=>a,toc:()=>c});var t=n(85893),s=n(11151);const i={id:"blocks-intro",title:"Intro",sidebar_label:"Intro"},l=void 0,a={id:"legacy/v5/basics/blocks-intro",title:"Intro",description:"docs-source",source:"@site/docs/legacy/v5/basics/blocks-intro.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/blocks-intro",permalink:"/docs/legacy/v5/basics/blocks-intro",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-intro",title:"Intro",sidebar_label:"Intro"},sidebar:"docs",previous:{title:"Important",permalink:"/docs/legacy/v5/basics/blocks-important"},next:{title:"Registration",permalink:"/docs/legacy/v5/basics/blocks-registration"}},r={},c=[{value:"Why do all my blocks look the same and have the same name structure?",id:"why-do-all-my-blocks-look-the-same-and-have-the-same-name-structure",level:3},{value:"What is the difference between components and blocks?",id:"what-is-the-difference-between-components-and-blocks",level:3},{value:"Do I need to have Storybook stories in my block?",id:"do-i-need-to-have-storybook-stories-in-my-block",level:3},{value:"Do you support block variations, and how can I use them?",id:"do-you-support-block-variations-and-how-can-i-use-them",level:3},{value:"Do you support patterns, and how can I use them?",id:"do-you-support-patterns-and-how-can-i-use-them",level:3},{value:"What is a wrapper?",id:"what-is-a-wrapper",level:3},{value:"Do you support inner blocks?",id:"do-you-support-inner-blocks",level:3},{value:"Why do you use manifest.json in all blocks and components?",id:"why-do-you-use-manifestjson-in-all-blocks-and-components",level:3},{value:"Why do you use global manifest.json?",id:"why-do-you-use-global-manifestjson",level:3},{value:"If I want to create a new block/component, what do I do?",id:"if-i-want-to-create-a-new-blockcomponent-what-do-i-do",level:3},{value:"How can I use your pre-made blocks?",id:"how-can-i-use-your-pre-made-blocks",level:3},{value:"Can I use block/component from Eightshift-frontend-libs directly?",id:"can-i-use-blockcomponent-from-eightshift-frontend-libs-directly",level:3},{value:"I want to change attributes on inner blocks. How do I do it?",id:"i-want-to-change-attributes-on-inner-blocks-how-do-i-do-it",level:3},{value:"Do I need to write JS and PHP implementation for all my blocks?",id:"do-i-need-to-write-js-and-php-implementation-for-all-my-blocks",level:3},{value:"How do I use components in blocks?",id:"how-do-i-use-components-in-blocks",level:3},{value:"How do I use multiple heading components in my block?",id:"how-do-i-use-multiple-heading-components-in-my-block",level:3},{value:"Where can I define my global styles?",id:"where-can-i-define-my-global-styles",level:3},{value:"Where can I define global typography for all my blocks/components?",id:"where-can-i-define-global-typography-for-all-my-blockscomponents",level:3},{value:"Can I make a component with WP_Query logic in it?",id:"can-i-make-a-component-with-wp_query-logic-in-it",level:3},{value:"Do I need to make components for all my blocks?",id:"do-i-need-to-make-components-for-all-my-blocks",level:3},{value:"Will this setup work with full site editing?",id:"will-this-setup-work-with-full-site-editing",level:3},{value:"Can I use core blocks with your setup?",id:"can-i-use-core-blocks-with-your-setup",level:3},{value:"How can I limit my blocklist?",id:"how-can-i-limit-my-blocklist",level:3},{value:"How to allow only one pattern category?",id:"how-to-allow-only-one-pattern-category",level:3},{value:"Can I have blocks in multiple categories?",id:"can-i-have-blocks-in-multiple-categories",level:3},{value:"How can I add a new blocks category?",id:"how-can-i-add-a-new-blocks-category",level:3},{value:"What if you don't yet support something from the native setup? What can I do?",id:"what-if-you-dont-yet-support-something-from-the-native-setup-what-can-i-do",level:3},{value:"Why is my blocks folder called custom and not blocks, for example?",id:"why-is-my-blocks-folder-called-custom-and-not-blocks-for-example",level:3},{value:"In the global manifest, you have a key called \u201ccustomBlocksName\u201d: \u201ceightshift-block\u201d. Can I change this to my-project-name-block?",id:"in-the-global-manifest-you-have-a-key-called-customblocksname-eightshift-block-can-i-change-this-to-my-project-name-block",level:3},{value:"Simple vs Compound blocks",id:"simple-vs-compound-blocks",level:3},{value:"Naming is hard",id:"naming-is-hard",level:3}];function d(e){const o={a:"a",code:"code",em:"em",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(o.p,{children:(0,t.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/",children:(0,t.jsx)(o.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsxs)(o.p,{children:["Before we dive into blocks and see how everything is set, we should describe this setup's mindset.\nIf you've managed to set up your project by this point with the ",(0,t.jsx)(o.a,{href:"wp-cli",children:"WP-CLI"})," command ",(0,t.jsx)(o.code,{children:"setup_theme"}),", you might have a few questions. We will try to answer all those questions here."]}),"\n",(0,t.jsx)(o.h3,{id:"why-do-all-my-blocks-look-the-same-and-have-the-same-name-structure",children:"Why do all my blocks look the same and have the same name structure?"}),"\n",(0,t.jsxs)(o.p,{children:["This is so because we defined the name structure for all our blocks and components to load everything automatically. For more information, please check the ",(0,t.jsx)(o.a,{href:"block-structure",children:"block structure"})," and ",(0,t.jsx)(o.a,{href:"blocks-component-structure",children:"component structure"})," chapters."]}),"\n",(0,t.jsx)(o.h3,{id:"what-is-the-difference-between-components-and-blocks",children:"What is the difference between components and blocks?"}),"\n",(0,t.jsxs)(o.p,{children:["The main difference is that blocks are available in the block editor's block picker, and components are not. With that being said, blocks are registered using the ",(0,t.jsx)(o.code,{children:"registerBlockType"})," method, and components are just here for you to bundle some functionality in one place and reuse it wherever you need."]}),"\n",(0,t.jsxs)(o.p,{children:["For more information about blocks, read the ",(0,t.jsx)(o.a,{href:"block-structure",children:"block structure"})," chapter. To find out more about components, read the ",(0,t.jsx)(o.a,{href:"blocks-component-structure",children:"component structure"})," chapter."]}),"\n",(0,t.jsx)(o.h3,{id:"do-i-need-to-have-storybook-stories-in-my-block",children:"Do I need to have Storybook stories in my block?"}),"\n",(0,t.jsx)(o.p,{children:"No, you don't. But we provided you with the ability to use the Storybook for all of your blocks and components. Why not use it? It will speed up your development time. Trust us. \ud83d\ude42"}),"\n",(0,t.jsxs)(o.p,{children:["For more details on how to write stories, check out ",(0,t.jsx)(o.a,{href:"blocks-storybook",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"do-you-support-block-variations-and-how-can-i-use-them",children:"Do you support block variations, and how can I use them?"}),"\n",(0,t.jsxs)(o.p,{children:["Yes, we do. All block variations are located in the ",(0,t.jsx)(o.code,{children:"src/Blocks/variations"})," folder. For more information about this, please check the ",(0,t.jsx)(o.a,{href:"blocks-variations",children:"variations"})," chapter."]}),"\n",(0,t.jsx)(o.h3,{id:"do-you-support-patterns-and-how-can-i-use-them",children:"Do you support patterns, and how can I use them?"}),"\n",(0,t.jsxs)(o.p,{children:["Yes, we do. For more information, please read the ",(0,t.jsx)(o.a,{href:"blocks-patterns",children:"patterns"})," chapter."]}),"\n",(0,t.jsx)(o.h3,{id:"what-is-a-wrapper",children:"What is a wrapper?"}),"\n",(0,t.jsxs)(o.p,{children:["Read about wrappers in ",(0,t.jsx)(o.a,{href:"blocks-wrapper",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"do-you-support-inner-blocks",children:"Do you support inner blocks?"}),"\n",(0,t.jsxs)(o.p,{children:["Yes, we support everything that the core natively supports. You can find more information on how to use them in ",(0,t.jsx)(o.a,{href:"block-manifest",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"why-do-you-use-manifestjson-in-all-blocks-and-components",children:"Why do you use manifest.json in all blocks and components?"}),"\n",(0,t.jsxs)(o.p,{children:["So that we can provide content, attributes, options, and much more across multiple different files in multiple contexts (in both PHP and JS). You can read all about it in ",(0,t.jsx)(o.a,{href:"block-manifest",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"why-do-you-use-global-manifestjson",children:"Why do you use global manifest.json?"}),"\n",(0,t.jsxs)(o.p,{children:["The answer is the same as the previous one. In the global ",(0,t.jsx)(o.code,{children:"manifest.json"}),", we have options that are shared across all blocks and components. Read more about it in ",(0,t.jsx)(o.a,{href:"blocks-global-manifest",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"if-i-want-to-create-a-new-blockcomponent-what-do-i-do",children:"If I want to create a new block/component, what do I do?"}),"\n",(0,t.jsxs)(o.p,{children:["In your terminal, write ",(0,t.jsx)(o.code,{children:"wp boilerplate use_block --name=example"})," and style that block however you seem fit."]}),"\n",(0,t.jsx)(o.h3,{id:"how-can-i-use-your-pre-made-blocks",children:"How can I use your pre-made blocks?"}),"\n",(0,t.jsxs)(o.p,{children:["You can check all available blocks/components using our ",(0,t.jsx)(o.code,{children:"wp boilerplate use_block --help"})," or ",(0,t.jsx)(o.code,{children:"wp boilerplate use_component --help"})," command."]}),"\n",(0,t.jsx)(o.h3,{id:"can-i-use-blockcomponent-from-eightshift-frontend-libs-directly",children:"Can I use block/component from Eightshift-frontend-libs directly?"}),"\n",(0,t.jsxs)(o.p,{children:["It depends. You can't use things from the blocks folder like ",(0,t.jsx)(o.code,{children:"components"}),", ",(0,t.jsx)(o.code,{children:"custom"}),", ",(0,t.jsx)(o.code,{children:"variations"}),", ",(0,t.jsx)(o.code,{children:"wrapper"}),", etc. They are meant to be copied to your project, styled, and changed depending on your project's needs."]}),"\n",(0,t.jsxs)(o.p,{children:["You can move things from a block to your project using the commands described in ",(0,t.jsx)(o.a,{href:"blocks-intro#how-can-i-use-your-pre-made-blocks",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"i-want-to-change-attributes-on-inner-blocks-how-do-i-do-it",children:"I want to change attributes on inner blocks. How do I do it?"}),"\n",(0,t.jsxs)(o.p,{children:["We described how attributes are used and combined in ",(0,t.jsx)(o.a,{href:"blocks-attributes",children:"this chapter"})," and ",(0,t.jsx)(o.a,{href:"blocks-component-in-block",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"do-i-need-to-write-js-and-php-implementation-for-all-my-blocks",children:"Do I need to write JS and PHP implementation for all my blocks?"}),"\n",(0,t.jsx)(o.p,{children:"For a block, you must provide the JS and PHP implementations because it won't work without them."}),"\n",(0,t.jsx)(o.p,{children:"For components, if you are not using the JS part, you don't need to write one, but we recommend you do so because the JS part is used in Storybook."}),"\n",(0,t.jsxs)(o.p,{children:["If you have a more advanced block and don't benefit from writing the JS implementation of the block, you can always use the ",(0,t.jsx)(o.a,{href:"https://developer.wordpress.org/block-editor/packages/packages-server-side-render/",children:"ServerSideRender component"})," form the core. If you have no inputs in the editor from the admin, there is no need to write JS implementation of the block. Just use ",(0,t.jsx)(o.code,{children:"ServerSideRender"})," component in that case."]}),"\n",(0,t.jsx)(o.h3,{id:"how-do-i-use-components-in-blocks",children:"How do I use components in blocks?"}),"\n",(0,t.jsxs)(o.p,{children:["Please check out ",(0,t.jsx)(o.a,{href:"blocks-component-in-block",children:"this chapter"})," for more information."]}),"\n",(0,t.jsx)(o.h3,{id:"how-do-i-use-multiple-heading-components-in-my-block",children:"How do I use multiple heading components in my block?"}),"\n",(0,t.jsxs)(o.p,{children:["You can follow the instructions given in ",(0,t.jsx)(o.a,{href:"blocks-component-in-block",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"where-can-i-define-my-global-styles",children:"Where can I define my global styles?"}),"\n",(0,t.jsxs)(o.p,{children:["You can follow the instructions given in ",(0,t.jsx)(o.a,{href:"writing-styles",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"where-can-i-define-global-typography-for-all-my-blockscomponents",children:"Where can I define global typography for all my blocks/components?"}),"\n",(0,t.jsxs)(o.p,{children:["You can follow the instructions given in ",(0,t.jsx)(o.a,{href:"writing-styles",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"can-i-make-a-component-with-wp_query-logic-in-it",children:"Can I make a component with WP_Query logic in it?"}),"\n",(0,t.jsx)(o.p,{children:"Yes, you can, but think of the component as a dumb and simple piece of code that should not hold any business logic. A component should only be used as a view. If you need to write WP_Query logic, you can do that in a block and just pass the data to your component as props."}),"\n",(0,t.jsx)(o.h3,{id:"do-i-need-to-make-components-for-all-my-blocks",children:"Do I need to make components for all my blocks?"}),"\n",(0,t.jsx)(o.p,{children:"No, it might look like that from the examples provided, but that is not the case. You should create components depending on your needs."}),"\n",(0,t.jsx)(o.p,{children:"Ask yourself, will I reuse this functionality anywhere else?"}),"\n",(0,t.jsxs)(o.ul,{children:["\n",(0,t.jsxs)(o.li,{children:["If the answer is ",(0,t.jsx)(o.strong,{children:"yes"}),", create a component."]}),"\n",(0,t.jsxs)(o.li,{children:["If the answer is ",(0,t.jsx)(o.strong,{children:"no"}),", don't create a component."]}),"\n"]}),"\n",(0,t.jsx)(o.p,{children:"Our recommendation is not to burden yourself with components from the beginning. Start creating blocks and, if you find yourself in need of code that you already wrote, just extract it in a component."}),"\n",(0,t.jsx)(o.h3,{id:"will-this-setup-work-with-full-site-editing",children:"Will this setup work with full site editing?"}),"\n",(0,t.jsx)(o.p,{children:"Yes, it will. We are constantly upgrading this documentation and our code to say that it will work with full site editing. This boilerplate was made for the Infinum/Eightshift WordPress team, so we are constantly using it in our projects."}),"\n",(0,t.jsx)(o.h3,{id:"can-i-use-core-blocks-with-your-setup",children:"Can I use core blocks with your setup?"}),"\n",(0,t.jsx)(o.p,{children:"Yes, you can. We are working on the ability to override core blocks in our smart way. Until we make this work, you can use everything that is already defined in the core documentation."}),"\n",(0,t.jsx)(o.p,{children:"We avoid using core blocks because they add different class naming and additional markup that makes it harder to style things."}),"\n",(0,t.jsx)(o.p,{children:"Also, they are prone to breaking changes every several months, so we prefer to write our own implementation."}),"\n",(0,t.jsx)(o.h3,{id:"how-can-i-limit-my-blocklist",children:"How can I limit my blocklist?"}),"\n",(0,t.jsxs)(o.p,{children:["Easy. We have a method you can extend that limits your project's block to the only block from your project. You should put this filter in your project's ",(0,t.jsx)(o.code,{children:"src/Blocks/Blocks.php"})," file under the ",(0,t.jsx)(o.code,{children:"register"})," method:"]}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-php",children:" // Limits the usage of only custom project blocks.\n add_filter('allowed_block_types', [ $this, 'getAllBlocksList' ], 10, 2);\n"})}),"\n",(0,t.jsx)(o.h3,{id:"how-to-allow-only-one-pattern-category",children:"How to allow only one pattern category?"}),"\n",(0,t.jsx)(o.p,{children:(0,t.jsx)(o.em,{children:"Coming soon"})}),"\n",(0,t.jsx)(o.h3,{id:"can-i-have-blocks-in-multiple-categories",children:"Can I have blocks in multiple categories?"}),"\n",(0,t.jsxs)(o.p,{children:["In your block manifest, you can define in what category your block will appear. You can create a new category for your project or use our category. We created our category called ",(0,t.jsx)(o.code,{children:"eightshift"})," using this filter:"]}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-php",children:" // Create a new custom category for custom blocks.\n add_filter('block_categories', [ $this, 'getCustomCategory' ]);\n"})}),"\n",(0,t.jsx)(o.h3,{id:"how-can-i-add-a-new-blocks-category",children:"How can I add a new blocks category?"}),"\n",(0,t.jsx)(o.p,{children:"You can provide your implementation, or you can extend our method for registering a custom category. Here is how you do it:"}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-php",children:" /**\n * Register all the hooks\n *\n * @return void\n */\npublic function register(): void\n{\n // Create a new custom category for custom blocks.\n add_filter('block_categories', [ $this, 'getCustomCategory' ]);\n}\n\n /**\n * Create a custom category to assign all custom blocks\n *\n * This category will be shown on all blocks list in the \"Add Block\" button.\n *\n * @param array[] $categories Array of all block categories.\n * @param \\WP_Post $post Post being loaded.\n *\n * @return array[] Array of block categories.\n */\npublic function getCustomCategory(array $categories, \\WP_Post $post): array\n{\n return array_merge(\n parent::getCustomCategory($categories, $post),\n [\n [\n 'slug' => 'custom-category-name',\n 'title' => \\esc_html__('Custom Category', 'project-text-domain'),\n 'icon' => 'admin-settings',\n ],\n ]\n );\n}\n"})}),"\n",(0,t.jsx)(o.h3,{id:"what-if-you-dont-yet-support-something-from-the-native-setup-what-can-i-do",children:"What if you don't yet support something from the native setup? What can I do?"}),"\n",(0,t.jsxs)(o.p,{children:["As we described in ",(0,t.jsx)(o.a,{href:"blocks",children:"this chapter"}),", if we don't support something natively from the core or you can't find it in this documentation, you can always use it in the normal native way from the ",(0,t.jsx)(o.a,{href:"https://developer.wordpress.org/block-editor/tutorials/block-tutorial/",children:"WordPress documentation"}),". Also, if you think we are missing something, please open a ",(0,t.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/pulls",children:"pull request"})," or an ",(0,t.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/issues",children:"issue"})," on our GitHub repository."]}),"\n",(0,t.jsxs)(o.h3,{id:"why-is-my-blocks-folder-called-custom-and-not-blocks-for-example",children:["Why is my blocks folder called ",(0,t.jsx)(o.code,{children:"custom"})," and not ",(0,t.jsx)(o.code,{children:"blocks"}),", for example?"]}),"\n",(0,t.jsx)(o.p,{children:"The idea was to put all your custom blocks inside the custom folder and all core block in the core folder. This boilerplate is not designed only for your custom block, but you can use it as an ultimate block setup."}),"\n",(0,t.jsxs)(o.p,{children:["And folder structure ",(0,t.jsx)(o.code,{children:"src/Blocks/blocks"})," is kind of weird."]}),"\n",(0,t.jsx)(o.h3,{id:"in-the-global-manifest-you-have-a-key-called-customblocksname-eightshift-block-can-i-change-this-to-my-project-name-block",children:"In the global manifest, you have a key called \u201ccustomBlocksName\u201d: \u201ceightshift-block\u201d. Can I change this to my-project-name-block?"}),"\n",(0,t.jsx)(o.p,{children:"You can, but you shouldn't. We use this key to provide the CSS selectors on all our custom blocks in the block editor. Additional styles are added to this selector for the wrapper to work on full width and remove some of the native block editor styles."}),"\n",(0,t.jsx)(o.p,{children:"So don't remove or change this \ud83d\ude05."}),"\n",(0,t.jsx)(o.h3,{id:"simple-vs-compound-blocks",children:"Simple vs Compound blocks"}),"\n",(0,t.jsx)(o.p,{children:"In a nutshell, there is no difference between blocks. The WordPress core block is a block, but we like to make a distinction between what is simple and what is a compound block."}),"\n",(0,t.jsxs)(o.p,{children:[(0,t.jsx)(o.strong,{children:"Simple block"})," is a block that is used just as is and provides a small isolated functionality. For example: heading, paragraph, button, etc."]}),"\n",(0,t.jsxs)(o.p,{children:[(0,t.jsx)(o.strong,{children:"Compound block"})," is a block built from multiple components. For example: card, featured posts, etc"]}),"\n",(0,t.jsx)(o.h3,{id:"naming-is-hard",children:"Naming is hard"}),"\n",(0,t.jsx)(o.p,{children:(0,t.jsx)(o.em,{children:"There are only two hard things in Computer Science: cache invalidation and naming things. - Phil Karlton"})}),"\n",(0,t.jsx)(o.p,{children:"Yes, naming is hard, and no matter how long your development experience is you will always struggle with names for your components, block, files, variables, functions, etc."}),"\n",(0,t.jsx)(o.p,{children:"Here are some of our recommendations to ease your pain:"}),"\n",(0,t.jsxs)(o.ul,{children:["\n",(0,t.jsxs)(o.li,{children:["Always try to name your block based on ",(0,t.jsx)(o.strong,{children:"what they are"}),", rather than ",(0,t.jsx)(o.strong,{children:"what they will be used for"}),". For example, if you have a component card for custom post-type ",(0,t.jsx)(o.code,{children:"books"}),", you should never call this component ",(0,t.jsx)(o.code,{children:"card-book"}),". Instead, use a more generic name like ",(0,t.jsx)(o.code,{children:"card-product"}),"."]}),"\n",(0,t.jsx)(o.li,{children:"Make your names as generic as possible for better reusability, but specific enough to fully understand what the block/component is used for."}),"\n",(0,t.jsx)(o.li,{children:"Always think about the future. How can this feature be used in some other way?"}),"\n",(0,t.jsxs)(o.li,{children:['When naming your attributes ask yourself: "is this attribute going to be used in any other way?". For example, you have an attribute for adding font-weight: bold to your text. You can create an attribute called font-weight and set it as a ',(0,t.jsx)(o.code,{children:"boolean"})," type and that will be ok if you have only one font-weight. A better way would be to put it as a string and provide a ",(0,t.jsx)(o.code,{children:"SelectControl"})," component if there is any possibility that in the future you will have additional font-weight."]}),"\n",(0,t.jsxs)(o.li,{children:["Name booleans positively as a question. Example: ",(0,t.jsx)(o.code,{children:"isValid"}),", ",(0,t.jsx)(o.code,{children:"isLoading"}),", ",(0,t.jsx)(o.code,{children:"isComplete"}),"."]}),"\n",(0,t.jsx)(o.li,{children:"Don\u2019t hesitate to use longer names."}),"\n",(0,t.jsx)(o.li,{children:"Use singular names."}),"\n",(0,t.jsx)(o.li,{children:"The variables or functions should be named by their work: Name of variables/functions should always try to express their meaning without diving into the code base try to pack meaningful information inside the name."}),"\n",(0,t.jsx)(o.li,{children:"Naming should be simple enough to be understood by everyone: Using complex words to describe a simple thing only creates hassle while reading the code. Also, use simple English."}),"\n",(0,t.jsx)(o.li,{children:"You might not be the only person working on your particular project in the future. Think about the next person. Your naming will provide an insight into the process and project."}),"\n",(0,t.jsxs)(o.li,{children:[(0,t.jsx)(o.strong,{children:"BE CONSISTENT"}),"."]}),"\n"]})]})}function h(e={}){const{wrapper:o}={...(0,s.a)(),...e.components};return o?(0,t.jsx)(o,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},11151:(e,o,n)=>{n.d(o,{Z:()=>a,a:()=>l});var t=n(67294);const s={},i=t.createContext(s);function l(e){const o=t.useContext(i);return t.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(s):e.components||s:l(e.components),t.createElement(i.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/01a85c17.2d1c9198.js b/assets/js/01a85c17.2d1c9198.js new file mode 100644 index 000000000..f7c608138 --- /dev/null +++ b/assets/js/01a85c17.2d1c9198.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[58412],{9452:(e,t,s)=>{s.d(t,{c:()=>v});var a=s(11504),i=s(65456),r=s(520),l=s(11432),n=s(10867),c=s(84357),o=s(55592),m=s(13376);function d(e){const{pathname:t}=(0,o.IT)();return(0,a.useMemo)((()=>e.filter((e=>function(e,t){return!(e.unlisted&&!(0,m.Sc)(e.permalink,t))}(e,t)))),[e,t])}const h={sidebar:"sidebar_re4s",sidebarItemTitle:"sidebarItemTitle_pO2u",sidebarItemList:"sidebarItemList_Yudw",sidebarItem:"sidebarItem__DBe",sidebarItemLink:"sidebarItemLink_mo7H",sidebarItemLinkActive:"sidebarItemLinkActive_I1ZP"};var u=s(17624);function g(e){let{sidebar:t}=e;const s=d(t.items);return(0,u.jsx)("aside",{className:"col col--3",children:(0,u.jsxs)("nav",{className:(0,i.c)(h.sidebar,"thin-scrollbar"),"aria-label":(0,c.G)({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.c)(h.sidebarItemTitle,"margin-bottom--md"),children:t.title}),(0,u.jsx)("ul",{className:(0,i.c)(h.sidebarItemList,"clean-list"),children:s.map((e=>(0,u.jsx)("li",{className:h.sidebarItem,children:(0,u.jsx)(n.c,{isNavLink:!0,to:e.permalink,className:h.sidebarItemLink,activeClassName:h.sidebarItemLinkActive,children:e.title})},e.permalink)))})]})})}var b=s(45168);function p(e){let{sidebar:t}=e;const s=d(t.items);return(0,u.jsx)("ul",{className:"menu__list",children:s.map((e=>(0,u.jsx)("li",{className:"menu__list-item",children:(0,u.jsx)(n.c,{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.Mx,{component:p,props:e})}function x(e){let{sidebar:t}=e;const s=(0,l.U)();return t?.items.length?"mobile"===s?(0,u.jsx)(j,{sidebar:t}):(0,u.jsx)(g,{sidebar:t}):null}function v(e){const{sidebar:t,toc:s,children:a,...l}=e,n=t&&t.items.length>0;return(0,u.jsx)(r.c,{...l,children:(0,u.jsx)("div",{className:"container margin-vert--lg",children:(0,u.jsxs)("div",{className:"row",children:[(0,u.jsx)(x,{sidebar:t}),(0,u.jsx)("main",{className:(0,i.c)("col",{"col--7":n,"col--9 col--offset-1":!n}),itemScope:!0,itemType:"https://schema.org/Blog",children:a}),s&&(0,u.jsx)("div",{className:"col col--2",children:s})]})})})}},43024:(e,t,s)=>{s.r(t),s.d(t,{default:()=>p});s(11504);var a=s(65456),i=s(84357);const r=()=>(0,i.G)({id:"theme.tags.tagsPageTitle",message:"Tags",description:"The title of the tag list page"});var l=s(85008),n=s(45864),c=s(9452),o=s(83020),m=s(56448);const d={tag:"tag_Nnez"};var h=s(17624);function u(e){let{letterEntry:t}=e;return(0,h.jsxs)("article",{children:[(0,h.jsx)(m.c,{as:"h2",id:t.letter,children:t.letter}),(0,h.jsx)("ul",{className:"padding--none",children:t.tags.map((e=>(0,h.jsx)("li",{className:d.tag,children:(0,h.jsx)(o.c,{...e})},e.permalink)))}),(0,h.jsx)("hr",{})]})}function g(e){let{tags:t}=e;const s=function(e){const t={};return Object.values(e).forEach((e=>{const s=function(e){return e[0].toUpperCase()}(e.label);t[s]??=[],t[s].push(e)})),Object.entries(t).sort(((e,t)=>{let[s]=e,[a]=t;return s.localeCompare(a)})).map((e=>{let[t,s]=e;return{letter:t,tags:s.sort(((e,t)=>e.label.localeCompare(t.label)))}}))}(t);return(0,h.jsx)("section",{className:"margin-vert--lg",children:s.map((e=>(0,h.jsx)(u,{letterEntry:e},e.letter)))})}var b=s(48712);function p(e){let{tags:t,sidebar:s}=e;const i=r();return(0,h.jsxs)(l.cr,{className:(0,a.c)(n.W.wrapper.blogPages,n.W.page.blogTagsListPage),children:[(0,h.jsx)(l.U7,{title:i}),(0,h.jsx)(b.c,{tag:"blog_tags_list"}),(0,h.jsxs)(c.c,{sidebar:s,children:[(0,h.jsx)(m.c,{as:"h1",children:i}),(0,h.jsx)(g,{tags:t})]})]})}},83020:(e,t,s)=>{s.d(t,{c:()=>n});s(11504);var a=s(65456),i=s(10867);const r={tag:"tag_zVej",tagRegular:"tagRegular_sFm0",tagWithCount:"tagWithCount_h2kH"};var l=s(17624);function n(e){let{permalink:t,label:s,count:n}=e;return(0,l.jsxs)(i.c,{href:t,className:(0,a.c)(r.tag,n?r.tagWithCount:r.tagRegular),children:[s,n&&(0,l.jsx)("span",{children:n})]})}}}]); \ No newline at end of file diff --git a/assets/js/01a85c17.9251edb3.js b/assets/js/01a85c17.9251edb3.js deleted file mode 100644 index 517e9ead7..000000000 --- a/assets/js/01a85c17.9251edb3.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[64013],{61460:(e,t,s)=>{s.d(t,{Z:()=>v});var a=s(67294),i=s(36905),l=s(22189),r=s(87524),n=s(33692),c=s(95999),o=s(16550),m=s(48596);function d(e){const{pathname:t}=(0,o.TH)();return(0,a.useMemo)((()=>e.filter((e=>function(e,t){return!(e.unlisted&&!(0,m.Mg)(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 g=s(85893);function h(e){let{sidebar:t}=e;const s=d(t.items);return(0,g.jsx)("aside",{className:"col col--3",children:(0,g.jsxs)("nav",{className:(0,i.Z)(u.sidebar,"thin-scrollbar"),"aria-label":(0,c.I)({id:"theme.blog.sidebar.navAriaLabel",message:"Blog recent posts navigation",description:"The ARIA label for recent posts in the blog sidebar"}),children:[(0,g.jsx)("div",{className:(0,i.Z)(u.sidebarItemTitle,"margin-bottom--md"),children:t.title}),(0,g.jsx)("ul",{className:(0,i.Z)(u.sidebarItemList,"clean-list"),children:s.map((e=>(0,g.jsx)("li",{className:u.sidebarItem,children:(0,g.jsx)(n.Z,{isNavLink:!0,to:e.permalink,className:u.sidebarItemLink,activeClassName:u.sidebarItemLinkActive,children:e.title})},e.permalink)))})]})})}var b=s(13102);function p(e){let{sidebar:t}=e;const s=d(t.items);return(0,g.jsx)("ul",{className:"menu__list",children:s.map((e=>(0,g.jsx)("li",{className:"menu__list-item",children:(0,g.jsx)(n.Z,{isNavLink:!0,to:e.permalink,className:"menu__link",activeClassName:"menu__link--active",children:e.title})},e.permalink)))})}function j(e){return(0,g.jsx)(b.Zo,{component:p,props:e})}function x(e){let{sidebar:t}=e;const s=(0,r.i)();return null!=t&&t.items.length?"mobile"===s?(0,g.jsx)(j,{sidebar:t}):(0,g.jsx)(h,{sidebar:t}):null}function v(e){const{sidebar:t,toc:s,children:a,...r}=e,n=t&&t.items.length>0;return(0,g.jsx)(l.Z,{...r,children:(0,g.jsx)("div",{className:"container margin-vert--lg",children:(0,g.jsxs)("div",{className:"row",children:[(0,g.jsx)(x,{sidebar:t}),(0,g.jsx)("main",{className:(0,i.Z)("col",{"col--7":n,"col--9 col--offset-1":!n}),itemScope:!0,itemType:"https://schema.org/Blog",children:a}),s&&(0,g.jsx)("div",{className:"col col--2",children:s})]})})})}},91223:(e,t,s)=>{s.r(t),s.d(t,{default:()=>p});s(67294);var a=s(36905),i=s(95999);const l=()=>(0,i.I)({id:"theme.tags.tagsPageTitle",message:"Tags",description:"The title of the tag list page"});var r=s(10833),n=s(35281),c=s(61460),o=s(13008),m=s(92503);const d={tag:"tag_Nnez"};var u=s(85893);function g(e){let{letterEntry:t}=e;return(0,u.jsxs)("article",{children:[(0,u.jsx)(m.Z,{as:"h2",id:t.letter,children:t.letter}),(0,u.jsx)("ul",{className:"padding--none",children:t.tags.map((e=>(0,u.jsx)("li",{className:d.tag,children:(0,u.jsx)(o.Z,{...e})},e.permalink)))}),(0,u.jsx)("hr",{})]})}function h(e){let{tags:t}=e;const s=function(e){const t={};return Object.values(e).forEach((e=>{const s=function(e){return e[0].toUpperCase()}(e.label);null!=t[s]||(t[s]=[]),t[s].push(e)})),Object.entries(t).sort(((e,t)=>{let[s]=e,[a]=t;return s.localeCompare(a)})).map((e=>{let[t,s]=e;return{letter:t,tags:s.sort(((e,t)=>e.label.localeCompare(t.label)))}}))}(t);return(0,u.jsx)("section",{className:"margin-vert--lg",children:s.map((e=>(0,u.jsx)(g,{letterEntry:e},e.letter)))})}var b=s(90197);function p(e){let{tags:t,sidebar:s}=e;const i=l();return(0,u.jsxs)(r.FG,{className:(0,a.Z)(n.k.wrapper.blogPages,n.k.page.blogTagsListPage),children:[(0,u.jsx)(r.d,{title:i}),(0,u.jsx)(b.Z,{tag:"blog_tags_list"}),(0,u.jsxs)(c.Z,{sidebar:s,children:[(0,u.jsx)(m.Z,{as:"h1",children:i}),(0,u.jsx)(h,{tags:t})]})]})}},13008:(e,t,s)=>{s.d(t,{Z:()=>n});s(67294);var a=s(36905),i=s(33692);const l={tag:"tag_zVej",tagRegular:"tagRegular_sFm0",tagWithCount:"tagWithCount_h2kH"};var r=s(85893);function n(e){let{permalink:t,label:s,count:n}=e;return(0,r.jsxs)(i.Z,{href:t,className:(0,a.Z)(l.tag,n?l.tagWithCount:l.tagRegular),children:[s,n&&(0,r.jsx)("span",{children:n})]})}}}]); \ No newline at end of file diff --git a/assets/js/0205c089.028f9c72.js b/assets/js/0205c089.028f9c72.js new file mode 100644 index 000000000..20d30f0b4 --- /dev/null +++ b/assets/js/0205c089.028f9c72.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[17852],{82256:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>o,default:()=>c,frontMatter:()=>s,metadata:()=>l,toc:()=>m});var r=n(17624),i=n(4552),a=n(80148);const s={id:"jira",title:"Jira"},o=void 0,l={id:"php/filters/integrations/jira",title:"Jira",description:"",source:"@site/forms/php/filters/integrations/jira.mdx",sourceDirName:"php/filters/integrations",slug:"/php/filters/integrations/jira",permalink:"/forms/php/filters/integrations/jira",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"jira",title:"Jira"},sidebar:"forms",previous:{title:"HubSpot",permalink:"/forms/php/filters/integrations/hubspot"},next:{title:"Mailchimp",permalink:"/forms/php/filters/integrations/mailchimp"}},d={},m=[];function f(t){return(0,r.jsx)(a.y,{name:"Jira",filter:"jira",onlyUse:["prePostParamsFilter"]})}function c(t={}){const{wrapper:e}={...(0,i.M)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(f,{...t})}):f()}},80148:(t,e,n)=>{n.d(e,{g:()=>o,y:()=>s});n(11504);var r=n(1608),i=n(96616),a=n(17624);function s(t){let{filter:e,onlyUse:n=["dataFilter","orderFilter","prePostIdFilter","prePostParamsFilter"]}=t;return(0,a.jsxs)(a.Fragment,{children:[n.includes("dataFilter")&&(0,a.jsx)(l,{filter:e}),n.includes("orderFilter")&&(0,a.jsx)(d,{filter:e}),n.includes("prePostIdFilter")&&(0,a.jsx)(m,{filter:e}),n.includes("prePostParamsFilter")&&(0,a.jsx)(f,{filter:e})]})}function o(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{children:"Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc."}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\tadd_filter('es_forms_block_${e}_additional_content', function(): string {\n\t\t\t\treturn '';\n\t\t\t})\n\t\t\t`)})]})}function l(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Data filter"}),(0,a.jsx)("p",{children:"Allows modifying form field data before it's shown in the Block Editor or output on the frontend."}),(0,a.jsx)("p",{children:"Useful if, for example, you want to ensure that all fields fit into a 2-column layout."}),(0,a.jsx)("p",{children:"Overrides any Block Editor changes!"}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\tadd_filter('es_forms_integrations_${e}_data', 'getIntegrationFilterData', 10, 2);\n\n\t\t\t/**\n\t\t\t * Manipulate form fields data before it is sent to the Block Editor.\n\t\t\t *\n\t\t\t * @param array $data Form fields data.\n\t\t\t * @param string $formId Form ID.\n\t\t\t *\n\t\t\t * @return array\n\t\t\t */\n\t\t\tfunction getIntegrationFilterData(array $data, string $formId): array\n\t\t\t{\n\t\t\t\tforeach ($data as $index => $field) {\n\t\t\t\t\t$component = $field['component'] ?? '';\n\n\t\t\t\t\tif (!$component) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t$name = $field["{$component}Name"] ?? '';\n\n\t\t\t\t\tif (!$name) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch ($name) {\n\t\t\t\t\t\tcase 'firstname':\n\t\t\t\t\t\tcase 'lastname':\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthMobile"] = 12;\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthLarge"] = 6;\n\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"] = array_merge(\n\t\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthMobile",\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthLarge",\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t`)})]})}function d(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Order filter"}),(0,a.jsx)("p",{children:"Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor."}),(0,a.jsxs)("p",{children:["Not all fields need to have an order defined. For example, you may want to make sure ",(0,a.jsx)("code",{children:"firstname"}),", ",(0,a.jsx)("code",{children:"lastname"})," and ",(0,a.jsx)("code",{children:"email"})," are displayed first, but other fields follow their Block editor order."]}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_order', 'getIntegrationOrder');\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Forces form field order for the provided fields. For other fields, Block editor order is used.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationOrder(): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t'firstname',\n\t\t\t\t\t\t\t'lastname',\n\t\t\t\t\t\t\t'email',\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t`)})]})}function m(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post ID filter"}),(0,a.jsx)("p",{children:"Allows updating item IDs sent to external integrations to which the form data is sent."}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_pre_post_id', 'getIntegrationPrePostId', 10, 3);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies integration item ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @param string $itemId Integration item ID.\n\t\t\t\t\t * @param array $params Params to be sent to the integration.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostId(string $itemId, array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn $itemId;\n\t\t\t\t\t}\n\t\t\t\t`)})]})}function f(t){let{filter:e}=t,n="";if("mailer"===e)n="mailer system";else n="external integration";return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post parameters filter"}),(0,a.jsxs)("p",{children:["Allows modifying form field data before it's sent to ",n,". Useful if you want to make values derived from the sent data, or add new fields."]}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_pre_post_params', 'getIntegrationPrePostParams', 10, 2);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies form field data before it's sent to ${n}.\n\t\t\t\t\t *\n\t\t\t\t\t * @param array $params Array of params.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostParams(array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\t$formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? '';\n\n\t\t\t\t\t\tif ($formSubmissionPageLt) {\n\t\t\t\t\t\t\t$params['ib-submission-source'] = [\n\t\t\t\t\t\t\t\t'name' => 'ib-submission-source',\n\t\t\t\t\t\t\t\t'value' => $formSubmissionPageLt,\n\t\t\t\t\t\t\t\t'type' => 'text',\n\t\t\t\t\t\t\t\t'internalType' => '',\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn $params;\n\t\t\t\t\t}\n\t\t\t\t`)})]})}},96616:(t,e,n)=>{function r(t){const e=t.split(/\n/g);for(;0===e[0]?.replace(/\s/g,"").length;)e.shift();for(;0===e[e.length-1]?.replace(/\s/g,"").length;)e.pop();const n=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>t.match(/^\s*/)?.[0]?.length??0)),r=Math.min(...n);return e.map((t=>t.slice(r))).join("\n")}n.d(e,{c:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/0205c089.17f39501.js b/assets/js/0205c089.17f39501.js deleted file mode 100644 index 4d495a758..000000000 --- a/assets/js/0205c089.17f39501.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[7687],{61879:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>o,default:()=>p,frontMatter:()=>s,metadata:()=>l,toc:()=>m});var r=n(85893),i=n(11151),a=n(8122);const s={id:"jira",title:"Jira"},o=void 0,l={id:"php/filters/integrations/jira",title:"Jira",description:"",source:"@site/forms/php/filters/integrations/jira.mdx",sourceDirName:"php/filters/integrations",slug:"/php/filters/integrations/jira",permalink:"/forms/php/filters/integrations/jira",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"jira",title:"Jira"},sidebar:"forms",previous:{title:"HubSpot",permalink:"/forms/php/filters/integrations/hubspot"},next:{title:"Mailchimp",permalink:"/forms/php/filters/integrations/mailchimp"}},d={},m=[];function f(t){return(0,r.jsx)(a.k,{name:"Jira",filter:"jira",onlyUse:["prePostParamsFilter"]})}function p(t={}){const{wrapper:e}={...(0,i.a)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(f,{...t})}):f()}},8122:(t,e,n)=>{n.d(e,{F:()=>o,k:()=>s});n(67294);var r=n(9286),i=n(61684),a=n(85893);function s(t){let{filter:e,onlyUse:n=["dataFilter","orderFilter","prePostIdFilter","prePostParamsFilter"]}=t;return(0,a.jsxs)(a.Fragment,{children:[n.includes("dataFilter")&&(0,a.jsx)(l,{filter:e}),n.includes("orderFilter")&&(0,a.jsx)(d,{filter:e}),n.includes("prePostIdFilter")&&(0,a.jsx)(m,{filter:e}),n.includes("prePostParamsFilter")&&(0,a.jsx)(f,{filter:e})]})}function o(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{children:"Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc."}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\tadd_filter('es_forms_block_"+e+"_additional_content', function(): string {\n\t\t\t\treturn '';\n\t\t\t})\n\t\t\t")})]})}function l(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Data filter"}),(0,a.jsx)("p",{children:"Allows modifying form field data before it's shown in the Block Editor or output on the frontend."}),(0,a.jsx)("p",{children:"Useful if, for example, you want to ensure that all fields fit into a 2-column layout."}),(0,a.jsx)("p",{children:"Overrides any Block Editor changes!"}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\tadd_filter('es_forms_integrations_"+e+'_data\', \'getIntegrationFilterData\', 10, 2);\n\n\t\t\t/**\n\t\t\t * Manipulate form fields data before it is sent to the Block Editor.\n\t\t\t *\n\t\t\t * @param array $data Form fields data.\n\t\t\t * @param string $formId Form ID.\n\t\t\t *\n\t\t\t * @return array\n\t\t\t */\n\t\t\tfunction getIntegrationFilterData(array $data, string $formId): array\n\t\t\t{\n\t\t\t\tforeach ($data as $index => $field) {\n\t\t\t\t\t$component = $field[\'component\'] ?? \'\';\n\n\t\t\t\t\tif (!$component) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t$name = $field["{$component}Name"] ?? \'\';\n\n\t\t\t\t\tif (!$name) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch ($name) {\n\t\t\t\t\t\tcase \'firstname\':\n\t\t\t\t\t\tcase \'lastname\':\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthMobile"] = 12;\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthLarge"] = 6;\n\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"] = array_merge(\n\t\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthMobile",\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthLarge",\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t')})]})}function d(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Order filter"}),(0,a.jsx)("p",{children:"Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor."}),(0,a.jsxs)("p",{children:["Not all fields need to have an order defined. For example, you may want to make sure ",(0,a.jsx)("code",{children:"firstname"}),", ",(0,a.jsx)("code",{children:"lastname"})," and ",(0,a.jsx)("code",{children:"email"})," are displayed first, but other fields follow their Block editor order."]}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_order', 'getIntegrationOrder');\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Forces form field order for the provided fields. For other fields, Block editor order is used.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationOrder(): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t'firstname',\n\t\t\t\t\t\t\t'lastname',\n\t\t\t\t\t\t\t'email',\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t")})]})}function m(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post ID filter"}),(0,a.jsx)("p",{children:"Allows updating item IDs sent to external integrations to which the form data is sent."}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_pre_post_id', 'getIntegrationPrePostId', 10, 3);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies integration item ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @param string $itemId Integration item ID.\n\t\t\t\t\t * @param array $params Params to be sent to the integration.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostId(string $itemId, array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn $itemId;\n\t\t\t\t\t}\n\t\t\t\t")})]})}function f(t){let{filter:e}=t,n="";if("mailer"===e)n="mailer system";else n="external integration";return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post parameters filter"}),(0,a.jsxs)("p",{children:["Allows modifying form field data before it's sent to ",n,". Useful if you want to make values derived from the sent data, or add new fields."]}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_pre_post_params', 'getIntegrationPrePostParams', 10, 2);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies form field data before it's sent to "+n+".\n\t\t\t\t\t *\n\t\t\t\t\t * @param array $params Array of params.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostParams(array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\t$formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? '';\n\n\t\t\t\t\t\tif ($formSubmissionPageLt) {\n\t\t\t\t\t\t\t$params['ib-submission-source'] = [\n\t\t\t\t\t\t\t\t'name' => 'ib-submission-source',\n\t\t\t\t\t\t\t\t'value' => $formSubmissionPageLt,\n\t\t\t\t\t\t\t\t'type' => 'text',\n\t\t\t\t\t\t\t\t'internalType' => '',\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn $params;\n\t\t\t\t\t}\n\t\t\t\t")})]})}},61684:(t,e,n)=>{function r(t){const e=t.split(/\n/g);for(;0===(null==(n=e[0])?void 0:n.replace(/\s/g,"").length);){var n;e.shift()}for(;0===(null==(r=e[e.length-1])?void 0:r.replace(/\s/g,"").length);){var r;e.pop()}const i=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>{var e,n;return null!=(e=null==(n=t.match(/^\s*/))||null==(n=n[0])?void 0:n.length)?e:0})),a=Math.min(...i);return e.map((t=>t.slice(a))).join("\n")}n.d(e,{p:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/0242a13a.026749cf.js b/assets/js/0242a13a.026749cf.js new file mode 100644 index 000000000..5183b3ab6 --- /dev/null +++ b/assets/js/0242a13a.026749cf.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[1140],{820:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>o,contentTitle:()=>i,default:()=>c,frontMatter:()=>s,metadata:()=>l,toc:()=>p});var a=n(17624),r=n(4552);const s={id:"blocks-styles",title:"Styles"},i=void 0,l={id:"legacy/v7/basics/blocks-styles",title:"Styles",description:"docs-source",source:"@site/docs/legacy/v7/basics/blocks-styles.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/blocks-styles",permalink:"/docs/legacy/v7/basics/blocks-styles",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-styles",title:"Styles"},sidebar:"docs",previous:{title:"Reusable Blocks",permalink:"/docs/legacy/v7/basics/blocks-reusable"},next:{title:"Storybook",permalink:"/docs/legacy/v7/basics/blocks-storybook"}},o={},p=[{value:"Setup",id:"setup",level:2},{value:"Details",id:"details",level:2},{value:"Global variables",id:"global-variables",level:2},{value:"Variables",id:"variables",level:2},{value:"Default type",id:"default-type",level:2},{value:"Value type",id:"value-type",level:2},{value:"Editor variables",id:"editor-variables",level:2},{value:"Manual variables",id:"manual-variables",level:2},{value:"Manual variables inside the Block editor",id:"manual-variables-inside-the-block-editor",level:2},{value:"Additional options and examples",id:"additional-options-and-examples",level:2},{value:"Color",id:"color",level:3},{value:"Responsive",id:"responsive",level:3},{value:"Responsive Inverse",id:"responsive-inverse",level:3},{value:"Attribute value replacement",id:"attribute-value-replacement",level:3},{value:"Responsive variables",id:"responsive-variables",level:2}];function d(t){const e={a:"a",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",strong:"strong",...(0,r.M)(),...t.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(e.p,{children:(0,a.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/",children:(0,a.jsx)(e.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,a.jsx)(e.p,{children:"We decided to remove all support for IE 11. That decision opened up doors that lead to new, awesome features and all the cool stuff. One of those features is CSS variables with block manifest and global settings."}),"\n",(0,a.jsx)(e.p,{children:"Let's dig into the implementation of CSS variables in your project."}),"\n",(0,a.jsx)(e.h2,{id:"setup",children:"Setup"}),"\n",(0,a.jsxs)(e.p,{children:["To be able to use CSS variables you need to implement two helpers in your blocks/components: ",(0,a.jsx)(e.code,{children:"outputCssVariables"})," and ",(0,a.jsx)(e.code,{children:"getUnique"}),". For more details on these helpers, you can read ",(0,a.jsx)(e.a,{href:"helpers-javascript",children:"here"}),"."]}),"\n",(0,a.jsx)(e.p,{children:"There are a few differences between the JavaScript and PHP implementation due to a way React handles component re-rendering."}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"JavaScript component:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-js",children:"import React, { useMemo } from 'react';\nimport { outputCssVariables, getUnique } from '@eightshift/frontend-libs/scripts';\nimport manifest from '../manifest.json';\nimport globalManifest from './../../../manifest.json';\n\nexport const TypographyEditor = (attributes) => {\n\n\t// We need to use memo in order to optimise component re-rendering.\n\tconst unique = useMemo(() => getUnique(), []);\n\n\treturn (\n\t\t<>\n\t\t\t{outputCssVariables(attributes, manifest, unique, globalManifest)}\n\n\t\t\t
\n\t\t\t\t{/*Regular component implementation*/}\n\t\t\t
\n\t\t\n\t);\n};\n"})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"PHP view:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-php",children:'use EightshiftLibs\\Helpers\\Components;\n\n$globalManifest = Components::getManifest(dirname(__DIR__, 2));\n$manifest = Components::getManifest(__DIR__);\n\n$unique = Components::getUnique();\n\n?>\n\n
\n\t\n\t// Regular component implementation\n
\n'})}),"\n",(0,a.jsx)(e.p,{children:"Now that we have helpers in place, let's see how they work and what features they offer."}),"\n",(0,a.jsx)(e.h2,{id:"details",children:"Details"}),"\n",(0,a.jsxs)(e.p,{children:["CSS variables helper consists of 2 helpers. ",(0,a.jsx)(e.code,{children:"outputCssVariables"})," helper will output all CSS variables set in your blocks/component manifest and ",(0,a.jsx)(e.code,{children:"getUnique"})," helper will make sure that variables are applied only to the exact block/component."]}),"\n",(0,a.jsx)(e.p,{children:"If you check your rendered website you can see that you have something like this:"}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-html",children:'
\n\t\n\t...\n
\n'})}),"\n",(0,a.jsx)(e.p,{children:"This is all that's required for the magic of CSS variables to work! Now let's see it in action and check out all additional features you can use."}),"\n",(0,a.jsx)(e.h2,{id:"global-variables",children:"Global variables"}),"\n",(0,a.jsxs)(e.p,{children:["Now that we know how CSS variables are generated, we have one more helper to describe.\nThe ",(0,a.jsx)(e.code,{children:"outputCssVariablesGlobal(globalSettings);"})," helper is called in the ",(0,a.jsx)(e.code,{children:"application-blocks-editor.js"})," file. It is used to output all CSS variables from the global manifest under the ",(0,a.jsx)(e.code,{children:"globalVariables"})," key, into the ",(0,a.jsx)(e.code,{children:":root"})," selector."]}),"\n",(0,a.jsxs)(e.blockquote,{children:["\n",(0,a.jsx)(e.p,{children:"All of these variables are available to use inside any blocks/components."}),"\n"]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Global Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"namespace": "eightshift-boilerplate",\n\t"background": "#D8262C",\n\t"foreground": "#FFFFFF",\n\t"globalVariables": {\n\t\t"customBlocksName": "eightshift-block",\n\t\t"maxCols": 12,\n\t\t"breakpoints": {\n\t\t\t"mobile": 479,\n\t\t\t"tablet": 1279,\n\t\t\t"desktop": 1919,\n\t\t\t"large": 1920\n\t\t},\n\t\t"containers": {\n\t\t\t"default": "1330px"\n\t\t},\n\t\t"gutters": {\n\t\t\t"none": "0",\n\t\t\t"default": "25px",\n\t\t\t"big": "50px"\n\t\t},\n\t\t"sectionSpacing": {\n\t\t\t"min": -300,\n\t\t\t"max": 300,\n\t\t\t"step": 10\n\t\t},\n\t\t"sectionInSpacing": {\n\t\t\t"min": 0,\n\t\t\t"max": 300,\n\t\t\t"step": 10\n\t\t},\n\t\t"colors": [\n\t\t\t{\n\t\t\t\t"name": "Black",\n\t\t\t\t"slug": "black",\n\t\t\t\t"color": "#111111"\n\t\t\t},\n\t\t\t{\n\t\t\t\t"name": "White",\n\t\t\t\t"slug": "white",\n\t\t\t\t"color": "#FFFFFF"\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-html",children:"\n"})}),"\n",(0,a.jsx)(e.p,{children:"You can use a global variable like any other CSS variable:"}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"color: var(--global-colors-white);\n"})}),"\n",(0,a.jsx)(e.h2,{id:"variables",children:"Variables"}),"\n",(0,a.jsx)(e.p,{children:"As we said in the beginning, all CSS variables are defined within the block/component manifest."}),"\n",(0,a.jsxs)(e.p,{children:["To output an attribute as a CSS variable, you need to set the ",(0,a.jsx)(e.code,{children:"variables"})," key in the block/component ",(0,a.jsx)(e.code,{children:"manifest"})," and define the variable markdown."]}),"\n",(0,a.jsx)(e.p,{children:"All css variables are prepared and ready to be used in the responsive manner."}),"\n",(0,a.jsx)(e.h2,{id:"default-type",children:"Default type"}),"\n",(0,a.jsxs)(e.p,{children:["Variable ",(0,a.jsx)(e.code,{children:"default"})," will output all variables from the list no matter what you have selected in the attribute. You can use unlimited variables."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographySize": {\n\t\t\t"type": "string",\n\t\t\t"default": "120-default"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographySize": [\n\t\t\t{\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "120px",\n\t\t\t\t\t"typography-line-height": "calc(var(--typography-size) * 1.2)"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--typography-size: 120px;\n--typography-line-height: 144px;\n"})}),"\n",(0,a.jsx)(e.h2,{id:"value-type",children:"Value type"}),"\n",(0,a.jsxs)(e.p,{children:["Variable ",(0,a.jsx)(e.code,{children:"value"})," will output all variables depending on attributes value. Everything else is the same as in the default type."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographySize": {\n\t\t\t"type": "string",\n\t\t\t"default": "120-default"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographySize": {\n\t\t\t"120-default": [\n\t\t\t\t{\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"typography-size": "120px",\n\t\t\t\t\t\t"typography-line-height": "calc(var(--typography-size) * 1.2)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--typography-size: 120px;\n--typography-line-height: 144px;\n"})}),"\n",(0,a.jsx)(e.h2,{id:"editor-variables",children:"Editor variables"}),"\n",(0,a.jsxs)(e.p,{children:["Editor variables behave just like regular ",(0,a.jsx)(e.code,{children:"variables"}),", except they are output only inside the Block Editor.\nThey are mostly used for overriding specific behaviour, e.g. showing a hidden element as half-transparent instead of hiding it completely."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentName": "wrapper",\n\t"title": "Wrapper",\n\t"componentClass": "wrapper",\n\t"attributes": {\n\t\t"wrapperHide": {\n\t\t\t"type": "boolean",\n\t\t\t"default": false\n\t\t}\n\t},\n\t"variables": {\n\t\t"wrapperHide": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t}\n\t},\n\t"variablesEditor": {\n\t\t"wrapperHide": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display-opacity": "0.5",\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--wrapper-display: none;\n--wrapper-display-opacity: 0.5;\n--wrapper-display: var(--wrapper-display-type, grid);\n"})}),"\n",(0,a.jsx)(e.h2,{id:"manual-variables",children:"Manual variables"}),"\n",(0,a.jsxs)(e.p,{children:["Custom CSS variables can be generated and output independently from all the attributes through the ",(0,a.jsx)(e.code,{children:"variablesCustom"})," key. Add it inside the manifest (top level) and add each variable as an array item.\nManual variables will be added at the end of the output."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"attributes": {\n\t\t// ...\n\t},\n\t"variablesCustom": [\n\t\t"--variable1: test1",\n\t\t"--variable2: test2",\n\t\t"--variable3: test3"\n\t]\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--variable1: test1;\n--variable2: test2;\n--variable3: test3;\n"})}),"\n",(0,a.jsx)(e.h2,{id:"manual-variables-inside-the-block-editor",children:"Manual variables inside the Block editor"}),"\n",(0,a.jsxs)(e.p,{children:["If you want to add manual variables that only apply inside the Block editor you can use the ",(0,a.jsx)(e.code,{children:"variablesCustomEditor"})," key. Everything works the same as described in the ",(0,a.jsx)(e.strong,{children:"Manual variables"})," section.\nIf you define both ",(0,a.jsx)(e.code,{children:"variablesCustomEditor"})," and ",(0,a.jsx)(e.code,{children:"variables"}),", both will be output in the editor, but only ",(0,a.jsx)(e.code,{children:"variables"})," will be output on the frontend."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"attributes": {\n\t\t// ...\n\t},\n\t"variablesCustomEditor": [\n\t\t"--variable1: test1",\n\t\t"--variable2: test2",\n\t\t"--variable3: test3"\n\t]\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--variable1: test1;\n--variable2: test2;\n--variable3: test3;\n"})}),"\n",(0,a.jsx)(e.h2,{id:"additional-options-and-examples",children:"Additional options and examples"}),"\n",(0,a.jsx)(e.h3,{id:"color",children:"Color"}),"\n",(0,a.jsx)(e.p,{children:"Here is an example how to output global variable as a css variable."}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographyColor": {\n\t\t\t"type": "string",\n\t\t\t"default": "white"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographyColor": [\n\t\t\t{\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-color": "var(--global-colors-white)"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--typography-color: var(--global-colors-white);\n"})}),"\n",(0,a.jsx)(e.h3,{id:"responsive",children:"Responsive"}),"\n",(0,a.jsx)(e.p,{children:"All variables are prepared to be responsive. If you set multiple keys in the manifest list that variable will be outputted in the correct media query. Breakpoints are taken from the global manifest and the order of the output breakpoints."}),"\n",(0,a.jsxs)(e.blockquote,{children:["\n",(0,a.jsx)(e.p,{children:"Global breakpoints must follow the convention from the smallest size to the largest."}),"\n"]}),"\n",(0,a.jsx)(e.p,{children:"If you don't specify breakpoint key, that item will not be wrapped in the media query."}),"\n",(0,a.jsx)(e.p,{children:"If you write breakpoint that isn't defined in the global manifest, that condition will be ignored."}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographySize": {\n\t\t\t"type": "string",\n\t\t\t"default": "120-default"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographySize": [\n\t\t\t{\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "30px"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t"breakpoint": "tablet",\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "80px"\n\t\t\t\t}\n\t\t\t}\n\t\t\t{\n\t\t\t\t"breakpoint": "large",\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "120px"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:".typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t--typography-size: 30px;\n}\n\n@media(min-width: 1279px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 80px;\n\t}\n}\n\n@media(min-width: 1920px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 120px;\n\t}\n}\n"})}),"\n",(0,a.jsx)(e.h3,{id:"responsive-inverse",children:"Responsive Inverse"}),"\n",(0,a.jsxs)(e.p,{children:["By default, we use mobile first approach but if you need desktop first you can use ",(0,a.jsx)(e.code,{children:"inverse: true"})," key."]}),"\n",(0,a.jsxs)(e.blockquote,{children:["\n",(0,a.jsx)(e.p,{children:"If you have multiple mobile/desktop first breakpoints, output will sort them mobile first and then desktop first after that."}),"\n"]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographySize": {\n\t\t\t"type": "string",\n\t\t\t"default": "120-default"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographySize": [\n\t\t\t{\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "120px"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t"breakpoint": "tablet",\n\t\t\t\t"inverse": true,\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "80px"\n\t\t\t\t}\n\t\t\t}\n\t\t\t{\n\t\t\t\t"breakpoint": "mobile",\n\t\t\t\t"inverse": true,\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "320px"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:".typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t--typography-size: 120px;\n}\n\n@media(max-width: 1279px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 80px;\n\t}\n}\n\n@media(max-width: 479px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 30px;\n\t}\n}\n"})}),"\n",(0,a.jsx)(e.h3,{id:"attribute-value-replacement",children:"Attribute value replacement"}),"\n",(0,a.jsxs)(e.p,{children:["Attribute value replacement variable is used to return the attribute value where you want it in the css variables. To use it just put ",(0,a.jsx)(e.code,{children:"%value%"})," in you css variables."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographySize": {\n\t\t\t"type": "string",\n\t\t\t"default": "120"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographySize": [\n\t\t\t{\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "30px"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t"breakpoint": "tablet",\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "80px"\n\t\t\t\t}\n\t\t\t}\n\t\t\t{\n\t\t\t\t"breakpoint": "large",\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "%value%px"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:".typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t--typography-size: 30px;\n}\n\n@media(min-width: 1279px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 80px;\n\t}\n}\n\n@media(min-width: 1920px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 120px;\n\t}\n}\n"})}),"\n",(0,a.jsx)(e.h2,{id:"responsive-variables",children:"Responsive variables"}),"\n",(0,a.jsxs)(e.p,{children:["Responsive variables are used for eliminating unnecessary code duplication. For example, if you have 4 separate attributes used for setting a responsive variable where all the attributes have the same output (e.g. ",(0,a.jsx)(e.code,{children:"%value%"}),"), the variables can get cluttered rather quickly."]}),"\n",(0,a.jsxs)(e.p,{children:["In a top-level manifest key ",(0,a.jsx)(e.code,{children:"responsiveAttributes"}),", you can place a new key (e.g. ",(0,a.jsx)(e.code,{children:"wrapperHide"}),") that represents a common key for your responsive variables. Inside of it, you can list your responsive variables (e.g. ",(0,a.jsx)(e.code,{children:"wrapperHideLarge"}),", ",(0,a.jsx)(e.code,{children:"wrapperHideDesktop"}),", ",(0,a.jsx)(e.code,{children:"wrapperHideTablet"}),", ",(0,a.jsx)(e.code,{children:"wrapperHideMobile"}),") as a key-value pair. The key represents a breakpoint name, and the value represents responsive variable(",(0,a.jsx)(e.code,{children:"breakpoint"}),": ",(0,a.jsx)(e.code,{children:"responsiveVariableName"}),"). Afterwards, you can add that common key inside the ",(0,a.jsx)(e.code,{children:"variables"})," (and/or ",(0,a.jsx)(e.code,{children:"variablesEditor"}),") key and configure the output template."]}),"\n",(0,a.jsxs)(e.p,{children:["Best practice is to have the attributes named consistently with your breakpoints - in the ",(0,a.jsx)(e.strong,{children:(0,a.jsx)(e.code,{children:"variableName``breakpointName"})})," format (see example below)."]}),"\n",(0,a.jsxs)(e.blockquote,{children:["\n",(0,a.jsxs)(e.p,{children:["If you need an extra variable, or are overriding some of the auto-generated variables (from the helper), the variables will be output after the responsive variables. (see ",(0,a.jsx)(e.strong,{children:"Example 2"}),")"]}),"\n"]}),"\n",(0,a.jsxs)(e.blockquote,{children:["\n",(0,a.jsxs)(e.p,{children:["Order of responsive attributes is important since generating variables relies on that order. Make sure to use the ",(0,a.jsx)(e.code,{children:"inverse"})," option properly."]}),"\n"]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Example 1"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentName": "wrapper",\n\t"title": "Wrapper",\n\t"componentClass": "wrapper",\n\t"attributes": {\n\t\t"wrapperHideLarge": {\n\t\t\t"type": "boolean",\n\t\t\t"default": false\n\t\t},\n\t\t"wrapperHideDesktop": {\n\t\t\t"type": "boolean"\n\t\t},\n\t\t"wrapperHideTablet": {\n\t\t\t"type": "boolean"\n\t\t}\n\t},\n\t"responsiveAttributes": {\n\t\t"wrapperHide": {\n\t\t\t"large": "wrapperHideLarge",\n\t\t\t"desktop": "wrapperHideDesktop",\n\t\t\t"tablet": "wrapperHideTablet"\n\t\t}\n\t},\n\t"variables": {\n\t\t"wrapperHide": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t\t"false": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Transformed:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentName": "wrapper",\n\t"title": "Wrapper",\n\t"componentClass": "wrapper",\n\t"attributes": {\n\t\t"wrapperHide": {\n\t\t\t"type": "boolean",\n\t\t\t"default": false\n\t\t}\n\t},\n\t"responsiveAttributes": {\n\t\t"wrapperHideLarge": {\n\t\t\t"type": "boolean",\n\t\t\t"default": false\n\t\t},\n\t\t"wrapperHideDesktop": {\n\t\t\t"type": "boolean"\n\t\t},\n\t\t"wrapperHideTablet": {\n\t\t\t"type": "boolean"\n\t\t}\n\t},\n\t"variables": {\n\t\t"wrapperHideLarge": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t\t"false": [\n\t\t\t\t{\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t"wrapperHideDesktop": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"breakpoint": "desktop",\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t\t"false": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"breakpoint": "desktop",\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t"wrapperHideTablet": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"breakpoint": "desktop",\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t\t"false": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"breakpoint": "desktop",\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:".wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t--wrapper-display: var(--wrapper-display-type, grid);\n}\n@media(max-width: 1920px) {\n\t.wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--wrapper-display: none;\n\t}\n}\n@media(max-width: 1279px) {\n\t.wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--wrapper-display: var(--wrapper-display-type, grid);\n\t}\n}\n\n"})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Example 2"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentName": "wrapper",\n\t"title": "Wrapper",\n\t"componentClass": "wrapper",\n\t"attributes": {\n\t\t"wrapperHideLarge": {\n\t\t\t"type": "boolean",\n\t\t\t"default": false\n\t\t},\n\t\t"wrapperHideDesktop": {\n\t\t\t"type": "boolean"\n\t\t},\n\t\t"wrapperHideTablet": {\n\t\t\t"type": "boolean"\n\t\t}\n\t},\n\t"responsiveAttributes": {\n\t\t"wrapperHide": {\n\t\t\t"large": "wrapperHideLarge",\n\t\t\t"desktop": "wrapperHideDesktop",\n\t\t\t"tablet": "wrapperHideTablet"\n\t\t}\n\t},\n\t"variables": {\n\t\t"wrapperHide": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t\t"false": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t"wrapperHideLarge": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "block",\n\t\t\t\t\t\t"wrapper-opacity": 0\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t}\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:".wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t--wrapper-display: none;\n\t--wrapper-display: block;\n\t--wrapper-opacity: 0;\n}\n\n"})})]})}function c(t={}){const{wrapper:e}={...(0,r.M)(),...t.components};return e?(0,a.jsx)(e,{...t,children:(0,a.jsx)(d,{...t})}):d(t)}},4552:(t,e,n)=>{n.d(e,{I:()=>l,M:()=>i});var a=n(11504);const r={},s=a.createContext(r);function i(t){const e=a.useContext(s);return a.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(r):t.components||r:i(t.components),a.createElement(s.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/0242a13a.9ccecec0.js b/assets/js/0242a13a.9ccecec0.js deleted file mode 100644 index 57d45577c..000000000 --- a/assets/js/0242a13a.9ccecec0.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[60299],{37556:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>o,contentTitle:()=>i,default:()=>c,frontMatter:()=>s,metadata:()=>l,toc:()=>p});var a=n(85893),r=n(11151);const s={id:"blocks-styles",title:"Styles"},i=void 0,l={id:"legacy/v7/basics/blocks-styles",title:"Styles",description:"docs-source",source:"@site/docs/legacy/v7/basics/blocks-styles.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/blocks-styles",permalink:"/docs/legacy/v7/basics/blocks-styles",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-styles",title:"Styles"},sidebar:"docs",previous:{title:"Reusable Blocks",permalink:"/docs/legacy/v7/basics/blocks-reusable"},next:{title:"Storybook",permalink:"/docs/legacy/v7/basics/blocks-storybook"}},o={},p=[{value:"Setup",id:"setup",level:2},{value:"Details",id:"details",level:2},{value:"Global variables",id:"global-variables",level:2},{value:"Variables",id:"variables",level:2},{value:"Default type",id:"default-type",level:2},{value:"Value type",id:"value-type",level:2},{value:"Editor variables",id:"editor-variables",level:2},{value:"Manual variables",id:"manual-variables",level:2},{value:"Manual variables inside the Block editor",id:"manual-variables-inside-the-block-editor",level:2},{value:"Additional options and examples",id:"additional-options-and-examples",level:2},{value:"Color",id:"color",level:3},{value:"Responsive",id:"responsive",level:3},{value:"Responsive Inverse",id:"responsive-inverse",level:3},{value:"Attribute value replacement",id:"attribute-value-replacement",level:3},{value:"Responsive variables",id:"responsive-variables",level:2}];function d(t){const e={a:"a",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",strong:"strong",...(0,r.a)(),...t.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(e.p,{children:(0,a.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/",children:(0,a.jsx)(e.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,a.jsx)(e.p,{children:"We decided to remove all support for IE 11. That decision opened up doors that lead to new, awesome features and all the cool stuff. One of those features is CSS variables with block manifest and global settings."}),"\n",(0,a.jsx)(e.p,{children:"Let's dig into the implementation of CSS variables in your project."}),"\n",(0,a.jsx)(e.h2,{id:"setup",children:"Setup"}),"\n",(0,a.jsxs)(e.p,{children:["To be able to use CSS variables you need to implement two helpers in your blocks/components: ",(0,a.jsx)(e.code,{children:"outputCssVariables"})," and ",(0,a.jsx)(e.code,{children:"getUnique"}),". For more details on these helpers, you can read ",(0,a.jsx)(e.a,{href:"helpers-javascript",children:"here"}),"."]}),"\n",(0,a.jsx)(e.p,{children:"There are a few differences between the JavaScript and PHP implementation due to a way React handles component re-rendering."}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"JavaScript component:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-js",children:"import React, { useMemo } from 'react';\nimport { outputCssVariables, getUnique } from '@eightshift/frontend-libs/scripts';\nimport manifest from '../manifest.json';\nimport globalManifest from './../../../manifest.json';\n\nexport const TypographyEditor = (attributes) => {\n\n\t// We need to use memo in order to optimise component re-rendering.\n\tconst unique = useMemo(() => getUnique(), []);\n\n\treturn (\n\t\t<>\n\t\t\t{outputCssVariables(attributes, manifest, unique, globalManifest)}\n\n\t\t\t
\n\t\t\t\t{/*Regular component implementation*/}\n\t\t\t
\n\t\t\n\t);\n};\n"})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"PHP view:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-php",children:'use EightshiftLibs\\Helpers\\Components;\n\n$globalManifest = Components::getManifest(dirname(__DIR__, 2));\n$manifest = Components::getManifest(__DIR__);\n\n$unique = Components::getUnique();\n\n?>\n\n
\n\t\n\t// Regular component implementation\n
\n'})}),"\n",(0,a.jsx)(e.p,{children:"Now that we have helpers in place, let's see how they work and what features they offer."}),"\n",(0,a.jsx)(e.h2,{id:"details",children:"Details"}),"\n",(0,a.jsxs)(e.p,{children:["CSS variables helper consists of 2 helpers. ",(0,a.jsx)(e.code,{children:"outputCssVariables"})," helper will output all CSS variables set in your blocks/component manifest and ",(0,a.jsx)(e.code,{children:"getUnique"})," helper will make sure that variables are applied only to the exact block/component."]}),"\n",(0,a.jsx)(e.p,{children:"If you check your rendered website you can see that you have something like this:"}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-html",children:'
\n\t\n\t...\n
\n'})}),"\n",(0,a.jsx)(e.p,{children:"This is all that's required for the magic of CSS variables to work! Now let's see it in action and check out all additional features you can use."}),"\n",(0,a.jsx)(e.h2,{id:"global-variables",children:"Global variables"}),"\n",(0,a.jsxs)(e.p,{children:["Now that we know how CSS variables are generated, we have one more helper to describe.\nThe ",(0,a.jsx)(e.code,{children:"outputCssVariablesGlobal(globalSettings);"})," helper is called in the ",(0,a.jsx)(e.code,{children:"application-blocks-editor.js"})," file. It is used to output all CSS variables from the global manifest under the ",(0,a.jsx)(e.code,{children:"globalVariables"})," key, into the ",(0,a.jsx)(e.code,{children:":root"})," selector."]}),"\n",(0,a.jsxs)(e.blockquote,{children:["\n",(0,a.jsx)(e.p,{children:"All of these variables are available to use inside any blocks/components."}),"\n"]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Global Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"namespace": "eightshift-boilerplate",\n\t"background": "#D8262C",\n\t"foreground": "#FFFFFF",\n\t"globalVariables": {\n\t\t"customBlocksName": "eightshift-block",\n\t\t"maxCols": 12,\n\t\t"breakpoints": {\n\t\t\t"mobile": 479,\n\t\t\t"tablet": 1279,\n\t\t\t"desktop": 1919,\n\t\t\t"large": 1920\n\t\t},\n\t\t"containers": {\n\t\t\t"default": "1330px"\n\t\t},\n\t\t"gutters": {\n\t\t\t"none": "0",\n\t\t\t"default": "25px",\n\t\t\t"big": "50px"\n\t\t},\n\t\t"sectionSpacing": {\n\t\t\t"min": -300,\n\t\t\t"max": 300,\n\t\t\t"step": 10\n\t\t},\n\t\t"sectionInSpacing": {\n\t\t\t"min": 0,\n\t\t\t"max": 300,\n\t\t\t"step": 10\n\t\t},\n\t\t"colors": [\n\t\t\t{\n\t\t\t\t"name": "Black",\n\t\t\t\t"slug": "black",\n\t\t\t\t"color": "#111111"\n\t\t\t},\n\t\t\t{\n\t\t\t\t"name": "White",\n\t\t\t\t"slug": "white",\n\t\t\t\t"color": "#FFFFFF"\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-html",children:"\n"})}),"\n",(0,a.jsx)(e.p,{children:"You can use a global variable like any other CSS variable:"}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"color: var(--global-colors-white);\n"})}),"\n",(0,a.jsx)(e.h2,{id:"variables",children:"Variables"}),"\n",(0,a.jsx)(e.p,{children:"As we said in the beginning, all CSS variables are defined within the block/component manifest."}),"\n",(0,a.jsxs)(e.p,{children:["To output an attribute as a CSS variable, you need to set the ",(0,a.jsx)(e.code,{children:"variables"})," key in the block/component ",(0,a.jsx)(e.code,{children:"manifest"})," and define the variable markdown."]}),"\n",(0,a.jsx)(e.p,{children:"All css variables are prepared and ready to be used in the responsive manner."}),"\n",(0,a.jsx)(e.h2,{id:"default-type",children:"Default type"}),"\n",(0,a.jsxs)(e.p,{children:["Variable ",(0,a.jsx)(e.code,{children:"default"})," will output all variables from the list no matter what you have selected in the attribute. You can use unlimited variables."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographySize": {\n\t\t\t"type": "string",\n\t\t\t"default": "120-default"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographySize": [\n\t\t\t{\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "120px",\n\t\t\t\t\t"typography-line-height": "calc(var(--typography-size) * 1.2)"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--typography-size: 120px;\n--typography-line-height: 144px;\n"})}),"\n",(0,a.jsx)(e.h2,{id:"value-type",children:"Value type"}),"\n",(0,a.jsxs)(e.p,{children:["Variable ",(0,a.jsx)(e.code,{children:"value"})," will output all variables depending on attributes value. Everything else is the same as in the default type."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographySize": {\n\t\t\t"type": "string",\n\t\t\t"default": "120-default"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographySize": {\n\t\t\t"120-default": [\n\t\t\t\t{\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"typography-size": "120px",\n\t\t\t\t\t\t"typography-line-height": "calc(var(--typography-size) * 1.2)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--typography-size: 120px;\n--typography-line-height: 144px;\n"})}),"\n",(0,a.jsx)(e.h2,{id:"editor-variables",children:"Editor variables"}),"\n",(0,a.jsxs)(e.p,{children:["Editor variables behave just like regular ",(0,a.jsx)(e.code,{children:"variables"}),", except they are output only inside the Block Editor.\nThey are mostly used for overriding specific behaviour, e.g. showing a hidden element as half-transparent instead of hiding it completely."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentName": "wrapper",\n\t"title": "Wrapper",\n\t"componentClass": "wrapper",\n\t"attributes": {\n\t\t"wrapperHide": {\n\t\t\t"type": "boolean",\n\t\t\t"default": false\n\t\t}\n\t},\n\t"variables": {\n\t\t"wrapperHide": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t}\n\t},\n\t"variablesEditor": {\n\t\t"wrapperHide": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display-opacity": "0.5",\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--wrapper-display: none;\n--wrapper-display-opacity: 0.5;\n--wrapper-display: var(--wrapper-display-type, grid);\n"})}),"\n",(0,a.jsx)(e.h2,{id:"manual-variables",children:"Manual variables"}),"\n",(0,a.jsxs)(e.p,{children:["Custom CSS variables can be generated and output independently from all the attributes through the ",(0,a.jsx)(e.code,{children:"variablesCustom"})," key. Add it inside the manifest (top level) and add each variable as an array item.\nManual variables will be added at the end of the output."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"attributes": {\n\t\t// ...\n\t},\n\t"variablesCustom": [\n\t\t"--variable1: test1",\n\t\t"--variable2: test2",\n\t\t"--variable3: test3"\n\t]\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--variable1: test1;\n--variable2: test2;\n--variable3: test3;\n"})}),"\n",(0,a.jsx)(e.h2,{id:"manual-variables-inside-the-block-editor",children:"Manual variables inside the Block editor"}),"\n",(0,a.jsxs)(e.p,{children:["If you want to add manual variables that only apply inside the Block editor you can use the ",(0,a.jsx)(e.code,{children:"variablesCustomEditor"})," key. Everything works the same as described in the ",(0,a.jsx)(e.strong,{children:"Manual variables"})," section.\nIf you define both ",(0,a.jsx)(e.code,{children:"variablesCustomEditor"})," and ",(0,a.jsx)(e.code,{children:"variables"}),", both will be output in the editor, but only ",(0,a.jsx)(e.code,{children:"variables"})," will be output on the frontend."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"attributes": {\n\t\t// ...\n\t},\n\t"variablesCustomEditor": [\n\t\t"--variable1: test1",\n\t\t"--variable2: test2",\n\t\t"--variable3: test3"\n\t]\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--variable1: test1;\n--variable2: test2;\n--variable3: test3;\n"})}),"\n",(0,a.jsx)(e.h2,{id:"additional-options-and-examples",children:"Additional options and examples"}),"\n",(0,a.jsx)(e.h3,{id:"color",children:"Color"}),"\n",(0,a.jsx)(e.p,{children:"Here is an example how to output global variable as a css variable."}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographyColor": {\n\t\t\t"type": "string",\n\t\t\t"default": "white"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographyColor": [\n\t\t\t{\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-color": "var(--global-colors-white)"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--typography-color: var(--global-colors-white);\n"})}),"\n",(0,a.jsx)(e.h3,{id:"responsive",children:"Responsive"}),"\n",(0,a.jsx)(e.p,{children:"All variables are prepared to be responsive. If you set multiple keys in the manifest list that variable will be outputted in the correct media query. Breakpoints are taken from the global manifest and the order of the output breakpoints."}),"\n",(0,a.jsxs)(e.blockquote,{children:["\n",(0,a.jsx)(e.p,{children:"Global breakpoints must follow the convention from the smallest size to the largest."}),"\n"]}),"\n",(0,a.jsx)(e.p,{children:"If you don't specify breakpoint key, that item will not be wrapped in the media query."}),"\n",(0,a.jsx)(e.p,{children:"If you write breakpoint that isn't defined in the global manifest, that condition will be ignored."}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographySize": {\n\t\t\t"type": "string",\n\t\t\t"default": "120-default"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographySize": [\n\t\t\t{\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "30px"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t"breakpoint": "tablet",\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "80px"\n\t\t\t\t}\n\t\t\t}\n\t\t\t{\n\t\t\t\t"breakpoint": "large",\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "120px"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:".typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t--typography-size: 30px;\n}\n\n@media(min-width: 1279px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 80px;\n\t}\n}\n\n@media(min-width: 1920px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 120px;\n\t}\n}\n"})}),"\n",(0,a.jsx)(e.h3,{id:"responsive-inverse",children:"Responsive Inverse"}),"\n",(0,a.jsxs)(e.p,{children:["By default, we use mobile first approach but if you need desktop first you can use ",(0,a.jsx)(e.code,{children:"inverse: true"})," key."]}),"\n",(0,a.jsxs)(e.blockquote,{children:["\n",(0,a.jsx)(e.p,{children:"If you have multiple mobile/desktop first breakpoints, output will sort them mobile first and then desktop first after that."}),"\n"]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographySize": {\n\t\t\t"type": "string",\n\t\t\t"default": "120-default"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographySize": [\n\t\t\t{\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "120px"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t"breakpoint": "tablet",\n\t\t\t\t"inverse": true,\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "80px"\n\t\t\t\t}\n\t\t\t}\n\t\t\t{\n\t\t\t\t"breakpoint": "mobile",\n\t\t\t\t"inverse": true,\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "320px"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:".typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t--typography-size: 120px;\n}\n\n@media(max-width: 1279px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 80px;\n\t}\n}\n\n@media(max-width: 479px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 30px;\n\t}\n}\n"})}),"\n",(0,a.jsx)(e.h3,{id:"attribute-value-replacement",children:"Attribute value replacement"}),"\n",(0,a.jsxs)(e.p,{children:["Attribute value replacement variable is used to return the attribute value where you want it in the css variables. To use it just put ",(0,a.jsx)(e.code,{children:"%value%"})," in you css variables."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographySize": {\n\t\t\t"type": "string",\n\t\t\t"default": "120"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographySize": [\n\t\t\t{\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "30px"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t"breakpoint": "tablet",\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "80px"\n\t\t\t\t}\n\t\t\t}\n\t\t\t{\n\t\t\t\t"breakpoint": "large",\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "%value%px"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:".typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t--typography-size: 30px;\n}\n\n@media(min-width: 1279px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 80px;\n\t}\n}\n\n@media(min-width: 1920px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 120px;\n\t}\n}\n"})}),"\n",(0,a.jsx)(e.h2,{id:"responsive-variables",children:"Responsive variables"}),"\n",(0,a.jsxs)(e.p,{children:["Responsive variables are used for eliminating unnecessary code duplication. For example, if you have 4 separate attributes used for setting a responsive variable where all the attributes have the same output (e.g. ",(0,a.jsx)(e.code,{children:"%value%"}),"), the variables can get cluttered rather quickly."]}),"\n",(0,a.jsxs)(e.p,{children:["In a top-level manifest key ",(0,a.jsx)(e.code,{children:"responsiveAttributes"}),", you can place a new key (e.g. ",(0,a.jsx)(e.code,{children:"wrapperHide"}),") that represents a common key for your responsive variables. Inside of it, you can list your responsive variables (e.g. ",(0,a.jsx)(e.code,{children:"wrapperHideLarge"}),", ",(0,a.jsx)(e.code,{children:"wrapperHideDesktop"}),", ",(0,a.jsx)(e.code,{children:"wrapperHideTablet"}),", ",(0,a.jsx)(e.code,{children:"wrapperHideMobile"}),") as a key-value pair. The key represents a breakpoint name, and the value represents responsive variable(",(0,a.jsx)(e.code,{children:"breakpoint"}),": ",(0,a.jsx)(e.code,{children:"responsiveVariableName"}),"). Afterwards, you can add that common key inside the ",(0,a.jsx)(e.code,{children:"variables"})," (and/or ",(0,a.jsx)(e.code,{children:"variablesEditor"}),") key and configure the output template."]}),"\n",(0,a.jsxs)(e.p,{children:["Best practice is to have the attributes named consistently with your breakpoints - in the ",(0,a.jsx)(e.strong,{children:(0,a.jsx)(e.code,{children:"variableName``breakpointName"})})," format (see example below)."]}),"\n",(0,a.jsxs)(e.blockquote,{children:["\n",(0,a.jsxs)(e.p,{children:["If you need an extra variable, or are overriding some of the auto-generated variables (from the helper), the variables will be output after the responsive variables. (see ",(0,a.jsx)(e.strong,{children:"Example 2"}),")"]}),"\n"]}),"\n",(0,a.jsxs)(e.blockquote,{children:["\n",(0,a.jsxs)(e.p,{children:["Order of responsive attributes is important since generating variables relies on that order. Make sure to use the ",(0,a.jsx)(e.code,{children:"inverse"})," option properly."]}),"\n"]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Example 1"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentName": "wrapper",\n\t"title": "Wrapper",\n\t"componentClass": "wrapper",\n\t"attributes": {\n\t\t"wrapperHideLarge": {\n\t\t\t"type": "boolean",\n\t\t\t"default": false\n\t\t},\n\t\t"wrapperHideDesktop": {\n\t\t\t"type": "boolean"\n\t\t},\n\t\t"wrapperHideTablet": {\n\t\t\t"type": "boolean"\n\t\t}\n\t},\n\t"responsiveAttributes": {\n\t\t"wrapperHide": {\n\t\t\t"large": "wrapperHideLarge",\n\t\t\t"desktop": "wrapperHideDesktop",\n\t\t\t"tablet": "wrapperHideTablet"\n\t\t}\n\t},\n\t"variables": {\n\t\t"wrapperHide": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t\t"false": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Transformed:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentName": "wrapper",\n\t"title": "Wrapper",\n\t"componentClass": "wrapper",\n\t"attributes": {\n\t\t"wrapperHide": {\n\t\t\t"type": "boolean",\n\t\t\t"default": false\n\t\t}\n\t},\n\t"responsiveAttributes": {\n\t\t"wrapperHideLarge": {\n\t\t\t"type": "boolean",\n\t\t\t"default": false\n\t\t},\n\t\t"wrapperHideDesktop": {\n\t\t\t"type": "boolean"\n\t\t},\n\t\t"wrapperHideTablet": {\n\t\t\t"type": "boolean"\n\t\t}\n\t},\n\t"variables": {\n\t\t"wrapperHideLarge": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t\t"false": [\n\t\t\t\t{\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t"wrapperHideDesktop": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"breakpoint": "desktop",\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t\t"false": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"breakpoint": "desktop",\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t"wrapperHideTablet": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"breakpoint": "desktop",\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t\t"false": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"breakpoint": "desktop",\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:".wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t--wrapper-display: var(--wrapper-display-type, grid);\n}\n@media(max-width: 1920px) {\n\t.wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--wrapper-display: none;\n\t}\n}\n@media(max-width: 1279px) {\n\t.wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--wrapper-display: var(--wrapper-display-type, grid);\n\t}\n}\n\n"})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Example 2"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentName": "wrapper",\n\t"title": "Wrapper",\n\t"componentClass": "wrapper",\n\t"attributes": {\n\t\t"wrapperHideLarge": {\n\t\t\t"type": "boolean",\n\t\t\t"default": false\n\t\t},\n\t\t"wrapperHideDesktop": {\n\t\t\t"type": "boolean"\n\t\t},\n\t\t"wrapperHideTablet": {\n\t\t\t"type": "boolean"\n\t\t}\n\t},\n\t"responsiveAttributes": {\n\t\t"wrapperHide": {\n\t\t\t"large": "wrapperHideLarge",\n\t\t\t"desktop": "wrapperHideDesktop",\n\t\t\t"tablet": "wrapperHideTablet"\n\t\t}\n\t},\n\t"variables": {\n\t\t"wrapperHide": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t\t"false": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t"wrapperHideLarge": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "block",\n\t\t\t\t\t\t"wrapper-opacity": 0\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t}\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:".wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t--wrapper-display: none;\n\t--wrapper-display: block;\n\t--wrapper-opacity: 0;\n}\n\n"})})]})}function c(t={}){const{wrapper:e}={...(0,r.a)(),...t.components};return e?(0,a.jsx)(e,{...t,children:(0,a.jsx)(d,{...t})}):d(t)}},11151:(t,e,n)=>{n.d(e,{Z:()=>l,a:()=>i});var a=n(67294);const r={},s=a.createContext(r);function i(t){const e=a.useContext(s);return a.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(r):t.components||r:i(t.components),a.createElement(s.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/029c29d9.e2924cc7.js b/assets/js/029c29d9.e2924cc7.js deleted file mode 100644 index c2e2c1972..000000000 --- a/assets/js/029c29d9.e2924cc7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[28177],{4415:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>o,default:()=>p,frontMatter:()=>s,metadata:()=>l,toc:()=>f});var r=n(85893),i=n(11151),a=n(8122);const s={id:"greenhouse",title:"Greenhouse"},o=void 0,l={id:"php/filters/integrations/greenhouse",title:"Greenhouse",description:"",source:"@site/forms/php/filters/integrations/greenhouse.mdx",sourceDirName:"php/filters/integrations",slug:"/php/filters/integrations/greenhouse",permalink:"/forms/php/filters/integrations/greenhouse",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"greenhouse",title:"Greenhouse"},sidebar:"forms",previous:{title:"Goodbits",permalink:"/forms/php/filters/integrations/goodbits"},next:{title:"HubSpot",permalink:"/forms/php/filters/integrations/hubspot"}},d={},f=[];function m(t){return(0,r.jsx)(a.k,{name:"Greenhouse",filter:"greenhouse"})}function p(t={}){const{wrapper:e}={...(0,i.a)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(m,{...t})}):m()}},8122:(t,e,n)=>{n.d(e,{F:()=>o,k:()=>s});n(67294);var r=n(9286),i=n(61684),a=n(85893);function s(t){let{filter:e,onlyUse:n=["dataFilter","orderFilter","prePostIdFilter","prePostParamsFilter"]}=t;return(0,a.jsxs)(a.Fragment,{children:[n.includes("dataFilter")&&(0,a.jsx)(l,{filter:e}),n.includes("orderFilter")&&(0,a.jsx)(d,{filter:e}),n.includes("prePostIdFilter")&&(0,a.jsx)(f,{filter:e}),n.includes("prePostParamsFilter")&&(0,a.jsx)(m,{filter:e})]})}function o(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{children:"Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc."}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\tadd_filter('es_forms_block_"+e+"_additional_content', function(): string {\n\t\t\t\treturn '';\n\t\t\t})\n\t\t\t")})]})}function l(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Data filter"}),(0,a.jsx)("p",{children:"Allows modifying form field data before it's shown in the Block Editor or output on the frontend."}),(0,a.jsx)("p",{children:"Useful if, for example, you want to ensure that all fields fit into a 2-column layout."}),(0,a.jsx)("p",{children:"Overrides any Block Editor changes!"}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\tadd_filter('es_forms_integrations_"+e+'_data\', \'getIntegrationFilterData\', 10, 2);\n\n\t\t\t/**\n\t\t\t * Manipulate form fields data before it is sent to the Block Editor.\n\t\t\t *\n\t\t\t * @param array $data Form fields data.\n\t\t\t * @param string $formId Form ID.\n\t\t\t *\n\t\t\t * @return array\n\t\t\t */\n\t\t\tfunction getIntegrationFilterData(array $data, string $formId): array\n\t\t\t{\n\t\t\t\tforeach ($data as $index => $field) {\n\t\t\t\t\t$component = $field[\'component\'] ?? \'\';\n\n\t\t\t\t\tif (!$component) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t$name = $field["{$component}Name"] ?? \'\';\n\n\t\t\t\t\tif (!$name) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch ($name) {\n\t\t\t\t\t\tcase \'firstname\':\n\t\t\t\t\t\tcase \'lastname\':\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthMobile"] = 12;\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthLarge"] = 6;\n\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"] = array_merge(\n\t\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthMobile",\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthLarge",\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t')})]})}function d(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Order filter"}),(0,a.jsx)("p",{children:"Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor."}),(0,a.jsxs)("p",{children:["Not all fields need to have an order defined. For example, you may want to make sure ",(0,a.jsx)("code",{children:"firstname"}),", ",(0,a.jsx)("code",{children:"lastname"})," and ",(0,a.jsx)("code",{children:"email"})," are displayed first, but other fields follow their Block editor order."]}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_order', 'getIntegrationOrder');\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Forces form field order for the provided fields. For other fields, Block editor order is used.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationOrder(): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t'firstname',\n\t\t\t\t\t\t\t'lastname',\n\t\t\t\t\t\t\t'email',\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t")})]})}function f(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post ID filter"}),(0,a.jsx)("p",{children:"Allows updating item IDs sent to external integrations to which the form data is sent."}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_pre_post_id', 'getIntegrationPrePostId', 10, 3);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies integration item ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @param string $itemId Integration item ID.\n\t\t\t\t\t * @param array $params Params to be sent to the integration.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostId(string $itemId, array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn $itemId;\n\t\t\t\t\t}\n\t\t\t\t")})]})}function m(t){let{filter:e}=t,n="";if("mailer"===e)n="mailer system";else n="external integration";return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post parameters filter"}),(0,a.jsxs)("p",{children:["Allows modifying form field data before it's sent to ",n,". Useful if you want to make values derived from the sent data, or add new fields."]}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_pre_post_params', 'getIntegrationPrePostParams', 10, 2);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies form field data before it's sent to "+n+".\n\t\t\t\t\t *\n\t\t\t\t\t * @param array $params Array of params.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostParams(array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\t$formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? '';\n\n\t\t\t\t\t\tif ($formSubmissionPageLt) {\n\t\t\t\t\t\t\t$params['ib-submission-source'] = [\n\t\t\t\t\t\t\t\t'name' => 'ib-submission-source',\n\t\t\t\t\t\t\t\t'value' => $formSubmissionPageLt,\n\t\t\t\t\t\t\t\t'type' => 'text',\n\t\t\t\t\t\t\t\t'internalType' => '',\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn $params;\n\t\t\t\t\t}\n\t\t\t\t")})]})}},61684:(t,e,n)=>{function r(t){const e=t.split(/\n/g);for(;0===(null==(n=e[0])?void 0:n.replace(/\s/g,"").length);){var n;e.shift()}for(;0===(null==(r=e[e.length-1])?void 0:r.replace(/\s/g,"").length);){var r;e.pop()}const i=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>{var e,n;return null!=(e=null==(n=t.match(/^\s*/))||null==(n=n[0])?void 0:n.length)?e:0})),a=Math.min(...i);return e.map((t=>t.slice(a))).join("\n")}n.d(e,{p:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/029c29d9.e702fc5e.js b/assets/js/029c29d9.e702fc5e.js new file mode 100644 index 000000000..7e178e735 --- /dev/null +++ b/assets/js/029c29d9.e702fc5e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[83284],{82332:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>o,default:()=>c,frontMatter:()=>s,metadata:()=>l,toc:()=>f});var r=n(17624),i=n(4552),a=n(80148);const s={id:"greenhouse",title:"Greenhouse"},o=void 0,l={id:"php/filters/integrations/greenhouse",title:"Greenhouse",description:"",source:"@site/forms/php/filters/integrations/greenhouse.mdx",sourceDirName:"php/filters/integrations",slug:"/php/filters/integrations/greenhouse",permalink:"/forms/php/filters/integrations/greenhouse",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"greenhouse",title:"Greenhouse"},sidebar:"forms",previous:{title:"Goodbits",permalink:"/forms/php/filters/integrations/goodbits"},next:{title:"HubSpot",permalink:"/forms/php/filters/integrations/hubspot"}},d={},f=[];function m(t){return(0,r.jsx)(a.y,{name:"Greenhouse",filter:"greenhouse"})}function c(t={}){const{wrapper:e}={...(0,i.M)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(m,{...t})}):m()}},80148:(t,e,n)=>{n.d(e,{g:()=>o,y:()=>s});n(11504);var r=n(1608),i=n(96616),a=n(17624);function s(t){let{filter:e,onlyUse:n=["dataFilter","orderFilter","prePostIdFilter","prePostParamsFilter"]}=t;return(0,a.jsxs)(a.Fragment,{children:[n.includes("dataFilter")&&(0,a.jsx)(l,{filter:e}),n.includes("orderFilter")&&(0,a.jsx)(d,{filter:e}),n.includes("prePostIdFilter")&&(0,a.jsx)(f,{filter:e}),n.includes("prePostParamsFilter")&&(0,a.jsx)(m,{filter:e})]})}function o(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{children:"Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc."}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\tadd_filter('es_forms_block_${e}_additional_content', function(): string {\n\t\t\t\treturn '';\n\t\t\t})\n\t\t\t`)})]})}function l(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Data filter"}),(0,a.jsx)("p",{children:"Allows modifying form field data before it's shown in the Block Editor or output on the frontend."}),(0,a.jsx)("p",{children:"Useful if, for example, you want to ensure that all fields fit into a 2-column layout."}),(0,a.jsx)("p",{children:"Overrides any Block Editor changes!"}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\tadd_filter('es_forms_integrations_${e}_data', 'getIntegrationFilterData', 10, 2);\n\n\t\t\t/**\n\t\t\t * Manipulate form fields data before it is sent to the Block Editor.\n\t\t\t *\n\t\t\t * @param array $data Form fields data.\n\t\t\t * @param string $formId Form ID.\n\t\t\t *\n\t\t\t * @return array\n\t\t\t */\n\t\t\tfunction getIntegrationFilterData(array $data, string $formId): array\n\t\t\t{\n\t\t\t\tforeach ($data as $index => $field) {\n\t\t\t\t\t$component = $field['component'] ?? '';\n\n\t\t\t\t\tif (!$component) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t$name = $field["{$component}Name"] ?? '';\n\n\t\t\t\t\tif (!$name) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch ($name) {\n\t\t\t\t\t\tcase 'firstname':\n\t\t\t\t\t\tcase 'lastname':\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthMobile"] = 12;\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthLarge"] = 6;\n\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"] = array_merge(\n\t\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthMobile",\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthLarge",\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t`)})]})}function d(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Order filter"}),(0,a.jsx)("p",{children:"Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor."}),(0,a.jsxs)("p",{children:["Not all fields need to have an order defined. For example, you may want to make sure ",(0,a.jsx)("code",{children:"firstname"}),", ",(0,a.jsx)("code",{children:"lastname"})," and ",(0,a.jsx)("code",{children:"email"})," are displayed first, but other fields follow their Block editor order."]}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_order', 'getIntegrationOrder');\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Forces form field order for the provided fields. For other fields, Block editor order is used.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationOrder(): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t'firstname',\n\t\t\t\t\t\t\t'lastname',\n\t\t\t\t\t\t\t'email',\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t`)})]})}function f(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post ID filter"}),(0,a.jsx)("p",{children:"Allows updating item IDs sent to external integrations to which the form data is sent."}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_pre_post_id', 'getIntegrationPrePostId', 10, 3);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies integration item ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @param string $itemId Integration item ID.\n\t\t\t\t\t * @param array $params Params to be sent to the integration.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostId(string $itemId, array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn $itemId;\n\t\t\t\t\t}\n\t\t\t\t`)})]})}function m(t){let{filter:e}=t,n="";if("mailer"===e)n="mailer system";else n="external integration";return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post parameters filter"}),(0,a.jsxs)("p",{children:["Allows modifying form field data before it's sent to ",n,". Useful if you want to make values derived from the sent data, or add new fields."]}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_pre_post_params', 'getIntegrationPrePostParams', 10, 2);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies form field data before it's sent to ${n}.\n\t\t\t\t\t *\n\t\t\t\t\t * @param array $params Array of params.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostParams(array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\t$formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? '';\n\n\t\t\t\t\t\tif ($formSubmissionPageLt) {\n\t\t\t\t\t\t\t$params['ib-submission-source'] = [\n\t\t\t\t\t\t\t\t'name' => 'ib-submission-source',\n\t\t\t\t\t\t\t\t'value' => $formSubmissionPageLt,\n\t\t\t\t\t\t\t\t'type' => 'text',\n\t\t\t\t\t\t\t\t'internalType' => '',\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn $params;\n\t\t\t\t\t}\n\t\t\t\t`)})]})}},96616:(t,e,n)=>{function r(t){const e=t.split(/\n/g);for(;0===e[0]?.replace(/\s/g,"").length;)e.shift();for(;0===e[e.length-1]?.replace(/\s/g,"").length;)e.pop();const n=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>t.match(/^\s*/)?.[0]?.length??0)),r=Math.min(...n);return e.map((t=>t.slice(r))).join("\n")}n.d(e,{c:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/02b9869f.245fff2a.js b/assets/js/02b9869f.245fff2a.js new file mode 100644 index 000000000..4b28249b1 --- /dev/null +++ b/assets/js/02b9869f.245fff2a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[17384],{18020:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>d,frontMatter:()=>a,metadata:()=>r,toc:()=>c});var o=s(17624),n=s(4552);const a={id:"blocks-reusable",title:"Reusable Blocks"},i=void 0,r={id:"basics/blocks-reusable",title:"Reusable Blocks",description:"docs-source",source:"@site/docs/basics/blocks-reusable.md",sourceDirName:"basics",slug:"/basics/blocks-reusable",permalink:"/docs/basics/blocks-reusable",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-reusable",title:"Reusable Blocks"},sidebar:"docs",previous:{title:"Special Use Cases",permalink:"/docs/basics/blocks-special-use-cases"},next:{title:"Styles",permalink:"/docs/basics/blocks-styles"}},l={},c=[{value:"Register admin sidemenu",id:"register-admin-sidemenu",level:3},{value:"Use the reusable block as a partial",id:"use-the-reusable-block-as-a-partial",level:3}];function u(e){const t={a:"a",admonition:"admonition",code:"code",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,n.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,o.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(t.p,{children:"Block editor provides us with the reusable blocks out of the box. These blocks are a custom post type that holds blocks that you can call in your editor to reuse in multiple places. So if you change your reusable block that change will impact all places where this block is imported."}),"\n",(0,o.jsx)(t.h3,{id:"register-admin-sidemenu",children:"Register admin sidemenu"}),"\n",(0,o.jsx)(t.p,{children:"Reusable blocks can be accessed from the block editors options page but to help our editors, we like to add a new menu in the admin sidebar where you can easily access all your reusable blocks. If you use our custom blocks setup this sidebar menu will be added by default."}),"\n",(0,o.jsx)(t.h3,{id:"use-the-reusable-block-as-a-partial",children:"Use the reusable block as a partial"}),"\n",(0,o.jsx)(t.p,{children:"We also like to use a reusable block for website parts that were previously hardcoded in the theme and are not a part of the block editor. We like to use this footer of additional options in categories and terms."}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.strong,{children:"Here are the steps:"})}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"Create a new reusable block for your partial."}),"\n",(0,o.jsx)(t.li,{children:"Create a config where you can configure what reusable block are you going to use in your theme. We like to use ACF PRO and its option to create a theme options page."}),"\n",(0,o.jsx)(t.li,{children:"Call this option in your theme and output your block."}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:"The first two steps are easy enough, but here is an example for the third step:"}),"\n",(0,o.jsx)(t.p,{children:"footer.php"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-php",children:"// Check if the footer partial is set and use the contents of it.\n$footerPartialId = '1'; // here you provide your way to get the option set in the second step.\n\nif (!empty($footerPartialId)) {\n\t$footerBlocks = parse_blocks(get_the_content(null, null, $footerPartialId));\n\n\tforeach ($footerBlocks as $block) {\n\t\techo wp_kses_post(\\apply_filters('the_content', \\render_block($block)));\n\t}\n}\n"})}),"\n",(0,o.jsx)(t.admonition,{type:"note",children:(0,o.jsx)(t.p,{children:"Notes about reusable blocks, they're not native WP search friendly (as in the content you only have the WP block comment markup that there's a specific reusable block there). So if you use a lot of these in the content of a page / post, it might affect your search relevancy."})})]})}function d(e={}){const{wrapper:t}={...(0,n.M)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},4552:(e,t,s)=>{s.d(t,{I:()=>r,M:()=>i});var o=s(11504);const n={},a=o.createContext(n);function i(e){const t=o.useContext(a);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),o.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/02b9869f.a168b8ba.js b/assets/js/02b9869f.a168b8ba.js deleted file mode 100644 index f49a57e8c..000000000 --- a/assets/js/02b9869f.a168b8ba.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[52592],{20806:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>d,frontMatter:()=>n,metadata:()=>r,toc:()=>c});var o=s(85893),a=s(11151);const n={id:"blocks-reusable",title:"Reusable Blocks"},i=void 0,r={id:"basics/blocks-reusable",title:"Reusable Blocks",description:"docs-source",source:"@site/docs/basics/blocks-reusable.md",sourceDirName:"basics",slug:"/basics/blocks-reusable",permalink:"/docs/basics/blocks-reusable",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-reusable",title:"Reusable Blocks"},sidebar:"docs",previous:{title:"Special Use Cases",permalink:"/docs/basics/blocks-special-use-cases"},next:{title:"Styles",permalink:"/docs/basics/blocks-styles"}},l={},c=[{value:"Register admin sidemenu",id:"register-admin-sidemenu",level:3},{value:"Use the reusable block as a partial",id:"use-the-reusable-block-as-a-partial",level:3}];function u(e){const t={a:"a",admonition:"admonition",code:"code",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,o.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(t.p,{children:"Block editor provides us with the reusable blocks out of the box. These blocks are a custom post type that holds blocks that you can call in your editor to reuse in multiple places. So if you change your reusable block that change will impact all places where this block is imported."}),"\n",(0,o.jsx)(t.h3,{id:"register-admin-sidemenu",children:"Register admin sidemenu"}),"\n",(0,o.jsx)(t.p,{children:"Reusable blocks can be accessed from the block editors options page but to help our editors, we like to add a new menu in the admin sidebar where you can easily access all your reusable blocks. If you use our custom blocks setup this sidebar menu will be added by default."}),"\n",(0,o.jsx)(t.h3,{id:"use-the-reusable-block-as-a-partial",children:"Use the reusable block as a partial"}),"\n",(0,o.jsx)(t.p,{children:"We also like to use a reusable block for website parts that were previously hardcoded in the theme and are not a part of the block editor. We like to use this footer of additional options in categories and terms."}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.strong,{children:"Here are the steps:"})}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"Create a new reusable block for your partial."}),"\n",(0,o.jsx)(t.li,{children:"Create a config where you can configure what reusable block are you going to use in your theme. We like to use ACF PRO and its option to create a theme options page."}),"\n",(0,o.jsx)(t.li,{children:"Call this option in your theme and output your block."}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:"The first two steps are easy enough, but here is an example for the third step:"}),"\n",(0,o.jsx)(t.p,{children:"footer.php"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-php",children:"// Check if the footer partial is set and use the contents of it.\n$footerPartialId = '1'; // here you provide your way to get the option set in the second step.\n\nif (!empty($footerPartialId)) {\n\t$footerBlocks = parse_blocks(get_the_content(null, null, $footerPartialId));\n\n\tforeach ($footerBlocks as $block) {\n\t\techo wp_kses_post(\\apply_filters('the_content', \\render_block($block)));\n\t}\n}\n"})}),"\n",(0,o.jsx)(t.admonition,{type:"note",children:(0,o.jsx)(t.p,{children:"Notes about reusable blocks, they're not native WP search friendly (as in the content you only have the WP block comment markup that there's a specific reusable block there). So if you use a lot of these in the content of a page / post, it might affect your search relevancy."})})]})}function d(e={}){const{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},11151:(e,t,s)=>{s.d(t,{Z:()=>r,a:()=>i});var o=s(67294);const a={},n=o.createContext(a);function i(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(a):e.components||a:i(e.components),o.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/035d9dc3.edf959df.js b/assets/js/035d9dc3.edf959df.js new file mode 100644 index 000000000..05990ab5b --- /dev/null +++ b/assets/js/035d9dc3.edf959df.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[15792],{40304:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>u,frontMatter:()=>o,metadata:()=>d,toc:()=>l});var i=t(17624),s=t(4552);const o={id:"intro",title:"Intro"},r=void 0,d={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.",source:"@site/forms/addons/premium/computed-fields/intro.md",sourceDirName:"addons/premium/computed-fields",slug:"/addons/premium/computed-fields/intro",permalink:"/forms/addons/premium/computed-fields/intro",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"intro",title:"Intro"},sidebar:"forms",previous:{title:"Intro",permalink:"/forms/addons/premium/intro"},next:{title:"How to use?",permalink:"/forms/addons/premium/computed-fields/how-to-use"}},c={},l=[{value:"What are Computed Fields?",id:"what-are-computed-fields",level:2},{value:"Supported features and tokens",id:"supported-features-and-tokens",level:2},{value:"Notably missing or different",id:"notably-missing-or-different",level:2}];function a(e){const n={code:"code",em:"em",h2:"h2",li:"li",p:"p",ul:"ul",...(0,s.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:"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."}),"\n",(0,i.jsx)(n.h2,{id:"what-are-computed-fields",children:"What are Computed Fields?"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.em,{children:"Forms computed language"})," (FCL) is a subset of PHP designed to be safe to execute when the code entered is arbitrary user input, while allowing users to manipulate variables, use flow control features and run functions."]}),"\n",(0,i.jsxs)(n.p,{children:["It relies on ",(0,i.jsx)(n.code,{children:"@nikic/php-parser"})," to produce an abstract syntax tree, and implements a ",(0,i.jsx)(n.code,{children:"virtual machine"})," for evaluating a subset of PHP tokens in a safe manner in PHP."]}),"\n",(0,i.jsx)(n.h2,{id:"supported-features-and-tokens",children:"Supported features and tokens"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Basic variables (numeric, boolean and string types)"}),"\n",(0,i.jsx)(n.li,{children:"Fetching constants from PHP"}),"\n",(0,i.jsxs)(n.li,{children:["Arithmetic and logical operators (",(0,i.jsx)(n.code,{children:"+, -, /, *, !, &&, ||"}),")"]}),"\n",(0,i.jsxs)(n.li,{children:["Assignment operators (",(0,i.jsx)(n.code,{children:"+=, .= etc."}),")"]}),"\n",(0,i.jsxs)(n.li,{children:["Comparison operators (",(0,i.jsx)(n.code,{children:"<, <=, =="}),"), string concatenation"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"if/elseif/else"})," blocks"]}),"\n",(0,i.jsxs)(n.li,{children:["The ternary ",(0,i.jsx)(n.code,{children:"if ? then : else"})," operator"]}),"\n",(0,i.jsxs)(n.li,{children:["Unary plus and minus (e.g. ",(0,i.jsx)(n.code,{children:"-1, +1"})," are valid)"]}),"\n",(0,i.jsxs)(n.li,{children:["Function calls to FCL-provided functions (",(0,i.jsx)(n.code,{children:"currently"}),", ",(0,i.jsx)(n.code,{children:"countSelectedItems"}),", ",(0,i.jsx)(n.code,{children:"round"})," and ",(0,i.jsx)(n.code,{children:"isSelected"}),")"]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"notably-missing-or-different",children:"Notably missing or different"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Arrays can't be defined or manipulated with using FCL, apart from arrays that are defined during VM initialization (which can be counted and checked to see if an entry exists)"}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"++"}),", ",(0,i.jsx)(n.code,{children:"--"})," and ",(0,i.jsx)(n.code,{children:"==="})," operators"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"switch"})," and ",(0,i.jsx)(n.code,{children:"match"})," blocks"]}),"\n",(0,i.jsx)(n.li,{children:"User-defined functions"}),"\n",(0,i.jsx)(n.li,{children:"OOP and namespaces"}),"\n",(0,i.jsx)(n.li,{children:"References and unpacking"}),"\n",(0,i.jsxs)(n.li,{children:["Superglobals (",(0,i.jsx)(n.code,{children:"$_GET"})," etc.)"]}),"\n",(0,i.jsxs)(n.li,{children:["Output to ",(0,i.jsx)(n.code,{children:"stdout"}),", files etc. (you can not echo anything)"]}),"\n"]})]})}function u(e={}){const{wrapper:n}={...(0,s.M)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(a,{...e})}):a(e)}},4552:(e,n,t)=>{t.d(n,{I:()=>d,M:()=>r});var i=t(11504);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 d(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/035d9dc3.f45b0758.js b/assets/js/035d9dc3.f45b0758.js deleted file mode 100644 index bacbb146d..000000000 --- a/assets/js/035d9dc3.f45b0758.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[91799],{63203:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>u,frontMatter:()=>o,metadata:()=>d,toc:()=>a});var i=t(85893),s=t(11151);const o={id:"intro",title:"Intro"},r=void 0,d={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.",source:"@site/forms/addons/premium/computed-fields/intro.md",sourceDirName:"addons/premium/computed-fields",slug:"/addons/premium/computed-fields/intro",permalink:"/forms/addons/premium/computed-fields/intro",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"intro",title:"Intro"},sidebar:"forms",previous:{title:"Intro",permalink:"/forms/addons/premium/intro"},next:{title:"How to use?",permalink:"/forms/addons/premium/computed-fields/how-to-use"}},c={},a=[{value:"What are Computed Fields?",id:"what-are-computed-fields",level:2},{value:"Supported features and tokens",id:"supported-features-and-tokens",level:2},{value:"Notably missing or different",id:"notably-missing-or-different",level:2}];function l(e){const n={code:"code",em:"em",h2:"h2",li:"li",p:"p",ul:"ul",...(0,s.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:"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."}),"\n",(0,i.jsx)(n.h2,{id:"what-are-computed-fields",children:"What are Computed Fields?"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.em,{children:"Forms computed language"})," (FCL) is a subset of PHP designed to be safe to execute when the code entered is arbitrary user input, while allowing users to manipulate variables, use flow control features and run functions."]}),"\n",(0,i.jsxs)(n.p,{children:["It relies on ",(0,i.jsx)(n.code,{children:"@nikic/php-parser"})," to produce an abstract syntax tree, and implements a ",(0,i.jsx)(n.code,{children:"virtual machine"})," for evaluating a subset of PHP tokens in a safe manner in PHP."]}),"\n",(0,i.jsx)(n.h2,{id:"supported-features-and-tokens",children:"Supported features and tokens"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Basic variables (numeric, boolean and string types)"}),"\n",(0,i.jsx)(n.li,{children:"Fetching constants from PHP"}),"\n",(0,i.jsxs)(n.li,{children:["Arithmetic and logical operators (",(0,i.jsx)(n.code,{children:"+, -, /, *, !, &&, ||"}),")"]}),"\n",(0,i.jsxs)(n.li,{children:["Assignment operators (",(0,i.jsx)(n.code,{children:"+=, .= etc."}),")"]}),"\n",(0,i.jsxs)(n.li,{children:["Comparison operators (",(0,i.jsx)(n.code,{children:"<, <=, =="}),"), string concatenation"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"if/elseif/else"})," blocks"]}),"\n",(0,i.jsxs)(n.li,{children:["The ternary ",(0,i.jsx)(n.code,{children:"if ? then : else"})," operator"]}),"\n",(0,i.jsxs)(n.li,{children:["Unary plus and minus (e.g. ",(0,i.jsx)(n.code,{children:"-1, +1"})," are valid)"]}),"\n",(0,i.jsxs)(n.li,{children:["Function calls to FCL-provided functions (",(0,i.jsx)(n.code,{children:"currently"}),", ",(0,i.jsx)(n.code,{children:"countSelectedItems"}),", ",(0,i.jsx)(n.code,{children:"round"})," and ",(0,i.jsx)(n.code,{children:"isSelected"}),")"]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"notably-missing-or-different",children:"Notably missing or different"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Arrays can't be defined or manipulated with using FCL, apart from arrays that are defined during VM initialization (which can be counted and checked to see if an entry exists)"}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"++"}),", ",(0,i.jsx)(n.code,{children:"--"})," and ",(0,i.jsx)(n.code,{children:"==="})," operators"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"switch"})," and ",(0,i.jsx)(n.code,{children:"match"})," blocks"]}),"\n",(0,i.jsx)(n.li,{children:"User-defined functions"}),"\n",(0,i.jsx)(n.li,{children:"OOP and namespaces"}),"\n",(0,i.jsx)(n.li,{children:"References and unpacking"}),"\n",(0,i.jsxs)(n.li,{children:["Superglobals (",(0,i.jsx)(n.code,{children:"$_GET"})," etc.)"]}),"\n",(0,i.jsxs)(n.li,{children:["Output to ",(0,i.jsx)(n.code,{children:"stdout"}),", files etc. (you can not echo anything)"]}),"\n"]})]})}function u(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},11151:(e,n,t)=>{t.d(n,{Z:()=>d,a:()=>r});var i=t(67294);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 d(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/048a2137.bf72335e.js b/assets/js/048a2137.bf72335e.js new file mode 100644 index 000000000..edad965f5 --- /dev/null +++ b/assets/js/048a2137.bf72335e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[19640],{18064:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>s,default:()=>u,frontMatter:()=>r,metadata:()=>a,toc:()=>l});var i=t(17624),o=t(4552);const r={id:"webpack",title:"Webpack"},s=void 0,a={id:"basics/webpack",title:"Webpack",description:"docs-source",source:"@site/docs/basics/webpack.md",sourceDirName:"basics",slug:"/basics/webpack",permalink:"/docs/basics/webpack",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"webpack",title:"Webpack"},sidebar:"docs",previous:{title:"General",permalink:"/docs/basics/frontend"},next:{title:"SCSS Library",permalink:"/docs/basics/library"}},c={},l=[{value:"Override built-in functionality",id:"override-built-in-functionality",level:2},{value:"Add new custom functionality",id:"add-new-custom-functionality",level:2},{value:"Change the default config",id:"change-the-default-config",level:2},{value:"Add a new entrypoint",id:"add-a-new-entrypoint",level:2}];function d(e){const n={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",...(0,o.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs",children:(0,i.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsxs)(n.p,{children:["At its core, Webpack is a static module bundler for modern JavaScript applications. When Webpack processes your application, it builds an internal dependency graph that maps every module your project needs and generates one or more bundles. ",(0,i.jsx)(n.a,{href:"https://webpack.js.org/concepts/",children:"Learn more about Webpack"}),"."]}),"\n",(0,i.jsx)(n.p,{children:"To put it simply, Webpack takes your development files and creates a production-ready version of them based on the config."}),"\n",(0,i.jsxs)(n.p,{children:["Eightshift Development Kit comes with everything set up out of the box. In the root of your project, you will find a file called ",(0,i.jsx)(n.code,{children:"webpack.config.js"}),". If you open it, you will see that the configuration is pulled from the Eightshift Frontend Libs library."]}),"\n",(0,i.jsx)(n.p,{children:"You can remove this config and write everything from scratch (keep in mind that this is a lot of work), or you can use our config and extend/remove whatever you need."}),"\n",(0,i.jsx)(n.h2,{id:"override-built-in-functionality",children:"Override built-in functionality"}),"\n",(0,i.jsxs)(n.p,{children:["To remove built-in functionality, add a new array to the config called ",(0,i.jsx)(n.code,{children:"overrides"}),".\nIf you provide any of the ",(0,i.jsx)(n.code,{children:"overrides"})," keys, it will remove that config from the feature from the build."]}),"\n",(0,i.jsx)(n.p,{children:"You can't change our config; you can only remove it and make your own."}),"\n",(0,i.jsx)(n.p,{children:"Here is a list of all the features that we use and how to remove them."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"\nconst projectConfig = {\n config: {\n ... everything from default setup\n },\n overrides: [\n // Located in project.js\n 'application',\n 'applicationAdmin',\n 'applicationBlocks',\n 'applicationBlocksEditor',\n 'filename',\n\n // Located in base.js\n 'cleanWebpackPlugin',\n 'providePlugin',\n 'definePlugin',\n 'miniCssExtractPlugin',\n 'webpackManifestPlugin',\n 'dependencyExtractionWebpackPlugin',\n 'runtimeChunk',\n 'js',\n 'images',\n 'fonts',\n 'scss',\n\n // Located in development.js\n 'browserSyncPlugin',\n\n // Located in production.js\n 'terserPlugin',\n 'cssMinimizerPlugin',\n ],\n}\n"})}),"\n",(0,i.jsx)(n.h2,{id:"add-new-custom-functionality",children:"Add new custom functionality"}),"\n",(0,i.jsxs)(n.p,{children:["Let's say you want to add a custom ",(0,i.jsx)(n.code,{children:"html-webpack-plugin"})," to the build. You can simply use all the native ",(0,i.jsx)(n.a,{href:"https://webpack.js.org/guides/",children:"webpack features"}),", like in this example:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"const HtmlWebpackPlugin = require('html-webpack-plugin');\n\nmodule.exports = (env, argv) => {\n\n ...\n\n return {\n // Load all projects config from eightshift-frontend-libs.\n ...project,\n\n plugins: [\n // Load all plugins config from eightshift-frontend-libs.\n ...project.plugins,\n\n // Add your custom implementation.\n new HtmlWebpackPlugin(),\n ],\n };\n};\n"})}),"\n",(0,i.jsx)(n.h2,{id:"change-the-default-config",children:"Change the default config"}),"\n",(0,i.jsxs)(n.p,{children:["Let's say you want to change what we made and adjust it to your specific needs. In that case, you should remove our functionality by providing the ",(0,i.jsx)(n.code,{children:"overrides"})," array and create your implementation. For example:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"const BrowserSyncPlugin = require('browser-sync-webpack-plugin');\n\nmodule.exports = (env, argv) => {\n\n const projectConfig = {\n config: {\n // ... everything from default setup\n },\n overrides: [\n 'browserSyncPlugin', // this removes our configuration.\n ],\n };\n\n // Generate Webpack config for this project using options object.\n const project = require('./node_modules/@eightshift/frontend-libs/webpack')(argv.mode, projectConfig);\n\n return {\n // Load all projects config from eightshift-frontend-libs.\n ...project,\n\n plugins: [\n // Load all plugins config from eightshift-frontend-libs.\n ...project.plugins,\n\n // This provides your configuration.\n new BrowserSyncPlugin({\n host: 'localhost',\n port: 3000,\n https: true,\n }),\n ],\n };\n"})}),"\n",(0,i.jsx)(n.h2,{id:"add-a-new-entrypoint",children:"Add a new entrypoint"}),"\n",(0,i.jsxs)(n.p,{children:["Let's say you want to add a new, separate JS and/or CSS build for some specific functionality. This functionality may or may not have anything to do with your WordPress theme or plugin, but it needs to be in separate files. To do that you'd need to add a new entrypoint for Webpack to build in ",(0,i.jsx)(n.code,{children:"webpack.config.js"}),":"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"module.exports = (env, argv) => {\n\n ...\n\n return {\n // Load all projects config from eightshift-frontend-libs.\n ...project,\n\n entry: {\n // Load all entry points config from eightshift-frontend-libs.\n ...project.entry,\n\n // Your custom build entrypoint.\n newBuild: path.resolve(projectConfig.config.projectDir, 'assets', 'application-newBuild.js'),\n },\n };\n};\n"})}),"\n",(0,i.jsxs)(n.p,{children:["Next thing you'd do is create ",(0,i.jsx)(n.code,{children:"application-newBuild.js"})," in ",(0,i.jsx)(n.code,{children:"assets/"})," directory, in which you'd import and JS or SCSS partials. After restarting the build process, the results should be visible in ",(0,i.jsx)(n.code,{children:"public/"})," directory as new JS or CSS files."]})]})}function u(e={}){const{wrapper:n}={...(0,o.M)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},4552:(e,n,t)=>{t.d(n,{I:()=>a,M:()=>s});var i=t(11504);const o={},r=i.createContext(o);function s(e){const n=i.useContext(r);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(o):e.components||o:s(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/048a2137.e8b17c24.js b/assets/js/048a2137.e8b17c24.js deleted file mode 100644 index 388ad6e5e..000000000 --- a/assets/js/048a2137.e8b17c24.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[71036],{34559:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>s,default:()=>u,frontMatter:()=>r,metadata:()=>a,toc:()=>l});var i=t(85893),o=t(11151);const r={id:"webpack",title:"Webpack"},s=void 0,a={id:"basics/webpack",title:"Webpack",description:"docs-source",source:"@site/docs/basics/webpack.md",sourceDirName:"basics",slug:"/basics/webpack",permalink:"/docs/basics/webpack",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"webpack",title:"Webpack"},sidebar:"docs",previous:{title:"General",permalink:"/docs/basics/frontend"},next:{title:"SCSS Library",permalink:"/docs/basics/library"}},c={},l=[{value:"Override built-in functionality",id:"override-built-in-functionality",level:2},{value:"Add new custom functionality",id:"add-new-custom-functionality",level:2},{value:"Change the default config",id:"change-the-default-config",level:2},{value:"Add a new entrypoint",id:"add-a-new-entrypoint",level:2}];function d(e){const n={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",...(0,o.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs",children:(0,i.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsxs)(n.p,{children:["At its core, Webpack is a static module bundler for modern JavaScript applications. When Webpack processes your application, it builds an internal dependency graph that maps every module your project needs and generates one or more bundles. ",(0,i.jsx)(n.a,{href:"https://webpack.js.org/concepts/",children:"Learn more about Webpack"}),"."]}),"\n",(0,i.jsx)(n.p,{children:"To put it simply, Webpack takes your development files and creates a production-ready version of them based on the config."}),"\n",(0,i.jsxs)(n.p,{children:["Eightshift Development Kit comes with everything set up out of the box. In the root of your project, you will find a file called ",(0,i.jsx)(n.code,{children:"webpack.config.js"}),". If you open it, you will see that the configuration is pulled from the Eightshift Frontend Libs library."]}),"\n",(0,i.jsx)(n.p,{children:"You can remove this config and write everything from scratch (keep in mind that this is a lot of work), or you can use our config and extend/remove whatever you need."}),"\n",(0,i.jsx)(n.h2,{id:"override-built-in-functionality",children:"Override built-in functionality"}),"\n",(0,i.jsxs)(n.p,{children:["To remove built-in functionality, add a new array to the config called ",(0,i.jsx)(n.code,{children:"overrides"}),".\nIf you provide any of the ",(0,i.jsx)(n.code,{children:"overrides"})," keys, it will remove that config from the feature from the build."]}),"\n",(0,i.jsx)(n.p,{children:"You can't change our config; you can only remove it and make your own."}),"\n",(0,i.jsx)(n.p,{children:"Here is a list of all the features that we use and how to remove them."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"\nconst projectConfig = {\n config: {\n ... everything from default setup\n },\n overrides: [\n // Located in project.js\n 'application',\n 'applicationAdmin',\n 'applicationBlocks',\n 'applicationBlocksEditor',\n 'filename',\n\n // Located in base.js\n 'cleanWebpackPlugin',\n 'providePlugin',\n 'definePlugin',\n 'miniCssExtractPlugin',\n 'webpackManifestPlugin',\n 'dependencyExtractionWebpackPlugin',\n 'runtimeChunk',\n 'js',\n 'images',\n 'fonts',\n 'scss',\n\n // Located in development.js\n 'browserSyncPlugin',\n\n // Located in production.js\n 'terserPlugin',\n 'cssMinimizerPlugin',\n ],\n}\n"})}),"\n",(0,i.jsx)(n.h2,{id:"add-new-custom-functionality",children:"Add new custom functionality"}),"\n",(0,i.jsxs)(n.p,{children:["Let's say you want to add a custom ",(0,i.jsx)(n.code,{children:"html-webpack-plugin"})," to the build. You can simply use all the native ",(0,i.jsx)(n.a,{href:"https://webpack.js.org/guides/",children:"webpack features"}),", like in this example:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"const HtmlWebpackPlugin = require('html-webpack-plugin');\n\nmodule.exports = (env, argv) => {\n\n ...\n\n return {\n // Load all projects config from eightshift-frontend-libs.\n ...project,\n\n plugins: [\n // Load all plugins config from eightshift-frontend-libs.\n ...project.plugins,\n\n // Add your custom implementation.\n new HtmlWebpackPlugin(),\n ],\n };\n};\n"})}),"\n",(0,i.jsx)(n.h2,{id:"change-the-default-config",children:"Change the default config"}),"\n",(0,i.jsxs)(n.p,{children:["Let's say you want to change what we made and adjust it to your specific needs. In that case, you should remove our functionality by providing the ",(0,i.jsx)(n.code,{children:"overrides"})," array and create your implementation. For example:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"const BrowserSyncPlugin = require('browser-sync-webpack-plugin');\n\nmodule.exports = (env, argv) => {\n\n const projectConfig = {\n config: {\n // ... everything from default setup\n },\n overrides: [\n 'browserSyncPlugin', // this removes our configuration.\n ],\n };\n\n // Generate Webpack config for this project using options object.\n const project = require('./node_modules/@eightshift/frontend-libs/webpack')(argv.mode, projectConfig);\n\n return {\n // Load all projects config from eightshift-frontend-libs.\n ...project,\n\n plugins: [\n // Load all plugins config from eightshift-frontend-libs.\n ...project.plugins,\n\n // This provides your configuration.\n new BrowserSyncPlugin({\n host: 'localhost',\n port: 3000,\n https: true,\n }),\n ],\n };\n"})}),"\n",(0,i.jsx)(n.h2,{id:"add-a-new-entrypoint",children:"Add a new entrypoint"}),"\n",(0,i.jsxs)(n.p,{children:["Let's say you want to add a new, separate JS and/or CSS build for some specific functionality. This functionality may or may not have anything to do with your WordPress theme or plugin, but it needs to be in separate files. To do that you'd need to add a new entrypoint for Webpack to build in ",(0,i.jsx)(n.code,{children:"webpack.config.js"}),":"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"module.exports = (env, argv) => {\n\n ...\n\n return {\n // Load all projects config from eightshift-frontend-libs.\n ...project,\n\n entry: {\n // Load all entry points config from eightshift-frontend-libs.\n ...project.entry,\n\n // Your custom build entrypoint.\n newBuild: path.resolve(projectConfig.config.projectDir, 'assets', 'application-newBuild.js'),\n },\n };\n};\n"})}),"\n",(0,i.jsxs)(n.p,{children:["Next thing you'd do is create ",(0,i.jsx)(n.code,{children:"application-newBuild.js"})," in ",(0,i.jsx)(n.code,{children:"assets/"})," directory, in which you'd import and JS or SCSS partials. After restarting the build process, the results should be visible in ",(0,i.jsx)(n.code,{children:"public/"})," directory as new JS or CSS files."]})]})}function u(e={}){const{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},11151:(e,n,t)=>{t.d(n,{Z:()=>a,a:()=>s});var i=t(67294);const o={},r=i.createContext(o);function s(e){const n=i.useContext(r);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(o):e.components||o:s(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0655bd76.4c0ec105.js b/assets/js/0655bd76.4c0ec105.js deleted file mode 100644 index c84f6ea16..000000000 --- a/assets/js/0655bd76.4c0ec105.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[13894],{83685:(e,s,o)=>{o.r(s),o.d(s,{assets:()=>r,contentTitle:()=>i,default:()=>h,frontMatter:()=>c,metadata:()=>l,toc:()=>d});var t=o(85893),n=o(11151);const c={id:"blocks-structure-block-item",title:"Block Structure Item"},i=void 0,l={id:"legacy/v4/guides/blocks-structure-block-item",title:"Block Structure Item",description:"docs-source",source:"@site/docs/legacy/v4/guides/blocks-structure-block-item.md",sourceDirName:"legacy/v4/guides",slug:"/legacy/v4/guides/blocks-structure-block-item",permalink:"/docs/legacy/v4/guides/blocks-structure-block-item",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-structure-block-item",title:"Block Structure Item"},sidebar:"docs",previous:{title:"Blocks Structure",permalink:"/docs/legacy/v4/guides/blocks-structure"},next:{title:"Component Structure",permalink:"/docs/legacy/v4/guides/blocks-structure-component"}},r={},d=[{value:"components",id:"components",level:3},{value:"block-name-block.js",id:"block-name-blockjs",level:3},{value:"block-name.php",id:"block-namephp",level:3},{value:"block-name-editor.scss",id:"block-name-editorscss",level:3},{value:"block-name-style.scss",id:"block-name-stylescss",level:3},{value:"manifest.json",id:"manifestjson",level:3}];function a(e){const s={a:"a",code:"code",em:"em",h3:"h3",img:"img",p:"p",pre:"pre",...(0,n.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/v2.0.0/blocks/init/src/blocks/custom/example",children:(0,t.jsx)(s.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsxs)(s.p,{children:["For the library to work and register blocks dynamically, a specific folder structure and naming must be followed. Individual blocks are placed in the ",(0,t.jsx)(s.code,{children:"custom"})," folder."]}),"\n",(0,t.jsx)(s.p,{children:"Your custom block structure should look like this:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-shell",children:"|____block-name\n| |____components\n| | |____block-name-editor.js\n| | |____block-name-options.js\n| | |____block-name-toolbar.js\n| |____block-name-block.js\n| |____block-name.php\n| |____block-name-editor.scss\n| |____block-name-style.scss\n| |____manifest.json\n"})}),"\n",(0,t.jsxs)(s.p,{children:["For example, you can check ",(0,t.jsx)(s.a,{href:"/storybook",children:"storybook"}),"."]}),"\n",(0,t.jsx)(s.h3,{id:"components",children:"components"}),"\n",(0,t.jsxs)(s.p,{children:["Components folder holds three files ",(0,t.jsx)(s.code,{children:"block-name-options.js"}),", ",(0,t.jsx)(s.code,{children:"block-name-editor.js"})," and ",(0,t.jsx)(s.code,{children:"block-name-toolbars.js"}),". Each of these files represents a part of the Block Editor block that is used in the editor. We have separated options, editor and toolbar in separate components for the sake of readability and reusing components in different projects."]}),"\n",(0,t.jsx)(s.h3,{id:"block-name-blockjs",children:"block-name-block.js"}),"\n",(0,t.jsxs)(s.p,{children:["This file represents the ",(0,t.jsx)(s.code,{children:"edit"})," callback method used in WordPress ",(0,t.jsx)(s.code,{children:"registerBlockType"})," method.\nWe are not using the ",(0,t.jsx)(s.code,{children:"save"})," callback component because this library is used to create dynamic blocks. The ",(0,t.jsx)(s.code,{children:"edit"})," method describes how your block will be rendered in the editor once the block is used."]}),"\n",(0,t.jsx)(s.h3,{id:"block-namephp",children:"block-name.php"}),"\n",(0,t.jsxs)(s.p,{children:["This file will pass the properties you've set in the ",(0,t.jsx)(s.code,{children:"block-name.js"})," and use the ",(0,t.jsx)(s.code,{children:"render_block_view()"})," method from the ",(0,t.jsx)(s.a,{href:"https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/blocks/class-blocks.php#L295",children:"eightshift libs"}),". It is used to provide front-end layout for your block."]}),"\n",(0,t.jsx)(s.h3,{id:"block-name-editorscss",children:"block-name-editor.scss"}),"\n",(0,t.jsx)(s.p,{children:"Holds only the editor styling for the block. You should be using this file to override styles in the editor set by the component. In 90% of cases, you will not need to write any overrides here. But if you are using any columns layout like a grid, flex, etc., you may need to add some corrections."}),"\n",(0,t.jsxs)(s.p,{children:["Corrections in the columns layout are necessary because Block Editor editor adds its additional HTML and you can't change it.\n",(0,t.jsx)(s.em,{children:"This file is optional"}),"."]}),"\n",(0,t.jsx)(s.h3,{id:"block-name-stylescss",children:"block-name-style.scss"}),"\n",(0,t.jsxs)(s.p,{children:["Holds all the front-end and editor styling for the component. Like the above file, in most cases, it can be avoided.\n",(0,t.jsx)(s.em,{children:"This file is optional"}),"."]}),"\n",(0,t.jsx)(s.h3,{id:"manifestjson",children:"manifest.json"}),"\n",(0,t.jsxs)(s.p,{children:["This file contains all the configuration required for a block to work. It's used in WordPress ",(0,t.jsx)(s.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-registration/",children:(0,t.jsx)(s.code,{children:"registerBlockType"})})," method to register a block."]}),"\n",(0,t.jsx)(s.p,{children:"It looks like this:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-json",children:'{\n "blockName": "button",\n "title": "Button",\n "description" : "Button block with custom settings.",\n "category": "eightshift",\n "icon": {\n "src": "editor-removeformatting"\n },\n "keywords": [\n "button",\n "btn",\n "link"\n ],\n "attributes": {\n "title": {\n "type": "string"\n }\n }\n}\n'})}),"\n",(0,t.jsxs)(s.p,{children:["For manifest.json details please check this ",(0,t.jsx)(s.a,{href:"/docs/legacy/v4/guides/blocks-structure-manifest",children:"link"}),"."]})]})}function h(e={}){const{wrapper:s}={...(0,n.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(a,{...e})}):a(e)}},11151:(e,s,o)=>{o.d(s,{Z:()=>l,a:()=>i});var t=o(67294);const n={},c=t.createContext(n);function i(e){const s=t.useContext(c);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),t.createElement(c.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0655bd76.650d31e2.js b/assets/js/0655bd76.650d31e2.js new file mode 100644 index 000000000..ad941737e --- /dev/null +++ b/assets/js/0655bd76.650d31e2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[77186],{99276:(e,s,o)=>{o.r(s),o.d(s,{assets:()=>r,contentTitle:()=>i,default:()=>h,frontMatter:()=>c,metadata:()=>l,toc:()=>d});var t=o(17624),n=o(4552);const c={id:"blocks-structure-block-item",title:"Block Structure Item"},i=void 0,l={id:"legacy/v4/guides/blocks-structure-block-item",title:"Block Structure Item",description:"docs-source",source:"@site/docs/legacy/v4/guides/blocks-structure-block-item.md",sourceDirName:"legacy/v4/guides",slug:"/legacy/v4/guides/blocks-structure-block-item",permalink:"/docs/legacy/v4/guides/blocks-structure-block-item",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-structure-block-item",title:"Block Structure Item"},sidebar:"docs",previous:{title:"Blocks Structure",permalink:"/docs/legacy/v4/guides/blocks-structure"},next:{title:"Component Structure",permalink:"/docs/legacy/v4/guides/blocks-structure-component"}},r={},d=[{value:"components",id:"components",level:3},{value:"block-name-block.js",id:"block-name-blockjs",level:3},{value:"block-name.php",id:"block-namephp",level:3},{value:"block-name-editor.scss",id:"block-name-editorscss",level:3},{value:"block-name-style.scss",id:"block-name-stylescss",level:3},{value:"manifest.json",id:"manifestjson",level:3}];function a(e){const s={a:"a",code:"code",em:"em",h3:"h3",img:"img",p:"p",pre:"pre",...(0,n.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/v2.0.0/blocks/init/src/blocks/custom/example",children:(0,t.jsx)(s.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsxs)(s.p,{children:["For the library to work and register blocks dynamically, a specific folder structure and naming must be followed. Individual blocks are placed in the ",(0,t.jsx)(s.code,{children:"custom"})," folder."]}),"\n",(0,t.jsx)(s.p,{children:"Your custom block structure should look like this:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-shell",children:"|____block-name\n| |____components\n| | |____block-name-editor.js\n| | |____block-name-options.js\n| | |____block-name-toolbar.js\n| |____block-name-block.js\n| |____block-name.php\n| |____block-name-editor.scss\n| |____block-name-style.scss\n| |____manifest.json\n"})}),"\n",(0,t.jsxs)(s.p,{children:["For example, you can check ",(0,t.jsx)(s.a,{href:"/storybook",children:"storybook"}),"."]}),"\n",(0,t.jsx)(s.h3,{id:"components",children:"components"}),"\n",(0,t.jsxs)(s.p,{children:["Components folder holds three files ",(0,t.jsx)(s.code,{children:"block-name-options.js"}),", ",(0,t.jsx)(s.code,{children:"block-name-editor.js"})," and ",(0,t.jsx)(s.code,{children:"block-name-toolbars.js"}),". Each of these files represents a part of the Block Editor block that is used in the editor. We have separated options, editor and toolbar in separate components for the sake of readability and reusing components in different projects."]}),"\n",(0,t.jsx)(s.h3,{id:"block-name-blockjs",children:"block-name-block.js"}),"\n",(0,t.jsxs)(s.p,{children:["This file represents the ",(0,t.jsx)(s.code,{children:"edit"})," callback method used in WordPress ",(0,t.jsx)(s.code,{children:"registerBlockType"})," method.\nWe are not using the ",(0,t.jsx)(s.code,{children:"save"})," callback component because this library is used to create dynamic blocks. The ",(0,t.jsx)(s.code,{children:"edit"})," method describes how your block will be rendered in the editor once the block is used."]}),"\n",(0,t.jsx)(s.h3,{id:"block-namephp",children:"block-name.php"}),"\n",(0,t.jsxs)(s.p,{children:["This file will pass the properties you've set in the ",(0,t.jsx)(s.code,{children:"block-name.js"})," and use the ",(0,t.jsx)(s.code,{children:"render_block_view()"})," method from the ",(0,t.jsx)(s.a,{href:"https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/blocks/class-blocks.php#L295",children:"eightshift libs"}),". It is used to provide front-end layout for your block."]}),"\n",(0,t.jsx)(s.h3,{id:"block-name-editorscss",children:"block-name-editor.scss"}),"\n",(0,t.jsx)(s.p,{children:"Holds only the editor styling for the block. You should be using this file to override styles in the editor set by the component. In 90% of cases, you will not need to write any overrides here. But if you are using any columns layout like a grid, flex, etc., you may need to add some corrections."}),"\n",(0,t.jsxs)(s.p,{children:["Corrections in the columns layout are necessary because Block Editor editor adds its additional HTML and you can't change it.\n",(0,t.jsx)(s.em,{children:"This file is optional"}),"."]}),"\n",(0,t.jsx)(s.h3,{id:"block-name-stylescss",children:"block-name-style.scss"}),"\n",(0,t.jsxs)(s.p,{children:["Holds all the front-end and editor styling for the component. Like the above file, in most cases, it can be avoided.\n",(0,t.jsx)(s.em,{children:"This file is optional"}),"."]}),"\n",(0,t.jsx)(s.h3,{id:"manifestjson",children:"manifest.json"}),"\n",(0,t.jsxs)(s.p,{children:["This file contains all the configuration required for a block to work. It's used in WordPress ",(0,t.jsx)(s.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-registration/",children:(0,t.jsx)(s.code,{children:"registerBlockType"})})," method to register a block."]}),"\n",(0,t.jsx)(s.p,{children:"It looks like this:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-json",children:'{\n "blockName": "button",\n "title": "Button",\n "description" : "Button block with custom settings.",\n "category": "eightshift",\n "icon": {\n "src": "editor-removeformatting"\n },\n "keywords": [\n "button",\n "btn",\n "link"\n ],\n "attributes": {\n "title": {\n "type": "string"\n }\n }\n}\n'})}),"\n",(0,t.jsxs)(s.p,{children:["For manifest.json details please check this ",(0,t.jsx)(s.a,{href:"/docs/legacy/v4/guides/blocks-structure-manifest",children:"link"}),"."]})]})}function h(e={}){const{wrapper:s}={...(0,n.M)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(a,{...e})}):a(e)}},4552:(e,s,o)=>{o.d(s,{I:()=>l,M:()=>i});var t=o(11504);const n={},c=t.createContext(n);function i(e){const s=t.useContext(c);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),t.createElement(c.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/066ec25f.55e24ac2.js b/assets/js/066ec25f.55e24ac2.js new file mode 100644 index 000000000..ae8d4d2e4 --- /dev/null +++ b/assets/js/066ec25f.55e24ac2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[32432],{3244:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>u,frontMatter:()=>s,metadata:()=>l,toc:()=>h});var r=i(17624),n=i(4552),o=i(57848);const s={id:"cache",title:"Cache"},a=void 0,l={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.",source:"@site/forms/features/cache.mdx",sourceDirName:"features",slug:"/features/cache",permalink:"/forms/features/cache",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"cache",title:"Cache"},sidebar:"forms",previous:{title:"Locations",permalink:"/forms/features/locations"},next:{title:"Debugging",permalink:"/forms/features/debug"}},c={},h=[{value:"Integration cache",id:"integration-cache",level:2},{value:"Country",id:"country",level:2},{value:"Validation labels",id:"validation-labels",level:2}];function d(e){const t={admonition:"admonition",code:"code",h2:"h2",img:"img",p:"p",...(0,n.M)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.p,{children:"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."}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"Cache screen",src:i(21224).c+"",width:"656",height:"881"})}),"\n",(0,r.jsx)(t.h2,{id:"integration-cache",children:"Integration cache"}),"\n",(0,r.jsx)(t.p,{children:"For example, if you are using HubSpot integration, we pull the API data and store it in the cache. When you need to show the form on the front end, we no longer pull the data from the API but from the cache. This way, we can reduce the number of API calls and improve the site's performance. If you change the form fields on HubSpot, you should clear the cache before pulling the data again."}),"\n",(0,r.jsx)(t.p,{children:"When using forms editor builder there is also an cache clear button in the block editor sidebar options."}),"\n",(0,r.jsx)(t.admonition,{type:"note",children:(0,r.jsx)(t.p,{children:"The integration cache is stored for 60 minutes."})}),"\n",(0,r.jsx)(t.h2,{id:"country",children:"Country"}),"\n",(0,r.jsxs)(t.p,{children:["The country list is set using the ",(0,r.jsx)(t.code,{children:"JSON"})," format in the repository, and we use the WordPress internal cache to store it for a short time. This way, we don't need to read the file from the disk every time. You should clear the cache by changing the country list using WordPress filters."]}),"\n",(0,r.jsx)(t.admonition,{type:"note",children:(0,r.jsx)(t.p,{children:"The country cache is stored for 3 minutes."})}),"\n",(0,r.jsx)(t.h2,{id:"validation-labels",children:"Validation labels"}),"\n",(0,r.jsx)(t.p,{children:"The validation label is a list we use to provide UX responses in every form interaction on the front end. This list is extensive, so we reduced the load time by storing it in the WordPress internal cache. You should clear the cache if you change the validation labels using the provided WordPress filters."}),"\n",(0,r.jsx)(t.admonition,{type:"note",children:(0,r.jsx)(t.p,{children:"The validation labels cache is stored for 3 minutes."})}),"\n",(0,r.jsx)(o.E7,{type:"forms",video:"cache"})]})}function u(e={}){const{wrapper:t}={...(0,n.M)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},57848:(e,t,i)=>{i.d(t,{g7:()=>s,gd:()=>a,E7:()=>o});i(11504);const r=JSON.parse('{"forms":{"playlist":{"video":"https://www.youtube.com/playlist?list=PLFjp6yaGpZJvzqWGi3y9vZ3prra0h5Emx","label":"Eightshift Forms playlist"},"videos":{"intro":{"video":"3jPVuGjh488","label":"Introduction to Eightshift Forms"},"basics":{"video":"4BnTXHviZkI","label":"Getting familiar with Eightshift forms"},"firstForm":{"video":"qcsr7QGFmV4","label":"Step-by-step guide to creating your first form"},"integrations":{"video":"r2KEVIkNt04","label":"Integrating third-party services"},"integrationsSync":{"video":"JyfO328bq08","label":"Syncing your forms with third-party integrations"},"cache":{"video":"gX997f3fUcI","label":"Don\'t be afraid of caching"}}}}');var n=i(17624);function o(e){const{type:t,isPlaylist:i=!1,useTitle:o=!0,title:s="Tutorials",video:a,subtitlePrefix:l=""}=e;let c="",h="";i?(h=r[t].playlist.label,c=r[t].playlist.video):(h=r[t].videos[a].label,c=r[t].videos[a].video),l&&(h=`${l} ${h}`);const d=`https://www.youtube.com/embed/${c}`;return(0,n.jsxs)(n.Fragment,{children:[o&&(0,n.jsx)("h2",{children:s}),h&&(0,n.jsx)("h3",{children:h}),(0,n.jsx)("iframe",{width:"560",height:"315",src:d,title:"YouTube video player",frameBorder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",allowFullScreen:!0})]})}function s(e){const{type:t}=e;return(0,n.jsx)(n.Fragment,{children:Object.keys(r[t].videos).map(((e,i)=>{const r=`${String(i+1).padStart(2,"0")} - `;return(0,n.jsx)(o,{type:t,video:e,useTitle:0===i,subtitlePrefix:r},i)}))})}function a(e){const{type:t,label:i,link:o}=e;let s=i??r[t].playlist.label,a=o??r[t].playlist.video;return(0,n.jsx)(n.Fragment,{children:(0,n.jsx)("a",{href:a,target:"_blank",rel:"noopener noreferrer",children:s})})}},21224:(e,t,i)=>{i.d(t,{c:()=>r});const r=i.p+"assets/images/cache-a839138fb8da75731a7016b08b85b7d6.webp"},4552:(e,t,i)=>{i.d(t,{I:()=>a,M:()=>s});var r=i(11504);const n={},o=r.createContext(n);function s(e){const t=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:s(e.components),r.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/066ec25f.e1d214eb.js b/assets/js/066ec25f.e1d214eb.js deleted file mode 100644 index e0430faf4..000000000 --- a/assets/js/066ec25f.e1d214eb.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[74758],{92002:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>u,frontMatter:()=>s,metadata:()=>l,toc:()=>h});var n=i(85893),r=i(11151),o=i(12987);const s={id:"cache",title:"Cache"},a=void 0,l={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.",source:"@site/forms/features/cache.mdx",sourceDirName:"features",slug:"/features/cache",permalink:"/forms/features/cache",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"cache",title:"Cache"},sidebar:"forms",previous:{title:"Locations",permalink:"/forms/features/locations"},next:{title:"Debugging",permalink:"/forms/features/debug"}},c={},h=[{value:"Integration cache",id:"integration-cache",level:2},{value:"Country",id:"country",level:2},{value:"Validation labels",id:"validation-labels",level:2}];function d(e){const t={admonition:"admonition",code:"code",h2:"h2",img:"img",p:"p",...(0,r.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:"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."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Cache screen",src:i(74365).Z+"",width:"656",height:"881"})}),"\n",(0,n.jsx)(t.h2,{id:"integration-cache",children:"Integration cache"}),"\n",(0,n.jsx)(t.p,{children:"For example, if you are using HubSpot integration, we pull the API data and store it in the cache. When you need to show the form on the front end, we no longer pull the data from the API but from the cache. This way, we can reduce the number of API calls and improve the site's performance. If you change the form fields on HubSpot, you should clear the cache before pulling the data again."}),"\n",(0,n.jsx)(t.p,{children:"When using forms editor builder there is also an cache clear button in the block editor sidebar options."}),"\n",(0,n.jsx)(t.admonition,{type:"note",children:(0,n.jsx)(t.p,{children:"The integration cache is stored for 60 minutes."})}),"\n",(0,n.jsx)(t.h2,{id:"country",children:"Country"}),"\n",(0,n.jsxs)(t.p,{children:["The country list is set using the ",(0,n.jsx)(t.code,{children:"JSON"})," format in the repository, and we use the WordPress internal cache to store it for a short time. This way, we don't need to read the file from the disk every time. You should clear the cache by changing the country list using WordPress filters."]}),"\n",(0,n.jsx)(t.admonition,{type:"note",children:(0,n.jsx)(t.p,{children:"The country cache is stored for 3 minutes."})}),"\n",(0,n.jsx)(t.h2,{id:"validation-labels",children:"Validation labels"}),"\n",(0,n.jsx)(t.p,{children:"The validation label is a list we use to provide UX responses in every form interaction on the front end. This list is extensive, so we reduced the load time by storing it in the WordPress internal cache. You should clear the cache if you change the validation labels using the provided WordPress filters."}),"\n",(0,n.jsx)(t.admonition,{type:"note",children:(0,n.jsx)(t.p,{children:"The validation labels cache is stored for 3 minutes."})}),"\n",(0,n.jsx)(o.nk,{type:"forms",video:"cache"})]})}function u(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},12987:(e,t,i)=>{i.d(t,{pE:()=>s,BY:()=>a,nk:()=>o});i(67294);const n=JSON.parse('{"forms":{"playlist":{"video":"https://www.youtube.com/playlist?list=PLFjp6yaGpZJvzqWGi3y9vZ3prra0h5Emx","label":"Eightshift Forms playlist"},"videos":{"intro":{"video":"3jPVuGjh488","label":"Introduction to Eightshift Forms"},"basics":{"video":"4BnTXHviZkI","label":"Getting familiar with Eightshift forms"},"firstForm":{"video":"qcsr7QGFmV4","label":"Step-by-step guide to creating your first form"},"integrations":{"video":"r2KEVIkNt04","label":"Integrating third-party services"},"integrationsSync":{"video":"JyfO328bq08","label":"Syncing your forms with third-party integrations"},"cache":{"video":"gX997f3fUcI","label":"Don\'t be afraid of caching"}}}}');var r=i(85893);function o(e){const{type:t,isPlaylist:i=!1,useTitle:o=!0,title:s="Tutorials",video:a,subtitlePrefix:l=""}=e;let c="",h="";i?(h=n[t].playlist.label,c=n[t].playlist.video):(h=n[t].videos[a].label,c=n[t].videos[a].video),l&&(h=l+" "+h);const d="https://www.youtube.com/embed/"+c;return(0,r.jsxs)(r.Fragment,{children:[o&&(0,r.jsx)("h2",{children:s}),h&&(0,r.jsx)("h3",{children:h}),(0,r.jsx)("iframe",{width:"560",height:"315",src:d,title:"YouTube video player",frameBorder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",allowFullScreen:!0})]})}function s(e){const{type:t}=e;return(0,r.jsx)(r.Fragment,{children:Object.keys(n[t].videos).map(((e,i)=>{const n=String(i+1).padStart(2,"0")+" - ";return(0,r.jsx)(o,{type:t,video:e,useTitle:0===i,subtitlePrefix:n},i)}))})}function a(e){const{type:t,label:i,link:o}=e;let s=null!=i?i:n[t].playlist.label,a=null!=o?o:n[t].playlist.video;return(0,r.jsx)(r.Fragment,{children:(0,r.jsx)("a",{href:a,target:"_blank",rel:"noopener noreferrer",children:s})})}},74365:(e,t,i)=>{i.d(t,{Z:()=>n});const n=i.p+"assets/images/cache-a839138fb8da75731a7016b08b85b7d6.webp"},11151:(e,t,i)=>{i.d(t,{Z:()=>a,a:()=>s});var n=i(67294);const r={},o=n.createContext(r);function s(e){const t=n.useContext(o);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(r):e.components||r:s(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/06946b11.8360520f.js b/assets/js/06946b11.8360520f.js new file mode 100644 index 000000000..f74c98ada --- /dev/null +++ b/assets/js/06946b11.8360520f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[88848],{27764:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>n,contentTitle:()=>r,default:()=>h,frontMatter:()=>a,metadata:()=>i,toc:()=>c});var o=t(17624),l=t(4552);const a={id:"blocks-reusable",title:"Reusable Blocks",sidebar_label:"Reusable Blocks"},r=void 0,i={id:"legacy/v5/basics/blocks-reusable",title:"Reusable Blocks",description:"docs-source",source:"@site/docs/legacy/v5/basics/blocks-reusable.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/blocks-reusable",permalink:"/docs/legacy/v5/basics/blocks-reusable",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-reusable",title:"Reusable Blocks",sidebar_label:"Reusable Blocks"},sidebar:"docs",previous:{title:"Special Use Cases",permalink:"/docs/legacy/v5/basics/blocks-special-use-cases"},next:{title:"Styles",permalink:"/docs/legacy/v5/basics/blocks-styles"}},n={},c=[{value:"Register admin sidemenu",id:"register-admin-sidemenu",level:3},{value:"Use the reusable block as a partial",id:"use-the-reusable-block-as-a-partial",level:3}];function u(e){const s={a:"a",blockquote:"blockquote",code:"code",h3:"h3",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",...(0,l.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s.p,{children:(0,o.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/",children:(0,o.jsx)(s.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(s.p,{children:"Block editor provides us with the reusable blocks out of the box. These blocks are a custom post type that holds blocks that you can call in your editor to reuse in multiple places. So if you change your reusable block that change will impact all places where this block is imported."}),"\n",(0,o.jsx)(s.h3,{id:"register-admin-sidemenu",children:"Register admin sidemenu"}),"\n",(0,o.jsx)(s.p,{children:"Reusable blocks can be accessed from the block editors options page but to help our editors, we like to add a new menu in the admin sidebar where you can easily access all your reusable blocks. If you use our custom blocks setup this sidebar menu will be added by default."}),"\n",(0,o.jsx)(s.h3,{id:"use-the-reusable-block-as-a-partial",children:"Use the reusable block as a partial"}),"\n",(0,o.jsx)(s.p,{children:"We also like to use a reusable block for website parts that were previously hardcoded in the theme and are not a part of the block editor. We like to use this footer of additional options in categories and terms."}),"\n",(0,o.jsx)(s.p,{children:(0,o.jsx)(s.strong,{children:"Here are the steps:"})}),"\n",(0,o.jsxs)(s.ol,{children:["\n",(0,o.jsx)(s.li,{children:"Create a new reusable block for your partial."}),"\n",(0,o.jsx)(s.li,{children:"Create a config where you can configure what reusable block are you going to use in your theme. We like to use ACF PRO and its option to create a theme options page."}),"\n",(0,o.jsx)(s.li,{children:"Call this option in your theme and output your block."}),"\n"]}),"\n",(0,o.jsx)(s.p,{children:"The first two steps are easy enough, but here is an example for the third step:"}),"\n",(0,o.jsx)(s.p,{children:"footer.php"}),"\n",(0,o.jsx)(s.pre,{children:(0,o.jsx)(s.code,{className:"language-php",children:"// Check if the footer partial is set and use the contents of it.\n$footerPartialId = '1'; // here you provide your way to get the option set in the second step.\n\nif (!empty($footerPartialId)) {\n\t$footerBlocks = parse_blocks(get_the_content(null, null, $footerPartialId));\n\n\tforeach ($footerBlocks as $block) {\n\t\techo wp_kses_post(\\apply_filters('the_content', \\render_block($block)));\n\t}\n}\n"})}),"\n",(0,o.jsxs)(s.blockquote,{children:["\n",(0,o.jsx)(s.p,{children:"Notes about reusable blocks, they're not native WP search friendly (as in the content you only have the WP block comment markup that there's a specific reusable block there). So if you use a lot of these in the content of a page / post, it might affect your search relevancy."}),"\n"]})]})}function h(e={}){const{wrapper:s}={...(0,l.M)(),...e.components};return s?(0,o.jsx)(s,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},4552:(e,s,t)=>{t.d(s,{I:()=>i,M:()=>r});var o=t(11504);const l={},a=o.createContext(l);function r(e){const s=o.useContext(a);return o.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function i(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:r(e.components),o.createElement(a.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/06946b11.c87f93dd.js b/assets/js/06946b11.c87f93dd.js deleted file mode 100644 index 7ba734063..000000000 --- a/assets/js/06946b11.c87f93dd.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[99701],{20676:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>n,contentTitle:()=>r,default:()=>h,frontMatter:()=>l,metadata:()=>i,toc:()=>c});var o=t(85893),a=t(11151);const l={id:"blocks-reusable",title:"Reusable Blocks",sidebar_label:"Reusable Blocks"},r=void 0,i={id:"legacy/v5/basics/blocks-reusable",title:"Reusable Blocks",description:"docs-source",source:"@site/docs/legacy/v5/basics/blocks-reusable.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/blocks-reusable",permalink:"/docs/legacy/v5/basics/blocks-reusable",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-reusable",title:"Reusable Blocks",sidebar_label:"Reusable Blocks"},sidebar:"docs",previous:{title:"Special Use Cases",permalink:"/docs/legacy/v5/basics/blocks-special-use-cases"},next:{title:"Styles",permalink:"/docs/legacy/v5/basics/blocks-styles"}},n={},c=[{value:"Register admin sidemenu",id:"register-admin-sidemenu",level:3},{value:"Use the reusable block as a partial",id:"use-the-reusable-block-as-a-partial",level:3}];function u(e){const s={a:"a",blockquote:"blockquote",code:"code",h3:"h3",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",...(0,a.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s.p,{children:(0,o.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/",children:(0,o.jsx)(s.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(s.p,{children:"Block editor provides us with the reusable blocks out of the box. These blocks are a custom post type that holds blocks that you can call in your editor to reuse in multiple places. So if you change your reusable block that change will impact all places where this block is imported."}),"\n",(0,o.jsx)(s.h3,{id:"register-admin-sidemenu",children:"Register admin sidemenu"}),"\n",(0,o.jsx)(s.p,{children:"Reusable blocks can be accessed from the block editors options page but to help our editors, we like to add a new menu in the admin sidebar where you can easily access all your reusable blocks. If you use our custom blocks setup this sidebar menu will be added by default."}),"\n",(0,o.jsx)(s.h3,{id:"use-the-reusable-block-as-a-partial",children:"Use the reusable block as a partial"}),"\n",(0,o.jsx)(s.p,{children:"We also like to use a reusable block for website parts that were previously hardcoded in the theme and are not a part of the block editor. We like to use this footer of additional options in categories and terms."}),"\n",(0,o.jsx)(s.p,{children:(0,o.jsx)(s.strong,{children:"Here are the steps:"})}),"\n",(0,o.jsxs)(s.ol,{children:["\n",(0,o.jsx)(s.li,{children:"Create a new reusable block for your partial."}),"\n",(0,o.jsx)(s.li,{children:"Create a config where you can configure what reusable block are you going to use in your theme. We like to use ACF PRO and its option to create a theme options page."}),"\n",(0,o.jsx)(s.li,{children:"Call this option in your theme and output your block."}),"\n"]}),"\n",(0,o.jsx)(s.p,{children:"The first two steps are easy enough, but here is an example for the third step:"}),"\n",(0,o.jsx)(s.p,{children:"footer.php"}),"\n",(0,o.jsx)(s.pre,{children:(0,o.jsx)(s.code,{className:"language-php",children:"// Check if the footer partial is set and use the contents of it.\n$footerPartialId = '1'; // here you provide your way to get the option set in the second step.\n\nif (!empty($footerPartialId)) {\n\t$footerBlocks = parse_blocks(get_the_content(null, null, $footerPartialId));\n\n\tforeach ($footerBlocks as $block) {\n\t\techo wp_kses_post(\\apply_filters('the_content', \\render_block($block)));\n\t}\n}\n"})}),"\n",(0,o.jsxs)(s.blockquote,{children:["\n",(0,o.jsx)(s.p,{children:"Notes about reusable blocks, they're not native WP search friendly (as in the content you only have the WP block comment markup that there's a specific reusable block there). So if you use a lot of these in the content of a page / post, it might affect your search relevancy."}),"\n"]})]})}function h(e={}){const{wrapper:s}={...(0,a.a)(),...e.components};return s?(0,o.jsx)(s,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},11151:(e,s,t)=>{t.d(s,{Z:()=>i,a:()=>r});var o=t(67294);const a={},l=o.createContext(a);function r(e){const s=o.useContext(l);return o.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function i(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:r(e.components),o.createElement(l.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/07af796b.5cc7e9a0.js b/assets/js/07af796b.5cc7e9a0.js new file mode 100644 index 000000000..daee095c6 --- /dev/null +++ b/assets/js/07af796b.5cc7e9a0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[45948],{5252:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>d,contentTitle:()=>r,default:()=>h,frontMatter:()=>t,metadata:()=>l,toc:()=>c});var i=n(17624),o=n(4552);const t={id:"block-structure",title:"Block Structure",sidebar_label:"Block Structure"},r=void 0,l={id:"legacy/v5/basics/block-structure",title:"Block Structure",description:"docs-source",source:"@site/docs/legacy/v5/basics/block-structure.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/block-structure",permalink:"/docs/legacy/v5/basics/block-structure",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"block-structure",title:"Block Structure",sidebar_label:"Block Structure"},sidebar:"docs",previous:{title:"Global Manifest",permalink:"/docs/legacy/v5/basics/blocks-global-manifest"},next:{title:"Component Structure",permalink:"/docs/legacy/v5/basics/blocks-component-structure"}},d={},c=[{value:"assets",id:"assets",level:3},{value:"components",id:"components",level:3},{value:"docs",id:"docs",level:3},{value:"heading-block.js",id:"heading-blockjs",level:3},{value:"heading.php",id:"headingphp",level:3},{value:"heading-editor.scss",id:"heading-editorscss",level:3},{value:"heading-style.scss",id:"heading-stylescss",level:3},{value:"heading-hooks.js",id:"heading-hooksjs",level:3},{value:"heading-transforms.js",id:"heading-transformsjs",level:3},{value:"manifest.json",id:"manifestjson",level:3}];function a(e){const s={a:"a",code:"code",em:"em",h3:"h3",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,o.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/",children:(0,i.jsx)(s.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsxs)(s.p,{children:["Your custom blocks are placed in the ",(0,i.jsx)(s.code,{children:"src/Blocks/custom"})," folder."]}),"\n",(0,i.jsxs)(s.p,{children:["For example, let's take the heading block (just replace ",(0,i.jsx)(s.code,{children:"heading"})," with your block name)."]}),"\n",(0,i.jsxs)(s.p,{children:["We suggest you always use the full name and never abbreviate the block name. If your block has multiple words, you should separate them by a dash, for example, ",(0,i.jsx)(s.code,{children:"featured-post-block.js"}),"."]}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.strong,{children:"Block structure should look like this:"})}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:["heading","\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:["assets","\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"index.js"}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["components","\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"heading-editor.js"}),"\n",(0,i.jsx)(s.li,{children:"heading-options.js"}),"\n",(0,i.jsx)(s.li,{children:"heading-toolbar.js"}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["docs","\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"story.js"}),"\n",(0,i.jsx)(s.li,{children:"readme.mdx"}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.li,{children:"heading-block.js"}),"\n",(0,i.jsx)(s.li,{children:"heading.php"}),"\n",(0,i.jsx)(s.li,{children:"heading-editor.scss"}),"\n",(0,i.jsx)(s.li,{children:"heading-style.scss"}),"\n",(0,i.jsx)(s.li,{children:"heading-hooks.js"}),"\n",(0,i.jsx)(s.li,{children:"heading-transforms.js"}),"\n",(0,i.jsx)(s.li,{children:"manifest.json"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.h3,{id:"assets",children:"assets"}),"\n",(0,i.jsxs)(s.p,{children:["In this folder, you'll define all the custom JavaScript functionality for your block that will only be used on the front end of the application. You must provide the ",(0,i.jsx)(s.code,{children:"index.js"})," file in this folder, as a starting point, and the rest is up to you. We recommend using ",(0,i.jsx)(s.a,{href:"dynamic-import",children:"JavaScript dynamic imports"})," for all your front-end scripts. This ensures that the JavaScript is only loaded in the application when it is used and not before. By using dynamic import, you optimize your application and make it load faster."]}),"\n",(0,i.jsx)(s.h3,{id:"components",children:"components"}),"\n",(0,i.jsxs)(s.p,{children:["Components folder holds three files: ",(0,i.jsx)(s.code,{children:"heading-options.js"}),", ",(0,i.jsx)(s.code,{children:"heading-editor.js"}),", and ",(0,i.jsx)(s.code,{children:"heading-toolbars.js"}),". Each of these files represents a part of the block editor block that is used in the editor. We have separated options, editor, and toolbar into separate components for readability and reusing components in different projects."]}),"\n",(0,i.jsx)(s.h3,{id:"docs",children:"docs"}),"\n",(0,i.jsx)(s.p,{children:"Contains everything a block needs to be run inside the Storybook. This part is optional. However, it will speed up your development time and provide you with much-needed documentation."}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"story.js"})," - Storybook entry point for your block. All blocks have the exact same story."]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"readme.mdx"})," - README document that describes your block and provides the documentation."]}),"\n"]}),"\n",(0,i.jsx)(s.h3,{id:"heading-blockjs",children:"heading-block.js"}),"\n",(0,i.jsxs)(s.p,{children:["This file represents the ",(0,i.jsx)(s.code,{children:"edit"})," callback method used in WordPress ",(0,i.jsx)(s.code,{children:"registerBlockType"})," method.\nWe are not using the ",(0,i.jsx)(s.code,{children:"save"})," callback method because we are creating dynamic blocks. The ",(0,i.jsx)(s.code,{children:"edit"})," method describes how your block will be rendered in the editor once the block is used. In this file, you can use more advanced stuff like hooks and all the top-level block features."]}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"heading-options.js"})," - must be wrapped with the ",(0,i.jsx)(s.code,{children:"InspectorControls"})," component from the core. This will ensure that options are shown in the proper place in the block editor (sidebar)."]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"heading-toolbar.js"})," - must be wrapped with the ",(0,i.jsx)(s.code,{children:"BlockControls"})," component from the core. This will ensure that the toolbar is shown in the proper place in the block editor (floating or fixed toolbar)."]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"heading-editor.js"})," - must ",(0,i.jsx)(s.strong,{children:"not"})," be wrapped with any top-level component. This will ensure that the editor component is shown in the proper place in the block editor (editor)."]}),"\n"]}),"\n",(0,i.jsx)(s.h3,{id:"headingphp",children:"heading.php"}),"\n",(0,i.jsxs)(s.p,{children:["This file is the front-end representation of a block. In this file, you will have all the attributes you defined in the ",(0,i.jsx)(s.code,{children:"manifest.json"})," file."]}),"\n",(0,i.jsx)(s.p,{children:"In the blocks PHP part, you always have these two properties (props) available:"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"$attributes"})," - This prop contains all the attributes you defined in the ",(0,i.jsx)(s.code,{children:"manifest.json"})," and all the attributes saved in the database."]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"$innerBlockContent"})," - This prop contains all the inner block details when you set your block to contain inner blocks."]}),"\n"]}),"\n",(0,i.jsx)(s.h3,{id:"heading-editorscss",children:"heading-editor.scss"}),"\n",(0,i.jsx)(s.p,{children:"Holds only the editor styling for the block. You should be using this file to override styles in the editor set by the component. In 90% of cases, you will not need to write any overrides here. But if you are using any column layout like a grid, flex, etc., you may need to add some corrections."}),"\n",(0,i.jsx)(s.p,{children:"Corrections in the grid layout are necessary because the block editor adds additional HTML and we can't change it."}),"\n",(0,i.jsxs)(s.p,{children:["Please read the ",(0,i.jsx)(s.a,{href:"writing-styles",children:"writing styles"})," chapter for more details."]}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.em,{children:"This file is optional"}),"."]}),"\n",(0,i.jsx)(s.h3,{id:"heading-stylescss",children:"heading-style.scss"}),"\n",(0,i.jsx)(s.p,{children:"Holds all the front-end and editor styling for the component."}),"\n",(0,i.jsxs)(s.p,{children:["Please read the ",(0,i.jsx)(s.a,{href:"writing-styles",children:"writing styles"})," chapter for more details."]}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.em,{children:"This file is optional"}),"."]}),"\n",(0,i.jsx)(s.h3,{id:"heading-hooksjs",children:"heading-hooks.js"}),"\n",(0,i.jsxs)(s.p,{children:["Here you can provide any custom block editor hook you need. For documentation, please refer to ",(0,i.jsx)(s.a,{href:"https://developer.wordpress.org/block-editor/developers/filters/block-filters/",children:"this link"}),". This file is going to be merged in the ",(0,i.jsx)(s.code,{children:"registerBlockType"})," method."]}),"\n",(0,i.jsx)(s.h3,{id:"heading-transformsjs",children:"heading-transforms.js"}),"\n",(0,i.jsxs)(s.p,{children:["Here you can provide any custom block transformation you need. For documentation, please refer to ",(0,i.jsx)(s.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-transforms/",children:"this link"}),". This file is going to be merged in the ",(0,i.jsx)(s.code,{children:"registerBlockType"})," method."]}),"\n",(0,i.jsx)(s.h3,{id:"manifestjson",children:"manifest.json"}),"\n",(0,i.jsxs)(s.p,{children:["This file contains all the configuration required for a block to work. It's used in WordPress ",(0,i.jsx)(s.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-registration/",children:(0,i.jsx)(s.code,{children:"registerBlockType"})})," method to register a block."]}),"\n",(0,i.jsxs)(s.p,{children:["For more details, check the ",(0,i.jsx)(s.a,{href:"block-manifest",children:"block manifest"})," chapter."]})]})}function h(e={}){const{wrapper:s}={...(0,o.M)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(a,{...e})}):a(e)}},4552:(e,s,n)=>{n.d(s,{I:()=>l,M:()=>r});var i=n(11504);const o={},t=i.createContext(o);function r(e){const s=i.useContext(t);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),i.createElement(t.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/07af796b.7e7f6581.js b/assets/js/07af796b.7e7f6581.js deleted file mode 100644 index 2412c4773..000000000 --- a/assets/js/07af796b.7e7f6581.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[88394],{29154:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>d,contentTitle:()=>r,default:()=>h,frontMatter:()=>t,metadata:()=>l,toc:()=>c});var i=n(85893),o=n(11151);const t={id:"block-structure",title:"Block Structure",sidebar_label:"Block Structure"},r=void 0,l={id:"legacy/v5/basics/block-structure",title:"Block Structure",description:"docs-source",source:"@site/docs/legacy/v5/basics/block-structure.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/block-structure",permalink:"/docs/legacy/v5/basics/block-structure",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"block-structure",title:"Block Structure",sidebar_label:"Block Structure"},sidebar:"docs",previous:{title:"Global Manifest",permalink:"/docs/legacy/v5/basics/blocks-global-manifest"},next:{title:"Component Structure",permalink:"/docs/legacy/v5/basics/blocks-component-structure"}},d={},c=[{value:"assets",id:"assets",level:3},{value:"components",id:"components",level:3},{value:"docs",id:"docs",level:3},{value:"heading-block.js",id:"heading-blockjs",level:3},{value:"heading.php",id:"headingphp",level:3},{value:"heading-editor.scss",id:"heading-editorscss",level:3},{value:"heading-style.scss",id:"heading-stylescss",level:3},{value:"heading-hooks.js",id:"heading-hooksjs",level:3},{value:"heading-transforms.js",id:"heading-transformsjs",level:3},{value:"manifest.json",id:"manifestjson",level:3}];function a(e){const s={a:"a",code:"code",em:"em",h3:"h3",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,o.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/",children:(0,i.jsx)(s.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsxs)(s.p,{children:["Your custom blocks are placed in the ",(0,i.jsx)(s.code,{children:"src/Blocks/custom"})," folder."]}),"\n",(0,i.jsxs)(s.p,{children:["For example, let's take the heading block (just replace ",(0,i.jsx)(s.code,{children:"heading"})," with your block name)."]}),"\n",(0,i.jsxs)(s.p,{children:["We suggest you always use the full name and never abbreviate the block name. If your block has multiple words, you should separate them by a dash, for example, ",(0,i.jsx)(s.code,{children:"featured-post-block.js"}),"."]}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.strong,{children:"Block structure should look like this:"})}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:["heading","\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:["assets","\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"index.js"}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["components","\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"heading-editor.js"}),"\n",(0,i.jsx)(s.li,{children:"heading-options.js"}),"\n",(0,i.jsx)(s.li,{children:"heading-toolbar.js"}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["docs","\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"story.js"}),"\n",(0,i.jsx)(s.li,{children:"readme.mdx"}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.li,{children:"heading-block.js"}),"\n",(0,i.jsx)(s.li,{children:"heading.php"}),"\n",(0,i.jsx)(s.li,{children:"heading-editor.scss"}),"\n",(0,i.jsx)(s.li,{children:"heading-style.scss"}),"\n",(0,i.jsx)(s.li,{children:"heading-hooks.js"}),"\n",(0,i.jsx)(s.li,{children:"heading-transforms.js"}),"\n",(0,i.jsx)(s.li,{children:"manifest.json"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.h3,{id:"assets",children:"assets"}),"\n",(0,i.jsxs)(s.p,{children:["In this folder, you'll define all the custom JavaScript functionality for your block that will only be used on the front end of the application. You must provide the ",(0,i.jsx)(s.code,{children:"index.js"})," file in this folder, as a starting point, and the rest is up to you. We recommend using ",(0,i.jsx)(s.a,{href:"dynamic-import",children:"JavaScript dynamic imports"})," for all your front-end scripts. This ensures that the JavaScript is only loaded in the application when it is used and not before. By using dynamic import, you optimize your application and make it load faster."]}),"\n",(0,i.jsx)(s.h3,{id:"components",children:"components"}),"\n",(0,i.jsxs)(s.p,{children:["Components folder holds three files: ",(0,i.jsx)(s.code,{children:"heading-options.js"}),", ",(0,i.jsx)(s.code,{children:"heading-editor.js"}),", and ",(0,i.jsx)(s.code,{children:"heading-toolbars.js"}),". Each of these files represents a part of the block editor block that is used in the editor. We have separated options, editor, and toolbar into separate components for readability and reusing components in different projects."]}),"\n",(0,i.jsx)(s.h3,{id:"docs",children:"docs"}),"\n",(0,i.jsx)(s.p,{children:"Contains everything a block needs to be run inside the Storybook. This part is optional. However, it will speed up your development time and provide you with much-needed documentation."}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"story.js"})," - Storybook entry point for your block. All blocks have the exact same story."]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"readme.mdx"})," - README document that describes your block and provides the documentation."]}),"\n"]}),"\n",(0,i.jsx)(s.h3,{id:"heading-blockjs",children:"heading-block.js"}),"\n",(0,i.jsxs)(s.p,{children:["This file represents the ",(0,i.jsx)(s.code,{children:"edit"})," callback method used in WordPress ",(0,i.jsx)(s.code,{children:"registerBlockType"})," method.\nWe are not using the ",(0,i.jsx)(s.code,{children:"save"})," callback method because we are creating dynamic blocks. The ",(0,i.jsx)(s.code,{children:"edit"})," method describes how your block will be rendered in the editor once the block is used. In this file, you can use more advanced stuff like hooks and all the top-level block features."]}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"heading-options.js"})," - must be wrapped with the ",(0,i.jsx)(s.code,{children:"InspectorControls"})," component from the core. This will ensure that options are shown in the proper place in the block editor (sidebar)."]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"heading-toolbar.js"})," - must be wrapped with the ",(0,i.jsx)(s.code,{children:"BlockControls"})," component from the core. This will ensure that the toolbar is shown in the proper place in the block editor (floating or fixed toolbar)."]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"heading-editor.js"})," - must ",(0,i.jsx)(s.strong,{children:"not"})," be wrapped with any top-level component. This will ensure that the editor component is shown in the proper place in the block editor (editor)."]}),"\n"]}),"\n",(0,i.jsx)(s.h3,{id:"headingphp",children:"heading.php"}),"\n",(0,i.jsxs)(s.p,{children:["This file is the front-end representation of a block. In this file, you will have all the attributes you defined in the ",(0,i.jsx)(s.code,{children:"manifest.json"})," file."]}),"\n",(0,i.jsx)(s.p,{children:"In the blocks PHP part, you always have these two properties (props) available:"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"$attributes"})," - This prop contains all the attributes you defined in the ",(0,i.jsx)(s.code,{children:"manifest.json"})," and all the attributes saved in the database."]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"$innerBlockContent"})," - This prop contains all the inner block details when you set your block to contain inner blocks."]}),"\n"]}),"\n",(0,i.jsx)(s.h3,{id:"heading-editorscss",children:"heading-editor.scss"}),"\n",(0,i.jsx)(s.p,{children:"Holds only the editor styling for the block. You should be using this file to override styles in the editor set by the component. In 90% of cases, you will not need to write any overrides here. But if you are using any column layout like a grid, flex, etc., you may need to add some corrections."}),"\n",(0,i.jsx)(s.p,{children:"Corrections in the grid layout are necessary because the block editor adds additional HTML and we can't change it."}),"\n",(0,i.jsxs)(s.p,{children:["Please read the ",(0,i.jsx)(s.a,{href:"writing-styles",children:"writing styles"})," chapter for more details."]}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.em,{children:"This file is optional"}),"."]}),"\n",(0,i.jsx)(s.h3,{id:"heading-stylescss",children:"heading-style.scss"}),"\n",(0,i.jsx)(s.p,{children:"Holds all the front-end and editor styling for the component."}),"\n",(0,i.jsxs)(s.p,{children:["Please read the ",(0,i.jsx)(s.a,{href:"writing-styles",children:"writing styles"})," chapter for more details."]}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.em,{children:"This file is optional"}),"."]}),"\n",(0,i.jsx)(s.h3,{id:"heading-hooksjs",children:"heading-hooks.js"}),"\n",(0,i.jsxs)(s.p,{children:["Here you can provide any custom block editor hook you need. For documentation, please refer to ",(0,i.jsx)(s.a,{href:"https://developer.wordpress.org/block-editor/developers/filters/block-filters/",children:"this link"}),". This file is going to be merged in the ",(0,i.jsx)(s.code,{children:"registerBlockType"})," method."]}),"\n",(0,i.jsx)(s.h3,{id:"heading-transformsjs",children:"heading-transforms.js"}),"\n",(0,i.jsxs)(s.p,{children:["Here you can provide any custom block transformation you need. For documentation, please refer to ",(0,i.jsx)(s.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-transforms/",children:"this link"}),". This file is going to be merged in the ",(0,i.jsx)(s.code,{children:"registerBlockType"})," method."]}),"\n",(0,i.jsx)(s.h3,{id:"manifestjson",children:"manifest.json"}),"\n",(0,i.jsxs)(s.p,{children:["This file contains all the configuration required for a block to work. It's used in WordPress ",(0,i.jsx)(s.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-registration/",children:(0,i.jsx)(s.code,{children:"registerBlockType"})})," method to register a block."]}),"\n",(0,i.jsxs)(s.p,{children:["For more details, check the ",(0,i.jsx)(s.a,{href:"block-manifest",children:"block manifest"})," chapter."]})]})}function h(e={}){const{wrapper:s}={...(0,o.a)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(a,{...e})}):a(e)}},11151:(e,s,n)=>{n.d(s,{Z:()=>l,a:()=>r});var i=n(67294);const o={},t=i.createContext(o);function r(e){const s=i.useContext(t);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),i.createElement(t.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/07b5dca2.324e6672.js b/assets/js/07b5dca2.324e6672.js deleted file mode 100644 index a6a712e4d..000000000 --- a/assets/js/07b5dca2.324e6672.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[47546],{13384:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>o,contentTitle:()=>s,default:()=>p,frontMatter:()=>r,metadata:()=>l,toc:()=>c});var t=i(85893),a=i(11151);const r={id:"active-campaign",title:"ActiveCampaign"},s=void 0,l={id:"integrations/active-campaign",title:"ActiveCampaign",description:"ActiveCampaign is an integrated email marketing, automation, sales software, and CRM platform.",source:"@site/forms/integrations/active-campaign.md",sourceDirName:"integrations",slug:"/integrations/active-campaign",permalink:"/forms/integrations/active-campaign",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"active-campaign",title:"ActiveCampaign"},sidebar:"forms",previous:{title:"Intro",permalink:"/forms/integrations/intro"},next:{title:"Airtable",permalink:"/forms/integrations/airtable"}},o={},c=[{value:"Website",id:"website",level:3},{value:"API Version",id:"api-version",level:3},{value:"API Documentation",id:"api-documentation",level:3},{value:"Integration type",id:"integration-type",level:3},{value:"Supported fields:",id:"supported-fields",level:3}];function d(e){const n={a:"a",h3:"h3",li:"li",p:"p",ul:"ul",...(0,a.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:"ActiveCampaign is an integrated email marketing, automation, sales software, and CRM platform."}),"\n",(0,t.jsx)(n.h3,{id:"website",children:"Website"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://www.activecampaign.com/",children:"Visit website"})}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"api-version",children:"API Version"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"V3"}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"api-documentation",children:"API Documentation"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://developers.activecampaign.com/reference/overview",children:"Documentation"})}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"integration-type",children:"Integration type"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Form builder provided by the service."}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"supported-fields",children:"Supported fields:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Full name"}),"\n",(0,t.jsx)(n.li,{children:"First name"}),"\n",(0,t.jsx)(n.li,{children:"Last name"}),"\n",(0,t.jsx)(n.li,{children:"Hidden"}),"\n",(0,t.jsx)(n.li,{children:"Textarea"}),"\n",(0,t.jsx)(n.li,{children:"Email"}),"\n",(0,t.jsx)(n.li,{children:"Phone"}),"\n",(0,t.jsx)(n.li,{children:"Checkbox"}),"\n",(0,t.jsx)(n.li,{children:"Radio"}),"\n",(0,t.jsx)(n.li,{children:"Dropdown"}),"\n"]})]})}function p(e={}){const{wrapper:n}={...(0,a.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},11151:(e,n,i)=>{i.d(n,{Z:()=>l,a:()=>s});var t=i(67294);const a={},r=t.createContext(a);function s(e){const n=t.useContext(r);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(a):e.components||a:s(e.components),t.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/07b5dca2.f2bccf6e.js b/assets/js/07b5dca2.f2bccf6e.js new file mode 100644 index 000000000..d4b394fcc --- /dev/null +++ b/assets/js/07b5dca2.f2bccf6e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[59470],{45436:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>o,contentTitle:()=>s,default:()=>p,frontMatter:()=>r,metadata:()=>l,toc:()=>c});var t=i(17624),a=i(4552);const r={id:"active-campaign",title:"ActiveCampaign"},s=void 0,l={id:"integrations/active-campaign",title:"ActiveCampaign",description:"ActiveCampaign is an integrated email marketing, automation, sales software, and CRM platform.",source:"@site/forms/integrations/active-campaign.md",sourceDirName:"integrations",slug:"/integrations/active-campaign",permalink:"/forms/integrations/active-campaign",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"active-campaign",title:"ActiveCampaign"},sidebar:"forms",previous:{title:"Intro",permalink:"/forms/integrations/intro"},next:{title:"Airtable",permalink:"/forms/integrations/airtable"}},o={},c=[{value:"Website",id:"website",level:3},{value:"API Version",id:"api-version",level:3},{value:"API Documentation",id:"api-documentation",level:3},{value:"Integration type",id:"integration-type",level:3},{value:"Supported fields:",id:"supported-fields",level:3}];function d(e){const n={a:"a",h3:"h3",li:"li",p:"p",ul:"ul",...(0,a.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:"ActiveCampaign is an integrated email marketing, automation, sales software, and CRM platform."}),"\n",(0,t.jsx)(n.h3,{id:"website",children:"Website"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://www.activecampaign.com/",children:"Visit website"})}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"api-version",children:"API Version"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"V3"}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"api-documentation",children:"API Documentation"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://developers.activecampaign.com/reference/overview",children:"Documentation"})}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"integration-type",children:"Integration type"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Form builder provided by the service."}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"supported-fields",children:"Supported fields:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Full name"}),"\n",(0,t.jsx)(n.li,{children:"First name"}),"\n",(0,t.jsx)(n.li,{children:"Last name"}),"\n",(0,t.jsx)(n.li,{children:"Hidden"}),"\n",(0,t.jsx)(n.li,{children:"Textarea"}),"\n",(0,t.jsx)(n.li,{children:"Email"}),"\n",(0,t.jsx)(n.li,{children:"Phone"}),"\n",(0,t.jsx)(n.li,{children:"Checkbox"}),"\n",(0,t.jsx)(n.li,{children:"Radio"}),"\n",(0,t.jsx)(n.li,{children:"Dropdown"}),"\n"]})]})}function p(e={}){const{wrapper:n}={...(0,a.M)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},4552:(e,n,i)=>{i.d(n,{I:()=>l,M:()=>s});var t=i(11504);const a={},r=t.createContext(a);function s(e){const n=t.useContext(r);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(a):e.components||a:s(e.components),t.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/07fb059b.b9176cd7.js b/assets/js/07fb059b.b9176cd7.js new file mode 100644 index 000000000..51fb336d3 --- /dev/null +++ b/assets/js/07fb059b.b9176cd7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[160],{75348:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>n,default:()=>d,frontMatter:()=>s,metadata:()=>c,toc:()=>m});var i=r(17624),o=r(4552);const s={id:"redirect-timeout",title:"Redirect timeout"},n=void 0,c={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.",source:"@site/forms/php/filters/block/form/redirect-timeout.md",sourceDirName:"php/filters/block/form",slug:"/php/filters/block/form/redirect-timeout",permalink:"/forms/php/filters/block/form/redirect-timeout",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"redirect-timeout",title:"Redirect timeout"},sidebar:"forms",previous:{title:"Custom form styles",permalink:"/forms/php/filters/block/forms/style-options"},next:{title:"Global message timeout",permalink:"/forms/php/filters/block/form/hide-global-msg-timeout"}},l={},m=[];function u(e){const t={code:"code",p:"p",pre:"pre",...(0,o.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"This filter allows you to change the delay for the redirect after a successful form submission, in milliseconds."}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-php",children:"\\add_filter('es_forms_block_form_redirection_timeout', [$this, 'getBlockFormRedirectionTimeout']);\n\n/**\n * Changing the default success redirection wait time\n *\n * This filter will override our default wait time once the form returns success and it is redirected. The time is calculated in milliseconds. *Example: 1000ms = 1s*.\n *\n * @return string\n */\npublic function getBlockFormRedirectionTimeout(): string\n{\n\treturn '1000'; // 1 seconds.\n}\n"})})]})}function d(e={}){const{wrapper:t}={...(0,o.M)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(u,{...e})}):u(e)}},4552:(e,t,r)=>{r.d(t,{I:()=>c,M:()=>n});var i=r(11504);const o={},s=i.createContext(o);function n(e){const t=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:n(e.components),i.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/07fb059b.e2370fbb.js b/assets/js/07fb059b.e2370fbb.js deleted file mode 100644 index 0f2d35ef6..000000000 --- a/assets/js/07fb059b.e2370fbb.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[4309],{14982:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>n,default:()=>d,frontMatter:()=>s,metadata:()=>c,toc:()=>m});var i=r(85893),o=r(11151);const s={id:"redirect-timeout",title:"Redirect timeout"},n=void 0,c={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.",source:"@site/forms/php/filters/block/form/redirect-timeout.md",sourceDirName:"php/filters/block/form",slug:"/php/filters/block/form/redirect-timeout",permalink:"/forms/php/filters/block/form/redirect-timeout",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"redirect-timeout",title:"Redirect timeout"},sidebar:"forms",previous:{title:"Custom form styles",permalink:"/forms/php/filters/block/forms/style-options"},next:{title:"Global message timeout",permalink:"/forms/php/filters/block/form/hide-global-msg-timeout"}},l={},m=[];function u(e){const t={code:"code",p:"p",pre:"pre",...(0,o.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"This filter allows you to change the delay for the redirect after a successful form submission, in milliseconds."}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-php",children:"\\add_filter('es_forms_block_form_redirection_timeout', [$this, 'getBlockFormRedirectionTimeout']);\n\n/**\n * Changing the default success redirection wait time\n *\n * This filter will override our default wait time once the form returns success and it is redirected. The time is calculated in milliseconds. *Example: 1000ms = 1s*.\n *\n * @return string\n */\npublic function getBlockFormRedirectionTimeout(): string\n{\n\treturn '1000'; // 1 seconds.\n}\n"})})]})}function d(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(u,{...e})}):u(e)}},11151:(e,t,r)=>{r.d(t,{Z:()=>c,a:()=>n});var i=r(67294);const o={},s=i.createContext(o);function n(e){const t=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:n(e.components),i.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0810f675.03f15fd9.js b/assets/js/0810f675.03f15fd9.js new file mode 100644 index 000000000..40acaa9f7 --- /dev/null +++ b/assets/js/0810f675.03f15fd9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[44032],{2112: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/0810f675.a317fa55.js b/assets/js/0810f675.a317fa55.js deleted file mode 100644 index 258164aae..000000000 --- a/assets/js/0810f675.a317fa55.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[79133],{45784: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/08cebe36.7c44f806.js b/assets/js/08cebe36.7c44f806.js new file mode 100644 index 000000000..783623e09 --- /dev/null +++ b/assets/js/08cebe36.7c44f806.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[20216],{16965:(o,e,t)=>{t.r(e),t.d(e,{assets:()=>c,contentTitle:()=>i,default:()=>h,frontMatter:()=>r,metadata:()=>l,toc:()=>a});var s=t(17624),n=t(4552);const r={id:"blocks-storybook",title:"Storybook"},i=void 0,l={id:"basics/blocks-storybook",title:"Storybook",description:"docs-source",source:"@site/docs/basics/blocks-storybook.md",sourceDirName:"basics",slug:"/basics/blocks-storybook",permalink:"/docs/basics/blocks-storybook",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-storybook",title:"Storybook"},sidebar:"docs",previous:{title:"Styles",permalink:"/docs/basics/blocks-styles"},next:{title:"Helpers",permalink:"/docs/basics/helpers"}},c={},a=[{value:"Create my custom story",id:"create-my-custom-story",level:2},{value:"Block story",id:"block-story",level:3},{value:"Variation story",id:"variation-story",level:3},{value:"Component story",id:"component-story",level:3}];function d(o){const e={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",...(0,n.M)(),...o.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.p,{children:(0,s.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,s.jsx)(e.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(e.p,{children:"We have created a full storybook that hosts all our blocks/components/variations with a fully functional block editor, where you can try out how blocks work and behave."}),"\n",(0,s.jsxs)(e.admonition,{type:"tip",children:[(0,s.jsx)(e.p,{children:"To speed up project build time, Eightshift Boilerplate doesn't come with Storybook out of the box; you need to install it manually."}),(0,s.jsx)("br",{}),(0,s.jsx)(e.p,{children:"To install Storybook to your project, just type this command in you terminal and follow the instructions:"}),(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-bash",children:"wp boilerplate blocks use-storybook\n"})})]}),"\n",(0,s.jsx)(e.h2,{id:"create-my-custom-story",children:"Create my custom story"}),"\n",(0,s.jsx)(e.p,{children:"You don't need to have stories in your block/component, but we provided you with the ability to use the Storybook for all of your blocks and components. Why not use it? It will speed up your development time. Trust us."}),"\n",(0,s.jsx)(e.p,{children:"If you used our way to set up your project, you already have Storybook ready to use. To start the Storybook, run this command:"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-bash",children:"npm run storybook\n"})}),"\n",(0,s.jsxs)(e.p,{children:["In your project, you also have the ",(0,s.jsx)(e.code,{children:".storybook"})," folder, where all the configuration for Storybook is defined."]}),"\n",(0,s.jsxs)(e.p,{children:["For your blocks/components/variation to be seen in the Storybook, you must have the ",(0,s.jsx)(e.code,{children:"docs"})," folder and the ",(0,s.jsx)(e.code,{children:"story.js"})," file in it."]}),"\n",(0,s.jsx)(e.h3,{id:"block-story",children:"Block story"}),"\n",(0,s.jsxs)(e.p,{children:["For all blocks, you don't need to write anything because all blocks stories look the same here is an example of the ",(0,s.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/custom/heading/docs/story.js",children:"heading block story"}),"."]}),"\n",(0,s.jsxs)(e.p,{children:["We pull all the data from the manifest.json file and all the attribute values from the ",(0,s.jsx)(e.code,{children:"example"})," key."]}),"\n",(0,s.jsx)(e.h3,{id:"variation-story",children:"Variation story"}),"\n",(0,s.jsx)(e.p,{children:"The same as the block's story."}),"\n",(0,s.jsx)(e.h3,{id:"component-story",children:"Component story"}),"\n",(0,s.jsxs)(e.p,{children:["Components are not smart and can't be automatically built into the story. This is why you must create a story of all your components and mock the data.\nYou should set all the mock data in the component ",(0,s.jsx)(e.code,{children:"manifest.json"})," and just provide the story's implementation. We have provided you with the helper that uses example data from you manifests and respects the component's dependency tree. Here you can see and example of ",(0,s.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/components/card/docs/story.js",children:"card component story"}),"."]})]})}function h(o={}){const{wrapper:e}={...(0,n.M)(),...o.components};return e?(0,s.jsx)(e,{...o,children:(0,s.jsx)(d,{...o})}):d(o)}},4552:(o,e,t)=>{t.d(e,{I:()=>l,M:()=>i});var s=t(11504);const n={},r=s.createContext(n);function i(o){const e=s.useContext(r);return s.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(n):o.components||n:i(o.components),s.createElement(r.Provider,{value:e},o.children)}}}]); \ No newline at end of file diff --git a/assets/js/08cebe36.efa483ac.js b/assets/js/08cebe36.efa483ac.js deleted file mode 100644 index 88d5828c6..000000000 --- a/assets/js/08cebe36.efa483ac.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[85985],{87580:(o,e,t)=>{t.r(e),t.d(e,{assets:()=>c,contentTitle:()=>i,default:()=>h,frontMatter:()=>r,metadata:()=>l,toc:()=>a});var s=t(85893),n=t(11151);const r={id:"blocks-storybook",title:"Storybook"},i=void 0,l={id:"basics/blocks-storybook",title:"Storybook",description:"docs-source",source:"@site/docs/basics/blocks-storybook.md",sourceDirName:"basics",slug:"/basics/blocks-storybook",permalink:"/docs/basics/blocks-storybook",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-storybook",title:"Storybook"},sidebar:"docs",previous:{title:"Styles",permalink:"/docs/basics/blocks-styles"},next:{title:"Helpers",permalink:"/docs/basics/helpers"}},c={},a=[{value:"Create my custom story",id:"create-my-custom-story",level:2},{value:"Block story",id:"block-story",level:3},{value:"Variation story",id:"variation-story",level:3},{value:"Component story",id:"component-story",level:3}];function d(o){const e={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",...(0,n.a)(),...o.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.p,{children:(0,s.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,s.jsx)(e.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(e.p,{children:"We have created a full storybook that hosts all our blocks/components/variations with a fully functional block editor, where you can try out how blocks work and behave."}),"\n",(0,s.jsxs)(e.admonition,{type:"tip",children:[(0,s.jsx)(e.p,{children:"To speed up project build time, Eightshift Boilerplate doesn't come with Storybook out of the box; you need to install it manually."}),(0,s.jsx)("br",{}),(0,s.jsx)(e.p,{children:"To install Storybook to your project, just type this command in you terminal and follow the instructions:"}),(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-bash",children:"wp boilerplate blocks use-storybook\n"})})]}),"\n",(0,s.jsx)(e.h2,{id:"create-my-custom-story",children:"Create my custom story"}),"\n",(0,s.jsx)(e.p,{children:"You don't need to have stories in your block/component, but we provided you with the ability to use the Storybook for all of your blocks and components. Why not use it? It will speed up your development time. Trust us."}),"\n",(0,s.jsx)(e.p,{children:"If you used our way to set up your project, you already have Storybook ready to use. To start the Storybook, run this command:"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-bash",children:"npm run storybook\n"})}),"\n",(0,s.jsxs)(e.p,{children:["In your project, you also have the ",(0,s.jsx)(e.code,{children:".storybook"})," folder, where all the configuration for Storybook is defined."]}),"\n",(0,s.jsxs)(e.p,{children:["For your blocks/components/variation to be seen in the Storybook, you must have the ",(0,s.jsx)(e.code,{children:"docs"})," folder and the ",(0,s.jsx)(e.code,{children:"story.js"})," file in it."]}),"\n",(0,s.jsx)(e.h3,{id:"block-story",children:"Block story"}),"\n",(0,s.jsxs)(e.p,{children:["For all blocks, you don't need to write anything because all blocks stories look the same here is an example of the ",(0,s.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/custom/heading/docs/story.js",children:"heading block story"}),"."]}),"\n",(0,s.jsxs)(e.p,{children:["We pull all the data from the manifest.json file and all the attribute values from the ",(0,s.jsx)(e.code,{children:"example"})," key."]}),"\n",(0,s.jsx)(e.h3,{id:"variation-story",children:"Variation story"}),"\n",(0,s.jsx)(e.p,{children:"The same as the block's story."}),"\n",(0,s.jsx)(e.h3,{id:"component-story",children:"Component story"}),"\n",(0,s.jsxs)(e.p,{children:["Components are not smart and can't be automatically built into the story. This is why you must create a story of all your components and mock the data.\nYou should set all the mock data in the component ",(0,s.jsx)(e.code,{children:"manifest.json"})," and just provide the story's implementation. We have provided you with the helper that uses example data from you manifests and respects the component's dependency tree. Here you can see and example of ",(0,s.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/components/card/docs/story.js",children:"card component story"}),"."]})]})}function h(o={}){const{wrapper:e}={...(0,n.a)(),...o.components};return e?(0,s.jsx)(e,{...o,children:(0,s.jsx)(d,{...o})}):d(o)}},11151:(o,e,t)=>{t.d(e,{Z:()=>l,a:()=>i});var s=t(67294);const n={},r=s.createContext(n);function i(o){const e=s.useContext(r);return s.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(n):o.components||n:i(o.components),s.createElement(r.Provider,{value:e},o.children)}}}]); \ No newline at end of file diff --git a/assets/js/092d0294.5c7e68f4.js b/assets/js/092d0294.5c7e68f4.js new file mode 100644 index 000000000..25e6a0a08 --- /dev/null +++ b/assets/js/092d0294.5c7e68f4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[61720],{20464:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>o,default:()=>c,frontMatter:()=>s,metadata:()=>l,toc:()=>m});var r=n(17624),i=n(4552),a=n(80148);const s={id:"mailer",title:"Mailer"},o=void 0,l={id:"php/filters/integrations/mailer",title:"Mailer",description:"",source:"@site/forms/php/filters/integrations/mailer.mdx",sourceDirName:"php/filters/integrations",slug:"/php/filters/integrations/mailer",permalink:"/forms/php/filters/integrations/mailer",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"mailer",title:"Mailer"},sidebar:"forms",previous:{title:"Mailchimp",permalink:"/forms/php/filters/integrations/mailchimp"},next:{title:"MailerLite",permalink:"/forms/php/filters/integrations/mailerlite"}},d={},m=[];function f(t){return(0,r.jsx)(a.y,{name:"Mailer",filter:"mailer",onlyUse:["prePostParamsFilter"]})}function c(t={}){const{wrapper:e}={...(0,i.M)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(f,{...t})}):f()}},80148:(t,e,n)=>{n.d(e,{g:()=>o,y:()=>s});n(11504);var r=n(1608),i=n(96616),a=n(17624);function s(t){let{filter:e,onlyUse:n=["dataFilter","orderFilter","prePostIdFilter","prePostParamsFilter"]}=t;return(0,a.jsxs)(a.Fragment,{children:[n.includes("dataFilter")&&(0,a.jsx)(l,{filter:e}),n.includes("orderFilter")&&(0,a.jsx)(d,{filter:e}),n.includes("prePostIdFilter")&&(0,a.jsx)(m,{filter:e}),n.includes("prePostParamsFilter")&&(0,a.jsx)(f,{filter:e})]})}function o(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{children:"Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc."}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\tadd_filter('es_forms_block_${e}_additional_content', function(): string {\n\t\t\t\treturn '';\n\t\t\t})\n\t\t\t`)})]})}function l(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Data filter"}),(0,a.jsx)("p",{children:"Allows modifying form field data before it's shown in the Block Editor or output on the frontend."}),(0,a.jsx)("p",{children:"Useful if, for example, you want to ensure that all fields fit into a 2-column layout."}),(0,a.jsx)("p",{children:"Overrides any Block Editor changes!"}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\tadd_filter('es_forms_integrations_${e}_data', 'getIntegrationFilterData', 10, 2);\n\n\t\t\t/**\n\t\t\t * Manipulate form fields data before it is sent to the Block Editor.\n\t\t\t *\n\t\t\t * @param array $data Form fields data.\n\t\t\t * @param string $formId Form ID.\n\t\t\t *\n\t\t\t * @return array\n\t\t\t */\n\t\t\tfunction getIntegrationFilterData(array $data, string $formId): array\n\t\t\t{\n\t\t\t\tforeach ($data as $index => $field) {\n\t\t\t\t\t$component = $field['component'] ?? '';\n\n\t\t\t\t\tif (!$component) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t$name = $field["{$component}Name"] ?? '';\n\n\t\t\t\t\tif (!$name) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch ($name) {\n\t\t\t\t\t\tcase 'firstname':\n\t\t\t\t\t\tcase 'lastname':\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthMobile"] = 12;\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthLarge"] = 6;\n\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"] = array_merge(\n\t\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthMobile",\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthLarge",\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t`)})]})}function d(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Order filter"}),(0,a.jsx)("p",{children:"Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor."}),(0,a.jsxs)("p",{children:["Not all fields need to have an order defined. For example, you may want to make sure ",(0,a.jsx)("code",{children:"firstname"}),", ",(0,a.jsx)("code",{children:"lastname"})," and ",(0,a.jsx)("code",{children:"email"})," are displayed first, but other fields follow their Block editor order."]}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_order', 'getIntegrationOrder');\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Forces form field order for the provided fields. For other fields, Block editor order is used.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationOrder(): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t'firstname',\n\t\t\t\t\t\t\t'lastname',\n\t\t\t\t\t\t\t'email',\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t`)})]})}function m(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post ID filter"}),(0,a.jsx)("p",{children:"Allows updating item IDs sent to external integrations to which the form data is sent."}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_pre_post_id', 'getIntegrationPrePostId', 10, 3);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies integration item ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @param string $itemId Integration item ID.\n\t\t\t\t\t * @param array $params Params to be sent to the integration.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostId(string $itemId, array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn $itemId;\n\t\t\t\t\t}\n\t\t\t\t`)})]})}function f(t){let{filter:e}=t,n="";if("mailer"===e)n="mailer system";else n="external integration";return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post parameters filter"}),(0,a.jsxs)("p",{children:["Allows modifying form field data before it's sent to ",n,". Useful if you want to make values derived from the sent data, or add new fields."]}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_pre_post_params', 'getIntegrationPrePostParams', 10, 2);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies form field data before it's sent to ${n}.\n\t\t\t\t\t *\n\t\t\t\t\t * @param array $params Array of params.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostParams(array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\t$formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? '';\n\n\t\t\t\t\t\tif ($formSubmissionPageLt) {\n\t\t\t\t\t\t\t$params['ib-submission-source'] = [\n\t\t\t\t\t\t\t\t'name' => 'ib-submission-source',\n\t\t\t\t\t\t\t\t'value' => $formSubmissionPageLt,\n\t\t\t\t\t\t\t\t'type' => 'text',\n\t\t\t\t\t\t\t\t'internalType' => '',\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn $params;\n\t\t\t\t\t}\n\t\t\t\t`)})]})}},96616:(t,e,n)=>{function r(t){const e=t.split(/\n/g);for(;0===e[0]?.replace(/\s/g,"").length;)e.shift();for(;0===e[e.length-1]?.replace(/\s/g,"").length;)e.pop();const n=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>t.match(/^\s*/)?.[0]?.length??0)),r=Math.min(...n);return e.map((t=>t.slice(r))).join("\n")}n.d(e,{c:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/092d0294.dbd159f8.js b/assets/js/092d0294.dbd159f8.js deleted file mode 100644 index e3e68a9bc..000000000 --- a/assets/js/092d0294.dbd159f8.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[48792],{34790:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>o,default:()=>p,frontMatter:()=>s,metadata:()=>l,toc:()=>m});var r=n(85893),i=n(11151),a=n(8122);const s={id:"mailer",title:"Mailer"},o=void 0,l={id:"php/filters/integrations/mailer",title:"Mailer",description:"",source:"@site/forms/php/filters/integrations/mailer.mdx",sourceDirName:"php/filters/integrations",slug:"/php/filters/integrations/mailer",permalink:"/forms/php/filters/integrations/mailer",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"mailer",title:"Mailer"},sidebar:"forms",previous:{title:"Mailchimp",permalink:"/forms/php/filters/integrations/mailchimp"},next:{title:"MailerLite",permalink:"/forms/php/filters/integrations/mailerlite"}},d={},m=[];function f(t){return(0,r.jsx)(a.k,{name:"Mailer",filter:"mailer",onlyUse:["prePostParamsFilter"]})}function p(t={}){const{wrapper:e}={...(0,i.a)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(f,{...t})}):f()}},8122:(t,e,n)=>{n.d(e,{F:()=>o,k:()=>s});n(67294);var r=n(9286),i=n(61684),a=n(85893);function s(t){let{filter:e,onlyUse:n=["dataFilter","orderFilter","prePostIdFilter","prePostParamsFilter"]}=t;return(0,a.jsxs)(a.Fragment,{children:[n.includes("dataFilter")&&(0,a.jsx)(l,{filter:e}),n.includes("orderFilter")&&(0,a.jsx)(d,{filter:e}),n.includes("prePostIdFilter")&&(0,a.jsx)(m,{filter:e}),n.includes("prePostParamsFilter")&&(0,a.jsx)(f,{filter:e})]})}function o(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{children:"Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc."}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\tadd_filter('es_forms_block_"+e+"_additional_content', function(): string {\n\t\t\t\treturn '';\n\t\t\t})\n\t\t\t")})]})}function l(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Data filter"}),(0,a.jsx)("p",{children:"Allows modifying form field data before it's shown in the Block Editor or output on the frontend."}),(0,a.jsx)("p",{children:"Useful if, for example, you want to ensure that all fields fit into a 2-column layout."}),(0,a.jsx)("p",{children:"Overrides any Block Editor changes!"}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\tadd_filter('es_forms_integrations_"+e+'_data\', \'getIntegrationFilterData\', 10, 2);\n\n\t\t\t/**\n\t\t\t * Manipulate form fields data before it is sent to the Block Editor.\n\t\t\t *\n\t\t\t * @param array $data Form fields data.\n\t\t\t * @param string $formId Form ID.\n\t\t\t *\n\t\t\t * @return array\n\t\t\t */\n\t\t\tfunction getIntegrationFilterData(array $data, string $formId): array\n\t\t\t{\n\t\t\t\tforeach ($data as $index => $field) {\n\t\t\t\t\t$component = $field[\'component\'] ?? \'\';\n\n\t\t\t\t\tif (!$component) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t$name = $field["{$component}Name"] ?? \'\';\n\n\t\t\t\t\tif (!$name) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch ($name) {\n\t\t\t\t\t\tcase \'firstname\':\n\t\t\t\t\t\tcase \'lastname\':\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthMobile"] = 12;\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthLarge"] = 6;\n\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"] = array_merge(\n\t\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthMobile",\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthLarge",\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t')})]})}function d(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Order filter"}),(0,a.jsx)("p",{children:"Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor."}),(0,a.jsxs)("p",{children:["Not all fields need to have an order defined. For example, you may want to make sure ",(0,a.jsx)("code",{children:"firstname"}),", ",(0,a.jsx)("code",{children:"lastname"})," and ",(0,a.jsx)("code",{children:"email"})," are displayed first, but other fields follow their Block editor order."]}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_order', 'getIntegrationOrder');\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Forces form field order for the provided fields. For other fields, Block editor order is used.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationOrder(): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t'firstname',\n\t\t\t\t\t\t\t'lastname',\n\t\t\t\t\t\t\t'email',\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t")})]})}function m(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post ID filter"}),(0,a.jsx)("p",{children:"Allows updating item IDs sent to external integrations to which the form data is sent."}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_pre_post_id', 'getIntegrationPrePostId', 10, 3);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies integration item ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @param string $itemId Integration item ID.\n\t\t\t\t\t * @param array $params Params to be sent to the integration.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostId(string $itemId, array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn $itemId;\n\t\t\t\t\t}\n\t\t\t\t")})]})}function f(t){let{filter:e}=t,n="";if("mailer"===e)n="mailer system";else n="external integration";return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post parameters filter"}),(0,a.jsxs)("p",{children:["Allows modifying form field data before it's sent to ",n,". Useful if you want to make values derived from the sent data, or add new fields."]}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_pre_post_params', 'getIntegrationPrePostParams', 10, 2);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies form field data before it's sent to "+n+".\n\t\t\t\t\t *\n\t\t\t\t\t * @param array $params Array of params.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostParams(array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\t$formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? '';\n\n\t\t\t\t\t\tif ($formSubmissionPageLt) {\n\t\t\t\t\t\t\t$params['ib-submission-source'] = [\n\t\t\t\t\t\t\t\t'name' => 'ib-submission-source',\n\t\t\t\t\t\t\t\t'value' => $formSubmissionPageLt,\n\t\t\t\t\t\t\t\t'type' => 'text',\n\t\t\t\t\t\t\t\t'internalType' => '',\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn $params;\n\t\t\t\t\t}\n\t\t\t\t")})]})}},61684:(t,e,n)=>{function r(t){const e=t.split(/\n/g);for(;0===(null==(n=e[0])?void 0:n.replace(/\s/g,"").length);){var n;e.shift()}for(;0===(null==(r=e[e.length-1])?void 0:r.replace(/\s/g,"").length);){var r;e.pop()}const i=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>{var e,n;return null!=(e=null==(n=t.match(/^\s*/))||null==(n=n[0])?void 0:n.length)?e:0})),a=Math.min(...i);return e.map((t=>t.slice(a))).join("\n")}n.d(e,{p:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/09d8acdc.3e0471c0.js b/assets/js/09d8acdc.3e0471c0.js deleted file mode 100644 index c20ab009f..000000000 --- a/assets/js/09d8acdc.3e0471c0.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[2040],{1025:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>i,metadata:()=>a,toc:()=>l});var s=n(85893),o=n(11151);const i={id:"blocks-attributes",title:"Attributes"},r=void 0,a={id:"legacy/v6/basics/blocks-attributes",title:"Attributes",description:"docs-source",source:"@site/docs/legacy/v6/basics/blocks-attributes.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/blocks-attributes",permalink:"/docs/legacy/v6/basics/blocks-attributes",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-attributes",title:"Attributes"},sidebar:"docs",previous:{title:"Component Manifest",permalink:"/docs/legacy/v6/basics/blocks-component-manifest"},next:{title:"Component in a Block",permalink:"/docs/legacy/v6/basics/blocks-component-in-block"}},c={},l=[{value:"Structure",id:"structure",level:3}];function d(e){const t={a:"a",code:"code",h3:"h3",img:"img",p:"p",pre:"pre",...(0,o.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/",children:(0,s.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsxs)(t.p,{children:["If you were to reference the native ",(0,s.jsx)(t.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-attributes/",children:"WordPress documentation"})," about attributes in blocks, you can see that they support different types of attributes. In this chapter, we want to point out that you should avoid using objects for your attributes."]}),"\n",(0,s.jsxs)(t.p,{children:["The reason for this is that you can't control what key of that object is stored in the database once the attribute changes. When you change one key, the ",(0,s.jsx)(t.code,{children:"setAttributes"})," method will store the entire object in the database and you'll lose the best feature of block editor - the default attributes."]}),"\n",(0,s.jsx)(t.p,{children:"You can also look at this from the Reacts perspective: setting the entire object every time the key changes is bad for performance."}),"\n",(0,s.jsx)(t.p,{children:"Yes, you can use objects, but we recommend using them only when you want to store multiple keys simultaneously."}),"\n",(0,s.jsx)(t.h3,{id:"structure",children:"Structure"}),"\n",(0,s.jsxs)(t.p,{children:["All attributes in the block/component must begin with the exact same prefix as it is defined in the ",(0,s.jsx)(t.code,{children:"blockName"})," or ",(0,s.jsx)(t.code,{children:"componentName"}),". The reason behind this naming standard is that our helpers can automatically resolve and know what prefix to use when renaming the component name in the dependency tree. For more details about this feature please check ",(0,s.jsx)(t.a,{href:"blocks-component-in-block",children:"this chapter"}),"."]}),"\n",(0,s.jsx)(t.p,{children:"Block example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-json",children:'{\n "blockName": "heading",\n "attributes": {\n "headingContent": {\n "type": "string"\n },\n "headingLevel": {\n "type": "integer",\n "default": 2\n }\n }\n}\n'})}),"\n",(0,s.jsx)(t.p,{children:"or"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-json",children:'{\n "blockName": "intro",\n "attributes": {\n "introContent": {\n "type": "string"\n },\n "introLevel": {\n "type": "integer",\n "default": 2\n }\n }\n}\n'})}),"\n",(0,s.jsx)(t.p,{children:"Component example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-json",children:'{\n "componentName": "heading",\n "attributes": {\n "headingContent": {\n "type": "string"\n },\n "headingLevel": {\n "type": "integer",\n "default": 2\n }\n }\n}\n'})}),"\n",(0,s.jsx)(t.p,{children:"or"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-json",children:'{\n "componentName": "description",\n "attributes": {\n "descriptionContent": {\n "type": "string"\n },\n "descriptionLevel": {\n "type": "integer",\n "default": 2\n }\n }\n}\n'})}),"\n",(0,s.jsxs)(t.p,{children:["If you have a block/component that contains multiple words you should name it with a dash just like the block/component folder name, but the attributes must follow the ",(0,s.jsx)(t.code,{children:"camelCase"})," naming standard like this:"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-json",children:'{\n "componentName": "intro-heading",\n "attributes": {\n "introHeadingContent": {\n "type": "string"\n },\n "introHeadingLevel": {\n "type": "integer",\n "default": 2\n }\n }\n}\n'})})]})}function h(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},11151:(e,t,n)=>{n.d(t,{Z:()=>a,a:()=>r});var s=n(67294);const o={},i=s.createContext(o);function r(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/09d8acdc.79af2003.js b/assets/js/09d8acdc.79af2003.js new file mode 100644 index 000000000..009e89553 --- /dev/null +++ b/assets/js/09d8acdc.79af2003.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[69288],{94340:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>i,metadata:()=>a,toc:()=>l});var s=n(17624),o=n(4552);const i={id:"blocks-attributes",title:"Attributes"},r=void 0,a={id:"legacy/v6/basics/blocks-attributes",title:"Attributes",description:"docs-source",source:"@site/docs/legacy/v6/basics/blocks-attributes.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/blocks-attributes",permalink:"/docs/legacy/v6/basics/blocks-attributes",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-attributes",title:"Attributes"},sidebar:"docs",previous:{title:"Component Manifest",permalink:"/docs/legacy/v6/basics/blocks-component-manifest"},next:{title:"Component in a Block",permalink:"/docs/legacy/v6/basics/blocks-component-in-block"}},c={},l=[{value:"Structure",id:"structure",level:3}];function d(e){const t={a:"a",code:"code",h3:"h3",img:"img",p:"p",pre:"pre",...(0,o.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/",children:(0,s.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsxs)(t.p,{children:["If you were to reference the native ",(0,s.jsx)(t.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-attributes/",children:"WordPress documentation"})," about attributes in blocks, you can see that they support different types of attributes. In this chapter, we want to point out that you should avoid using objects for your attributes."]}),"\n",(0,s.jsxs)(t.p,{children:["The reason for this is that you can't control what key of that object is stored in the database once the attribute changes. When you change one key, the ",(0,s.jsx)(t.code,{children:"setAttributes"})," method will store the entire object in the database and you'll lose the best feature of block editor - the default attributes."]}),"\n",(0,s.jsx)(t.p,{children:"You can also look at this from the Reacts perspective: setting the entire object every time the key changes is bad for performance."}),"\n",(0,s.jsx)(t.p,{children:"Yes, you can use objects, but we recommend using them only when you want to store multiple keys simultaneously."}),"\n",(0,s.jsx)(t.h3,{id:"structure",children:"Structure"}),"\n",(0,s.jsxs)(t.p,{children:["All attributes in the block/component must begin with the exact same prefix as it is defined in the ",(0,s.jsx)(t.code,{children:"blockName"})," or ",(0,s.jsx)(t.code,{children:"componentName"}),". The reason behind this naming standard is that our helpers can automatically resolve and know what prefix to use when renaming the component name in the dependency tree. For more details about this feature please check ",(0,s.jsx)(t.a,{href:"blocks-component-in-block",children:"this chapter"}),"."]}),"\n",(0,s.jsx)(t.p,{children:"Block example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-json",children:'{\n "blockName": "heading",\n "attributes": {\n "headingContent": {\n "type": "string"\n },\n "headingLevel": {\n "type": "integer",\n "default": 2\n }\n }\n}\n'})}),"\n",(0,s.jsx)(t.p,{children:"or"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-json",children:'{\n "blockName": "intro",\n "attributes": {\n "introContent": {\n "type": "string"\n },\n "introLevel": {\n "type": "integer",\n "default": 2\n }\n }\n}\n'})}),"\n",(0,s.jsx)(t.p,{children:"Component example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-json",children:'{\n "componentName": "heading",\n "attributes": {\n "headingContent": {\n "type": "string"\n },\n "headingLevel": {\n "type": "integer",\n "default": 2\n }\n }\n}\n'})}),"\n",(0,s.jsx)(t.p,{children:"or"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-json",children:'{\n "componentName": "description",\n "attributes": {\n "descriptionContent": {\n "type": "string"\n },\n "descriptionLevel": {\n "type": "integer",\n "default": 2\n }\n }\n}\n'})}),"\n",(0,s.jsxs)(t.p,{children:["If you have a block/component that contains multiple words you should name it with a dash just like the block/component folder name, but the attributes must follow the ",(0,s.jsx)(t.code,{children:"camelCase"})," naming standard like this:"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-json",children:'{\n "componentName": "intro-heading",\n "attributes": {\n "introHeadingContent": {\n "type": "string"\n },\n "introHeadingLevel": {\n "type": "integer",\n "default": 2\n }\n }\n}\n'})})]})}function h(e={}){const{wrapper:t}={...(0,o.M)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},4552:(e,t,n)=>{n.d(t,{I:()=>a,M:()=>r});var s=n(11504);const o={},i=s.createContext(o);function r(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0a9768df.22ef395f.js b/assets/js/0a9768df.22ef395f.js new file mode 100644 index 000000000..96a579324 --- /dev/null +++ b/assets/js/0a9768df.22ef395f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[95192],{63136:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>d,contentTitle:()=>o,default:()=>u,frontMatter:()=>n,metadata:()=>i,toc:()=>c});var s=a(17624),r=a(4552);const n={id:"dashboard",title:"Dashboard"},o=void 0,i={id:"features/dashboard",title:"Dashboard",description:"The dashboards gives you an overview of the currently active features and enables activating and deactivating of them.",source:"@site/forms/features/dashboard.md",sourceDirName:"features",slug:"/features/dashboard",permalink:"/forms/features/dashboard",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"dashboard",title:"Dashboard"},sidebar:"forms",previous:{title:"Your first form",permalink:"/forms/first-form"},next:{title:"Conditional tags",permalink:"/forms/features/conditional-tags"}},d={},c=[];function f(e){const t={img:"img",p:"p",...(0,r.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:"The dashboards gives you an overview of the currently active features and enables activating and deactivating of them."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Dashboard screen",src:a(91976).c+"",width:"611",height:"838"})})]})}function u(e={}){const{wrapper:t}={...(0,r.M)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(f,{...e})}):f(e)}},91976:(e,t,a)=>{a.d(t,{c:()=>s});const s=a.p+"assets/images/dashboard-1219da14a41cb6fff3b761a1df4dc7ee.webp"},4552:(e,t,a)=>{a.d(t,{I:()=>i,M:()=>o});var s=a(11504);const r={},n=s.createContext(r);function o(e){const t=s.useContext(n);return s.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(r):e.components||r:o(e.components),s.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0a9768df.3bb1668c.js b/assets/js/0a9768df.3bb1668c.js deleted file mode 100644 index 69b04bedc..000000000 --- a/assets/js/0a9768df.3bb1668c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[5488],{88820:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>d,contentTitle:()=>o,default:()=>u,frontMatter:()=>n,metadata:()=>i,toc:()=>c});var s=a(85893),r=a(11151);const n={id:"dashboard",title:"Dashboard"},o=void 0,i={id:"features/dashboard",title:"Dashboard",description:"The dashboards gives you an overview of the currently active features and enables activating and deactivating of them.",source:"@site/forms/features/dashboard.md",sourceDirName:"features",slug:"/features/dashboard",permalink:"/forms/features/dashboard",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"dashboard",title:"Dashboard"},sidebar:"forms",previous:{title:"Your first form",permalink:"/forms/first-form"},next:{title:"Conditional tags",permalink:"/forms/features/conditional-tags"}},d={},c=[];function f(e){const t={img:"img",p:"p",...(0,r.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:"The dashboards gives you an overview of the currently active features and enables activating and deactivating of them."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Dashboard screen",src:a(42423).Z+"",width:"611",height:"838"})})]})}function u(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(f,{...e})}):f(e)}},42423:(e,t,a)=>{a.d(t,{Z:()=>s});const s=a.p+"assets/images/dashboard-1219da14a41cb6fff3b761a1df4dc7ee.webp"},11151:(e,t,a)=>{a.d(t,{Z:()=>i,a:()=>o});var s=a(67294);const r={},n=s.createContext(r);function o(e){const t=s.useContext(n);return s.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(r):e.components||r:o(e.components),s.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0aeeb10b.2257b5c1.js b/assets/js/0aeeb10b.2257b5c1.js new file mode 100644 index 000000000..64c776f0c --- /dev/null +++ b/assets/js/0aeeb10b.2257b5c1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[18126],{68392:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>d,frontMatter:()=>o,metadata:()=>l,toc:()=>a});var n=i(17624),s=i(4552);const o={id:"eightshift-frontend-libs",title:"Eightshift Frontend Libs"},r=void 0,l={id:"eightshift-frontend-libs",title:"Eightshift Frontend Libs",description:"docs-source",source:"@site/docs/eightshift-frontend-libs.md",sourceDirName:".",slug:"/eightshift-frontend-libs",permalink:"/docs/eightshift-frontend-libs",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"eightshift-frontend-libs",title:"Eightshift Frontend Libs"},sidebar:"docs",previous:{title:"Eightshift Libs",permalink:"/docs/eightshift-libs"},next:{title:"Requirements",permalink:"/docs/requirements"}},c={},a=[{value:"Prerequisites",id:"prerequisites",level:2},{value:"The library contains:",id:"the-library-contains",level:3},{value:"How to integrate into an existing project",id:"how-to-integrate-into-an-existing-project",level:2},{value:"Who do I talk to?",id:"who-do-i-talk-to",level:2}];function h(e){const t={a:"a",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",ul:"ul",...(0,s.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/blocks/",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsxs)(t.p,{children:["This library is meant to bring modern front-end development tools to the ",(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-boilerplate",children:"Eightshift Boilerplate"})," or ",(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-boilerplate-plugin",children:"Eightshift Boilerplate Plugin"}),", but you can use it on any WordPress project."]}),"\n",(0,n.jsx)(t.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,n.jsx)(t.p,{children:"The knowledge of the core editor components and React.js is recommended, since this library is focused on working with the new block editor and contains custom blocks. If you want to create your custom blocks, that knowledge will come in handy."}),"\n",(0,n.jsxs)(t.p,{children:["The library can be used for pure Webpack/JS/SCSS functionality, but if you want to use our blocks, ",(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/",children:"Eightshift Libs"})," must be used in tandem because they handle block registration, attribute handling and more."]}),"\n",(0,n.jsx)(t.h3,{id:"the-library-contains",children:"The library contains:"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"All JS packages required for the Webpack build"}),"\n",(0,n.jsx)(t.li,{children:"ESLint ruleset"}),"\n",(0,n.jsx)(t.li,{children:"Stylelint ruleset"}),"\n",(0,n.jsx)(t.li,{children:"Babel ruleset"}),"\n",(0,n.jsx)(t.li,{children:"A collection of useful front-end utility modules"}),"\n",(0,n.jsx)(t.li,{children:"The complete storybook of over 30+ useful blocks and components"}),"\n",(0,n.jsx)(t.li,{children:"Block editor block examples"}),"\n",(0,n.jsx)(t.li,{children:"A growing collection of blocks and components"}),"\n",(0,n.jsxs)(t.li,{children:["The complete Webpack build for ",(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-boilerplate",children:"Eightshift Boilerplate"})]}),"\n",(0,n.jsx)(t.li,{children:"Helpers for creating dynamic block editor blocks"}),"\n",(0,n.jsx)(t.li,{children:"..."}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"how-to-integrate-into-an-existing-project",children:"How to integrate into an existing project"}),"\n",(0,n.jsx)(t.p,{children:"The process of integrating the libs into an existing project is not easy, because it really depends on how your theme or plugin is built. Our libs expect the usage of namespacing, and adding namespace in a non namespaced codebase can potentially cause breakage."}),"\n",(0,n.jsx)(t.p,{children:"You can try to manually add the backend libs using composer and frontend using npm, but the process of connecting everything up can be a complex one. So we recommend starting from a clean slate."}),"\n",(0,n.jsx)(t.h2,{id:"who-do-i-talk-to",children:"Who do I talk to?"}),"\n",(0,n.jsxs)(t.p,{children:["If you have any questions or problems, please ",(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/issues",children:"open an issue"})," on GitHub, and we will do our best to give you a timely answer."]})]})}function d(e={}){const{wrapper:t}={...(0,s.M)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(h,{...e})}):h(e)}},4552:(e,t,i)=>{i.d(t,{I:()=>l,M:()=>r});var n=i(11504);const s={},o=n.createContext(s);function r(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:r(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0aeeb10b.fbde84e0.js b/assets/js/0aeeb10b.fbde84e0.js deleted file mode 100644 index 268a908d5..000000000 --- a/assets/js/0aeeb10b.fbde84e0.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[79321],{87930:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>d,frontMatter:()=>o,metadata:()=>l,toc:()=>a});var n=i(85893),s=i(11151);const o={id:"eightshift-frontend-libs",title:"Eightshift Frontend Libs"},r=void 0,l={id:"eightshift-frontend-libs",title:"Eightshift Frontend Libs",description:"docs-source",source:"@site/docs/eightshift-frontend-libs.md",sourceDirName:".",slug:"/eightshift-frontend-libs",permalink:"/docs/eightshift-frontend-libs",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"eightshift-frontend-libs",title:"Eightshift Frontend Libs"},sidebar:"docs",previous:{title:"Eightshift Libs",permalink:"/docs/eightshift-libs"},next:{title:"Requirements",permalink:"/docs/requirements"}},c={},a=[{value:"Prerequisites",id:"prerequisites",level:2},{value:"The library contains:",id:"the-library-contains",level:3},{value:"How to integrate into an existing project",id:"how-to-integrate-into-an-existing-project",level:2},{value:"Who do I talk to?",id:"who-do-i-talk-to",level:2}];function h(e){const t={a:"a",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",ul:"ul",...(0,s.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/blocks/",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsxs)(t.p,{children:["This library is meant to bring modern front-end development tools to the ",(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-boilerplate",children:"Eightshift Boilerplate"})," or ",(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-boilerplate-plugin",children:"Eightshift Boilerplate Plugin"}),", but you can use it on any WordPress project."]}),"\n",(0,n.jsx)(t.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,n.jsx)(t.p,{children:"The knowledge of the core editor components and React.js is recommended, since this library is focused on working with the new block editor and contains custom blocks. If you want to create your custom blocks, that knowledge will come in handy."}),"\n",(0,n.jsxs)(t.p,{children:["The library can be used for pure Webpack/JS/SCSS functionality, but if you want to use our blocks, ",(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/",children:"Eightshift Libs"})," must be used in tandem because they handle block registration, attribute handling and more."]}),"\n",(0,n.jsx)(t.h3,{id:"the-library-contains",children:"The library contains:"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"All JS packages required for the Webpack build"}),"\n",(0,n.jsx)(t.li,{children:"ESLint ruleset"}),"\n",(0,n.jsx)(t.li,{children:"Stylelint ruleset"}),"\n",(0,n.jsx)(t.li,{children:"Babel ruleset"}),"\n",(0,n.jsx)(t.li,{children:"A collection of useful front-end utility modules"}),"\n",(0,n.jsx)(t.li,{children:"The complete storybook of over 30+ useful blocks and components"}),"\n",(0,n.jsx)(t.li,{children:"Block editor block examples"}),"\n",(0,n.jsx)(t.li,{children:"A growing collection of blocks and components"}),"\n",(0,n.jsxs)(t.li,{children:["The complete Webpack build for ",(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-boilerplate",children:"Eightshift Boilerplate"})]}),"\n",(0,n.jsx)(t.li,{children:"Helpers for creating dynamic block editor blocks"}),"\n",(0,n.jsx)(t.li,{children:"..."}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"how-to-integrate-into-an-existing-project",children:"How to integrate into an existing project"}),"\n",(0,n.jsx)(t.p,{children:"The process of integrating the libs into an existing project is not easy, because it really depends on how your theme or plugin is built. Our libs expect the usage of namespacing, and adding namespace in a non namespaced codebase can potentially cause breakage."}),"\n",(0,n.jsx)(t.p,{children:"You can try to manually add the backend libs using composer and frontend using npm, but the process of connecting everything up can be a complex one. So we recommend starting from a clean slate."}),"\n",(0,n.jsx)(t.h2,{id:"who-do-i-talk-to",children:"Who do I talk to?"}),"\n",(0,n.jsxs)(t.p,{children:["If you have any questions or problems, please ",(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/issues",children:"open an issue"})," on GitHub, and we will do our best to give you a timely answer."]})]})}function d(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(h,{...e})}):h(e)}},11151:(e,t,i)=>{i.d(t,{Z:()=>l,a:()=>r});var n=i(67294);const s={},o=n.createContext(s);function r(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:r(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0bea9cd5.00c46752.js b/assets/js/0bea9cd5.00c46752.js deleted file mode 100644 index c93a8be0c..000000000 --- a/assets/js/0bea9cd5.00c46752.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[65039],{53888:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>i,contentTitle:()=>n,default:()=>h,frontMatter:()=>l,metadata:()=>r,toc:()=>c});var o=s(85893),a=s(11151);const l={id:"blocks-reusable",title:"Reusable Blocks"},n=void 0,r={id:"legacy/v7/basics/blocks-reusable",title:"Reusable Blocks",description:"docs-source",source:"@site/docs/legacy/v7/basics/blocks-reusable.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/blocks-reusable",permalink:"/docs/legacy/v7/basics/blocks-reusable",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-reusable",title:"Reusable Blocks"},sidebar:"docs",previous:{title:"Special Use Cases",permalink:"/docs/legacy/v7/basics/blocks-special-use-cases"},next:{title:"Styles",permalink:"/docs/legacy/v7/basics/blocks-styles"}},i={},c=[{value:"Register admin sidemenu",id:"register-admin-sidemenu",level:3},{value:"Use the reusable block as a partial",id:"use-the-reusable-block-as-a-partial",level:3}];function u(e){const t={a:"a",blockquote:"blockquote",code:"code",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/",children:(0,o.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(t.p,{children:"Block editor provides us with the reusable blocks out of the box. These blocks are a custom post type that holds blocks that you can call in your editor to reuse in multiple places. So if you change your reusable block that change will impact all places where this block is imported."}),"\n",(0,o.jsx)(t.h3,{id:"register-admin-sidemenu",children:"Register admin sidemenu"}),"\n",(0,o.jsx)(t.p,{children:"Reusable blocks can be accessed from the block editors options page but to help our editors, we like to add a new menu in the admin sidebar where you can easily access all your reusable blocks. If you use our custom blocks setup this sidebar menu will be added by default."}),"\n",(0,o.jsx)(t.h3,{id:"use-the-reusable-block-as-a-partial",children:"Use the reusable block as a partial"}),"\n",(0,o.jsx)(t.p,{children:"We also like to use a reusable block for website parts that were previously hardcoded in the theme and are not a part of the block editor. We like to use this footer of additional options in categories and terms."}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.strong,{children:"Here are the steps:"})}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"Create a new reusable block for your partial."}),"\n",(0,o.jsx)(t.li,{children:"Create a config where you can configure what reusable block are you going to use in your theme. We like to use ACF PRO and its option to create a theme options page."}),"\n",(0,o.jsx)(t.li,{children:"Call this option in your theme and output your block."}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:"The first two steps are easy enough, but here is an example for the third step:"}),"\n",(0,o.jsx)(t.p,{children:"footer.php"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-php",children:"// Check if the footer partial is set and use the contents of it.\n$footerPartialId = '1'; // here you provide your way to get the option set in the second step.\n\nif (!empty($footerPartialId)) {\n\t$footerBlocks = parse_blocks(get_the_content(null, null, $footerPartialId));\n\n\tforeach ($footerBlocks as $block) {\n\t\techo wp_kses_post(\\apply_filters('the_content', \\render_block($block)));\n\t}\n}\n"})}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsx)(t.p,{children:"Notes about reusable blocks, they're not native WP search friendly (as in the content you only have the WP block comment markup that there's a specific reusable block there). So if you use a lot of these in the content of a page / post, it might affect your search relevancy."}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},11151:(e,t,s)=>{s.d(t,{Z:()=>r,a:()=>n});var o=s(67294);const a={},l=o.createContext(a);function n(e){const t=o.useContext(l);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(a):e.components||a:n(e.components),o.createElement(l.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0bea9cd5.05ce6707.js b/assets/js/0bea9cd5.05ce6707.js new file mode 100644 index 000000000..6d4a49342 --- /dev/null +++ b/assets/js/0bea9cd5.05ce6707.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[75437],{30308:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>i,contentTitle:()=>n,default:()=>h,frontMatter:()=>l,metadata:()=>r,toc:()=>c});var o=s(17624),a=s(4552);const l={id:"blocks-reusable",title:"Reusable Blocks"},n=void 0,r={id:"legacy/v7/basics/blocks-reusable",title:"Reusable Blocks",description:"docs-source",source:"@site/docs/legacy/v7/basics/blocks-reusable.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/blocks-reusable",permalink:"/docs/legacy/v7/basics/blocks-reusable",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-reusable",title:"Reusable Blocks"},sidebar:"docs",previous:{title:"Special Use Cases",permalink:"/docs/legacy/v7/basics/blocks-special-use-cases"},next:{title:"Styles",permalink:"/docs/legacy/v7/basics/blocks-styles"}},i={},c=[{value:"Register admin sidemenu",id:"register-admin-sidemenu",level:3},{value:"Use the reusable block as a partial",id:"use-the-reusable-block-as-a-partial",level:3}];function u(e){const t={a:"a",blockquote:"blockquote",code:"code",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/",children:(0,o.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(t.p,{children:"Block editor provides us with the reusable blocks out of the box. These blocks are a custom post type that holds blocks that you can call in your editor to reuse in multiple places. So if you change your reusable block that change will impact all places where this block is imported."}),"\n",(0,o.jsx)(t.h3,{id:"register-admin-sidemenu",children:"Register admin sidemenu"}),"\n",(0,o.jsx)(t.p,{children:"Reusable blocks can be accessed from the block editors options page but to help our editors, we like to add a new menu in the admin sidebar where you can easily access all your reusable blocks. If you use our custom blocks setup this sidebar menu will be added by default."}),"\n",(0,o.jsx)(t.h3,{id:"use-the-reusable-block-as-a-partial",children:"Use the reusable block as a partial"}),"\n",(0,o.jsx)(t.p,{children:"We also like to use a reusable block for website parts that were previously hardcoded in the theme and are not a part of the block editor. We like to use this footer of additional options in categories and terms."}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.strong,{children:"Here are the steps:"})}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"Create a new reusable block for your partial."}),"\n",(0,o.jsx)(t.li,{children:"Create a config where you can configure what reusable block are you going to use in your theme. We like to use ACF PRO and its option to create a theme options page."}),"\n",(0,o.jsx)(t.li,{children:"Call this option in your theme and output your block."}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:"The first two steps are easy enough, but here is an example for the third step:"}),"\n",(0,o.jsx)(t.p,{children:"footer.php"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-php",children:"// Check if the footer partial is set and use the contents of it.\n$footerPartialId = '1'; // here you provide your way to get the option set in the second step.\n\nif (!empty($footerPartialId)) {\n\t$footerBlocks = parse_blocks(get_the_content(null, null, $footerPartialId));\n\n\tforeach ($footerBlocks as $block) {\n\t\techo wp_kses_post(\\apply_filters('the_content', \\render_block($block)));\n\t}\n}\n"})}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsx)(t.p,{children:"Notes about reusable blocks, they're not native WP search friendly (as in the content you only have the WP block comment markup that there's a specific reusable block there). So if you use a lot of these in the content of a page / post, it might affect your search relevancy."}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,a.M)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},4552:(e,t,s)=>{s.d(t,{I:()=>r,M:()=>n});var o=s(11504);const a={},l=o.createContext(a);function n(e){const t=o.useContext(l);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(a):e.components||a:n(e.components),o.createElement(l.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0c06981f.cf1e710a.js b/assets/js/0c06981f.cf1e710a.js new file mode 100644 index 000000000..fc31d07e3 --- /dev/null +++ b/assets/js/0c06981f.cf1e710a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[65520],{1720:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>i,default:()=>l,frontMatter:()=>a,metadata:()=>o,toc:()=>m});var s=r(17624),n=r(4552);const a={id:"pre-post-params",title:"Pre-Post Params"},i=void 0,o={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.",source:"@site/forms/php/filters/entries/pre-post-params.md",sourceDirName:"php/filters/entries",slug:"/php/filters/entries/pre-post-params",permalink:"/forms/php/filters/entries/pre-post-params",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"pre-post-params",title:"Pre-Post Params"},sidebar:"forms",previous:{title:"Pipedrive",permalink:"/forms/php/filters/integrations/pipedrive"},next:{title:"Manual map",permalink:"/forms/php/filters/enrichment/manual-map"}},p={},m=[];function f(e){const t={code:"code",p:"p",pre:"pre",...(0,n.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:"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."}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-php",children:"\\add_filter('es_forms_entries_pre_post_params', [$this, 'getIntegrationPrePostParams'], 10, 3);\n\n/**\n * Change form fields data before it is stored to the WordPress database\n *\n * @param array $params Array of params.\n * @param string $formId Form ID.\n * @param array $formDetails Data passed from the `getFormDetailsApi` function.\n *\n * @return array\n */\npublic function getIntegrationPrePostParams(array $params, string $formId, array $formDetails): array\n{\n\t$formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? '';\n\n\tif ($formSubmissionPageLt) {\n\t\t$params['ib-submission-source'] = [\n\t\t\t'name' => 'ib-submission-source',\n\t\t\t'value' => $formSubmissionPageLt,\n\t\t\t'type' => 'text',\n\t\t\t'internalType' => '',\n\t\t];\n\t}\n\n\treturn $params;\n}\n"})})]})}function l(e={}){const{wrapper:t}={...(0,n.M)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(f,{...e})}):f(e)}},4552:(e,t,r)=>{r.d(t,{I:()=>o,M:()=>i});var s=r(11504);const n={},a=s.createContext(n);function i(e){const t=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),s.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0c06981f.fa2bb7b3.js b/assets/js/0c06981f.fa2bb7b3.js deleted file mode 100644 index 9fd415920..000000000 --- a/assets/js/0c06981f.fa2bb7b3.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[84266],{54631:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>i,default:()=>l,frontMatter:()=>a,metadata:()=>o,toc:()=>m});var s=r(85893),n=r(11151);const a={id:"pre-post-params",title:"Pre-Post Params"},i=void 0,o={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.",source:"@site/forms/php/filters/entries/pre-post-params.md",sourceDirName:"php/filters/entries",slug:"/php/filters/entries/pre-post-params",permalink:"/forms/php/filters/entries/pre-post-params",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"pre-post-params",title:"Pre-Post Params"},sidebar:"forms",previous:{title:"Pipedrive",permalink:"/forms/php/filters/integrations/pipedrive"},next:{title:"Manual map",permalink:"/forms/php/filters/enrichment/manual-map"}},p={},m=[];function f(e){const t={code:"code",p:"p",pre:"pre",...(0,n.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:"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."}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-php",children:"\\add_filter('es_forms_entries_pre_post_params', [$this, 'getIntegrationPrePostParams'], 10, 3);\n\n/**\n * Change form fields data before it is stored to the WordPress database\n *\n * @param array $params Array of params.\n * @param string $formId Form ID.\n * @param array $formDetails Data passed from the `getFormDetailsApi` function.\n *\n * @return array\n */\npublic function getIntegrationPrePostParams(array $params, string $formId, array $formDetails): array\n{\n\t$formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? '';\n\n\tif ($formSubmissionPageLt) {\n\t\t$params['ib-submission-source'] = [\n\t\t\t'name' => 'ib-submission-source',\n\t\t\t'value' => $formSubmissionPageLt,\n\t\t\t'type' => 'text',\n\t\t\t'internalType' => '',\n\t\t];\n\t}\n\n\treturn $params;\n}\n"})})]})}function l(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(f,{...e})}):f(e)}},11151:(e,t,r)=>{r.d(t,{Z:()=>o,a:()=>i});var s=r(67294);const n={},a=s.createContext(n);function i(e){const t=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),s.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0c7b26d1.7f2bfee4.js b/assets/js/0c7b26d1.7f2bfee4.js new file mode 100644 index 000000000..0f182cb3e --- /dev/null +++ b/assets/js/0c7b26d1.7f2bfee4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[5304],{92780:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>s,default:()=>m,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var r=n(17624),i=n(4552),a=n(80148);const o={id:"additional-content",title:"Additional content"},s=void 0,l={id:"php/filters/block/country/additional-content",title:"Additional content",description:"",source:"@site/forms/php/filters/block/country/additional-content.mdx",sourceDirName:"php/filters/block/country",slug:"/php/filters/block/country/additional-content",permalink:"/forms/php/filters/block/country/additional-content",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"additional-content",title:"Additional content"},sidebar:"forms",previous:{title:"Alternative datasets",permalink:"/forms/php/filters/block/country/alternative-data-set"},next:{title:"Additional content",permalink:"/forms/php/filters/block/date/additional-content"}},d={},c=[];function f(t){return(0,r.jsx)(a.g,{filter:"country"})}function m(t={}){const{wrapper:e}={...(0,i.M)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(f,{...t})}):f()}},80148:(t,e,n)=>{n.d(e,{g:()=>s,y:()=>o});n(11504);var r=n(1608),i=n(96616),a=n(17624);function o(t){let{filter:e,onlyUse:n=["dataFilter","orderFilter","prePostIdFilter","prePostParamsFilter"]}=t;return(0,a.jsxs)(a.Fragment,{children:[n.includes("dataFilter")&&(0,a.jsx)(l,{filter:e}),n.includes("orderFilter")&&(0,a.jsx)(d,{filter:e}),n.includes("prePostIdFilter")&&(0,a.jsx)(c,{filter:e}),n.includes("prePostParamsFilter")&&(0,a.jsx)(f,{filter:e})]})}function s(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{children:"Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc."}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\tadd_filter('es_forms_block_${e}_additional_content', function(): string {\n\t\t\t\treturn '';\n\t\t\t})\n\t\t\t`)})]})}function l(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Data filter"}),(0,a.jsx)("p",{children:"Allows modifying form field data before it's shown in the Block Editor or output on the frontend."}),(0,a.jsx)("p",{children:"Useful if, for example, you want to ensure that all fields fit into a 2-column layout."}),(0,a.jsx)("p",{children:"Overrides any Block Editor changes!"}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\tadd_filter('es_forms_integrations_${e}_data', 'getIntegrationFilterData', 10, 2);\n\n\t\t\t/**\n\t\t\t * Manipulate form fields data before it is sent to the Block Editor.\n\t\t\t *\n\t\t\t * @param array $data Form fields data.\n\t\t\t * @param string $formId Form ID.\n\t\t\t *\n\t\t\t * @return array\n\t\t\t */\n\t\t\tfunction getIntegrationFilterData(array $data, string $formId): array\n\t\t\t{\n\t\t\t\tforeach ($data as $index => $field) {\n\t\t\t\t\t$component = $field['component'] ?? '';\n\n\t\t\t\t\tif (!$component) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t$name = $field["{$component}Name"] ?? '';\n\n\t\t\t\t\tif (!$name) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch ($name) {\n\t\t\t\t\t\tcase 'firstname':\n\t\t\t\t\t\tcase 'lastname':\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthMobile"] = 12;\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthLarge"] = 6;\n\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"] = array_merge(\n\t\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthMobile",\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthLarge",\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t`)})]})}function d(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Order filter"}),(0,a.jsx)("p",{children:"Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor."}),(0,a.jsxs)("p",{children:["Not all fields need to have an order defined. For example, you may want to make sure ",(0,a.jsx)("code",{children:"firstname"}),", ",(0,a.jsx)("code",{children:"lastname"})," and ",(0,a.jsx)("code",{children:"email"})," are displayed first, but other fields follow their Block editor order."]}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_order', 'getIntegrationOrder');\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Forces form field order for the provided fields. For other fields, Block editor order is used.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationOrder(): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t'firstname',\n\t\t\t\t\t\t\t'lastname',\n\t\t\t\t\t\t\t'email',\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t`)})]})}function c(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post ID filter"}),(0,a.jsx)("p",{children:"Allows updating item IDs sent to external integrations to which the form data is sent."}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_pre_post_id', 'getIntegrationPrePostId', 10, 3);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies integration item ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @param string $itemId Integration item ID.\n\t\t\t\t\t * @param array $params Params to be sent to the integration.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostId(string $itemId, array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn $itemId;\n\t\t\t\t\t}\n\t\t\t\t`)})]})}function f(t){let{filter:e}=t,n="";if("mailer"===e)n="mailer system";else n="external integration";return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post parameters filter"}),(0,a.jsxs)("p",{children:["Allows modifying form field data before it's sent to ",n,". Useful if you want to make values derived from the sent data, or add new fields."]}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_pre_post_params', 'getIntegrationPrePostParams', 10, 2);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies form field data before it's sent to ${n}.\n\t\t\t\t\t *\n\t\t\t\t\t * @param array $params Array of params.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostParams(array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\t$formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? '';\n\n\t\t\t\t\t\tif ($formSubmissionPageLt) {\n\t\t\t\t\t\t\t$params['ib-submission-source'] = [\n\t\t\t\t\t\t\t\t'name' => 'ib-submission-source',\n\t\t\t\t\t\t\t\t'value' => $formSubmissionPageLt,\n\t\t\t\t\t\t\t\t'type' => 'text',\n\t\t\t\t\t\t\t\t'internalType' => '',\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn $params;\n\t\t\t\t\t}\n\t\t\t\t`)})]})}},96616:(t,e,n)=>{function r(t){const e=t.split(/\n/g);for(;0===e[0]?.replace(/\s/g,"").length;)e.shift();for(;0===e[e.length-1]?.replace(/\s/g,"").length;)e.pop();const n=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>t.match(/^\s*/)?.[0]?.length??0)),r=Math.min(...n);return e.map((t=>t.slice(r))).join("\n")}n.d(e,{c:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/0c7b26d1.db1638b5.js b/assets/js/0c7b26d1.db1638b5.js deleted file mode 100644 index 07878a968..000000000 --- a/assets/js/0c7b26d1.db1638b5.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[94829],{75860:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>s,default:()=>m,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var r=n(85893),i=n(11151),a=n(8122);const o={id:"additional-content",title:"Additional content"},s=void 0,l={id:"php/filters/block/country/additional-content",title:"Additional content",description:"",source:"@site/forms/php/filters/block/country/additional-content.mdx",sourceDirName:"php/filters/block/country",slug:"/php/filters/block/country/additional-content",permalink:"/forms/php/filters/block/country/additional-content",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"additional-content",title:"Additional content"},sidebar:"forms",previous:{title:"Alternative datasets",permalink:"/forms/php/filters/block/country/alternative-data-set"},next:{title:"Additional content",permalink:"/forms/php/filters/block/date/additional-content"}},d={},c=[];function f(t){return(0,r.jsx)(a.F,{filter:"country"})}function m(t={}){const{wrapper:e}={...(0,i.a)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(f,{...t})}):f()}},8122:(t,e,n)=>{n.d(e,{F:()=>s,k:()=>o});n(67294);var r=n(9286),i=n(61684),a=n(85893);function o(t){let{filter:e,onlyUse:n=["dataFilter","orderFilter","prePostIdFilter","prePostParamsFilter"]}=t;return(0,a.jsxs)(a.Fragment,{children:[n.includes("dataFilter")&&(0,a.jsx)(l,{filter:e}),n.includes("orderFilter")&&(0,a.jsx)(d,{filter:e}),n.includes("prePostIdFilter")&&(0,a.jsx)(c,{filter:e}),n.includes("prePostParamsFilter")&&(0,a.jsx)(f,{filter:e})]})}function s(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{children:"Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc."}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\tadd_filter('es_forms_block_"+e+"_additional_content', function(): string {\n\t\t\t\treturn '';\n\t\t\t})\n\t\t\t")})]})}function l(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Data filter"}),(0,a.jsx)("p",{children:"Allows modifying form field data before it's shown in the Block Editor or output on the frontend."}),(0,a.jsx)("p",{children:"Useful if, for example, you want to ensure that all fields fit into a 2-column layout."}),(0,a.jsx)("p",{children:"Overrides any Block Editor changes!"}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\tadd_filter('es_forms_integrations_"+e+'_data\', \'getIntegrationFilterData\', 10, 2);\n\n\t\t\t/**\n\t\t\t * Manipulate form fields data before it is sent to the Block Editor.\n\t\t\t *\n\t\t\t * @param array $data Form fields data.\n\t\t\t * @param string $formId Form ID.\n\t\t\t *\n\t\t\t * @return array\n\t\t\t */\n\t\t\tfunction getIntegrationFilterData(array $data, string $formId): array\n\t\t\t{\n\t\t\t\tforeach ($data as $index => $field) {\n\t\t\t\t\t$component = $field[\'component\'] ?? \'\';\n\n\t\t\t\t\tif (!$component) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t$name = $field["{$component}Name"] ?? \'\';\n\n\t\t\t\t\tif (!$name) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch ($name) {\n\t\t\t\t\t\tcase \'firstname\':\n\t\t\t\t\t\tcase \'lastname\':\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthMobile"] = 12;\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthLarge"] = 6;\n\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"] = array_merge(\n\t\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthMobile",\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthLarge",\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t')})]})}function d(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Order filter"}),(0,a.jsx)("p",{children:"Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor."}),(0,a.jsxs)("p",{children:["Not all fields need to have an order defined. For example, you may want to make sure ",(0,a.jsx)("code",{children:"firstname"}),", ",(0,a.jsx)("code",{children:"lastname"})," and ",(0,a.jsx)("code",{children:"email"})," are displayed first, but other fields follow their Block editor order."]}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_order', 'getIntegrationOrder');\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Forces form field order for the provided fields. For other fields, Block editor order is used.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationOrder(): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t'firstname',\n\t\t\t\t\t\t\t'lastname',\n\t\t\t\t\t\t\t'email',\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t")})]})}function c(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post ID filter"}),(0,a.jsx)("p",{children:"Allows updating item IDs sent to external integrations to which the form data is sent."}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_pre_post_id', 'getIntegrationPrePostId', 10, 3);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies integration item ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @param string $itemId Integration item ID.\n\t\t\t\t\t * @param array $params Params to be sent to the integration.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostId(string $itemId, array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn $itemId;\n\t\t\t\t\t}\n\t\t\t\t")})]})}function f(t){let{filter:e}=t,n="";if("mailer"===e)n="mailer system";else n="external integration";return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post parameters filter"}),(0,a.jsxs)("p",{children:["Allows modifying form field data before it's sent to ",n,". Useful if you want to make values derived from the sent data, or add new fields."]}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_pre_post_params', 'getIntegrationPrePostParams', 10, 2);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies form field data before it's sent to "+n+".\n\t\t\t\t\t *\n\t\t\t\t\t * @param array $params Array of params.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostParams(array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\t$formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? '';\n\n\t\t\t\t\t\tif ($formSubmissionPageLt) {\n\t\t\t\t\t\t\t$params['ib-submission-source'] = [\n\t\t\t\t\t\t\t\t'name' => 'ib-submission-source',\n\t\t\t\t\t\t\t\t'value' => $formSubmissionPageLt,\n\t\t\t\t\t\t\t\t'type' => 'text',\n\t\t\t\t\t\t\t\t'internalType' => '',\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn $params;\n\t\t\t\t\t}\n\t\t\t\t")})]})}},61684:(t,e,n)=>{function r(t){const e=t.split(/\n/g);for(;0===(null==(n=e[0])?void 0:n.replace(/\s/g,"").length);){var n;e.shift()}for(;0===(null==(r=e[e.length-1])?void 0:r.replace(/\s/g,"").length);){var r;e.pop()}const i=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>{var e,n;return null!=(e=null==(n=t.match(/^\s*/))||null==(n=n[0])?void 0:n.length)?e:0})),a=Math.min(...i);return e.map((t=>t.slice(a))).join("\n")}n.d(e,{p:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/0cbbedcd.3a04989d.js b/assets/js/0cbbedcd.3a04989d.js new file mode 100644 index 000000000..5daf95cae --- /dev/null +++ b/assets/js/0cbbedcd.3a04989d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[37856],{99864:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>r,contentTitle:()=>a,default:()=>u,frontMatter:()=>o,metadata:()=>c,toc:()=>d});var t=n(17624),i=n(4552);const o={id:"docs-sass",title:"Sass"},a=void 0,c={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.",source:"@site/docs/legacy/v4/advanced/sass-docs.md",sourceDirName:"legacy/v4/advanced",slug:"/legacy/v4/advanced/docs-sass",permalink:"/docs/legacy/v4/advanced/docs-sass",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"docs-sass",title:"Sass"},sidebar:"docs",previous:{title:"Icon font",permalink:"/docs/legacy/v4/guides/fonts-icon"},next:{title:"Webpack",permalink:"/docs/legacy/v4/advanced/webpack"}},r={},d=[{value:"Default usage",id:"default-usage",level:2},{value:"Not using Webpack Build",id:"not-using-webpack-build",level:2}];function l(e){const s={a:"a",code:"code",h2:"h2",p:"p",pre:"pre",strong:"strong",...(0,i.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:"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."}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsxs)(s.strong,{children:["Visit ",(0,t.jsx)(s.a,{href:"/docs/basics/library",children:"SassDocs"})," for more details."]})}),"\n",(0,t.jsx)(s.h2,{id:"default-usage",children:"Default usage"}),"\n",(0,t.jsxs)(s.p,{children:["Sass mixing, functions, helpers are located in ",(0,t.jsx)(s.code,{children:"node_modules/@eighshift/frontent-libs/styles/scss/eightshift-frontend-libs.scss"})," file. If you are using our webpack build then you are all set, and you can use it by importing it to your project like this:"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"@import 'EighshiftFrontendLibs';\n"})}),"\n",(0,t.jsx)(s.h2,{id:"not-using-webpack-build",children:"Not using Webpack Build"}),"\n",(0,t.jsxs)(s.p,{children:["To be able to use ",(0,t.jsx)(s.code,{children:"EighshiftFrontendLibs"})," as a shorthand, we have provided and ",(0,t.jsx)(s.code,{children:"alias"})," in our webpack build under the ",(0,t.jsx)(s.code,{children:"resolve"})," object key."]}),"\n",(0,t.jsx)(s.p,{children:"If you don't use our full build for some reason and want only to use Eightshift Frontend Libs you can provide this in your webpack build:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-js",children:"resolve: {\n alias: {\n EighshiftFrontendLibs: path.resolve('node_modules', '@eightshift', 'frontend-libs', 'styles', 'scss', 'eightshift-frontend-libs.scss'),\n }\n}\n"})}),"\n",(0,t.jsx)(s.p,{children:"and then importing it like this:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"@import 'EighshiftFrontendLibs';\n"})}),"\n",(0,t.jsx)(s.p,{children:"or you can import it directly like this, but be careful where your node_modules folder is located:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"@import 'node_modules/@eightshift/frontend-libs/styles/scss/eightshift-frontend-libs.scss';\n"})})]})}function u(e={}){const{wrapper:s}={...(0,i.M)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(l,{...e})}):l(e)}},4552:(e,s,n)=>{n.d(s,{I:()=>c,M:()=>a});var t=n(11504);const i={},o=t.createContext(i);function a(e){const s=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),t.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0cbbedcd.6b668811.js b/assets/js/0cbbedcd.6b668811.js deleted file mode 100644 index 61395a3f6..000000000 --- a/assets/js/0cbbedcd.6b668811.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[96854],{24763:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>r,contentTitle:()=>a,default:()=>u,frontMatter:()=>i,metadata:()=>c,toc:()=>d});var t=n(85893),o=n(11151);const i={id:"docs-sass",title:"Sass"},a=void 0,c={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.",source:"@site/docs/legacy/v4/advanced/sass-docs.md",sourceDirName:"legacy/v4/advanced",slug:"/legacy/v4/advanced/docs-sass",permalink:"/docs/legacy/v4/advanced/docs-sass",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"docs-sass",title:"Sass"},sidebar:"docs",previous:{title:"Icon font",permalink:"/docs/legacy/v4/guides/fonts-icon"},next:{title:"Webpack",permalink:"/docs/legacy/v4/advanced/webpack"}},r={},d=[{value:"Default usage",id:"default-usage",level:2},{value:"Not using Webpack Build",id:"not-using-webpack-build",level:2}];function l(e){const s={a:"a",code:"code",h2:"h2",p:"p",pre:"pre",strong:"strong",...(0,o.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:"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."}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsxs)(s.strong,{children:["Visit ",(0,t.jsx)(s.a,{href:"/sass",children:"SassDocs"})," for more details."]})}),"\n",(0,t.jsx)(s.h2,{id:"default-usage",children:"Default usage"}),"\n",(0,t.jsxs)(s.p,{children:["Sass mixing, functions, helpers are located in ",(0,t.jsx)(s.code,{children:"node_modules/@eighshift/frontent-libs/styles/scss/eightshift-frontend-libs.scss"})," file. If you are using our webpack build then you are all set, and you can use it by importing it to your project like this:"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"@import 'EighshiftFrontendLibs';\n"})}),"\n",(0,t.jsx)(s.h2,{id:"not-using-webpack-build",children:"Not using Webpack Build"}),"\n",(0,t.jsxs)(s.p,{children:["To be able to use ",(0,t.jsx)(s.code,{children:"EighshiftFrontendLibs"})," as a shorthand, we have provided and ",(0,t.jsx)(s.code,{children:"alias"})," in our webpack build under the ",(0,t.jsx)(s.code,{children:"resolve"})," object key."]}),"\n",(0,t.jsx)(s.p,{children:"If you don't use our full build for some reason and want only to use Eightshift Frontend Libs you can provide this in your webpack build:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-js",children:"resolve: {\n alias: {\n EighshiftFrontendLibs: path.resolve('node_modules', '@eightshift', 'frontend-libs', 'styles', 'scss', 'eightshift-frontend-libs.scss'),\n }\n}\n"})}),"\n",(0,t.jsx)(s.p,{children:"and then importing it like this:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"@import 'EighshiftFrontendLibs';\n"})}),"\n",(0,t.jsx)(s.p,{children:"or you can import it directly like this, but be careful where your node_modules folder is located:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"@import 'node_modules/@eightshift/frontend-libs/styles/scss/eightshift-frontend-libs.scss';\n"})})]})}function u(e={}){const{wrapper:s}={...(0,o.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(l,{...e})}):l(e)}},11151:(e,s,n)=>{n.d(s,{Z:()=>c,a:()=>a});var t=n(67294);const o={},i=t.createContext(o);function a(e){const s=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:a(e.components),t.createElement(i.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0cde639a.00323715.js b/assets/js/0cde639a.00323715.js new file mode 100644 index 000000000..35edc663e --- /dev/null +++ b/assets/js/0cde639a.00323715.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[65928],{94336:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>a,toc:()=>l});var s=i(17624),n=i(4552);const o={id:"basics-intro",title:"Basics"},r=void 0,a={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.",source:"@site/docs/legacy/v7/basics/basics-intro.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/basics-intro",permalink:"/docs/legacy/v7/basics/basics-intro",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"basics-intro",title:"Basics"},sidebar:"docs",previous:{title:"Versions",permalink:"/docs/legacy/v7/versions"},next:{title:"WP-CLI",permalink:"/docs/legacy/v7/basics/wp-cli"}},c={},l=[{value:"Let's finally start with documentation",id:"lets-finally-start-with-documentation",level:2}];function d(e){const t={a:"a",h2:"h2",p:"p",strong:"strong",...(0,n.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:"Prior to WordPress 5.0, themes were mostly PHP-based, with JavaScript used only to provide interactive functionality on the website.\nNow 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."}),"\n",(0,s.jsx)(t.p,{children:"Now that everything is different, we must adapt to the changes as well."}),"\n",(0,s.jsx)(t.h2,{id:"lets-finally-start-with-documentation",children:"Let's finally start with documentation"}),"\n",(0,s.jsx)(t.p,{children:"We took our time to set up a bunch of WP-CLI commands. That should help you set up everything and use all our features, without worrying about correct names, files, and organization. You can find out more about it on this link:"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"wp-cli",children:"WP-CLI"})}),"\n",(0,s.jsx)(t.p,{children:"If you would like to read about our extensive WP-CLI features, find out how to use service classes, or learn how dependency injection container works with auto wiring, this link is for you:"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"backend",children:"Back-end stuff"})}),"\n",(0,s.jsx)(t.p,{children:"If instead, you would like to check out what we have prepared regarding the JavaScript Babel and Webpack, or find out how we ensure that our code is the same across multiple developers, this link is for you:"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"frontend",children:"Front-end stuff"})}),"\n",(0,s.jsxs)(t.p,{children:["On the other hand, if you would like to see our extensive ",(0,s.jsx)(t.strong,{children:"Dynamic Blocks"})," collection and learn how you can use them with all the developer's flexibility and as little code duplication as possible, check out this link:"]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"blocks",children:"Block editor blocks"})})]})}function h(e={}){const{wrapper:t}={...(0,n.M)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},4552:(e,t,i)=>{i.d(t,{I:()=>a,M:()=>r});var s=i(11504);const n={},o=s.createContext(n);function r(e){const t=s.useContext(o);return s.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:r(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0cde639a.f00b953b.js b/assets/js/0cde639a.f00b953b.js deleted file mode 100644 index bdbf3cc0b..000000000 --- a/assets/js/0cde639a.f00b953b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[97227],{39334:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>r,toc:()=>l});var s=i(85893),n=i(11151);const o={id:"basics-intro",title:"Basics"},a=void 0,r={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.",source:"@site/docs/legacy/v7/basics/basics-intro.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/basics-intro",permalink:"/docs/legacy/v7/basics/basics-intro",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"basics-intro",title:"Basics"},sidebar:"docs",previous:{title:"Versions",permalink:"/docs/legacy/v7/versions"},next:{title:"WP-CLI",permalink:"/docs/legacy/v7/basics/wp-cli"}},c={},l=[{value:"Let's finally start with documentation",id:"lets-finally-start-with-documentation",level:2}];function d(e){const t={a:"a",h2:"h2",p:"p",strong:"strong",...(0,n.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:"Prior to WordPress 5.0, themes were mostly PHP-based, with JavaScript used only to provide interactive functionality on the website.\nNow 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."}),"\n",(0,s.jsx)(t.p,{children:"Now that everything is different, we must adapt to the changes as well."}),"\n",(0,s.jsx)(t.h2,{id:"lets-finally-start-with-documentation",children:"Let's finally start with documentation"}),"\n",(0,s.jsx)(t.p,{children:"We took our time to set up a bunch of WP-CLI commands. That should help you set up everything and use all our features, without worrying about correct names, files, and organization. You can find out more about it on this link:"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"wp-cli",children:"WP-CLI"})}),"\n",(0,s.jsx)(t.p,{children:"If you would like to read about our extensive WP-CLI features, find out how to use service classes, or learn how dependency injection container works with auto wiring, this link is for you:"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"backend",children:"Back-end stuff"})}),"\n",(0,s.jsx)(t.p,{children:"If instead, you would like to check out what we have prepared regarding the JavaScript Babel and Webpack, or find out how we ensure that our code is the same across multiple developers, this link is for you:"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"frontend",children:"Front-end stuff"})}),"\n",(0,s.jsxs)(t.p,{children:["On the other hand, if you would like to see our extensive ",(0,s.jsx)(t.strong,{children:"Dynamic Blocks"})," collection and learn how you can use them with all the developer's flexibility and as little code duplication as possible, check out this link:"]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"blocks",children:"Block editor blocks"})})]})}function h(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},11151:(e,t,i)=>{i.d(t,{Z:()=>r,a:()=>a});var s=i(67294);const n={},o=s.createContext(n);function a(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0cf6d2ee.1c23a6e7.js b/assets/js/0cf6d2ee.1c23a6e7.js new file mode 100644 index 000000000..b309e23ff --- /dev/null +++ b/assets/js/0cf6d2ee.1c23a6e7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[41068],{41376:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>c,contentTitle:()=>l,default:()=>h,frontMatter:()=>r,metadata:()=>i,toc:()=>a});var o=t(17624),n=t(4552);const r={id:"blocks-structure",title:"Structure"},l=void 0,i={id:"legacy/v7/basics/blocks-structure",title:"Structure",description:"docs-source",source:"@site/docs/legacy/v7/basics/blocks-structure.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/blocks-structure",permalink:"/docs/legacy/v7/basics/blocks-structure",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-structure",title:"Structure"},sidebar:"docs",previous:{title:"Registration",permalink:"/docs/legacy/v7/basics/blocks-registration"},next:{title:"Global Manifest",permalink:"/docs/legacy/v7/basics/blocks-global-manifest"}},c={},a=[{value:"Blocks folder",id:"blocks-folder",level:3},{value:"Assets",id:"assets",level:3},{value:"Components",id:"components",level:3},{value:"Custom",id:"custom",level:3},{value:"Variations",id:"variations",level:3},{value:"Wrapper",id:"wrapper",level:3},{value:"manifest.json",id:"manifestjson",level:3},{value:"Blocks.php",id:"blocksphp",level:3}];function d(e){const s={a:"a",code:"code",h3:"h3",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,n.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s.p,{children:(0,o.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/",children:(0,o.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(s.p,{children:"For the library to work and register blocks dynamically, a specific folder structure and naming must be followed."}),"\n",(0,o.jsx)(s.p,{children:"Your folder structure should be like this:"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:["src","\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:["Blocks","\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsx)(s.li,{children:"assets"}),"\n",(0,o.jsx)(s.li,{children:"components"}),"\n",(0,o.jsx)(s.li,{children:"custom"}),"\n",(0,o.jsx)(s.li,{children:"variations"}),"\n",(0,o.jsx)(s.li,{children:"wrapper"}),"\n",(0,o.jsx)(s.li,{children:"Blocks.php"}),"\n",(0,o.jsx)(s.li,{children:"manifest.json"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(s.p,{children:["Don't be confused with the upper and lower case folder names, those are like that on purpose. Everything under the ",(0,o.jsx)(s.code,{children:"Block"})," folder is considered a view so they are written in lower caps, and the Blocks.php file is still a part of the PHP PSR-4 standard so it must be written like every other ",(0,o.jsx)(s.strong,{children:"service class"}),"."]}),"\n",(0,o.jsx)(s.h3,{id:"blocks-folder",children:"Blocks folder"}),"\n",(0,o.jsxs)(s.p,{children:["This folder contains all the blocks defined in your project. Every block is located in the ",(0,o.jsx)(s.code,{children:"custom"})," folder, and every component is located in the ",(0,o.jsx)(s.code,{children:"components"})," folder. Blocks can be created from multiple block editor components or your project components."]}),"\n",(0,o.jsx)(s.h3,{id:"assets",children:"Assets"}),"\n",(0,o.jsx)(s.p,{children:"This folder contains all the additional files for the blocks you only need to use on the front end. Everything that is not a block or a component goes here, such as defining global style, global JavaScript helpers, project images, fonts, etc. Also, we register all blocks, styles, and scripts in the assets folder so that nothing works without this folder."}),"\n",(0,o.jsx)(s.h3,{id:"components",children:"Components"}),"\n",(0,o.jsxs)(s.p,{children:["This folder contains all the components that are shared across blocks and project template files. Components are not registered as blocks because they are small chunks of code you can reuse everywhere. For instance, you can create a menu component to be used in the footer but also reused in a separate menu block. Please refer to the ",(0,o.jsx)(s.a,{href:"blocks-component-structure",children:"component structure"})," chapter for more details."]}),"\n",(0,o.jsx)(s.h3,{id:"custom",children:"Custom"}),"\n",(0,o.jsxs)(s.p,{children:["This folder contains all the custom blocks defined and used in your project. Please refer to the ",(0,o.jsx)(s.a,{href:"block-structure",children:"block structure"})," chapter for more details."]}),"\n",(0,o.jsx)(s.h3,{id:"variations",children:"Variations"}),"\n",(0,o.jsxs)(s.p,{children:["This folder contains all the variations blocks defined and used in your project. Please refer to the ",(0,o.jsx)(s.a,{href:"blocks-variations",children:"variations"})," chapter for more details."]}),"\n",(0,o.jsx)(s.h3,{id:"wrapper",children:"Wrapper"}),"\n",(0,o.jsxs)(s.p,{children:["This folder contains a wrapper component that wraps all blocks with shared variables and gives blocks the ability to behave as a layout section. Please refer to the ",(0,o.jsx)(s.a,{href:"blocks-wrapper",children:"wrapper"})," chapter for more details."]}),"\n",(0,o.jsx)(s.h3,{id:"manifestjson",children:"manifest.json"}),"\n",(0,o.jsxs)(s.p,{children:["This file contains global settings for your project. It must contain ",(0,o.jsx)(s.code,{children:"namespace"})," and ",(0,o.jsx)(s.code,{children:"background"})," keys. Everything else is optional. Here you can store data you intend to share across toolbars, components, and blocks. Please refer to the ",(0,o.jsx)(s.a,{href:"block-manifest",children:"block manifest"})," chapter for more details."]}),"\n",(0,o.jsx)(s.h3,{id:"blocksphp",children:"Blocks.php"}),"\n",(0,o.jsx)(s.p,{children:"This is the main service class responsible for registering all the PHP parts of the blocks like:"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsx)(s.li,{children:"dynamic blocks view"}),"\n",(0,o.jsx)(s.li,{children:"custom category for your blocks"}),"\n",(0,o.jsx)(s.li,{children:"default color palette"}),"\n",(0,o.jsx)(s.li,{children:"what blocks you are going to use"}),"\n",(0,o.jsx)(s.li,{children:"all the custom functionality that you will write for the project"}),"\n"]})]})}function h(e={}){const{wrapper:s}={...(0,n.M)(),...e.components};return s?(0,o.jsx)(s,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},4552:(e,s,t)=>{t.d(s,{I:()=>i,M:()=>l});var o=t(11504);const n={},r=o.createContext(n);function l(e){const s=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function i(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:l(e.components),o.createElement(r.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0cf6d2ee.8e18c2f6.js b/assets/js/0cf6d2ee.8e18c2f6.js deleted file mode 100644 index 19b1e38ba..000000000 --- a/assets/js/0cf6d2ee.8e18c2f6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[12594],{38891:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>c,contentTitle:()=>l,default:()=>h,frontMatter:()=>r,metadata:()=>i,toc:()=>a});var o=t(85893),n=t(11151);const r={id:"blocks-structure",title:"Structure"},l=void 0,i={id:"legacy/v7/basics/blocks-structure",title:"Structure",description:"docs-source",source:"@site/docs/legacy/v7/basics/blocks-structure.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/blocks-structure",permalink:"/docs/legacy/v7/basics/blocks-structure",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-structure",title:"Structure"},sidebar:"docs",previous:{title:"Registration",permalink:"/docs/legacy/v7/basics/blocks-registration"},next:{title:"Global Manifest",permalink:"/docs/legacy/v7/basics/blocks-global-manifest"}},c={},a=[{value:"Blocks folder",id:"blocks-folder",level:3},{value:"Assets",id:"assets",level:3},{value:"Components",id:"components",level:3},{value:"Custom",id:"custom",level:3},{value:"Variations",id:"variations",level:3},{value:"Wrapper",id:"wrapper",level:3},{value:"manifest.json",id:"manifestjson",level:3},{value:"Blocks.php",id:"blocksphp",level:3}];function d(e){const s={a:"a",code:"code",h3:"h3",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,n.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s.p,{children:(0,o.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/",children:(0,o.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(s.p,{children:"For the library to work and register blocks dynamically, a specific folder structure and naming must be followed."}),"\n",(0,o.jsx)(s.p,{children:"Your folder structure should be like this:"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:["src","\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:["Blocks","\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsx)(s.li,{children:"assets"}),"\n",(0,o.jsx)(s.li,{children:"components"}),"\n",(0,o.jsx)(s.li,{children:"custom"}),"\n",(0,o.jsx)(s.li,{children:"variations"}),"\n",(0,o.jsx)(s.li,{children:"wrapper"}),"\n",(0,o.jsx)(s.li,{children:"Blocks.php"}),"\n",(0,o.jsx)(s.li,{children:"manifest.json"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(s.p,{children:["Don't be confused with the upper and lower case folder names, those are like that on purpose. Everything under the ",(0,o.jsx)(s.code,{children:"Block"})," folder is considered a view so they are written in lower caps, and the Blocks.php file is still a part of the PHP PSR-4 standard so it must be written like every other ",(0,o.jsx)(s.strong,{children:"service class"}),"."]}),"\n",(0,o.jsx)(s.h3,{id:"blocks-folder",children:"Blocks folder"}),"\n",(0,o.jsxs)(s.p,{children:["This folder contains all the blocks defined in your project. Every block is located in the ",(0,o.jsx)(s.code,{children:"custom"})," folder, and every component is located in the ",(0,o.jsx)(s.code,{children:"components"})," folder. Blocks can be created from multiple block editor components or your project components."]}),"\n",(0,o.jsx)(s.h3,{id:"assets",children:"Assets"}),"\n",(0,o.jsx)(s.p,{children:"This folder contains all the additional files for the blocks you only need to use on the front end. Everything that is not a block or a component goes here, such as defining global style, global JavaScript helpers, project images, fonts, etc. Also, we register all blocks, styles, and scripts in the assets folder so that nothing works without this folder."}),"\n",(0,o.jsx)(s.h3,{id:"components",children:"Components"}),"\n",(0,o.jsxs)(s.p,{children:["This folder contains all the components that are shared across blocks and project template files. Components are not registered as blocks because they are small chunks of code you can reuse everywhere. For instance, you can create a menu component to be used in the footer but also reused in a separate menu block. Please refer to the ",(0,o.jsx)(s.a,{href:"blocks-component-structure",children:"component structure"})," chapter for more details."]}),"\n",(0,o.jsx)(s.h3,{id:"custom",children:"Custom"}),"\n",(0,o.jsxs)(s.p,{children:["This folder contains all the custom blocks defined and used in your project. Please refer to the ",(0,o.jsx)(s.a,{href:"block-structure",children:"block structure"})," chapter for more details."]}),"\n",(0,o.jsx)(s.h3,{id:"variations",children:"Variations"}),"\n",(0,o.jsxs)(s.p,{children:["This folder contains all the variations blocks defined and used in your project. Please refer to the ",(0,o.jsx)(s.a,{href:"blocks-variations",children:"variations"})," chapter for more details."]}),"\n",(0,o.jsx)(s.h3,{id:"wrapper",children:"Wrapper"}),"\n",(0,o.jsxs)(s.p,{children:["This folder contains a wrapper component that wraps all blocks with shared variables and gives blocks the ability to behave as a layout section. Please refer to the ",(0,o.jsx)(s.a,{href:"blocks-wrapper",children:"wrapper"})," chapter for more details."]}),"\n",(0,o.jsx)(s.h3,{id:"manifestjson",children:"manifest.json"}),"\n",(0,o.jsxs)(s.p,{children:["This file contains global settings for your project. It must contain ",(0,o.jsx)(s.code,{children:"namespace"})," and ",(0,o.jsx)(s.code,{children:"background"})," keys. Everything else is optional. Here you can store data you intend to share across toolbars, components, and blocks. Please refer to the ",(0,o.jsx)(s.a,{href:"block-manifest",children:"block manifest"})," chapter for more details."]}),"\n",(0,o.jsx)(s.h3,{id:"blocksphp",children:"Blocks.php"}),"\n",(0,o.jsx)(s.p,{children:"This is the main service class responsible for registering all the PHP parts of the blocks like:"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsx)(s.li,{children:"dynamic blocks view"}),"\n",(0,o.jsx)(s.li,{children:"custom category for your blocks"}),"\n",(0,o.jsx)(s.li,{children:"default color palette"}),"\n",(0,o.jsx)(s.li,{children:"what blocks you are going to use"}),"\n",(0,o.jsx)(s.li,{children:"all the custom functionality that you will write for the project"}),"\n"]})]})}function h(e={}){const{wrapper:s}={...(0,n.a)(),...e.components};return s?(0,o.jsx)(s,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},11151:(e,s,t)=>{t.d(s,{Z:()=>i,a:()=>l});var o=t(67294);const n={},r=o.createContext(n);function l(e){const s=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function i(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:l(e.components),o.createElement(r.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0d27e988.8e51007e.js b/assets/js/0d27e988.8e51007e.js deleted file mode 100644 index 9868c5c20..000000000 --- a/assets/js/0d27e988.8e51007e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[90742],{75983:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>o,default:()=>c,frontMatter:()=>s,metadata:()=>l,toc:()=>f});var r=n(85893),i=n(11151),a=n(8122);const s={id:"goodbits",title:"Goodbits"},o=void 0,l={id:"php/filters/integrations/goodbits",title:"Goodbits",description:"",source:"@site/forms/php/filters/integrations/goodbits.mdx",sourceDirName:"php/filters/integrations",slug:"/php/filters/integrations/goodbits",permalink:"/forms/php/filters/integrations/goodbits",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"goodbits",title:"Goodbits"},sidebar:"forms",previous:{title:"Clearbit",permalink:"/forms/php/filters/integrations/clearbit"},next:{title:"Greenhouse",permalink:"/forms/php/filters/integrations/greenhouse"}},d={},f=[];function m(t){return(0,r.jsx)(a.k,{name:"Goodbits",filter:"goodbits"})}function c(t={}){const{wrapper:e}={...(0,i.a)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(m,{...t})}):m()}},8122:(t,e,n)=>{n.d(e,{F:()=>o,k:()=>s});n(67294);var r=n(9286),i=n(61684),a=n(85893);function s(t){let{filter:e,onlyUse:n=["dataFilter","orderFilter","prePostIdFilter","prePostParamsFilter"]}=t;return(0,a.jsxs)(a.Fragment,{children:[n.includes("dataFilter")&&(0,a.jsx)(l,{filter:e}),n.includes("orderFilter")&&(0,a.jsx)(d,{filter:e}),n.includes("prePostIdFilter")&&(0,a.jsx)(f,{filter:e}),n.includes("prePostParamsFilter")&&(0,a.jsx)(m,{filter:e})]})}function o(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{children:"Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc."}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\tadd_filter('es_forms_block_"+e+"_additional_content', function(): string {\n\t\t\t\treturn '';\n\t\t\t})\n\t\t\t")})]})}function l(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Data filter"}),(0,a.jsx)("p",{children:"Allows modifying form field data before it's shown in the Block Editor or output on the frontend."}),(0,a.jsx)("p",{children:"Useful if, for example, you want to ensure that all fields fit into a 2-column layout."}),(0,a.jsx)("p",{children:"Overrides any Block Editor changes!"}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\tadd_filter('es_forms_integrations_"+e+'_data\', \'getIntegrationFilterData\', 10, 2);\n\n\t\t\t/**\n\t\t\t * Manipulate form fields data before it is sent to the Block Editor.\n\t\t\t *\n\t\t\t * @param array $data Form fields data.\n\t\t\t * @param string $formId Form ID.\n\t\t\t *\n\t\t\t * @return array\n\t\t\t */\n\t\t\tfunction getIntegrationFilterData(array $data, string $formId): array\n\t\t\t{\n\t\t\t\tforeach ($data as $index => $field) {\n\t\t\t\t\t$component = $field[\'component\'] ?? \'\';\n\n\t\t\t\t\tif (!$component) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t$name = $field["{$component}Name"] ?? \'\';\n\n\t\t\t\t\tif (!$name) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch ($name) {\n\t\t\t\t\t\tcase \'firstname\':\n\t\t\t\t\t\tcase \'lastname\':\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthMobile"] = 12;\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthLarge"] = 6;\n\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"] = array_merge(\n\t\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthMobile",\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthLarge",\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t')})]})}function d(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Order filter"}),(0,a.jsx)("p",{children:"Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor."}),(0,a.jsxs)("p",{children:["Not all fields need to have an order defined. For example, you may want to make sure ",(0,a.jsx)("code",{children:"firstname"}),", ",(0,a.jsx)("code",{children:"lastname"})," and ",(0,a.jsx)("code",{children:"email"})," are displayed first, but other fields follow their Block editor order."]}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_order', 'getIntegrationOrder');\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Forces form field order for the provided fields. For other fields, Block editor order is used.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationOrder(): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t'firstname',\n\t\t\t\t\t\t\t'lastname',\n\t\t\t\t\t\t\t'email',\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t")})]})}function f(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post ID filter"}),(0,a.jsx)("p",{children:"Allows updating item IDs sent to external integrations to which the form data is sent."}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_pre_post_id', 'getIntegrationPrePostId', 10, 3);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies integration item ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @param string $itemId Integration item ID.\n\t\t\t\t\t * @param array $params Params to be sent to the integration.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostId(string $itemId, array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn $itemId;\n\t\t\t\t\t}\n\t\t\t\t")})]})}function m(t){let{filter:e}=t,n="";if("mailer"===e)n="mailer system";else n="external integration";return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post parameters filter"}),(0,a.jsxs)("p",{children:["Allows modifying form field data before it's sent to ",n,". Useful if you want to make values derived from the sent data, or add new fields."]}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_pre_post_params', 'getIntegrationPrePostParams', 10, 2);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies form field data before it's sent to "+n+".\n\t\t\t\t\t *\n\t\t\t\t\t * @param array $params Array of params.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostParams(array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\t$formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? '';\n\n\t\t\t\t\t\tif ($formSubmissionPageLt) {\n\t\t\t\t\t\t\t$params['ib-submission-source'] = [\n\t\t\t\t\t\t\t\t'name' => 'ib-submission-source',\n\t\t\t\t\t\t\t\t'value' => $formSubmissionPageLt,\n\t\t\t\t\t\t\t\t'type' => 'text',\n\t\t\t\t\t\t\t\t'internalType' => '',\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn $params;\n\t\t\t\t\t}\n\t\t\t\t")})]})}},61684:(t,e,n)=>{function r(t){const e=t.split(/\n/g);for(;0===(null==(n=e[0])?void 0:n.replace(/\s/g,"").length);){var n;e.shift()}for(;0===(null==(r=e[e.length-1])?void 0:r.replace(/\s/g,"").length);){var r;e.pop()}const i=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>{var e,n;return null!=(e=null==(n=t.match(/^\s*/))||null==(n=n[0])?void 0:n.length)?e:0})),a=Math.min(...i);return e.map((t=>t.slice(a))).join("\n")}n.d(e,{p:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/0d27e988.c9b7669f.js b/assets/js/0d27e988.c9b7669f.js new file mode 100644 index 000000000..950f4b916 --- /dev/null +++ b/assets/js/0d27e988.c9b7669f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[44432],{39132:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>l,contentTitle:()=>o,default:()=>c,frontMatter:()=>s,metadata:()=>d,toc:()=>f});var r=n(17624),i=n(4552),a=n(80148);const s={id:"goodbits",title:"Goodbits"},o=void 0,d={id:"php/filters/integrations/goodbits",title:"Goodbits",description:"",source:"@site/forms/php/filters/integrations/goodbits.mdx",sourceDirName:"php/filters/integrations",slug:"/php/filters/integrations/goodbits",permalink:"/forms/php/filters/integrations/goodbits",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"goodbits",title:"Goodbits"},sidebar:"forms",previous:{title:"Clearbit",permalink:"/forms/php/filters/integrations/clearbit"},next:{title:"Greenhouse",permalink:"/forms/php/filters/integrations/greenhouse"}},l={},f=[];function m(t){return(0,r.jsx)(a.y,{name:"Goodbits",filter:"goodbits"})}function c(t={}){const{wrapper:e}={...(0,i.M)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(m,{...t})}):m()}},80148:(t,e,n)=>{n.d(e,{g:()=>o,y:()=>s});n(11504);var r=n(1608),i=n(96616),a=n(17624);function s(t){let{filter:e,onlyUse:n=["dataFilter","orderFilter","prePostIdFilter","prePostParamsFilter"]}=t;return(0,a.jsxs)(a.Fragment,{children:[n.includes("dataFilter")&&(0,a.jsx)(d,{filter:e}),n.includes("orderFilter")&&(0,a.jsx)(l,{filter:e}),n.includes("prePostIdFilter")&&(0,a.jsx)(f,{filter:e}),n.includes("prePostParamsFilter")&&(0,a.jsx)(m,{filter:e})]})}function o(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{children:"Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc."}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\tadd_filter('es_forms_block_${e}_additional_content', function(): string {\n\t\t\t\treturn '';\n\t\t\t})\n\t\t\t`)})]})}function d(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Data filter"}),(0,a.jsx)("p",{children:"Allows modifying form field data before it's shown in the Block Editor or output on the frontend."}),(0,a.jsx)("p",{children:"Useful if, for example, you want to ensure that all fields fit into a 2-column layout."}),(0,a.jsx)("p",{children:"Overrides any Block Editor changes!"}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\tadd_filter('es_forms_integrations_${e}_data', 'getIntegrationFilterData', 10, 2);\n\n\t\t\t/**\n\t\t\t * Manipulate form fields data before it is sent to the Block Editor.\n\t\t\t *\n\t\t\t * @param array $data Form fields data.\n\t\t\t * @param string $formId Form ID.\n\t\t\t *\n\t\t\t * @return array\n\t\t\t */\n\t\t\tfunction getIntegrationFilterData(array $data, string $formId): array\n\t\t\t{\n\t\t\t\tforeach ($data as $index => $field) {\n\t\t\t\t\t$component = $field['component'] ?? '';\n\n\t\t\t\t\tif (!$component) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t$name = $field["{$component}Name"] ?? '';\n\n\t\t\t\t\tif (!$name) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch ($name) {\n\t\t\t\t\t\tcase 'firstname':\n\t\t\t\t\t\tcase 'lastname':\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthMobile"] = 12;\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthLarge"] = 6;\n\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"] = array_merge(\n\t\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthMobile",\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthLarge",\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t`)})]})}function l(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Order filter"}),(0,a.jsx)("p",{children:"Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor."}),(0,a.jsxs)("p",{children:["Not all fields need to have an order defined. For example, you may want to make sure ",(0,a.jsx)("code",{children:"firstname"}),", ",(0,a.jsx)("code",{children:"lastname"})," and ",(0,a.jsx)("code",{children:"email"})," are displayed first, but other fields follow their Block editor order."]}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_order', 'getIntegrationOrder');\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Forces form field order for the provided fields. For other fields, Block editor order is used.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationOrder(): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t'firstname',\n\t\t\t\t\t\t\t'lastname',\n\t\t\t\t\t\t\t'email',\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t`)})]})}function f(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post ID filter"}),(0,a.jsx)("p",{children:"Allows updating item IDs sent to external integrations to which the form data is sent."}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_pre_post_id', 'getIntegrationPrePostId', 10, 3);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies integration item ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @param string $itemId Integration item ID.\n\t\t\t\t\t * @param array $params Params to be sent to the integration.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostId(string $itemId, array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn $itemId;\n\t\t\t\t\t}\n\t\t\t\t`)})]})}function m(t){let{filter:e}=t,n="";if("mailer"===e)n="mailer system";else n="external integration";return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post parameters filter"}),(0,a.jsxs)("p",{children:["Allows modifying form field data before it's sent to ",n,". Useful if you want to make values derived from the sent data, or add new fields."]}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_pre_post_params', 'getIntegrationPrePostParams', 10, 2);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies form field data before it's sent to ${n}.\n\t\t\t\t\t *\n\t\t\t\t\t * @param array $params Array of params.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostParams(array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\t$formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? '';\n\n\t\t\t\t\t\tif ($formSubmissionPageLt) {\n\t\t\t\t\t\t\t$params['ib-submission-source'] = [\n\t\t\t\t\t\t\t\t'name' => 'ib-submission-source',\n\t\t\t\t\t\t\t\t'value' => $formSubmissionPageLt,\n\t\t\t\t\t\t\t\t'type' => 'text',\n\t\t\t\t\t\t\t\t'internalType' => '',\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn $params;\n\t\t\t\t\t}\n\t\t\t\t`)})]})}},96616:(t,e,n)=>{function r(t){const e=t.split(/\n/g);for(;0===e[0]?.replace(/\s/g,"").length;)e.shift();for(;0===e[e.length-1]?.replace(/\s/g,"").length;)e.pop();const n=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>t.match(/^\s*/)?.[0]?.length??0)),r=Math.min(...n);return e.map((t=>t.slice(r))).join("\n")}n.d(e,{c:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/0dcc1e01.4505307a.js b/assets/js/0dcc1e01.4505307a.js new file mode 100644 index 000000000..9612fc7f6 --- /dev/null +++ b/assets/js/0dcc1e01.4505307a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[10028],{70824: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/0dcc1e01.b8b669ab.js b/assets/js/0dcc1e01.b8b669ab.js deleted file mode 100644 index ae62b86e1..000000000 --- a/assets/js/0dcc1e01.b8b669ab.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[44639],{51840: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/0e617e7a.39ab3af3.js b/assets/js/0e617e7a.39ab3af3.js deleted file mode 100644 index 612b16aab..000000000 --- a/assets/js/0e617e7a.39ab3af3.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[46604],{31420:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>c,contentTitle:()=>l,default:()=>h,frontMatter:()=>r,metadata:()=>i,toc:()=>a});var o=t(85893),n=t(11151);const r={id:"blocks-structure",title:"Structure"},l=void 0,i={id:"legacy/v8/basics/blocks-structure",title:"Structure",description:"docs-source",source:"@site/docs/legacy/v8/basics/blocks-structure.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/blocks-structure",permalink:"/docs/legacy/v8/basics/blocks-structure",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-structure",title:"Structure"},sidebar:"docs",previous:{title:"Registration",permalink:"/docs/legacy/v8/basics/blocks-registration"},next:{title:"Global Manifest",permalink:"/docs/legacy/v8/basics/blocks-global-manifest"}},c={},a=[{value:"Blocks folder",id:"blocks-folder",level:3},{value:"Assets",id:"assets",level:3},{value:"Components",id:"components",level:3},{value:"Custom",id:"custom",level:3},{value:"Variations",id:"variations",level:3},{value:"Wrapper",id:"wrapper",level:3},{value:"manifest.json",id:"manifestjson",level:3},{value:"Blocks.php",id:"blocksphp",level:3}];function d(e){const s={a:"a",code:"code",h3:"h3",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,n.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s.p,{children:(0,o.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,o.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(s.p,{children:"For the library to work and register blocks dynamically, a specific folder structure and naming must be followed."}),"\n",(0,o.jsx)(s.p,{children:"Your folder structure should be like this:"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:["src","\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:["Blocks","\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsx)(s.li,{children:"assets"}),"\n",(0,o.jsx)(s.li,{children:"components"}),"\n",(0,o.jsx)(s.li,{children:"custom"}),"\n",(0,o.jsx)(s.li,{children:"variations"}),"\n",(0,o.jsx)(s.li,{children:"wrapper"}),"\n",(0,o.jsx)(s.li,{children:"Blocks.php"}),"\n",(0,o.jsx)(s.li,{children:"manifest.json"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(s.p,{children:["Don't be confused with the upper and lower case folder names, those are like that on purpose. Everything under the ",(0,o.jsx)(s.code,{children:"Block"})," folder is considered a view so they are written in lower caps, and the Blocks.php file is still a part of the PHP PSR-4 standard so it must be written like every other ",(0,o.jsx)(s.strong,{children:"service class"}),"."]}),"\n",(0,o.jsx)(s.h3,{id:"blocks-folder",children:"Blocks folder"}),"\n",(0,o.jsxs)(s.p,{children:["This folder contains all the blocks defined in your project. Every block is located in the ",(0,o.jsx)(s.code,{children:"custom"})," folder, and every component is located in the ",(0,o.jsx)(s.code,{children:"components"})," folder. Blocks can be created from multiple block editor components or your project components."]}),"\n",(0,o.jsx)(s.h3,{id:"assets",children:"Assets"}),"\n",(0,o.jsx)(s.p,{children:"This folder contains all the additional files for the blocks you only need to use on the front end. Everything that is not a block or a component goes here, such as defining global style, global JavaScript helpers, project images, fonts, etc. Also, we register all blocks, styles, and scripts in the assets folder so that nothing works without this folder."}),"\n",(0,o.jsx)(s.h3,{id:"components",children:"Components"}),"\n",(0,o.jsxs)(s.p,{children:["This folder contains all the components that are shared across blocks and project template files. Components are not registered as blocks because they are small chunks of code you can reuse everywhere. For instance, you can create a menu component to be used in the footer but also reused in a separate menu block. Please refer to the ",(0,o.jsx)(s.a,{href:"blocks-component-structure",children:"component structure"})," chapter for more details."]}),"\n",(0,o.jsx)(s.h3,{id:"custom",children:"Custom"}),"\n",(0,o.jsxs)(s.p,{children:["This folder contains all the custom blocks defined and used in your project. Please refer to the ",(0,o.jsx)(s.a,{href:"block-structure",children:"block structure"})," chapter for more details."]}),"\n",(0,o.jsx)(s.h3,{id:"variations",children:"Variations"}),"\n",(0,o.jsxs)(s.p,{children:["This folder contains all the variations blocks defined and used in your project. Please refer to the ",(0,o.jsx)(s.a,{href:"blocks-variations",children:"variations"})," chapter for more details."]}),"\n",(0,o.jsx)(s.h3,{id:"wrapper",children:"Wrapper"}),"\n",(0,o.jsxs)(s.p,{children:["This folder contains a wrapper component that wraps all blocks with shared variables and gives blocks the ability to behave as a layout section. Please refer to the ",(0,o.jsx)(s.a,{href:"blocks-wrapper",children:"wrapper"})," chapter for more details."]}),"\n",(0,o.jsx)(s.h3,{id:"manifestjson",children:"manifest.json"}),"\n",(0,o.jsxs)(s.p,{children:["This file contains global settings for your project. It must contain ",(0,o.jsx)(s.code,{children:"namespace"})," and ",(0,o.jsx)(s.code,{children:"background"})," keys. Everything else is optional. Here you can store data you intend to share across toolbars, components, and blocks. Please refer to the ",(0,o.jsx)(s.a,{href:"block-manifest",children:"block manifest"})," chapter for more details."]}),"\n",(0,o.jsx)(s.h3,{id:"blocksphp",children:"Blocks.php"}),"\n",(0,o.jsx)(s.p,{children:"This is the main service class responsible for registering all the PHP parts of the blocks like:"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsx)(s.li,{children:"dynamic blocks view"}),"\n",(0,o.jsx)(s.li,{children:"custom category for your blocks"}),"\n",(0,o.jsx)(s.li,{children:"default color palette"}),"\n",(0,o.jsx)(s.li,{children:"what blocks you are going to use"}),"\n",(0,o.jsx)(s.li,{children:"all the custom functionality that you will write for the project"}),"\n"]})]})}function h(e={}){const{wrapper:s}={...(0,n.a)(),...e.components};return s?(0,o.jsx)(s,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},11151:(e,s,t)=>{t.d(s,{Z:()=>i,a:()=>l});var o=t(67294);const n={},r=o.createContext(n);function l(e){const s=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function i(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:l(e.components),o.createElement(r.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0e617e7a.bb476f22.js b/assets/js/0e617e7a.bb476f22.js new file mode 100644 index 000000000..d258dc4b6 --- /dev/null +++ b/assets/js/0e617e7a.bb476f22.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[70184],{59140:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>c,contentTitle:()=>l,default:()=>h,frontMatter:()=>r,metadata:()=>i,toc:()=>a});var o=t(17624),n=t(4552);const r={id:"blocks-structure",title:"Structure"},l=void 0,i={id:"legacy/v8/basics/blocks-structure",title:"Structure",description:"docs-source",source:"@site/docs/legacy/v8/basics/blocks-structure.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/blocks-structure",permalink:"/docs/legacy/v8/basics/blocks-structure",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-structure",title:"Structure"},sidebar:"docs",previous:{title:"Registration",permalink:"/docs/legacy/v8/basics/blocks-registration"},next:{title:"Global Manifest",permalink:"/docs/legacy/v8/basics/blocks-global-manifest"}},c={},a=[{value:"Blocks folder",id:"blocks-folder",level:3},{value:"Assets",id:"assets",level:3},{value:"Components",id:"components",level:3},{value:"Custom",id:"custom",level:3},{value:"Variations",id:"variations",level:3},{value:"Wrapper",id:"wrapper",level:3},{value:"manifest.json",id:"manifestjson",level:3},{value:"Blocks.php",id:"blocksphp",level:3}];function d(e){const s={a:"a",code:"code",h3:"h3",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,n.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s.p,{children:(0,o.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,o.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(s.p,{children:"For the library to work and register blocks dynamically, a specific folder structure and naming must be followed."}),"\n",(0,o.jsx)(s.p,{children:"Your folder structure should be like this:"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:["src","\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:["Blocks","\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsx)(s.li,{children:"assets"}),"\n",(0,o.jsx)(s.li,{children:"components"}),"\n",(0,o.jsx)(s.li,{children:"custom"}),"\n",(0,o.jsx)(s.li,{children:"variations"}),"\n",(0,o.jsx)(s.li,{children:"wrapper"}),"\n",(0,o.jsx)(s.li,{children:"Blocks.php"}),"\n",(0,o.jsx)(s.li,{children:"manifest.json"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(s.p,{children:["Don't be confused with the upper and lower case folder names, those are like that on purpose. Everything under the ",(0,o.jsx)(s.code,{children:"Block"})," folder is considered a view so they are written in lower caps, and the Blocks.php file is still a part of the PHP PSR-4 standard so it must be written like every other ",(0,o.jsx)(s.strong,{children:"service class"}),"."]}),"\n",(0,o.jsx)(s.h3,{id:"blocks-folder",children:"Blocks folder"}),"\n",(0,o.jsxs)(s.p,{children:["This folder contains all the blocks defined in your project. Every block is located in the ",(0,o.jsx)(s.code,{children:"custom"})," folder, and every component is located in the ",(0,o.jsx)(s.code,{children:"components"})," folder. Blocks can be created from multiple block editor components or your project components."]}),"\n",(0,o.jsx)(s.h3,{id:"assets",children:"Assets"}),"\n",(0,o.jsx)(s.p,{children:"This folder contains all the additional files for the blocks you only need to use on the front end. Everything that is not a block or a component goes here, such as defining global style, global JavaScript helpers, project images, fonts, etc. Also, we register all blocks, styles, and scripts in the assets folder so that nothing works without this folder."}),"\n",(0,o.jsx)(s.h3,{id:"components",children:"Components"}),"\n",(0,o.jsxs)(s.p,{children:["This folder contains all the components that are shared across blocks and project template files. Components are not registered as blocks because they are small chunks of code you can reuse everywhere. For instance, you can create a menu component to be used in the footer but also reused in a separate menu block. Please refer to the ",(0,o.jsx)(s.a,{href:"blocks-component-structure",children:"component structure"})," chapter for more details."]}),"\n",(0,o.jsx)(s.h3,{id:"custom",children:"Custom"}),"\n",(0,o.jsxs)(s.p,{children:["This folder contains all the custom blocks defined and used in your project. Please refer to the ",(0,o.jsx)(s.a,{href:"block-structure",children:"block structure"})," chapter for more details."]}),"\n",(0,o.jsx)(s.h3,{id:"variations",children:"Variations"}),"\n",(0,o.jsxs)(s.p,{children:["This folder contains all the variations blocks defined and used in your project. Please refer to the ",(0,o.jsx)(s.a,{href:"blocks-variations",children:"variations"})," chapter for more details."]}),"\n",(0,o.jsx)(s.h3,{id:"wrapper",children:"Wrapper"}),"\n",(0,o.jsxs)(s.p,{children:["This folder contains a wrapper component that wraps all blocks with shared variables and gives blocks the ability to behave as a layout section. Please refer to the ",(0,o.jsx)(s.a,{href:"blocks-wrapper",children:"wrapper"})," chapter for more details."]}),"\n",(0,o.jsx)(s.h3,{id:"manifestjson",children:"manifest.json"}),"\n",(0,o.jsxs)(s.p,{children:["This file contains global settings for your project. It must contain ",(0,o.jsx)(s.code,{children:"namespace"})," and ",(0,o.jsx)(s.code,{children:"background"})," keys. Everything else is optional. Here you can store data you intend to share across toolbars, components, and blocks. Please refer to the ",(0,o.jsx)(s.a,{href:"block-manifest",children:"block manifest"})," chapter for more details."]}),"\n",(0,o.jsx)(s.h3,{id:"blocksphp",children:"Blocks.php"}),"\n",(0,o.jsx)(s.p,{children:"This is the main service class responsible for registering all the PHP parts of the blocks like:"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsx)(s.li,{children:"dynamic blocks view"}),"\n",(0,o.jsx)(s.li,{children:"custom category for your blocks"}),"\n",(0,o.jsx)(s.li,{children:"default color palette"}),"\n",(0,o.jsx)(s.li,{children:"what blocks you are going to use"}),"\n",(0,o.jsx)(s.li,{children:"all the custom functionality that you will write for the project"}),"\n"]})]})}function h(e={}){const{wrapper:s}={...(0,n.M)(),...e.components};return s?(0,o.jsx)(s,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},4552:(e,s,t)=>{t.d(s,{I:()=>i,M:()=>l});var o=t(11504);const n={},r=o.createContext(n);function l(e){const s=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function i(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:l(e.components),o.createElement(r.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0f1457e8.4fafffdc.js b/assets/js/0f1457e8.4fafffdc.js deleted file mode 100644 index afaa1dc4c..000000000 --- a/assets/js/0f1457e8.4fafffdc.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[95534],{97671:(e,r,s)=>{s.r(r),s.d(r,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>t,metadata:()=>l,toc:()=>d});var n=s(85893),i=s(11151);const t={id:"helpers-object-helpers",title:"Object"},a=void 0,l={id:"legacy/v4/advanced/helpers-object-helpers",title:"Object",description:"docs-source",source:"@site/docs/legacy/v4/advanced/helpers-object.md",sourceDirName:"legacy/v4/advanced",slug:"/legacy/v4/advanced/helpers-object-helpers",permalink:"/docs/legacy/v4/advanced/helpers-object-helpers",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"helpers-object-helpers",title:"Object"},sidebar:"docs",previous:{title:"Aliases",permalink:"/docs/legacy/v4/advanced/helpers-aliases-helpers"},next:{title:"Components",permalink:"/docs/legacy/v4/advanced/helpers-components-helpers"}},c={},d=[{value:"is_valid_xml",id:"is_valid_xml",level:2},{value:"is_json",id:"is_json",level:2},{value:"flatten_array",id:"flatten_array",level:2},{value:"sanitize_array",id:"sanitize_array",level:2},{value:"sort_array_by_order_key",id:"sort_array_by_order_key",level:2}];function o(e){const r={a:"a",code:"code",h2:"h2",img:"img",li:"li",p:"p",ul:"ul",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r.p,{children:(0,n.jsx)(r.a,{href:"https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/helpers/class-object-helper.php",children:(0,n.jsx)(r.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsxs)(r.p,{children:["Object trait is located in ",(0,n.jsx)(r.code,{children:"Eightshift Libs"}),". To extend it, use ",(0,n.jsx)(r.code,{children:"Eightshift_Libs\\Helpers\\Object_Helper"})," class."]}),"\n",(0,n.jsxs)(r.p,{children:["All of us have some custom helpers and stuff that we use around on multiple the project. We have created this simple trait helper that you can use in any PHP class as a ",(0,n.jsx)(r.a,{href:"/docs/legacy/v4/guides/extending-classes",children:"trait"}),"."]}),"\n",(0,n.jsx)(r.h2,{id:"is_valid_xml",children:"is_valid_xml"}),"\n",(0,n.jsxs)(r.p,{children:["Check if the provided XML is valid. It uses a ",(0,n.jsx)(r.code,{children:"DOMDocument"})," library."]}),"\n",(0,n.jsxs)(r.ul,{children:["\n",(0,n.jsx)(r.li,{children:"@param xml $xml Full xml document."}),"\n",(0,n.jsx)(r.li,{children:"@return boolean"}),"\n"]}),"\n",(0,n.jsx)(r.h2,{id:"is_json",children:"is_json"}),"\n",(0,n.jsx)(r.p,{children:"Check if provided JSON is valid."}),"\n",(0,n.jsxs)(r.ul,{children:["\n",(0,n.jsx)(r.li,{children:"@param string $string String to check."}),"\n",(0,n.jsx)(r.li,{children:"@return bool"}),"\n"]}),"\n",(0,n.jsx)(r.h2,{id:"flatten_array",children:"flatten_array"}),"\n",(0,n.jsx)(r.p,{children:"Flattens a multidimensional array."}),"\n",(0,n.jsxs)(r.ul,{children:["\n",(0,n.jsx)(r.li,{children:"@param array $array Multidimensional array."}),"\n",(0,n.jsx)(r.li,{children:"@return array"}),"\n"]}),"\n",(0,n.jsx)(r.h2,{id:"sanitize_array",children:"sanitize_array"}),"\n",(0,n.jsx)(r.p,{children:"Sanitize all the values in an array."}),"\n",(0,n.jsxs)(r.ul,{children:["\n",(0,n.jsxs)(r.li,{children:["\n",(0,n.jsx)(r.p,{children:"@param array $array Provided array."}),"\n"]}),"\n",(0,n.jsxs)(r.li,{children:["\n",(0,n.jsx)(r.p,{children:"@param string $sanitization_function WordPress function used for sanitization purposes."}),"\n"]}),"\n",(0,n.jsxs)(r.li,{children:["\n",(0,n.jsxs)(r.p,{children:["@link ",(0,n.jsx)(r.a,{href:"https://developer.wordpress.org/themes/theme-security/data-sanitization-escaping/",children:"https://developer.wordpress.org/themes/theme-security/data-sanitization-escaping/"})]}),"\n"]}),"\n",(0,n.jsxs)(r.li,{children:["\n",(0,n.jsx)(r.p,{children:"@return array"}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(r.h2,{id:"sort_array_by_order_key",children:"sort_array_by_order_key"}),"\n",(0,n.jsx)(r.p,{children:"Sort array by order key. It is used to sort terms."}),"\n",(0,n.jsxs)(r.ul,{children:["\n",(0,n.jsx)(r.li,{children:"@param array $items Items array to sort. Must have order key."}),"\n",(0,n.jsx)(r.li,{children:"@return array"}),"\n"]})]})}function h(e={}){const{wrapper:r}={...(0,i.a)(),...e.components};return r?(0,n.jsx)(r,{...e,children:(0,n.jsx)(o,{...e})}):o(e)}},11151:(e,r,s)=>{s.d(r,{Z:()=>l,a:()=>a});var n=s(67294);const i={},t=n.createContext(i);function a(e){const r=n.useContext(t);return n.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function l(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),n.createElement(t.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0f1457e8.67ff36be.js b/assets/js/0f1457e8.67ff36be.js new file mode 100644 index 000000000..e591e23db --- /dev/null +++ b/assets/js/0f1457e8.67ff36be.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[33628],{61292:(e,r,s)=>{s.r(r),s.d(r,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>t,metadata:()=>l,toc:()=>d});var n=s(17624),i=s(4552);const t={id:"helpers-object-helpers",title:"Object"},a=void 0,l={id:"legacy/v4/advanced/helpers-object-helpers",title:"Object",description:"docs-source",source:"@site/docs/legacy/v4/advanced/helpers-object.md",sourceDirName:"legacy/v4/advanced",slug:"/legacy/v4/advanced/helpers-object-helpers",permalink:"/docs/legacy/v4/advanced/helpers-object-helpers",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"helpers-object-helpers",title:"Object"},sidebar:"docs",previous:{title:"Aliases",permalink:"/docs/legacy/v4/advanced/helpers-aliases-helpers"},next:{title:"Components",permalink:"/docs/legacy/v4/advanced/helpers-components-helpers"}},c={},d=[{value:"is_valid_xml",id:"is_valid_xml",level:2},{value:"is_json",id:"is_json",level:2},{value:"flatten_array",id:"flatten_array",level:2},{value:"sanitize_array",id:"sanitize_array",level:2},{value:"sort_array_by_order_key",id:"sort_array_by_order_key",level:2}];function o(e){const r={a:"a",code:"code",h2:"h2",img:"img",li:"li",p:"p",ul:"ul",...(0,i.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r.p,{children:(0,n.jsx)(r.a,{href:"https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/helpers/class-object-helper.php",children:(0,n.jsx)(r.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsxs)(r.p,{children:["Object trait is located in ",(0,n.jsx)(r.code,{children:"Eightshift Libs"}),". To extend it, use ",(0,n.jsx)(r.code,{children:"Eightshift_Libs\\Helpers\\Object_Helper"})," class."]}),"\n",(0,n.jsxs)(r.p,{children:["All of us have some custom helpers and stuff that we use around on multiple the project. We have created this simple trait helper that you can use in any PHP class as a ",(0,n.jsx)(r.a,{href:"/docs/legacy/v4/guides/extending-classes",children:"trait"}),"."]}),"\n",(0,n.jsx)(r.h2,{id:"is_valid_xml",children:"is_valid_xml"}),"\n",(0,n.jsxs)(r.p,{children:["Check if the provided XML is valid. It uses a ",(0,n.jsx)(r.code,{children:"DOMDocument"})," library."]}),"\n",(0,n.jsxs)(r.ul,{children:["\n",(0,n.jsx)(r.li,{children:"@param xml $xml Full xml document."}),"\n",(0,n.jsx)(r.li,{children:"@return boolean"}),"\n"]}),"\n",(0,n.jsx)(r.h2,{id:"is_json",children:"is_json"}),"\n",(0,n.jsx)(r.p,{children:"Check if provided JSON is valid."}),"\n",(0,n.jsxs)(r.ul,{children:["\n",(0,n.jsx)(r.li,{children:"@param string $string String to check."}),"\n",(0,n.jsx)(r.li,{children:"@return bool"}),"\n"]}),"\n",(0,n.jsx)(r.h2,{id:"flatten_array",children:"flatten_array"}),"\n",(0,n.jsx)(r.p,{children:"Flattens a multidimensional array."}),"\n",(0,n.jsxs)(r.ul,{children:["\n",(0,n.jsx)(r.li,{children:"@param array $array Multidimensional array."}),"\n",(0,n.jsx)(r.li,{children:"@return array"}),"\n"]}),"\n",(0,n.jsx)(r.h2,{id:"sanitize_array",children:"sanitize_array"}),"\n",(0,n.jsx)(r.p,{children:"Sanitize all the values in an array."}),"\n",(0,n.jsxs)(r.ul,{children:["\n",(0,n.jsxs)(r.li,{children:["\n",(0,n.jsx)(r.p,{children:"@param array $array Provided array."}),"\n"]}),"\n",(0,n.jsxs)(r.li,{children:["\n",(0,n.jsx)(r.p,{children:"@param string $sanitization_function WordPress function used for sanitization purposes."}),"\n"]}),"\n",(0,n.jsxs)(r.li,{children:["\n",(0,n.jsxs)(r.p,{children:["@link ",(0,n.jsx)(r.a,{href:"https://developer.wordpress.org/themes/theme-security/data-sanitization-escaping/",children:"https://developer.wordpress.org/themes/theme-security/data-sanitization-escaping/"})]}),"\n"]}),"\n",(0,n.jsxs)(r.li,{children:["\n",(0,n.jsx)(r.p,{children:"@return array"}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(r.h2,{id:"sort_array_by_order_key",children:"sort_array_by_order_key"}),"\n",(0,n.jsx)(r.p,{children:"Sort array by order key. It is used to sort terms."}),"\n",(0,n.jsxs)(r.ul,{children:["\n",(0,n.jsx)(r.li,{children:"@param array $items Items array to sort. Must have order key."}),"\n",(0,n.jsx)(r.li,{children:"@return array"}),"\n"]})]})}function h(e={}){const{wrapper:r}={...(0,i.M)(),...e.components};return r?(0,n.jsx)(r,{...e,children:(0,n.jsx)(o,{...e})}):o(e)}},4552:(e,r,s)=>{s.d(r,{I:()=>l,M:()=>a});var n=s(11504);const i={},t=n.createContext(i);function a(e){const r=n.useContext(t);return n.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function l(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),n.createElement(t.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0f187495.83c9fa17.js b/assets/js/0f187495.83c9fa17.js deleted file mode 100644 index 6a7447865..000000000 --- a/assets/js/0f187495.83c9fa17.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[80239],{3056:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>i,metadata:()=>r,toc:()=>l});var t=s(85893),a=s(11151);const i={id:"autowiring",title:"Autowiring",sidebar_label:"Autowiring"},o=void 0,r={id:"legacy/v5/basics/autowiring",title:"Autowiring",description:"docs-source",source:"@site/docs/legacy/v5/basics/autowiring.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/autowiring",permalink:"/docs/legacy/v5/basics/autowiring",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"autowiring",title:"Autowiring",sidebar_label:"Autowiring"},sidebar:"docs",previous:{title:"Extending Classes",permalink:"/docs/legacy/v5/basics/extending-classes"},next:{title:"Example Class",permalink:"/docs/legacy/v5/basics/example-class"}},c={},l=[{value:"How it works",id:"how-it-works",level:2},{value:"What if I have to mock or manually call a class?",id:"what-if-i-have-to-mock-or-manually-call-a-class",level:3},{value:"What if my class doesn't have anything inside a constructor method? (no dependencies)",id:"what-if-my-class-doesnt-have-anything-inside-a-constructor-method-no-dependencies",level:3},{value:"What if my class has a primitive parameter (string, int, etc.) inside a constructor method?",id:"what-if-my-class-has-a-primitive-parameter-string-int-etc-inside-a-constructor-method",level:3},{value:"What if my class does have another class as a parameter inside a constructor method?",id:"what-if-my-class-does-have-another-class-as-a-parameter-inside-a-constructor-method",level:3},{value:"What if my class has an interface parameter inside the constructor method?",id:"what-if-my-class-has-an-interface-parameter-inside-the-constructor-method",level:3},{value:"Example",id:"example",level:4},{value:"To sum it up",id:"to-sum-it-up",level:2}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",em:"em",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/tree/3.0.0/",children:(0,t.jsx)(n.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsx)(n.p,{children:"What is autowiring?"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.em,{children:"Autowiring is an exotic word that represents something very simple: the container's ability to create and inject dependencies automatically."})}),"\n",(0,t.jsxs)(n.p,{children:["The quote is taken from the ",(0,t.jsx)(n.a,{href:"https://php-di.org/doc/autowiring.html",children:"PHP-DI"})," library that we use."]}),"\n",(0,t.jsx)(n.p,{children:"In a nutshell, we use a dependency injection (DI) container to load all your service classes. Alongside the DI container, we also use the PSR-4 coding standard for autoloading. That allows us to predict what your file/folder structure will look like in correlation to the namespace. With that in mind, you don't have to worry about requiring your classes. Our autoloading takes care of everything. All you need to do is follow a few coding standards so that you can automatically inject other classes as dependencies."}),"\n",(0,t.jsxs)(n.p,{children:["Autowiring runs inside the ",(0,t.jsx)(n.code,{children:"Main"})," service class as an extended class of our ",(0,t.jsx)(n.code,{children:"AbstractMain"})," class. You can install the main class using this command:"]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"wp boilerplate create_main"})}),"\n",(0,t.jsx)(n.h2,{id:"how-it-works",children:"How it works"}),"\n",(0,t.jsx)(n.p,{children:"Here is a quick overview of how this works:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"You create a new class manually or using the WP-CLI command."}),"\n",(0,t.jsx)(n.li,{children:"PSR-4 should detect your new class if you followed the PSR-4 naming standard."}),"\n",(0,t.jsxs)(n.li,{children:["The new class is added to the ",(0,t.jsx)(n.code,{children:"classmap"})," array inside the ",(0,t.jsx)(n.code,{children:"vendor"})," folder."]}),"\n",(0,t.jsx)(n.li,{children:"Autowiring class reads the new class, checks if your class has any class dependencies, and injects them."}),"\n",(0,t.jsx)(n.li,{children:"It just works."}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"To put it shortly: just add a new class (that is PSR-4 compliant) with or without some class dependencies and everything will be automatically resolved/injected."}),"\n",(0,t.jsx)(n.h3,{id:"what-if-i-have-to-mock-or-manually-call-a-class",children:"What if I have to mock or manually call a class?"}),"\n",(0,t.jsx)(n.p,{children:"Before we start with the automatization and autowiring, let's see how service classes are called manually."}),"\n",(0,t.jsx)(n.p,{children:"We can think of these scenarios where you want to load a class manually:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"You have to write tests and manually provide mocked classes."}),"\n",(0,t.jsx)(n.li,{children:"Your classes have a custom structure and autowiring can't resolve it."}),"\n",(0,t.jsxs)(n.li,{children:["You want to provide a primitive parameter (",(0,t.jsx)(n.code,{children:"string"}),", ",(0,t.jsx)(n.code,{children:"int"}),", etc.) inside a constructor method."]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["In those cases, you can manually provide your DI container with the implementation using the ",(0,t.jsx)(n.code,{children:"getServiceClasses"})," method inside the ",(0,t.jsx)(n.code,{children:"src>Main>Main"})," class."]}),"\n",(0,t.jsx)(n.p,{children:"Provide the method and add your custom implementation like this:"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"src>Main>Main.php"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:" /**\n * Get the list of services to register.\n *\n * A list of classes which contain hooks.\n *\n * @return array Array of fully qualified service class names.\n */\n protected function getServiceClasses(): array\n {\n return [\n\n // If you are using a class as a DI.\n ProjectNamespace\\Rest\\Routes\\DocumentsRoute::class => [ProjectNamespace\\Query\\Documents\\QueryDocuments::class],\n\n // If you just want to include a simple class with no DI.\n ProjectNamespace\\CoolFolder\\CoolClass::class,\n ];\n }\n"})}),"\n",(0,t.jsx)(n.h3,{id:"what-if-my-class-doesnt-have-anything-inside-a-constructor-method-no-dependencies",children:"What if my class doesn't have anything inside a constructor method? (no dependencies)"}),"\n",(0,t.jsxs)(n.p,{children:["If your class ",(0,t.jsx)(n.strong,{children:"doesn't have"})," anything defined in the constructor method, autoloading will require your class.\nThis just means that you are not using dependency injection (since you have nothing to inject)."]}),"\n",(0,t.jsxs)(n.h3,{id:"what-if-my-class-has-a-primitive-parameter-string-int-etc-inside-a-constructor-method",children:["What if my class has a ",(0,t.jsx)(n.strong,{children:"primitive parameter"})," (",(0,t.jsx)(n.code,{children:"string"}),", ",(0,t.jsx)(n.code,{children:"int"}),", etc.) inside a constructor method?"]}),"\n",(0,t.jsxs)(n.p,{children:["If your class ",(0,t.jsx)(n.strong,{children:"has"})," a primitive parameter defined in the constructor method, autowiring will ",(0,t.jsx)(n.strong,{children:"not know"})," how to handle this because you manually need to provide the primitive parameters at the point of usage. You can find more information about that ",(0,t.jsx)(n.a,{href:"#what-if-i-have-to-mock-or-manually-call-a-class",children:"here"}),"."]}),"\n",(0,t.jsx)(n.h3,{id:"what-if-my-class-does-have-another-class-as-a-parameter-inside-a-constructor-method",children:"What if my class does have another class as a parameter inside a constructor method?"}),"\n",(0,t.jsx)(n.p,{children:"This works out of the box, but you shouldn't really do this."}),"\n",(0,t.jsx)(n.p,{children:"A good coding practice is that your class should never depend on the concrete class implementation because you have tightly coupled your class to another class. This makes it hard to test and your code becomes hard to modify. Imagine that you have put a concrete implementation as a dependency, only to get feedback from the client that you need to change that implementation for a completely different one. Making the changes means that you'll need to track all the places in your codebase where you have used some functionality from this class, and change it completely."}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"You should always code against interfaces and not implementation."})}),"\n",(0,t.jsxs)(n.p,{children:["We can't stress this enough because as your project grows, so will your headaches. Also, when you start testing your code, that is when your hair will begin to fall off. We recommend reading Uncle Bob Martin's ",(0,t.jsx)(n.a,{href:"http://cleancoder.com/products",children:"Clean Code"}),". That will save you a lot of sleepless nights, and you'll learn tons of tips and tricks for writing clean code."]}),"\n",(0,t.jsx)(n.h3,{id:"what-if-my-class-has-an-interface-parameter-inside-the-constructor-method",children:"What if my class has an interface parameter inside the constructor method?"}),"\n",(0,t.jsx)(n.p,{children:"This will automatically be resolved (same as with class parameters) if you follow one simple rule:"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsx)(n.p,{children:"Variable name in your constructor method needs to match the class name (which implements the interface) in camelCase."}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["For example, let's say you have a ",(0,t.jsx)(n.code,{children:"SteeringWheel"})," class:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"class SteeringWheel implements CarPartInterface\n"})}),"\n",(0,t.jsx)(n.p,{children:"and you want to have this as a dependency in Car class. Your Car class has the following constructor:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"public function __construct(CarPartInterface $steeringWheel)\n{\n $this->steeringWheel = $steeringWheel;\n}\n"})}),"\n",(0,t.jsxs)(n.p,{children:["Since the injected variable name ",(0,t.jsx)(n.code,{children:"$steeringWheel"})," is the camelCase version of the class name ",(0,t.jsx)(n.code,{children:"SteeringWheel"})," which implements ",(0,t.jsx)(n.code,{children:"CarPartInterface"}),", autowiring will know to inject the correct class and everything will work fine."]}),"\n",(0,t.jsx)(n.p,{children:"If you understand everything from the upper example, you can just skip the next one. However, we recommend checking out the following example for a more detailed overview."}),"\n",(0,t.jsx)(n.h4,{id:"example",children:"Example"}),"\n",(0,t.jsxs)(n.p,{children:["Let's set a scene. You have created a ",(0,t.jsx)(n.code,{children:"DocumentsRoute"})," class and it needs some functionality from the ",(0,t.jsx)(n.code,{children:"QueryDocuments"})," class."]}),"\n",(0,t.jsx)(n.p,{children:"Steps you need to follow are:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["You should create an interface with all the methods you need in the ",(0,t.jsx)(n.code,{children:"DocumentsRoute"})," class. Let's call it ",(0,t.jsx)(n.code,{children:"QueryDocumentsInterface"}),". We'll put it inside the ",(0,t.jsx)(n.code,{children:"src/Query/Documents"})," folder."]}),"\n",(0,t.jsxs)(n.li,{children:["Your ",(0,t.jsx)(n.code,{children:"QueryDocuments"})," class should implement your new ",(0,t.jsx)(n.code,{children:"QueryDocumentsInterface"})," class and have all the methods from the interface implemented."]}),"\n",(0,t.jsxs)(n.li,{children:["In your ",(0,t.jsx)(n.code,{children:"DocumentsRoute"})," class, provide the ",(0,t.jsx)(n.code,{children:"QueryDocumentsInterface"})," interface as a parameter inside the ",(0,t.jsx)(n.code,{children:"__construct"})," method with the name of the argument ",(0,t.jsx)(n.code,{children:"$queryDocuments"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:["You can now use the methods defined in the ",(0,t.jsx)(n.code,{children:"QueryDocuments"})," class."]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Let us provide you with some code examples:"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Structure:"})}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["src","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Query","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Documents","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"QueryDocumentsInterface.class"}),"\n",(0,t.jsx)(n.li,{children:"QueryDocuments.class"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["Rest","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Routes","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"DocumentsRoute.class"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"src/Query/Documents/QueryDocumentsInterface.php"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"/**\n * The file that holds a QueryDocuments interface.\n *\n * @package ProjectNamespace\\Query\\Documents;\n */\n\ndeclare(strict_types=1);\n\nnamespace ProjectNamespace\\Query\\Documents;\n\n/**\n * Interface for querying documents\n */\ninterface QueryDocumentsInterface\n{\n\n /**\n * Get structured documents data for documents section.\n *\n * @param int $id Id for data.\n *\n * @return string\n */\n public function getDocumentsData(int $id = 0): string;\n}\n"})}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"src/Query/Documents/QueryDocuments.php"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"/**\n * The file for querying all the documents\n *\n * @package ProjectNamespace\\Query\\Documents\n */\n\ndeclare(strict_types=1);\n\nnamespace ProjectNamespace\\Query\\Documents;\n\nuse ProjectNamespaceVendor\\EightshiftLibs\\Services\\ServiceInterface;\n\n/**\n * QueryDocuments class.\n */\nclass QueryDocuments implements ServiceInterface, QueryDocumentsInterface\n{\n /**\n * Get structured documents data for documents section.\n *\n * @param int $id Id for data.\n *\n * @return string\n */\n public function getDocumentsData(int $id = 0): string\n {\n // here goes the implementation of getDocumentsData method.\n }\n}\n"})}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"src/Rest/Routes/DocumentsRoute.php"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"/**\n * The class register route for DocumentsRoute endpoint\n *\n * @package ProjectNamespace\\Rest\\Routes\n */\n\ndeclare(strict_types=1);\n\nnamespace ProjectNamespace\\Rest\\Routes;\n\nuse ProjectNamespace\\Query\\Documents\\QueryDocumentsInterface;\nuse ProjectNamespaceVendor\\EightshiftLibs\\Rest\\Routes\\AbstractRoute;\nuse ProjectNamespaceVendor\\EightshiftLibs\\Rest\\CallableRouteInterface;\n\n/**\n * Class DocumentsRoute\n */\nclass DocumentsRoute extends AbstractRoute implements CallableRouteInterface\n{\n\n /**\n * Instance variable of documents data.\n *\n * @var QueryDocumentsInterface\n */\n protected $queryDocuments;\n\n /**\n * Create a new instance.\n *\n * @param QueryDocumentsInterface $queryDocuments Inject documentsData which holds data for documents.\n */\n public function __construct(QueryDocumentsInterface $queryDocuments)\n {\n $this->queryDocuments = $queryDocuments;\n }\n\n // here goes the rest of the DocumentsRoute implementation.\n}\n"})}),"\n",(0,t.jsx)(n.p,{children:"And that's it. Autowiring knows how to resolve the dependencies, you didn't tightly couple the code, and you're all set."}),"\n",(0,t.jsx)(n.h2,{id:"to-sum-it-up",children:"To sum it up"}),"\n",(0,t.jsx)(n.p,{children:"This chapter may be a bit long, but we wanted to make sure you understand our motivation behind it. We often work on large projects with lots of third-party integrations, and having a good project structure and architecture makes the projects more durable. It makes them less prone to bugs (if you write tests) and makes implementing new features and removing obsolete ones a lot easier."}),"\n",(0,t.jsx)(n.p,{children:"Do you need to use it? Not really. Especially on really simple projects. Should you? We think you'll benefit from it in the long run."})]})}function h(e={}){const{wrapper:n}={...(0,a.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},11151:(e,n,s)=>{s.d(n,{Z:()=>r,a:()=>o});var t=s(67294);const a={},i=t.createContext(a);function o(e){const n=t.useContext(i);return t.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(a):e.components||a:o(e.components),t.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0f187495.b42de3b3.js b/assets/js/0f187495.b42de3b3.js new file mode 100644 index 000000000..96a97ea2e --- /dev/null +++ b/assets/js/0f187495.b42de3b3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[4721],{87113:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>i,metadata:()=>r,toc:()=>l});var t=s(17624),a=s(4552);const i={id:"autowiring",title:"Autowiring",sidebar_label:"Autowiring"},o=void 0,r={id:"legacy/v5/basics/autowiring",title:"Autowiring",description:"docs-source",source:"@site/docs/legacy/v5/basics/autowiring.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/autowiring",permalink:"/docs/legacy/v5/basics/autowiring",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"autowiring",title:"Autowiring",sidebar_label:"Autowiring"},sidebar:"docs",previous:{title:"Extending Classes",permalink:"/docs/legacy/v5/basics/extending-classes"},next:{title:"Example Class",permalink:"/docs/legacy/v5/basics/example-class"}},c={},l=[{value:"How it works",id:"how-it-works",level:2},{value:"What if I have to mock or manually call a class?",id:"what-if-i-have-to-mock-or-manually-call-a-class",level:3},{value:"What if my class doesn't have anything inside a constructor method? (no dependencies)",id:"what-if-my-class-doesnt-have-anything-inside-a-constructor-method-no-dependencies",level:3},{value:"What if my class has a primitive parameter (string, int, etc.) inside a constructor method?",id:"what-if-my-class-has-a-primitive-parameter-string-int-etc-inside-a-constructor-method",level:3},{value:"What if my class does have another class as a parameter inside a constructor method?",id:"what-if-my-class-does-have-another-class-as-a-parameter-inside-a-constructor-method",level:3},{value:"What if my class has an interface parameter inside the constructor method?",id:"what-if-my-class-has-an-interface-parameter-inside-the-constructor-method",level:3},{value:"Example",id:"example",level:4},{value:"To sum it up",id:"to-sum-it-up",level:2}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",em:"em",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/tree/3.0.0/",children:(0,t.jsx)(n.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsx)(n.p,{children:"What is autowiring?"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.em,{children:"Autowiring is an exotic word that represents something very simple: the container's ability to create and inject dependencies automatically."})}),"\n",(0,t.jsxs)(n.p,{children:["The quote is taken from the ",(0,t.jsx)(n.a,{href:"https://php-di.org/doc/autowiring.html",children:"PHP-DI"})," library that we use."]}),"\n",(0,t.jsx)(n.p,{children:"In a nutshell, we use a dependency injection (DI) container to load all your service classes. Alongside the DI container, we also use the PSR-4 coding standard for autoloading. That allows us to predict what your file/folder structure will look like in correlation to the namespace. With that in mind, you don't have to worry about requiring your classes. Our autoloading takes care of everything. All you need to do is follow a few coding standards so that you can automatically inject other classes as dependencies."}),"\n",(0,t.jsxs)(n.p,{children:["Autowiring runs inside the ",(0,t.jsx)(n.code,{children:"Main"})," service class as an extended class of our ",(0,t.jsx)(n.code,{children:"AbstractMain"})," class. You can install the main class using this command:"]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"wp boilerplate create_main"})}),"\n",(0,t.jsx)(n.h2,{id:"how-it-works",children:"How it works"}),"\n",(0,t.jsx)(n.p,{children:"Here is a quick overview of how this works:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"You create a new class manually or using the WP-CLI command."}),"\n",(0,t.jsx)(n.li,{children:"PSR-4 should detect your new class if you followed the PSR-4 naming standard."}),"\n",(0,t.jsxs)(n.li,{children:["The new class is added to the ",(0,t.jsx)(n.code,{children:"classmap"})," array inside the ",(0,t.jsx)(n.code,{children:"vendor"})," folder."]}),"\n",(0,t.jsx)(n.li,{children:"Autowiring class reads the new class, checks if your class has any class dependencies, and injects them."}),"\n",(0,t.jsx)(n.li,{children:"It just works."}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"To put it shortly: just add a new class (that is PSR-4 compliant) with or without some class dependencies and everything will be automatically resolved/injected."}),"\n",(0,t.jsx)(n.h3,{id:"what-if-i-have-to-mock-or-manually-call-a-class",children:"What if I have to mock or manually call a class?"}),"\n",(0,t.jsx)(n.p,{children:"Before we start with the automatization and autowiring, let's see how service classes are called manually."}),"\n",(0,t.jsx)(n.p,{children:"We can think of these scenarios where you want to load a class manually:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"You have to write tests and manually provide mocked classes."}),"\n",(0,t.jsx)(n.li,{children:"Your classes have a custom structure and autowiring can't resolve it."}),"\n",(0,t.jsxs)(n.li,{children:["You want to provide a primitive parameter (",(0,t.jsx)(n.code,{children:"string"}),", ",(0,t.jsx)(n.code,{children:"int"}),", etc.) inside a constructor method."]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["In those cases, you can manually provide your DI container with the implementation using the ",(0,t.jsx)(n.code,{children:"getServiceClasses"})," method inside the ",(0,t.jsx)(n.code,{children:"src>Main>Main"})," class."]}),"\n",(0,t.jsx)(n.p,{children:"Provide the method and add your custom implementation like this:"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"src>Main>Main.php"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:" /**\n * Get the list of services to register.\n *\n * A list of classes which contain hooks.\n *\n * @return array Array of fully qualified service class names.\n */\n protected function getServiceClasses(): array\n {\n return [\n\n // If you are using a class as a DI.\n ProjectNamespace\\Rest\\Routes\\DocumentsRoute::class => [ProjectNamespace\\Query\\Documents\\QueryDocuments::class],\n\n // If you just want to include a simple class with no DI.\n ProjectNamespace\\CoolFolder\\CoolClass::class,\n ];\n }\n"})}),"\n",(0,t.jsx)(n.h3,{id:"what-if-my-class-doesnt-have-anything-inside-a-constructor-method-no-dependencies",children:"What if my class doesn't have anything inside a constructor method? (no dependencies)"}),"\n",(0,t.jsxs)(n.p,{children:["If your class ",(0,t.jsx)(n.strong,{children:"doesn't have"})," anything defined in the constructor method, autoloading will require your class.\nThis just means that you are not using dependency injection (since you have nothing to inject)."]}),"\n",(0,t.jsxs)(n.h3,{id:"what-if-my-class-has-a-primitive-parameter-string-int-etc-inside-a-constructor-method",children:["What if my class has a ",(0,t.jsx)(n.strong,{children:"primitive parameter"})," (",(0,t.jsx)(n.code,{children:"string"}),", ",(0,t.jsx)(n.code,{children:"int"}),", etc.) inside a constructor method?"]}),"\n",(0,t.jsxs)(n.p,{children:["If your class ",(0,t.jsx)(n.strong,{children:"has"})," a primitive parameter defined in the constructor method, autowiring will ",(0,t.jsx)(n.strong,{children:"not know"})," how to handle this because you manually need to provide the primitive parameters at the point of usage. You can find more information about that ",(0,t.jsx)(n.a,{href:"#what-if-i-have-to-mock-or-manually-call-a-class",children:"here"}),"."]}),"\n",(0,t.jsx)(n.h3,{id:"what-if-my-class-does-have-another-class-as-a-parameter-inside-a-constructor-method",children:"What if my class does have another class as a parameter inside a constructor method?"}),"\n",(0,t.jsx)(n.p,{children:"This works out of the box, but you shouldn't really do this."}),"\n",(0,t.jsx)(n.p,{children:"A good coding practice is that your class should never depend on the concrete class implementation because you have tightly coupled your class to another class. This makes it hard to test and your code becomes hard to modify. Imagine that you have put a concrete implementation as a dependency, only to get feedback from the client that you need to change that implementation for a completely different one. Making the changes means that you'll need to track all the places in your codebase where you have used some functionality from this class, and change it completely."}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"You should always code against interfaces and not implementation."})}),"\n",(0,t.jsxs)(n.p,{children:["We can't stress this enough because as your project grows, so will your headaches. Also, when you start testing your code, that is when your hair will begin to fall off. We recommend reading Uncle Bob Martin's ",(0,t.jsx)(n.a,{href:"http://cleancoder.com/products",children:"Clean Code"}),". That will save you a lot of sleepless nights, and you'll learn tons of tips and tricks for writing clean code."]}),"\n",(0,t.jsx)(n.h3,{id:"what-if-my-class-has-an-interface-parameter-inside-the-constructor-method",children:"What if my class has an interface parameter inside the constructor method?"}),"\n",(0,t.jsx)(n.p,{children:"This will automatically be resolved (same as with class parameters) if you follow one simple rule:"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsx)(n.p,{children:"Variable name in your constructor method needs to match the class name (which implements the interface) in camelCase."}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["For example, let's say you have a ",(0,t.jsx)(n.code,{children:"SteeringWheel"})," class:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"class SteeringWheel implements CarPartInterface\n"})}),"\n",(0,t.jsx)(n.p,{children:"and you want to have this as a dependency in Car class. Your Car class has the following constructor:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"public function __construct(CarPartInterface $steeringWheel)\n{\n $this->steeringWheel = $steeringWheel;\n}\n"})}),"\n",(0,t.jsxs)(n.p,{children:["Since the injected variable name ",(0,t.jsx)(n.code,{children:"$steeringWheel"})," is the camelCase version of the class name ",(0,t.jsx)(n.code,{children:"SteeringWheel"})," which implements ",(0,t.jsx)(n.code,{children:"CarPartInterface"}),", autowiring will know to inject the correct class and everything will work fine."]}),"\n",(0,t.jsx)(n.p,{children:"If you understand everything from the upper example, you can just skip the next one. However, we recommend checking out the following example for a more detailed overview."}),"\n",(0,t.jsx)(n.h4,{id:"example",children:"Example"}),"\n",(0,t.jsxs)(n.p,{children:["Let's set a scene. You have created a ",(0,t.jsx)(n.code,{children:"DocumentsRoute"})," class and it needs some functionality from the ",(0,t.jsx)(n.code,{children:"QueryDocuments"})," class."]}),"\n",(0,t.jsx)(n.p,{children:"Steps you need to follow are:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["You should create an interface with all the methods you need in the ",(0,t.jsx)(n.code,{children:"DocumentsRoute"})," class. Let's call it ",(0,t.jsx)(n.code,{children:"QueryDocumentsInterface"}),". We'll put it inside the ",(0,t.jsx)(n.code,{children:"src/Query/Documents"})," folder."]}),"\n",(0,t.jsxs)(n.li,{children:["Your ",(0,t.jsx)(n.code,{children:"QueryDocuments"})," class should implement your new ",(0,t.jsx)(n.code,{children:"QueryDocumentsInterface"})," class and have all the methods from the interface implemented."]}),"\n",(0,t.jsxs)(n.li,{children:["In your ",(0,t.jsx)(n.code,{children:"DocumentsRoute"})," class, provide the ",(0,t.jsx)(n.code,{children:"QueryDocumentsInterface"})," interface as a parameter inside the ",(0,t.jsx)(n.code,{children:"__construct"})," method with the name of the argument ",(0,t.jsx)(n.code,{children:"$queryDocuments"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:["You can now use the methods defined in the ",(0,t.jsx)(n.code,{children:"QueryDocuments"})," class."]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Let us provide you with some code examples:"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Structure:"})}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["src","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Query","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Documents","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"QueryDocumentsInterface.class"}),"\n",(0,t.jsx)(n.li,{children:"QueryDocuments.class"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["Rest","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Routes","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"DocumentsRoute.class"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"src/Query/Documents/QueryDocumentsInterface.php"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"/**\n * The file that holds a QueryDocuments interface.\n *\n * @package ProjectNamespace\\Query\\Documents;\n */\n\ndeclare(strict_types=1);\n\nnamespace ProjectNamespace\\Query\\Documents;\n\n/**\n * Interface for querying documents\n */\ninterface QueryDocumentsInterface\n{\n\n /**\n * Get structured documents data for documents section.\n *\n * @param int $id Id for data.\n *\n * @return string\n */\n public function getDocumentsData(int $id = 0): string;\n}\n"})}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"src/Query/Documents/QueryDocuments.php"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"/**\n * The file for querying all the documents\n *\n * @package ProjectNamespace\\Query\\Documents\n */\n\ndeclare(strict_types=1);\n\nnamespace ProjectNamespace\\Query\\Documents;\n\nuse ProjectNamespaceVendor\\EightshiftLibs\\Services\\ServiceInterface;\n\n/**\n * QueryDocuments class.\n */\nclass QueryDocuments implements ServiceInterface, QueryDocumentsInterface\n{\n /**\n * Get structured documents data for documents section.\n *\n * @param int $id Id for data.\n *\n * @return string\n */\n public function getDocumentsData(int $id = 0): string\n {\n // here goes the implementation of getDocumentsData method.\n }\n}\n"})}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"src/Rest/Routes/DocumentsRoute.php"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"/**\n * The class register route for DocumentsRoute endpoint\n *\n * @package ProjectNamespace\\Rest\\Routes\n */\n\ndeclare(strict_types=1);\n\nnamespace ProjectNamespace\\Rest\\Routes;\n\nuse ProjectNamespace\\Query\\Documents\\QueryDocumentsInterface;\nuse ProjectNamespaceVendor\\EightshiftLibs\\Rest\\Routes\\AbstractRoute;\nuse ProjectNamespaceVendor\\EightshiftLibs\\Rest\\CallableRouteInterface;\n\n/**\n * Class DocumentsRoute\n */\nclass DocumentsRoute extends AbstractRoute implements CallableRouteInterface\n{\n\n /**\n * Instance variable of documents data.\n *\n * @var QueryDocumentsInterface\n */\n protected $queryDocuments;\n\n /**\n * Create a new instance.\n *\n * @param QueryDocumentsInterface $queryDocuments Inject documentsData which holds data for documents.\n */\n public function __construct(QueryDocumentsInterface $queryDocuments)\n {\n $this->queryDocuments = $queryDocuments;\n }\n\n // here goes the rest of the DocumentsRoute implementation.\n}\n"})}),"\n",(0,t.jsx)(n.p,{children:"And that's it. Autowiring knows how to resolve the dependencies, you didn't tightly couple the code, and you're all set."}),"\n",(0,t.jsx)(n.h2,{id:"to-sum-it-up",children:"To sum it up"}),"\n",(0,t.jsx)(n.p,{children:"This chapter may be a bit long, but we wanted to make sure you understand our motivation behind it. We often work on large projects with lots of third-party integrations, and having a good project structure and architecture makes the projects more durable. It makes them less prone to bugs (if you write tests) and makes implementing new features and removing obsolete ones a lot easier."}),"\n",(0,t.jsx)(n.p,{children:"Do you need to use it? Not really. Especially on really simple projects. Should you? We think you'll benefit from it in the long run."})]})}function h(e={}){const{wrapper:n}={...(0,a.M)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},4552:(e,n,s)=>{s.d(n,{I:()=>r,M:()=>o});var t=s(11504);const a={},i=t.createContext(a);function o(e){const n=t.useContext(i);return t.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(a):e.components||a:o(e.components),t.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0fe8a02a.8c9cce1d.js b/assets/js/0fe8a02a.8c9cce1d.js new file mode 100644 index 000000000..04d83c7d2 --- /dev/null +++ b/assets/js/0fe8a02a.8c9cce1d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[16452],{79684:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>d,frontMatter:()=>o,metadata:()=>h,toc:()=>a});var i=s(17624),n=s(4552);const o={id:"versions",title:"Versions"},r=void 0,h={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.",source:"@site/docs/versions.md",sourceDirName:".",slug:"/versions",permalink:"/docs/versions",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"versions",title:"Versions"},sidebar:"docs",previous:{title:"Requirements",permalink:"/docs/requirements"},next:{title:"Create New Theme",permalink:"/docs/theme"}},c={},a=[];function l(e){const t={a:"a",img:"img",p:"p",...(0,n.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"Now that you understand what makes the Eightshift Development Kit tick, here is a quick reminder about what library versions this documentation refers to."}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-boilerplate",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/version--9.0.0-eightshift--boilerplate-red?style=for-the-badge&logo=",alt:"docs-source"})})}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-boilerplate",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/version--4.0.0-eightshift--boilerplate--plugin-important?style=for-the-badge&logo=",alt:"docs-source"})})}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/version--6.4.0-eightshift--libs-blue?style=for-the-badge&logo=",alt:"docs-source"})})}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/version--8.0.0-eightshift--frontend--libs-yellow?style=for-the-badge&logo=",alt:"docs-source"})})})]})}function d(e={}){const{wrapper:t}={...(0,n.M)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},4552:(e,t,s)=>{s.d(t,{I:()=>h,M:()=>r});var i=s(11504);const n={},o=i.createContext(n);function r(e){const t=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function h(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),i.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0fe8a02a.a342ead9.js b/assets/js/0fe8a02a.a342ead9.js deleted file mode 100644 index 7a9ef0b17..000000000 --- a/assets/js/0fe8a02a.a342ead9.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[53244],{33770:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>d,frontMatter:()=>o,metadata:()=>h,toc:()=>c});var i=s(85893),n=s(11151);const o={id:"versions",title:"Versions"},r=void 0,h={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.",source:"@site/docs/versions.md",sourceDirName:".",slug:"/versions",permalink:"/docs/versions",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"versions",title:"Versions"},sidebar:"docs",previous:{title:"Requirements",permalink:"/docs/requirements"},next:{title:"Create New Theme",permalink:"/docs/theme"}},a={},c=[];function l(e){const t={a:"a",img:"img",p:"p",...(0,n.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"Now that you understand what makes the Eightshift Development Kit tick, here is a quick reminder about what library versions this documentation refers to."}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-boilerplate",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/version--9.0.0-eightshift--boilerplate-red?style=for-the-badge&logo=",alt:"docs-source"})})}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-boilerplate",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/version--4.0.0-eightshift--boilerplate--plugin-important?style=for-the-badge&logo=",alt:"docs-source"})})}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/version--6.4.0-eightshift--libs-blue?style=for-the-badge&logo=",alt:"docs-source"})})}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/version--8.0.0-eightshift--frontend--libs-yellow?style=for-the-badge&logo=",alt:"docs-source"})})})]})}function d(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},11151:(e,t,s)=>{s.d(t,{Z:()=>h,a:()=>r});var i=s(67294);const n={},o=i.createContext(n);function r(e){const t=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function h(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),i.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/103a101a.09868b69.js b/assets/js/103a101a.09868b69.js new file mode 100644 index 000000000..2680dfab5 --- /dev/null +++ b/assets/js/103a101a.09868b69.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[92996],{83040: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/103a101a.6f8d89af.js b/assets/js/103a101a.6f8d89af.js deleted file mode 100644 index 7e7db6425..000000000 --- a/assets/js/103a101a.6f8d89af.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[48379],{4857: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/10c1e86a.4a399495.js b/assets/js/10c1e86a.4a399495.js deleted file mode 100644 index 47f20f641..000000000 --- a/assets/js/10c1e86a.4a399495.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[37933],{67244:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>p,frontMatter:()=>i,metadata:()=>l,toc:()=>r});var o=t(85893),s=t(11151);const i={id:"blocks-component-manifest",title:"Component Manifest"},a=void 0,l={id:"basics/blocks-component-manifest",title:"Component Manifest",description:"docs-source",source:"@site/docs/basics/blocks-component-manifest.md",sourceDirName:"basics",slug:"/basics/blocks-component-manifest",permalink:"/docs/basics/blocks-component-manifest",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-component-manifest",title:"Component Manifest"},sidebar:"docs",previous:{title:"Block Manifest",permalink:"/docs/basics/block-manifest"},next:{title:"Attributes",permalink:"/docs/basics/blocks-attributes"}},c={},r=[{value:"Example",id:"example",level:3},{value:"componentName",id:"componentname",level:3},{value:"title",id:"title",level:3},{value:"componentClass",id:"componentclass",level:3},{value:"example",id:"example-1",level:3},{value:"attributes",id:"attributes",level:3},{value:"options",id:"options",level:3},{value:"components",id:"components",level:3}];function d(e){const n={a:"a",code:"code",h3:"h3",img:"img",p:"p",pre:"pre",...(0,s.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,o.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(n.p,{children:"A component manifest is a bit different from the block manifest. The main difference is that the component manifest is a fully custom feature, and it is only here to provide a way to store configuration data and share it with multiple files in your project."}),"\n",(0,o.jsx)(n.h3,{id:"example",children:"Example"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n "componentName": "heading",\n "title": "Heading",\n "componentClass": "heading",\n "example": {\n "attributes": {\n "headingContent": "This is heading",\n "headingLevel": 2,\n "headingSize": "default",\n "headingUse": true\n }\n },\n "attributes": {\n "headingContent": {\n "type": "string"\n },\n "headingLevel": {\n "type": "integer",\n "default": 2\n },\n "headingSize": {\n "type": "string",\n "default": "default"\n },\n "headingUse": {\n "type": "boolean",\n "default": true\n }\n },\n "options": {\n "sizes": [\n {\n "label": "Default (30px)",\n "value": "default"\n },\n {\n "label": "Big (50px)",\n "value": "big"\n }\n ],\n "aligns": [\n "left",\n "center",\n "right"\n ],\n "colors": [\n "primary",\n "black"\n ]\n },\n "components": {}\n}\n'})}),"\n",(0,o.jsx)(n.h3,{id:"componentname",children:"componentName"}),"\n",(0,o.jsx)(n.p,{children:"This key is the most important one. We use this key to specify the component attributes prefix. When it's used correctly, we are able to change the attributes prefix depending on the component name passed from the parent component or block."}),"\n",(0,o.jsx)(n.h3,{id:"title",children:"title"}),"\n",(0,o.jsx)(n.p,{children:"This key is used to provide the label for all your component options and provide the storybook's automatic story title."}),"\n",(0,o.jsx)(n.h3,{id:"componentclass",children:"componentClass"}),"\n",(0,o.jsx)(n.p,{children:"These keys are used to provide a single point of reference for a component name. You'll use this key to provide a prefix for all the CSS selectors in your component."}),"\n",(0,o.jsx)(n.h3,{id:"example-1",children:"example"}),"\n",(0,o.jsxs)(n.p,{children:["The same as in the blocks manifest. Please check ",(0,o.jsx)(n.a,{href:"block-manifest",children:"this chapter"})," for more details."]}),"\n",(0,o.jsx)(n.h3,{id:"attributes",children:"attributes"}),"\n",(0,o.jsxs)(n.p,{children:["For more details please check ",(0,o.jsx)(n.a,{href:"blocks-attributes",children:"this chapter"}),"."]}),"\n",(0,o.jsx)(n.h3,{id:"options",children:"options"}),"\n",(0,o.jsxs)(n.p,{children:["These keys are used to provide a single point of reference for component options used in the options part. If you have a ",(0,o.jsx)(n.code,{children:"SelectControl"})," or a ",(0,o.jsx)(n.code,{children:"ColorSelector"})," component, you can set all your options here and use those options in the options section and story for mocking components. Please check ",(0,o.jsx)(n.a,{href:"blocks-component-in-block",children:"this chapter"})," for more details."]}),"\n",(0,o.jsx)(n.h3,{id:"components",children:"components"}),"\n",(0,o.jsxs)(n.p,{children:["The same as in the blocks manifest. Please check ",(0,o.jsx)(n.a,{href:"block-manifest",children:"this chapter"})," for more details."]})]})}function p(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},11151:(e,n,t)=>{t.d(n,{Z:()=>l,a:()=>a});var o=t(67294);const s={},i=o.createContext(s);function a(e){const n=o.useContext(i);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:a(e.components),o.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/10c1e86a.f878c315.js b/assets/js/10c1e86a.f878c315.js new file mode 100644 index 000000000..06540f01e --- /dev/null +++ b/assets/js/10c1e86a.f878c315.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[82780],{25280:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>p,frontMatter:()=>i,metadata:()=>l,toc:()=>r});var o=t(17624),s=t(4552);const i={id:"blocks-component-manifest",title:"Component Manifest"},a=void 0,l={id:"basics/blocks-component-manifest",title:"Component Manifest",description:"docs-source",source:"@site/docs/basics/blocks-component-manifest.md",sourceDirName:"basics",slug:"/basics/blocks-component-manifest",permalink:"/docs/basics/blocks-component-manifest",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-component-manifest",title:"Component Manifest"},sidebar:"docs",previous:{title:"Block Manifest",permalink:"/docs/basics/block-manifest"},next:{title:"Attributes",permalink:"/docs/basics/blocks-attributes"}},c={},r=[{value:"Example",id:"example",level:3},{value:"componentName",id:"componentname",level:3},{value:"title",id:"title",level:3},{value:"componentClass",id:"componentclass",level:3},{value:"example",id:"example-1",level:3},{value:"attributes",id:"attributes",level:3},{value:"options",id:"options",level:3},{value:"components",id:"components",level:3}];function d(e){const n={a:"a",code:"code",h3:"h3",img:"img",p:"p",pre:"pre",...(0,s.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,o.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(n.p,{children:"A component manifest is a bit different from the block manifest. The main difference is that the component manifest is a fully custom feature, and it is only here to provide a way to store configuration data and share it with multiple files in your project."}),"\n",(0,o.jsx)(n.h3,{id:"example",children:"Example"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n "componentName": "heading",\n "title": "Heading",\n "componentClass": "heading",\n "example": {\n "attributes": {\n "headingContent": "This is heading",\n "headingLevel": 2,\n "headingSize": "default",\n "headingUse": true\n }\n },\n "attributes": {\n "headingContent": {\n "type": "string"\n },\n "headingLevel": {\n "type": "integer",\n "default": 2\n },\n "headingSize": {\n "type": "string",\n "default": "default"\n },\n "headingUse": {\n "type": "boolean",\n "default": true\n }\n },\n "options": {\n "sizes": [\n {\n "label": "Default (30px)",\n "value": "default"\n },\n {\n "label": "Big (50px)",\n "value": "big"\n }\n ],\n "aligns": [\n "left",\n "center",\n "right"\n ],\n "colors": [\n "primary",\n "black"\n ]\n },\n "components": {}\n}\n'})}),"\n",(0,o.jsx)(n.h3,{id:"componentname",children:"componentName"}),"\n",(0,o.jsx)(n.p,{children:"This key is the most important one. We use this key to specify the component attributes prefix. When it's used correctly, we are able to change the attributes prefix depending on the component name passed from the parent component or block."}),"\n",(0,o.jsx)(n.h3,{id:"title",children:"title"}),"\n",(0,o.jsx)(n.p,{children:"This key is used to provide the label for all your component options and provide the storybook's automatic story title."}),"\n",(0,o.jsx)(n.h3,{id:"componentclass",children:"componentClass"}),"\n",(0,o.jsx)(n.p,{children:"These keys are used to provide a single point of reference for a component name. You'll use this key to provide a prefix for all the CSS selectors in your component."}),"\n",(0,o.jsx)(n.h3,{id:"example-1",children:"example"}),"\n",(0,o.jsxs)(n.p,{children:["The same as in the blocks manifest. Please check ",(0,o.jsx)(n.a,{href:"block-manifest",children:"this chapter"})," for more details."]}),"\n",(0,o.jsx)(n.h3,{id:"attributes",children:"attributes"}),"\n",(0,o.jsxs)(n.p,{children:["For more details please check ",(0,o.jsx)(n.a,{href:"blocks-attributes",children:"this chapter"}),"."]}),"\n",(0,o.jsx)(n.h3,{id:"options",children:"options"}),"\n",(0,o.jsxs)(n.p,{children:["These keys are used to provide a single point of reference for component options used in the options part. If you have a ",(0,o.jsx)(n.code,{children:"SelectControl"})," or a ",(0,o.jsx)(n.code,{children:"ColorSelector"})," component, you can set all your options here and use those options in the options section and story for mocking components. Please check ",(0,o.jsx)(n.a,{href:"blocks-component-in-block",children:"this chapter"})," for more details."]}),"\n",(0,o.jsx)(n.h3,{id:"components",children:"components"}),"\n",(0,o.jsxs)(n.p,{children:["The same as in the blocks manifest. Please check ",(0,o.jsx)(n.a,{href:"block-manifest",children:"this chapter"})," for more details."]})]})}function p(e={}){const{wrapper:n}={...(0,s.M)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},4552:(e,n,t)=>{t.d(n,{I:()=>l,M:()=>a});var o=t(11504);const s={},i=o.createContext(s);function a(e){const n=o.useContext(i);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:a(e.components),o.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/10db50b8.50c25fec.js b/assets/js/10db50b8.50c25fec.js deleted file mode 100644 index 1f5ca811c..000000000 --- a/assets/js/10db50b8.50c25fec.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[57551],{13112:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>l,contentTitle:()=>c,default:()=>h,frontMatter:()=>i,metadata:()=>r,toc:()=>d});var t=n(85893),o=n(11151);const i={id:"blocks-component-structure",title:"Component Structure"},c=void 0,r={id:"basics/blocks-component-structure",title:"Component Structure",description:"docs-source",source:"@site/docs/basics/blocks-component-structure.md",sourceDirName:"basics",slug:"/basics/blocks-component-structure",permalink:"/docs/basics/blocks-component-structure",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-component-structure",title:"Component Structure"},sidebar:"docs",previous:{title:"Block Structure",permalink:"/docs/basics/block-structure"},next:{title:"Block Manifest",permalink:"/docs/basics/block-manifest"}},l={},d=[{value:"assets",id:"assets",level:3},{value:"components",id:"components",level:3},{value:"docs",id:"docs",level:3},{value:"heading.php",id:"headingphp",level:3},{value:"heading-editor.scss",id:"heading-editorscss",level:3},{value:"heading-style.scss",id:"heading-stylescss",level:3},{value:"manifest.json",id:"manifestjson",level:3}];function a(e){const s={a:"a",admonition:"admonition",code:"code",h3:"h3",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,o.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,t.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsxs)(s.p,{children:["Your custom components are placed in the ",(0,t.jsx)(s.code,{children:"src/Blocks/components"})," folder."]}),"\n",(0,t.jsx)(s.p,{children:"For example, let's take the heading component (just replace the heading with your component name)."}),"\n",(0,t.jsx)(s.p,{children:"We suggest you always use the full name and never abbreviate for the component name. If your component has multiple words, you should separate them by a dash; for example, featured-post-block.js."}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Block structure should look like this:"})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["heading","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["assets","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"index.js"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["components","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"heading-editor.js"}),"\n",(0,t.jsx)(s.li,{children:"heading-options.js"}),"\n",(0,t.jsx)(s.li,{children:"heading-toolbar.js"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["docs","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"story.js"}),"\n",(0,t.jsx)(s.li,{children:"readme.mdx"}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(s.li,{children:"heading.php"}),"\n",(0,t.jsx)(s.li,{children:"heading-editor.scss"}),"\n",(0,t.jsx)(s.li,{children:"heading-style.scss"}),"\n",(0,t.jsx)(s.li,{children:"manifest.json"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["For example, you can check the ",(0,t.jsx)(s.a,{href:"/storybook",children:"storybook"}),"."]}),"\n",(0,t.jsx)(s.admonition,{type:"note",children:(0,t.jsx)(s.p,{children:"All files in components are optional."})}),"\n",(0,t.jsx)(s.h3,{id:"assets",children:"assets"}),"\n",(0,t.jsxs)(s.p,{children:["This folder behaves the same as the blocks assets folder. Please check the ",(0,t.jsx)(s.a,{href:"block-structure#assets",children:"block structure"})," chapter for more details."]}),"\n",(0,t.jsx)(s.h3,{id:"components",children:"components"}),"\n",(0,t.jsxs)(s.p,{children:["Components folder holds three files: ",(0,t.jsx)(s.code,{children:"heading-options.js"}),", ",(0,t.jsx)(s.code,{children:"heading-editor.js"}),", and ",(0,t.jsx)(s.code,{children:"heading-toolbars.js"}),". They are used the same way as in blocks to provide functionality based on the location used. The main difference in components is that these files are used inside other blocks to implement functionality from the component."]}),"\n",(0,t.jsx)(s.h3,{id:"docs",children:"docs"}),"\n",(0,t.jsx)(s.p,{children:"Docs folder contains everything a component needs to be run inside the Storybook. This part is optional but it will speed up your development time and provide you with the much-needed documentation."}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"story.js"})," - Storybook entry point for your component. Since components are not blocks, you must provide the mocked data for your component in this file."]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"readme.mdx"})," - README that describes your component and provides the documentation."]}),"\n"]}),"\n",(0,t.jsx)(s.h3,{id:"headingphp",children:"heading.php"}),"\n",(0,t.jsx)(s.p,{children:"This file contains the front-end part (the view) of the component used in your project when the page renders. This file shouldn't contain any business logic, just present the passed attributes. The main difference from block view is that you only have attributes that you passed from a block or a top-level component in this file."}),"\n",(0,t.jsx)(s.h3,{id:"heading-editorscss",children:"heading-editor.scss"}),"\n",(0,t.jsxs)(s.p,{children:["This file behaves the same as in blocks. Please check the ",(0,t.jsx)(s.a,{href:"block-structure#heading-editorscss",children:"block structure"})," chapter for more details."]}),"\n",(0,t.jsx)(s.h3,{id:"heading-stylescss",children:"heading-style.scss"}),"\n",(0,t.jsxs)(s.p,{children:["This file behaves the same as in blocks. Please check the ",(0,t.jsx)(s.a,{href:"block-structure#heading-stylescss",children:"block structure"})," chapter for more details."]}),"\n",(0,t.jsx)(s.h3,{id:"manifestjson",children:"manifest.json"}),"\n",(0,t.jsx)(s.p,{children:"This file contains all the configuration for a component."}),"\n",(0,t.jsxs)(s.p,{children:["For more details, check the ",(0,t.jsx)(s.a,{href:"blocks-component-manifest",children:"component manifest"})," chapter."]})]})}function h(e={}){const{wrapper:s}={...(0,o.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(a,{...e})}):a(e)}},11151:(e,s,n)=>{n.d(s,{Z:()=>r,a:()=>c});var t=n(67294);const o={},i=t.createContext(o);function c(e){const s=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:c(e.components),t.createElement(i.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/10db50b8.c5fef83d.js b/assets/js/10db50b8.c5fef83d.js new file mode 100644 index 000000000..2c16970f1 --- /dev/null +++ b/assets/js/10db50b8.c5fef83d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[17632],{48580:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>l,contentTitle:()=>c,default:()=>a,frontMatter:()=>i,metadata:()=>r,toc:()=>d});var t=n(17624),o=n(4552);const i={id:"blocks-component-structure",title:"Component Structure"},c=void 0,r={id:"basics/blocks-component-structure",title:"Component Structure",description:"docs-source",source:"@site/docs/basics/blocks-component-structure.md",sourceDirName:"basics",slug:"/basics/blocks-component-structure",permalink:"/docs/basics/blocks-component-structure",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-component-structure",title:"Component Structure"},sidebar:"docs",previous:{title:"Block Structure",permalink:"/docs/basics/block-structure"},next:{title:"Block Manifest",permalink:"/docs/basics/block-manifest"}},l={},d=[{value:"assets",id:"assets",level:3},{value:"components",id:"components",level:3},{value:"docs",id:"docs",level:3},{value:"heading.php",id:"headingphp",level:3},{value:"heading-editor.scss",id:"heading-editorscss",level:3},{value:"heading-style.scss",id:"heading-stylescss",level:3},{value:"manifest.json",id:"manifestjson",level:3}];function h(e){const s={a:"a",admonition:"admonition",code:"code",h3:"h3",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,o.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,t.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsxs)(s.p,{children:["Your custom components are placed in the ",(0,t.jsx)(s.code,{children:"src/Blocks/components"})," folder."]}),"\n",(0,t.jsx)(s.p,{children:"For example, let's take the heading component (just replace the heading with your component name)."}),"\n",(0,t.jsx)(s.p,{children:"We suggest you always use the full name and never abbreviate for the component name. If your component has multiple words, you should separate them by a dash; for example, featured-post-block.js."}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Block structure should look like this:"})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["heading","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["assets","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"index.js"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["components","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"heading-editor.js"}),"\n",(0,t.jsx)(s.li,{children:"heading-options.js"}),"\n",(0,t.jsx)(s.li,{children:"heading-toolbar.js"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["docs","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"story.js"}),"\n",(0,t.jsx)(s.li,{children:"readme.mdx"}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(s.li,{children:"heading.php"}),"\n",(0,t.jsx)(s.li,{children:"heading-editor.scss"}),"\n",(0,t.jsx)(s.li,{children:"heading-style.scss"}),"\n",(0,t.jsx)(s.li,{children:"manifest.json"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["For example, you can check the ",(0,t.jsx)(s.a,{href:"/storybook",children:"storybook"}),"."]}),"\n",(0,t.jsx)(s.admonition,{type:"note",children:(0,t.jsx)(s.p,{children:"All files in components are optional."})}),"\n",(0,t.jsx)(s.h3,{id:"assets",children:"assets"}),"\n",(0,t.jsxs)(s.p,{children:["This folder behaves the same as the blocks assets folder. Please check the ",(0,t.jsx)(s.a,{href:"block-structure#assets",children:"block structure"})," chapter for more details."]}),"\n",(0,t.jsx)(s.h3,{id:"components",children:"components"}),"\n",(0,t.jsxs)(s.p,{children:["Components folder holds three files: ",(0,t.jsx)(s.code,{children:"heading-options.js"}),", ",(0,t.jsx)(s.code,{children:"heading-editor.js"}),", and ",(0,t.jsx)(s.code,{children:"heading-toolbars.js"}),". They are used the same way as in blocks to provide functionality based on the location used. The main difference in components is that these files are used inside other blocks to implement functionality from the component."]}),"\n",(0,t.jsx)(s.h3,{id:"docs",children:"docs"}),"\n",(0,t.jsx)(s.p,{children:"Docs folder contains everything a component needs to be run inside the Storybook. This part is optional but it will speed up your development time and provide you with the much-needed documentation."}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"story.js"})," - Storybook entry point for your component. Since components are not blocks, you must provide the mocked data for your component in this file."]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"readme.mdx"})," - README that describes your component and provides the documentation."]}),"\n"]}),"\n",(0,t.jsx)(s.h3,{id:"headingphp",children:"heading.php"}),"\n",(0,t.jsx)(s.p,{children:"This file contains the front-end part (the view) of the component used in your project when the page renders. This file shouldn't contain any business logic, just present the passed attributes. The main difference from block view is that you only have attributes that you passed from a block or a top-level component in this file."}),"\n",(0,t.jsx)(s.h3,{id:"heading-editorscss",children:"heading-editor.scss"}),"\n",(0,t.jsxs)(s.p,{children:["This file behaves the same as in blocks. Please check the ",(0,t.jsx)(s.a,{href:"block-structure#heading-editorscss",children:"block structure"})," chapter for more details."]}),"\n",(0,t.jsx)(s.h3,{id:"heading-stylescss",children:"heading-style.scss"}),"\n",(0,t.jsxs)(s.p,{children:["This file behaves the same as in blocks. Please check the ",(0,t.jsx)(s.a,{href:"block-structure#heading-stylescss",children:"block structure"})," chapter for more details."]}),"\n",(0,t.jsx)(s.h3,{id:"manifestjson",children:"manifest.json"}),"\n",(0,t.jsx)(s.p,{children:"This file contains all the configuration for a component."}),"\n",(0,t.jsxs)(s.p,{children:["For more details, check the ",(0,t.jsx)(s.a,{href:"blocks-component-manifest",children:"component manifest"})," chapter."]})]})}function a(e={}){const{wrapper:s}={...(0,o.M)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(h,{...e})}):h(e)}},4552:(e,s,n)=>{n.d(s,{I:()=>r,M:()=>c});var t=n(11504);const o={},i=t.createContext(o);function c(e){const s=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:c(e.components),t.createElement(i.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/110cdc73.312fe289.js b/assets/js/110cdc73.312fe289.js new file mode 100644 index 000000000..2f526e373 --- /dev/null +++ b/assets/js/110cdc73.312fe289.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[5368],{75912:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>c,default:()=>l,frontMatter:()=>i,metadata:()=>o,toc:()=>p});var r=t(17624),s=t(4552);const i={id:"dependency-theme",title:"Dependency theme"},c=void 0,o={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).",source:"@site/forms/php/filters/scripts/dependency-theme.md",sourceDirName:"php/filters/scripts",slug:"/php/filters/scripts/dependency-theme",permalink:"/forms/php/filters/scripts/dependency-theme",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"dependency-theme",title:"Dependency theme"},sidebar:"forms",previous:{title:"Dependency admin",permalink:"/forms/php/filters/scripts/dependency-admin"},next:{title:"Dependency blocks editor",permalink:"/forms/php/filters/scripts/dependency-blocks-editor"}},d={},p=[];function a(e){const n={code:"code",p:"p",pre:"pre",...(0,s.M)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.p,{children:"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)."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-php",children:"\\add_filter('es_forms_scripts_dependency_theme', [$this, 'getScriptsDependency']);\n\n/**\n * Load add-on scripts before Forms scripts.\n *\n * @return array\n */\npublic function getScriptsDependency(): array\n{\n\treturn [\n\t\t'',\n\t];\n}\n"})})]})}function l(e={}){const{wrapper:n}={...(0,s.M)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(a,{...e})}):a(e)}},4552:(e,n,t)=>{t.d(n,{I:()=>o,M:()=>c});var r=t(11504);const s={},i=r.createContext(s);function c(e){const n=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),r.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/110cdc73.bc469159.js b/assets/js/110cdc73.bc469159.js deleted file mode 100644 index bc26eb7b1..000000000 --- a/assets/js/110cdc73.bc469159.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[90393],{36177:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>c,default:()=>l,frontMatter:()=>i,metadata:()=>o,toc:()=>p});var r=t(85893),s=t(11151);const i={id:"dependency-theme",title:"Dependency theme"},c=void 0,o={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).",source:"@site/forms/php/filters/scripts/dependency-theme.md",sourceDirName:"php/filters/scripts",slug:"/php/filters/scripts/dependency-theme",permalink:"/forms/php/filters/scripts/dependency-theme",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"dependency-theme",title:"Dependency theme"},sidebar:"forms",previous:{title:"Dependency admin",permalink:"/forms/php/filters/scripts/dependency-admin"},next:{title:"Dependency blocks editor",permalink:"/forms/php/filters/scripts/dependency-blocks-editor"}},d={},p=[];function a(e){const n={code:"code",p:"p",pre:"pre",...(0,s.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.p,{children:"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)."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-php",children:"\\add_filter('es_forms_scripts_dependency_theme', [$this, 'getScriptsDependency']);\n\n/**\n * Load add-on scripts before Forms scripts.\n *\n * @return array\n */\npublic function getScriptsDependency(): array\n{\n\treturn [\n\t\t'',\n\t];\n}\n"})})]})}function l(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(a,{...e})}):a(e)}},11151:(e,n,t)=>{t.d(n,{Z:()=>o,a:()=>c});var r=t(67294);const s={},i=r.createContext(s);function c(e){const n=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),r.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/120f8e9c.5c522c71.js b/assets/js/120f8e9c.5c522c71.js deleted file mode 100644 index 6d6d5d462..000000000 --- a/assets/js/120f8e9c.5c522c71.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[34900],{42455:(e,t,d)=>{d.r(t),d.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>A,frontMatter:()=>i,metadata:()=>l,toc:()=>f});var s=d(85893),n=d(11151);const i={id:"settings",title:"Settings"},r=void 0,l={id:"addons/premium/computed-fields/settings",title:"Settings",description:"Computed fields setting",source:"@site/forms/addons/premium/computed-fields/settings.md",sourceDirName:"addons/premium/computed-fields",slug:"/addons/premium/computed-fields/settings",permalink:"/forms/addons/premium/computed-fields/settings",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"settings",title:"Settings"},sidebar:"forms",previous:{title:"How to use?",permalink:"/forms/addons/premium/computed-fields/how-to-use"},next:{title:"Blocks",permalink:"/forms/addons/premium/computed-fields/blocks"}},c={},f=[{value:"Computed fields setting",id:"computed-fields-setting",level:2},{value:"Output variables setting",id:"output-variables-setting",level:2},{value:"Fake fields setting",id:"fake-fields-setting",level:2},{value:"Test your program",id:"test-your-program",level:2}];function a(e){const t={admonition:"admonition",code:"code",em:"em",h2:"h2",img:"img",li:"li",p:"p",ul:"ul",...(0,n.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"computed-fields-setting",children:"Computed fields setting"}),"\n",(0,s.jsxs)(t.p,{children:["Here you can input your FCL program. Check the ",(0,s.jsx)(t.em,{children:"Computed fields intro"})," chapter for the list of supported features."]}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.em,{children:"Available field names"})," show all the form fields whose outputs are available as variables that can be used in an FCL program."]}),"\n",(0,s.jsxs)(t.p,{children:["For example, if you have a field named ",(0,s.jsx)(t.code,{children:"email"}),", you can use ",(0,s.jsx)(t.code,{children:"$email"})," to get that field's value."]}),"\n",(0,s.jsx)(t.admonition,{type:"caution",children:(0,s.jsxs)(t.p,{children:["If a field name contains special characters or spaces, use the ",(0,s.jsx)(t.code,{children:"camelCased"})," version of the name for the variable. For example, ",(0,s.jsx)(t.code,{children:"my-field"})," becomes ",(0,s.jsx)(t.code,{children:"$myField"}),"."]})}),"\n",(0,s.jsx)(t.admonition,{type:"note",children:(0,s.jsx)(t.p,{children:"The code editor supports syntax highlighting, undo and indenting with tabs."})}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Computed Fields settings 1 screen",src:d(56451).Z+"",width:"538",height:"227"})}),"\n",(0,s.jsx)(t.h2,{id:"output-variables-setting",children:"Output variables setting"}),"\n",(0,s.jsx)(t.p,{children:"The variables sent as output data of an FCL program need to be specified manually. There is no limit for number of variables that can be output."}),"\n",(0,s.jsx)(t.admonition,{type:"caution",children:(0,s.jsxs)(t.p,{children:["Specify one variable per line and prefix each with ",(0,s.jsx)(t.code,{children:"$"}),"."]})}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Computed Fields settings 2 screen",src:d(2172).Z+"",width:"536",height:"236"})}),"\n",(0,s.jsx)(t.h2,{id:"fake-fields-setting",children:"Fake fields setting"}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.em,{children:"Fake fields"})," allow you to test an FCL program by providing test input data in JSON format. They will not be used on any user-facing forms."]}),"\n",(0,s.jsx)(t.admonition,{type:"note",children:(0,s.jsx)(t.p,{children:"The code editor supports syntax highlighting, undo and indenting with tabs."})}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Computed Fields settings 3 screen",src:d(53178).Z+"",width:"523",height:"701"})}),"\n",(0,s.jsx)(t.h2,{id:"test-your-program",children:"Test your program"}),"\n",(0,s.jsx)(t.p,{children:"In order to test an FCL program without having to build a form follow these steps:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["Add the FCL program in the ",(0,s.jsx)(t.em,{children:"Computed fields"})," field."]}),"\n",(0,s.jsxs)(t.li,{children:["Populate ",(0,s.jsx)(t.em,{children:"Output variables."})]}),"\n",(0,s.jsxs)(t.li,{children:["Add test data into ",(0,s.jsx)(t.em,{children:"Fake fields."})]}),"\n",(0,s.jsx)(t.li,{children:"Save the settings"}),"\n",(0,s.jsxs)(t.li,{children:["Click the ",(0,s.jsx)(t.em,{children:"Test Computed"})," button and check the ",(0,s.jsx)(t.em,{children:"Output log."})]}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Computed Fields settings 4 screen",src:d(14762).Z+"",width:"525",height:"440"})})]})}function A(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},56451:(e,t,d)=>{d.d(t,{Z:()=>s});const s="data:image/webp;base64,UklGRjgaAABXRUJQVlA4ICwaAABwdgCdASoaAuMAPjEYikQiIaEQqGyMIAMEtLdwuwB8i8He9y6p73P/V+P9AF6N/7xu1PMv+nnrTej//PeYB6ufqyegB51P/r9nf/Bf9X9jPaE1Xrx3/TPxP74f5T+N/nH+K/F/zf8b/yW59kR34h9OPm39Z/ZP+v/tP8H/4f8oPyA9ifT36gX4r/CP6D+Sv9l/eH1dO4oAB+K/x3+zf279nv7/+8nru/pX5Ee4/1s/pv20/YB/EP41/V/6L+w/93//f0t/Yf6P4tH03/Qfrx8AP8h/kv93/rv+d/4v99///2n/sn+T/tX+G/7v+P/////+KH5H/b/9J/j/8v/6v8N9gn8f/l3+O/tn+S/7P92////S+6///+239qf//7on67f+IPcNunXuxDuTr3Yh3J17sQ6gzoccs8OfBoHHQl+JIAE7l/sfPavhRj+1M18arDqx9IZ4P+jyD3MIURO64pc1z/zNT4L/l9KRbhWHr3Yh3J17sQ7k69GgZsnftzwxlCenv++J/8e9RDkTO4BoDj5dOeh0692Idyde7ELjrKrrIQvj8Rm5DSVDvUKdcGLrH1VIIp6QQDSapiMlLPDsjClwdik/wfq0vIXgFdiFMY1Sj3WVvp0hOrs3gdrlBdV7tOf+1e7EO5OvdiHc5IUeQ7k7B9EO5OvdiHcnXAQc/0PP5c6pvJUxh/C9YeBvLAcD3viEiJZjVf332OAkB8+MViW+NbFD5NOtAZmEqr4zHpk7sQ7k692Idydc2u6j67WHVs6CJkcUQB+AfoUjQziSsJlBNsB6/dusXD2Qy+d4qeQLfKERxs6Idyde7EO5OvdfekoVIwG4k8gRhVBuT87ZkQ29AzJxf+Ki3FRbiotxUW4qLcVFuKhGg8E5qyD4N/u77b8Ej1EJ9bHBDBxh9ydBJvAhNSYZSPBJ0D0JL5o0uE8Bv6uJJU8p6XNvDbp17sQ7k7Vg50J1FrIEGFn+DAoPexllmSi8LIKvxcpUAbOYUIwjYP77a0f7Y/M2uBbSHPcOOlzbw26de7EO5P8C5oMvgqYyd3ru5OvdiHcnXuxD4zCscQqcymYGdLG4+FCsvZfx4/1MWxv15d6kTR+7aQpp11z7BI5uipByWnRcpGNKr3HzH99omK0qek4HScDpOB0nA6TgdJwOjHvIGZKPyW/NOoqw4HITezT39m1OWrrYclv053iXIgmhez4tZ+cvBOXgnLwTl4Jy2xvs0Hpfu+iHcnXuxDuTr3Yh3J17sQ7k692Idyde7EO5OvdiHcnGAAD+/+zOAAAKypAsfE4eVsv037tGJCe9rSfLImYiCaw8VK+UxezGseS1uCt8vpb7ONlO4wyOv/xkxAFWZq7ozK7dAEs37hp71sSzAPOqIbBnlDGm695eb+xfqnXjrBuV4vZVfvkSQk9fgjGTB/gv/iRdfDrx1j5/nNXXO6+Wh9ZCCVn/etBCZ/XZEUhxc8SmhgirOHQolAgQdM1qEwdTXS4z1ubzFaYJs4wC7kYbRgqO7Vjsohdkcc2xtCQ6KmdHxCBAj+lYpxCGpDZRoEjQDmAjM0XVlfPayox6U+ka412MEXWSAtMvKUNu7yO8KRIyvlpd78NDgOGhYZ41q3AyXfpVjEXrS6FMuSp5puy1h0K5wuxzx0gJffcxPGn4mCX9g/F9FIwZAnl6cMz6seIOJYfheSkVDWgb9mf+KBdEoMCz0gi66JIubmwJ8vomiXSDS5Gt7UaJA+48Dv2HuylMN12gPtUsiKFsE3AgKFvU7Nyi4HGq/zPUHrDezZKuevAu+Lh7EkOHRkVnt76abUf/jQJssweDTFdGD9PGx43BDZKnCEj3hloIypnW1PkVk8bP7+HX7Pp7ddhQAvoMf/5ko3xrJw0qRKjQE192weUkax35j2Ao6irGmRa9Vnr4r3S43h86eFHhZCQIA/lzzn7ffnsyz7kv4tX/esyRZAhEXtOBh4bSmhGq/63e2LWeqZUmrw0C4GrP4M9JeKBj9kJ4csoEj/c4TqNNZVn7esV1yZgFwUMQwPOWTG0cJWoL0CUQtfJVuXUOY7UfHKoDvAGZclQWpavdTkzPq80dKVNVyO0Z10jhPiFdFULdlq6wZJS24LzOJkayD0Z9LOD+oM7dUg11f7J1W5oa3V8INgme4yTxSASArGTEzP22K8LXAwiHVg/5q6tq0A6ORdU/I3/YSmXWMdaYDzcqSv2wwgTYv8Mf6VX/BEDRoOLAMU5XZWLcuPi2AH+Eac01Oo+1R5riNrSGb5Vef5YAciJ9t///kkmP33Zyg+GOnZww7A1pWpoRaT7pSVzc2zIgXc41E0Uq4XhJeEgYwvKkpAqrtWwksD8rRl4Me+bO66Akh1lhAAbe/Cat/995fWi5Tr4id7VwTW9AAPGAsoAm45QMn4nDY0X/L/GVzFsWiOHqU8oPYsl74seF0O1MBoWSXan6/ePmGwEFipOGgN6D8q2LIqpRWp3WWTfr+TdX1cpxhyjcvw7yvGXsL17qpud7Phs/8SZIVkOWHL3IwB70OMFB/WRDmQ3ytIOD8Us5QzjbWIVcyKIFnmkPG6Qha0IexMfDYznFI4rDTRk0aXKaym2hxGiSajwAchFNaUZFY+SNzIqNT6h9yxw1B2XG/3814j9pGiIaR3BegTDCBLYpgAPv5SYRNy25TLQJpPJXPnmORZIFg67lPswVE7SIsb9KctZ8HupBdW5+PfMqDR84azF/8W2+7x1kAvdL1g7DnhMG84BlhxBLBSkekWd04DE6MkYG0/y7X6pMjXc8xoagrj9Sph31qHe6k9FLxrC9kvobMmrJ/DcMIyUUAUfi5roVd6as2OBiKGsTGzXsMgdj3HP01qWul85by+QLzgqRgLwoB2plq3EoGtp1luADGbdD/3BCFica3EvIUjpcKmXhUSzvMefDnnxDA4VM1mda6tg8RHsWqLlsvHMOObUBW35IxydcwlNfUPHTNc3TZTJ0TsCsTCTS3QeW7aa04h3PY+0o6t4t6iV3ENCsazw4vtTsCYOb3rya+k0D8xrg0BWcgVDGHdeC6dmCIC80f+s3FTvhqmcxf6Rj9hprk+GO2Y/mqZZteQOFOZJN25kNmrxKgfkAyAqlY8peLMn0Fhl06kBpjldBA/AFIIBFtbDxsNaCl1Xv8/9VQ/mn+OsF8TOfOz4Z6bvx3xag6svp2Sj6/zLlxuvJj8owvwOFHQYUL6ww+jtEqUKoXB1wpIgV5KZA7Wm+42BOAURns9Kt2OFrMM4kFoO2hDQ6nWkXal//UNd+IAfBPkwNgQSJOAK24BC0qaXe+04bQjVSEVzMUuBjZL4vJ2VMglqh7JZJPL6yAScilBxNVU7tv2Cndjmf2l1G+zn4N+KJ/wA1fbmd4eZzHr1bAJpjKQSQ8+1WfF7pgQj95Z/UbZSvdVhSjOZkjfP7q6fXUrvNWBtOsPgzCCIkJsRzLRWqvXXLvvAKKxXykHk8943SXY4bAB5j24HTyJwfn7dGiVMDubxpJr9gquheTS2aNxYtbBChN/DH02ueikNO32pZZ+WpOGHe0tR/kRBc8Tc719yu7+JJKCcP7ZDbiwmjtzPRCP3HQdsIkwY9VOErRkYf8WN7h2F1fu8ZTsM5qYLKGehiSeGY5DQUn1oUloH9P9qLGabZ0+FFimkTwMwpPtQ89X1Qe2QDQc56Ts8rLiAPgCCHYpgaPYjwHv8mtL9etsjggYsNBbENlzurosmRBSDzmDLbV5g9YIhUPpssIF8WaDA7U7/hP4cJxm9gZzaakoi395B2M39lWReiT0uDPpGrGhI7fdyj7xktmR4H1Y2kLk8ZlRWnkwfv/fWg7NTJeIa1odAqsFvlTacl09H4gTLBuUUNmNj8LY2Khd/oCMNqT1l+f6ygg4OlqAzp1fcU1EmYSbxHG2A6RrIbrCUkJ0sJnggGVOya956a7qKFHDjDg62dQmDlVONkl6dfgzoE1S77K48ukn6SPJWXGKUmpHG14+j0yllGeijveDhye3Yb1W87KOy5xvTJrKaj8vAp8VOqKPOHvnnyO2+VySTFWudNftU18KikvVEsU7xjYRJMiGS4mrLnCpifRLknOBqvKhqN6YF8dgs9d2kntTzKedvwexBCHUXGrjC7WS3uvRuT9pISTshhfsRJ1IEkTHhDS4ayzjFTKBaY8S/Qnlq+oh5ux6OQAodBWQveTmuAuwYm6VX8BS+5ItLV/KkrRYjDB8rC14pFrv4wvlfVGxvvyyAAAAAKV/GU8Ar0P24BoodLKpUjGGVw6gb40JIi+ZP//R8mm1CEhsGFPrbCx4auwvIWrfmgN3dlLKnT6Lg49BKmgkonsy/w1Upt1IBo+9Wfv1WSELdjNt6nPUZ1mmhhkDuhVyXBzmK3P2UKmWk3V9K9Rw5GCOpzKYUOtltLdQXX78SOk6X1Wyr3GoJnR5aZsqZbLgWCjhec5xWlo+J85qp3ibTj69vnfN/kyAp9Zdmhajkp7/FeY/yqkvS7gQXH5QF/uMcUEjr6BmxXjtBv+spLwsONtU+d1rkjcGLOHgzExI58XGZbr7wCSKxXkMGGszzPW5ytHBN8NmpmtZMUk6mcAcch7vX/fhoc6uWDQfRE2ZZ5tUjuMLqOKZTmJsarqJesjJvTbUu0m6szqZ90saH4PUBBwdyVmbZrklmyrKrWHoXJO4l9Vddbeix8mqsxJzu+IuqaD9ji5Goh+E8NDVIFo/hTdtDLOF+cUR44X6BTGgNLC8UHZ/251mdUCwCABc5h+ZhS9UEmSZUSSY6v8K+vkvnBhucYTlx46+2vflX+Ef0qZwY4aJdxcSb2e2IFdxwBx9XiI0cGOXGIGzZ3YObvkZa0PuGdsmxHluKE6cwECvxtKt7p50Zu8HvxQGkPmWCtWkxPFeIHK5OUcd8XYaUUcd4W+sjUT6LPG3IN99wD5aAHKa8mGkRfAEIqObwTY5VoSqHu0wlDvTFySUW1Z1gYsOKQHeCcplnVROufVvhIrcOV1X6ulvGqw8Aoq9LgKpzCzk/jqw3pwEzCfuZF071KR5b0yqMHtKwdP6kK8bh4lIDxnvRUDtQnKweeOGq9x02fU+9HbwNMogFA8OTaXPgZF2fT+YZTfVlHgmsbDw3cyKOrs90F88BxyoShsSwjF0SfOh4qV5n4FM+MGGVMd6zStDBbWeDfP42BUIi1qO4w+UEC7e8P/Iw8fq3reAHQ0AFtO1Grvxbkn0RFeiQBtcYShx9nxANyRxkvdEoc4J6Vlv2ErlTu9XYdsFEfu6ihcHSi9S10JVDRzTAACkAAFdiQN+dEbJC2Hym+F/w4/1yxqwKi7NvECzkt6DNw2QGUCrbdbXfiq9gFujVoAj5v6IpdDt2Umv6U5wVWBv1LS8Tc6UngoZtSuHS3DVqP5tfsQwvKM4eoowwpjHCeeBsudP1S7uDfa0N/y9SKtPYg4mgPf2RjGTmV2AU5wgtnh80AA8HX/khJ6PRk6xrq6C52MRQN9CSTS6Xwt0f2gZq2bUhPFdb628KdB2z+gL1FD57WuzkGfFlzdpFdAwlOYrxwkamUOW5Xgr7wffkIb4FsvPP5ivC5tqghTJDYCEzycerUGkanMVjSHW4P3E56IvcZWjbCsqcXnNpR08+5s6MIaRDQBev6Vt3/L8wVJUfNss/VfhsKgn7hGDPQd6XPnVzJ3RPC8b44j7XZ9DxzKlOgUFjCO2/tmaZhJtTecCM/KtKZ/rqGZu5O+7tEIV/6Nc1S0R0W0C5WCQ9KCU8qlQAh+M0KnJFflJzo9+remjxT0IUeq6zENlJRaezJWKv6NJ5zVXPO15lXNfZt54REyB+VoyLmtbMJGPELZcK9t38Puan+kDC2burBRQikABbWPFMEMXn5H2GVeBcEJRfQbDO7trxgAGwqTkIStcUnIW6tN+mZuVW63NisFwQyjm+Qz6D6TByb+RvFoG1zShcZSaJbXApAtlen3Fu79gtcKVlEIwQVhDrQG2yj3XqoqCbgrX05Uu08OzsHq9GYNIPZU8HwYznqQsRsZgHpIOkt9SnRGs2IgZ1r1qabnitTf6161NNzxWpv9a9amm54rU3+yRceeM5Od5gXNzN5ajLjx7CYycoKlQzhwpMYwNkkVKPzrFnzoX1HEfJ+GLPJtCL1BAu4ii4rio97yQFGCl+in3dne1AxDWZBm+hldXi0mvFxgBTRJ2W3KcR2ZDMzadr3WGac7HBEOkjxfTDHwVlGX11MKQKJlRlWXrmaUPtioyvoCThGQ9i579fNUDx79+MAJT2m+NqnP3edpUVcS40bXWiE8m2NnzEd7kta67IxzPBMIWRtINWHZAjrQesAU2hSxhmDwj3jNNm9BNz2NHlc9YVK0ZbM21Ls64EThBAfQ8rmgWR9fNV2dget2U+8XxGPnmHJg7Z5b/YfhC1qyp+L9JhOs209KMKW+3UzqCYAx8cC+uraHpVfBXHqcnw6dPL6nAkAekpds0sioPa2nyd6zckpVzc4LiP27z5jew5PBD4Q0P1bHj1T7gp6JlGlNcaghesi9B83vhAg9rahAml3oMR7dXKoVC2jSYk8hcMOXwqcDlECSbTLWZDZAsC/Mf5bJ58DMXGzkgcbajjHia/SuB0U1X8WjXQIusuN12mJLhkaaroMM+ZOZLQSqlk2pOKupzLvrClK6eXbEXXnqhbJOPnTK4pIrKBx/BHXKAnG2btzJBB7Ke/28Az1+GQUUFxhP6IgdS8+2GZsMW4rKwC6WPHtlkDWPj7XBur8SnlCOwnBKXXHLINx0dcLVPza/YgAABrAnDdB3ad40HuEyQWMwvagVc7Bw3PCk9iTtN0omMbu5aySYbnPbqb1YYAWOWogsGuNOp92LtGnGc5FE73nPiLy20m6ATzAfYHK28weT42WUzx+7HR+HRk8+xzx/om6qSuLEbvnY+GRuMXzM+ObsicWGfR8RIYO7DBWxF+BTWEShcsi5cVqTimLhzO8rnQTUJc1yBiuwQBpTLE4Z9rEvZbjOz0M/Pwb22AWqcRRPjmMxsHoDfuEshmxp0S2yIam52jxnHu3g5qFjTCgT75J5OWk17vDVh//1H1DBaeEAzr4OSkQ58OtOGAjWJCjydPM4zaravF5E6bBWcY+q8ulLY6JnG7zuN6Atn8kPe8MEB/W0yvQw5BTKnL+LU47k13W5Pfh7Z6I9qOxp8c7jX8x89jR+sgCuTkC6geZZG6Zz/QnZltRY9SJwaHqazfQ25OeFaNdqyTdDo/XL+NMw8lclT8WkrYxCmV3zETYQum8+UIkRkWFJPS1Qfkm3mG1KoRyzOw1ZWqVB/dNaLpmwmU1NnAyI647BFwoamrodZfU75RRR9ST6kFqCS2NUGeB5bKgkPiLUUxGEASjk/W5pBPa8IAF+axwRQci/EEQqcY7LGxnUolTCi1+/8LZqYUWwTh94AMnH7N+CioTzWr86uZEgq2Irat1QzRXt0UBKSzu4IsbHt1J44wWPG0xdJklVHdJ0tx4KioIjNuWeqi91MOVvdxnC4DdDZ3aDpJh5ndNspDoU+HmW8HoWa1KcsmekclCNUAFtzr30t5lL3yhnRssk8EG0JzdBkU+2DzRiNET63OLpwQO9hlF3niAUl7zAbBD4T1LvyvZ/PZo0vNimnF5k2ic0Uei/6cEpuy1qIM3xqcHnSrSVQAACNsxu6doepWlPR/ApfLhihrCv+wndYZz0g7AGNiPialXdWKdwVZgncCdj9xxNKy2wBK766I+Mblz2YTQpE1Kcb8r20vJ8TrZF/RB3tRxyOpeVnGaL0SfN+6d3u94/CReT2bIxlVnexoZ7B+nBBYoOcOBuZJu+0wd5f41h62bgv6r5+5Mh8fDkNh6ZHPX2cSuNyH7/7Xk6KBV/aCx3kM58KzpmBLNiaGaNObDF8jTcYmWLG+7NZ4tKCZ1dNKp+eWfd/fy2FXM9LsHbmzAULe9rqf5kOATXIS9Eapkesiw5Qj6Ty/n9KkXJHZir2zyZ/dfQmqqROhWmc/9r92tL7orFwFXtHS1ngUuzFVN66asHP993At5D+7sMxwTNIuSJALFv/WFSpJ6E/ywKc5CWTuIIuJtePHsyqXF9LbEwV8w0tNCzbz2n/d/hQkvolRUjmIdWwmT/G3oUtTef1End8kCzYDzVXc3umgpzM8mjDrQRYCyelFFFhgjd7ukCajLGvDn5F4JYHHHmKnLxtXKNkCf5tFw/GVNnAXMrR+Oo6pSUeJX6eZPBvR+y+nQ2if+/5+R/g+sxl4lBoEynWSELpjv8NGaaeOdg/+HVFoSeANUWhWjxBLT3JxjrhK7/Lk3Dn5cX4ZbQhnPyqMcBCOs3OHDlE78v/4ZiT3u5aXh6u+Rdu73ZhE2sbaOS/0SOrcX5FONkRlgORcMedpOIjXew7xbvOM4xuQ7NDfcoST+h9RcuQmHnBz6FbRavo4Cx+zYmN65l6WNw9v9/pwFtj8Pt+b0Sm+ijUMrKvWX0yP5wn8GvkZor8wURj/in+YH6lH+zm/hjP0dP6lb15eyYr14Z12RqqjUGFKavDMzWBLq7AUMyyqkWbFQ8wnGPr2OfSW7cwq71AeZ73DppttRiki6/Hp6P1nDT3tkIlJvTgLHZEF49VZB26T/12Y3E9doxbS3VZ5Tl/r0Zb8tlbaD6wVFNsG66ORV8bJtvicgV2oGtxOpCC4tQ5wWPL10xPCZZavEDHpY1Y/26lvPjR/t1LefGj/bqW8/hYsZ+HBDCce89H06PfskW98wWtHVWEMkhY6jrm8pGG4DVKZKLNV8Ec/rOz+mAK2RRqFoK2RRofjoFg+q/tlFVBd2iO+iF68EaKv1UATE+U8uE0oxbrEgMS54FAG22VnmuX1TsjcVUV+rdBtJt/wR0yRtR+AGCSKIegc33fSgtWK1YrVitWK1YrTW2CkLbcLvC3KHyJm4Q5guEg65E16KsMOWmk+N3eWMf7L4AAAAAAAAAAAA"},2172:(e,t,d)=>{d.d(t,{Z:()=>s});const s="data:image/webp;base64,UklGRhwSAABXRUJQVlA4IBASAABQXwCdASoYAuwAPjEYi0QiIaEQuGRAIAMEtLd+Pkzkcs57tRKiWif31ftb0224N1F9UDoxuhr1Sbx1/lfwo76f5x+RPm/+HfIf1v8i/T4x72lfxb63fUfyZ/u3rR+n3iv8Ov2b1AvxT+Jf2f8v+BMka9QL1B+df3b+2ftv/jf3O9WX+K/rv7pe4H45/Qv9l+Tv0AfxH+Vf3P+0/t3/g///7yXgRfS/6p/pfcA/kX8//xX9P/vf+7/xP//+0D9o/3X+K/dv/W+zX8q/tP+7/xv+U/7v0C/yb+gf6b+x/vL/e////9PuH9df7b//P3PP2D/74UcAt2LzPtzPtzPtzPtzPtoK1oXFaHL1f0s7fk8p04AFlK/3q7Qwk5lQnovhePqpdqPZg7i3uy8z7cz7cz7cz7aaWpMAtivfFISvMUMky+oQ1Nl+Siu9GPXdCGpsvyUVm5uGPsXLekhawjTshfvsHRri8z7cz7cz7cz7czUKKkQfex6fZwM7cz7cz7cz7cz7cz7jrT1sf100QwZQEV2YBbsXmfbmfbmfbmhZ42Dc1iO/XFt/BHqmUEG/xSjvd2twXCgTCbcz7cz7cz7cz7c0LPMm2nm9i8z7cz7cz7cz7jrWEZdeEsAW7F5n25n25oWeYAIy68JYAt2LzPtzPt1g8YNgNaPyUV3ox67oQ1Nl+Siu9GPXdCGpsWTfytEyVnPLrn1IeAijwRb3/EDK6gLwCr+5TLuDMr/9ugRKt/ZLMFCgDkbkJJZPKH2keK5E5fiTttABwW7IJ9zK18gnG3eceu51lLRRZ/5lzs/e2oXlrnWf9JIo5SIHvEaz5JZaZlQUwlfD/ubOls2S0mgyX8Xs54fmhlf76rCWGQwlDclCpvZ6qFJTkSOX32R9kCf6AbbY6k8es3dfJG1Q5GJH6J/46xxHXAbqDzEEvdGaocTz+yVkGqXruWjDf/pIO4Ba3jqQB+HxIxibCgFuxeZ9uZ9wfl3sXmfbmfbmfbmfbmfa7QljBLAFuxeZ9uZ9uZ9uZ9jkWAAA/v/wysAABTdYjp34Ka8NM5t5/N3F6sp1KxTgd3F2w8AKzTN2o9vcSWA5J4SoFmXOL+IUQWfeobmH7VdpPIR9NKndYCynp75FLRfW48Q9f0g8/afwYSkyuZ0RZpXG+QRKdnm0Xre/zezpb6TcYihPjo6C7BreOWhOPAza182/jmK4RUphk/1XyxN7HWBli7QMX60cfFRXhOtUcvF5/yqX4g4vS2HZml21Tn6u8R5dBeWXGXw9QiJrKCqdGWVrdehmxFdiwcWHoPC6dhyq4Wh79VPpcMRT4m7abPNWDs7lmr2rtux8U2aHuerRh64emezCiIi24lYH0w0DF+tG0gyzUEzuyyBj4OtZUGKGIKmdTQtz6N0T//FN7RRRQ1aYk8w1ts8cnDpVM7ajvUfC56IscsKuUf/hJ8WD2F2o1Hknw9rXSi5YN9b06Z8FVEYM/9zT7LMbJMnV6n714RTSdhuyEof/J2/awG1Gjtg9EhaFmo12hwxpxuVPm2MjVL4YyDP7R3TKzVP11ALT/rwcvkiArGZFHZVJdIvt7Z5XcDLbv7D+dr/XUNk9hkcr79i53JUdLG2ydH0O/kAjH5C2NDdpy3OZOGxkYbue5BAr5XSDRcPs3VMQVzf4Dfc5XmRk+wXDHWSLTBVSuRf9U0b/MDaKV9fuWcVeiBtPlPbdq51SIn+BhpomLAZtAWK832i+NUfi5KEWgX+LBR0b0DIy2n/dzjeBcDQV1uppzYrb3+shvFrwB5t1p4jw5ZsZrUqWcSBMoc4K7wtF6xlra8Eiti1IdMzsvtvbhx0vXvD639JDeao1x/v+LOLCME05/51/zw/45e9v/v99mf3C0S7iujTliNA/YYqdWPGr4qz5UZ816RLowKk62AbslBPj7924ecFI/jXJt3ywAERBNUFT1XqpHcIKzU6dD6KBm8WnBRK5lltQnAbuxIBpw+895QVdDc9QYoCYwGnbUVLdA5Z/i8bJfyzmLGRvM9G4I0ikIa2bXS5SQUqtmTCX8p6AAgU6t7SnyCRAAnAYI0ZnHmQe0eaLI/ABsDFoQeopt5vyNxuB+hnP3pZgVSuUn0rLB5dlZoJJLshqGJdZiaKOHMY1Z3RRZTp3xiCsmHVLshKG1PwFY211xn4EjRsYR7KAhrYsdmkUDLKlOG5MFPpzkCAYpeM8yD6oAAAABWxLkBTNss3uanDxn5+rfCbkq1s+6ZbV0XXikm3K9yfyK8D5ISlzPgw9tVr7gYYKhTvckSYDrvLCpt5VzcaUzvPw1NYG+cJa4ZseM3BLWS9q3IsNEEhxbxVGISfzo2Wy9G8ZLdapqENpwmqAAOQ8KzBYCRnxPwcAMIrTSHxczmqKX19pSHSwo+g3LzNUhY0xPm//ziNrYafReI7RE83KO/8vZ+mjKWtC4/q6b2KLmEFqTsoAG18j0KboKLJvZNPeeZfexBQB/pA4tH1CRP2yiPfJd06lqrOuYXAAAAM0KYMXBKarIC2zRDwFElzd4lxGiEdG0IeAcv2JQkPNIMS6VFwn60nD4coEqN2pDb7g4AYRWmkPi5nNUUvr7SkOlhR9BuXmlS1p6m+xpWZWqhOfgXCOWL9F19TyWkIKxsTG91BZxfMpojobuQk3n3VukmGz5uuyublE0xrtJy8+7acRDf5jtmQx6KyukXVXINRLS99nuZsWmc9FcCSERR6wyJANHP/0E8F5Per/I6TGeM5eTtmCibjirxjyaHxmY51ZrTj876JlnZrS0/hsMnYi3Z+cEsfGlpgw9ylPfrsgFxUMwH09N8VkXWfV0Cdtx3nVyoMWYdAjmzpaCfsAPR/HQbsOJIg85JNDyEtKuRqJOG/hz7rqWn1TeDQFOOIKGbQh5Tsf+Ro9fNVlRObl6Rw5E0SjyXvIOF1jqU0p+L+JlY2TvVUxwcATOKhdY7jbd6Ymy/MsHb5DBq8HRaL1HuRU/i2IO0wvuwJkbkVEN4DCnrGrCr+oAAIDWNRbgk7gADT1ZPOYZgAM0KYWHJ0JAAU3L47H5cDumDcMoFwq0BRAUFuUI0KPy+6EIHZh2GW1scB8MOtSgqd/9NUoKnf/TVKCrpGwGbHcmgAKhmsTx59MLhe/q2kupXrMIkAETadqIZv/gLj4NTQra/NJs3GmN+64HyuwBjgM0hLyloEHWqEFvh2VqbpV4JB0YtiByYROPZUJY4SD9wRcwKE1om1MfAp2lSpQnMB+wkYM/VzCVymVVdB/ewsB7/7kbz6bGZxlyBb3xHSt8eoCKVNq2LNvMzkQJdvHywBHBpG/hhkEsVxh4MMztiw/zy0wig9LzTXu4WENyv8u6K1a6Sref+bhgZhiqSE8OTwi8MxhKNtx2UzVWbnzNckHwDA8aD30cZN4GMURE4K/JpDb86j7eMKQ8V7tSo6rve7L8bXDPHv/x7Zo5G6jmCcG9y1YMjK0i04s5qMeRBfEuWZA7DCzNiWzmjINczKoMkWk9ktC2JaKcVnZif7j43eQBu1FatSkdT8NO6xF12VRJucLNswIdNInN6hw+cPdIMaZpvrWQYu/x7kLfW6/VB0/62l/Td7/7CKv1Bet9nxpuZs51HTdU4Gkx2WuNd0OEYb35xL2WjitMHqiqWC2SV8rBxQKBJM1M5kqodO6pB3wz3GAZumzCYf/KB5R5dmhpKqisbSH1rCGC85CVB3gGFrHPIas4ZBbz0ZbBEVRb9Zg23RR9PEXdfpQX4qzrkujkN30GSNTkZ+rh876Iv1jKoGpygi7zLzrwNnPBnbGil3hGSL4cyCC50N3tz1GAJC+KTnzL6Xq2j7IRtL8dlElJZWEtR2dXB4S4u7DrB+M/sui4ZuZuj2jL1wBBELS7f44z4fN1lNqjucz0Zl7+EqL26MMXeVt9lCCVxVrniS2HjCfysKd1Wc9M7rIRiz3BpCNM9aVFmvQ7SDKV1JkRk1UF+YzOOvD2DYKpOUq09a4CKXSM7hYS7O4gW7rWaog9vfwZ3rdp7WTAP1eVRTBxpH+y6RCOJuS83ZsuL1PYcfkBErXjyZKWlS31Ix/xofb6VMDiE+mBu/95lO9BtLFXkUm4ZIzLT7PYqQt2bBFVWOJQQaNkFUcc5jrBya8XV+HUAhS7GjTPpmdu+BlcrUY2Pg+iG4/Fs5T4m1nHiLJaT15tt7wuVfZFsnCC6Au/ISXllVJwbVrfcf2P4m5LA2KhDMvs1NBgSlhLraZ1h7p/Ro4dEBi2HohXvlc+LW5p9pP2pGIAx4MFEk9oteS/dXZKeDXPPek4/pITQq6ZdInyF+cSaVgi5bwURCR67rxGrdnp3skH9fHUY+418EBijIpw7vZt5awvlaiby3my/3SxevdzwyNXBSsjEvYuTLsI2Dr3W/vD2A31EuG8Gn6vPkBPZ2dtK1/37GQlaPND5RRpzOPh8BGdDXOeHce5D5eX+8ngZqWnD+53FJjrUCEOrCuJYOiJVNr0j+mZ94EGCf1Rcmepu7Xxu3kCpMDPPcfYOL7p9QhTxX6FlYqPLBKRErGHCN+26bg85usVd/lW9vIwTSieG75kEh7YBcrQB320Kqfnhma5awm+Avg0aON2OMIfEzDLtU50181zboMB8Qtt6PU1ix7UXopa6r96Xy8zRrzYmqbFEH1m7XPc4etgHNUys0NSW7nQ5G+k6bmR+nlGZHvC9aBjQFwgXvgI6rqdv1PcItTdKFWSBCUdMKspk75rqYrV/IDIh7W+I9b6f4jP5Q6UVSf1QcdbR0IhWxGSbOU5ZAoOv1yyNIHW4Y+kdtQjCL3uN5RUX7NEpWSCP3yzpjiHOrJ8U/oqMrJ1Qj/x9sUIMsUwOUmq8YUJCZeAmveRDApxY/yRsEdZLXPRW0QB0es5jjMrMSCUegA9JpnOcjwXtRRYA6iKFTsSzLb+18Yma+luCNtZR3FVwXeklKI60Ob0gYIwtPmCb08bNQg4qAf2t1cRX4jgESz8OMGI4k3A9+ZWGdCrPA/5hHbzMKCQLmET8xlWf3EAaGxPRXNLOQy0al2mwqYTBnLPIlubiuWgCA0uk5CijLllvSUld0r4lU7WLG8xnH83CGw08ZrkQwwbBxdTW50XN6MHC+ItFHvg+56XFYmrmAGuhTM2Wz/eKhNn7NKzejpqHrD+ncPr1LaEEMzex2YSV8brO8QacxO9q5J/zxIlM/WArguYahfdjEgS4zYsEePNttR4frg5remgXO4R/4ysPZzfvP70CJDt1MaLFm7sQlFt51RoLJjmVaxusNYgZv7AAlqDKVnaH8UngOXbsyeXzX7cSYxRthdq28sdfad4t6vJwzaTfw1GI6WD3EZmd8LwdzUR6k74GVh5/2zLjBJI4YYKHiFa2oWPKtz+bQb6GQAeaheh9AlqG68nnMDwHOqLT+6JPbZfeEfohxU1DECdkc/wnrpU7VvH/XThnucp4eWeCGDG6onPnmIn2iTypniVZ9xNm4uOJbXzwaQIW20xsRodbGcHYaYmzfizLayzjwG2PaNLdXBFyUAWfTQdb2zqhtoJzyRBY1OkxfdRL05ZZ3FPwhrcUspN4dhtp0pTkOeqde9UILLB0XFhLmCMFAF9G9CVK8R0QI9Bz7vzYkAmoMv7b0w3ln0lMnMSoJJNMYAKQhc8dtO1EE+ipnmLD/PLTCRg6VnNTLK/DMpDAw3Lp28DxhTIFnOK24iWn8hxcHA/ZQpnbL7LuCX/Pj1zvn3wQ5y2isY1rPhoNJt4WCAG/7eEulgCuEdNRu2zGBhqKw8GTQ8oJKyl63iUKjUR6ybnWDm0nfpsJue//vuiXOy30WA3XGiwwzdU6WSpT5bqPdEJqwdeJ+A/HoIY89Ex2RXwqWYRMDItCaXzGjoJG7Y6cVh3WLRRfLgDBpO1HoXnHBvChKBkbhUXHuOGItRkFvnrlVmOBluyOzBKVvV+gpuZ+MbIt2XTSrCX8mvWnPdR3DFRliQIp7IwfpfXN5/4b0CoqFcoaIFT0grryRomczVAuBg+LqDqZ3IEFDz0CDbdw8gmnNt6ZHgTxCulw3Ym3LlCg745PbGLZnhlv1n25M8V5yBWrDdiAKdUJ41BtOw+I5Egi2HKYIfzrd1yQHPUF4uw04u4LDBoE/Vc5qlkV5d64HlQAAAAAAAAAACLjueXhcveAAAFFU46Ahnh1vgNYJgAAAA"},53178:(e,t,d)=>{d.d(t,{Z:()=>s});const s=d.p+"assets/images/addon-computed-fields-settings3-9e3332cd45653b26f0896719e8373207.webp"},14762:(e,t,d)=>{d.d(t,{Z:()=>s});const s="data:image/webp;base64,UklGRlQRAABXRUJQVlA4IEgRAAAweQCdASoNArgBPjEYiEQiIYikSBABglpbuF3Wed/Xvyv5tfaruhlKfQb+I/Lf/M/O/0cfcB7gH6Ff477VfhJ/UDqAfw3+a/7X+u+7j/ef6b7AP0r9gD9dOsA/W72EP1Z9JX9ofgn/Yb9hfgI/V//y60D4f/jf4x97n8z/F/z58Fndr1x5QESb4f9F/pf5IfznfSfUC/Ev4f/QvyS/rv7lckAAD8f/kv+I/Jb++/tz7L35z+Unu59Vf6N+MH0Afwr+Jf0T8kv6R///d0/wHjzUAP5F/Mf8D/if8B/wP7x////n+JH69/nP8V+6n+U///vK/Mv6n/rf8T/gP1i+wT+SfzH/Gf2n/M/9H+5f///4/cr62f2c9jb9ef+kCl5lKljDOFzEj/qlrFKruljtX/5Y7V/rOSos0L223IxNIIHJVLcwZ14s218jiGvSdeSMbWCTYdq//LHav/yx2r/8mZRiG8UASlH5uEnDXuARdp1+GNy4+BlY7eQScNV98fb8f/eyLNfOtDQqu6WO1f/ljtX/5h8HKvgM5t72akvPsrE2+wWsCIMt9UfSgjzGn2CHiueHKBKruljtX/5Y7swK3QkbSzfVGKXPC+vpAp+wPdvyhd36A/ilCbFQH3j+SOQr0pVd0sdq//LHa/hm8w+J6SPvyZg2qJ6Wr07xRA0tdKOIU0xr2ISq7pY7V/+WO7MCt7k7OlKUDMp9YwTUo9u3Zmii4EMWnnVZet/dlNx21zv/SNTsQ0Cw0KruljtX/5Zs32D8EBRd3dLHav/yx2r/8sdrAcAIWhVd0sdq//LHav/yx/DTn0O1f/ljtX/5Y7V/+YfB33Sx2r/8sdq//LHawAZpQyVXdLHav/yx2r/8sd2YF1jtX/5Y7V/+WO1f/lmzgr8sdq//LHav/yx2r/9g9cruljtX/5Y7V/+WO1gOAELQqu6WO1f/ljtX/5Y/hpz6Hav/yx2r/8sdq//MPg77pY7V/+WO1f/ljtYAM0oZKruljtX/5Y7V/+WO7MC6x2r/8sdq//LHav/yzZwV+WO1f/ljtX/5Y7V/+wXJoAp7GsUqu6WO1f/ljtX/5WmQ1hBGVkvkjd9OPohmO3kEnDXuARdp1+EZGJSjU7RquiZdhFyV2dvBSRNd0sdq//LHav/xrGChlPr0uTfoEAf0L2eF747mG0osda/v3Sx2r/8sdq//KvSUylXVR/kH2sajXJMvyPvkxsa3+zYKvg+UjYtdqVHHDj7THAzkyVXdLHav/yx2r4/Q+QHBkcLywStlt0XJXYoIhCKihoVXdLHav/yx2sAJuAAA/uihrrywaYXIkWJ4wbPx9fC/Dm+IeVcERWJmApKCFj74qklPe2jHzg4qrENVnux2xkjmUgLtGXxi1a+YmHT3ZbGfwPdF6DxZuolCf+NGUd/ckvDS6QEm7r855jpOT6RDbtIxGIMZKmxcwRjximBybE5MkU1C49MJ/Wj74HTpXiLkqdv7RAkhu/4J6/wY8wwKHqTdX1+Dv8rdAV6kVJtDTZKUwCUOCBEt64QwskK+NqQG1qnCALkOjReg0EM9BSb7IkJCeM/bgXhMWswlwXcxQgrNb/7tEC0LQEMUzjA75Fs6z6u1e/tS9fD5C/nmExQ0sC5RcEwDVgy9Mj2SKkjarRUPPYQuW/+2tKvr5+ox3lCIUXYdMrD1BNjJ/TAOrFJlI/dm4VszdOi25v4NnHjr/FfjX10B//9NSdrVhM3FVSGd53jnudS8P9XTrKkyQQqOcqR9jwqomRJh/BLBPdKR+/D3fPot1WQMdACP8JSvWAZm2fhqbJ7nSL0XjtXJ+fdT+f/+mD+lAbDnGoviLIejJJpbR2+wsGdPSH/wYYZixOdhtS1FnjMwN1duYj5Ey4RywMFhAFvV+DX7UxTgZfHoGHwgt3RPh0+xUHEsfQZP6UtjwBHgCY8AbwbeNgcwEaCiOtMqKI6KOt6UQwwjtZulKGNExjN/xGHHNzfV8+Dicndz0cW9p5+qt40KWZpQ2I/xBqbTi+BriWCwPK0esfrHungG3V3gjonioSMiQw/kBfZBiQfq370Ov/puIAASaA+il3GeOr4OII9HUF/iZYpQLZSxSPLVpTBTlUZvyxQhVn+nyk/xpeSTU3dRxJznGUaWPRojfzzqJ/U9I4I4XmMK+bW6gFKgdRqCLNh5S+EOsuH+Khb8bh0Q52KJCqeXz/YHceaXs1my+18OTFhSNETWguf4wxqUJvIEXqZKlExmi/E1e/K8Suw0j5RBIbUyypWbYlHqKwFvKZf4N7uNA2IXS29LNg+1nDB6cCuf6bNA87Fat1ScV3YmoYDxn5UlS1LXbL5HKX/rJf/Vh0MYOtBIN9ccWKwnV1yT+YgvZZcqubFV8IyLk+YH/eGszGb6myDLMLU6xmcQgGhNOBa5T4IqzAynT/9Rq6072XUTB0pIrNcj1KwA4pKcT8vkJp2Hwq2yLBs1lIdXDLJ+VrkyBHrbHd80vz6PudHwRhYxPb83yINzogF/euDIQPieCpNacM2aZhcC1vgRW5DDf9nPdSfe7ULz+Hgvzckm/3rcQ5PiporSG2oCQmXTswolWFJ2k1h09+FXUSgFZ5VgUdTWWMW2ZnFd1Zub1l9dT1N8PKEDU34GNfyJkBY1+5a6JRrAwZkeuztINur0+dMUIptLOG+h6WSM4FEEHTagARzyyL4EAaAH9V6G+/l9bbmvLCfKWpeogKGHp7X+sKOHg6eenlJc/698LRAUay3dPy0xNC8L9VnBVTSjNNCvEkouWWE2/44i4Mr+rCwBUE2TlQvZz8L0Sx+VYhM9vpvK+XzwG3leey0f6j6qWnuI/FhImJmzLLC1AkKO0hcjS9dpV5gtEGI57CUOj1isYuVoWV/ylAYSraXuCDZ8Vn5jWffTs41rwIdNAt6iXWFiu/nxN+mRtGaFizwEhpQFHcCnIQCtaPivFvXDcMehPlAIAoVk+ctCCG+tDWR/TGWpPB38g29f0Gh2lJWxwaMYkXwbJm+d+gW9CLn6nr9nI5xLMqVFzAVG+EbOzcG/+Sc24cTrAmlVCYTtVyluptWpFkNh9S061O8dTujdnlBacoqWfYrID15S3uLQsQxH3QvjfIldRuCDAF4I1oakuvksxygMVAAH03TVu3uCmelGImhKGPID6KXcZ46vg4gj0dQX+Jlik//s0U/p2kIiB4XU4eWJf8gxtg5mrHCOhvPy+NKp8AMJk38S5+zMnKWDhfOfgXHBTqIiKdgdbc6sOnVLbyi4BGEKAr79iLqKTlAOhGaGU3WpqVLDG08PLEAJdqMzr0G6hzxbtugYImxDo8HOfDKjJK34GTsFWNdSCvj2i66L00GHtN+/TDMYJZDvvldSkNP5H8jsDJ6XM/uoV8GvX/T/8lKJldISep3MTBJ43Hv465LQBbBPltWsyl7sRfLszHhSscEHxK80mkaWV7OResPh6St4LJOdYGIFqNeXo1+lMvVRuJKEpwdjDxI383GT+jdWkYVfSTzUE8P2CSCtE50/u6pIl4AcqBe9jdFx3FU6+xd5sHZN5h7TnT16Z4pZH/FNUdPfSLmOXK/K/XO38J5VJrDoDqqX+5Sf40vJJqbuo4l+3n0dxTvC2IPOPRa/eMqzSJOVZUL38NZVfkaftPzVnKv9jjhZCvHACRyD2t8OkSXEkcc2xsdwtf/+naJbylaPwXZIkf0Dlytq1mus21wswPoRpklGMM8Mephw/rBjaKhGywZn5tw5M6n3ZcceRxDs2pquf8ec6fxKf3noKtOGU2sceT5NFLT9ZiIgHaRf0WsojrJm0cHe/NmW5gLKc1CE28i5gI8v5tuTZ7+I3+cTHk2wsf3vryL6Obc/EFXIS2eAkcFBDHaG8WqFpZAJE4yfADkQMGkEok1SDosvS8GM0FDSJyHDHMFBXQtMuwYcD9tM+SxJ7Ht7hWyV2xZ8tB3rzWFaSukdOyHzciAEriBu2twMDoN9qdmNMoJjSrCyEuNGXE4Cq2npavSHJ7QVRw+nM4DWsv3ntDmSWB/QYtrQKx/qfv02CRGWCwAZKQJymY4fDdiAM7K8PViHyqVn54ykRc8ED1zymdK2Tq/xDf3rzhH7Z88pZBRF0mF2ptH886gKANuxTbxxtioAAAAAAAAAAAAAAAAAAAAAAMQEACnNmw5foJQikwJGEMgCCcJDRbw+pGD8zV3kgmCpVllT8O2KhN4s60XylP6vvTrPHfaD1yCTc05RZfUkooM41ZxqzjVnGrONWcas41ZxqpRtdtlYp/8B2n2YI3FmfGG/ME4W5a2+644r/9eYPSBBh5Zyq1hFIUMCfAbxqvxwLUO0AmDfvtyPKEL/nNz/MCYM05jZ37M7ffYv2VQnfogKPOEv3gFjUL8095a0N/Jwr0S82aawdGFS3gqv38n1swJE/KsypvJojOgaHef2z//uAgUv7NoMcOyO3CitalWgCRjX+VXVG7p0M7S3hzqbISmbAguxB1OUghX/4Yj91LXcyjFQxlN/0jHu1T9AodmtstKC82O1iSe8rUdAJVo6rtAM5uU10rF9Ju6VYuWGzxxMcyHYu4mf/OVkBM3ECkfjnVEwMa0jkK+zrVHzn4ZxsK4ycqCnvK35WLXeSFaOvqT/37oIX9friupncxsW80kG26EG266pOjvfhyc6PO/cxcW5dbBOC31ym1giDNf5nT5nQ0fPmNEXUIJJleeW4q0AgReAzD2rmPdLXyhOAEro/pUXucutH3ZmCzODNAFEl6kg59MG8JWltSBs/gs51+2SSfCh/+3vqQwSjcPiCzwL2/MwmsfPCRrxAUhEinXk9JOcvnU4PyZyjctk0O2dV5jZGX74RESH6vBVspRHE10/yL+V1x+VN0QTEY9KJNyK23h5U6PazGiDqi9x0hs3SQ82BawtKol5w0ToBDlUUlv80nUpP/8+6cZWwZI/8XeSurNH4OI6y8Y9WTTY1leNqeOVWUOLs9MbTIkzx76/gsMeUgnwoK1JG0YmTTPI68TEDv5lSR0kNfsIwxQSl2KL5/C3ZVyUS+oHyeinHc5t5ikcFgZRCAjSuBGf+i7v2mBOHLlvvsRJtaOr8daqMXrFpkaNs8kpGgScwMkghgb1lTaZCnpgGQSscjcgPP6H7mr3Iifl7wk660XhQLHrBLXzual4pXGxVakiTNMvdmXFrLkWaVMGKDuDnZFWnhVcQJgpTRWDLT+QCACSl9JSwiI9vQkDZ/tweBWk8UmFTEAq/BL/FsCpB0DDFdvSM7brWz0A+YnqRnIcXkrPBWEQBT9A95vl7xugYxgmhZp3gzI9dCxMJYfTd/d2EOCgvGP47ZW35bQdwCyxy5ZIjD/klgLFXwK+RBxD/4hjuazBbFJF7GEVU6hKzQ2F35QetU1CM4mVuX6vcUjSBYKuBuUk0HRwMgsETDfKnz26FmRC9STZoYTbFD9BybhoXz3YqU4QQb6MoknQ5tjyguo5ge/4ZC3Fi+HcVVacJH//hcI84Sfh/KS92ptIQz89MnZ5+vE83L56GKcwQGrFmk8E25Mq6eyzdn7TYxfMAkmmii7/GC1f5Ka9l1Tdflo8zHiseeCRre8UVBp5qBzyedCUkCcTtlo3lQQB/+Uo0vuTbmlJgioi4KivQqnt/aRJmvNF6Lb9U+E85KM9cJPfFDN2ITOeBbQSRJ2fxe/vixrsJQvLx1q+zYg6TUsgN8eJOqpa98d987Ba3bFUHYf6Q+owrgJkvlB9N/f18wMAs0w4hSs38IpBYhJJzjVnvzdDdxqCNL4m1402FDax/zcvhmBQz8lIFY3Vo1+9P+Pf2VtDE+8Sq4AIp/D311w3rp7DvImVS8V8wkdgx1mJ8I4Hjf5JLrWL/atGCg+502AVLYnP1cdK7T4NB2DOsuP/T+A3yqgYAELBSD9rIAAAAA=="},11151:(e,t,d)=>{d.d(t,{Z:()=>l,a:()=>r});var s=d(67294);const n={},i=s.createContext(n);function r(e){const t=s.useContext(i);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(n):e.components||n:r(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/120f8e9c.c51999ed.js b/assets/js/120f8e9c.c51999ed.js new file mode 100644 index 000000000..15a55d1e4 --- /dev/null +++ b/assets/js/120f8e9c.c51999ed.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[67956],{70836:(e,t,d)=>{d.r(t),d.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>A,frontMatter:()=>i,metadata:()=>l,toc:()=>f});var s=d(17624),n=d(4552);const i={id:"settings",title:"Settings"},r=void 0,l={id:"addons/premium/computed-fields/settings",title:"Settings",description:"Computed fields setting",source:"@site/forms/addons/premium/computed-fields/settings.md",sourceDirName:"addons/premium/computed-fields",slug:"/addons/premium/computed-fields/settings",permalink:"/forms/addons/premium/computed-fields/settings",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"settings",title:"Settings"},sidebar:"forms",previous:{title:"How to use?",permalink:"/forms/addons/premium/computed-fields/how-to-use"},next:{title:"Blocks",permalink:"/forms/addons/premium/computed-fields/blocks"}},c={},f=[{value:"Computed fields setting",id:"computed-fields-setting",level:2},{value:"Output variables setting",id:"output-variables-setting",level:2},{value:"Fake fields setting",id:"fake-fields-setting",level:2},{value:"Test your program",id:"test-your-program",level:2}];function a(e){const t={admonition:"admonition",code:"code",em:"em",h2:"h2",img:"img",li:"li",p:"p",ul:"ul",...(0,n.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"computed-fields-setting",children:"Computed fields setting"}),"\n",(0,s.jsxs)(t.p,{children:["Here you can input your FCL program. Check the ",(0,s.jsx)(t.em,{children:"Computed fields intro"})," chapter for the list of supported features."]}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.em,{children:"Available field names"})," show all the form fields whose outputs are available as variables that can be used in an FCL program."]}),"\n",(0,s.jsxs)(t.p,{children:["For example, if you have a field named ",(0,s.jsx)(t.code,{children:"email"}),", you can use ",(0,s.jsx)(t.code,{children:"$email"})," to get that field's value."]}),"\n",(0,s.jsx)(t.admonition,{type:"caution",children:(0,s.jsxs)(t.p,{children:["If a field name contains special characters or spaces, use the ",(0,s.jsx)(t.code,{children:"camelCased"})," version of the name for the variable. For example, ",(0,s.jsx)(t.code,{children:"my-field"})," becomes ",(0,s.jsx)(t.code,{children:"$myField"}),"."]})}),"\n",(0,s.jsx)(t.admonition,{type:"note",children:(0,s.jsx)(t.p,{children:"The code editor supports syntax highlighting, undo and indenting with tabs."})}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Computed Fields settings 1 screen",src:d(32596).c+"",width:"538",height:"227"})}),"\n",(0,s.jsx)(t.h2,{id:"output-variables-setting",children:"Output variables setting"}),"\n",(0,s.jsx)(t.p,{children:"The variables sent as output data of an FCL program need to be specified manually. There is no limit for number of variables that can be output."}),"\n",(0,s.jsx)(t.admonition,{type:"caution",children:(0,s.jsxs)(t.p,{children:["Specify one variable per line and prefix each with ",(0,s.jsx)(t.code,{children:"$"}),"."]})}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Computed Fields settings 2 screen",src:d(64880).c+"",width:"536",height:"236"})}),"\n",(0,s.jsx)(t.h2,{id:"fake-fields-setting",children:"Fake fields setting"}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.em,{children:"Fake fields"})," allow you to test an FCL program by providing test input data in JSON format. They will not be used on any user-facing forms."]}),"\n",(0,s.jsx)(t.admonition,{type:"note",children:(0,s.jsx)(t.p,{children:"The code editor supports syntax highlighting, undo and indenting with tabs."})}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Computed Fields settings 3 screen",src:d(47008).c+"",width:"523",height:"701"})}),"\n",(0,s.jsx)(t.h2,{id:"test-your-program",children:"Test your program"}),"\n",(0,s.jsx)(t.p,{children:"In order to test an FCL program without having to build a form follow these steps:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["Add the FCL program in the ",(0,s.jsx)(t.em,{children:"Computed fields"})," field."]}),"\n",(0,s.jsxs)(t.li,{children:["Populate ",(0,s.jsx)(t.em,{children:"Output variables."})]}),"\n",(0,s.jsxs)(t.li,{children:["Add test data into ",(0,s.jsx)(t.em,{children:"Fake fields."})]}),"\n",(0,s.jsx)(t.li,{children:"Save the settings"}),"\n",(0,s.jsxs)(t.li,{children:["Click the ",(0,s.jsx)(t.em,{children:"Test Computed"})," button and check the ",(0,s.jsx)(t.em,{children:"Output log."})]}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Computed Fields settings 4 screen",src:d(13108).c+"",width:"525",height:"440"})})]})}function A(e={}){const{wrapper:t}={...(0,n.M)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},32596:(e,t,d)=>{d.d(t,{c:()=>s});const s="data:image/webp;base64,UklGRjgaAABXRUJQVlA4ICwaAABwdgCdASoaAuMAPjEYikQiIaEQqGyMIAMEtLdwuwB8i8He9y6p73P/V+P9AF6N/7xu1PMv+nnrTej//PeYB6ufqyegB51P/r9nf/Bf9X9jPaE1Xrx3/TPxP74f5T+N/nH+K/F/zf8b/yW59kR34h9OPm39Z/ZP+v/tP8H/4f8oPyA9ifT36gX4r/CP6D+Sv9l/eH1dO4oAB+K/x3+zf279nv7/+8nru/pX5Ee4/1s/pv20/YB/EP41/V/6L+w/93//f0t/Yf6P4tH03/Qfrx8AP8h/kv93/rv+d/4v99///2n/sn+T/tX+G/7v+P/////+KH5H/b/9J/j/8v/6v8N9gn8f/l3+O/tn+S/7P92////S+6///+239qf//7on67f+IPcNunXuxDuTr3Yh3J17sQ6gzoccs8OfBoHHQl+JIAE7l/sfPavhRj+1M18arDqx9IZ4P+jyD3MIURO64pc1z/zNT4L/l9KRbhWHr3Yh3J17sQ7k69GgZsnftzwxlCenv++J/8e9RDkTO4BoDj5dOeh0692Idyde7ELjrKrrIQvj8Rm5DSVDvUKdcGLrH1VIIp6QQDSapiMlLPDsjClwdik/wfq0vIXgFdiFMY1Sj3WVvp0hOrs3gdrlBdV7tOf+1e7EO5OvdiHc5IUeQ7k7B9EO5OvdiHcnXAQc/0PP5c6pvJUxh/C9YeBvLAcD3viEiJZjVf332OAkB8+MViW+NbFD5NOtAZmEqr4zHpk7sQ7k692Idydc2u6j67WHVs6CJkcUQB+AfoUjQziSsJlBNsB6/dusXD2Qy+d4qeQLfKERxs6Idyde7EO5OvdfekoVIwG4k8gRhVBuT87ZkQ29AzJxf+Ki3FRbiotxUW4qLcVFuKhGg8E5qyD4N/u77b8Ej1EJ9bHBDBxh9ydBJvAhNSYZSPBJ0D0JL5o0uE8Bv6uJJU8p6XNvDbp17sQ7k7Vg50J1FrIEGFn+DAoPexllmSi8LIKvxcpUAbOYUIwjYP77a0f7Y/M2uBbSHPcOOlzbw26de7EO5P8C5oMvgqYyd3ru5OvdiHcnXuxD4zCscQqcymYGdLG4+FCsvZfx4/1MWxv15d6kTR+7aQpp11z7BI5uipByWnRcpGNKr3HzH99omK0qek4HScDpOB0nA6TgdJwOjHvIGZKPyW/NOoqw4HITezT39m1OWrrYclv053iXIgmhez4tZ+cvBOXgnLwTl4Jy2xvs0Hpfu+iHcnXuxDuTr3Yh3J17sQ7k692Idyde7EO5OvdiHcnGAAD+/+zOAAAKypAsfE4eVsv037tGJCe9rSfLImYiCaw8VK+UxezGseS1uCt8vpb7ONlO4wyOv/xkxAFWZq7ozK7dAEs37hp71sSzAPOqIbBnlDGm695eb+xfqnXjrBuV4vZVfvkSQk9fgjGTB/gv/iRdfDrx1j5/nNXXO6+Wh9ZCCVn/etBCZ/XZEUhxc8SmhgirOHQolAgQdM1qEwdTXS4z1ubzFaYJs4wC7kYbRgqO7Vjsohdkcc2xtCQ6KmdHxCBAj+lYpxCGpDZRoEjQDmAjM0XVlfPayox6U+ka412MEXWSAtMvKUNu7yO8KRIyvlpd78NDgOGhYZ41q3AyXfpVjEXrS6FMuSp5puy1h0K5wuxzx0gJffcxPGn4mCX9g/F9FIwZAnl6cMz6seIOJYfheSkVDWgb9mf+KBdEoMCz0gi66JIubmwJ8vomiXSDS5Gt7UaJA+48Dv2HuylMN12gPtUsiKFsE3AgKFvU7Nyi4HGq/zPUHrDezZKuevAu+Lh7EkOHRkVnt76abUf/jQJssweDTFdGD9PGx43BDZKnCEj3hloIypnW1PkVk8bP7+HX7Pp7ddhQAvoMf/5ko3xrJw0qRKjQE192weUkax35j2Ao6irGmRa9Vnr4r3S43h86eFHhZCQIA/lzzn7ffnsyz7kv4tX/esyRZAhEXtOBh4bSmhGq/63e2LWeqZUmrw0C4GrP4M9JeKBj9kJ4csoEj/c4TqNNZVn7esV1yZgFwUMQwPOWTG0cJWoL0CUQtfJVuXUOY7UfHKoDvAGZclQWpavdTkzPq80dKVNVyO0Z10jhPiFdFULdlq6wZJS24LzOJkayD0Z9LOD+oM7dUg11f7J1W5oa3V8INgme4yTxSASArGTEzP22K8LXAwiHVg/5q6tq0A6ORdU/I3/YSmXWMdaYDzcqSv2wwgTYv8Mf6VX/BEDRoOLAMU5XZWLcuPi2AH+Eac01Oo+1R5riNrSGb5Vef5YAciJ9t///kkmP33Zyg+GOnZww7A1pWpoRaT7pSVzc2zIgXc41E0Uq4XhJeEgYwvKkpAqrtWwksD8rRl4Me+bO66Akh1lhAAbe/Cat/995fWi5Tr4id7VwTW9AAPGAsoAm45QMn4nDY0X/L/GVzFsWiOHqU8oPYsl74seF0O1MBoWSXan6/ePmGwEFipOGgN6D8q2LIqpRWp3WWTfr+TdX1cpxhyjcvw7yvGXsL17qpud7Phs/8SZIVkOWHL3IwB70OMFB/WRDmQ3ytIOD8Us5QzjbWIVcyKIFnmkPG6Qha0IexMfDYznFI4rDTRk0aXKaym2hxGiSajwAchFNaUZFY+SNzIqNT6h9yxw1B2XG/3814j9pGiIaR3BegTDCBLYpgAPv5SYRNy25TLQJpPJXPnmORZIFg67lPswVE7SIsb9KctZ8HupBdW5+PfMqDR84azF/8W2+7x1kAvdL1g7DnhMG84BlhxBLBSkekWd04DE6MkYG0/y7X6pMjXc8xoagrj9Sph31qHe6k9FLxrC9kvobMmrJ/DcMIyUUAUfi5roVd6as2OBiKGsTGzXsMgdj3HP01qWul85by+QLzgqRgLwoB2plq3EoGtp1luADGbdD/3BCFica3EvIUjpcKmXhUSzvMefDnnxDA4VM1mda6tg8RHsWqLlsvHMOObUBW35IxydcwlNfUPHTNc3TZTJ0TsCsTCTS3QeW7aa04h3PY+0o6t4t6iV3ENCsazw4vtTsCYOb3rya+k0D8xrg0BWcgVDGHdeC6dmCIC80f+s3FTvhqmcxf6Rj9hprk+GO2Y/mqZZteQOFOZJN25kNmrxKgfkAyAqlY8peLMn0Fhl06kBpjldBA/AFIIBFtbDxsNaCl1Xv8/9VQ/mn+OsF8TOfOz4Z6bvx3xag6svp2Sj6/zLlxuvJj8owvwOFHQYUL6ww+jtEqUKoXB1wpIgV5KZA7Wm+42BOAURns9Kt2OFrMM4kFoO2hDQ6nWkXal//UNd+IAfBPkwNgQSJOAK24BC0qaXe+04bQjVSEVzMUuBjZL4vJ2VMglqh7JZJPL6yAScilBxNVU7tv2Cndjmf2l1G+zn4N+KJ/wA1fbmd4eZzHr1bAJpjKQSQ8+1WfF7pgQj95Z/UbZSvdVhSjOZkjfP7q6fXUrvNWBtOsPgzCCIkJsRzLRWqvXXLvvAKKxXykHk8943SXY4bAB5j24HTyJwfn7dGiVMDubxpJr9gquheTS2aNxYtbBChN/DH02ueikNO32pZZ+WpOGHe0tR/kRBc8Tc719yu7+JJKCcP7ZDbiwmjtzPRCP3HQdsIkwY9VOErRkYf8WN7h2F1fu8ZTsM5qYLKGehiSeGY5DQUn1oUloH9P9qLGabZ0+FFimkTwMwpPtQ89X1Qe2QDQc56Ts8rLiAPgCCHYpgaPYjwHv8mtL9etsjggYsNBbENlzurosmRBSDzmDLbV5g9YIhUPpssIF8WaDA7U7/hP4cJxm9gZzaakoi395B2M39lWReiT0uDPpGrGhI7fdyj7xktmR4H1Y2kLk8ZlRWnkwfv/fWg7NTJeIa1odAqsFvlTacl09H4gTLBuUUNmNj8LY2Khd/oCMNqT1l+f6ygg4OlqAzp1fcU1EmYSbxHG2A6RrIbrCUkJ0sJnggGVOya956a7qKFHDjDg62dQmDlVONkl6dfgzoE1S77K48ukn6SPJWXGKUmpHG14+j0yllGeijveDhye3Yb1W87KOy5xvTJrKaj8vAp8VOqKPOHvnnyO2+VySTFWudNftU18KikvVEsU7xjYRJMiGS4mrLnCpifRLknOBqvKhqN6YF8dgs9d2kntTzKedvwexBCHUXGrjC7WS3uvRuT9pISTshhfsRJ1IEkTHhDS4ayzjFTKBaY8S/Qnlq+oh5ux6OQAodBWQveTmuAuwYm6VX8BS+5ItLV/KkrRYjDB8rC14pFrv4wvlfVGxvvyyAAAAAKV/GU8Ar0P24BoodLKpUjGGVw6gb40JIi+ZP//R8mm1CEhsGFPrbCx4auwvIWrfmgN3dlLKnT6Lg49BKmgkonsy/w1Upt1IBo+9Wfv1WSELdjNt6nPUZ1mmhhkDuhVyXBzmK3P2UKmWk3V9K9Rw5GCOpzKYUOtltLdQXX78SOk6X1Wyr3GoJnR5aZsqZbLgWCjhec5xWlo+J85qp3ibTj69vnfN/kyAp9Zdmhajkp7/FeY/yqkvS7gQXH5QF/uMcUEjr6BmxXjtBv+spLwsONtU+d1rkjcGLOHgzExI58XGZbr7wCSKxXkMGGszzPW5ytHBN8NmpmtZMUk6mcAcch7vX/fhoc6uWDQfRE2ZZ5tUjuMLqOKZTmJsarqJesjJvTbUu0m6szqZ90saH4PUBBwdyVmbZrklmyrKrWHoXJO4l9Vddbeix8mqsxJzu+IuqaD9ji5Goh+E8NDVIFo/hTdtDLOF+cUR44X6BTGgNLC8UHZ/251mdUCwCABc5h+ZhS9UEmSZUSSY6v8K+vkvnBhucYTlx46+2vflX+Ef0qZwY4aJdxcSb2e2IFdxwBx9XiI0cGOXGIGzZ3YObvkZa0PuGdsmxHluKE6cwECvxtKt7p50Zu8HvxQGkPmWCtWkxPFeIHK5OUcd8XYaUUcd4W+sjUT6LPG3IN99wD5aAHKa8mGkRfAEIqObwTY5VoSqHu0wlDvTFySUW1Z1gYsOKQHeCcplnVROufVvhIrcOV1X6ulvGqw8Aoq9LgKpzCzk/jqw3pwEzCfuZF071KR5b0yqMHtKwdP6kK8bh4lIDxnvRUDtQnKweeOGq9x02fU+9HbwNMogFA8OTaXPgZF2fT+YZTfVlHgmsbDw3cyKOrs90F88BxyoShsSwjF0SfOh4qV5n4FM+MGGVMd6zStDBbWeDfP42BUIi1qO4w+UEC7e8P/Iw8fq3reAHQ0AFtO1Grvxbkn0RFeiQBtcYShx9nxANyRxkvdEoc4J6Vlv2ErlTu9XYdsFEfu6ihcHSi9S10JVDRzTAACkAAFdiQN+dEbJC2Hym+F/w4/1yxqwKi7NvECzkt6DNw2QGUCrbdbXfiq9gFujVoAj5v6IpdDt2Umv6U5wVWBv1LS8Tc6UngoZtSuHS3DVqP5tfsQwvKM4eoowwpjHCeeBsudP1S7uDfa0N/y9SKtPYg4mgPf2RjGTmV2AU5wgtnh80AA8HX/khJ6PRk6xrq6C52MRQN9CSTS6Xwt0f2gZq2bUhPFdb628KdB2z+gL1FD57WuzkGfFlzdpFdAwlOYrxwkamUOW5Xgr7wffkIb4FsvPP5ivC5tqghTJDYCEzycerUGkanMVjSHW4P3E56IvcZWjbCsqcXnNpR08+5s6MIaRDQBev6Vt3/L8wVJUfNss/VfhsKgn7hGDPQd6XPnVzJ3RPC8b44j7XZ9DxzKlOgUFjCO2/tmaZhJtTecCM/KtKZ/rqGZu5O+7tEIV/6Nc1S0R0W0C5WCQ9KCU8qlQAh+M0KnJFflJzo9+remjxT0IUeq6zENlJRaezJWKv6NJ5zVXPO15lXNfZt54REyB+VoyLmtbMJGPELZcK9t38Puan+kDC2burBRQikABbWPFMEMXn5H2GVeBcEJRfQbDO7trxgAGwqTkIStcUnIW6tN+mZuVW63NisFwQyjm+Qz6D6TByb+RvFoG1zShcZSaJbXApAtlen3Fu79gtcKVlEIwQVhDrQG2yj3XqoqCbgrX05Uu08OzsHq9GYNIPZU8HwYznqQsRsZgHpIOkt9SnRGs2IgZ1r1qabnitTf6161NNzxWpv9a9amm54rU3+yRceeM5Od5gXNzN5ajLjx7CYycoKlQzhwpMYwNkkVKPzrFnzoX1HEfJ+GLPJtCL1BAu4ii4rio97yQFGCl+in3dne1AxDWZBm+hldXi0mvFxgBTRJ2W3KcR2ZDMzadr3WGac7HBEOkjxfTDHwVlGX11MKQKJlRlWXrmaUPtioyvoCThGQ9i579fNUDx79+MAJT2m+NqnP3edpUVcS40bXWiE8m2NnzEd7kta67IxzPBMIWRtINWHZAjrQesAU2hSxhmDwj3jNNm9BNz2NHlc9YVK0ZbM21Ls64EThBAfQ8rmgWR9fNV2dget2U+8XxGPnmHJg7Z5b/YfhC1qyp+L9JhOs209KMKW+3UzqCYAx8cC+uraHpVfBXHqcnw6dPL6nAkAekpds0sioPa2nyd6zckpVzc4LiP27z5jew5PBD4Q0P1bHj1T7gp6JlGlNcaghesi9B83vhAg9rahAml3oMR7dXKoVC2jSYk8hcMOXwqcDlECSbTLWZDZAsC/Mf5bJ58DMXGzkgcbajjHia/SuB0U1X8WjXQIusuN12mJLhkaaroMM+ZOZLQSqlk2pOKupzLvrClK6eXbEXXnqhbJOPnTK4pIrKBx/BHXKAnG2btzJBB7Ke/28Az1+GQUUFxhP6IgdS8+2GZsMW4rKwC6WPHtlkDWPj7XBur8SnlCOwnBKXXHLINx0dcLVPza/YgAABrAnDdB3ad40HuEyQWMwvagVc7Bw3PCk9iTtN0omMbu5aySYbnPbqb1YYAWOWogsGuNOp92LtGnGc5FE73nPiLy20m6ATzAfYHK28weT42WUzx+7HR+HRk8+xzx/om6qSuLEbvnY+GRuMXzM+ObsicWGfR8RIYO7DBWxF+BTWEShcsi5cVqTimLhzO8rnQTUJc1yBiuwQBpTLE4Z9rEvZbjOz0M/Pwb22AWqcRRPjmMxsHoDfuEshmxp0S2yIam52jxnHu3g5qFjTCgT75J5OWk17vDVh//1H1DBaeEAzr4OSkQ58OtOGAjWJCjydPM4zaravF5E6bBWcY+q8ulLY6JnG7zuN6Atn8kPe8MEB/W0yvQw5BTKnL+LU47k13W5Pfh7Z6I9qOxp8c7jX8x89jR+sgCuTkC6geZZG6Zz/QnZltRY9SJwaHqazfQ25OeFaNdqyTdDo/XL+NMw8lclT8WkrYxCmV3zETYQum8+UIkRkWFJPS1Qfkm3mG1KoRyzOw1ZWqVB/dNaLpmwmU1NnAyI647BFwoamrodZfU75RRR9ST6kFqCS2NUGeB5bKgkPiLUUxGEASjk/W5pBPa8IAF+axwRQci/EEQqcY7LGxnUolTCi1+/8LZqYUWwTh94AMnH7N+CioTzWr86uZEgq2Irat1QzRXt0UBKSzu4IsbHt1J44wWPG0xdJklVHdJ0tx4KioIjNuWeqi91MOVvdxnC4DdDZ3aDpJh5ndNspDoU+HmW8HoWa1KcsmekclCNUAFtzr30t5lL3yhnRssk8EG0JzdBkU+2DzRiNET63OLpwQO9hlF3niAUl7zAbBD4T1LvyvZ/PZo0vNimnF5k2ic0Uei/6cEpuy1qIM3xqcHnSrSVQAACNsxu6doepWlPR/ApfLhihrCv+wndYZz0g7AGNiPialXdWKdwVZgncCdj9xxNKy2wBK766I+Mblz2YTQpE1Kcb8r20vJ8TrZF/RB3tRxyOpeVnGaL0SfN+6d3u94/CReT2bIxlVnexoZ7B+nBBYoOcOBuZJu+0wd5f41h62bgv6r5+5Mh8fDkNh6ZHPX2cSuNyH7/7Xk6KBV/aCx3kM58KzpmBLNiaGaNObDF8jTcYmWLG+7NZ4tKCZ1dNKp+eWfd/fy2FXM9LsHbmzAULe9rqf5kOATXIS9Eapkesiw5Qj6Ty/n9KkXJHZir2zyZ/dfQmqqROhWmc/9r92tL7orFwFXtHS1ngUuzFVN66asHP993At5D+7sMxwTNIuSJALFv/WFSpJ6E/ywKc5CWTuIIuJtePHsyqXF9LbEwV8w0tNCzbz2n/d/hQkvolRUjmIdWwmT/G3oUtTef1End8kCzYDzVXc3umgpzM8mjDrQRYCyelFFFhgjd7ukCajLGvDn5F4JYHHHmKnLxtXKNkCf5tFw/GVNnAXMrR+Oo6pSUeJX6eZPBvR+y+nQ2if+/5+R/g+sxl4lBoEynWSELpjv8NGaaeOdg/+HVFoSeANUWhWjxBLT3JxjrhK7/Lk3Dn5cX4ZbQhnPyqMcBCOs3OHDlE78v/4ZiT3u5aXh6u+Rdu73ZhE2sbaOS/0SOrcX5FONkRlgORcMedpOIjXew7xbvOM4xuQ7NDfcoST+h9RcuQmHnBz6FbRavo4Cx+zYmN65l6WNw9v9/pwFtj8Pt+b0Sm+ijUMrKvWX0yP5wn8GvkZor8wURj/in+YH6lH+zm/hjP0dP6lb15eyYr14Z12RqqjUGFKavDMzWBLq7AUMyyqkWbFQ8wnGPr2OfSW7cwq71AeZ73DppttRiki6/Hp6P1nDT3tkIlJvTgLHZEF49VZB26T/12Y3E9doxbS3VZ5Tl/r0Zb8tlbaD6wVFNsG66ORV8bJtvicgV2oGtxOpCC4tQ5wWPL10xPCZZavEDHpY1Y/26lvPjR/t1LefGj/bqW8/hYsZ+HBDCce89H06PfskW98wWtHVWEMkhY6jrm8pGG4DVKZKLNV8Ec/rOz+mAK2RRqFoK2RRofjoFg+q/tlFVBd2iO+iF68EaKv1UATE+U8uE0oxbrEgMS54FAG22VnmuX1TsjcVUV+rdBtJt/wR0yRtR+AGCSKIegc33fSgtWK1YrVitWK1YrTW2CkLbcLvC3KHyJm4Q5guEg65E16KsMOWmk+N3eWMf7L4AAAAAAAAAAAA"},64880:(e,t,d)=>{d.d(t,{c:()=>s});const s="data:image/webp;base64,UklGRhwSAABXRUJQVlA4IBASAABQXwCdASoYAuwAPjEYi0QiIaEQuGRAIAMEtLd+Pkzkcs57tRKiWif31ftb0224N1F9UDoxuhr1Sbx1/lfwo76f5x+RPm/+HfIf1v8i/T4x72lfxb63fUfyZ/u3rR+n3iv8Ov2b1AvxT+Jf2f8v+BMka9QL1B+df3b+2ftv/jf3O9WX+K/rv7pe4H45/Qv9l+Tv0AfxH+Vf3P+0/t3/g///7yXgRfS/6p/pfcA/kX8//xX9P/vf+7/xP//+0D9o/3X+K/dv/W+zX8q/tP+7/xv+U/7v0C/yb+gf6b+x/vL/e////9PuH9df7b//P3PP2D/74UcAt2LzPtzPtzPtzPtzPtoK1oXFaHL1f0s7fk8p04AFlK/3q7Qwk5lQnovhePqpdqPZg7i3uy8z7cz7cz7cz7aaWpMAtivfFISvMUMky+oQ1Nl+Siu9GPXdCGpsvyUVm5uGPsXLekhawjTshfvsHRri8z7cz7cz7cz7czUKKkQfex6fZwM7cz7cz7cz7cz7cz7jrT1sf100QwZQEV2YBbsXmfbmfbmfbmhZ42Dc1iO/XFt/BHqmUEG/xSjvd2twXCgTCbcz7cz7cz7cz7c0LPMm2nm9i8z7cz7cz7cz7jrWEZdeEsAW7F5n25n25oWeYAIy68JYAt2LzPtzPt1g8YNgNaPyUV3ox67oQ1Nl+Siu9GPXdCGpsWTfytEyVnPLrn1IeAijwRb3/EDK6gLwCr+5TLuDMr/9ugRKt/ZLMFCgDkbkJJZPKH2keK5E5fiTttABwW7IJ9zK18gnG3eceu51lLRRZ/5lzs/e2oXlrnWf9JIo5SIHvEaz5JZaZlQUwlfD/ubOls2S0mgyX8Xs54fmhlf76rCWGQwlDclCpvZ6qFJTkSOX32R9kCf6AbbY6k8es3dfJG1Q5GJH6J/46xxHXAbqDzEEvdGaocTz+yVkGqXruWjDf/pIO4Ba3jqQB+HxIxibCgFuxeZ9uZ9wfl3sXmfbmfbmfbmfbmfa7QljBLAFuxeZ9uZ9uZ9uZ9jkWAAA/v/wysAABTdYjp34Ka8NM5t5/N3F6sp1KxTgd3F2w8AKzTN2o9vcSWA5J4SoFmXOL+IUQWfeobmH7VdpPIR9NKndYCynp75FLRfW48Q9f0g8/afwYSkyuZ0RZpXG+QRKdnm0Xre/zezpb6TcYihPjo6C7BreOWhOPAza182/jmK4RUphk/1XyxN7HWBli7QMX60cfFRXhOtUcvF5/yqX4g4vS2HZml21Tn6u8R5dBeWXGXw9QiJrKCqdGWVrdehmxFdiwcWHoPC6dhyq4Wh79VPpcMRT4m7abPNWDs7lmr2rtux8U2aHuerRh64emezCiIi24lYH0w0DF+tG0gyzUEzuyyBj4OtZUGKGIKmdTQtz6N0T//FN7RRRQ1aYk8w1ts8cnDpVM7ajvUfC56IscsKuUf/hJ8WD2F2o1Hknw9rXSi5YN9b06Z8FVEYM/9zT7LMbJMnV6n714RTSdhuyEof/J2/awG1Gjtg9EhaFmo12hwxpxuVPm2MjVL4YyDP7R3TKzVP11ALT/rwcvkiArGZFHZVJdIvt7Z5XcDLbv7D+dr/XUNk9hkcr79i53JUdLG2ydH0O/kAjH5C2NDdpy3OZOGxkYbue5BAr5XSDRcPs3VMQVzf4Dfc5XmRk+wXDHWSLTBVSuRf9U0b/MDaKV9fuWcVeiBtPlPbdq51SIn+BhpomLAZtAWK832i+NUfi5KEWgX+LBR0b0DIy2n/dzjeBcDQV1uppzYrb3+shvFrwB5t1p4jw5ZsZrUqWcSBMoc4K7wtF6xlra8Eiti1IdMzsvtvbhx0vXvD639JDeao1x/v+LOLCME05/51/zw/45e9v/v99mf3C0S7iujTliNA/YYqdWPGr4qz5UZ816RLowKk62AbslBPj7924ecFI/jXJt3ywAERBNUFT1XqpHcIKzU6dD6KBm8WnBRK5lltQnAbuxIBpw+895QVdDc9QYoCYwGnbUVLdA5Z/i8bJfyzmLGRvM9G4I0ikIa2bXS5SQUqtmTCX8p6AAgU6t7SnyCRAAnAYI0ZnHmQe0eaLI/ABsDFoQeopt5vyNxuB+hnP3pZgVSuUn0rLB5dlZoJJLshqGJdZiaKOHMY1Z3RRZTp3xiCsmHVLshKG1PwFY211xn4EjRsYR7KAhrYsdmkUDLKlOG5MFPpzkCAYpeM8yD6oAAAABWxLkBTNss3uanDxn5+rfCbkq1s+6ZbV0XXikm3K9yfyK8D5ISlzPgw9tVr7gYYKhTvckSYDrvLCpt5VzcaUzvPw1NYG+cJa4ZseM3BLWS9q3IsNEEhxbxVGISfzo2Wy9G8ZLdapqENpwmqAAOQ8KzBYCRnxPwcAMIrTSHxczmqKX19pSHSwo+g3LzNUhY0xPm//ziNrYafReI7RE83KO/8vZ+mjKWtC4/q6b2KLmEFqTsoAG18j0KboKLJvZNPeeZfexBQB/pA4tH1CRP2yiPfJd06lqrOuYXAAAAM0KYMXBKarIC2zRDwFElzd4lxGiEdG0IeAcv2JQkPNIMS6VFwn60nD4coEqN2pDb7g4AYRWmkPi5nNUUvr7SkOlhR9BuXmlS1p6m+xpWZWqhOfgXCOWL9F19TyWkIKxsTG91BZxfMpojobuQk3n3VukmGz5uuyublE0xrtJy8+7acRDf5jtmQx6KyukXVXINRLS99nuZsWmc9FcCSERR6wyJANHP/0E8F5Per/I6TGeM5eTtmCibjirxjyaHxmY51ZrTj876JlnZrS0/hsMnYi3Z+cEsfGlpgw9ylPfrsgFxUMwH09N8VkXWfV0Cdtx3nVyoMWYdAjmzpaCfsAPR/HQbsOJIg85JNDyEtKuRqJOG/hz7rqWn1TeDQFOOIKGbQh5Tsf+Ro9fNVlRObl6Rw5E0SjyXvIOF1jqU0p+L+JlY2TvVUxwcATOKhdY7jbd6Ymy/MsHb5DBq8HRaL1HuRU/i2IO0wvuwJkbkVEN4DCnrGrCr+oAAIDWNRbgk7gADT1ZPOYZgAM0KYWHJ0JAAU3L47H5cDumDcMoFwq0BRAUFuUI0KPy+6EIHZh2GW1scB8MOtSgqd/9NUoKnf/TVKCrpGwGbHcmgAKhmsTx59MLhe/q2kupXrMIkAETadqIZv/gLj4NTQra/NJs3GmN+64HyuwBjgM0hLyloEHWqEFvh2VqbpV4JB0YtiByYROPZUJY4SD9wRcwKE1om1MfAp2lSpQnMB+wkYM/VzCVymVVdB/ewsB7/7kbz6bGZxlyBb3xHSt8eoCKVNq2LNvMzkQJdvHywBHBpG/hhkEsVxh4MMztiw/zy0wig9LzTXu4WENyv8u6K1a6Sref+bhgZhiqSE8OTwi8MxhKNtx2UzVWbnzNckHwDA8aD30cZN4GMURE4K/JpDb86j7eMKQ8V7tSo6rve7L8bXDPHv/x7Zo5G6jmCcG9y1YMjK0i04s5qMeRBfEuWZA7DCzNiWzmjINczKoMkWk9ktC2JaKcVnZif7j43eQBu1FatSkdT8NO6xF12VRJucLNswIdNInN6hw+cPdIMaZpvrWQYu/x7kLfW6/VB0/62l/Td7/7CKv1Bet9nxpuZs51HTdU4Gkx2WuNd0OEYb35xL2WjitMHqiqWC2SV8rBxQKBJM1M5kqodO6pB3wz3GAZumzCYf/KB5R5dmhpKqisbSH1rCGC85CVB3gGFrHPIas4ZBbz0ZbBEVRb9Zg23RR9PEXdfpQX4qzrkujkN30GSNTkZ+rh876Iv1jKoGpygi7zLzrwNnPBnbGil3hGSL4cyCC50N3tz1GAJC+KTnzL6Xq2j7IRtL8dlElJZWEtR2dXB4S4u7DrB+M/sui4ZuZuj2jL1wBBELS7f44z4fN1lNqjucz0Zl7+EqL26MMXeVt9lCCVxVrniS2HjCfysKd1Wc9M7rIRiz3BpCNM9aVFmvQ7SDKV1JkRk1UF+YzOOvD2DYKpOUq09a4CKXSM7hYS7O4gW7rWaog9vfwZ3rdp7WTAP1eVRTBxpH+y6RCOJuS83ZsuL1PYcfkBErXjyZKWlS31Ix/xofb6VMDiE+mBu/95lO9BtLFXkUm4ZIzLT7PYqQt2bBFVWOJQQaNkFUcc5jrBya8XV+HUAhS7GjTPpmdu+BlcrUY2Pg+iG4/Fs5T4m1nHiLJaT15tt7wuVfZFsnCC6Au/ISXllVJwbVrfcf2P4m5LA2KhDMvs1NBgSlhLraZ1h7p/Ro4dEBi2HohXvlc+LW5p9pP2pGIAx4MFEk9oteS/dXZKeDXPPek4/pITQq6ZdInyF+cSaVgi5bwURCR67rxGrdnp3skH9fHUY+418EBijIpw7vZt5awvlaiby3my/3SxevdzwyNXBSsjEvYuTLsI2Dr3W/vD2A31EuG8Gn6vPkBPZ2dtK1/37GQlaPND5RRpzOPh8BGdDXOeHce5D5eX+8ngZqWnD+53FJjrUCEOrCuJYOiJVNr0j+mZ94EGCf1Rcmepu7Xxu3kCpMDPPcfYOL7p9QhTxX6FlYqPLBKRErGHCN+26bg85usVd/lW9vIwTSieG75kEh7YBcrQB320Kqfnhma5awm+Avg0aON2OMIfEzDLtU50181zboMB8Qtt6PU1ix7UXopa6r96Xy8zRrzYmqbFEH1m7XPc4etgHNUys0NSW7nQ5G+k6bmR+nlGZHvC9aBjQFwgXvgI6rqdv1PcItTdKFWSBCUdMKspk75rqYrV/IDIh7W+I9b6f4jP5Q6UVSf1QcdbR0IhWxGSbOU5ZAoOv1yyNIHW4Y+kdtQjCL3uN5RUX7NEpWSCP3yzpjiHOrJ8U/oqMrJ1Qj/x9sUIMsUwOUmq8YUJCZeAmveRDApxY/yRsEdZLXPRW0QB0es5jjMrMSCUegA9JpnOcjwXtRRYA6iKFTsSzLb+18Yma+luCNtZR3FVwXeklKI60Ob0gYIwtPmCb08bNQg4qAf2t1cRX4jgESz8OMGI4k3A9+ZWGdCrPA/5hHbzMKCQLmET8xlWf3EAaGxPRXNLOQy0al2mwqYTBnLPIlubiuWgCA0uk5CijLllvSUld0r4lU7WLG8xnH83CGw08ZrkQwwbBxdTW50XN6MHC+ItFHvg+56XFYmrmAGuhTM2Wz/eKhNn7NKzejpqHrD+ncPr1LaEEMzex2YSV8brO8QacxO9q5J/zxIlM/WArguYahfdjEgS4zYsEePNttR4frg5remgXO4R/4ysPZzfvP70CJDt1MaLFm7sQlFt51RoLJjmVaxusNYgZv7AAlqDKVnaH8UngOXbsyeXzX7cSYxRthdq28sdfad4t6vJwzaTfw1GI6WD3EZmd8LwdzUR6k74GVh5/2zLjBJI4YYKHiFa2oWPKtz+bQb6GQAeaheh9AlqG68nnMDwHOqLT+6JPbZfeEfohxU1DECdkc/wnrpU7VvH/XThnucp4eWeCGDG6onPnmIn2iTypniVZ9xNm4uOJbXzwaQIW20xsRodbGcHYaYmzfizLayzjwG2PaNLdXBFyUAWfTQdb2zqhtoJzyRBY1OkxfdRL05ZZ3FPwhrcUspN4dhtp0pTkOeqde9UILLB0XFhLmCMFAF9G9CVK8R0QI9Bz7vzYkAmoMv7b0w3ln0lMnMSoJJNMYAKQhc8dtO1EE+ipnmLD/PLTCRg6VnNTLK/DMpDAw3Lp28DxhTIFnOK24iWn8hxcHA/ZQpnbL7LuCX/Pj1zvn3wQ5y2isY1rPhoNJt4WCAG/7eEulgCuEdNRu2zGBhqKw8GTQ8oJKyl63iUKjUR6ybnWDm0nfpsJue//vuiXOy30WA3XGiwwzdU6WSpT5bqPdEJqwdeJ+A/HoIY89Ex2RXwqWYRMDItCaXzGjoJG7Y6cVh3WLRRfLgDBpO1HoXnHBvChKBkbhUXHuOGItRkFvnrlVmOBluyOzBKVvV+gpuZ+MbIt2XTSrCX8mvWnPdR3DFRliQIp7IwfpfXN5/4b0CoqFcoaIFT0grryRomczVAuBg+LqDqZ3IEFDz0CDbdw8gmnNt6ZHgTxCulw3Ym3LlCg745PbGLZnhlv1n25M8V5yBWrDdiAKdUJ41BtOw+I5Egi2HKYIfzrd1yQHPUF4uw04u4LDBoE/Vc5qlkV5d64HlQAAAAAAAAAACLjueXhcveAAAFFU46Ahnh1vgNYJgAAAA"},47008:(e,t,d)=>{d.d(t,{c:()=>s});const s=d.p+"assets/images/addon-computed-fields-settings3-9e3332cd45653b26f0896719e8373207.webp"},13108:(e,t,d)=>{d.d(t,{c:()=>s});const s="data:image/webp;base64,UklGRlQRAABXRUJQVlA4IEgRAAAweQCdASoNArgBPjEYiEQiIYikSBABglpbuF3Wed/Xvyv5tfaruhlKfQb+I/Lf/M/O/0cfcB7gH6Ff477VfhJ/UDqAfw3+a/7X+u+7j/ef6b7AP0r9gD9dOsA/W72EP1Z9JX9ofgn/Yb9hfgI/V//y60D4f/jf4x97n8z/F/z58Fndr1x5QESb4f9F/pf5IfznfSfUC/Ev4f/QvyS/rv7lckAAD8f/kv+I/Jb++/tz7L35z+Unu59Vf6N+MH0Afwr+Jf0T8kv6R///d0/wHjzUAP5F/Mf8D/if8B/wP7x////n+JH69/nP8V+6n+U///vK/Mv6n/rf8T/gP1i+wT+SfzH/Gf2n/M/9H+5f///4/cr62f2c9jb9ef+kCl5lKljDOFzEj/qlrFKruljtX/5Y7V/rOSos0L223IxNIIHJVLcwZ14s218jiGvSdeSMbWCTYdq//LHav/yx2r/8mZRiG8UASlH5uEnDXuARdp1+GNy4+BlY7eQScNV98fb8f/eyLNfOtDQqu6WO1f/ljtX/5h8HKvgM5t72akvPsrE2+wWsCIMt9UfSgjzGn2CHiueHKBKruljtX/5Y7swK3QkbSzfVGKXPC+vpAp+wPdvyhd36A/ilCbFQH3j+SOQr0pVd0sdq//LHa/hm8w+J6SPvyZg2qJ6Wr07xRA0tdKOIU0xr2ISq7pY7V/+WO7MCt7k7OlKUDMp9YwTUo9u3Zmii4EMWnnVZet/dlNx21zv/SNTsQ0Cw0KruljtX/5Zs32D8EBRd3dLHav/yx2r/8sdrAcAIWhVd0sdq//LHav/yx/DTn0O1f/ljtX/5Y7V/+YfB33Sx2r/8sdq//LHawAZpQyVXdLHav/yx2r/8sd2YF1jtX/5Y7V/+WO1f/lmzgr8sdq//LHav/yx2r/9g9cruljtX/5Y7V/+WO1gOAELQqu6WO1f/ljtX/5Y/hpz6Hav/yx2r/8sdq//MPg77pY7V/+WO1f/ljtYAM0oZKruljtX/5Y7V/+WO7MC6x2r/8sdq//LHav/yzZwV+WO1f/ljtX/5Y7V/+wXJoAp7GsUqu6WO1f/ljtX/5WmQ1hBGVkvkjd9OPohmO3kEnDXuARdp1+EZGJSjU7RquiZdhFyV2dvBSRNd0sdq//LHav/xrGChlPr0uTfoEAf0L2eF747mG0osda/v3Sx2r/8sdq//KvSUylXVR/kH2sajXJMvyPvkxsa3+zYKvg+UjYtdqVHHDj7THAzkyVXdLHav/yx2r4/Q+QHBkcLywStlt0XJXYoIhCKihoVXdLHav/yx2sAJuAAA/uihrrywaYXIkWJ4wbPx9fC/Dm+IeVcERWJmApKCFj74qklPe2jHzg4qrENVnux2xkjmUgLtGXxi1a+YmHT3ZbGfwPdF6DxZuolCf+NGUd/ckvDS6QEm7r855jpOT6RDbtIxGIMZKmxcwRjximBybE5MkU1C49MJ/Wj74HTpXiLkqdv7RAkhu/4J6/wY8wwKHqTdX1+Dv8rdAV6kVJtDTZKUwCUOCBEt64QwskK+NqQG1qnCALkOjReg0EM9BSb7IkJCeM/bgXhMWswlwXcxQgrNb/7tEC0LQEMUzjA75Fs6z6u1e/tS9fD5C/nmExQ0sC5RcEwDVgy9Mj2SKkjarRUPPYQuW/+2tKvr5+ox3lCIUXYdMrD1BNjJ/TAOrFJlI/dm4VszdOi25v4NnHjr/FfjX10B//9NSdrVhM3FVSGd53jnudS8P9XTrKkyQQqOcqR9jwqomRJh/BLBPdKR+/D3fPot1WQMdACP8JSvWAZm2fhqbJ7nSL0XjtXJ+fdT+f/+mD+lAbDnGoviLIejJJpbR2+wsGdPSH/wYYZixOdhtS1FnjMwN1duYj5Ey4RywMFhAFvV+DX7UxTgZfHoGHwgt3RPh0+xUHEsfQZP6UtjwBHgCY8AbwbeNgcwEaCiOtMqKI6KOt6UQwwjtZulKGNExjN/xGHHNzfV8+Dicndz0cW9p5+qt40KWZpQ2I/xBqbTi+BriWCwPK0esfrHungG3V3gjonioSMiQw/kBfZBiQfq370Ov/puIAASaA+il3GeOr4OII9HUF/iZYpQLZSxSPLVpTBTlUZvyxQhVn+nyk/xpeSTU3dRxJznGUaWPRojfzzqJ/U9I4I4XmMK+bW6gFKgdRqCLNh5S+EOsuH+Khb8bh0Q52KJCqeXz/YHceaXs1my+18OTFhSNETWguf4wxqUJvIEXqZKlExmi/E1e/K8Suw0j5RBIbUyypWbYlHqKwFvKZf4N7uNA2IXS29LNg+1nDB6cCuf6bNA87Fat1ScV3YmoYDxn5UlS1LXbL5HKX/rJf/Vh0MYOtBIN9ccWKwnV1yT+YgvZZcqubFV8IyLk+YH/eGszGb6myDLMLU6xmcQgGhNOBa5T4IqzAynT/9Rq6072XUTB0pIrNcj1KwA4pKcT8vkJp2Hwq2yLBs1lIdXDLJ+VrkyBHrbHd80vz6PudHwRhYxPb83yINzogF/euDIQPieCpNacM2aZhcC1vgRW5DDf9nPdSfe7ULz+Hgvzckm/3rcQ5PiporSG2oCQmXTswolWFJ2k1h09+FXUSgFZ5VgUdTWWMW2ZnFd1Zub1l9dT1N8PKEDU34GNfyJkBY1+5a6JRrAwZkeuztINur0+dMUIptLOG+h6WSM4FEEHTagARzyyL4EAaAH9V6G+/l9bbmvLCfKWpeogKGHp7X+sKOHg6eenlJc/698LRAUay3dPy0xNC8L9VnBVTSjNNCvEkouWWE2/44i4Mr+rCwBUE2TlQvZz8L0Sx+VYhM9vpvK+XzwG3leey0f6j6qWnuI/FhImJmzLLC1AkKO0hcjS9dpV5gtEGI57CUOj1isYuVoWV/ylAYSraXuCDZ8Vn5jWffTs41rwIdNAt6iXWFiu/nxN+mRtGaFizwEhpQFHcCnIQCtaPivFvXDcMehPlAIAoVk+ctCCG+tDWR/TGWpPB38g29f0Gh2lJWxwaMYkXwbJm+d+gW9CLn6nr9nI5xLMqVFzAVG+EbOzcG/+Sc24cTrAmlVCYTtVyluptWpFkNh9S061O8dTujdnlBacoqWfYrID15S3uLQsQxH3QvjfIldRuCDAF4I1oakuvksxygMVAAH03TVu3uCmelGImhKGPID6KXcZ46vg4gj0dQX+Jlik//s0U/p2kIiB4XU4eWJf8gxtg5mrHCOhvPy+NKp8AMJk38S5+zMnKWDhfOfgXHBTqIiKdgdbc6sOnVLbyi4BGEKAr79iLqKTlAOhGaGU3WpqVLDG08PLEAJdqMzr0G6hzxbtugYImxDo8HOfDKjJK34GTsFWNdSCvj2i66L00GHtN+/TDMYJZDvvldSkNP5H8jsDJ6XM/uoV8GvX/T/8lKJldISep3MTBJ43Hv465LQBbBPltWsyl7sRfLszHhSscEHxK80mkaWV7OResPh6St4LJOdYGIFqNeXo1+lMvVRuJKEpwdjDxI383GT+jdWkYVfSTzUE8P2CSCtE50/u6pIl4AcqBe9jdFx3FU6+xd5sHZN5h7TnT16Z4pZH/FNUdPfSLmOXK/K/XO38J5VJrDoDqqX+5Sf40vJJqbuo4l+3n0dxTvC2IPOPRa/eMqzSJOVZUL38NZVfkaftPzVnKv9jjhZCvHACRyD2t8OkSXEkcc2xsdwtf/+naJbylaPwXZIkf0Dlytq1mus21wswPoRpklGMM8Mephw/rBjaKhGywZn5tw5M6n3ZcceRxDs2pquf8ec6fxKf3noKtOGU2sceT5NFLT9ZiIgHaRf0WsojrJm0cHe/NmW5gLKc1CE28i5gI8v5tuTZ7+I3+cTHk2wsf3vryL6Obc/EFXIS2eAkcFBDHaG8WqFpZAJE4yfADkQMGkEok1SDosvS8GM0FDSJyHDHMFBXQtMuwYcD9tM+SxJ7Ht7hWyV2xZ8tB3rzWFaSukdOyHzciAEriBu2twMDoN9qdmNMoJjSrCyEuNGXE4Cq2npavSHJ7QVRw+nM4DWsv3ntDmSWB/QYtrQKx/qfv02CRGWCwAZKQJymY4fDdiAM7K8PViHyqVn54ykRc8ED1zymdK2Tq/xDf3rzhH7Z88pZBRF0mF2ptH886gKANuxTbxxtioAAAAAAAAAAAAAAAAAAAAAAMQEACnNmw5foJQikwJGEMgCCcJDRbw+pGD8zV3kgmCpVllT8O2KhN4s60XylP6vvTrPHfaD1yCTc05RZfUkooM41ZxqzjVnGrONWcas41ZxqpRtdtlYp/8B2n2YI3FmfGG/ME4W5a2+644r/9eYPSBBh5Zyq1hFIUMCfAbxqvxwLUO0AmDfvtyPKEL/nNz/MCYM05jZ37M7ffYv2VQnfogKPOEv3gFjUL8095a0N/Jwr0S82aawdGFS3gqv38n1swJE/KsypvJojOgaHef2z//uAgUv7NoMcOyO3CitalWgCRjX+VXVG7p0M7S3hzqbISmbAguxB1OUghX/4Yj91LXcyjFQxlN/0jHu1T9AodmtstKC82O1iSe8rUdAJVo6rtAM5uU10rF9Ju6VYuWGzxxMcyHYu4mf/OVkBM3ECkfjnVEwMa0jkK+zrVHzn4ZxsK4ycqCnvK35WLXeSFaOvqT/37oIX9friupncxsW80kG26EG266pOjvfhyc6PO/cxcW5dbBOC31ym1giDNf5nT5nQ0fPmNEXUIJJleeW4q0AgReAzD2rmPdLXyhOAEro/pUXucutH3ZmCzODNAFEl6kg59MG8JWltSBs/gs51+2SSfCh/+3vqQwSjcPiCzwL2/MwmsfPCRrxAUhEinXk9JOcvnU4PyZyjctk0O2dV5jZGX74RESH6vBVspRHE10/yL+V1x+VN0QTEY9KJNyK23h5U6PazGiDqi9x0hs3SQ82BawtKol5w0ToBDlUUlv80nUpP/8+6cZWwZI/8XeSurNH4OI6y8Y9WTTY1leNqeOVWUOLs9MbTIkzx76/gsMeUgnwoK1JG0YmTTPI68TEDv5lSR0kNfsIwxQSl2KL5/C3ZVyUS+oHyeinHc5t5ikcFgZRCAjSuBGf+i7v2mBOHLlvvsRJtaOr8daqMXrFpkaNs8kpGgScwMkghgb1lTaZCnpgGQSscjcgPP6H7mr3Iifl7wk660XhQLHrBLXzual4pXGxVakiTNMvdmXFrLkWaVMGKDuDnZFWnhVcQJgpTRWDLT+QCACSl9JSwiI9vQkDZ/tweBWk8UmFTEAq/BL/FsCpB0DDFdvSM7brWz0A+YnqRnIcXkrPBWEQBT9A95vl7xugYxgmhZp3gzI9dCxMJYfTd/d2EOCgvGP47ZW35bQdwCyxy5ZIjD/klgLFXwK+RBxD/4hjuazBbFJF7GEVU6hKzQ2F35QetU1CM4mVuX6vcUjSBYKuBuUk0HRwMgsETDfKnz26FmRC9STZoYTbFD9BybhoXz3YqU4QQb6MoknQ5tjyguo5ge/4ZC3Fi+HcVVacJH//hcI84Sfh/KS92ptIQz89MnZ5+vE83L56GKcwQGrFmk8E25Mq6eyzdn7TYxfMAkmmii7/GC1f5Ka9l1Tdflo8zHiseeCRre8UVBp5qBzyedCUkCcTtlo3lQQB/+Uo0vuTbmlJgioi4KivQqnt/aRJmvNF6Lb9U+E85KM9cJPfFDN2ITOeBbQSRJ2fxe/vixrsJQvLx1q+zYg6TUsgN8eJOqpa98d987Ba3bFUHYf6Q+owrgJkvlB9N/f18wMAs0w4hSs38IpBYhJJzjVnvzdDdxqCNL4m1402FDax/zcvhmBQz8lIFY3Vo1+9P+Pf2VtDE+8Sq4AIp/D311w3rp7DvImVS8V8wkdgx1mJ8I4Hjf5JLrWL/atGCg+502AVLYnP1cdK7T4NB2DOsuP/T+A3yqgYAELBSD9rIAAAAA=="},4552:(e,t,d)=>{d.d(t,{I:()=>l,M:()=>r});var s=d(11504);const n={},i=s.createContext(n);function r(e){const t=s.useContext(i);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(n):e.components||n:r(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/13362ea9.4e5dc8e6.js b/assets/js/13362ea9.4e5dc8e6.js new file mode 100644 index 000000000..0f1bfb8c8 --- /dev/null +++ b/assets/js/13362ea9.4e5dc8e6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[1232],{83368:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>r,contentTitle:()=>t,default:()=>d,frontMatter:()=>l,metadata:()=>i,toc:()=>c});var o=s(17624),a=s(4552);const l={id:"writing-styles",title:"Writing Styles"},t=void 0,i={id:"basics/writing-styles",title:"Writing Styles",description:"docs-source",source:"@site/docs/basics/writing-styles.md",sourceDirName:"basics",slug:"/basics/writing-styles",permalink:"/docs/basics/writing-styles",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"writing-styles",title:"Writing Styles"},sidebar:"docs",previous:{title:"Global Settings",permalink:"/docs/basics/global-settings"},next:{title:"Fonts",permalink:"/docs/basics/fonts"}},r={},c=[{value:"Never use HEX color values in your files",id:"never-use-hex-color-values-in-your-files",level:3},{value:"Never use the actual color name as a variable name",id:"never-use-the-actual-color-name-as-a-variable-name",level:3},{value:"All external variables must go to a components map",id:"all-external-variables-must-go-to-a-components-map",level:3},{value:"Never mix multiple maps in a single component",id:"never-mix-multiple-maps-in-a-single-component",level:3},{value:"Where can I define global typography for all my blocks/components?",id:"where-can-i-define-global-typography-for-all-my-blockscomponents",level:3}];function h(e){const n={a:"a",admonition:"admonition",code:"code",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs",children:(0,o.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(n.admonition,{type:"note",children:(0,o.jsxs)(n.p,{children:["This chapter is only relevant in setups that don't use CSS variables. If you are using CSS variables please skip to the ",(0,o.jsx)(n.a,{href:"blocks-styles",children:"Blocks Styles chapter"})," chapter."]})}),"\n",(0,o.jsx)(n.p,{children:"Everyone says that writing styles is easy and that it usually doesn't require a lot of thinking. But, like everything in programming, if you don't think about it, the problems add up, and you end up with a headache."}),"\n",(0,o.jsx)(n.p,{children:"Here are some of the recommendations that we use when writing our styles. It's also how we manage everything to be as modular as possible."}),"\n",(0,o.jsx)(n.h3,{id:"never-use-hex-color-values-in-your-files",children:"Never use HEX color values in your files"}),"\n",(0,o.jsx)(n.p,{children:"Like in Bootstrap or any other front-end framework, you should never use hex color values in multiple places. You should assign that hex value to a variable and use that variable all over. That way, if you ever need to change the color, simply change the value in one place and it will be consistently applied all over the project."}),"\n",(0,o.jsxs)(n.p,{children:["You can read more about defining your colors in the ",(0,o.jsx)(n.a,{href:"global-settings",children:"global settings"})," chapter."]}),"\n",(0,o.jsx)(n.h3,{id:"never-use-the-actual-color-name-as-a-variable-name",children:"Never use the actual color name as a variable name"}),"\n",(0,o.jsx)(n.p,{children:"You can name your variables whatever you like, but we recommend that you never use the actual color name as a variable name. It would be best if you used some generic variable name."}),"\n",(0,o.jsx)(n.p,{children:"For example, you can call blue color r2d2-color. With this approach, if your designer chooses to change the project's color scheme at any point, you only need to change one variable value, and you're done."}),"\n",(0,o.jsxs)(n.p,{children:["We like to use ",(0,o.jsx)(n.a,{href:"https://chir.ag/projects/name-that-color",children:"this site"})," for our color names. Also, we recommend using simple names. For instance, Cornflower Blue color would have ",(0,o.jsx)(n.code,{children:"$base-corn-color"})," or ",(0,o.jsx)(n.code,{children:"$base-flower-color"})," variable name."]}),"\n",(0,o.jsx)(n.h3,{id:"all-external-variables-must-go-to-a-components-map",children:"All external variables must go to a components map"}),"\n",(0,o.jsx)(n.p,{children:"We use maps for a lot of stuff in our boilerplate. The reason is that:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"maps can contain multiple variables in one place,"}),"\n",(0,o.jsx)(n.li,{children:"you don't need to write multiple variables at the top,"}),"\n",(0,o.jsx)(n.li,{children:"you can nest functionalities,"}),"\n",(0,o.jsx)(n.li,{children:"you can have multiple values with the same name and just change the top-level map,"}),"\n",(0,o.jsx)(n.li,{children:"etc."}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["We also have many helpers, which you can check in our ",(0,o.jsx)(n.a,{href:"/docs/basics/library",children:"SASS docs"}),"."]}),"\n",(0,o.jsx)(n.p,{children:"In the component map, you should only add things that you will reuse in your component."}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Examples:"})}),"\n",(0,o.jsx)(n.p,{children:"A simple variable in a map:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-scss",children:"$social-links: (\n icon-color: global-settings(colors, black),\n);\n\n.social-links {\n color: map-get-strict($social-links, icon-color);\n}\n"})}),"\n",(0,o.jsx)(n.p,{children:"Nested variables in a map:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-scss",children:"$social-links: (\n colors: (\n dark: global-settings(colors, black),\n light: global-settings(colors, white),\n ),\n sizes: (\n small: 10px,\n big: 20px,\n )\n);\n\n.social-links {\n color: map-get-deep($social-links, colors, dark);\n\n &--light {\n color: map-get-deep($social-links, colors, light);\n }\n\n &__sizes {\n font-size: map-get-deep($social-links, sizes, small);\n\n\n &--big {\n font-size: map-get-deep($social-links, sizes, big);\n }\n }\n}\n"})}),"\n",(0,o.jsx)(n.h3,{id:"never-mix-multiple-maps-in-a-single-component",children:"Never mix multiple maps in a single component"}),"\n",(0,o.jsx)(n.p,{children:"You want all your styles to be contained to a single component and not dependent on external components. Sometimes this can't be avoided."}),"\n",(0,o.jsx)(n.p,{children:"In that case, you should define a key in the component variable for the external map and define it like this:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Example:"})}),"\n",(0,o.jsxs)(n.p,{children:["External map in ",(0,o.jsx)(n.code,{children:"assets/styles/parts/utils/_z-index.scss"}),":"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-scss",children:"$zindex: (\n header: 100,\n drawer: 99,\n overlay: 98,\n);\n"})}),"\n",(0,o.jsx)(n.p,{children:"Your component:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-scss",children:"$header: (\n index: map-get-strict($zindex, header),\n);\n\n.header {\n z-index: map-get-strict($header, index);\n}\n"})}),"\n",(0,o.jsx)(n.h3,{id:"where-can-i-define-global-typography-for-all-my-blockscomponents",children:"Where can I define global typography for all my blocks/components?"}),"\n",(0,o.jsx)(n.p,{children:"Well, nowhere. Try to move your way of thinking from Bootstrap or any other front-end framework where you define global typography in one place."}),"\n",(0,o.jsx)(n.p,{children:"Why is that? Because we use component-based development and you should think in that way. Each component is responsible for its own styles."}),"\n",(0,o.jsx)(n.p,{children:"You should define styles with all sizes, colors, and variations for the heading component and reuse that component wherever you need any kind of heading. The same applies to any other component. This is why you don't need global typography, styles, etc."}),"\n",(0,o.jsx)(n.p,{children:"Global styles and variables are only used for things you want to share across components (that should be reduced to a minimum)."})]})}function d(e={}){const{wrapper:n}={...(0,a.M)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(h,{...e})}):h(e)}},4552:(e,n,s)=>{s.d(n,{I:()=>i,M:()=>t});var o=s(11504);const a={},l=o.createContext(a);function t(e){const n=o.useContext(l);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:t(e.components),o.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/13362ea9.78813260.js b/assets/js/13362ea9.78813260.js deleted file mode 100644 index c889c1dc1..000000000 --- a/assets/js/13362ea9.78813260.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[65230],{74631:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>r,contentTitle:()=>t,default:()=>d,frontMatter:()=>l,metadata:()=>i,toc:()=>c});var o=s(85893),a=s(11151);const l={id:"writing-styles",title:"Writing Styles"},t=void 0,i={id:"basics/writing-styles",title:"Writing Styles",description:"docs-source",source:"@site/docs/basics/writing-styles.md",sourceDirName:"basics",slug:"/basics/writing-styles",permalink:"/docs/basics/writing-styles",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"writing-styles",title:"Writing Styles"},sidebar:"docs",previous:{title:"Global Settings",permalink:"/docs/basics/global-settings"},next:{title:"Fonts",permalink:"/docs/basics/fonts"}},r={},c=[{value:"Never use HEX color values in your files",id:"never-use-hex-color-values-in-your-files",level:3},{value:"Never use the actual color name as a variable name",id:"never-use-the-actual-color-name-as-a-variable-name",level:3},{value:"All external variables must go to a components map",id:"all-external-variables-must-go-to-a-components-map",level:3},{value:"Never mix multiple maps in a single component",id:"never-mix-multiple-maps-in-a-single-component",level:3},{value:"Where can I define global typography for all my blocks/components?",id:"where-can-i-define-global-typography-for-all-my-blockscomponents",level:3}];function h(e){const n={a:"a",admonition:"admonition",code:"code",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs",children:(0,o.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(n.admonition,{type:"note",children:(0,o.jsxs)(n.p,{children:["This chapter is only relevant in setups that don't use CSS variables. If you are using CSS variables please skip to the ",(0,o.jsx)(n.a,{href:"blocks-styles",children:"Blocks Styles chapter"})," chapter."]})}),"\n",(0,o.jsx)(n.p,{children:"Everyone says that writing styles is easy and that it usually doesn't require a lot of thinking. But, like everything in programming, if you don't think about it, the problems add up, and you end up with a headache."}),"\n",(0,o.jsx)(n.p,{children:"Here are some of the recommendations that we use when writing our styles. It's also how we manage everything to be as modular as possible."}),"\n",(0,o.jsx)(n.h3,{id:"never-use-hex-color-values-in-your-files",children:"Never use HEX color values in your files"}),"\n",(0,o.jsx)(n.p,{children:"Like in Bootstrap or any other front-end framework, you should never use hex color values in multiple places. You should assign that hex value to a variable and use that variable all over. That way, if you ever need to change the color, simply change the value in one place and it will be consistently applied all over the project."}),"\n",(0,o.jsxs)(n.p,{children:["You can read more about defining your colors in the ",(0,o.jsx)(n.a,{href:"global-settings",children:"global settings"})," chapter."]}),"\n",(0,o.jsx)(n.h3,{id:"never-use-the-actual-color-name-as-a-variable-name",children:"Never use the actual color name as a variable name"}),"\n",(0,o.jsx)(n.p,{children:"You can name your variables whatever you like, but we recommend that you never use the actual color name as a variable name. It would be best if you used some generic variable name."}),"\n",(0,o.jsx)(n.p,{children:"For example, you can call blue color r2d2-color. With this approach, if your designer chooses to change the project's color scheme at any point, you only need to change one variable value, and you're done."}),"\n",(0,o.jsxs)(n.p,{children:["We like to use ",(0,o.jsx)(n.a,{href:"https://chir.ag/projects/name-that-color",children:"this site"})," for our color names. Also, we recommend using simple names. For instance, Cornflower Blue color would have ",(0,o.jsx)(n.code,{children:"$base-corn-color"})," or ",(0,o.jsx)(n.code,{children:"$base-flower-color"})," variable name."]}),"\n",(0,o.jsx)(n.h3,{id:"all-external-variables-must-go-to-a-components-map",children:"All external variables must go to a components map"}),"\n",(0,o.jsx)(n.p,{children:"We use maps for a lot of stuff in our boilerplate. The reason is that:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"maps can contain multiple variables in one place,"}),"\n",(0,o.jsx)(n.li,{children:"you don't need to write multiple variables at the top,"}),"\n",(0,o.jsx)(n.li,{children:"you can nest functionalities,"}),"\n",(0,o.jsx)(n.li,{children:"you can have multiple values with the same name and just change the top-level map,"}),"\n",(0,o.jsx)(n.li,{children:"etc."}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["We also have many helpers, which you can check in our ",(0,o.jsx)(n.a,{href:"/sass",children:"SASS docs"}),"."]}),"\n",(0,o.jsx)(n.p,{children:"In the component map, you should only add things that you will reuse in your component."}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Examples:"})}),"\n",(0,o.jsx)(n.p,{children:"A simple variable in a map:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-scss",children:"$social-links: (\n icon-color: global-settings(colors, black),\n);\n\n.social-links {\n color: map-get-strict($social-links, icon-color);\n}\n"})}),"\n",(0,o.jsx)(n.p,{children:"Nested variables in a map:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-scss",children:"$social-links: (\n colors: (\n dark: global-settings(colors, black),\n light: global-settings(colors, white),\n ),\n sizes: (\n small: 10px,\n big: 20px,\n )\n);\n\n.social-links {\n color: map-get-deep($social-links, colors, dark);\n\n &--light {\n color: map-get-deep($social-links, colors, light);\n }\n\n &__sizes {\n font-size: map-get-deep($social-links, sizes, small);\n\n\n &--big {\n font-size: map-get-deep($social-links, sizes, big);\n }\n }\n}\n"})}),"\n",(0,o.jsx)(n.h3,{id:"never-mix-multiple-maps-in-a-single-component",children:"Never mix multiple maps in a single component"}),"\n",(0,o.jsx)(n.p,{children:"You want all your styles to be contained to a single component and not dependent on external components. Sometimes this can't be avoided."}),"\n",(0,o.jsx)(n.p,{children:"In that case, you should define a key in the component variable for the external map and define it like this:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Example:"})}),"\n",(0,o.jsxs)(n.p,{children:["External map in ",(0,o.jsx)(n.code,{children:"assets/styles/parts/utils/_z-index.scss"}),":"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-scss",children:"$zindex: (\n header: 100,\n drawer: 99,\n overlay: 98,\n);\n"})}),"\n",(0,o.jsx)(n.p,{children:"Your component:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-scss",children:"$header: (\n index: map-get-strict($zindex, header),\n);\n\n.header {\n z-index: map-get-strict($header, index);\n}\n"})}),"\n",(0,o.jsx)(n.h3,{id:"where-can-i-define-global-typography-for-all-my-blockscomponents",children:"Where can I define global typography for all my blocks/components?"}),"\n",(0,o.jsx)(n.p,{children:"Well, nowhere. Try to move your way of thinking from Bootstrap or any other front-end framework where you define global typography in one place."}),"\n",(0,o.jsx)(n.p,{children:"Why is that? Because we use component-based development and you should think in that way. Each component is responsible for its own styles."}),"\n",(0,o.jsx)(n.p,{children:"You should define styles with all sizes, colors, and variations for the heading component and reuse that component wherever you need any kind of heading. The same applies to any other component. This is why you don't need global typography, styles, etc."}),"\n",(0,o.jsx)(n.p,{children:"Global styles and variables are only used for things you want to share across components (that should be reduced to a minimum)."})]})}function d(e={}){const{wrapper:n}={...(0,a.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(h,{...e})}):h(e)}},11151:(e,n,s)=>{s.d(n,{Z:()=>i,a:()=>t});var o=s(67294);const a={},l=o.createContext(a);function t(e){const n=o.useContext(l);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:t(e.components),o.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1385dc12.068f7ed7.js b/assets/js/1385dc12.068f7ed7.js new file mode 100644 index 000000000..aa86aa445 --- /dev/null +++ b/assets/js/1385dc12.068f7ed7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[96492],{7192:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>d,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>l});var n=i(17624),s=i(4552);const o={id:"rest-field",title:"REST Field"},r=void 0,c={id:"basics/rest-field",title:"REST Field",description:"docs-source",source:"@site/docs/basics/rest-field.md",sourceDirName:"basics",slug:"/basics/rest-field",permalink:"/docs/basics/rest-field",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"rest-field",title:"REST Field"},sidebar:"docs",previous:{title:"REST Intro",permalink:"/docs/basics/rest"},next:{title:"REST Route",permalink:"/docs/basics/rest-route"}},d={},l=[{value:"Test it in action",id:"test-it-in-action",level:2}];function a(e){const t={a:"a",admonition:"admonition",code:"code",h2:"h2",img:"img",p:"p",...(0,s.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(t.p,{children:"This class is used to update an existing REST API Field or provide a new field to the existing REST API."}),"\n",(0,n.jsx)(t.p,{children:"To create a new class for extending an REST API field, run this command:"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"wp boilerplate create rest-field --prompt"})}),"\n",(0,n.jsxs)(t.p,{children:["The output will ask you to input the correct field name and object type (post, get, etc.). Everything else will be done for you, setting the namespace, package, vendor prefixes, class, and folder name, and you will be set to write your field implementation in the ",(0,n.jsx)(t.code,{children:"fieldCallback"})," method."]}),"\n",(0,n.jsx)(t.h2,{id:"test-it-in-action",children:"Test it in action"}),"\n",(0,n.jsxs)(t.p,{children:["To test it in action, you should check the ",(0,n.jsx)(t.code,{children:"wp-json"})," path in your browser. You can do something like this:"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"domain.ext/wp-json/routeNamespace/routeVersion/routeName"})}),"\n",(0,n.jsx)(t.p,{children:"and find the field name."}),"\n",(0,n.jsx)(t.admonition,{type:"note",children:(0,n.jsx)(t.p,{children:"This link will be different based on your project implementation."})})]})}function h(e={}){const{wrapper:t}={...(0,s.M)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(a,{...e})}):a(e)}},4552:(e,t,i)=>{i.d(t,{I:()=>c,M:()=>r});var n=i(11504);const s={},o=n.createContext(s);function r(e){const t=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1385dc12.9c86bbac.js b/assets/js/1385dc12.9c86bbac.js deleted file mode 100644 index eecaad593..000000000 --- a/assets/js/1385dc12.9c86bbac.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[79505],{2809:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>d,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>a});var n=i(85893),s=i(11151);const o={id:"rest-field",title:"REST Field"},r=void 0,c={id:"basics/rest-field",title:"REST Field",description:"docs-source",source:"@site/docs/basics/rest-field.md",sourceDirName:"basics",slug:"/basics/rest-field",permalink:"/docs/basics/rest-field",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"rest-field",title:"REST Field"},sidebar:"docs",previous:{title:"REST Intro",permalink:"/docs/basics/rest"},next:{title:"REST Route",permalink:"/docs/basics/rest-route"}},d={},a=[{value:"Test it in action",id:"test-it-in-action",level:2}];function l(e){const t={a:"a",admonition:"admonition",code:"code",h2:"h2",img:"img",p:"p",...(0,s.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(t.p,{children:"This class is used to update an existing REST API Field or provide a new field to the existing REST API."}),"\n",(0,n.jsx)(t.p,{children:"To create a new class for extending an REST API field, run this command:"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"wp boilerplate create rest-field --prompt"})}),"\n",(0,n.jsxs)(t.p,{children:["The output will ask you to input the correct field name and object type (post, get, etc.). Everything else will be done for you, setting the namespace, package, vendor prefixes, class, and folder name, and you will be set to write your field implementation in the ",(0,n.jsx)(t.code,{children:"fieldCallback"})," method."]}),"\n",(0,n.jsx)(t.h2,{id:"test-it-in-action",children:"Test it in action"}),"\n",(0,n.jsxs)(t.p,{children:["To test it in action, you should check the ",(0,n.jsx)(t.code,{children:"wp-json"})," path in your browser. You can do something like this:"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"domain.ext/wp-json/routeNamespace/routeVersion/routeName"})}),"\n",(0,n.jsx)(t.p,{children:"and find the field name."}),"\n",(0,n.jsx)(t.admonition,{type:"note",children:(0,n.jsx)(t.p,{children:"This link will be different based on your project implementation."})})]})}function h(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(l,{...e})}):l(e)}},11151:(e,t,i)=>{i.d(t,{Z:()=>c,a:()=>r});var n=i(67294);const s={},o=n.createContext(s);function r(e){const t=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/13c21afe.3dd638ca.js b/assets/js/13c21afe.3dd638ca.js new file mode 100644 index 000000000..344c2dba0 --- /dev/null +++ b/assets/js/13c21afe.3dd638ca.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[48412],{44464:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>p,frontMatter:()=>r,metadata:()=>o,toc:()=>c});var s=n(17624),i=n(4552);const r={id:"plugin",title:"Create a new WordPress plugin",sidebar_label:"Create New Plugin"},a=void 0,o={id:"plugin",title:"Create a new WordPress plugin",description:"Let's create a new plugin!",source:"@site/docs/plugin.md",sourceDirName:".",slug:"/plugin",permalink:"/docs/plugin",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"plugin",title:"Create a new WordPress plugin",sidebar_label:"Create New Plugin"},sidebar:"docs",previous:{title:"Create New Theme",permalink:"/docs/theme"},next:{title:"Basics",permalink:"/docs/basics/basics-intro"}},l={},c=[{value:"What is next?",id:"what-is-next",level:2}];function d(e){const t={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",...(0,i.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:"Let's create a new plugin!"}),"\n",(0,s.jsx)(t.p,{children:"Navigate to your WordPress plugins folder and run the following command:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-bash",children:"npx create-wp-project plugin\n"})}),"\n",(0,s.jsx)(t.p,{children:"The script will prompt you for a plugin name and local development URL (used for BrowserSync). After that, your new plugin will be installed:"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{src:n(86026).c+"",width:"911",height:"550"})}),"\n",(0,s.jsx)(t.p,{children:"After the script is finished, please follow the instructions provided by the setup script."}),"\n",(0,s.jsx)(t.p,{children:"All additional steps after the initial setup are done using WP-CLI commands, so please make sure that you have WP-CLI set and ready to use."}),"\n",(0,s.jsx)(t.h2,{id:"what-is-next",children:"What is next?"}),"\n",(0,s.jsx)(t.p,{children:"Now that we have the plugin set on your local environment, let's do something with it."}),"\n",(0,s.jsxs)(t.p,{children:["Please make sure you read the ",(0,s.jsx)(t.a,{href:"/docs/basics/basics-intro",children:"Basics chapter"})," to better understand how the project is set and what is included to make your developing experience as smooth as possible."]})]})}function p(e={}){const{wrapper:t}={...(0,i.M)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},86026:(e,t,n)=>{n.d(t,{c:()=>s});const s=n.p+"assets/images/setup-39fe95633dd527d11fd90285558b5a5c.gif"},4552:(e,t,n)=>{n.d(t,{I:()=>o,M:()=>a});var s=n(11504);const i={},r=s.createContext(i);function a(e){const t=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/13c21afe.e55af57b.js b/assets/js/13c21afe.e55af57b.js deleted file mode 100644 index de79bbddc..000000000 --- a/assets/js/13c21afe.e55af57b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[30673],{14268:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>p,frontMatter:()=>r,metadata:()=>o,toc:()=>c});var s=n(85893),i=n(11151);const r={id:"plugin",title:"Create a new WordPress plugin",sidebar_label:"Create New Plugin"},a=void 0,o={id:"plugin",title:"Create a new WordPress plugin",description:"Let's create a new plugin!",source:"@site/docs/plugin.md",sourceDirName:".",slug:"/plugin",permalink:"/docs/plugin",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"plugin",title:"Create a new WordPress plugin",sidebar_label:"Create New Plugin"},sidebar:"docs",previous:{title:"Create New Theme",permalink:"/docs/theme"},next:{title:"Basics",permalink:"/docs/basics/basics-intro"}},l={},c=[{value:"What is next?",id:"what-is-next",level:2}];function d(e){const t={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:"Let's create a new plugin!"}),"\n",(0,s.jsx)(t.p,{children:"Navigate to your WordPress plugins folder and run the following command:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-bash",children:"npx create-wp-project plugin\n"})}),"\n",(0,s.jsx)(t.p,{children:"The script will prompt you for a plugin name and local development URL (used for BrowserSync). After that, your new plugin will be installed:"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{src:n(89995).Z+"",width:"911",height:"550"})}),"\n",(0,s.jsx)(t.p,{children:"After the script is finished, please follow the instructions provided by the setup script."}),"\n",(0,s.jsx)(t.p,{children:"All additional steps after the initial setup are done using WP-CLI commands, so please make sure that you have WP-CLI set and ready to use."}),"\n",(0,s.jsx)(t.h2,{id:"what-is-next",children:"What is next?"}),"\n",(0,s.jsx)(t.p,{children:"Now that we have the plugin set on your local environment, let's do something with it."}),"\n",(0,s.jsxs)(t.p,{children:["Please make sure you read the ",(0,s.jsx)(t.a,{href:"/docs/basics/basics-intro",children:"Basics chapter"})," to better understand how the project is set and what is included to make your developing experience as smooth as possible."]})]})}function p(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},89995:(e,t,n)=>{n.d(t,{Z:()=>s});const s=n.p+"assets/images/setup-39fe95633dd527d11fd90285558b5a5c.gif"},11151:(e,t,n)=>{n.d(t,{Z:()=>o,a:()=>a});var s=n(67294);const i={},r=s.createContext(i);function a(e){const t=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/147ca104.01cfe82b.js b/assets/js/147ca104.01cfe82b.js new file mode 100644 index 000000000..2faf4b49b --- /dev/null +++ b/assets/js/147ca104.01cfe82b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[96604],{78008:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>l,contentTitle:()=>c,default:()=>h,frontMatter:()=>i,metadata:()=>r,toc:()=>d});var t=n(17624),o=n(4552);const i={id:"blocks-component-structure",title:"Component Structure",sidebar_label:"Component Structure"},c=void 0,r={id:"legacy/v5/basics/blocks-component-structure",title:"Component Structure",description:"docs-source",source:"@site/docs/legacy/v5/basics/blocks-component-structure.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/blocks-component-structure",permalink:"/docs/legacy/v5/basics/blocks-component-structure",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-component-structure",title:"Component Structure",sidebar_label:"Component Structure"},sidebar:"docs",previous:{title:"Block Structure",permalink:"/docs/legacy/v5/basics/block-structure"},next:{title:"Block Manifest",permalink:"/docs/legacy/v5/basics/block-manifest"}},l={},d=[{value:"assets",id:"assets",level:3},{value:"components",id:"components",level:3},{value:"docs",id:"docs",level:3},{value:"heading.php",id:"headingphp",level:3},{value:"heading-editor.scss",id:"heading-editorscss",level:3},{value:"heading-style.scss",id:"heading-stylescss",level:3},{value:"manifest.json",id:"manifestjson",level:3}];function a(e){const s={a:"a",blockquote:"blockquote",code:"code",h3:"h3",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,o.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/",children:(0,t.jsx)(s.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsxs)(s.p,{children:["Your custom components are placed in the ",(0,t.jsx)(s.code,{children:"src/Blocks/components"})," folder."]}),"\n",(0,t.jsx)(s.p,{children:"For example, let's take the heading component (just replace the heading with your component name)."}),"\n",(0,t.jsx)(s.p,{children:"We suggest you always use the full name and never abbreviate for the component name. If your component has multiple words, you should separate them by a dash; for example, featured-post-block.js."}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Block structure should look like this:"})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["heading","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["assets","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"index.js"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["components","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"heading-editor.js"}),"\n",(0,t.jsx)(s.li,{children:"heading-options.js"}),"\n",(0,t.jsx)(s.li,{children:"heading-toolbar.js"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["docs","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"story.js"}),"\n",(0,t.jsx)(s.li,{children:"readme.mdx"}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(s.li,{children:"heading.php"}),"\n",(0,t.jsx)(s.li,{children:"heading-editor.scss"}),"\n",(0,t.jsx)(s.li,{children:"heading-style.scss"}),"\n",(0,t.jsx)(s.li,{children:"manifest.json"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["For example, you can check the ",(0,t.jsx)(s.a,{href:"/storybook",children:"storybook"}),"."]}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsx)(s.p,{children:"All files in components are optional."}),"\n"]}),"\n",(0,t.jsx)(s.h3,{id:"assets",children:"assets"}),"\n",(0,t.jsxs)(s.p,{children:["This folder behaves the same as the blocks assets folder. Please check the ",(0,t.jsx)(s.a,{href:"block-structure#assets",children:"block structure"})," chapter for more details."]}),"\n",(0,t.jsx)(s.h3,{id:"components",children:"components"}),"\n",(0,t.jsxs)(s.p,{children:["Components folder holds three files: ",(0,t.jsx)(s.code,{children:"heading-options.js"}),", ",(0,t.jsx)(s.code,{children:"heading-editor.js"}),", and ",(0,t.jsx)(s.code,{children:"heading-toolbars.js"}),". They are used the same way as in blocks to provide functionality based on the location used. The main difference in components is that these files are used inside other blocks to implement functionality from the component."]}),"\n",(0,t.jsx)(s.h3,{id:"docs",children:"docs"}),"\n",(0,t.jsx)(s.p,{children:"Docs folder contains everything a component needs to be run inside the Storybook. This part is optional but it will speed up your development time and provide you with the much-needed documentation."}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"story.js"})," - Storybook entry point for your component. Since components are not blocks, you must provide the mocked data for your component in this file."]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"readme.mdx"})," - README that describes your component and provides the documentation."]}),"\n"]}),"\n",(0,t.jsx)(s.h3,{id:"headingphp",children:"heading.php"}),"\n",(0,t.jsx)(s.p,{children:"This file contains the front-end part (the view) of the component used in your project when the page renders. This file shouldn't contain any business logic, just present the passed attributes. The main difference from block view is that you only have attributes that you passed from a block or a top-level component in this file."}),"\n",(0,t.jsx)(s.h3,{id:"heading-editorscss",children:"heading-editor.scss"}),"\n",(0,t.jsxs)(s.p,{children:["This file behaves the same as in blocks. Please check the ",(0,t.jsx)(s.a,{href:"block-structure#heading-editorscss",children:"block structure"})," chapter for more details."]}),"\n",(0,t.jsx)(s.h3,{id:"heading-stylescss",children:"heading-style.scss"}),"\n",(0,t.jsxs)(s.p,{children:["This file behaves the same as in blocks. Please check the ",(0,t.jsx)(s.a,{href:"block-structure#heading-stylescss",children:"block structure"})," chapter for more details."]}),"\n",(0,t.jsx)(s.h3,{id:"manifestjson",children:"manifest.json"}),"\n",(0,t.jsx)(s.p,{children:"This file contains all the configuration for a component. It is not fully necessary, but we encourage you to use it because it provides many possibilities."}),"\n",(0,t.jsxs)(s.p,{children:["For more details, check the ",(0,t.jsx)(s.a,{href:"blocks-component-manifest",children:"component manifest"})," chapter."]})]})}function h(e={}){const{wrapper:s}={...(0,o.M)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(a,{...e})}):a(e)}},4552:(e,s,n)=>{n.d(s,{I:()=>r,M:()=>c});var t=n(11504);const o={},i=t.createContext(o);function c(e){const s=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:c(e.components),t.createElement(i.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/147ca104.f5134be0.js b/assets/js/147ca104.f5134be0.js deleted file mode 100644 index 0cca0184e..000000000 --- a/assets/js/147ca104.f5134be0.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[17107],{82408:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>l,contentTitle:()=>c,default:()=>h,frontMatter:()=>i,metadata:()=>r,toc:()=>a});var t=n(85893),o=n(11151);const i={id:"blocks-component-structure",title:"Component Structure",sidebar_label:"Component Structure"},c=void 0,r={id:"legacy/v5/basics/blocks-component-structure",title:"Component Structure",description:"docs-source",source:"@site/docs/legacy/v5/basics/blocks-component-structure.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/blocks-component-structure",permalink:"/docs/legacy/v5/basics/blocks-component-structure",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-component-structure",title:"Component Structure",sidebar_label:"Component Structure"},sidebar:"docs",previous:{title:"Block Structure",permalink:"/docs/legacy/v5/basics/block-structure"},next:{title:"Block Manifest",permalink:"/docs/legacy/v5/basics/block-manifest"}},l={},a=[{value:"assets",id:"assets",level:3},{value:"components",id:"components",level:3},{value:"docs",id:"docs",level:3},{value:"heading.php",id:"headingphp",level:3},{value:"heading-editor.scss",id:"heading-editorscss",level:3},{value:"heading-style.scss",id:"heading-stylescss",level:3},{value:"manifest.json",id:"manifestjson",level:3}];function d(e){const s={a:"a",blockquote:"blockquote",code:"code",h3:"h3",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,o.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/",children:(0,t.jsx)(s.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsxs)(s.p,{children:["Your custom components are placed in the ",(0,t.jsx)(s.code,{children:"src/Blocks/components"})," folder."]}),"\n",(0,t.jsx)(s.p,{children:"For example, let's take the heading component (just replace the heading with your component name)."}),"\n",(0,t.jsx)(s.p,{children:"We suggest you always use the full name and never abbreviate for the component name. If your component has multiple words, you should separate them by a dash; for example, featured-post-block.js."}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Block structure should look like this:"})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["heading","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["assets","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"index.js"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["components","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"heading-editor.js"}),"\n",(0,t.jsx)(s.li,{children:"heading-options.js"}),"\n",(0,t.jsx)(s.li,{children:"heading-toolbar.js"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["docs","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"story.js"}),"\n",(0,t.jsx)(s.li,{children:"readme.mdx"}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(s.li,{children:"heading.php"}),"\n",(0,t.jsx)(s.li,{children:"heading-editor.scss"}),"\n",(0,t.jsx)(s.li,{children:"heading-style.scss"}),"\n",(0,t.jsx)(s.li,{children:"manifest.json"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["For example, you can check the ",(0,t.jsx)(s.a,{href:"/storybook",children:"storybook"}),"."]}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsx)(s.p,{children:"All files in components are optional."}),"\n"]}),"\n",(0,t.jsx)(s.h3,{id:"assets",children:"assets"}),"\n",(0,t.jsxs)(s.p,{children:["This folder behaves the same as the blocks assets folder. Please check the ",(0,t.jsx)(s.a,{href:"block-structure#assets",children:"block structure"})," chapter for more details."]}),"\n",(0,t.jsx)(s.h3,{id:"components",children:"components"}),"\n",(0,t.jsxs)(s.p,{children:["Components folder holds three files: ",(0,t.jsx)(s.code,{children:"heading-options.js"}),", ",(0,t.jsx)(s.code,{children:"heading-editor.js"}),", and ",(0,t.jsx)(s.code,{children:"heading-toolbars.js"}),". They are used the same way as in blocks to provide functionality based on the location used. The main difference in components is that these files are used inside other blocks to implement functionality from the component."]}),"\n",(0,t.jsx)(s.h3,{id:"docs",children:"docs"}),"\n",(0,t.jsx)(s.p,{children:"Docs folder contains everything a component needs to be run inside the Storybook. This part is optional but it will speed up your development time and provide you with the much-needed documentation."}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"story.js"})," - Storybook entry point for your component. Since components are not blocks, you must provide the mocked data for your component in this file."]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"readme.mdx"})," - README that describes your component and provides the documentation."]}),"\n"]}),"\n",(0,t.jsx)(s.h3,{id:"headingphp",children:"heading.php"}),"\n",(0,t.jsx)(s.p,{children:"This file contains the front-end part (the view) of the component used in your project when the page renders. This file shouldn't contain any business logic, just present the passed attributes. The main difference from block view is that you only have attributes that you passed from a block or a top-level component in this file."}),"\n",(0,t.jsx)(s.h3,{id:"heading-editorscss",children:"heading-editor.scss"}),"\n",(0,t.jsxs)(s.p,{children:["This file behaves the same as in blocks. Please check the ",(0,t.jsx)(s.a,{href:"block-structure#heading-editorscss",children:"block structure"})," chapter for more details."]}),"\n",(0,t.jsx)(s.h3,{id:"heading-stylescss",children:"heading-style.scss"}),"\n",(0,t.jsxs)(s.p,{children:["This file behaves the same as in blocks. Please check the ",(0,t.jsx)(s.a,{href:"block-structure#heading-stylescss",children:"block structure"})," chapter for more details."]}),"\n",(0,t.jsx)(s.h3,{id:"manifestjson",children:"manifest.json"}),"\n",(0,t.jsx)(s.p,{children:"This file contains all the configuration for a component. It is not fully necessary, but we encourage you to use it because it provides many possibilities."}),"\n",(0,t.jsxs)(s.p,{children:["For more details, check the ",(0,t.jsx)(s.a,{href:"blocks-component-manifest",children:"component manifest"})," chapter."]})]})}function h(e={}){const{wrapper:s}={...(0,o.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},11151:(e,s,n)=>{n.d(s,{Z:()=>r,a:()=>c});var t=n(67294);const o={},i=t.createContext(o);function c(e){const s=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:c(e.components),t.createElement(i.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1622041d.b577a0dc.js b/assets/js/1622041d.b577a0dc.js new file mode 100644 index 000000000..62d91f78e --- /dev/null +++ b/assets/js/1622041d.b577a0dc.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[74244],{90284:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>r});var i=n(17624),t=n(4552);const o={id:"architecture-concepts",title:"Architecture concepts"},a=void 0,c={id:"legacy/v8/basics/architecture-concepts",title:"Architecture concepts",description:"Project structure",source:"@site/docs/legacy/v8/basics/architecture-concepts.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/architecture-concepts",permalink:"/docs/legacy/v8/basics/architecture-concepts",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"architecture-concepts",title:"Architecture concepts"},sidebar:"docs",previous:{title:"WP-CLI",permalink:"/docs/legacy/v8/basics/wp-cli"},next:{title:"General",permalink:"/docs/legacy/v8/basics/backend"}},l={},r=[{value:"Project structure",id:"project-structure",level:2},{value:"Object-oriented paradigms",id:"object-oriented-paradigms",level:2},{value:"Blocks and Components",id:"blocks-and-components",level:2},{value:"The Manifest",id:"the-manifest",level:2},{value:"The directory structure in detail",id:"the-directory-structure-in-detail",level:2},{value:"Blocks",id:"blocks",level:4},{value:"Columns",id:"columns",level:4},{value:"Config",id:"config",level:4},{value:"CustomMeta",id:"custommeta",level:4},{value:"CustomPostType",id:"customposttype",level:4},{value:"CustomTaxonomy",id:"customtaxonomy",level:4},{value:"Enqueue",id:"enqueue",level:4},{value:"Exception",id:"exception",level:4},{value:"Helpers",id:"helpers",level:4},{value:"I18n",id:"i18n",level:4},{value:"Main",id:"main",level:4},{value:"Manifest",id:"manifest",level:4},{value:"Media",id:"media",level:4},{value:"Menu",id:"menu",level:4},{value:"ModifyAdminAppearance",id:"modifyadminappearance",level:4},{value:"Plugin",id:"plugin",level:4},{value:"Rest",id:"rest",level:4},{value:"ThemeOptions",id:"themeoptions",level:4},{value:"View",id:"view",level:4},{value:".storybook",id:"storybook",level:4},{value:".gitignore",id:"gitignore",level:4},{value:".eslintignore",id:"eslintignore",level:4},{value:".eslintrc",id:"eslintrc",level:4},{value:".stylelintrc",id:"stylelintrc",level:4},{value:"babel.config.js",id:"babelconfigjs",level:4},{value:"composer.json",id:"composerjson",level:4},{value:"composer.lock",id:"composerlock",level:4},{value:"package-lock.json",id:"package-lockjson",level:4},{value:"package.json",id:"packagejson",level:4},{value:"phpcs.xml.dist",id:"phpcsxmldist",level:4},{value:"postcss.config.js",id:"postcssconfigjs",level:4},{value:"webpack.config.js",id:"webpackconfigjs",level:4}];function d(e){const s={a:"a",code:"code",em:"em",h2:"h2",h4:"h4",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,t.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.h2,{id:"project-structure",children:"Project structure"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/infinum/eightshift-libs",children:(0,i.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsxs)(s.p,{children:["Eightshift Development Kit follows a strict project structure to support autoloading, dependency injection and ",(0,i.jsx)(s.code,{children:"wp boilerplate"})," commands, as well as conventions to increase codebase understanding between developers. As an added benefit, following this structure and conventions makes your codebase more consistent and organized."]}),"\n",(0,i.jsxs)(s.p,{children:["While Eightshift Development Kit provides required theme files and common theme files such as ",(0,i.jsx)(s.code,{children:"style.css"})," and ",(0,i.jsx)(s.code,{children:"functions.php"}),", they're used differently to what you might expect if you've worked with WordPress themes previously. For instance, ",(0,i.jsx)(s.code,{children:"style.css"})," is used only to register theme metadata, and doesn't contain any actual styles, as they're built using Webpack and use cache busting. ",(0,i.jsx)(s.code,{children:"functions.php"})," simply bootstraps the execution lifecycle. We also provide very basic template partials, such as ",(0,i.jsx)(s.code,{children:"single.php"}),", which you can accommodate to your needs. An idea to consider is replacing some of them with pages that are editable in Gutenberg."]}),"\n",(0,i.jsxs)(s.p,{children:["While you'll find some additional configuration files such as ",(0,i.jsx)(s.code,{children:"webpack.config.js"})," in the project root, the majority of your projects codebase should live in the ",(0,i.jsx)(s.code,{children:"src"})," directory, which is autoloaded via Composer following PSR-4 conventions. This implies that every directory under ",(0,i.jsx)(s.code,{children:"src"})," is a namespace under your base namespace (which is your project name), and PHP files inside of those directories are classes in that namespace, with exceptions for filenames that aren't in ",(0,i.jsx)(s.code,{children:"StudlyCase"}),"."]}),"\n",(0,i.jsxs)(s.p,{children:["An Eightshift Development Kit convention is to structure namespaces around features and functionality, so for instance, all custom post types would be part of the ",(0,i.jsx)(s.code,{children:"ProjectName\\CustomPostType"})," namespace."]}),"\n",(0,i.jsx)(s.h2,{id:"object-oriented-paradigms",children:"Object-oriented paradigms"}),"\n",(0,i.jsx)(s.p,{children:"Eightshift Libs is entirely object-oriented, providing abstract classes for internal library functionality, interfaces you can use to implement certain classes to make use of Eightshift Development Kit features, as well as concrete class implementations for use in projects."}),"\n",(0,i.jsx)(s.p,{children:"Our use of OOP allows you to extend, modify or even replace Eightshift Development Kit functionality safely, without breaking compatibility or harming your project."}),"\n",(0,i.jsxs)(s.p,{children:["One of the most important interfaces in Eightshift Libs is the ",(0,i.jsx)(s.code,{children:"ServiceInterface"}),". Classes that implement it are called service classes. This isn't a common pattern in PHP OOP. In Eightshift Development Kit, a service class represents a part of the project's functionality and has a ",(0,i.jsx)(s.code,{children:"register"})," method that sets up the action and filter hooks for the service. If you need to add an action or a filter, you should do that in a service class. All your service classes are automatically loaded and can have dependencies injected using dependency injection."]}),"\n",(0,i.jsxs)(s.p,{children:["To ensure there are no naming collisions caused by Composer dependencies, we use the ",(0,i.jsx)(s.a,{href:"https://github.com/infinum/imposter-plugin",children:"Imposter Composer plugin"})," to contain them in the ",(0,i.jsx)(s.code,{children:"{ProjectName}Vendor"})," namespace. This comes with a few caveats which you should be aware of, and about which you can read more in the ",(0,i.jsx)(s.a,{href:"namespaces",children:"namespaces chapter"}),"."]}),"\n",(0,i.jsxs)(s.p,{children:["Read more about ",(0,i.jsx)(s.a,{href:"namespaces",children:"namespaces and Imposter"}),", ",(0,i.jsx)(s.a,{href:"extending-classes",children:"extending classes and service classes"}),", and ",(0,i.jsx)(s.a,{href:"autowiring",children:"dependency injection and autowiring"}),"."]}),"\n",(0,i.jsx)(s.h2,{id:"blocks-and-components",children:"Blocks and Components"}),"\n",(0,i.jsxs)(s.p,{children:["While Blocks and Components will be covered in much more detail in the ",(0,i.jsx)(s.a,{href:"blocks",children:"Blocks chapter"}),", it's worth getting acquainted with the concepts from the start."]}),"\n",(0,i.jsxs)(s.p,{children:["In Gutenberg, Blocks are an abstract unit for structuring content. The same applies in Eightshift, with an additional concept of ",(0,i.jsx)(s.em,{children:"Components"}),", which are abstract units for structuring blocks and layouts."]}),"\n",(0,i.jsx)(s.p,{children:"Components are mostly similar to Blocks, with a few key differences:"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"Components can not be inserted by users in Gutenberg, and are not registered as block types"}),"\n",(0,i.jsxs)(s.li,{children:["Components can be rendered in any context using the ",(0,i.jsx)(s.code,{children:"Components::render"})," method, with arbitrary attribute values passed to them"]}),"\n",(0,i.jsxs)(s.li,{children:["Blocks are usually only rendered using the render callback provided when registering the block","\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"Note that in the Eightshift Development Kit, the render callback is provided for you by Eightshift Libs. It automatically adds the wrapper if necessary and sets up your block view."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["Components don't implement the ",(0,i.jsx)(s.code,{children:"{blockName}-block.js"})," file"]}),"\n"]}),"\n",(0,i.jsx)(s.p,{children:"Blocks and Components have the same structure, which makes extracting components from existing blocks trivially easy."}),"\n",(0,i.jsxs)(s.p,{children:["Components can be ",(0,i.jsx)(s.em,{children:"composed"})," into a block. In other words, blocks can consist out of zero or more components. Component composition is handled in the block manifest, allows you to avoid using InnerBlocks to include functionality shared with other blocks, and serializes component attributes to the block using prefixed attributes for each component instance depending on your manifest definitions."]}),"\n",(0,i.jsxs)(s.p,{children:["To learn more about the differences between blocks and components, read ",(0,i.jsx)(s.a,{href:"/blog/components-and-blocks",children:"Igor's blog post on Components and blocks"}),". To learn how to use blocks and components to build your projects, read the ",(0,i.jsx)(s.a,{href:"blocks",children:"Blocks chapter"}),"."]}),"\n",(0,i.jsx)(s.h2,{id:"the-manifest",children:"The Manifest"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"manifest.json"})," files contain metadata, configurations and variables."]}),"\n",(0,i.jsxs)(s.p,{children:["Every Eightshift project has one global ",(0,i.jsx)(s.code,{children:"manifest.json"})," file stored in ",(0,i.jsx)(s.code,{children:"src/Blocks/manifest.json"}),", which contains global settings, properties, and variables."]}),"\n",(0,i.jsx)(s.p,{children:"Furthermore, every Eightshift block, component, and variation has its own manifest file which is used to provide data required for block registration, such as a list of attributes, the block name, and the template for the inserter example. These local manifest files allow you to define arrays of options for attribute values that your blocks or components can consume. Manifest files also allow you to define relationships between attribute values and CSS variable values, which allows you a great deal of power when styling your blocks and components, as well as saves time as you don't have to provide conditional CSS classes."}),"\n",(0,i.jsxs)(s.p,{children:["To learn more about the ",(0,i.jsx)(s.a,{href:"/docs/legacy/v8/basics/blocks-global-manifest",children:"global manifest"}),", ",(0,i.jsx)(s.a,{href:"/docs/legacy/v8/basics/block-manifest",children:"block manifest"}),", ",(0,i.jsx)(s.a,{href:"/docs/legacy/v8/basics/blocks-component-manifest",children:"component manifest"})," and using ",(0,i.jsx)(s.a,{href:"/docs/legacy/v8/basics/blocks-styles",children:"the manifest to provide CSS variables for use in block styling"}),", read the respective articles in the ",(0,i.jsx)(s.a,{href:"blocks-important",children:"Blocks chapter"}),". For information about manifest structure, refer to the manifest schemas available in Eightshift Frontend Libs and linked to in the manifest files."]}),"\n",(0,i.jsx)(s.h2,{id:"the-directory-structure-in-detail",children:"The directory structure in detail"}),"\n",(0,i.jsxs)(s.p,{children:["Your project might contain a different set of namespaces and classes in the ",(0,i.jsx)(s.code,{children:"src"})," folder, depending on what you've included using wp boilerplate commands.\nBy default, your project will include the ",(0,i.jsx)(s.code,{children:"Blocks"}),", ",(0,i.jsx)(s.code,{children:"Config"}),", ",(0,i.jsx)(s.code,{children:"Enqueue"}),", ",(0,i.jsx)(s.code,{children:"Main"}),", ",(0,i.jsx)(s.code,{children:"Manifest"})," and ",(0,i.jsx)(s.code,{children:"Menu"})," namespaces. You can include classes from Eightshift Libs to provide additional functionality manually or using wp boilerplate."]}),"\n",(0,i.jsx)(s.p,{children:"This chapter also doesn't cover all the namespaces and classes in Eightshift Libs, or their use. Check out the source code documentation for all available namespaces and classes."}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:["src","\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"Blocks"}),"\n",(0,i.jsx)(s.li,{children:"assets"}),"\n",(0,i.jsx)(s.li,{children:"components"}),"\n",(0,i.jsx)(s.li,{children:"custom"}),"\n",(0,i.jsx)(s.li,{children:"variations"}),"\n",(0,i.jsx)(s.li,{children:"wrapper"}),"\n",(0,i.jsx)(s.li,{children:"Columns"}),"\n",(0,i.jsx)(s.li,{children:"Config"}),"\n",(0,i.jsx)(s.li,{children:"CustomMeta"}),"\n",(0,i.jsx)(s.li,{children:"CustomPostType"}),"\n",(0,i.jsx)(s.li,{children:"CustomTaxonomy"}),"\n",(0,i.jsxs)(s.li,{children:["Enqueue","\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"Admin"}),"\n",(0,i.jsx)(s.li,{children:"Blocks"}),"\n",(0,i.jsx)(s.li,{children:"Theme"}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.li,{children:"Exception"}),"\n",(0,i.jsx)(s.li,{children:"Helpers"}),"\n",(0,i.jsx)(s.li,{children:"I18n"}),"\n",(0,i.jsx)(s.li,{children:"Main"}),"\n",(0,i.jsx)(s.li,{children:"Manifest"}),"\n",(0,i.jsx)(s.li,{children:"Media"}),"\n",(0,i.jsx)(s.li,{children:"Menu"}),"\n",(0,i.jsx)(s.li,{children:"ModifyAdminAppearance"}),"\n",(0,i.jsx)(s.li,{children:"Plugin"}),"\n",(0,i.jsx)(s.li,{children:"Rest"}),"\n",(0,i.jsx)(s.li,{children:"ThemeOptions"}),"\n",(0,i.jsx)(s.li,{children:"View"}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.li,{children:".storybook"}),"\n",(0,i.jsx)(s.li,{children:".gitignore"}),"\n",(0,i.jsx)(s.li,{children:".eslintignore"}),"\n",(0,i.jsx)(s.li,{children:".eslintrc"}),"\n",(0,i.jsx)(s.li,{children:".stylelintrc"}),"\n",(0,i.jsx)(s.li,{children:"babel.config.js"}),"\n",(0,i.jsx)(s.li,{children:"composer.json"}),"\n",(0,i.jsx)(s.li,{children:"composer.lock"}),"\n",(0,i.jsx)(s.li,{children:"package-lock.json"}),"\n",(0,i.jsx)(s.li,{children:"package.json"}),"\n",(0,i.jsx)(s.li,{children:"phpcs.xml.dist"}),"\n",(0,i.jsx)(s.li,{children:"postcss.config.js"}),"\n",(0,i.jsx)(s.li,{children:"README.md"}),"\n",(0,i.jsx)(s.li,{children:"webpack.config.js"}),"\n"]}),"\n",(0,i.jsx)(s.h4,{id:"blocks",children:"Blocks"}),"\n",(0,i.jsx)(s.p,{children:"The Blocks namespace contains the Blocks class used for block registration. This directory also contains shared assets, components, blocks, variations, and the wrapper."}),"\n",(0,i.jsxs)(s.p,{children:["Read about blocks in detail in the ",(0,i.jsx)(s.a,{href:"blocks",children:"Blocks chapter"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"columns",children:"Columns"}),"\n",(0,i.jsxs)(s.p,{children:["This namespace contains all the custom admin listing columns hooks in your project. These include listing column hooks for post types, taxonomy, and user lists, such as ",(0,i.jsx)(s.code,{children:"manage_{$post_type}_posts_columns"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"config",children:"Config"}),"\n",(0,i.jsxs)(s.p,{children:["The Config class provides getter methods for your project's configuration, such as ",(0,i.jsx)(s.code,{children:"getProjectName"})," or ",(0,i.jsx)(s.code,{children:"getProjectVersion"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"custommeta",children:"CustomMeta"}),"\n",(0,i.jsx)(s.p,{children:"This class contains all the custom meta hooks for your project."}),"\n",(0,i.jsx)(s.h4,{id:"customposttype",children:"CustomPostType"}),"\n",(0,i.jsxs)(s.p,{children:["This namespace contains classes that register all custom post type hooks for your project. For better code consistency and to save time on boilerplating, Eightshift Development Kit provides an example class implementation you can use with ",(0,i.jsx)(s.code,{children:"wp boilerplate create post-type"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"customtaxonomy",children:"CustomTaxonomy"}),"\n",(0,i.jsxs)(s.p,{children:["This namespace contains classes that register all custom taxonomy hooks for your project. For better code consistency and to save time on boilerplating, Eightshift Development Kit provides an example class implementation you can use with ",(0,i.jsx)(s.code,{children:"wp boilerplate create taxonomy"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"enqueue",children:"Enqueue"}),"\n",(0,i.jsx)(s.p,{children:"These Enqueue namespace classes handle loading JavaScript and CSS assets, depending on the location you want to use it:"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.strong,{children:"Admin"})," - Used in the admin (not block editor) panel. You can find the files inside the ",(0,i.jsx)(s.code,{children:"assets"})," folder with the ",(0,i.jsx)(s.code,{children:"-admin"})," suffix."]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.strong,{children:"Blocks"})," - Used in the block editor. You can find the files inside the ",(0,i.jsx)(s.code,{children:"src/Blocks/assets"})," folder. As blocks are complicated, we have files loaded only in the admin-editor part of the project, those files have an ",(0,i.jsx)(s.code,{children:"-editor"})," suffix. The rest of the files with no suffix load on the admin-editor part and the project's front end."]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.strong,{children:"Theme"})," - Used in the theme (frontend) part of your project. You can find the files inside the ",(0,i.jsx)(s.code,{children:"assets"})," folder with no suffix. You would use these files for the assets related to your project that is not associated with components and blocks. These files are rarely used, as styles and JavaScript functionality are usually provided at component, block, or wrapper levels."]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Using any of these classes is optional, and you can use only what you need. The ",(0,i.jsx)(s.code,{children:"wp boilerplate init theme"})," command will set up all the three classes already implemented. Keep in mind that Enqueue classes work in combination with the Webpack build of your project."]}),"\n",(0,i.jsxs)(s.p,{children:["All the asset files mentioned are prefixed with ",(0,i.jsx)(s.code,{children:"application"}),". If you don't like the prefix, you can change it by providing project overrides for constants used in Eightshift Libs. If you change the file names, you must make changes to the Webpack build process as well. For modifying the Webpack configuration, read the ",(0,i.jsx)(s.a,{href:"webpack",children:"Webpack chapter"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"exception",children:"Exception"}),"\n",(0,i.jsx)(s.p,{children:"This namespace contains all exceptions that can be thrown from the project."}),"\n",(0,i.jsx)(s.h4,{id:"helpers",children:"Helpers"}),"\n",(0,i.jsx)(s.p,{children:"All the backend helpers provided by Eightshift Libs are part of the Helpers namespace. Generally, you can use them from Eightshift Libs without extending or modifying them."}),"\n",(0,i.jsx)(s.h4,{id:"i18n",children:"I18n"}),"\n",(0,i.jsxs)(s.p,{children:["Classes in this namespace are used to define all hooks related to internationalization and localization. For more information about i18n and l10n, check out ",(0,i.jsx)(s.a,{href:"tips-tricks",children:"Tips and tricks"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"main",children:"Main"}),"\n",(0,i.jsxs)(s.p,{children:["The Main namespace contains the ",(0,i.jsx)(s.code,{children:"Main"})," class, which sets up the dependency injection container and autowiring using ",(0,i.jsx)(s.code,{children:"AbstractMain"})," and ",(0,i.jsx)(s.code,{children:"Autowiring"})," classes. For most projects, ",(0,i.jsx)(s.code,{children:"Main"})," can be used automagically without any work on your part, but as with all of the Eightshift Development Kit, you can extend it to suit your needs."]}),"\n",(0,i.jsxs)(s.p,{children:["You can provide manual service classes here as well. Learn more in the ",(0,i.jsx)(s.a,{href:"autowiring",children:"autowiring chapter"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"manifest",children:"Manifest"}),"\n",(0,i.jsxs)(s.p,{children:["The Manifest namespace provides the ",(0,i.jsx)(s.code,{children:"manifest.json"})," file location and helpers to return the full path for a specific asset. Learn more about the manifest in the ",(0,i.jsx)(s.a,{href:"manifest",children:"manifest chapter"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"media",children:"Media"}),"\n",(0,i.jsx)(s.p,{children:"The Media namespace is used to add custom implementations for media, such as adding custom image sizes, enabling SVG image support, etc. By default, it registers theme support for title tags, HTML5 and post thumbnails."}),"\n",(0,i.jsx)(s.h4,{id:"menu",children:"Menu"}),"\n",(0,i.jsx)(s.p,{children:"This class is used to register menu positions."}),"\n",(0,i.jsx)(s.h4,{id:"modifyadminappearance",children:"ModifyAdminAppearance"}),"\n",(0,i.jsx)(s.p,{children:"This class is used to change admin appearance. We use it to change the admin color palette depending on the environment."}),"\n",(0,i.jsx)(s.h4,{id:"plugin",children:"Plugin"}),"\n",(0,i.jsx)(s.p,{children:"This namespace is used only in the plugin boilerplate and holds classes required for activation and deactivation of the plugin."}),"\n",(0,i.jsx)(s.h4,{id:"rest",children:"Rest"}),"\n",(0,i.jsxs)(s.p,{children:["The Rest namespace provides classes for handling REST API fields and routes. This is covered in more detail in the ",(0,i.jsx)(s.a,{href:"rest",children:"REST chapter"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"themeoptions",children:"ThemeOptions"}),"\n",(0,i.jsxs)(s.p,{children:["This namespace is used to add admin menu configuration panels such as ",(0,i.jsx)(s.em,{children:"Theme Options"}),", usually using ACF."]}),"\n",(0,i.jsx)(s.h4,{id:"view",children:"View"}),"\n",(0,i.jsxs)(s.p,{children:["This namespace is used to add filters used when escaping unsafe tags using ",(0,i.jsx)(s.code,{children:"wp_kses_post"})," and ",(0,i.jsx)(s.code,{children:"wp_kses"})," functions."]}),"\n",(0,i.jsx)(s.h4,{id:"storybook",children:".storybook"}),"\n",(0,i.jsxs)(s.p,{children:["This folder contains all of the files necessary to run the storybook in your project. Read more ",(0,i.jsx)(s.a,{href:"https://storybook.js.org/",children:"about the Storybook project"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"gitignore",children:".gitignore"}),"\n",(0,i.jsxs)(s.p,{children:["As the name implies, this file is used to define restrictions to which files Git watches. Read more ",(0,i.jsx)(s.a,{href:"https://git-scm.com/",children:"about Git"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"eslintignore",children:".eslintignore"}),"\n",(0,i.jsx)(s.p,{children:"Defines files and folders which ESLint should ignore when linting."}),"\n",(0,i.jsx)(s.h4,{id:"eslintrc",children:".eslintrc"}),"\n",(0,i.jsxs)(s.p,{children:["Provides definitions used for linting JavaScript files. Read more ",(0,i.jsx)(s.a,{href:"https://eslint.org/",children:"about ESLint"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"stylelintrc",children:".stylelintrc"}),"\n",(0,i.jsxs)(s.p,{children:["Provides definitions used for linting SCSS/CSS stylesheets. Read more ",(0,i.jsx)(s.a,{href:"https://stylelint.io/",children:"about Stylelint"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"babelconfigjs",children:"babel.config.js"}),"\n",(0,i.jsxs)(s.p,{children:["Provides Babel configuration, which determines how your JavaScript code will be compiled, what standard you will use, and much more. Read more ",(0,i.jsx)(s.a,{href:"https://babeljs.io/",children:"about Babel"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"composerjson",children:"composer.json"}),"\n",(0,i.jsxs)(s.p,{children:["Contains a list of your project's Composer dependencies, as well as project metadata and configuration. Dependencies can be added and installed using ",(0,i.jsx)(s.code,{children:"composer install"}),". Read more ",(0,i.jsx)(s.a,{href:"https://getcomposer.org/",children:"about Composer"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"composerlock",children:"composer.lock"}),"\n",(0,i.jsx)(s.p,{children:"Lock files are used to set the package version to the exact release. This ensures that everyone has the same package version when installing."}),"\n",(0,i.jsx)(s.h4,{id:"package-lockjson",children:"package-lock.json"}),"\n",(0,i.jsxs)(s.p,{children:["The same as ",(0,i.jsx)(s.code,{children:"composer.lock"}),", but for node_modules."]}),"\n",(0,i.jsx)(s.h4,{id:"packagejson",children:"package.json"}),"\n",(0,i.jsxs)(s.p,{children:["Contains a list of your project's npm dependencies, as well as project metadata and configuration. Dependencies can be added and installed using ",(0,i.jsx)(s.code,{children:"npm install"}),". Read more ",(0,i.jsx)(s.a,{href:"https://nodejs.dev/",children:"about npm"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"phpcsxmldist",children:"phpcs.xml.dist"}),"\n",(0,i.jsxs)(s.p,{children:["Provides definitions used for linting PHP files. Read more ",(0,i.jsx)(s.a,{href:"https://github.com/squizlabs/PHP_CodeSniffer",children:"about PHPCS"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"postcssconfigjs",children:"postcss.config.js"}),"\n",(0,i.jsxs)(s.p,{children:["PostCSS works in collaboration with Webpack and defines what additional plugins you are going to use when building your CSS files. Read more ",(0,i.jsx)(s.a,{href:"https://postcss.org/",children:"about PostCSS"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"webpackconfigjs",children:"webpack.config.js"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"webpack.config.js"})," provides Webpack configuration, used when building your JavaScript and CSS files. This is covered in more detail in the ",(0,i.jsx)(s.a,{href:"webpack",children:"Webpack chapter"}),"."]})]})}function h(e={}){const{wrapper:s}={...(0,t.M)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},4552:(e,s,n)=>{n.d(s,{I:()=>c,M:()=>a});var i=n(11504);const t={},o=i.createContext(t);function a(e){const s=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:a(e.components),i.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1622041d.c6f2ec7d.js b/assets/js/1622041d.c6f2ec7d.js deleted file mode 100644 index be107ecd7..000000000 --- a/assets/js/1622041d.c6f2ec7d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[48417],{94374:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>r});var i=n(85893),t=n(11151);const o={id:"architecture-concepts",title:"Architecture concepts"},a=void 0,c={id:"legacy/v8/basics/architecture-concepts",title:"Architecture concepts",description:"Project structure",source:"@site/docs/legacy/v8/basics/architecture-concepts.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/architecture-concepts",permalink:"/docs/legacy/v8/basics/architecture-concepts",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"architecture-concepts",title:"Architecture concepts"},sidebar:"docs",previous:{title:"WP-CLI",permalink:"/docs/legacy/v8/basics/wp-cli"},next:{title:"General",permalink:"/docs/legacy/v8/basics/backend"}},l={},r=[{value:"Project structure",id:"project-structure",level:2},{value:"Object-oriented paradigms",id:"object-oriented-paradigms",level:2},{value:"Blocks and Components",id:"blocks-and-components",level:2},{value:"The Manifest",id:"the-manifest",level:2},{value:"The directory structure in detail",id:"the-directory-structure-in-detail",level:2},{value:"Blocks",id:"blocks",level:4},{value:"Columns",id:"columns",level:4},{value:"Config",id:"config",level:4},{value:"CustomMeta",id:"custommeta",level:4},{value:"CustomPostType",id:"customposttype",level:4},{value:"CustomTaxonomy",id:"customtaxonomy",level:4},{value:"Enqueue",id:"enqueue",level:4},{value:"Exception",id:"exception",level:4},{value:"Helpers",id:"helpers",level:4},{value:"I18n",id:"i18n",level:4},{value:"Main",id:"main",level:4},{value:"Manifest",id:"manifest",level:4},{value:"Media",id:"media",level:4},{value:"Menu",id:"menu",level:4},{value:"ModifyAdminAppearance",id:"modifyadminappearance",level:4},{value:"Plugin",id:"plugin",level:4},{value:"Rest",id:"rest",level:4},{value:"ThemeOptions",id:"themeoptions",level:4},{value:"View",id:"view",level:4},{value:".storybook",id:"storybook",level:4},{value:".gitignore",id:"gitignore",level:4},{value:".eslintignore",id:"eslintignore",level:4},{value:".eslintrc",id:"eslintrc",level:4},{value:".stylelintrc",id:"stylelintrc",level:4},{value:"babel.config.js",id:"babelconfigjs",level:4},{value:"composer.json",id:"composerjson",level:4},{value:"composer.lock",id:"composerlock",level:4},{value:"package-lock.json",id:"package-lockjson",level:4},{value:"package.json",id:"packagejson",level:4},{value:"phpcs.xml.dist",id:"phpcsxmldist",level:4},{value:"postcss.config.js",id:"postcssconfigjs",level:4},{value:"webpack.config.js",id:"webpackconfigjs",level:4}];function d(e){const s={a:"a",code:"code",em:"em",h2:"h2",h4:"h4",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,t.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.h2,{id:"project-structure",children:"Project structure"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/infinum/eightshift-libs",children:(0,i.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsxs)(s.p,{children:["Eightshift Development Kit follows a strict project structure to support autoloading, dependency injection and ",(0,i.jsx)(s.code,{children:"wp boilerplate"})," commands, as well as conventions to increase codebase understanding between developers. As an added benefit, following this structure and conventions makes your codebase more consistent and organized."]}),"\n",(0,i.jsxs)(s.p,{children:["While Eightshift Development Kit provides required theme files and common theme files such as ",(0,i.jsx)(s.code,{children:"style.css"})," and ",(0,i.jsx)(s.code,{children:"functions.php"}),", they're used differently to what you might expect if you've worked with WordPress themes previously. For instance, ",(0,i.jsx)(s.code,{children:"style.css"})," is used only to register theme metadata, and doesn't contain any actual styles, as they're built using Webpack and use cache busting. ",(0,i.jsx)(s.code,{children:"functions.php"})," simply bootstraps the execution lifecycle. We also provide very basic template partials, such as ",(0,i.jsx)(s.code,{children:"single.php"}),", which you can accommodate to your needs. An idea to consider is replacing some of them with pages that are editable in Gutenberg."]}),"\n",(0,i.jsxs)(s.p,{children:["While you'll find some additional configuration files such as ",(0,i.jsx)(s.code,{children:"webpack.config.js"})," in the project root, the majority of your projects codebase should live in the ",(0,i.jsx)(s.code,{children:"src"})," directory, which is autoloaded via Composer following PSR-4 conventions. This implies that every directory under ",(0,i.jsx)(s.code,{children:"src"})," is a namespace under your base namespace (which is your project name), and PHP files inside of those directories are classes in that namespace, with exceptions for filenames that aren't in ",(0,i.jsx)(s.code,{children:"StudlyCase"}),"."]}),"\n",(0,i.jsxs)(s.p,{children:["An Eightshift Development Kit convention is to structure namespaces around features and functionality, so for instance, all custom post types would be part of the ",(0,i.jsx)(s.code,{children:"ProjectName\\CustomPostType"})," namespace."]}),"\n",(0,i.jsx)(s.h2,{id:"object-oriented-paradigms",children:"Object-oriented paradigms"}),"\n",(0,i.jsx)(s.p,{children:"Eightshift Libs is entirely object-oriented, providing abstract classes for internal library functionality, interfaces you can use to implement certain classes to make use of Eightshift Development Kit features, as well as concrete class implementations for use in projects."}),"\n",(0,i.jsx)(s.p,{children:"Our use of OOP allows you to extend, modify or even replace Eightshift Development Kit functionality safely, without breaking compatibility or harming your project."}),"\n",(0,i.jsxs)(s.p,{children:["One of the most important interfaces in Eightshift Libs is the ",(0,i.jsx)(s.code,{children:"ServiceInterface"}),". Classes that implement it are called service classes. This isn't a common pattern in PHP OOP. In Eightshift Development Kit, a service class represents a part of the project's functionality and has a ",(0,i.jsx)(s.code,{children:"register"})," method that sets up the action and filter hooks for the service. If you need to add an action or a filter, you should do that in a service class. All your service classes are automatically loaded and can have dependencies injected using dependency injection."]}),"\n",(0,i.jsxs)(s.p,{children:["To ensure there are no naming collisions caused by Composer dependencies, we use the ",(0,i.jsx)(s.a,{href:"https://github.com/infinum/imposter-plugin",children:"Imposter Composer plugin"})," to contain them in the ",(0,i.jsx)(s.code,{children:"{ProjectName}Vendor"})," namespace. This comes with a few caveats which you should be aware of, and about which you can read more in the ",(0,i.jsx)(s.a,{href:"namespaces",children:"namespaces chapter"}),"."]}),"\n",(0,i.jsxs)(s.p,{children:["Read more about ",(0,i.jsx)(s.a,{href:"namespaces",children:"namespaces and Imposter"}),", ",(0,i.jsx)(s.a,{href:"extending-classes",children:"extending classes and service classes"}),", and ",(0,i.jsx)(s.a,{href:"autowiring",children:"dependency injection and autowiring"}),"."]}),"\n",(0,i.jsx)(s.h2,{id:"blocks-and-components",children:"Blocks and Components"}),"\n",(0,i.jsxs)(s.p,{children:["While Blocks and Components will be covered in much more detail in the ",(0,i.jsx)(s.a,{href:"blocks",children:"Blocks chapter"}),", it's worth getting acquainted with the concepts from the start."]}),"\n",(0,i.jsxs)(s.p,{children:["In Gutenberg, Blocks are an abstract unit for structuring content. The same applies in Eightshift, with an additional concept of ",(0,i.jsx)(s.em,{children:"Components"}),", which are abstract units for structuring blocks and layouts."]}),"\n",(0,i.jsx)(s.p,{children:"Components are mostly similar to Blocks, with a few key differences:"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"Components can not be inserted by users in Gutenberg, and are not registered as block types"}),"\n",(0,i.jsxs)(s.li,{children:["Components can be rendered in any context using the ",(0,i.jsx)(s.code,{children:"Components::render"})," method, with arbitrary attribute values passed to them"]}),"\n",(0,i.jsxs)(s.li,{children:["Blocks are usually only rendered using the render callback provided when registering the block","\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"Note that in the Eightshift Development Kit, the render callback is provided for you by Eightshift Libs. It automatically adds the wrapper if necessary and sets up your block view."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["Components don't implement the ",(0,i.jsx)(s.code,{children:"{blockName}-block.js"})," file"]}),"\n"]}),"\n",(0,i.jsx)(s.p,{children:"Blocks and Components have the same structure, which makes extracting components from existing blocks trivially easy."}),"\n",(0,i.jsxs)(s.p,{children:["Components can be ",(0,i.jsx)(s.em,{children:"composed"})," into a block. In other words, blocks can consist out of zero or more components. Component composition is handled in the block manifest, allows you to avoid using InnerBlocks to include functionality shared with other blocks, and serializes component attributes to the block using prefixed attributes for each component instance depending on your manifest definitions."]}),"\n",(0,i.jsxs)(s.p,{children:["To learn more about the differences between blocks and components, read ",(0,i.jsx)(s.a,{href:"/blog/components-and-blocks",children:"Igor's blog post on Components and blocks"}),". To learn how to use blocks and components to build your projects, read the ",(0,i.jsx)(s.a,{href:"blocks",children:"Blocks chapter"}),"."]}),"\n",(0,i.jsx)(s.h2,{id:"the-manifest",children:"The Manifest"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"manifest.json"})," files contain metadata, configurations and variables."]}),"\n",(0,i.jsxs)(s.p,{children:["Every Eightshift project has one global ",(0,i.jsx)(s.code,{children:"manifest.json"})," file stored in ",(0,i.jsx)(s.code,{children:"src/Blocks/manifest.json"}),", which contains global settings, properties, and variables."]}),"\n",(0,i.jsx)(s.p,{children:"Furthermore, every Eightshift block, component, and variation has its own manifest file which is used to provide data required for block registration, such as a list of attributes, the block name, and the template for the inserter example. These local manifest files allow you to define arrays of options for attribute values that your blocks or components can consume. Manifest files also allow you to define relationships between attribute values and CSS variable values, which allows you a great deal of power when styling your blocks and components, as well as saves time as you don't have to provide conditional CSS classes."}),"\n",(0,i.jsxs)(s.p,{children:["To learn more about the ",(0,i.jsx)(s.a,{href:"/docs/legacy/v8/basics/blocks-global-manifest",children:"global manifest"}),", ",(0,i.jsx)(s.a,{href:"/docs/legacy/v8/basics/block-manifest",children:"block manifest"}),", ",(0,i.jsx)(s.a,{href:"/docs/legacy/v8/basics/blocks-component-manifest",children:"component manifest"})," and using ",(0,i.jsx)(s.a,{href:"/docs/legacy/v8/basics/blocks-styles",children:"the manifest to provide CSS variables for use in block styling"}),", read the respective articles in the ",(0,i.jsx)(s.a,{href:"blocks-important",children:"Blocks chapter"}),". For information about manifest structure, refer to the manifest schemas available in Eightshift Frontend Libs and linked to in the manifest files."]}),"\n",(0,i.jsx)(s.h2,{id:"the-directory-structure-in-detail",children:"The directory structure in detail"}),"\n",(0,i.jsxs)(s.p,{children:["Your project might contain a different set of namespaces and classes in the ",(0,i.jsx)(s.code,{children:"src"})," folder, depending on what you've included using wp boilerplate commands.\nBy default, your project will include the ",(0,i.jsx)(s.code,{children:"Blocks"}),", ",(0,i.jsx)(s.code,{children:"Config"}),", ",(0,i.jsx)(s.code,{children:"Enqueue"}),", ",(0,i.jsx)(s.code,{children:"Main"}),", ",(0,i.jsx)(s.code,{children:"Manifest"})," and ",(0,i.jsx)(s.code,{children:"Menu"})," namespaces. You can include classes from Eightshift Libs to provide additional functionality manually or using wp boilerplate."]}),"\n",(0,i.jsx)(s.p,{children:"This chapter also doesn't cover all the namespaces and classes in Eightshift Libs, or their use. Check out the source code documentation for all available namespaces and classes."}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:["src","\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"Blocks"}),"\n",(0,i.jsx)(s.li,{children:"assets"}),"\n",(0,i.jsx)(s.li,{children:"components"}),"\n",(0,i.jsx)(s.li,{children:"custom"}),"\n",(0,i.jsx)(s.li,{children:"variations"}),"\n",(0,i.jsx)(s.li,{children:"wrapper"}),"\n",(0,i.jsx)(s.li,{children:"Columns"}),"\n",(0,i.jsx)(s.li,{children:"Config"}),"\n",(0,i.jsx)(s.li,{children:"CustomMeta"}),"\n",(0,i.jsx)(s.li,{children:"CustomPostType"}),"\n",(0,i.jsx)(s.li,{children:"CustomTaxonomy"}),"\n",(0,i.jsxs)(s.li,{children:["Enqueue","\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"Admin"}),"\n",(0,i.jsx)(s.li,{children:"Blocks"}),"\n",(0,i.jsx)(s.li,{children:"Theme"}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.li,{children:"Exception"}),"\n",(0,i.jsx)(s.li,{children:"Helpers"}),"\n",(0,i.jsx)(s.li,{children:"I18n"}),"\n",(0,i.jsx)(s.li,{children:"Main"}),"\n",(0,i.jsx)(s.li,{children:"Manifest"}),"\n",(0,i.jsx)(s.li,{children:"Media"}),"\n",(0,i.jsx)(s.li,{children:"Menu"}),"\n",(0,i.jsx)(s.li,{children:"ModifyAdminAppearance"}),"\n",(0,i.jsx)(s.li,{children:"Plugin"}),"\n",(0,i.jsx)(s.li,{children:"Rest"}),"\n",(0,i.jsx)(s.li,{children:"ThemeOptions"}),"\n",(0,i.jsx)(s.li,{children:"View"}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.li,{children:".storybook"}),"\n",(0,i.jsx)(s.li,{children:".gitignore"}),"\n",(0,i.jsx)(s.li,{children:".eslintignore"}),"\n",(0,i.jsx)(s.li,{children:".eslintrc"}),"\n",(0,i.jsx)(s.li,{children:".stylelintrc"}),"\n",(0,i.jsx)(s.li,{children:"babel.config.js"}),"\n",(0,i.jsx)(s.li,{children:"composer.json"}),"\n",(0,i.jsx)(s.li,{children:"composer.lock"}),"\n",(0,i.jsx)(s.li,{children:"package-lock.json"}),"\n",(0,i.jsx)(s.li,{children:"package.json"}),"\n",(0,i.jsx)(s.li,{children:"phpcs.xml.dist"}),"\n",(0,i.jsx)(s.li,{children:"postcss.config.js"}),"\n",(0,i.jsx)(s.li,{children:"README.md"}),"\n",(0,i.jsx)(s.li,{children:"webpack.config.js"}),"\n"]}),"\n",(0,i.jsx)(s.h4,{id:"blocks",children:"Blocks"}),"\n",(0,i.jsx)(s.p,{children:"The Blocks namespace contains the Blocks class used for block registration. This directory also contains shared assets, components, blocks, variations, and the wrapper."}),"\n",(0,i.jsxs)(s.p,{children:["Read about blocks in detail in the ",(0,i.jsx)(s.a,{href:"blocks",children:"Blocks chapter"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"columns",children:"Columns"}),"\n",(0,i.jsxs)(s.p,{children:["This namespace contains all the custom admin listing columns hooks in your project. These include listing column hooks for post types, taxonomy, and user lists, such as ",(0,i.jsx)(s.code,{children:"manage_{$post_type}_posts_columns"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"config",children:"Config"}),"\n",(0,i.jsxs)(s.p,{children:["The Config class provides getter methods for your project's configuration, such as ",(0,i.jsx)(s.code,{children:"getProjectName"})," or ",(0,i.jsx)(s.code,{children:"getProjectVersion"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"custommeta",children:"CustomMeta"}),"\n",(0,i.jsx)(s.p,{children:"This class contains all the custom meta hooks for your project."}),"\n",(0,i.jsx)(s.h4,{id:"customposttype",children:"CustomPostType"}),"\n",(0,i.jsxs)(s.p,{children:["This namespace contains classes that register all custom post type hooks for your project. For better code consistency and to save time on boilerplating, Eightshift Development Kit provides an example class implementation you can use with ",(0,i.jsx)(s.code,{children:"wp boilerplate create post-type"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"customtaxonomy",children:"CustomTaxonomy"}),"\n",(0,i.jsxs)(s.p,{children:["This namespace contains classes that register all custom taxonomy hooks for your project. For better code consistency and to save time on boilerplating, Eightshift Development Kit provides an example class implementation you can use with ",(0,i.jsx)(s.code,{children:"wp boilerplate create taxonomy"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"enqueue",children:"Enqueue"}),"\n",(0,i.jsx)(s.p,{children:"These Enqueue namespace classes handle loading JavaScript and CSS assets, depending on the location you want to use it:"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.strong,{children:"Admin"})," - Used in the admin (not block editor) panel. You can find the files inside the ",(0,i.jsx)(s.code,{children:"assets"})," folder with the ",(0,i.jsx)(s.code,{children:"-admin"})," suffix."]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.strong,{children:"Blocks"})," - Used in the block editor. You can find the files inside the ",(0,i.jsx)(s.code,{children:"src/Blocks/assets"})," folder. As blocks are complicated, we have files loaded only in the admin-editor part of the project, those files have an ",(0,i.jsx)(s.code,{children:"-editor"})," suffix. The rest of the files with no suffix load on the admin-editor part and the project's front end."]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.strong,{children:"Theme"})," - Used in the theme (frontend) part of your project. You can find the files inside the ",(0,i.jsx)(s.code,{children:"assets"})," folder with no suffix. You would use these files for the assets related to your project that is not associated with components and blocks. These files are rarely used, as styles and JavaScript functionality are usually provided at component, block, or wrapper levels."]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Using any of these classes is optional, and you can use only what you need. The ",(0,i.jsx)(s.code,{children:"wp boilerplate init theme"})," command will set up all the three classes already implemented. Keep in mind that Enqueue classes work in combination with the Webpack build of your project."]}),"\n",(0,i.jsxs)(s.p,{children:["All the asset files mentioned are prefixed with ",(0,i.jsx)(s.code,{children:"application"}),". If you don't like the prefix, you can change it by providing project overrides for constants used in Eightshift Libs. If you change the file names, you must make changes to the Webpack build process as well. For modifying the Webpack configuration, read the ",(0,i.jsx)(s.a,{href:"webpack",children:"Webpack chapter"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"exception",children:"Exception"}),"\n",(0,i.jsx)(s.p,{children:"This namespace contains all exceptions that can be thrown from the project."}),"\n",(0,i.jsx)(s.h4,{id:"helpers",children:"Helpers"}),"\n",(0,i.jsx)(s.p,{children:"All the backend helpers provided by Eightshift Libs are part of the Helpers namespace. Generally, you can use them from Eightshift Libs without extending or modifying them."}),"\n",(0,i.jsx)(s.h4,{id:"i18n",children:"I18n"}),"\n",(0,i.jsxs)(s.p,{children:["Classes in this namespace are used to define all hooks related to internationalization and localization. For more information about i18n and l10n, check out ",(0,i.jsx)(s.a,{href:"tips-tricks",children:"Tips and tricks"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"main",children:"Main"}),"\n",(0,i.jsxs)(s.p,{children:["The Main namespace contains the ",(0,i.jsx)(s.code,{children:"Main"})," class, which sets up the dependency injection container and autowiring using ",(0,i.jsx)(s.code,{children:"AbstractMain"})," and ",(0,i.jsx)(s.code,{children:"Autowiring"})," classes. For most projects, ",(0,i.jsx)(s.code,{children:"Main"})," can be used automagically without any work on your part, but as with all of the Eightshift Development Kit, you can extend it to suit your needs."]}),"\n",(0,i.jsxs)(s.p,{children:["You can provide manual service classes here as well. Learn more in the ",(0,i.jsx)(s.a,{href:"autowiring",children:"autowiring chapter"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"manifest",children:"Manifest"}),"\n",(0,i.jsxs)(s.p,{children:["The Manifest namespace provides the ",(0,i.jsx)(s.code,{children:"manifest.json"})," file location and helpers to return the full path for a specific asset. Learn more about the manifest in the ",(0,i.jsx)(s.a,{href:"manifest",children:"manifest chapter"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"media",children:"Media"}),"\n",(0,i.jsx)(s.p,{children:"The Media namespace is used to add custom implementations for media, such as adding custom image sizes, enabling SVG image support, etc. By default, it registers theme support for title tags, HTML5 and post thumbnails."}),"\n",(0,i.jsx)(s.h4,{id:"menu",children:"Menu"}),"\n",(0,i.jsx)(s.p,{children:"This class is used to register menu positions."}),"\n",(0,i.jsx)(s.h4,{id:"modifyadminappearance",children:"ModifyAdminAppearance"}),"\n",(0,i.jsx)(s.p,{children:"This class is used to change admin appearance. We use it to change the admin color palette depending on the environment."}),"\n",(0,i.jsx)(s.h4,{id:"plugin",children:"Plugin"}),"\n",(0,i.jsx)(s.p,{children:"This namespace is used only in the plugin boilerplate and holds classes required for activation and deactivation of the plugin."}),"\n",(0,i.jsx)(s.h4,{id:"rest",children:"Rest"}),"\n",(0,i.jsxs)(s.p,{children:["The Rest namespace provides classes for handling REST API fields and routes. This is covered in more detail in the ",(0,i.jsx)(s.a,{href:"rest",children:"REST chapter"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"themeoptions",children:"ThemeOptions"}),"\n",(0,i.jsxs)(s.p,{children:["This namespace is used to add admin menu configuration panels such as ",(0,i.jsx)(s.em,{children:"Theme Options"}),", usually using ACF."]}),"\n",(0,i.jsx)(s.h4,{id:"view",children:"View"}),"\n",(0,i.jsxs)(s.p,{children:["This namespace is used to add filters used when escaping unsafe tags using ",(0,i.jsx)(s.code,{children:"wp_kses_post"})," and ",(0,i.jsx)(s.code,{children:"wp_kses"})," functions."]}),"\n",(0,i.jsx)(s.h4,{id:"storybook",children:".storybook"}),"\n",(0,i.jsxs)(s.p,{children:["This folder contains all of the files necessary to run the storybook in your project. Read more ",(0,i.jsx)(s.a,{href:"https://storybook.js.org/",children:"about the Storybook project"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"gitignore",children:".gitignore"}),"\n",(0,i.jsxs)(s.p,{children:["As the name implies, this file is used to define restrictions to which files Git watches. Read more ",(0,i.jsx)(s.a,{href:"https://git-scm.com/",children:"about Git"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"eslintignore",children:".eslintignore"}),"\n",(0,i.jsx)(s.p,{children:"Defines files and folders which ESLint should ignore when linting."}),"\n",(0,i.jsx)(s.h4,{id:"eslintrc",children:".eslintrc"}),"\n",(0,i.jsxs)(s.p,{children:["Provides definitions used for linting JavaScript files. Read more ",(0,i.jsx)(s.a,{href:"https://eslint.org/",children:"about ESLint"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"stylelintrc",children:".stylelintrc"}),"\n",(0,i.jsxs)(s.p,{children:["Provides definitions used for linting SCSS/CSS stylesheets. Read more ",(0,i.jsx)(s.a,{href:"https://stylelint.io/",children:"about Stylelint"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"babelconfigjs",children:"babel.config.js"}),"\n",(0,i.jsxs)(s.p,{children:["Provides Babel configuration, which determines how your JavaScript code will be compiled, what standard you will use, and much more. Read more ",(0,i.jsx)(s.a,{href:"https://babeljs.io/",children:"about Babel"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"composerjson",children:"composer.json"}),"\n",(0,i.jsxs)(s.p,{children:["Contains a list of your project's Composer dependencies, as well as project metadata and configuration. Dependencies can be added and installed using ",(0,i.jsx)(s.code,{children:"composer install"}),". Read more ",(0,i.jsx)(s.a,{href:"https://getcomposer.org/",children:"about Composer"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"composerlock",children:"composer.lock"}),"\n",(0,i.jsx)(s.p,{children:"Lock files are used to set the package version to the exact release. This ensures that everyone has the same package version when installing."}),"\n",(0,i.jsx)(s.h4,{id:"package-lockjson",children:"package-lock.json"}),"\n",(0,i.jsxs)(s.p,{children:["The same as ",(0,i.jsx)(s.code,{children:"composer.lock"}),", but for node_modules."]}),"\n",(0,i.jsx)(s.h4,{id:"packagejson",children:"package.json"}),"\n",(0,i.jsxs)(s.p,{children:["Contains a list of your project's npm dependencies, as well as project metadata and configuration. Dependencies can be added and installed using ",(0,i.jsx)(s.code,{children:"npm install"}),". Read more ",(0,i.jsx)(s.a,{href:"https://nodejs.dev/",children:"about npm"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"phpcsxmldist",children:"phpcs.xml.dist"}),"\n",(0,i.jsxs)(s.p,{children:["Provides definitions used for linting PHP files. Read more ",(0,i.jsx)(s.a,{href:"https://github.com/squizlabs/PHP_CodeSniffer",children:"about PHPCS"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"postcssconfigjs",children:"postcss.config.js"}),"\n",(0,i.jsxs)(s.p,{children:["PostCSS works in collaboration with Webpack and defines what additional plugins you are going to use when building your CSS files. Read more ",(0,i.jsx)(s.a,{href:"https://postcss.org/",children:"about PostCSS"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"webpackconfigjs",children:"webpack.config.js"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"webpack.config.js"})," provides Webpack configuration, used when building your JavaScript and CSS files. This is covered in more detail in the ",(0,i.jsx)(s.a,{href:"webpack",children:"Webpack chapter"}),"."]})]})}function h(e={}){const{wrapper:s}={...(0,t.a)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},11151:(e,s,n)=>{n.d(s,{Z:()=>c,a:()=>a});var i=n(67294);const t={},o=i.createContext(t);function a(e){const s=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:a(e.components),i.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/163b78fe.bcd9f30b.js b/assets/js/163b78fe.bcd9f30b.js new file mode 100644 index 000000000..9828d0f75 --- /dev/null +++ b/assets/js/163b78fe.bcd9f30b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[51868],{58812:(e,o,t)=>{t.r(o),t.d(o,{assets:()=>a,contentTitle:()=>i,default:()=>h,frontMatter:()=>l,metadata:()=>r,toc:()=>c});var n=t(17624),s=t(4552);const l={id:"blocks-special-use-cases",title:"Special Use Cases"},i=void 0,r={id:"legacy/v6/basics/blocks-special-use-cases",title:"Special Use Cases",description:"docs-source",source:"@site/docs/legacy/v6/basics/blocks-special-use-cases.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/blocks-special-use-cases",permalink:"/docs/legacy/v6/basics/blocks-special-use-cases",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-special-use-cases",title:"Special Use Cases"},sidebar:"docs",previous:{title:"Hooks",permalink:"/docs/legacy/v6/basics/blocks-hooks"},next:{title:"Reusable Blocks",permalink:"/docs/legacy/v6/basics/blocks-reusable"}},a={},c=[{value:"Change innerBlock attributes",id:"change-innerblock-attributes",level:2},{value:"Provide simple wrapper to all innerBlock",id:"provide-simple-wrapper-to-all-innerblock",level:2},{value:"Override innerBlock attributes only on the front end",id:"override-innerblock-attributes-only-on-the-front-end",level:2},{value:"Add CSS selectors on the parent component inside the block editor",id:"add-css-selectors-on-the-parent-component-inside-the-block-editor",level:2},{value:"How to only use my custom blocks",id:"how-to-only-use-my-custom-blocks",level:2},{value:"I want to use my custom blocks but add some core or third party plugins blocks",id:"i-want-to-use-my-custom-blocks-but-add-some-core-or-third-party-plugins-blocks",level:2},{value:"I want to enable blocks only on specific custom post type",id:"i-want-to-enable-blocks-only-on-specific-custom-post-type",level:2}];function d(e){const o={a:"a",blockquote:"blockquote",code:"code",em:"em",h2:"h2",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.p,{children:(0,n.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/",children:(0,n.jsx)(o.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(o.p,{children:"In our clients' projects, we noticed that sometimes you need to provide something special to your blocks, like changing the block editor block DOM structure or the attributes added inside the inner blocks."}),"\n",(0,n.jsx)(o.p,{children:"These are some of the examples we would like to share with you. We will list all of them and gradually add more."}),"\n",(0,n.jsx)(o.h2,{id:"change-innerblock-attributes",children:"Change innerBlock attributes"}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Usage:"})}),"\n",(0,n.jsxs)(o.ul,{children:["\n",(0,n.jsx)(o.li,{children:"Change attributes in the block editor and on the front-end."}),"\n",(0,n.jsx)(o.li,{children:"Set attributes in the database."}),"\n"]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Use Case:"})}),"\n",(0,n.jsxs)(o.p,{children:["Let's say you have a carousel block, and you have a generic image block that you can use as a standalone block. You create a carousel block and set in its manifest limitation to show only the image block to be inserted as an inner block. This is easy to do: you just add your image block to an ",(0,n.jsx)(o.code,{children:"allowedBlocks"})," array inside the carousel block and everything will work."]}),"\n",(0,n.jsxs)(o.p,{children:["But now you have some default attributes set in that image block that you don't want to be set if the block is added using the innerBlock in the carousel. You can change that using our ",(0,n.jsx)(o.a,{href:"helpers-javascript",children:"overrideInnerBlockAttributes"})," helper. Just add this helper to your block entry point, add the attributes you want to change, and you are all set."]}),"\n",(0,n.jsx)(o.p,{children:"Keep in mind that this will be applied to all innerBlocks inside your carousel block. If you want to limit this to a specific block only, you will need to fiddle around with that block's conditions (you can get that specific block name from the props)."}),"\n",(0,n.jsx)(o.p,{children:"The next time you add your image to the carousel, it will automatically change those attributes."}),"\n",(0,n.jsxs)(o.blockquote,{children:["\n",(0,n.jsx)(o.p,{children:"Important note: If for some reason, you copy the inner block from the carousel to the top-level editor, this helper will not fire and not change back to original attributes. You have to manually remove those attributes from the Code editor in the admin."}),"\n"]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Implementation"})}),"\n",(0,n.jsxs)(o.p,{children:["Here you can see our example of this helper used in the ",(0,n.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/custom/carousel/carousel-block.js",children:"carousel block"}),"."]}),"\n",(0,n.jsx)(o.h2,{id:"provide-simple-wrapper-to-all-innerblock",children:"Provide simple wrapper to all innerBlock"}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Usage:"})}),"\n",(0,n.jsxs)(o.ul,{children:["\n",(0,n.jsx)(o.li,{children:"Change attributes in the block editor and on the front end."}),"\n",(0,n.jsx)(o.li,{children:"Set attributes in the database."}),"\n"]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Use Case:"})}),"\n",(0,n.jsx)(o.p,{children:"All of our blocks come with the wrapper implemented, which is awesome. But sometimes you just don't want to use the wrapper, and you want only to use the simple version of the wrapper. You can provide the attribute overrides in your block, and you are good to go."}),"\n",(0,n.jsxs)(o.p,{children:["But if you need to change attributes in the block added as an innerBlock, you'll have a little problem. You can use the same helper as we did in the previous chapter, or you can use our abstraction of that helper called ",(0,n.jsx)(o.a,{href:"helpers-javascript",children:"overrideInnerBlockSimpleWrapperAttributes"}),"."]}),"\n",(0,n.jsx)(o.p,{children:"This helper will set the wrapper to a simple variant in all your innerBlocks."}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Implementation"})}),"\n",(0,n.jsxs)(o.p,{children:["Here you can see our example of this helper used in the ",(0,n.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/custom/column/column-block.js",children:"column block"}),"."]}),"\n",(0,n.jsx)(o.h2,{id:"override-innerblock-attributes-only-on-the-front-end",children:"Override innerBlock attributes only on the front end"}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Usage:"})}),"\n",(0,n.jsxs)(o.ul,{children:["\n",(0,n.jsx)(o.li,{children:"Change attributes on the front end only."}),"\n",(0,n.jsx)(o.li,{children:"Don't set attributes in the database."}),"\n"]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Use Case:"})}),"\n",(0,n.jsx)(o.p,{children:"If you have a block containing inner blocks and only want to change the attributes on the front end of the implementation and not in the block editor. The standard way is really hard because all the inner blocks are rendered on the front end as an HTML string, and you don't have access to any of the attributes before it is rendered."}),"\n",(0,n.jsx)(o.p,{children:"Luckily, WordPress core has provided us with the filter that can change any block before it is rendered. This filter will provide you an array of blocks and inner blocks, along with the innerBlock and all attributes if you use it correctly."}),"\n",(0,n.jsxs)(o.p,{children:["The filter is called: ",(0,n.jsx)(o.code,{children:"render_block_data"}),", and you can put your implementation in the ",(0,n.jsx)(o.code,{children:"class-blocks.php"})," file. You can find the documentation on this ",(0,n.jsx)(o.a,{href:"https://developer.wordpress.org/reference/hooks/render_block_data/",children:"link"}),"."]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Implementation"})}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.em,{children:"Implementation coming soon."})}),"\n",(0,n.jsx)(o.h2,{id:"add-css-selectors-on-the-parent-component-inside-the-block-editor",children:"Add CSS selectors on the parent component inside the block editor"}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Usage:"})}),"\n",(0,n.jsxs)(o.ul,{children:["\n",(0,n.jsx)(o.li,{children:"Change attributes on the front end only."}),"\n",(0,n.jsx)(o.li,{children:"Don't set attributes in the database."}),"\n"]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Use Case:"})}),"\n",(0,n.jsx)(o.p,{children:"If you tried to create any grid in your block on the front end, you know it is easy, but it is not so with the block editor. The problem is that in the block editor DOM, there are additional divs added over your block that break your HTML structure, and all your styles from flex or grid will not work correctly. If your block depends on some special selector placed in a specific place, you can run into some problems in the block editor."}),"\n",(0,n.jsx)(o.p,{children:"With WordPress block editor hooks, we can fix this by not adding the selector to its original location as we do on the front end but adding them to the Block Editor's parent component."}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Implementation"})}),"\n",(0,n.jsxs)(o.p,{children:["Here you can see our example of this hook used in the ",(0,n.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/custom/column/column-hooks.js",children:"column block"}),"."]}),"\n",(0,n.jsx)(o.h2,{id:"how-to-only-use-my-custom-blocks",children:"How to only use my custom blocks"}),"\n",(0,n.jsxs)(o.p,{children:["You can remove all core blocks and any other blocks provided by third-party plugins by adding this filter to your ",(0,n.jsx)(o.code,{children:"src/Blocks/Blocks.php"})," class."]}),"\n",(0,n.jsx)(o.p,{children:"Filter goes in the register method:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:"// Limits the usage of only custom project blocks.\nadd_filter('allowed_block_types', [ $this, 'getAllBlocksList' ], 10, 2);\n"})}),"\n",(0,n.jsxs)(o.p,{children:["The callback method is set in the parent ",(0,n.jsx)(o.code,{children:"AbstractBlocks"})," class."]}),"\n",(0,n.jsx)(o.h2,{id:"i-want-to-use-my-custom-blocks-but-add-some-core-or-third-party-plugins-blocks",children:"I want to use my custom blocks but add some core or third party plugins blocks"}),"\n",(0,n.jsxs)(o.p,{children:["You create a new callback method for the ",(0,n.jsx)(o.code,{children:"allowed_block_types"})," filter. There you can allow all your custom blocks + any other 3rd party / core block you want."]}),"\n",(0,n.jsx)(o.p,{children:"Filter goes in the register method:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:"// Limits the usage of only custom project blocks.\nadd_filter('allowed_block_types', [ $this, 'allowedBlocks' ], 10, 2);\n"})}),"\n",(0,n.jsx)(o.p,{children:"Custom callback method:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:"/**\n * Filter which blocks are displayed in the block editor.\n *\n * @param array|bool $allowedBlockTypes Array of block type slugs, or boolean to enable/disable all.\n * @param object $post The post resource data.\n *\n * @return array\n */\npublic function allowedBlocks($allowedBlockTypes, object $post): array\n{\n return array_merge(\n $this->getAllBlocksList($allowedBlockTypes, $post),\n [\n 'core/paragraph',\n ]\n );\n}\n"})}),"\n",(0,n.jsx)(o.h2,{id:"i-want-to-enable-blocks-only-on-specific-custom-post-type",children:"I want to enable blocks only on specific custom post type"}),"\n",(0,n.jsxs)(o.p,{children:["You create a new callback method for the ",(0,n.jsx)(o.code,{children:"allowed_block_types"})," filter."]}),"\n",(0,n.jsx)(o.p,{children:"Filter goes in the register method:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:"// Limits the usage of only custom project blocks.\nadd_filter('allowed_block_types', [ $this, 'allowedBlockTypes' ], 10, 2);\n"})}),"\n",(0,n.jsx)(o.p,{children:"Custom callback method:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:"/**\n * Filter which blocks are allowed in what post type.\n *\n * @param array|bool $allowedBlockTypes Array of block type slugs, or boolean to enable/disable all.\n * @param object $post The post resource data.\n *\n * @return array\n */\npublic function allowedBlockTypes($allowedBlockTypes, object $post): array\n{\n $output = [];\n $settings = $this->getSettings();\n $namespace = $settings['namespace'];\n\n switch ($post->post_type) { // phpcs:ignore Squiz.NamingConventions.ValidVariableName.NotCamelCaps\n case 'faq':\n $output = [\n \"{$namespace}/paragraph\",\n ];\n break;\n default:\n $output = $this->getAllBlocksList($allowedBlockTypes, $post);\n break;\n }\n\n return $output;\n}\n"})})]})}function h(e={}){const{wrapper:o}={...(0,s.M)(),...e.components};return o?(0,n.jsx)(o,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},4552:(e,o,t)=>{t.d(o,{I:()=>r,M:()=>i});var n=t(11504);const s={},l=n.createContext(s);function i(e){const o=n.useContext(l);return n.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function r(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),n.createElement(l.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/163b78fe.cf9f1851.js b/assets/js/163b78fe.cf9f1851.js deleted file mode 100644 index e0c5a2ba2..000000000 --- a/assets/js/163b78fe.cf9f1851.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[66250],{45951:(e,o,t)=>{t.r(o),t.d(o,{assets:()=>a,contentTitle:()=>i,default:()=>h,frontMatter:()=>l,metadata:()=>r,toc:()=>c});var n=t(85893),s=t(11151);const l={id:"blocks-special-use-cases",title:"Special Use Cases"},i=void 0,r={id:"legacy/v6/basics/blocks-special-use-cases",title:"Special Use Cases",description:"docs-source",source:"@site/docs/legacy/v6/basics/blocks-special-use-cases.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/blocks-special-use-cases",permalink:"/docs/legacy/v6/basics/blocks-special-use-cases",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-special-use-cases",title:"Special Use Cases"},sidebar:"docs",previous:{title:"Hooks",permalink:"/docs/legacy/v6/basics/blocks-hooks"},next:{title:"Reusable Blocks",permalink:"/docs/legacy/v6/basics/blocks-reusable"}},a={},c=[{value:"Change innerBlock attributes",id:"change-innerblock-attributes",level:2},{value:"Provide simple wrapper to all innerBlock",id:"provide-simple-wrapper-to-all-innerblock",level:2},{value:"Override innerBlock attributes only on the front end",id:"override-innerblock-attributes-only-on-the-front-end",level:2},{value:"Add CSS selectors on the parent component inside the block editor",id:"add-css-selectors-on-the-parent-component-inside-the-block-editor",level:2},{value:"How to only use my custom blocks",id:"how-to-only-use-my-custom-blocks",level:2},{value:"I want to use my custom blocks but add some core or third party plugins blocks",id:"i-want-to-use-my-custom-blocks-but-add-some-core-or-third-party-plugins-blocks",level:2},{value:"I want to enable blocks only on specific custom post type",id:"i-want-to-enable-blocks-only-on-specific-custom-post-type",level:2}];function d(e){const o={a:"a",blockquote:"blockquote",code:"code",em:"em",h2:"h2",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.p,{children:(0,n.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/",children:(0,n.jsx)(o.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(o.p,{children:"In our clients' projects, we noticed that sometimes you need to provide something special to your blocks, like changing the block editor block DOM structure or the attributes added inside the inner blocks."}),"\n",(0,n.jsx)(o.p,{children:"These are some of the examples we would like to share with you. We will list all of them and gradually add more."}),"\n",(0,n.jsx)(o.h2,{id:"change-innerblock-attributes",children:"Change innerBlock attributes"}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Usage:"})}),"\n",(0,n.jsxs)(o.ul,{children:["\n",(0,n.jsx)(o.li,{children:"Change attributes in the block editor and on the front-end."}),"\n",(0,n.jsx)(o.li,{children:"Set attributes in the database."}),"\n"]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Use Case:"})}),"\n",(0,n.jsxs)(o.p,{children:["Let's say you have a carousel block, and you have a generic image block that you can use as a standalone block. You create a carousel block and set in its manifest limitation to show only the image block to be inserted as an inner block. This is easy to do: you just add your image block to an ",(0,n.jsx)(o.code,{children:"allowedBlocks"})," array inside the carousel block and everything will work."]}),"\n",(0,n.jsxs)(o.p,{children:["But now you have some default attributes set in that image block that you don't want to be set if the block is added using the innerBlock in the carousel. You can change that using our ",(0,n.jsx)(o.a,{href:"helpers-javascript",children:"overrideInnerBlockAttributes"})," helper. Just add this helper to your block entry point, add the attributes you want to change, and you are all set."]}),"\n",(0,n.jsx)(o.p,{children:"Keep in mind that this will be applied to all innerBlocks inside your carousel block. If you want to limit this to a specific block only, you will need to fiddle around with that block's conditions (you can get that specific block name from the props)."}),"\n",(0,n.jsx)(o.p,{children:"The next time you add your image to the carousel, it will automatically change those attributes."}),"\n",(0,n.jsxs)(o.blockquote,{children:["\n",(0,n.jsx)(o.p,{children:"Important note: If for some reason, you copy the inner block from the carousel to the top-level editor, this helper will not fire and not change back to original attributes. You have to manually remove those attributes from the Code editor in the admin."}),"\n"]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Implementation"})}),"\n",(0,n.jsxs)(o.p,{children:["Here you can see our example of this helper used in the ",(0,n.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/custom/carousel/carousel-block.js",children:"carousel block"}),"."]}),"\n",(0,n.jsx)(o.h2,{id:"provide-simple-wrapper-to-all-innerblock",children:"Provide simple wrapper to all innerBlock"}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Usage:"})}),"\n",(0,n.jsxs)(o.ul,{children:["\n",(0,n.jsx)(o.li,{children:"Change attributes in the block editor and on the front end."}),"\n",(0,n.jsx)(o.li,{children:"Set attributes in the database."}),"\n"]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Use Case:"})}),"\n",(0,n.jsx)(o.p,{children:"All of our blocks come with the wrapper implemented, which is awesome. But sometimes you just don't want to use the wrapper, and you want only to use the simple version of the wrapper. You can provide the attribute overrides in your block, and you are good to go."}),"\n",(0,n.jsxs)(o.p,{children:["But if you need to change attributes in the block added as an innerBlock, you'll have a little problem. You can use the same helper as we did in the previous chapter, or you can use our abstraction of that helper called ",(0,n.jsx)(o.a,{href:"helpers-javascript",children:"overrideInnerBlockSimpleWrapperAttributes"}),"."]}),"\n",(0,n.jsx)(o.p,{children:"This helper will set the wrapper to a simple variant in all your innerBlocks."}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Implementation"})}),"\n",(0,n.jsxs)(o.p,{children:["Here you can see our example of this helper used in the ",(0,n.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/custom/column/column-block.js",children:"column block"}),"."]}),"\n",(0,n.jsx)(o.h2,{id:"override-innerblock-attributes-only-on-the-front-end",children:"Override innerBlock attributes only on the front end"}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Usage:"})}),"\n",(0,n.jsxs)(o.ul,{children:["\n",(0,n.jsx)(o.li,{children:"Change attributes on the front end only."}),"\n",(0,n.jsx)(o.li,{children:"Don't set attributes in the database."}),"\n"]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Use Case:"})}),"\n",(0,n.jsx)(o.p,{children:"If you have a block containing inner blocks and only want to change the attributes on the front end of the implementation and not in the block editor. The standard way is really hard because all the inner blocks are rendered on the front end as an HTML string, and you don't have access to any of the attributes before it is rendered."}),"\n",(0,n.jsx)(o.p,{children:"Luckily, WordPress core has provided us with the filter that can change any block before it is rendered. This filter will provide you an array of blocks and inner blocks, along with the innerBlock and all attributes if you use it correctly."}),"\n",(0,n.jsxs)(o.p,{children:["The filter is called: ",(0,n.jsx)(o.code,{children:"render_block_data"}),", and you can put your implementation in the ",(0,n.jsx)(o.code,{children:"class-blocks.php"})," file. You can find the documentation on this ",(0,n.jsx)(o.a,{href:"https://developer.wordpress.org/reference/hooks/render_block_data/",children:"link"}),"."]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Implementation"})}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.em,{children:"Implementation coming soon."})}),"\n",(0,n.jsx)(o.h2,{id:"add-css-selectors-on-the-parent-component-inside-the-block-editor",children:"Add CSS selectors on the parent component inside the block editor"}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Usage:"})}),"\n",(0,n.jsxs)(o.ul,{children:["\n",(0,n.jsx)(o.li,{children:"Change attributes on the front end only."}),"\n",(0,n.jsx)(o.li,{children:"Don't set attributes in the database."}),"\n"]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Use Case:"})}),"\n",(0,n.jsx)(o.p,{children:"If you tried to create any grid in your block on the front end, you know it is easy, but it is not so with the block editor. The problem is that in the block editor DOM, there are additional divs added over your block that break your HTML structure, and all your styles from flex or grid will not work correctly. If your block depends on some special selector placed in a specific place, you can run into some problems in the block editor."}),"\n",(0,n.jsx)(o.p,{children:"With WordPress block editor hooks, we can fix this by not adding the selector to its original location as we do on the front end but adding them to the Block Editor's parent component."}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Implementation"})}),"\n",(0,n.jsxs)(o.p,{children:["Here you can see our example of this hook used in the ",(0,n.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/custom/column/column-hooks.js",children:"column block"}),"."]}),"\n",(0,n.jsx)(o.h2,{id:"how-to-only-use-my-custom-blocks",children:"How to only use my custom blocks"}),"\n",(0,n.jsxs)(o.p,{children:["You can remove all core blocks and any other blocks provided by third-party plugins by adding this filter to your ",(0,n.jsx)(o.code,{children:"src/Blocks/Blocks.php"})," class."]}),"\n",(0,n.jsx)(o.p,{children:"Filter goes in the register method:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:"// Limits the usage of only custom project blocks.\nadd_filter('allowed_block_types', [ $this, 'getAllBlocksList' ], 10, 2);\n"})}),"\n",(0,n.jsxs)(o.p,{children:["The callback method is set in the parent ",(0,n.jsx)(o.code,{children:"AbstractBlocks"})," class."]}),"\n",(0,n.jsx)(o.h2,{id:"i-want-to-use-my-custom-blocks-but-add-some-core-or-third-party-plugins-blocks",children:"I want to use my custom blocks but add some core or third party plugins blocks"}),"\n",(0,n.jsxs)(o.p,{children:["You create a new callback method for the ",(0,n.jsx)(o.code,{children:"allowed_block_types"})," filter. There you can allow all your custom blocks + any other 3rd party / core block you want."]}),"\n",(0,n.jsx)(o.p,{children:"Filter goes in the register method:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:"// Limits the usage of only custom project blocks.\nadd_filter('allowed_block_types', [ $this, 'allowedBlocks' ], 10, 2);\n"})}),"\n",(0,n.jsx)(o.p,{children:"Custom callback method:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:"/**\n * Filter which blocks are displayed in the block editor.\n *\n * @param array|bool $allowedBlockTypes Array of block type slugs, or boolean to enable/disable all.\n * @param object $post The post resource data.\n *\n * @return array\n */\npublic function allowedBlocks($allowedBlockTypes, object $post): array\n{\n return array_merge(\n $this->getAllBlocksList($allowedBlockTypes, $post),\n [\n 'core/paragraph',\n ]\n );\n}\n"})}),"\n",(0,n.jsx)(o.h2,{id:"i-want-to-enable-blocks-only-on-specific-custom-post-type",children:"I want to enable blocks only on specific custom post type"}),"\n",(0,n.jsxs)(o.p,{children:["You create a new callback method for the ",(0,n.jsx)(o.code,{children:"allowed_block_types"})," filter."]}),"\n",(0,n.jsx)(o.p,{children:"Filter goes in the register method:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:"// Limits the usage of only custom project blocks.\nadd_filter('allowed_block_types', [ $this, 'allowedBlockTypes' ], 10, 2);\n"})}),"\n",(0,n.jsx)(o.p,{children:"Custom callback method:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:"/**\n * Filter which blocks are allowed in what post type.\n *\n * @param array|bool $allowedBlockTypes Array of block type slugs, or boolean to enable/disable all.\n * @param object $post The post resource data.\n *\n * @return array\n */\npublic function allowedBlockTypes($allowedBlockTypes, object $post): array\n{\n $output = [];\n $settings = $this->getSettings();\n $namespace = $settings['namespace'];\n\n switch ($post->post_type) { // phpcs:ignore Squiz.NamingConventions.ValidVariableName.NotCamelCaps\n case 'faq':\n $output = [\n \"{$namespace}/paragraph\",\n ];\n break;\n default:\n $output = $this->getAllBlocksList($allowedBlockTypes, $post);\n break;\n }\n\n return $output;\n}\n"})})]})}function h(e={}){const{wrapper:o}={...(0,s.a)(),...e.components};return o?(0,n.jsx)(o,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},11151:(e,o,t)=>{t.d(o,{Z:()=>r,a:()=>i});var n=t(67294);const s={},l=n.createContext(s);function i(e){const o=n.useContext(l);return n.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function r(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),n.createElement(l.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1698e1d1.7453ed77.js b/assets/js/1698e1d1.7453ed77.js new file mode 100644 index 000000000..d6d1e8c6a --- /dev/null +++ b/assets/js/1698e1d1.7453ed77.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[96768],{65016:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>d,default:()=>h,frontMatter:()=>s,metadata:()=>a,toc:()=>l});var n=i(17624),o=i(4552);const s={id:"conditional-tags",title:"Conditional tags"},d=void 0,a={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.",source:"@site/forms/features/conditional-tags.md",sourceDirName:"features",slug:"/features/conditional-tags",permalink:"/forms/features/conditional-tags",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"conditional-tags",title:"Conditional tags"},sidebar:"forms",previous:{title:"Dashboard",permalink:"/forms/features/dashboard"},next:{title:"Enrichment",permalink:"/forms/features/enrichment"}},c={},l=[{value:"How to use",id:"how-to-use",level:2},{value:"Inner fields",id:"inner-fields",level:2}];function r(e){const t={admonition:"admonition",code:"code",h2:"h2",img:"img",p:"p",...(0,o.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:"Conditional tags are a useful tool that enables you to display or hide form fields based on various conditions."}),"\n",(0,n.jsx)(t.p,{children:"To utilize this feature, navigate to the form builder and select the desired field. You will find the conditional tags section in the block options."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Conditional tags screen",src:i(93116).c+"",width:"757",height:"622"})}),"\n",(0,n.jsx)(t.h2,{id:"how-to-use",children:"How to use"}),"\n",(0,n.jsx)(t.p,{children:"To begin, you must choose whether you want the field to be visible or hidden by default. If you select the field to be hidden by default, it will remain hidden until the specified conditions are met. Similarly, if you choose the field to be visible by default, it will be displayed until the conditions are met."}),"\n",(0,n.jsxs)(t.p,{children:["Then, you need to add exception rules to create conditions. You can choose between using ",(0,n.jsx)(t.code,{children:"OR"})," or ",(0,n.jsx)(t.code,{children:"AND"})," conditions, which can be combined to create complex conditions."]}),"\n",(0,n.jsx)(t.admonition,{type:"tip",children:(0,n.jsx)(t.p,{children:"In order to add a conditional tag to a field, the field must have a name attribute."})}),"\n",(0,n.jsx)(t.admonition,{type:"caution",children:(0,n.jsx)(t.p,{children:"If you change the name of a field, you must save the form and update any conditional tags."})}),"\n",(0,n.jsx)(t.h2,{id:"inner-fields",children:"Inner fields"}),"\n",(0,n.jsxs)(t.p,{children:["When you include a rule that includes a ",(0,n.jsx)(t.code,{children:"checkbox"}),", ",(0,n.jsx)(t.code,{children:"radio"}),", or ",(0,n.jsx)(t.code,{children:"select"})," field, you have the option to check if the field is ",(0,n.jsx)(t.code,{children:"checked"})," or ",(0,n.jsx)(t.code,{children:"unchecked"}),", or if it has a specific ",(0,n.jsx)(t.code,{children:"value"}),"."]}),"\n",(0,n.jsx)(t.p,{children:"To do this, you can add conditional tags to the entire field or each option/field within by selecting that option and providing the necessary rules."}),"\n",(0,n.jsx)(t.admonition,{type:"note",children:(0,n.jsxs)(t.p,{children:["For example, if you hide all inner options of the ",(0,n.jsx)(t.code,{children:"select"})," field, the entire field will be hidden, and vice versa."]})})]})}function h(e={}){const{wrapper:t}={...(0,o.M)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(r,{...e})}):r(e)}},93116:(e,t,i)=>{i.d(t,{c:()=>n});const n=i.p+"assets/images/conditional-tags-98adc4ac754504ede7c153c41bffe4ec.webp"},4552:(e,t,i)=>{i.d(t,{I:()=>a,M:()=>d});var n=i(11504);const o={},s=n.createContext(o);function d(e){const t=n.useContext(s);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(o):e.components||o:d(e.components),n.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1698e1d1.77ad3211.js b/assets/js/1698e1d1.77ad3211.js deleted file mode 100644 index d762f238a..000000000 --- a/assets/js/1698e1d1.77ad3211.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[27773],{56738:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>d,default:()=>h,frontMatter:()=>s,metadata:()=>a,toc:()=>l});var n=i(85893),o=i(11151);const s={id:"conditional-tags",title:"Conditional tags"},d=void 0,a={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.",source:"@site/forms/features/conditional-tags.md",sourceDirName:"features",slug:"/features/conditional-tags",permalink:"/forms/features/conditional-tags",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"conditional-tags",title:"Conditional tags"},sidebar:"forms",previous:{title:"Dashboard",permalink:"/forms/features/dashboard"},next:{title:"Enrichment",permalink:"/forms/features/enrichment"}},c={},l=[{value:"How to use",id:"how-to-use",level:2},{value:"Inner fields",id:"inner-fields",level:2}];function r(e){const t={admonition:"admonition",code:"code",h2:"h2",img:"img",p:"p",...(0,o.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:"Conditional tags are a useful tool that enables you to display or hide form fields based on various conditions."}),"\n",(0,n.jsx)(t.p,{children:"To utilize this feature, navigate to the form builder and select the desired field. You will find the conditional tags section in the block options."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Conditional tags screen",src:i(76773).Z+"",width:"757",height:"622"})}),"\n",(0,n.jsx)(t.h2,{id:"how-to-use",children:"How to use"}),"\n",(0,n.jsx)(t.p,{children:"To begin, you must choose whether you want the field to be visible or hidden by default. If you select the field to be hidden by default, it will remain hidden until the specified conditions are met. Similarly, if you choose the field to be visible by default, it will be displayed until the conditions are met."}),"\n",(0,n.jsxs)(t.p,{children:["Then, you need to add exception rules to create conditions. You can choose between using ",(0,n.jsx)(t.code,{children:"OR"})," or ",(0,n.jsx)(t.code,{children:"AND"})," conditions, which can be combined to create complex conditions."]}),"\n",(0,n.jsx)(t.admonition,{type:"tip",children:(0,n.jsx)(t.p,{children:"In order to add a conditional tag to a field, the field must have a name attribute."})}),"\n",(0,n.jsx)(t.admonition,{type:"caution",children:(0,n.jsx)(t.p,{children:"If you change the name of a field, you must save the form and update any conditional tags."})}),"\n",(0,n.jsx)(t.h2,{id:"inner-fields",children:"Inner fields"}),"\n",(0,n.jsxs)(t.p,{children:["When you include a rule that includes a ",(0,n.jsx)(t.code,{children:"checkbox"}),", ",(0,n.jsx)(t.code,{children:"radio"}),", or ",(0,n.jsx)(t.code,{children:"select"})," field, you have the option to check if the field is ",(0,n.jsx)(t.code,{children:"checked"})," or ",(0,n.jsx)(t.code,{children:"unchecked"}),", or if it has a specific ",(0,n.jsx)(t.code,{children:"value"}),"."]}),"\n",(0,n.jsx)(t.p,{children:"To do this, you can add conditional tags to the entire field or each option/field within by selecting that option and providing the necessary rules."}),"\n",(0,n.jsx)(t.admonition,{type:"note",children:(0,n.jsxs)(t.p,{children:["For example, if you hide all inner options of the ",(0,n.jsx)(t.code,{children:"select"})," field, the entire field will be hidden, and vice versa."]})})]})}function h(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(r,{...e})}):r(e)}},76773:(e,t,i)=>{i.d(t,{Z:()=>n});const n=i.p+"assets/images/conditional-tags-98adc4ac754504ede7c153c41bffe4ec.webp"},11151:(e,t,i)=>{i.d(t,{Z:()=>a,a:()=>d});var n=i(67294);const o={},s=n.createContext(o);function d(e){const t=n.useContext(s);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(o):e.components||o:d(e.components),n.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/17896441.203d3932.js b/assets/js/17896441.203d3932.js new file mode 100644 index 000000000..f37650792 --- /dev/null +++ b/assets/js/17896441.203d3932.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[26752],{28952:(s,e,t)=>{t.d(e,{c:()=>i});t(11504);var c=t(50236),h=t(17624);function i(s){return(0,h.jsx)(c.Ok,{...s})}}}]); \ No newline at end of file diff --git a/assets/js/17896441.34f4d4c0.js b/assets/js/17896441.34f4d4c0.js deleted file mode 100644 index 15bd98016..000000000 --- a/assets/js/17896441.34f4d4c0.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[27918],{25943:(s,e,t)=>{t.d(e,{Z:()=>i});t(67294);var h=t(38970),c=t(85893);function i(s){return(0,c.jsx)(h.SV,{...s})}}}]); \ No newline at end of file diff --git a/assets/js/183053be.3b310b64.js b/assets/js/183053be.3b310b64.js new file mode 100644 index 000000000..1d70518b3 --- /dev/null +++ b/assets/js/183053be.3b310b64.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[22648],{67472:s=>{s.exports=JSON.parse('{"label":"images","permalink":"/blog/tags/images","allTagsPath":"/blog/tags","count":1,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/183053be.74979dac.js b/assets/js/183053be.74979dac.js deleted file mode 100644 index cec245ee6..000000000 --- a/assets/js/183053be.74979dac.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[16586],{14540:s=>{s.exports=JSON.parse('{"label":"images","permalink":"/blog/tags/images","allTagsPath":"/blog/tags","count":1,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/186bf65f.b844103a.js b/assets/js/186bf65f.b844103a.js deleted file mode 100644 index a166687b2..000000000 --- a/assets/js/186bf65f.b844103a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[50434],{21661:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>n,metadata:()=>r,toc:()=>l});var a=t(85893),o=t(11151);const n={id:"example-class",title:"Example Class"},i=void 0,r={id:"legacy/v6/basics/example-class",title:"Example Class",description:"docs-source",source:"@site/docs/legacy/v6/basics/example-class.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/example-class",permalink:"/docs/legacy/v6/basics/example-class",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"example-class",title:"Example Class"},sidebar:"docs",previous:{title:"Autowiring",permalink:"/docs/legacy/v6/basics/autowiring"},next:{title:"Assets Manifest",permalink:"/docs/legacy/v6/basics/manifest"}},c={},l=[];function d(e){const s={a:"a",code:"code",img:"img",p:"p",...(0,o.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(s.p,{children:(0,a.jsx)(s.a,{href:"https://github.com/infinum/eightshift-libs/tree/4.0.0",children:(0,a.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,a.jsxs)(s.p,{children:["As you've already seen in the ",(0,a.jsx)(s.a,{href:"wp-cli",children:"WP-CLI"})," chapter, we have many finished features prepared for you. However, we want to make things even easier for you, so we created an example service class for you to use."]}),"\n",(0,a.jsx)(s.p,{children:"If you want to add a new service class to your project but don't want to write all the boilerplate around it, just use the WP-CLI command:"}),"\n",(0,a.jsx)(s.p,{children:(0,a.jsx)(s.code,{children:"wp boilerplate create_service_example"})}),"\n",(0,a.jsxs)(s.p,{children:["The output will ask you to input the correct folder path relative to the ",(0,a.jsx)(s.code,{children:"src"})," folder and specify the class name.\nEverything else will be done for you like setting the namespace, package, vendor prefixes, class and folder name, and you will be set to write your class."]}),"\n",(0,a.jsx)(s.p,{children:"After that, add your WordPress hooks to the register method, provide its callback, and let the magic happen."})]})}function p(e={}){const{wrapper:s}={...(0,o.a)(),...e.components};return s?(0,a.jsx)(s,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},11151:(e,s,t)=>{t.d(s,{Z:()=>r,a:()=>i});var a=t(67294);const o={},n=a.createContext(o);function i(e){const s=a.useContext(n);return a.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),a.createElement(n.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/186bf65f.f2d43126.js b/assets/js/186bf65f.f2d43126.js new file mode 100644 index 000000000..15e5f1495 --- /dev/null +++ b/assets/js/186bf65f.f2d43126.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[28576],{14460:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>n,metadata:()=>r,toc:()=>l});var a=t(17624),o=t(4552);const n={id:"example-class",title:"Example Class"},i=void 0,r={id:"legacy/v6/basics/example-class",title:"Example Class",description:"docs-source",source:"@site/docs/legacy/v6/basics/example-class.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/example-class",permalink:"/docs/legacy/v6/basics/example-class",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"example-class",title:"Example Class"},sidebar:"docs",previous:{title:"Autowiring",permalink:"/docs/legacy/v6/basics/autowiring"},next:{title:"Assets Manifest",permalink:"/docs/legacy/v6/basics/manifest"}},c={},l=[];function d(e){const s={a:"a",code:"code",img:"img",p:"p",...(0,o.M)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(s.p,{children:(0,a.jsx)(s.a,{href:"https://github.com/infinum/eightshift-libs/tree/4.0.0",children:(0,a.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,a.jsxs)(s.p,{children:["As you've already seen in the ",(0,a.jsx)(s.a,{href:"wp-cli",children:"WP-CLI"})," chapter, we have many finished features prepared for you. However, we want to make things even easier for you, so we created an example service class for you to use."]}),"\n",(0,a.jsx)(s.p,{children:"If you want to add a new service class to your project but don't want to write all the boilerplate around it, just use the WP-CLI command:"}),"\n",(0,a.jsx)(s.p,{children:(0,a.jsx)(s.code,{children:"wp boilerplate create_service_example"})}),"\n",(0,a.jsxs)(s.p,{children:["The output will ask you to input the correct folder path relative to the ",(0,a.jsx)(s.code,{children:"src"})," folder and specify the class name.\nEverything else will be done for you like setting the namespace, package, vendor prefixes, class and folder name, and you will be set to write your class."]}),"\n",(0,a.jsx)(s.p,{children:"After that, add your WordPress hooks to the register method, provide its callback, and let the magic happen."})]})}function p(e={}){const{wrapper:s}={...(0,o.M)(),...e.components};return s?(0,a.jsx)(s,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},4552:(e,s,t)=>{t.d(s,{I:()=>r,M:()=>i});var a=t(11504);const o={},n=a.createContext(o);function i(e){const s=a.useContext(n);return a.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),a.createElement(n.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/18894.5830acd4.js b/assets/js/18894.5830acd4.js deleted file mode 100644 index 0272f1702..000000000 --- a/assets/js/18894.5830acd4.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[18894],{18894:(s,e,h)=>{h.r(e)}}]); \ No newline at end of file diff --git a/assets/js/18ea4958.653172d2.js b/assets/js/18ea4958.653172d2.js deleted file mode 100644 index 38382bba2..000000000 --- a/assets/js/18ea4958.653172d2.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[38042],{24885:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>i,default:()=>l,frontMatter:()=>r,metadata:()=>a,toc:()=>c});var s=n(85893),o=n(11151);const r={id:"spam-prevention",title:"Spam prevention"},i=void 0,a={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.",source:"@site/forms/features/spam-prevention.md",sourceDirName:"features",slug:"/features/spam-prevention",permalink:"/forms/features/spam-prevention",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"spam-prevention",title:"Spam prevention"},sidebar:"forms",previous:{title:"Multi-steps forms",permalink:"/forms/features/multisteps-forms"},next:{title:"Success redirects",permalink:"/forms/features/success-redirect"}},d={},c=[{value:"Free version",id:"free-version",level:2},{value:"Enterprise version",id:"enterprise-version",level:2},{value:"Advanced",id:"advanced",level:2},{value:"Hide badge",id:"hide-badge",level:3},{value:"Spam threshold",id:"spam-threshold",level:3},{value:"On submit action name",id:"on-submit-action-name",level:3},{value:"Load reCAPTCHA on web load",id:"load-recaptcha-on-web-load",level:3}];function h(e){const t={a:"a",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",...(0,o.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(t.p,{children:["We use ",(0,s.jsx)(t.a,{href:"https://www.google.com/recaptcha/about/",children:"Google reCAPTCHA"})," service for spam prevention. You can use the free version or the Enterprise version of reCAPTCHA v3."]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Spam prevention screen",src:n(96390).Z+"",width:"616",height:"622"})}),"\n",(0,s.jsx)(t.h2,{id:"free-version",children:"Free version"}),"\n",(0,s.jsx)(t.p,{children:"Go to the forms global settings, turn on the spam prevention, and provide the site and secret keys."}),"\n",(0,s.jsx)(t.h2,{id:"enterprise-version",children:"Enterprise version"}),"\n",(0,s.jsx)(t.p,{children:"The process is the same as for the free version. You need to turn the Enterprise version on and provide the necessary credentials."}),"\n",(0,s.jsx)(t.h2,{id:"advanced",children:"Advanced"}),"\n",(0,s.jsx)(t.p,{children:"Under the advanced tab, multiple options allow you to customize the spam prevention feature."}),"\n",(0,s.jsx)(t.h3,{id:"hide-badge",children:"Hide badge"}),"\n",(0,s.jsxs)(t.p,{children:["As it is not recommended to hide the badge, we have added this option to allow you to hide it if you need to. Please use this option with caution as it goes against the ",(0,s.jsx)(t.a,{href:"https://developers.google.com/recaptcha/docs/faq#id-like-to-hide-the-recaptcha-badge.-what-is-allowed",children:"Google reCAPTCHA terms of service"}),"."]}),"\n",(0,s.jsx)(t.h3,{id:"spam-threshold",children:"Spam threshold"}),"\n",(0,s.jsx)(t.p,{children:"Google reCaptcha estimates the probability that a user is a human or a bot. It will provide you with a score between 0.0 and 1.0. The higher the score, the more likely the user is a human. The default value is 0.5, but you can change it to 0.0 and 1.0."}),"\n",(0,s.jsx)(t.h3,{id:"on-submit-action-name",children:"On submit action name"}),"\n",(0,s.jsx)(t.p,{children:"You can send custom names to Google reCAPTCHA. This is useful to track the form submissions in Google Analytics or Google Tag Manager."}),"\n",(0,s.jsx)(t.h3,{id:"load-recaptcha-on-web-load",children:"Load reCAPTCHA on web load"}),"\n",(0,s.jsxs)(t.p,{children:["By default, the reCAPTCHA script is loaded when the form is shown. If you want to load it on page load, you can turn on this option and read the captcha score and custom action name from the ",(0,s.jsx)(t.code,{children:"window"})," object."]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Spam prevention advanced screen",src:n(6872).Z+"",width:"623",height:"864"})})]})}function l(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},6872:(e,t,n)=>{n.d(t,{Z:()=>s});const s=n.p+"assets/images/spam-advanced-30aafcab529a9877db052b195241cfc2.webp"},96390:(e,t,n)=>{n.d(t,{Z:()=>s});const s=n.p+"assets/images/spam-09b99553655c096657a57da62f42b764.webp"},11151:(e,t,n)=>{n.d(t,{Z:()=>a,a:()=>i});var s=n(67294);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 a(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/18ea4958.a061d872.js b/assets/js/18ea4958.a061d872.js new file mode 100644 index 000000000..38cc9c0c4 --- /dev/null +++ b/assets/js/18ea4958.a061d872.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[48472],{41396:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>i,default:()=>l,frontMatter:()=>r,metadata:()=>a,toc:()=>c});var s=n(17624),o=n(4552);const r={id:"spam-prevention",title:"Spam prevention"},i=void 0,a={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.",source:"@site/forms/features/spam-prevention.md",sourceDirName:"features",slug:"/features/spam-prevention",permalink:"/forms/features/spam-prevention",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"spam-prevention",title:"Spam prevention"},sidebar:"forms",previous:{title:"Multi-steps forms",permalink:"/forms/features/multisteps-forms"},next:{title:"Success redirects",permalink:"/forms/features/success-redirect"}},d={},c=[{value:"Free version",id:"free-version",level:2},{value:"Enterprise version",id:"enterprise-version",level:2},{value:"Advanced",id:"advanced",level:2},{value:"Hide badge",id:"hide-badge",level:3},{value:"Spam threshold",id:"spam-threshold",level:3},{value:"On submit action name",id:"on-submit-action-name",level:3},{value:"Load reCAPTCHA on web load",id:"load-recaptcha-on-web-load",level:3}];function h(e){const t={a:"a",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",...(0,o.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(t.p,{children:["We use ",(0,s.jsx)(t.a,{href:"https://www.google.com/recaptcha/about/",children:"Google reCAPTCHA"})," service for spam prevention. You can use the free version or the Enterprise version of reCAPTCHA v3."]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Spam prevention screen",src:n(10720).c+"",width:"616",height:"622"})}),"\n",(0,s.jsx)(t.h2,{id:"free-version",children:"Free version"}),"\n",(0,s.jsx)(t.p,{children:"Go to the forms global settings, turn on the spam prevention, and provide the site and secret keys."}),"\n",(0,s.jsx)(t.h2,{id:"enterprise-version",children:"Enterprise version"}),"\n",(0,s.jsx)(t.p,{children:"The process is the same as for the free version. You need to turn the Enterprise version on and provide the necessary credentials."}),"\n",(0,s.jsx)(t.h2,{id:"advanced",children:"Advanced"}),"\n",(0,s.jsx)(t.p,{children:"Under the advanced tab, multiple options allow you to customize the spam prevention feature."}),"\n",(0,s.jsx)(t.h3,{id:"hide-badge",children:"Hide badge"}),"\n",(0,s.jsxs)(t.p,{children:["As it is not recommended to hide the badge, we have added this option to allow you to hide it if you need to. Please use this option with caution as it goes against the ",(0,s.jsx)(t.a,{href:"https://developers.google.com/recaptcha/docs/faq#id-like-to-hide-the-recaptcha-badge.-what-is-allowed",children:"Google reCAPTCHA terms of service"}),"."]}),"\n",(0,s.jsx)(t.h3,{id:"spam-threshold",children:"Spam threshold"}),"\n",(0,s.jsx)(t.p,{children:"Google reCaptcha estimates the probability that a user is a human or a bot. It will provide you with a score between 0.0 and 1.0. The higher the score, the more likely the user is a human. The default value is 0.5, but you can change it to 0.0 and 1.0."}),"\n",(0,s.jsx)(t.h3,{id:"on-submit-action-name",children:"On submit action name"}),"\n",(0,s.jsx)(t.p,{children:"You can send custom names to Google reCAPTCHA. This is useful to track the form submissions in Google Analytics or Google Tag Manager."}),"\n",(0,s.jsx)(t.h3,{id:"load-recaptcha-on-web-load",children:"Load reCAPTCHA on web load"}),"\n",(0,s.jsxs)(t.p,{children:["By default, the reCAPTCHA script is loaded when the form is shown. If you want to load it on page load, you can turn on this option and read the captcha score and custom action name from the ",(0,s.jsx)(t.code,{children:"window"})," object."]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Spam prevention advanced screen",src:n(37800).c+"",width:"623",height:"864"})})]})}function l(e={}){const{wrapper:t}={...(0,o.M)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},37800:(e,t,n)=>{n.d(t,{c:()=>s});const s=n.p+"assets/images/spam-advanced-30aafcab529a9877db052b195241cfc2.webp"},10720:(e,t,n)=>{n.d(t,{c:()=>s});const s=n.p+"assets/images/spam-09b99553655c096657a57da62f42b764.webp"},4552:(e,t,n)=>{n.d(t,{I:()=>a,M:()=>i});var s=n(11504);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 a(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/19a6ffde.3877e950.js b/assets/js/19a6ffde.3877e950.js deleted file mode 100644 index 386d9582a..000000000 --- a/assets/js/19a6ffde.3877e950.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[21958],{94012:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>i,toc:()=>l});var n=s(85893),r=s(11151);const o={id:"blocks-patterns",title:"Patterns"},a=void 0,i={id:"legacy/v7/basics/blocks-patterns",title:"Patterns",description:"docs-source",source:"@site/docs/legacy/v7/basics/blocks-patterns.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/blocks-patterns",permalink:"/docs/legacy/v7/basics/blocks-patterns",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-patterns",title:"Patterns"},sidebar:"docs",previous:{title:"Variations",permalink:"/docs/legacy/v7/basics/blocks-variations"},next:{title:"Transforms",permalink:"/docs/legacy/v7/basics/blocks-transforms"}},c={},l=[{value:"Remove all core patterns",id:"remove-all-core-patterns",level:3}];function d(e){const t={a:"a",code:"code",em:"em",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,r.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(t.p,{children:"Block Patterns are predefined block layouts, ready to insert and tweak."}),"\n",(0,n.jsxs)(t.p,{children:["You can check the ",(0,n.jsx)(t.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-patterns/",children:"WordPress documentation"})," on this subject."]}),"\n",(0,n.jsxs)(t.p,{children:["Patterns are (as we understand them) the same thing as block variations. The main difference is that you can provide full layouts with patterns, as described in ",(0,n.jsx)(t.a,{href:"blocks-variations#limitations",children:"this chapter"}),". You can also provide the full page layouts with our variations."]}),"\n",(0,n.jsx)(t.p,{children:"This means that the only differences between our variations and block patterns are:"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Variations"})}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"Variations provide data using our manifest.json file (the rest is handled using JavaScript)."}),"\n",(0,n.jsx)(t.li,{children:"Variations appear in the editor next to the static blocks."}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Patterns"})}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"Patterns are registered using PHP."}),"\n",(0,n.jsx)(t.li,{children:"Patterns appear in the editor inside the special tab for patterns."}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.em,{children:"We will soon provide WP-CLI command to automaticity create block patterns, boilerplate class, for you to use."})}),"\n",(0,n.jsx)(t.h3,{id:"remove-all-core-patterns",children:"Remove all core patterns"}),"\n",(0,n.jsx)(t.p,{children:"If you don't use core blocks, core patterns won't work. Don't confuse your users and remove them (but feel free to add new patterns based on your own custom blocks!)"}),"\n",(0,n.jsxs)(t.p,{children:["To remove all core patterns add this code to you ",(0,n.jsx)(t.code,{children:"src/Blocks/Blocks.php"})," class."]}),"\n",(0,n.jsx)(t.p,{children:"Filter goes in the register method:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"// Remove block patterns.\nadd_filter('block_editor_settings', [$this, 'removeCorePatterns']);\n"})}),"\n",(0,n.jsx)(t.p,{children:"Callback method:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"/**\n\t* Remove core block patterns\n\t*\n\t* @param array $settings Array of block editor settings to filter out.\n\t*\n\t* @return array Filtered array.\n\t*/\npublic function removeCorePatterns(array $settings): array\n{\n\t$settings['__experimentalBlockPatterns'] = [];\n\n\treturn $settings;\n}\n"})})]})}function h(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},11151:(e,t,s)=>{s.d(t,{Z:()=>i,a:()=>a});var n=s(67294);const r={},o=n.createContext(r);function a(e){const t=n.useContext(o);return n.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(r):e.components||r:a(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/19a6ffde.b73b0e82.js b/assets/js/19a6ffde.b73b0e82.js new file mode 100644 index 000000000..5c3e69c42 --- /dev/null +++ b/assets/js/19a6ffde.b73b0e82.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[90320],{69824:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>i,toc:()=>l});var n=s(17624),r=s(4552);const o={id:"blocks-patterns",title:"Patterns"},a=void 0,i={id:"legacy/v7/basics/blocks-patterns",title:"Patterns",description:"docs-source",source:"@site/docs/legacy/v7/basics/blocks-patterns.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/blocks-patterns",permalink:"/docs/legacy/v7/basics/blocks-patterns",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-patterns",title:"Patterns"},sidebar:"docs",previous:{title:"Variations",permalink:"/docs/legacy/v7/basics/blocks-variations"},next:{title:"Transforms",permalink:"/docs/legacy/v7/basics/blocks-transforms"}},c={},l=[{value:"Remove all core patterns",id:"remove-all-core-patterns",level:3}];function d(e){const t={a:"a",code:"code",em:"em",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,r.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(t.p,{children:"Block Patterns are predefined block layouts, ready to insert and tweak."}),"\n",(0,n.jsxs)(t.p,{children:["You can check the ",(0,n.jsx)(t.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-patterns/",children:"WordPress documentation"})," on this subject."]}),"\n",(0,n.jsxs)(t.p,{children:["Patterns are (as we understand them) the same thing as block variations. The main difference is that you can provide full layouts with patterns, as described in ",(0,n.jsx)(t.a,{href:"blocks-variations#limitations",children:"this chapter"}),". You can also provide the full page layouts with our variations."]}),"\n",(0,n.jsx)(t.p,{children:"This means that the only differences between our variations and block patterns are:"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Variations"})}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"Variations provide data using our manifest.json file (the rest is handled using JavaScript)."}),"\n",(0,n.jsx)(t.li,{children:"Variations appear in the editor next to the static blocks."}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Patterns"})}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"Patterns are registered using PHP."}),"\n",(0,n.jsx)(t.li,{children:"Patterns appear in the editor inside the special tab for patterns."}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.em,{children:"We will soon provide WP-CLI command to automaticity create block patterns, boilerplate class, for you to use."})}),"\n",(0,n.jsx)(t.h3,{id:"remove-all-core-patterns",children:"Remove all core patterns"}),"\n",(0,n.jsx)(t.p,{children:"If you don't use core blocks, core patterns won't work. Don't confuse your users and remove them (but feel free to add new patterns based on your own custom blocks!)"}),"\n",(0,n.jsxs)(t.p,{children:["To remove all core patterns add this code to you ",(0,n.jsx)(t.code,{children:"src/Blocks/Blocks.php"})," class."]}),"\n",(0,n.jsx)(t.p,{children:"Filter goes in the register method:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"// Remove block patterns.\nadd_filter('block_editor_settings', [$this, 'removeCorePatterns']);\n"})}),"\n",(0,n.jsx)(t.p,{children:"Callback method:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"/**\n\t* Remove core block patterns\n\t*\n\t* @param array $settings Array of block editor settings to filter out.\n\t*\n\t* @return array Filtered array.\n\t*/\npublic function removeCorePatterns(array $settings): array\n{\n\t$settings['__experimentalBlockPatterns'] = [];\n\n\treturn $settings;\n}\n"})})]})}function h(e={}){const{wrapper:t}={...(0,r.M)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},4552:(e,t,s)=>{s.d(t,{I:()=>i,M:()=>a});var n=s(11504);const r={},o=n.createContext(r);function a(e){const t=n.useContext(o);return n.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(r):e.components||r:a(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1a4e3797.4d900f68.js b/assets/js/1a4e3797.4d900f68.js new file mode 100644 index 000000000..9137b15d7 --- /dev/null +++ b/assets/js/1a4e3797.4d900f68.js @@ -0,0 +1,2 @@ +/*! For license information please see 1a4e3797.4d900f68.js.LICENSE.txt */ +(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[39648],{98396: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;u0&&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)}},49380:(e,t,r)=>{"use strict";var n=r(8640),i=r(67468),s=r(28328);function a(e,t,r,i){return new n(e,t,r,i)}a.version=r(8348),a.AlgoliaSearchHelper=n,a.SearchParameters=i,a.SearchResults=s,e.exports=a},41080:(e,t,r)=>{"use strict";var n=r(98396);function i(e,t){this.main=e,this.fn=t,this.lastResults=null}r(44648)(i,n),i.prototype.detach=function(){this.removeAllListeners(),this.main.detachDerivedHelper(this)},i.prototype.getModifiedState=function(e){return this.fn(e)},e.exports=i},60672:(e,t,r)=>{"use strict";var n=r(14592),i=r(17980),s=r(62760),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},67468:(e,t,r)=>{"use strict";var n=r(14592),i=r(72552),s=r(44672),a=r(24440),c=r(17980),u=r(62760),o=r(33600),h=r(80032),f=r(60672);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},62100:(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{"use strict";var n=r(91400),i=r(14592),s=r(66332),a=r(72552),c=r(29160),u=r(34975),o=r(24440),h=r(77072),f=s.escapeFacetValue,l=s.unescapeFacetValue,m=r(62100);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],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},8640:(e,t,r)=>{"use strict";var n=r(98396),i=r(41080),s=r(66332).escapeFacetValue,a=r(44648),c=r(24440),u=r(17980),o=r(62760),h=r(29256),f=r(67468),l=r(28328),m=r(8348);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(!(t0},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},91400:e=>{"use strict";e.exports=function(e){return Array.isArray(e)?e.filter(Boolean):[]}},14592: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}),{})}},66332: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(/^\\-/,"-")}}},72552:e=>{"use strict";e.exports=function(e,t){if(Array.isArray(e))for(var r=0;r{"use strict";e.exports=function(e,t){if(!Array.isArray(e))return-1;for(var r=0;r{"use strict";var n=r(72552);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)}),[[],[]])}},44648:e=>{"use strict";e.exports=function(e,t){e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}},44672:e=>{"use strict";e.exports=function(e,t){return e.filter((function(r,n){return t.indexOf(r)>-1&&e.indexOf(r)===n}))}},24440: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{"use strict";e.exports=function(e){return e&&Object.keys(e).length>0}},62760:e=>{"use strict";e.exports=function(e,t){if(null===e)return{};var r,n,i={},s=Object.keys(e);for(n=0;n=0||(i[r]=e[r]);return i}},77072: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=n.length?s:"desc"===n[i]?-s:s}return e.index-r.index})),i.map((function(e){return e.value}))}},33600: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.")}},29256:(e,t,r)=>{"use strict";var n=r(24440);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},80032:e=>{"use strict";e.exports=function(e){return null!==e&&/^[a-zA-Z0-9_-]{1,64}$/.test(e)}},8348:e=>{"use strict";e.exports="3.16.2"},84420: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=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n=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);t2&&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;n0?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&&0==~~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 0!=(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 0!=(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}()},95944:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(11504),i=r(28264);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.c)();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)}}},43416:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>w});var n=r(11504),i=r(65456),s=r(49380),a=r.n(s),c=r(84420),u=r.n(c),o=r(98684),h=r(56952),f=r(10867),l=r(62840),m=r(95944),d=r(27092),p=r(91100),v=r(85008),g=r(28648),y=r(84357),R=r(28264),F=r(48589),b=r(39032),j=r(520),P=r(56448);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(17624);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.c)("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.c)(),{algolia:{appId:t,apiKey:r,indexName:s}}=(0,F.E)(),c=(0,b.Q)(),v=function(){const{selectMessage:e}=(0,m.A)();return t=>e(t,(0,y.G)({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.L0)(),[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.a)(),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.c.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.G)({id:"theme.SearchPage.existingResultsTitle",message:'Search results for "{query}"',description:"The search page title for non-empty query"},{query:w}):(0,y.G)({id:"theme.SearchPage.emptyResultsTitle",message:"Search the documentation",description:"The search page title for empty query"}),V=(0,p.yA)((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.c,{children:[(0,_.jsxs)(h.c,{children:[(0,_.jsx)("title",{children:(0,g.g)(q())}),(0,_.jsx)("meta",{property:"robots",content:"noindex, follow"})]}),(0,_.jsxs)("div",{className:"container margin-vert--lg",children:[(0,_.jsx)(P.c,{as:"h1",children:q()}),(0,_.jsxs)("form",{className:"row",onSubmit:e=>e.preventDefault(),children:[(0,_.jsx)("div",{className:(0,i.c)("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.G)({id:"theme.SearchPage.inputPlaceholder",message:"Type your search here",description:"The placeholder for search page input"}),"aria-label":(0,y.G)({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.c)("col","col--8",x.searchResultsColumn),children:!!H.totalResults&&v(H.totalResults)}),(0,_.jsx)("div",{className:(0,i.c)("col","col--4","text--right",x.searchLogoColumn),children:(0,_.jsx)(f.c,{to:"https://www.algolia.com/","aria-label":(0,y.G)({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.c,{as:"h2",className:x.searchResultItemHeading,children:(0,_.jsx)(f.c,{to:n,dangerouslySetInnerHTML:{__html:r}})}),a.length>0&&(0,_.jsx)("nav",{"aria-label":"breadcrumbs",children:(0,_.jsx)("ul",{className:(0,i.c)("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.c,{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.c,{id:"theme.SearchPage.fetchingNewResults",description:"The paragraph for fetching new search results",children:"Fetching new results..."})})]})]})}function w(){return(0,_.jsx)(v.cr,{className:"search-page-wrapper",children:(0,_.jsx)(O,{})})}}}]); \ No newline at end of file diff --git a/assets/js/1a4e3797.df762252.js.LICENSE.txt b/assets/js/1a4e3797.4d900f68.js.LICENSE.txt similarity index 100% rename from assets/js/1a4e3797.df762252.js.LICENSE.txt rename to assets/js/1a4e3797.4d900f68.js.LICENSE.txt diff --git a/assets/js/1a4e3797.df762252.js b/assets/js/1a4e3797.df762252.js deleted file mode 100644 index fa765de56..000000000 --- a/assets/js/1a4e3797.df762252.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! For license information please see 1a4e3797.df762252.js.LICENSE.txt */ -(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[97920],{17331: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;u0&&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)}},8131:(e,t,r)=>{"use strict";var n=r(49374),i=r(17775),s=r(23076);function a(e,t,r,i){return new n(e,t,r,i)}a.version=r(24336),a.AlgoliaSearchHelper=n,a.SearchParameters=i,a.SearchResults=s,e.exports=a},68078:(e,t,r)=>{"use strict";var n=r(17331);function i(e,t){this.main=e,this.fn=t,this.lastResults=null}r(14853)(i,n),i.prototype.detach=function(){this.removeAllListeners(),this.main.detachDerivedHelper(this)},i.prototype.getModifiedState=function(e){return this.fn(e)},e.exports=i},82437:(e,t,r)=>{"use strict";var n=r(52344),i=r(90116),s=r(49803),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},17775:(e,t,r)=>{"use strict";var n=r(52344),i=r(7888),s=r(22686),a=r(60185),c=r(90116),u=r(49803),o=r(28023),h=r(46801),f=r(82437);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},10210:(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{"use strict";var n=r(74587),i=r(52344),s=r(94039),a=r(7888),c=r(69725),u=r(82293),o=r(60185),h=r(42148),f=s.escapeFacetValue,l=s.unescapeFacetValue,m=r(10210);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],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},49374:(e,t,r)=>{"use strict";var n=r(17331),i=r(68078),s=r(94039).escapeFacetValue,a=r(14853),c=r(60185),u=r(90116),o=r(49803),h=r(96394),f=r(17775),l=r(23076),m=r(24336);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(!(t0},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},74587:e=>{"use strict";e.exports=function(e){return Array.isArray(e)?e.filter(Boolean):[]}},52344: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}),{})}},94039: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(/^\\-/,"-")}}},7888:e=>{"use strict";e.exports=function(e,t){if(Array.isArray(e))for(var r=0;r{"use strict";e.exports=function(e,t){if(!Array.isArray(e))return-1;for(var r=0;r{"use strict";var n=r(7888);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)}),[[],[]])}},14853:e=>{"use strict";e.exports=function(e,t){e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}},22686:e=>{"use strict";e.exports=function(e,t){return e.filter((function(r,n){return t.indexOf(r)>-1&&e.indexOf(r)===n}))}},60185: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{"use strict";e.exports=function(e){return e&&Object.keys(e).length>0}},49803:e=>{"use strict";e.exports=function(e,t){if(null===e)return{};var r,n,i={},s=Object.keys(e);for(n=0;n=0||(i[r]=e[r]);return i}},42148: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=n.length?s:"desc"===n[i]?-s:s}return e.index-r.index})),i.map((function(e){return e.value}))}},28023: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.")}},96394:(e,t,r)=>{"use strict";var n=r(60185);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},46801:e=>{"use strict";e.exports=function(e){return null!==e&&/^[a-zA-Z0-9_-]{1,64}$/.test(e)}},24336:e=>{"use strict";e.exports="3.16.2"},70290: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=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n=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);t2&&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;n0?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&&0==~~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 0!=(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 0!=(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:I}}).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)}},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)}},D=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 D>=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:I,findAnswers:Q}})}}}}))}return V.version="4.22.1",V}()},88824:(e,t,r)=>{"use strict";r.d(t,{c:()=>o});var n=r(67294),i=r(52263);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.Z)();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)}}},48852:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>A});var n=r(67294);function i(e){var t,r,n="";if("string"==typeof e||"number"==typeof e)n+=e;else if("object"==typeof e)if(Array.isArray(e)){var s=e.length;for(t=0;t{let[,t]=e;return t.versions.length>1}));return(0,E.jsx)("div",{className:s("col","col--3","padding-left--none",_.searchVersionColumn),children:r.map((e=>{let[n,i]=e;const s=r.length>1?n+": ":"";return(0,E.jsx)("select",{onChange:e=>t.setSearchVersion(n,e.target.value),defaultValue:t.searchVersions[n],className:_.searchVersionInput,children:i.versions.map(((e,t)=>(0,E.jsx)("option",{label:""+s+e.label,value:e.name},t)))},n)}))})}function w(){const{i18n:{currentLocale:e}}=(0,F.Z)(),{algolia:{appId:t,apiKey:r,indexName:i}}=(0,b.L)(),a=(0,j.l)(),u=function(){const{selectMessage:e}=(0,d.c)();return t=>e(t,(0,R.I)({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}))}(),g=function(){const e=(0,m._r)(),[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,p.K)(),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=o()(t,r),Q=c()(T,i,{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 c=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=>c(r[e].value)));return{title:i.pop(),url:a(t),summary:n.content?c(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,I]=(0,n.useState)(null),D=(0,n.useRef)(0),k=(0,n.useRef)(h.Z.canUseIntersectionObserver&&new IntersectionObserver((e=>{const{isIntersecting:t,boundingClientRect:{y:r}}=e[0];t&&D.current>r&&S({type:"advance"}),D.current=r}),{threshold:1})),q=()=>w?(0,R.I)({id:"theme.SearchPage.existingResultsTitle",message:'Search results for "{query}"',description:"The search page title for non-empty query"},{query:w}):(0,R.I)({id:"theme.SearchPage.emptyResultsTitle",message:"Search the documentation",description:"The search page title for empty query"}),V=(0,v.zX)((function(t){void 0===t&&(t=0),Q.addDisjunctiveFacetRefinement("docusaurus_tag","default"),Q.addDisjunctiveFacetRefinement("language",e),Object.entries(g.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,g.searchVersions,V]),(0,n.useEffect)((()=>{H.lastPage&&0!==H.lastPage&&V(H.lastPage)}),[V,H.lastPage]),(0,E.jsxs)(P.Z,{children:[(0,E.jsxs)(f.Z,{children:[(0,E.jsx)("title",{children:(0,y.p)(q())}),(0,E.jsx)("meta",{property:"robots",content:"noindex, follow"})]}),(0,E.jsxs)("div",{className:"container margin-vert--lg",children:[(0,E.jsx)(x.Z,{as:"h1",children:q()}),(0,E.jsxs)("form",{className:"row",onSubmit:e=>e.preventDefault(),children:[(0,E.jsx)("div",{className:s("col",_.searchQueryColumn,{"col--9":g.versioningEnabled,"col--12":!g.versioningEnabled}),children:(0,E.jsx)("input",{type:"search",name:"q",className:_.searchQueryInput,placeholder:(0,R.I)({id:"theme.SearchPage.inputPlaceholder",message:"Type your search here",description:"The placeholder for search page input"}),"aria-label":(0,R.I)({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})}),g.versioningEnabled&&(0,E.jsx)(O,{docsSearchVersionsHelpers:g})]}),(0,E.jsxs)("div",{className:"row",children:[(0,E.jsx)("div",{className:s("col","col--8",_.searchResultsColumn),children:!!H.totalResults&&u(H.totalResults)}),(0,E.jsx)("div",{className:s("col","col--4","text--right",_.searchLogoColumn),children:(0,E.jsx)(l.Z,{to:"https://www.algolia.com/","aria-label":(0,R.I)({id:"theme.SearchPage.algoliaLabel",message:"Search by Algolia",description:"The ARIA label for Algolia mention"}),children:(0,E.jsx)("svg",{viewBox:"0 0 168 24",className:_.algoliaLogo,children:(0,E.jsxs)("g",{fill:"none",children:[(0,E.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,E.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,E.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,E.jsx)("main",{children:H.items.map(((e,t)=>{let{title:r,url:n,summary:i,breadcrumbs:a}=e;return(0,E.jsxs)("article",{className:_.searchResultItem,children:[(0,E.jsx)(x.Z,{as:"h2",className:_.searchResultItemHeading,children:(0,E.jsx)(l.Z,{to:n,dangerouslySetInnerHTML:{__html:r}})}),a.length>0&&(0,E.jsx)("nav",{"aria-label":"breadcrumbs",children:(0,E.jsx)("ul",{className:s("breadcrumbs",_.searchResultItemPath),children:a.map(((e,t)=>(0,E.jsx)("li",{className:"breadcrumbs__item",dangerouslySetInnerHTML:{__html:e}},t)))})}),i&&(0,E.jsx)("p",{className:_.searchResultItemSummary,dangerouslySetInnerHTML:{__html:i}})]},t)}))}):[w&&!H.loading&&(0,E.jsx)("p",{children:(0,E.jsx)(R.Z,{id:"theme.SearchPage.noResultsText",description:"The paragraph for empty search result",children:"No results were found"})},"no-results"),!!H.loading&&(0,E.jsx)("div",{className:_.loadingSpinner},"spinner")],H.hasMore&&(0,E.jsx)("div",{className:_.loader,ref:I,children:(0,E.jsx)(R.Z,{id:"theme.SearchPage.fetchingNewResults",description:"The paragraph for fetching new search results",children:"Fetching new results..."})})]})]})}function A(){return(0,E.jsx)(g.FG,{className:"search-page-wrapper",children:(0,E.jsx)(w,{})})}}}]); \ No newline at end of file diff --git a/assets/js/1a6a2ec3.111b3ea2.js b/assets/js/1a6a2ec3.111b3ea2.js new file mode 100644 index 000000000..780375786 --- /dev/null +++ b/assets/js/1a6a2ec3.111b3ea2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[41332],{57228:(e,o,t)=>{t.r(o),t.d(o,{assets:()=>s,contentTitle:()=>r,default:()=>u,frontMatter:()=>l,metadata:()=>a,toc:()=>f});var n=t(17624),i=t(4552);const l={id:"geolocation",title:"Geolocation"},r=void 0,a={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.",source:"@site/forms/features/geolocation.md",sourceDirName:"features",slug:"/features/geolocation",permalink:"/forms/features/geolocation",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"geolocation",title:"Geolocation"},sidebar:"forms",previous:{title:"Enrichment",permalink:"/forms/features/enrichment"},next:{title:"Validation",permalink:"/forms/features/validation"}},s={},f=[{value:"Where do you get the geolocation database from?",id:"where-do-you-get-the-geolocation-database-from",level:2},{value:"Where do you get the country list from?",id:"where-do-you-get-the-country-list-from",level:2},{value:"How to configure geolocation?",id:"how-to-configure-geolocation",level:2},{value:"Show only option",id:"show-only-option",level:3},{value:"Advanced rules",id:"advanced-rules",level:3},{value:"Rule preview",id:"rule-preview",level:3},{value:"Cloudflare",id:"cloudflare",level:2}];function d(e){const o={a:"a",admonition:"admonition",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",ul:"ul",...(0,i.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.p,{children:"Geolocation is a feature that allows you to show different versions of the forms based on the user's geolocation location."}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.img,{alt:"Geolocation screen",src:t(18232).c+"",width:"643",height:"287"})}),"\n",(0,n.jsx)(o.admonition,{type:"caution",children:(0,n.jsx)(o.p,{children:"Geolocation is never 100% accurate. It is based on the user's IP address, which can be spoofed or changed. We recommend using this feature as a way to provide a better user experience."})}),"\n",(0,n.jsx)(o.h2,{id:"where-do-you-get-the-geolocation-database-from",children:"Where do you get the geolocation database from?"}),"\n",(0,n.jsxs)(o.p,{children:["By default, our geolocation service uses the ",(0,n.jsx)(o.a,{href:"https://www.maxmind.com/",children:"GeoLite2 MaxMind ID database"})," to determine a user's location. However, our filters allow you to provide your database."]}),"\n",(0,n.jsx)(o.h2,{id:"where-do-you-get-the-country-list-from",children:"Where do you get the country list from?"}),"\n",(0,n.jsx)(o.p,{children:"We use DataHub to list countries for the dropdown menu to select the country of usage."}),"\n",(0,n.jsxs)(o.p,{children:[(0,n.jsx)(o.a,{href:"https://datahub.io/core/country-list",children:"All releases are listed here"})," and our implementation is located on ",(0,n.jsx)(o.a,{href:"https://github.com/infinum/eightshift-forms/blob/develop/data/country/manifest.json",children:"this link"}),"."]}),"\n",(0,n.jsx)(o.p,{children:"With the default countries list, we have made a few groups:"}),"\n",(0,n.jsxs)(o.ul,{children:["\n",(0,n.jsx)(o.li,{children:"Europe"}),"\n",(0,n.jsx)(o.li,{children:"European Union"}),"\n",(0,n.jsx)(o.li,{children:"Ex Yugoslavia"}),"\n"]}),"\n",(0,n.jsx)(o.p,{children:"but you can also provide your list by using our filters."}),"\n",(0,n.jsx)(o.h2,{id:"how-to-configure-geolocation",children:"How to configure geolocation?"}),"\n",(0,n.jsx)(o.p,{children:'If you want to set up a single form that can adapt to different versions based on the user\'s location, navigate to the form usage page (a page, post, custom post type, etc.) and select the "Geolocation" tab.'}),"\n",(0,n.jsx)(o.p,{children:"On this tab, you will see various settings that allow you to customize the form for different geographic regions."}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.img,{alt:"Geolocation block settings screen",src:t(86992).c+"",width:"327",height:"302"})}),"\n",(0,n.jsx)(o.h3,{id:"show-only-option",children:"Show only option"}),"\n",(0,n.jsx)(o.p,{children:"This feature will limit this form only to be shown to the users from the selected country."}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.img,{alt:"Geolocation only use screen",src:t(11668).c+"",width:"303",height:"372"})}),"\n",(0,n.jsx)(o.h3,{id:"advanced-rules",children:"Advanced rules"}),"\n",(0,n.jsx)(o.p,{children:"This feature will allow you to create multiple geolocation rules using the Geolocation modal window.\nAdd a new rule, then a new form on the left, and provide one or multiple countries on the right."}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.img,{alt:"Geolocation modal screen",src:t(92488).c+"",width:"838",height:"518"})}),"\n",(0,n.jsx)(o.h3,{id:"rule-preview",children:"Rule preview"}),"\n",(0,n.jsx)(o.p,{children:"This toggle is here to help you preview what you have configured so far. It will show you all the forms shown to the user based on the geolocation rules."}),"\n",(0,n.jsx)(o.h2,{id:"cloudflare",children:"Cloudflare"}),"\n",(0,n.jsxs)(o.p,{children:["If you have Cloudflare turned on for your project, please make sure that you read the ",(0,n.jsx)(o.a,{href:"cloudflare",children:"Cloudflare documentation"})," to make sure that the geolocation feature works as expected."]})]})}function u(e={}){const{wrapper:o}={...(0,i.M)(),...e.components};return o?(0,n.jsx)(o,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},86992:(e,o,t)=>{t.d(o,{c:()=>n});const n="data:image/webp;base64,UklGRiYgAABXRUJQVlA4IBogAAAwdgCdASpHAS4BPjEWikQiISERSIToIAMEtLd+H1y+EDgRTkJbefBjavN8hlAPpvygG0q/qB72fOgdZn+zvsS9Mf+rX6zfAB+vf/s1oHxv/Qfxe75/53+LX9f/8H989p/wr4n+d/jn/Tf/V/l+bz0H5jfw/6rfTv6d+wn9n/ab4K/xn9D8X/fB+r/lF/bP2Z+wL8T/i39J/s/7Lf2P9tPaF/nPyO8EzUf81/p/UC9MvkX9i/tn7S/2b9sfV9/Rfyq91fyf+af0X8ev679gH8M/jv9h/vX7Kf2n/6/S/+q/uXimd7/8D+V/AB/Hf5t/dv7B/oP9h/cv/59pP7B/kv73+5n+N///u4/JP7N/mP8T+8H9v////o/QP+MfzD/B/2v/Gf8f++f///q/cj64v2i9jP9WP9x+f4taDfk4jVJwSoY+i+C6mVFWnszFk9Z5/3aCyes8/etlh3m1GG98Wt67H4hJ8h8EmfmcpIccGBL7AnRQ9Xwxvx5qLRBYbn8gRp1yMbYug4uZfnm+JS/QBFFdAQTMo+yw3pxY/8bQDSa6WPwCqOuZvpKWBm+S3688pRHQ9zo+PQ1BwEyTA/ALSGvjuFT778NNDHU4W8aFOYnUsHT5xjADbR0gmW2miLSF/zjE2DoNXpHVrdhfsH6OppXWUiPTfJwpUEchhK2kdKocbIVoNDH0XwQ2LzxQkZRyMCnByHQHikDYDKVi8D5qWdLhnx9F8F00MNAyyVvRJpjH0XwXUyotlsR7UCzGOUaVcvDQrfP3rTMF9NVjWt+KlhoWqZosS5eYRJD7r9jSfOykp0nwRf4pnfUx/ve2HtIuec83Mwy6dYpZwCituNRQ6OtSm5FBpqn3j/ncsb2doniWjsyqtOctNae2/0/lG9XnlFhSU4uhjQSLcM7ebYzvksXtb9bi379UnG7fcUs6vUJ+/q5RpkpCHmK3Y0ewxLXKkHBlUy3F+X3OoSSe55Tc5kOv9xoYlFicQHU2D7NXpHyjlfRXJ/1KVZWR4cCN1GzknT0/Vc4iepvt5NozqeKGVWG9xwHpUOl8442/4QjHXX0YCJKkhyAmobw5D4D/yhyOyFqX0g8aqNivAVRN7Rn34NPBSn9lz0vpjr43FXcy7Z85ZEl/BOplQx4QeKkJIoVr4pjCDeWuWlc8NXczEuNNRqceFKryhp1BIY252V3qr0riGub7hkUuMCVDYTrivy4eXi7ucPN/QPoQ25KqntvpZvVJUMfNBNMjbFxDDVUBZ9v4mwfZq9I+VbrAtAAA/v49wOJgyUR4Ld9i/D3Ql3HyGgA+VbTE3kZP95slTNABebI14AfSqHK1/8Mzay+nYkF4XsIj/XKhtKHSe7FEWBXzwbySpPqgm4IkXPoYaKSN54X3K272K9HNnwAcc0CmdVyqqFEOvN08Z/htuGfaCp6FvtBrpASwkKrR2OAsad8tQlChtkwt0j3QCIWe4MRrmYW2/lWVs3cfPSikRZPGMP/AV6BqDsE5gH3tavsYdjk1SZD3URMiQM9vevM5XnSqOJ/bd+zhf+xlXMmdFv6AeNOj85pk0WGDz9vfRmlF/2OHzXweVpsSFDaMZL25d6x+WyLdwlugSqW3MyYoaUN8bVDM5oXC/w+LhIVFKme2Wx57aNrdMIa+J/pXtrpIjNPy9bJ8S+EIxO0YETNvX+7McjegmDV6gQ7kbLezXcD+5DkU7U2B3jy5ZutBwwT5r70/5XYB/6EB01t6YnY9CQNDHSNTSu/pPEXazu4iW7nMsbFK7JSKZ2r25O9LSvlr0y+eWQAi/tgV4JKBieyaIKpkHl0OY3xeoRolC5u6oRPYh/kYsWoQSgrJVOhLm/07mGtAM3fnzGFqN275jcJEAORxJ3zlAgIn3HAsddZwwD0iH6NElNTK4RL78KKmo9W7xS3PJjnbK8UZl41H9tDgd+uoo94N4qBB2j8KGLGtRZpRkugNS4T1N0dzFy96AwNddNOZPEiN1ft84gMd7bGxBNDXV4r45wBeTBl977FjcOdLtzL3hg7LK2pQLlXh1kqP+SI0i8oOsZFwtpMbhrrO39cEz5h+YbE4i+W5Vce10zmPENOGF3z3m0AHt4Gc9YYYUW4PbhacYlfLjBMTWGDWrmVcmOxV43TyN9GRPaAyxnb6uA9BcMXqaUFkXU8kzRr3Cs/gASoHWBHy1/OeuQTmPGJO65CHLzqtdFJtncCFnwB6WC0DOOlRrYGoDWsW2IBT4dVedB2qrJGAIPIaRBLlPd/+gc+cnQQWbP04qPzxPNNdKautGRTSJ7hltfIvEYjiBVKgItMKnTyu45c/vHs5+r+9Xtys4nfVlyngXrfq5Lw3pbX3wuJjHRV3HCX0BeU8haqpE6yJCo0tm9CbKBwa7dNYSrsF+GYDLC76ROwPG93yfBEhztm8SB5kNwjoJ8zL7fUbQWiy6TZ4/cknFCHYzrLkng+88Gc9zaFIdJFrcNIMHSYtmKyWf7X4YPx7qDnPWaJ+refR3IcpZWXMTYtb0BzXJBRgtN7BYKKdF12BP6L6cWugigYtxNHH/+dezgFK1is/MAR0LuaQhQ7RtNNgcOlMpBDpmdL1tUYVbXoThtaKjxa/IzRkSxS4buyE9BxKGOROO6dDe4DNN7ggBcmEfjDJCXaWofCu8DwidNSjpAVkSS2X53XrtPN4orq+ANRm5NWmetcfaDtKSHyMNgThJuB/os4vZAAQ8IwzRRX6CulOa66BN87pAe0lN5yydzMwDfXTOPlueMZ2WL3KDUZQdwf/5afwl6K60MCpuBUjOUDQ9aYLAIlWOURMa9KpflOX30jlr4kuBM6JHa7F54CMH70gXfvQTN/d0m2pahf3dcxYR4mEPVuvxzo+qR+WzIIAKz/nqjSS6y1MWWLK5GTEObV3gw/eopxTpVfA+/xhRUJLjDzTnLNyfTuGBNy6BgTrxndgMY6/JeC8bI517C4ERRJDnzC8jKf4e7loMnUtXm8VV6YGvZdJRpmzO4C7cnqBYTbSZWiOwqT8OC3FirGfkcRLaj7BQWuOu7XG3s94Fg2dPQySETfebQPkf0qit3rfFThr6A53JF+c15xpS0/xloAX8R6R25ojnvoZWAh1+UFfUUTSOcKCU4bzO9BYAg3NVrBMf1LngLtZ9qJTMTuH2IpSYjRSv6UBu06RHEM2GbQr/FnoaWHudGCAWv+GfC1JGCmUpARFn/kq0VWrsMMhi/cplKY3hTzMsvvPKHcCSZb7wlNwF6J6bBiW3dUtfYJbj5e/mvltgGdrSo6QRd8ijSv5UwEvlK8J7DHHlcTzSvHYYgtKl/xJ1VMESCAuM1QBfSZW/yQiCT7q9WcanaQ31Wj2Duh4aJKRG4ebOfeiTQqAUeCRqRgE71BqqKLiIrx7+a79EIfoc1+SEB/lsTcxOnWgQHCqt42RDCfjt6lkGMWhESBxj+DexqlzXFbrQunamI2PlyI3xEt4u+z/7X617/PsILR6u+WeFtGOWNNbNqgIDyNahD7G7ftgmA7FMEfQ7OuAEsjwwx4Jf4Mx3DKLRcxsABqmKdYbVtfgMGuRw7N1l0PQsyjZsjjitCxeujEpR1x8BonTfDZJ7hLIy1l2ShszgT+9eMlz68BoYu9+TH7P+40kRui2EkVAE/VigJG4Fv8dpx4xEfYl0j3l5arR/UetDGnCM8ozjHjPHEVdzft4XF7pFMWQeZdf4qHqrgi0UF1H6nlii3u9DLl0CtoD3uSibRbBHDSgGMD14o79w8LJv6iIde6EymgXDRTBQTAsQEFTHd6GhoaB+dXFSToCMPOY8pQZceVyesA/5XKFLDLh2elDRVQcfbCMKX3m0qTlaAkVd48y9ATrpvTceRd889Nuv4ayLzp2cZr6wI0PaJUfeTchz9ZHez55NjmdYbKMqHDoWnkzHqVhsocfcltPU7VKj2e1+siMIwaY+16gWr7r8Jdxae3wUepOg8NcPlHS8PrgevS0SWGSpsNjFtURPMEOoSGOAMFndPyoAuJYIZQ50hkfVwii8gjNiSO83FRa0aCqp/8tqxxA3+lxyF8+9l5FF63n39ke+biQReKshoLC3o2/dBV+SN8N7CtenKT5oeLmS1ZPhGJS4W6rOpwbWSnr/sR/oKaDpZlPx2CX8rQPXFkU93JuNoA8yDwy6WF7hGrpDu6wKc9KER2PTRYyKrijW522f4WvWVQdhIT90JaiI0pgUH0+3b532MlWcUmsVtUPmdNJ5y0Vqb1T2vHtTt5qQrc+tFJBtLWaoM3zbSYq7lQWksMQrn3myizlfSIwN1+n7cTXXBXtj8L0zq2xRqsTAlawfUR0F125XGHvC9TenAOXzmA0KX8NoS6vec5VFC5gmEhS3TJJf9QRuwk8JnpWzGQGYSbkvKrK9RaQJ2lyHpUbCyr6v2A+BleFx91iejd14hkYWKyv1hwA1oGiIgZJ8RMuy1i8Ew6FtyK4OVaF/wOwlghg0stEEdMerQke1EWQL1/IqJcXFFXhRW68G4yuoNAct7xieSGzK8U2pJERlHTJij++afqZDCevqKBbLpRRC7XaaTdnxCNY6Q2Si/LP2aYwwgPZulyn3z2dvk3ZhDmrusIJk1CxhzbukzuTGCR0CxNzlJs+TWUVlwsHOcEETv1CgeP6nv+n1YsX/HO8vsOrwGfLqCofUh6DH99vddwBXY5JPMEg9X/wmkXnqE6aq3tnI47m+KNoQPNnQQdi4A54b2YPjnpzXxks0/WSrjbGc4CzTM4zB32Iju+2oT8xIwb0vbDTk9SljycWYXkQfI4V27k3OuORNViCahIgDCqEBbZIXR0HCzWzsmE86JEZsfsrit4tfeD7gWrpEP5/xHsX1rgihksZWRyV1gZ/j3PvPnnUrXeUqTFwYdd7CC2ocYbVzPvN76ZHsrRJErWd35IQqYzVf4xJ27lF0Pg60lszOoJV68BGpLcsvfDEwhDUBaZIafrn5jb+dq75mOb/+/pgRxTKOmPa0Qr77g+3ZwvCZpBtCGzeQQA3VIegoJpYh4l8dfp2oQ7U4I8MHZg2boh9GN6JjhaLTxLLFpmEOtvac0qioAHjapi1NNFGdaB3ibkrvYBGHzMfzUUcsFRlQmNt8/5T3QEhekLWWeFvTUtNhHVK+A+e6kqHxKK+De4Lox/0PzAJPMFqgACt1WntaSAuIjyPvU7wG9jgaKPQLqpf5CGXqHIsTVb2B91oVMjY/MoS1zBSKKcZotXvFIFy3u0UruM2ElVw5S5KYsJ63+nJvWqyjGLC1M9eje3VIPzT6JvAN0uWfz8ag1BSlDjTKWH5/aR/jOAHiDla7IoPHDEuPR3lL/unXy5JCK3J9OiYH+/JT7Q64XUenJxiZkS35LRLBPabT44t1V4rHaHdn6aF+OqRPRZjRelQ+MFmFcHdYzUZikyOfIu4Mto4wlkAhi3CH9nR0+8zdszyWJyZ+qqKWbiTGC0svpj3i/qxZ5i79UUnF3dBwj0Km8Ye98Icxan3naeFr8Xln/LK+Tco8Xy3zsZ4FNk0SsVzrDe7OQ8kmqWt7nXJ+ABa4czoOgAcPA/UfaCKy5xH7VJXehXeK1LyDb1ZWSdUpsDb9w0ERzxnn8KGUH6gVKjwMJopIA/bwcnIuAeBFO8DkoQaFHmmbQiAxXijZGN+Fq9gwWWPd1lwrNyuhLfL6b1SQYwRNZoifQWIWa+CsAIgscnbx7yIi51uVqleFyJBTHrgkQlAevbQ+Ixxv0/dJyusgVPp4fSdsbDdPtYuaHFkT4+yhk0OAX2VQFixpoXC2sbItYDgU4ORv07mXTlJS2K1TekL/3kpURj1LVeHroeAopLFmuVqnIkhmIR3Loo9lqg6jk88jAOqmPpz67ahg7sIq6zPyn0ldb2MmqLrmarocOvHxKj8bbTN5aWDvrHnNlFn0yEz1lk3XYE/UKYoB5FlRYyucp7Y//XNwl/tD92ibkHzoDFIUe0nlJ7o54PjBTHHL0FZ3svwva1Ehy/hUyuSIo5lGqx+B3d2d3Yz1adw3ESXUaBNjLKdHt0qdgUsOqSSbGeyudGwqF6sLU1o/6JentwddjT8I67rypU00eGecbcXLJ+y9DE4kKx8X6dzXr3ozWlmi1WW/16aLyAM4xRnBxM6Z10jv0LGmggqaiaai3qZTOXTRJARuLQnun5M5Cgx4YrNPbkLuTMPPrYg6Efgilj2iZod43Z3Uc8fkDKHTOZdIYPbaF2/k/UHL9D1vqLfXWxCYA80B1Lx1CZgEYMq/y7oVsokMnMWBo5vkUbH0MjeTWX6lGK0n4OPajTdCEdl2GymJAbBJdKPj2VOzqTjn/ndGeHtWhhdikphxv0wvPU48xJW+xnigGuWvzYuxRoOcLV8WbwV5eD5ibgnJnYKhpjpZ31AZwR3GS1RCTszYzWHumYRuh6ZuWY3nqsZvEhBUxc15/lq/TtXPMc7+Aqoqh1rXAw5++9AcK3ZLrFiN6CbDJUow6ArKi3xk57YtPet3/kJzDVDqVmrRZ2skNAsGG/bRfu5V22hTqINzYsfiDiUao1/6rJ+qd8Nik5eOtoS2c2hRKozSu4KDes0Q1WEqNavqh/TgCrRva3IuPzyUuHypitPjqi47OlP8NkEXeFFQSz77I4cp+kDohWXGz1+P2pY0yPX+YZmSK9Xs9ncQPWdfyvoNkNU4lruwHSh0F90UIu/GUHfEklXppZbuk2TxmDJ76IPFeedLpqna87aEAglpFvRNgVE/BcF3eABjkWpZhrfBH/k18Ik6HUn1eoYGJdkQ6he+gTv5kX3+805Uj1UOepcIGXC3V/JdeULv4k99/3B4vceY5JtU2qQ1XJqzEHwpk/ss6PlRyyX/OmczC5fG/zSFND99HRVMQ3jmvKGpxVIo4HEobS5qQSclZ+42cCX5B6MAcZ74fAdDs2CAWXxj90F2NNJf4FlOSjtPtuFwOO89Rojee2VijuGDXtW+4Dxjl1tadawZYGsf187tSCG4dVD7F58q3NxVDPl1TpekjcmYoiKn9HghgW3okjptKmQsczwYo15L7u91bQwLL8kHkd6pTB7r2Gn9ldb0lWAW+LBM2PWK+koRiZab4C1kaM3W/nedWJecYBg6CDurqRjOtqTMgMYZuoado3yRflr2/NaY7aR5xV5G3IoGLOCLSnVtfTjzAm8xWHFt5bIGqZHAuQddooDENGeenIdYNSb4j8AOJxAri9fFXSaRtWUBGjTeqdqwP8du+D0C09BdX8zEbiJmQLngGdafF7Ba/FgCTkJvac89bHLa3kApnyTLqG9OYBRegEjNhcYn1ta1dyNa9sOA29o1x7RMRD3t8cMWlZqxevoBhJWSRg/jzzula779DHL6a08YIhKCaiAUPHEKNrAlGpdPNbFgIpd0e5T7wX/H4LIaHsN8k3KipMpj7/r8vIEFpkiX2F1shprh0QiIB8RBtKpE8hpeoDCTyslhU7M5D80DJxWm3+G2ZxAAvHhdfTJcaq2o8jVKnvnPly58Qz+ODO2kIaPO9WXbm/meweZqf5qRTWBw151qlicn3Lg5VTo7G4AlgEc2B1ovRPTYqMfdrs5JhQgIC8dqpcKXeA58CxezZLOhfRov4PK0Asm9bM6jTRaDZuq3BN1OuAvkafyc58AAADlStkLBC+h1uTHpiI9/k8Rf2AAPVtIckQA3mutvMOu5oaxYPILTopFO9bcIyFOtF2jv+kAnZan3vC/riUPE1UE2gYjZeky1//dbRig+otctO5OlT0tHxeqJzp2+Dn5EOHMVeRXd5bz8RY4/iqF9VVrojoTLyUYhRvUWSgSEM7vbDeje3fFJKw2b9piYFxZpWz1qLE4Q5XW51sJY9pyRSmChUsgaIdEJ/7Tqs7IDYD+QxUAASMF93gcZ16kVDxUrTsAdR9RF0m29USOLODfyydQ+Jx5DfbnCoOUxM6ESESSrDFhO65d0bjtvD8/qA6QoeWLTmDyirlsWg1oEEJqUQqsja5Ee9Qn7yojOhFU121Tha7moNuPVAxSUKnvEhIqZLnq3xjLRLaAB1AaxU4OMZtvBRMdk1v6Mo7MdesAR3lgLnffqeyOdoKSYKSJfXwkf6QbQlXKlfooUsp+aLNOfTRMnWO5fbPE4d+SYU8eWtp/d7iMl53fgeLQ1KlDHp55UtcMoVk/yH7odIdVFfhDEvBfw5M0qtvtqPec9mJs1jAuCfORkki6TqI0pWpG0twbJ99Tv67y6o7u18Z9NGW7hnOMNSpwb2wLhTT70aroNOS9M4iTF33bWZDU79MG3sFDpUTE4LDuzjbhuz8X9NFj57jeZr4fpFE3+3eAtOoP/bO/ZTtnqWm13cDTNPLexGPfvqEJODZlP0W7pK+sBKCbEon/oS6zfo9zeL1ixyGfa7goghnaCLHlaFFrb+M3bN0Wmr9w4U0ffm9sLvdixGmSsz+Jat+6sSWDvyQOiCuaayeLMt3GF9Hix/wULE1wGd7elmDQ0cOogw4Z1o6TVBE8u0qm8/2YIWYOfjZFzyvz3et+c5ERV0Zuyo9s4tHwQggcYYw//M433/pWJC2Z8Mxnf/OpuM+fUCXWdXJQoLlRLyNnod9Hb+qMPGWsqpFMVHI5J5uMJvznlszQJqtn8Rbjhuo/RPya73paO+hy92bC3Qiwr4n+rzk2fQdZeRccEcV2X8DjeAtbxHjoOhx5OSNanEULyCgaiZdgnxf0UobtMa2Z5BCz+oOFV2HfBWWT/+WktjcxZfke6On+lpPCu+JFw2zz4EIL94bc3opSuSOjhVLGgnPk+b4qIm+QPvdBc50mkFYso9pj2W+nTOhAU/QR8tjrYAASXBg93tQjwamt3TNQnkW6vscVuzEBPUgzsmqHDJimbCvgK+KQfJeTCr5zSXwz7H1yCV3nipL4li9f/Tsf6Uyqq41MmTZZvAN4l2p3j7THbpQdMyRIuu6ttQOI73Ezt6Q+53nVHk6F2QjLYQcClGoN2JzXqxtZ/9lYF1DuajX+4pYOV0tyftns/hBELe7/X1DfvBLs8snqwYdEbHhVA7t4U6qYnXVQ/pR8BwgZqp/sYlnlaBGS7KENT2WzYjM8EOY48kL+GB4NezlKKiRhiFem4l25X4hMwEsMI+1CBDfxzduJy3pshJXchiU8s0FJp6w6NFWh8NB5HuIGjH5rOWLdB04Wvjc87AJ90Y0UwztMZCHB6q0L/CnvzcCv37xGLY28W0hhxSZZflCkMAAEZXz+ZOfAJ1dHDPH7O8aB0GbdqQR8pbHm/C7wAYwgKe4qQF8DunEH1SU7n51XeRWB7E+r1VLvg/JsrgeylVVYIw43fKnXHr/9Du+1YZfipX2jT7EWH+I0Z11j1m50tXvfrYLrHcMR6yHYauaT+ZzHEmYfDK7mfzKrYJu55+il69s8Ki1uF6hcYYi1sp337YYm5vT0abCLuXJn6sTCapsbXQ4BdlkU7yJSmDF1x/8NBIbV0dTWKZWRXON4J5JHPK4F8c0h2T5TFP9HmWUfFG0/iPfkt0+z7m2fYO5OTZOMfUDH/hLAX1jTzSrfr1O/7V7usXqgz6nQRY5Z+0NnkAAE2qzF0yvlkPaB9mLMQUqqR4oH3V2FBN5R/9iZLZ35feLvdM8UifeCT40w0hCKcrOTp0SrRhHaDXmPo1MwHGNa1SskuCbGd1oKst/tBkB80/wsnpMrC8IfK+2aRJ7BUj/v4CMGujh+rp/uYhWb694kDO3w13c+LTIXU93GSDApJNFvAqPjQ8vRs/fWkpKiLMh9njd839Rj3chjTFbOQCB1VZixYcQ/HeSOSybUjhwsN0uITBujpN748XDZx07flk+iOFa4ZDx8m9o6z4p7CZEqyB4eGbI+HpG7oOc6IQbBymJ1iza9e4o7R1CDMvsghHwBOctwQFMp9viO5MUO+kJpnYyrNWDKfXxKVUvKOuXkSSw6qmoiib8CxLm/VyauU9Gv4ogFy+PFXuhwHRABYCEu1FPDCqO8ridg9p8nB3ruAiPZ0atrn56OY2Gt8ff1czTo0dKh7EWTdj8NdXx94QeUSCMOWsz3phB5Tn/CbMtiVcHA69D7IYaXH1ol3AdxDl68RVnIEqSNKZMXej+ptmZdSk7s2pgXJcPeN45fimgOOwAVdnGytnzYCI4r66KIRNh3fIBWuNL1iVyinuaM8Tb//x15VSSFkDBwIgQv//bEHqg6sz82PbJVuc5W1RJO8KGFlRZ8YFWROGwG7jHxDAWe7sxh5q4KVOwLv0oe5t+KXTfYHbOx4+mI0TGDwynsQK+fm56ZNOvqTnp5pxYRvPmxQ+T+d0XKAKcvaYeev//PLQ8w+QMMwLce1C8k+q4s2H7BHonRedQb3wx3T/68hsRz2+puS7C2vfSlS//1xPd7IvvmjWdYxIKpF2Ypf7hQwqKclJ2hnF7kL65DiXwFjFSu/7Ri78imhQxxVyiSbsIhwMoy1IOWLKm3lDIIK6hA+KPKYQLAZwVowXwaD+xg2rOqjHfiJR4xTwIL+xXiuhHe9WMKOj+YeO5qGQrY5jcRysFis/SDf8baIK71IILIy1gE7d//RHwfKoeuVZqE9TQZjjf7szz0lbxGpTHN87Z9u/YfX8uKcod1iHKLuNu+ooTxWDPYI+s5UWZT2tUAbDyur81HpIwMRSiqq3WL+EunP+A3MA9pssJQfiwrt005T1UwJD07y0rbTahb4GEL7w/fXwkwJgrbJmbI/I7LY3oZAYViVE1D0hyrgMU/aNESQ5iz1Ko72FcB2v9emehLQwLbp/9Tjdmuev//yEPxKQkm+oxKiJxmoKreZ46aR8UYpFYC4UbF2RrO0YRBvpOAo+nnJfc7zrvjsIPq2OeLvFIRgraGr7PnSGdFEv7k5cgNL80wtMRGM/0xr1IBlAXA1CSUGt+9BSd3ykxntgUyBqzccO3ItRyMviPYFEBrsRE0r/zO/OQ17VQx87sBpEjznKMr5FG4AwAPnizAOcfWLCOSI+OjRq0ACCqxxLPqPUJ+oAAA"},92488:(e,o,t)=>{t.d(o,{c:()=>n});const n=t.p+"assets/images/geolocation-modal-45c4ca3a4f7add0e80e7da677960fef5.webp"},11668:(e,o,t)=>{t.d(o,{c:()=>n});const n="data:image/webp;base64,UklGRtwaAABXRUJQVlA4INAaAABQfQCdASovAXQBPjEYikOiIaERWo0cIAMEs7d+CjgH9A/ABNgGmS6m14Z6leGfm40DHboiB7R3SAfsB1yX6V+wB+gHWifqh/rv7N8AH6if+rWj/D/9B/Hrvv/l/4g/vP7B/hvx/82/Gj+0f+L/TfiRfT53f1X8dPdH+JfSD6J/YP2J/vP7afff9X/ungf6d/UC/Ff4t/RfyO/rn7YcgPovmBelnxz+qfrh/of7b+3Prc/tP45e7f49/Ef7L+S30Afwn+Nf1D+vfsl/dv/3/uvt//Xf0nyQfqn98/XD4Af4h/K/7l/Xf8r/qP71///ta/av81/fv3e/untQ/Jf6v/kP7n/kv+T/gv///3P0F/jP8t/vv9l/yn/F/vf///9n3E+t/9g//Z7j/6vf8r8+BnEAre5vsA6EpgrFf7GOyanJi4DRLQMftY5idTP8jQnlgScFN9/1x2o3sXmNWaIg7S9wSbwQv/mEgm4pFfhH4/7ZfWiegIb4OBf3Oc5znOc5znOci2/5ld9mD3EiPchTMzMy2u90LfNv+7fgnduz4oQTdT3k6RuCD7dWVecqp/BmbAnyeug2yKMfklQTLYx867Ja1oxta1rWta1rWSw0e80T0R20DZO3OpLGAjMD5GV4G1lmLqRlaLQvnJ4yD0/u2vw4BvZQwftf5gImVjX6AXd5Z7FwESo/GfpdnRYi3kztGUDua4UawwF0K7jdbqAPm4BW7sx3oXBN5YlE/6poSlBQUFBQUFBQUFBQU2tI6WqjT06McksDURgAjABF/3VVBGoduqcjhTqyzBrtIwwTGCEoLTI1PEBDSE9QtOaBEfkc8tlf0Q0ZgXKQnqisvMbGxsbGxsbGjpkRFLTfkZycsrI2gwJl+rmOciJ+TZUoqqqqqqrvy7tRginx6a1ZoCxeLWta1rWtatVkQ0cp8VH1Gj5WsxwMW3KngiEUUTs+rXtoNl9qBtf6BI+xOyAUamdk2PxW1OXaqncwmuLkNrHjmCGJAz/IUzSZoes2RXY1S9+AMTrc0H20D8qqu5u8eij2UHRsNDpi6/f+Q5/WNke2s80TxVHfL/8HBwb+1JmEqtL7ZjRPXQbZIvSLoA4tQNr+Seug2/llmnxXMUDi3ce/oI4sjY5Ofci4JxkxNVarRh5FBn/QbZOunP97ytiJ2T/IUzMzRnF3GuaTRMxwtcqR+qgW6UVFKyJCtpQBFttILWON7tsnXTnQkKDKZQPICAgAzJkA2oG1/K3rAXr0IXByT+wbSRcuuOW2v+Seug2yct3DIMfz2A/yWbglOTMV/P6fEIfgcq15C0ZSlKUpSlEwULGBZaHr13IUpSlKUpSlKUpD6QmGy0AA/vniLPmOU47daoV0nwjl+JdEIpw8eMhkKUVD4ksZ56+7UB9IEY9hJgW5bjCnXudX1onJjiEjSbXo5QmD5PmMgFgrdALznZMAdl6RI/6zLYo2oir3fJpe4XN5/2m746j27gAvQVBJ9wRX/Zqgu15sXtUZi1QZWbjhIUB8rZXaVchUHD1tysS0GUztsDXHIalXBk8zWuFtMOZ26+CwXeboJHafEY4Bic6xiHD3ie0hqqqp/f2ZGznv9bQsHV9BO2tJ81QJEKmQrLocjmpjgaFgIgaEZVIXqWnQuWCZ7eokTpLg3YX84ahWkFFcdt3PuCrWWxRM9/CHmGUwBZqeir8h3+ozKx11k637CVtKoH2ComYjIx+gqPnWYgb6BhkGp/jV/cfPSGC2nBqoIKr/wv/7///+//7sJfPr/3//cIfT3BSD/jF/E7w1/+beTo/zLcb+wMHP0fY/2v2re2C/u2geoodnf8Nf/Q8Kv+XFTz/6udqIpMPHD1tRrMTOznVFZ1vg+48B3Z5Aw5jnS67MQC7kj6wwlK82CdiWGS+pDB5qk4pBL3YAudbw76K9Xv+tIaR9inBbjvmBLRX9gkAWv4yyxhKUERu3USaxkgETJzpYlSYUV4Z6iFpfdw21pYMNecEwT6Rdk0i2SrZs6r0pCJHGHtdsj///Gsz5pIH9ii2vndHHQItJqTnDfBYGMYReWZ9dZWhONLsRayw/3WU5rnke6/JQf9w9SU/Vh6NiGS/rKdwm6y2OvMAguGl7Q4oGjC24k5tnVxRGLa9yfvJuQamsyWAnBvYKaGHHXdUwoDBHpKY4Sz7lPYiXHGkgpMX1929szOCGzUs1m0DjvbMn0/9HdtuouWZBoBBQ0rwWNm3hJe5CnvBkbPIdUgMA5FBIsG/x3N/7NjnK0HbuQ1CbqgRTSsGpVkqt+va/+0nanp31RpUoUZVmp91xefIIEQ3q0ZFebS+Z34oaibDHRyLEl97VjIsTzoj9gDcAAhBiTk1NN6tRAMk9Px+fN2XeXsiljjqxoGbnpAaAziHbNCzzmHjhWcHKRkeNMUmSzC3p66+162EP/+Y8IWOitpRy04LyhXPNpEGRGMpQz+J1YIXC96EVttsfA1B66FJzpa8P2UQYSPt1c84yUX5PcXDvAYljxD/MkSEzj8O/f8LsJhw8iwDtVxkj9oBOlNb9JamI3LEUyeVTqadyBz626nn8X7YBi0YMfJ9V11OSusGzjnkiL1l2l9//TPFIIe8Vd9VqcMug2x1z8nivLB1dhQN9dp7OJa1y7X6ZrYvVEYCXeTvRu7j3puAOY6t9Qz0bZN6Lrh91oT0VqxwGu852G6dP1slR6NQNVqHPHolOB9lkuKHuluZuCPg5NhiZUhLGoZyiPWs2yhNWr3Br0E5H8zHjO6S7wl+CPfXpuZ9cQGZvJ63ujAM+n2ACQILsckIueyoY2Fb81aSEuQqecbuWOvQdpc/x4ZoX9jejTCkqFDEZyMrRuuVzsyTYIJDVKT6EHX214XHSm4Y1A30hYoGlaTAJ5pUPpiRadCQk8km/Hk+vjU+iYnhZPVVIKVqDiaIJ8dYlPQ0Wwa/sGPW7PRsdx2Wo60fQDOLgtLLXat2ZVmA6NYDDTV//c+gYP5NERd8ydAMAAAp8TSXNS07wSbnQWK2U54LfTsOUlcmrDCBXz/gjDYLWnUw+TpahkFY/Ffs1Hh4M38Egg9X6mIVouwACshYhOj1UIV3Mt5yC58MvaVujLPWKfePZ7D3UWNvOw2oav1lZYh4mh47g4pUy5pR4Zn6khCLd5CRLFw8Sp0F97Qno+pQZlsehMnqgS0KQKF5idOp/zhu35E868PhPOfOrLLYvZygaeg+6/CHlR8jsPC7lTc7zFHOYkYzTg5+/XnGVSwt4iDULuyITmCUPM0KMJ/NPip9SQT9OvP2KnfkZdNYDWWJYPqaJh2EpVAyVqMgnZXutYUBgcd018WP2GnX/l7dnbtS3AqQWaFEGQ/fJFs1UpsMCd4lWS6bl+rRsaIZutGRgfXuQ/JBOlB9L/EGQEtkLk85RT1IHl7uMDZ3HZMuSLeCb6C7EbVM4VfzpEtFMuJJ762LRsvRbXdWdbgb+Anhwgl/sjgFf/PJvqC6nhJio+1HO7DUx8RArLiPrHPxMNFeHATh0J/kREnpLV/nYVrjs2DYxYCW5ONmF4z+PkyhWnG8O16fblyzi0jgZ09qs6Hq7wEz0f97KEe3KAu3F8N/L/UeMeBQQf5ZhyztR/ut+h6IZcG898pteZhNqKpPylud7SQrhWLZ52jNzxPddT+8Br1HqDCARmcNcEv9ixtLzvGO+VSWF5kVJX+bcHP868cEK2Sy9SDBnChOgYZLEqONs1I7iZMr9c++AzfvlLB5LDd5VhxT7npkSGEED3VOQ5clVNi2XLrAiw9GWsz4ky0e/nFRHGmnZX2otIHuSu5Kn73/RmjgvFiIqj1gqZ3pf9jq6+jNQBbJR4VsIe19a2TFR1JU3O99Xz9xqSwych8+uHnfj9qLitliefo8UDRnIhvxlCDmXn+eKW3y87G6xVZyIVSmymNRvX4pPjA4Y+qJeSWPqb9BjKsAgBhbybysG/pOvSsJ5462/CXopI6nlK2jd28joCiEl2d3gKe/rWqZBeVrimaAzDamjAzQxPr3ZmzmXW2TpPIUWn69ouUiaaETIKSEz7owURnh+LMGI17Lp9AUjjH3eBQyKipwLcmOxcDuOox+eKYTwuA0PHL92BjqybV9x2m2k2WHdi5uIPgfYwYghR9OpXvlGH2hRB2x6dkplsifk9vd2DyYRXwWmcl8VN4WfYe6ryObjWyxS91iYJzGXR4P2QqMuLB8bBXoNZouq1Oy+CHkLYmIlPfmuosXZh0asJbKKjqt4+EwGiK7261myXirOz6ZDhgN4yZMCZ7+uo1MGNyN8V4mQPrqP8Dk3BHLmsF8C+UiD9dp/AvRr6k12K8fl1jjcSEczoKBwg3W4c3GsjIJBzBLsrGUzdH6dLBDVqaC4Ou7Ft+CRexnprYbDTSd+grXNn0AMxoN/no4tzv9FLexRD3YSO13N7jFHAbSOVXj9O1E+WSfzWihW7AKVpI8YPUqDO/BGDMTngxHyQUdLwlt+fq2WB7LddpDPjdp8JblbcnDnJ3cp86/auUepgNMuVqMNSGv9k5jabNoKNR2g28Wl1BwbewHsP+TrmI93B1E3e3LFj0QTlMQhLjq7HjW9kLu94at614HKoT8FNHgTq7UIcpNpL2dBaGO0oxQRVsUJGmBG0cNZfGteskbNZ3a8RnnkKmoNt5KGtzd7ycr+yNYeaRpMB7eyRLLLNwMG56nZeSjijfTJf5bHeP4/hctwG5gHy2bU6/YgC4Gi0V51ZqDFNxgINy0w7Lll2s0kHO6lMNXG0HXPL6OsF56muqu00LWbeVsfi5DuIT1GAdZTrlyL12VNx7nowA1maThQYZKhUUZkjHygX4FOqUGofdvBZAXCkC8uDP5JuXhNE9Kq6BPgluztQHPUBpzI0+58U1T8zm8RZF8QupLsw9loQds3igufu1FyEIb4KGl6zguTbR8EfCJy2USpjhcBKHfG5VhWVjMbFNrvmwr1hU+ibqdEHumieWFOxRAw3+Xrqai2jNAik/OQrabaB3x3EisX3nztM5OLMCLlcgFxAFTbRsy1EunC+K331tWzPz5g/QKZRiyxrSCkvJF7Hgj5GyAV/6wi4i52JTJuRJmmOFKmQnsQFiZEnnvi+5vEz4YQ1wADZVb7QBL+U4ZVXWHMeRJ7bTDiAOAEng1tbJR7Ejcri479Evqnmm8Pszumn4Vdw0jV/+qFkI6B9aksQqPnt7+gBlGbqb/8DT3ArLpn+O0vDFWGhxKZhli6wYcsDLAAAJEmUlvVol/WDzehNO94eEEc+/HUQNxldM8zg3q/YxiG188olFr/dHqOhOKYE4RCUwuDoZSCPvMeU8wVy6PiWOVMyp08nk5dwvSDHoqDgy9AfegE/yagurjyPD6FcFqmUTtnKNgAhcsKJYsFCyLJa2FEULKF5bD2yLkMrUZoy+grh0J75MW6fhq4R7qpNWakjRymulxS7VONMQAYJLJ20iwqV51xaJ8frYwOFR3y227Sq4ZP/W60ujxBsuhJQxoT/+ySo5KT1eWF6/xqnohUB7yo6U/9I//0Sv/4QfqM+QH7O8NNiWHSfY5V40QlQPM8iD6YJUDzPIg+mCVA8uzDfUTdvjEMJWnc8R8h5kks8stZ394D/Ej3kno3Cppb/KVaaMFdMWvge/bju0SJ7xAwX75gdpiPYNbpkRK2z8X+C3G1OkJm/KhgBakgtwi9fRhxrl2JGuXYka5dINvPggBW5Ia/AwrkeRKGjNIWB3W3/NZiD7tKy4nIoDAXtUySR9hfB1UCJvEBSh1k3Fyif4M/ChyUAktSsAYeKVJrgVAsvSk7pnaz3P7ElpF9OKmtOt9t2+kXPOIt0nBynFxjXrVPGDl1hhrO4hlOLVQbjvC8byxBGNosJ+Idd/jGE8D+khkoq4v69rKDP76EXbPlZKLEPkRotrOoKsRHhrlHPewSZOX/212EFqryVlIcwtm72EH9JsBv+F5WOpxvrgYf96yP5XFGCzGBcCbryyhLv/cKDhNrmcHCKpI1Rp38Iqom2IJ+lu3X/t1ptoUgK7FrqJ3pto8fqj5PKfMzt0YG7+IER0A9D5qcyNEAlXHd+UYGnPxux7172ji/X++oDAEszhllSJQwSUMBi8Fs5qVfccopoaJlgG4YmyBpasQfrO/lVP5hp46we7MkjdAhIBYQYPhNXi10KNEyHLt7wXS0Gk65xX3U2eGRfTrIi/4F5VHG5S1XDgNiWApFmh3NvVmsw9v+gYWMRQCw4FubW+M+XReDttVp2H+83/o4PVJEbFSUD0IVFfkquOcN5C9ybrUksAF12TfK82A1NdzeY31iJfmjbAX4SwtRBe8AuwuJsCBBSp6aLx5JR3UpD+QwIPrjOL4emK3JHHEpqImU4fyBQ2huV3RSO5+9Gwf8payQgj8b+RHDQb7Dlh+tjoCGsv9wV7h/9ebdGTZD8hGV6Qd5hHI9mJl5ZU/2XROydM7mUmS77NGBbGEt8bVNzuBOk5BdWlQRQIOQZrrUrQspgwtdPzMG5euUpYVATfTXrtbZzLr+79APo7WpEsEG1NuUB5FH0izfBEjrgtjFblVs6zXrH7S+8ZU9m4OX1UMRDqr4aK9GABiG1XRr5Me+bJuUV9ZwoMVxzG5JwPhYasAJ3iI9ZZUagVCinGK3aMs5u4AbmFHstgtA4FeLQdN/E7llMYvt0HXMHsGYdA8O3O5zQBOwNb4zArf9H5gjgavyW2c9UY5VthZAPNPCjRAIOkOy/en5tx+uWpQY1NT8nJG5WUMBqGGOA8AlJiFu1stoiiZPzmrqmEPXpKM74IAVgRJ7Ol1rj/OBq02LJWtrwr/lZwcdCguwK+k6lg/N+iPT81jq/6lh7e8nzGR5frAW2QJNcV8/Mn4aIVd7AnvYGenRfihVRoSuO6yxbB3WFNkHyjRLld9UkdBr30CYORtAwclf2kvfAuH7hRXAfnp4p5tMqIE/9DqNezAtaM1Mt04mmp7GyY0EkFrXlmf+8s/S7AFyklJ9A7yhqdHau7EqxqkmmTCVW7Q8gQ+3UCRcR/HBCpz6BTFd4yH9llK5BRjEEuAwDYCXPdIl2SN1KsdtrkRkxqINyglvp3ZRf7kAiOoYaJN/NHzUUtgRCSBIXnHOcEr8pOkEqQqBXPQu2oRCGQ12GV+NkEQAepYyfFzFzrPYmWoaKnfkBxz/Wuw4bDZ5d4OA6lfkF3rxRjKQ+OrictMPcSxjjzZAlN+Q9Rx1/380OU1gvaR5gKS9xNiDhEpo4GP90yLgBkyu/WBcLx8T0vPSa1zGMv2ZqWSQH5w+WiSx9KeKuqbt3/aFf1aQpQEPColW5Spnq0d2j0dtyoTE99rzv5MR90v4fCypuGmoFLuI7rCo0iE6pZfMUgbqpK2YxYpJuqBV6gaqXEg+xurDTlObXR0vo2fZj2xEWJTZqq07pi4i+OgYN10re42ehLyvRho8PCRIFG4IlmiBLEvq+l9VBCPYddKA8fvcT8NAmwcDyEaYwMxUqJ54GaDfA//QAAKvN2bNgPwTFbYxS2sDGnlpqfupi9ZPtEE0nQ/WI/jF/huFv1Ok7xX7yqxAHJiADfvoYZKbNeqHW/5lmgHvcw8lqWFAoKOEDgViZGx3crQOjWBxdT9fjc6GaHJ03LMOePZ2fmiEzirqId/lMAx4dUUfvd6O/UYHgX0BRMR/yhDGCcxCLQR0O8t26Dky7eDUMa7qYMosDgz74wJfSf4fgoe6Y7A3faAsn/Y0CLl/TGtfjOX5zbngAVn0AeDKe/2LvhVzlPr1jfzptTPB3qeyFQVge/9wdagryWAU/2rnO9Vy21CLMejK2nBlOXq5ZWI6IaKIn7rklELnvRrqo/AOu+JWvjupEIQAX0zIQRVzle6mkINxZP6iyIC6GrNsGE/8FM7sXba6jzJ+x3r9sKeuw7ycW80LgPvpxPUJE7vHm6RWM8fKHDLUHg+9EASG6q37L5ruJpwMavJxRBgo7oyCBD+YrnbEhKEDACektAUGCSU7Edq8zbUT/FQbPWcmrkFWpBo+DAzcZV1XjSio8O3eF9NUKO00kWHqoGhL2WiHzIfKtXexnybRcVvw4HUvYuMGhG4meG4ikgLrREUAAAFZ7PAzwp4EsFqeE2MvzU+vwJ/+40glcmjAnqRqqST4t6NasNtm79WLbva70gwL8Z1+QgPbRi7GXlzRtzWfq4AiqsF1LTKfk/s/n/9x5rnqPsJy1UBGSh09y0UhJ6EJExk9MONv7O4x+l2C3Hy4L3fvD3XbGMX00YLCJiF5MSjDg/lkonY7peTd+9VNyVvcZ/E0mO5ttHVRlfIjkqpiq9X8gj69jiT2VfpwnFxOoU5XBsIqUGPZ2le6X2PVCZtedRE6p/JoN+hMD9OjY8i71LoTHNRc3ori2xFm/mrwesk7VJHGp1VN0P78nUe38wmKMtTs0tUkR4aMnLUisGRDdgalY074CRdRx+wL2bnJTQdOah5hPNIpSxuK5fzWyfJSTOMt6+z/r5NtTvvgjTSnkrf/6nfCVFAy9hYtzk0SUKpxUSZ1VGeuKGe+RYcUrVmXzBPxyi7EXvMQ+b9JBvbF2jJqrfiw+eIZM/VCihjwNLeRQeB6AsmmF9+oJqu+AJYlgK8VVEckNS7Hhgv7J086wJkpLGjwiR6NoXbqRyGVvkPPQ6+ri8DEx5+s2vIsxfUYXdYu/aJhtwrF/O15qefm41vUCJ00oPwBB5W482POu/Aqj4EJhcSYSTc3g/k4ACdX0/HffjhupvjVYItzhmMxFYcJ8vi1i24ixghLsyue1+ZXIzKivRBhTmGcxM3Uu5jE9Glkut5tP3XlZpyutJlCJu4GS7yAYnOoRJTWXpkcPnc2wRvA4hJduT7ikvZg3qUFKA5Uox/9glpjb3fLJfJGXyNPO0l0GC9iSWnc9fmkdfu5I3HGAkmCnPH4xQg4rzNDj8sIeXNHulAWp20DmWFeFqIE0uPhASFyNhkU32m8mSeE4FMEr4TZz7qKsEAAv+SUUwBa1TtqhHxHgJhS9KqzhUmYzU7ZiJCYGMcKggbvhMN8FL2kCRl/i9U8jB5F2aUJSw4uGfv0DgkhMM8C9wkLc6hCHfIo2wQnxbj7IIB4tX13cqpN9rS0sSR4CloHLj0LRIGesjCPcl84bZor1FSvDLv3ugSS/lntIR1cJfwTiuVEL3zcTslYCl2gJtxgAAA="},18232:(e,o,t)=>{t.d(o,{c:()=>n});const n=t.p+"assets/images/geolocation-93ba055dbdd6c277831debcf41cbfb9a.webp"},4552:(e,o,t)=>{t.d(o,{I:()=>a,M:()=>r});var n=t(11504);const i={},l=n.createContext(i);function r(e){const o=n.useContext(l);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:r(e.components),n.createElement(l.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1a6a2ec3.4405f9c7.js b/assets/js/1a6a2ec3.4405f9c7.js deleted file mode 100644 index 6a6cdde19..000000000 --- a/assets/js/1a6a2ec3.4405f9c7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[62707],{98612:(e,o,t)=>{t.r(o),t.d(o,{assets:()=>s,contentTitle:()=>a,default:()=>u,frontMatter:()=>l,metadata:()=>r,toc:()=>f});var n=t(85893),i=t(11151);const l={id:"geolocation",title:"Geolocation"},a=void 0,r={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.",source:"@site/forms/features/geolocation.md",sourceDirName:"features",slug:"/features/geolocation",permalink:"/forms/features/geolocation",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"geolocation",title:"Geolocation"},sidebar:"forms",previous:{title:"Enrichment",permalink:"/forms/features/enrichment"},next:{title:"Validation",permalink:"/forms/features/validation"}},s={},f=[{value:"Where do you get the geolocation database from?",id:"where-do-you-get-the-geolocation-database-from",level:2},{value:"Where do you get the country list from?",id:"where-do-you-get-the-country-list-from",level:2},{value:"How to configure geolocation?",id:"how-to-configure-geolocation",level:2},{value:"Show only option",id:"show-only-option",level:3},{value:"Advanced rules",id:"advanced-rules",level:3},{value:"Rule preview",id:"rule-preview",level:3},{value:"Cloudflare",id:"cloudflare",level:2}];function d(e){const o={a:"a",admonition:"admonition",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",ul:"ul",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.p,{children:"Geolocation is a feature that allows you to show different versions of the forms based on the user's geolocation location."}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.img,{alt:"Geolocation screen",src:t(24980).Z+"",width:"643",height:"287"})}),"\n",(0,n.jsx)(o.admonition,{type:"caution",children:(0,n.jsx)(o.p,{children:"Geolocation is never 100% accurate. It is based on the user's IP address, which can be spoofed or changed. We recommend using this feature as a way to provide a better user experience."})}),"\n",(0,n.jsx)(o.h2,{id:"where-do-you-get-the-geolocation-database-from",children:"Where do you get the geolocation database from?"}),"\n",(0,n.jsxs)(o.p,{children:["By default, our geolocation service uses the ",(0,n.jsx)(o.a,{href:"https://www.maxmind.com/",children:"GeoLite2 MaxMind ID database"})," to determine a user's location. However, our filters allow you to provide your database."]}),"\n",(0,n.jsx)(o.h2,{id:"where-do-you-get-the-country-list-from",children:"Where do you get the country list from?"}),"\n",(0,n.jsx)(o.p,{children:"We use DataHub to list countries for the dropdown menu to select the country of usage."}),"\n",(0,n.jsxs)(o.p,{children:[(0,n.jsx)(o.a,{href:"https://datahub.io/core/country-list",children:"All releases are listed here"})," and our implementation is located on ",(0,n.jsx)(o.a,{href:"https://github.com/infinum/eightshift-forms/blob/develop/data/country/manifest.json",children:"this link"}),"."]}),"\n",(0,n.jsx)(o.p,{children:"With the default countries list, we have made a few groups:"}),"\n",(0,n.jsxs)(o.ul,{children:["\n",(0,n.jsx)(o.li,{children:"Europe"}),"\n",(0,n.jsx)(o.li,{children:"European Union"}),"\n",(0,n.jsx)(o.li,{children:"Ex Yugoslavia"}),"\n"]}),"\n",(0,n.jsx)(o.p,{children:"but you can also provide your list by using our filters."}),"\n",(0,n.jsx)(o.h2,{id:"how-to-configure-geolocation",children:"How to configure geolocation?"}),"\n",(0,n.jsx)(o.p,{children:'If you want to set up a single form that can adapt to different versions based on the user\'s location, navigate to the form usage page (a page, post, custom post type, etc.) and select the "Geolocation" tab.'}),"\n",(0,n.jsx)(o.p,{children:"On this tab, you will see various settings that allow you to customize the form for different geographic regions."}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.img,{alt:"Geolocation block settings screen",src:t(33555).Z+"",width:"327",height:"302"})}),"\n",(0,n.jsx)(o.h3,{id:"show-only-option",children:"Show only option"}),"\n",(0,n.jsx)(o.p,{children:"This feature will limit this form only to be shown to the users from the selected country."}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.img,{alt:"Geolocation only use screen",src:t(59771).Z+"",width:"303",height:"372"})}),"\n",(0,n.jsx)(o.h3,{id:"advanced-rules",children:"Advanced rules"}),"\n",(0,n.jsx)(o.p,{children:"This feature will allow you to create multiple geolocation rules using the Geolocation modal window.\nAdd a new rule, then a new form on the left, and provide one or multiple countries on the right."}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.img,{alt:"Geolocation modal screen",src:t(66953).Z+"",width:"838",height:"518"})}),"\n",(0,n.jsx)(o.h3,{id:"rule-preview",children:"Rule preview"}),"\n",(0,n.jsx)(o.p,{children:"This toggle is here to help you preview what you have configured so far. It will show you all the forms shown to the user based on the geolocation rules."}),"\n",(0,n.jsx)(o.h2,{id:"cloudflare",children:"Cloudflare"}),"\n",(0,n.jsxs)(o.p,{children:["If you have Cloudflare turned on for your project, please make sure that you read the ",(0,n.jsx)(o.a,{href:"cloudflare",children:"Cloudflare documentation"})," to make sure that the geolocation feature works as expected."]})]})}function u(e={}){const{wrapper:o}={...(0,i.a)(),...e.components};return o?(0,n.jsx)(o,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},33555:(e,o,t)=>{t.d(o,{Z:()=>n});const n="data:image/webp;base64,UklGRiYgAABXRUJQVlA4IBogAAAwdgCdASpHAS4BPjEWikQiISERSIToIAMEtLd+H1y+EDgRTkJbefBjavN8hlAPpvygG0q/qB72fOgdZn+zvsS9Mf+rX6zfAB+vf/s1oHxv/Qfxe75/53+LX9f/8H989p/wr4n+d/jn/Tf/V/l+bz0H5jfw/6rfTv6d+wn9n/ab4K/xn9D8X/fB+r/lF/bP2Z+wL8T/i39J/s/7Lf2P9tPaF/nPyO8EzUf81/p/UC9MvkX9i/tn7S/2b9sfV9/Rfyq91fyf+af0X8ev679gH8M/jv9h/vX7Kf2n/6/S/+q/uXimd7/8D+V/AB/Hf5t/dv7B/oP9h/cv/59pP7B/kv73+5n+N///u4/JP7N/mP8T+8H9v////o/QP+MfzD/B/2v/Gf8f++f///q/cj64v2i9jP9WP9x+f4taDfk4jVJwSoY+i+C6mVFWnszFk9Z5/3aCyes8/etlh3m1GG98Wt67H4hJ8h8EmfmcpIccGBL7AnRQ9Xwxvx5qLRBYbn8gRp1yMbYug4uZfnm+JS/QBFFdAQTMo+yw3pxY/8bQDSa6WPwCqOuZvpKWBm+S3688pRHQ9zo+PQ1BwEyTA/ALSGvjuFT778NNDHU4W8aFOYnUsHT5xjADbR0gmW2miLSF/zjE2DoNXpHVrdhfsH6OppXWUiPTfJwpUEchhK2kdKocbIVoNDH0XwQ2LzxQkZRyMCnByHQHikDYDKVi8D5qWdLhnx9F8F00MNAyyVvRJpjH0XwXUyotlsR7UCzGOUaVcvDQrfP3rTMF9NVjWt+KlhoWqZosS5eYRJD7r9jSfOykp0nwRf4pnfUx/ve2HtIuec83Mwy6dYpZwCituNRQ6OtSm5FBpqn3j/ncsb2doniWjsyqtOctNae2/0/lG9XnlFhSU4uhjQSLcM7ebYzvksXtb9bi379UnG7fcUs6vUJ+/q5RpkpCHmK3Y0ewxLXKkHBlUy3F+X3OoSSe55Tc5kOv9xoYlFicQHU2D7NXpHyjlfRXJ/1KVZWR4cCN1GzknT0/Vc4iepvt5NozqeKGVWG9xwHpUOl8442/4QjHXX0YCJKkhyAmobw5D4D/yhyOyFqX0g8aqNivAVRN7Rn34NPBSn9lz0vpjr43FXcy7Z85ZEl/BOplQx4QeKkJIoVr4pjCDeWuWlc8NXczEuNNRqceFKryhp1BIY252V3qr0riGub7hkUuMCVDYTrivy4eXi7ucPN/QPoQ25KqntvpZvVJUMfNBNMjbFxDDVUBZ9v4mwfZq9I+VbrAtAAA/v49wOJgyUR4Ld9i/D3Ql3HyGgA+VbTE3kZP95slTNABebI14AfSqHK1/8Mzay+nYkF4XsIj/XKhtKHSe7FEWBXzwbySpPqgm4IkXPoYaKSN54X3K272K9HNnwAcc0CmdVyqqFEOvN08Z/htuGfaCp6FvtBrpASwkKrR2OAsad8tQlChtkwt0j3QCIWe4MRrmYW2/lWVs3cfPSikRZPGMP/AV6BqDsE5gH3tavsYdjk1SZD3URMiQM9vevM5XnSqOJ/bd+zhf+xlXMmdFv6AeNOj85pk0WGDz9vfRmlF/2OHzXweVpsSFDaMZL25d6x+WyLdwlugSqW3MyYoaUN8bVDM5oXC/w+LhIVFKme2Wx57aNrdMIa+J/pXtrpIjNPy9bJ8S+EIxO0YETNvX+7McjegmDV6gQ7kbLezXcD+5DkU7U2B3jy5ZutBwwT5r70/5XYB/6EB01t6YnY9CQNDHSNTSu/pPEXazu4iW7nMsbFK7JSKZ2r25O9LSvlr0y+eWQAi/tgV4JKBieyaIKpkHl0OY3xeoRolC5u6oRPYh/kYsWoQSgrJVOhLm/07mGtAM3fnzGFqN275jcJEAORxJ3zlAgIn3HAsddZwwD0iH6NElNTK4RL78KKmo9W7xS3PJjnbK8UZl41H9tDgd+uoo94N4qBB2j8KGLGtRZpRkugNS4T1N0dzFy96AwNddNOZPEiN1ft84gMd7bGxBNDXV4r45wBeTBl977FjcOdLtzL3hg7LK2pQLlXh1kqP+SI0i8oOsZFwtpMbhrrO39cEz5h+YbE4i+W5Vce10zmPENOGF3z3m0AHt4Gc9YYYUW4PbhacYlfLjBMTWGDWrmVcmOxV43TyN9GRPaAyxnb6uA9BcMXqaUFkXU8kzRr3Cs/gASoHWBHy1/OeuQTmPGJO65CHLzqtdFJtncCFnwB6WC0DOOlRrYGoDWsW2IBT4dVedB2qrJGAIPIaRBLlPd/+gc+cnQQWbP04qPzxPNNdKautGRTSJ7hltfIvEYjiBVKgItMKnTyu45c/vHs5+r+9Xtys4nfVlyngXrfq5Lw3pbX3wuJjHRV3HCX0BeU8haqpE6yJCo0tm9CbKBwa7dNYSrsF+GYDLC76ROwPG93yfBEhztm8SB5kNwjoJ8zL7fUbQWiy6TZ4/cknFCHYzrLkng+88Gc9zaFIdJFrcNIMHSYtmKyWf7X4YPx7qDnPWaJ+refR3IcpZWXMTYtb0BzXJBRgtN7BYKKdF12BP6L6cWugigYtxNHH/+dezgFK1is/MAR0LuaQhQ7RtNNgcOlMpBDpmdL1tUYVbXoThtaKjxa/IzRkSxS4buyE9BxKGOROO6dDe4DNN7ggBcmEfjDJCXaWofCu8DwidNSjpAVkSS2X53XrtPN4orq+ANRm5NWmetcfaDtKSHyMNgThJuB/os4vZAAQ8IwzRRX6CulOa66BN87pAe0lN5yydzMwDfXTOPlueMZ2WL3KDUZQdwf/5afwl6K60MCpuBUjOUDQ9aYLAIlWOURMa9KpflOX30jlr4kuBM6JHa7F54CMH70gXfvQTN/d0m2pahf3dcxYR4mEPVuvxzo+qR+WzIIAKz/nqjSS6y1MWWLK5GTEObV3gw/eopxTpVfA+/xhRUJLjDzTnLNyfTuGBNy6BgTrxndgMY6/JeC8bI517C4ERRJDnzC8jKf4e7loMnUtXm8VV6YGvZdJRpmzO4C7cnqBYTbSZWiOwqT8OC3FirGfkcRLaj7BQWuOu7XG3s94Fg2dPQySETfebQPkf0qit3rfFThr6A53JF+c15xpS0/xloAX8R6R25ojnvoZWAh1+UFfUUTSOcKCU4bzO9BYAg3NVrBMf1LngLtZ9qJTMTuH2IpSYjRSv6UBu06RHEM2GbQr/FnoaWHudGCAWv+GfC1JGCmUpARFn/kq0VWrsMMhi/cplKY3hTzMsvvPKHcCSZb7wlNwF6J6bBiW3dUtfYJbj5e/mvltgGdrSo6QRd8ijSv5UwEvlK8J7DHHlcTzSvHYYgtKl/xJ1VMESCAuM1QBfSZW/yQiCT7q9WcanaQ31Wj2Duh4aJKRG4ebOfeiTQqAUeCRqRgE71BqqKLiIrx7+a79EIfoc1+SEB/lsTcxOnWgQHCqt42RDCfjt6lkGMWhESBxj+DexqlzXFbrQunamI2PlyI3xEt4u+z/7X617/PsILR6u+WeFtGOWNNbNqgIDyNahD7G7ftgmA7FMEfQ7OuAEsjwwx4Jf4Mx3DKLRcxsABqmKdYbVtfgMGuRw7N1l0PQsyjZsjjitCxeujEpR1x8BonTfDZJ7hLIy1l2ShszgT+9eMlz68BoYu9+TH7P+40kRui2EkVAE/VigJG4Fv8dpx4xEfYl0j3l5arR/UetDGnCM8ozjHjPHEVdzft4XF7pFMWQeZdf4qHqrgi0UF1H6nlii3u9DLl0CtoD3uSibRbBHDSgGMD14o79w8LJv6iIde6EymgXDRTBQTAsQEFTHd6GhoaB+dXFSToCMPOY8pQZceVyesA/5XKFLDLh2elDRVQcfbCMKX3m0qTlaAkVd48y9ATrpvTceRd889Nuv4ayLzp2cZr6wI0PaJUfeTchz9ZHez55NjmdYbKMqHDoWnkzHqVhsocfcltPU7VKj2e1+siMIwaY+16gWr7r8Jdxae3wUepOg8NcPlHS8PrgevS0SWGSpsNjFtURPMEOoSGOAMFndPyoAuJYIZQ50hkfVwii8gjNiSO83FRa0aCqp/8tqxxA3+lxyF8+9l5FF63n39ke+biQReKshoLC3o2/dBV+SN8N7CtenKT5oeLmS1ZPhGJS4W6rOpwbWSnr/sR/oKaDpZlPx2CX8rQPXFkU93JuNoA8yDwy6WF7hGrpDu6wKc9KER2PTRYyKrijW522f4WvWVQdhIT90JaiI0pgUH0+3b532MlWcUmsVtUPmdNJ5y0Vqb1T2vHtTt5qQrc+tFJBtLWaoM3zbSYq7lQWksMQrn3myizlfSIwN1+n7cTXXBXtj8L0zq2xRqsTAlawfUR0F125XGHvC9TenAOXzmA0KX8NoS6vec5VFC5gmEhS3TJJf9QRuwk8JnpWzGQGYSbkvKrK9RaQJ2lyHpUbCyr6v2A+BleFx91iejd14hkYWKyv1hwA1oGiIgZJ8RMuy1i8Ew6FtyK4OVaF/wOwlghg0stEEdMerQke1EWQL1/IqJcXFFXhRW68G4yuoNAct7xieSGzK8U2pJERlHTJij++afqZDCevqKBbLpRRC7XaaTdnxCNY6Q2Si/LP2aYwwgPZulyn3z2dvk3ZhDmrusIJk1CxhzbukzuTGCR0CxNzlJs+TWUVlwsHOcEETv1CgeP6nv+n1YsX/HO8vsOrwGfLqCofUh6DH99vddwBXY5JPMEg9X/wmkXnqE6aq3tnI47m+KNoQPNnQQdi4A54b2YPjnpzXxks0/WSrjbGc4CzTM4zB32Iju+2oT8xIwb0vbDTk9SljycWYXkQfI4V27k3OuORNViCahIgDCqEBbZIXR0HCzWzsmE86JEZsfsrit4tfeD7gWrpEP5/xHsX1rgihksZWRyV1gZ/j3PvPnnUrXeUqTFwYdd7CC2ocYbVzPvN76ZHsrRJErWd35IQqYzVf4xJ27lF0Pg60lszOoJV68BGpLcsvfDEwhDUBaZIafrn5jb+dq75mOb/+/pgRxTKOmPa0Qr77g+3ZwvCZpBtCGzeQQA3VIegoJpYh4l8dfp2oQ7U4I8MHZg2boh9GN6JjhaLTxLLFpmEOtvac0qioAHjapi1NNFGdaB3ibkrvYBGHzMfzUUcsFRlQmNt8/5T3QEhekLWWeFvTUtNhHVK+A+e6kqHxKK+De4Lox/0PzAJPMFqgACt1WntaSAuIjyPvU7wG9jgaKPQLqpf5CGXqHIsTVb2B91oVMjY/MoS1zBSKKcZotXvFIFy3u0UruM2ElVw5S5KYsJ63+nJvWqyjGLC1M9eje3VIPzT6JvAN0uWfz8ag1BSlDjTKWH5/aR/jOAHiDla7IoPHDEuPR3lL/unXy5JCK3J9OiYH+/JT7Q64XUenJxiZkS35LRLBPabT44t1V4rHaHdn6aF+OqRPRZjRelQ+MFmFcHdYzUZikyOfIu4Mto4wlkAhi3CH9nR0+8zdszyWJyZ+qqKWbiTGC0svpj3i/qxZ5i79UUnF3dBwj0Km8Ye98Icxan3naeFr8Xln/LK+Tco8Xy3zsZ4FNk0SsVzrDe7OQ8kmqWt7nXJ+ABa4czoOgAcPA/UfaCKy5xH7VJXehXeK1LyDb1ZWSdUpsDb9w0ERzxnn8KGUH6gVKjwMJopIA/bwcnIuAeBFO8DkoQaFHmmbQiAxXijZGN+Fq9gwWWPd1lwrNyuhLfL6b1SQYwRNZoifQWIWa+CsAIgscnbx7yIi51uVqleFyJBTHrgkQlAevbQ+Ixxv0/dJyusgVPp4fSdsbDdPtYuaHFkT4+yhk0OAX2VQFixpoXC2sbItYDgU4ORv07mXTlJS2K1TekL/3kpURj1LVeHroeAopLFmuVqnIkhmIR3Loo9lqg6jk88jAOqmPpz67ahg7sIq6zPyn0ldb2MmqLrmarocOvHxKj8bbTN5aWDvrHnNlFn0yEz1lk3XYE/UKYoB5FlRYyucp7Y//XNwl/tD92ibkHzoDFIUe0nlJ7o54PjBTHHL0FZ3svwva1Ehy/hUyuSIo5lGqx+B3d2d3Yz1adw3ESXUaBNjLKdHt0qdgUsOqSSbGeyudGwqF6sLU1o/6JentwddjT8I67rypU00eGecbcXLJ+y9DE4kKx8X6dzXr3ozWlmi1WW/16aLyAM4xRnBxM6Z10jv0LGmggqaiaai3qZTOXTRJARuLQnun5M5Cgx4YrNPbkLuTMPPrYg6Efgilj2iZod43Z3Uc8fkDKHTOZdIYPbaF2/k/UHL9D1vqLfXWxCYA80B1Lx1CZgEYMq/y7oVsokMnMWBo5vkUbH0MjeTWX6lGK0n4OPajTdCEdl2GymJAbBJdKPj2VOzqTjn/ndGeHtWhhdikphxv0wvPU48xJW+xnigGuWvzYuxRoOcLV8WbwV5eD5ibgnJnYKhpjpZ31AZwR3GS1RCTszYzWHumYRuh6ZuWY3nqsZvEhBUxc15/lq/TtXPMc7+Aqoqh1rXAw5++9AcK3ZLrFiN6CbDJUow6ArKi3xk57YtPet3/kJzDVDqVmrRZ2skNAsGG/bRfu5V22hTqINzYsfiDiUao1/6rJ+qd8Nik5eOtoS2c2hRKozSu4KDes0Q1WEqNavqh/TgCrRva3IuPzyUuHypitPjqi47OlP8NkEXeFFQSz77I4cp+kDohWXGz1+P2pY0yPX+YZmSK9Xs9ncQPWdfyvoNkNU4lruwHSh0F90UIu/GUHfEklXppZbuk2TxmDJ76IPFeedLpqna87aEAglpFvRNgVE/BcF3eABjkWpZhrfBH/k18Ik6HUn1eoYGJdkQ6he+gTv5kX3+805Uj1UOepcIGXC3V/JdeULv4k99/3B4vceY5JtU2qQ1XJqzEHwpk/ss6PlRyyX/OmczC5fG/zSFND99HRVMQ3jmvKGpxVIo4HEobS5qQSclZ+42cCX5B6MAcZ74fAdDs2CAWXxj90F2NNJf4FlOSjtPtuFwOO89Rojee2VijuGDXtW+4Dxjl1tadawZYGsf187tSCG4dVD7F58q3NxVDPl1TpekjcmYoiKn9HghgW3okjptKmQsczwYo15L7u91bQwLL8kHkd6pTB7r2Gn9ldb0lWAW+LBM2PWK+koRiZab4C1kaM3W/nedWJecYBg6CDurqRjOtqTMgMYZuoado3yRflr2/NaY7aR5xV5G3IoGLOCLSnVtfTjzAm8xWHFt5bIGqZHAuQddooDENGeenIdYNSb4j8AOJxAri9fFXSaRtWUBGjTeqdqwP8du+D0C09BdX8zEbiJmQLngGdafF7Ba/FgCTkJvac89bHLa3kApnyTLqG9OYBRegEjNhcYn1ta1dyNa9sOA29o1x7RMRD3t8cMWlZqxevoBhJWSRg/jzzula779DHL6a08YIhKCaiAUPHEKNrAlGpdPNbFgIpd0e5T7wX/H4LIaHsN8k3KipMpj7/r8vIEFpkiX2F1shprh0QiIB8RBtKpE8hpeoDCTyslhU7M5D80DJxWm3+G2ZxAAvHhdfTJcaq2o8jVKnvnPly58Qz+ODO2kIaPO9WXbm/meweZqf5qRTWBw151qlicn3Lg5VTo7G4AlgEc2B1ovRPTYqMfdrs5JhQgIC8dqpcKXeA58CxezZLOhfRov4PK0Asm9bM6jTRaDZuq3BN1OuAvkafyc58AAADlStkLBC+h1uTHpiI9/k8Rf2AAPVtIckQA3mutvMOu5oaxYPILTopFO9bcIyFOtF2jv+kAnZan3vC/riUPE1UE2gYjZeky1//dbRig+otctO5OlT0tHxeqJzp2+Dn5EOHMVeRXd5bz8RY4/iqF9VVrojoTLyUYhRvUWSgSEM7vbDeje3fFJKw2b9piYFxZpWz1qLE4Q5XW51sJY9pyRSmChUsgaIdEJ/7Tqs7IDYD+QxUAASMF93gcZ16kVDxUrTsAdR9RF0m29USOLODfyydQ+Jx5DfbnCoOUxM6ESESSrDFhO65d0bjtvD8/qA6QoeWLTmDyirlsWg1oEEJqUQqsja5Ee9Qn7yojOhFU121Tha7moNuPVAxSUKnvEhIqZLnq3xjLRLaAB1AaxU4OMZtvBRMdk1v6Mo7MdesAR3lgLnffqeyOdoKSYKSJfXwkf6QbQlXKlfooUsp+aLNOfTRMnWO5fbPE4d+SYU8eWtp/d7iMl53fgeLQ1KlDHp55UtcMoVk/yH7odIdVFfhDEvBfw5M0qtvtqPec9mJs1jAuCfORkki6TqI0pWpG0twbJ99Tv67y6o7u18Z9NGW7hnOMNSpwb2wLhTT70aroNOS9M4iTF33bWZDU79MG3sFDpUTE4LDuzjbhuz8X9NFj57jeZr4fpFE3+3eAtOoP/bO/ZTtnqWm13cDTNPLexGPfvqEJODZlP0W7pK+sBKCbEon/oS6zfo9zeL1ixyGfa7goghnaCLHlaFFrb+M3bN0Wmr9w4U0ffm9sLvdixGmSsz+Jat+6sSWDvyQOiCuaayeLMt3GF9Hix/wULE1wGd7elmDQ0cOogw4Z1o6TVBE8u0qm8/2YIWYOfjZFzyvz3et+c5ERV0Zuyo9s4tHwQggcYYw//M433/pWJC2Z8Mxnf/OpuM+fUCXWdXJQoLlRLyNnod9Hb+qMPGWsqpFMVHI5J5uMJvznlszQJqtn8Rbjhuo/RPya73paO+hy92bC3Qiwr4n+rzk2fQdZeRccEcV2X8DjeAtbxHjoOhx5OSNanEULyCgaiZdgnxf0UobtMa2Z5BCz+oOFV2HfBWWT/+WktjcxZfke6On+lpPCu+JFw2zz4EIL94bc3opSuSOjhVLGgnPk+b4qIm+QPvdBc50mkFYso9pj2W+nTOhAU/QR8tjrYAASXBg93tQjwamt3TNQnkW6vscVuzEBPUgzsmqHDJimbCvgK+KQfJeTCr5zSXwz7H1yCV3nipL4li9f/Tsf6Uyqq41MmTZZvAN4l2p3j7THbpQdMyRIuu6ttQOI73Ezt6Q+53nVHk6F2QjLYQcClGoN2JzXqxtZ/9lYF1DuajX+4pYOV0tyftns/hBELe7/X1DfvBLs8snqwYdEbHhVA7t4U6qYnXVQ/pR8BwgZqp/sYlnlaBGS7KENT2WzYjM8EOY48kL+GB4NezlKKiRhiFem4l25X4hMwEsMI+1CBDfxzduJy3pshJXchiU8s0FJp6w6NFWh8NB5HuIGjH5rOWLdB04Wvjc87AJ90Y0UwztMZCHB6q0L/CnvzcCv37xGLY28W0hhxSZZflCkMAAEZXz+ZOfAJ1dHDPH7O8aB0GbdqQR8pbHm/C7wAYwgKe4qQF8DunEH1SU7n51XeRWB7E+r1VLvg/JsrgeylVVYIw43fKnXHr/9Du+1YZfipX2jT7EWH+I0Z11j1m50tXvfrYLrHcMR6yHYauaT+ZzHEmYfDK7mfzKrYJu55+il69s8Ki1uF6hcYYi1sp337YYm5vT0abCLuXJn6sTCapsbXQ4BdlkU7yJSmDF1x/8NBIbV0dTWKZWRXON4J5JHPK4F8c0h2T5TFP9HmWUfFG0/iPfkt0+z7m2fYO5OTZOMfUDH/hLAX1jTzSrfr1O/7V7usXqgz6nQRY5Z+0NnkAAE2qzF0yvlkPaB9mLMQUqqR4oH3V2FBN5R/9iZLZ35feLvdM8UifeCT40w0hCKcrOTp0SrRhHaDXmPo1MwHGNa1SskuCbGd1oKst/tBkB80/wsnpMrC8IfK+2aRJ7BUj/v4CMGujh+rp/uYhWb694kDO3w13c+LTIXU93GSDApJNFvAqPjQ8vRs/fWkpKiLMh9njd839Rj3chjTFbOQCB1VZixYcQ/HeSOSybUjhwsN0uITBujpN748XDZx07flk+iOFa4ZDx8m9o6z4p7CZEqyB4eGbI+HpG7oOc6IQbBymJ1iza9e4o7R1CDMvsghHwBOctwQFMp9viO5MUO+kJpnYyrNWDKfXxKVUvKOuXkSSw6qmoiib8CxLm/VyauU9Gv4ogFy+PFXuhwHRABYCEu1FPDCqO8ridg9p8nB3ruAiPZ0atrn56OY2Gt8ff1czTo0dKh7EWTdj8NdXx94QeUSCMOWsz3phB5Tn/CbMtiVcHA69D7IYaXH1ol3AdxDl68RVnIEqSNKZMXej+ptmZdSk7s2pgXJcPeN45fimgOOwAVdnGytnzYCI4r66KIRNh3fIBWuNL1iVyinuaM8Tb//x15VSSFkDBwIgQv//bEHqg6sz82PbJVuc5W1RJO8KGFlRZ8YFWROGwG7jHxDAWe7sxh5q4KVOwLv0oe5t+KXTfYHbOx4+mI0TGDwynsQK+fm56ZNOvqTnp5pxYRvPmxQ+T+d0XKAKcvaYeev//PLQ8w+QMMwLce1C8k+q4s2H7BHonRedQb3wx3T/68hsRz2+puS7C2vfSlS//1xPd7IvvmjWdYxIKpF2Ypf7hQwqKclJ2hnF7kL65DiXwFjFSu/7Ri78imhQxxVyiSbsIhwMoy1IOWLKm3lDIIK6hA+KPKYQLAZwVowXwaD+xg2rOqjHfiJR4xTwIL+xXiuhHe9WMKOj+YeO5qGQrY5jcRysFis/SDf8baIK71IILIy1gE7d//RHwfKoeuVZqE9TQZjjf7szz0lbxGpTHN87Z9u/YfX8uKcod1iHKLuNu+ooTxWDPYI+s5UWZT2tUAbDyur81HpIwMRSiqq3WL+EunP+A3MA9pssJQfiwrt005T1UwJD07y0rbTahb4GEL7w/fXwkwJgrbJmbI/I7LY3oZAYViVE1D0hyrgMU/aNESQ5iz1Ko72FcB2v9emehLQwLbp/9Tjdmuev//yEPxKQkm+oxKiJxmoKreZ46aR8UYpFYC4UbF2RrO0YRBvpOAo+nnJfc7zrvjsIPq2OeLvFIRgraGr7PnSGdFEv7k5cgNL80wtMRGM/0xr1IBlAXA1CSUGt+9BSd3ykxntgUyBqzccO3ItRyMviPYFEBrsRE0r/zO/OQ17VQx87sBpEjznKMr5FG4AwAPnizAOcfWLCOSI+OjRq0ACCqxxLPqPUJ+oAAA"},66953:(e,o,t)=>{t.d(o,{Z:()=>n});const n=t.p+"assets/images/geolocation-modal-45c4ca3a4f7add0e80e7da677960fef5.webp"},59771:(e,o,t)=>{t.d(o,{Z:()=>n});const n="data:image/webp;base64,UklGRtwaAABXRUJQVlA4INAaAABQfQCdASovAXQBPjEYikOiIaERWo0cIAMEs7d+CjgH9A/ABNgGmS6m14Z6leGfm40DHboiB7R3SAfsB1yX6V+wB+gHWifqh/rv7N8AH6if+rWj/D/9B/Hrvv/l/4g/vP7B/hvx/82/Gj+0f+L/TfiRfT53f1X8dPdH+JfSD6J/YP2J/vP7afff9X/ungf6d/UC/Ff4t/RfyO/rn7YcgPovmBelnxz+qfrh/of7b+3Prc/tP45e7f49/Ef7L+S30Afwn+Nf1D+vfsl/dv/3/uvt//Xf0nyQfqn98/XD4Af4h/K/7l/Xf8r/qP71///ta/av81/fv3e/untQ/Jf6v/kP7n/kv+T/gv///3P0F/jP8t/vv9l/yn/F/vf///9n3E+t/9g//Z7j/6vf8r8+BnEAre5vsA6EpgrFf7GOyanJi4DRLQMftY5idTP8jQnlgScFN9/1x2o3sXmNWaIg7S9wSbwQv/mEgm4pFfhH4/7ZfWiegIb4OBf3Oc5znOc5znOci2/5ld9mD3EiPchTMzMy2u90LfNv+7fgnduz4oQTdT3k6RuCD7dWVecqp/BmbAnyeug2yKMfklQTLYx867Ja1oxta1rWta1rWSw0e80T0R20DZO3OpLGAjMD5GV4G1lmLqRlaLQvnJ4yD0/u2vw4BvZQwftf5gImVjX6AXd5Z7FwESo/GfpdnRYi3kztGUDua4UawwF0K7jdbqAPm4BW7sx3oXBN5YlE/6poSlBQUFBQUFBQUFBQU2tI6WqjT06McksDURgAjABF/3VVBGoduqcjhTqyzBrtIwwTGCEoLTI1PEBDSE9QtOaBEfkc8tlf0Q0ZgXKQnqisvMbGxsbGxsbGjpkRFLTfkZycsrI2gwJl+rmOciJ+TZUoqqqqqqrvy7tRginx6a1ZoCxeLWta1rWtatVkQ0cp8VH1Gj5WsxwMW3KngiEUUTs+rXtoNl9qBtf6BI+xOyAUamdk2PxW1OXaqncwmuLkNrHjmCGJAz/IUzSZoes2RXY1S9+AMTrc0H20D8qqu5u8eij2UHRsNDpi6/f+Q5/WNke2s80TxVHfL/8HBwb+1JmEqtL7ZjRPXQbZIvSLoA4tQNr+Seug2/llmnxXMUDi3ce/oI4sjY5Ofci4JxkxNVarRh5FBn/QbZOunP97ytiJ2T/IUzMzRnF3GuaTRMxwtcqR+qgW6UVFKyJCtpQBFttILWON7tsnXTnQkKDKZQPICAgAzJkA2oG1/K3rAXr0IXByT+wbSRcuuOW2v+Seug2yct3DIMfz2A/yWbglOTMV/P6fEIfgcq15C0ZSlKUpSlEwULGBZaHr13IUpSlKUpSlKUpD6QmGy0AA/vniLPmOU47daoV0nwjl+JdEIpw8eMhkKUVD4ksZ56+7UB9IEY9hJgW5bjCnXudX1onJjiEjSbXo5QmD5PmMgFgrdALznZMAdl6RI/6zLYo2oir3fJpe4XN5/2m746j27gAvQVBJ9wRX/Zqgu15sXtUZi1QZWbjhIUB8rZXaVchUHD1tysS0GUztsDXHIalXBk8zWuFtMOZ26+CwXeboJHafEY4Bic6xiHD3ie0hqqqp/f2ZGznv9bQsHV9BO2tJ81QJEKmQrLocjmpjgaFgIgaEZVIXqWnQuWCZ7eokTpLg3YX84ahWkFFcdt3PuCrWWxRM9/CHmGUwBZqeir8h3+ozKx11k637CVtKoH2ComYjIx+gqPnWYgb6BhkGp/jV/cfPSGC2nBqoIKr/wv/7///+//7sJfPr/3//cIfT3BSD/jF/E7w1/+beTo/zLcb+wMHP0fY/2v2re2C/u2geoodnf8Nf/Q8Kv+XFTz/6udqIpMPHD1tRrMTOznVFZ1vg+48B3Z5Aw5jnS67MQC7kj6wwlK82CdiWGS+pDB5qk4pBL3YAudbw76K9Xv+tIaR9inBbjvmBLRX9gkAWv4yyxhKUERu3USaxkgETJzpYlSYUV4Z6iFpfdw21pYMNecEwT6Rdk0i2SrZs6r0pCJHGHtdsj///Gsz5pIH9ii2vndHHQItJqTnDfBYGMYReWZ9dZWhONLsRayw/3WU5rnke6/JQf9w9SU/Vh6NiGS/rKdwm6y2OvMAguGl7Q4oGjC24k5tnVxRGLa9yfvJuQamsyWAnBvYKaGHHXdUwoDBHpKY4Sz7lPYiXHGkgpMX1929szOCGzUs1m0DjvbMn0/9HdtuouWZBoBBQ0rwWNm3hJe5CnvBkbPIdUgMA5FBIsG/x3N/7NjnK0HbuQ1CbqgRTSsGpVkqt+va/+0nanp31RpUoUZVmp91xefIIEQ3q0ZFebS+Z34oaibDHRyLEl97VjIsTzoj9gDcAAhBiTk1NN6tRAMk9Px+fN2XeXsiljjqxoGbnpAaAziHbNCzzmHjhWcHKRkeNMUmSzC3p66+162EP/+Y8IWOitpRy04LyhXPNpEGRGMpQz+J1YIXC96EVttsfA1B66FJzpa8P2UQYSPt1c84yUX5PcXDvAYljxD/MkSEzj8O/f8LsJhw8iwDtVxkj9oBOlNb9JamI3LEUyeVTqadyBz626nn8X7YBi0YMfJ9V11OSusGzjnkiL1l2l9//TPFIIe8Vd9VqcMug2x1z8nivLB1dhQN9dp7OJa1y7X6ZrYvVEYCXeTvRu7j3puAOY6t9Qz0bZN6Lrh91oT0VqxwGu852G6dP1slR6NQNVqHPHolOB9lkuKHuluZuCPg5NhiZUhLGoZyiPWs2yhNWr3Br0E5H8zHjO6S7wl+CPfXpuZ9cQGZvJ63ujAM+n2ACQILsckIueyoY2Fb81aSEuQqecbuWOvQdpc/x4ZoX9jejTCkqFDEZyMrRuuVzsyTYIJDVKT6EHX214XHSm4Y1A30hYoGlaTAJ5pUPpiRadCQk8km/Hk+vjU+iYnhZPVVIKVqDiaIJ8dYlPQ0Wwa/sGPW7PRsdx2Wo60fQDOLgtLLXat2ZVmA6NYDDTV//c+gYP5NERd8ydAMAAAp8TSXNS07wSbnQWK2U54LfTsOUlcmrDCBXz/gjDYLWnUw+TpahkFY/Ffs1Hh4M38Egg9X6mIVouwACshYhOj1UIV3Mt5yC58MvaVujLPWKfePZ7D3UWNvOw2oav1lZYh4mh47g4pUy5pR4Zn6khCLd5CRLFw8Sp0F97Qno+pQZlsehMnqgS0KQKF5idOp/zhu35E868PhPOfOrLLYvZygaeg+6/CHlR8jsPC7lTc7zFHOYkYzTg5+/XnGVSwt4iDULuyITmCUPM0KMJ/NPip9SQT9OvP2KnfkZdNYDWWJYPqaJh2EpVAyVqMgnZXutYUBgcd018WP2GnX/l7dnbtS3AqQWaFEGQ/fJFs1UpsMCd4lWS6bl+rRsaIZutGRgfXuQ/JBOlB9L/EGQEtkLk85RT1IHl7uMDZ3HZMuSLeCb6C7EbVM4VfzpEtFMuJJ762LRsvRbXdWdbgb+Anhwgl/sjgFf/PJvqC6nhJio+1HO7DUx8RArLiPrHPxMNFeHATh0J/kREnpLV/nYVrjs2DYxYCW5ONmF4z+PkyhWnG8O16fblyzi0jgZ09qs6Hq7wEz0f97KEe3KAu3F8N/L/UeMeBQQf5ZhyztR/ut+h6IZcG898pteZhNqKpPylud7SQrhWLZ52jNzxPddT+8Br1HqDCARmcNcEv9ixtLzvGO+VSWF5kVJX+bcHP868cEK2Sy9SDBnChOgYZLEqONs1I7iZMr9c++AzfvlLB5LDd5VhxT7npkSGEED3VOQ5clVNi2XLrAiw9GWsz4ky0e/nFRHGmnZX2otIHuSu5Kn73/RmjgvFiIqj1gqZ3pf9jq6+jNQBbJR4VsIe19a2TFR1JU3O99Xz9xqSwych8+uHnfj9qLitliefo8UDRnIhvxlCDmXn+eKW3y87G6xVZyIVSmymNRvX4pPjA4Y+qJeSWPqb9BjKsAgBhbybysG/pOvSsJ5462/CXopI6nlK2jd28joCiEl2d3gKe/rWqZBeVrimaAzDamjAzQxPr3ZmzmXW2TpPIUWn69ouUiaaETIKSEz7owURnh+LMGI17Lp9AUjjH3eBQyKipwLcmOxcDuOox+eKYTwuA0PHL92BjqybV9x2m2k2WHdi5uIPgfYwYghR9OpXvlGH2hRB2x6dkplsifk9vd2DyYRXwWmcl8VN4WfYe6ryObjWyxS91iYJzGXR4P2QqMuLB8bBXoNZouq1Oy+CHkLYmIlPfmuosXZh0asJbKKjqt4+EwGiK7261myXirOz6ZDhgN4yZMCZ7+uo1MGNyN8V4mQPrqP8Dk3BHLmsF8C+UiD9dp/AvRr6k12K8fl1jjcSEczoKBwg3W4c3GsjIJBzBLsrGUzdH6dLBDVqaC4Ou7Ft+CRexnprYbDTSd+grXNn0AMxoN/no4tzv9FLexRD3YSO13N7jFHAbSOVXj9O1E+WSfzWihW7AKVpI8YPUqDO/BGDMTngxHyQUdLwlt+fq2WB7LddpDPjdp8JblbcnDnJ3cp86/auUepgNMuVqMNSGv9k5jabNoKNR2g28Wl1BwbewHsP+TrmI93B1E3e3LFj0QTlMQhLjq7HjW9kLu94at614HKoT8FNHgTq7UIcpNpL2dBaGO0oxQRVsUJGmBG0cNZfGteskbNZ3a8RnnkKmoNt5KGtzd7ycr+yNYeaRpMB7eyRLLLNwMG56nZeSjijfTJf5bHeP4/hctwG5gHy2bU6/YgC4Gi0V51ZqDFNxgINy0w7Lll2s0kHO6lMNXG0HXPL6OsF56muqu00LWbeVsfi5DuIT1GAdZTrlyL12VNx7nowA1maThQYZKhUUZkjHygX4FOqUGofdvBZAXCkC8uDP5JuXhNE9Kq6BPgluztQHPUBpzI0+58U1T8zm8RZF8QupLsw9loQds3igufu1FyEIb4KGl6zguTbR8EfCJy2USpjhcBKHfG5VhWVjMbFNrvmwr1hU+ibqdEHumieWFOxRAw3+Xrqai2jNAik/OQrabaB3x3EisX3nztM5OLMCLlcgFxAFTbRsy1EunC+K331tWzPz5g/QKZRiyxrSCkvJF7Hgj5GyAV/6wi4i52JTJuRJmmOFKmQnsQFiZEnnvi+5vEz4YQ1wADZVb7QBL+U4ZVXWHMeRJ7bTDiAOAEng1tbJR7Ejcri479Evqnmm8Pszumn4Vdw0jV/+qFkI6B9aksQqPnt7+gBlGbqb/8DT3ArLpn+O0vDFWGhxKZhli6wYcsDLAAAJEmUlvVol/WDzehNO94eEEc+/HUQNxldM8zg3q/YxiG188olFr/dHqOhOKYE4RCUwuDoZSCPvMeU8wVy6PiWOVMyp08nk5dwvSDHoqDgy9AfegE/yagurjyPD6FcFqmUTtnKNgAhcsKJYsFCyLJa2FEULKF5bD2yLkMrUZoy+grh0J75MW6fhq4R7qpNWakjRymulxS7VONMQAYJLJ20iwqV51xaJ8frYwOFR3y227Sq4ZP/W60ujxBsuhJQxoT/+ySo5KT1eWF6/xqnohUB7yo6U/9I//0Sv/4QfqM+QH7O8NNiWHSfY5V40QlQPM8iD6YJUDzPIg+mCVA8uzDfUTdvjEMJWnc8R8h5kks8stZ394D/Ej3kno3Cppb/KVaaMFdMWvge/bju0SJ7xAwX75gdpiPYNbpkRK2z8X+C3G1OkJm/KhgBakgtwi9fRhxrl2JGuXYka5dINvPggBW5Ia/AwrkeRKGjNIWB3W3/NZiD7tKy4nIoDAXtUySR9hfB1UCJvEBSh1k3Fyif4M/ChyUAktSsAYeKVJrgVAsvSk7pnaz3P7ElpF9OKmtOt9t2+kXPOIt0nBynFxjXrVPGDl1hhrO4hlOLVQbjvC8byxBGNosJ+Idd/jGE8D+khkoq4v69rKDP76EXbPlZKLEPkRotrOoKsRHhrlHPewSZOX/212EFqryVlIcwtm72EH9JsBv+F5WOpxvrgYf96yP5XFGCzGBcCbryyhLv/cKDhNrmcHCKpI1Rp38Iqom2IJ+lu3X/t1ptoUgK7FrqJ3pto8fqj5PKfMzt0YG7+IER0A9D5qcyNEAlXHd+UYGnPxux7172ji/X++oDAEszhllSJQwSUMBi8Fs5qVfccopoaJlgG4YmyBpasQfrO/lVP5hp46we7MkjdAhIBYQYPhNXi10KNEyHLt7wXS0Gk65xX3U2eGRfTrIi/4F5VHG5S1XDgNiWApFmh3NvVmsw9v+gYWMRQCw4FubW+M+XReDttVp2H+83/o4PVJEbFSUD0IVFfkquOcN5C9ybrUksAF12TfK82A1NdzeY31iJfmjbAX4SwtRBe8AuwuJsCBBSp6aLx5JR3UpD+QwIPrjOL4emK3JHHEpqImU4fyBQ2huV3RSO5+9Gwf8payQgj8b+RHDQb7Dlh+tjoCGsv9wV7h/9ebdGTZD8hGV6Qd5hHI9mJl5ZU/2XROydM7mUmS77NGBbGEt8bVNzuBOk5BdWlQRQIOQZrrUrQspgwtdPzMG5euUpYVATfTXrtbZzLr+79APo7WpEsEG1NuUB5FH0izfBEjrgtjFblVs6zXrH7S+8ZU9m4OX1UMRDqr4aK9GABiG1XRr5Me+bJuUV9ZwoMVxzG5JwPhYasAJ3iI9ZZUagVCinGK3aMs5u4AbmFHstgtA4FeLQdN/E7llMYvt0HXMHsGYdA8O3O5zQBOwNb4zArf9H5gjgavyW2c9UY5VthZAPNPCjRAIOkOy/en5tx+uWpQY1NT8nJG5WUMBqGGOA8AlJiFu1stoiiZPzmrqmEPXpKM74IAVgRJ7Ol1rj/OBq02LJWtrwr/lZwcdCguwK+k6lg/N+iPT81jq/6lh7e8nzGR5frAW2QJNcV8/Mn4aIVd7AnvYGenRfihVRoSuO6yxbB3WFNkHyjRLld9UkdBr30CYORtAwclf2kvfAuH7hRXAfnp4p5tMqIE/9DqNezAtaM1Mt04mmp7GyY0EkFrXlmf+8s/S7AFyklJ9A7yhqdHau7EqxqkmmTCVW7Q8gQ+3UCRcR/HBCpz6BTFd4yH9llK5BRjEEuAwDYCXPdIl2SN1KsdtrkRkxqINyglvp3ZRf7kAiOoYaJN/NHzUUtgRCSBIXnHOcEr8pOkEqQqBXPQu2oRCGQ12GV+NkEQAepYyfFzFzrPYmWoaKnfkBxz/Wuw4bDZ5d4OA6lfkF3rxRjKQ+OrictMPcSxjjzZAlN+Q9Rx1/380OU1gvaR5gKS9xNiDhEpo4GP90yLgBkyu/WBcLx8T0vPSa1zGMv2ZqWSQH5w+WiSx9KeKuqbt3/aFf1aQpQEPColW5Spnq0d2j0dtyoTE99rzv5MR90v4fCypuGmoFLuI7rCo0iE6pZfMUgbqpK2YxYpJuqBV6gaqXEg+xurDTlObXR0vo2fZj2xEWJTZqq07pi4i+OgYN10re42ehLyvRho8PCRIFG4IlmiBLEvq+l9VBCPYddKA8fvcT8NAmwcDyEaYwMxUqJ54GaDfA//QAAKvN2bNgPwTFbYxS2sDGnlpqfupi9ZPtEE0nQ/WI/jF/huFv1Ok7xX7yqxAHJiADfvoYZKbNeqHW/5lmgHvcw8lqWFAoKOEDgViZGx3crQOjWBxdT9fjc6GaHJ03LMOePZ2fmiEzirqId/lMAx4dUUfvd6O/UYHgX0BRMR/yhDGCcxCLQR0O8t26Dky7eDUMa7qYMosDgz74wJfSf4fgoe6Y7A3faAsn/Y0CLl/TGtfjOX5zbngAVn0AeDKe/2LvhVzlPr1jfzptTPB3qeyFQVge/9wdagryWAU/2rnO9Vy21CLMejK2nBlOXq5ZWI6IaKIn7rklELnvRrqo/AOu+JWvjupEIQAX0zIQRVzle6mkINxZP6iyIC6GrNsGE/8FM7sXba6jzJ+x3r9sKeuw7ycW80LgPvpxPUJE7vHm6RWM8fKHDLUHg+9EASG6q37L5ruJpwMavJxRBgo7oyCBD+YrnbEhKEDACektAUGCSU7Edq8zbUT/FQbPWcmrkFWpBo+DAzcZV1XjSio8O3eF9NUKO00kWHqoGhL2WiHzIfKtXexnybRcVvw4HUvYuMGhG4meG4ikgLrREUAAAFZ7PAzwp4EsFqeE2MvzU+vwJ/+40glcmjAnqRqqST4t6NasNtm79WLbva70gwL8Z1+QgPbRi7GXlzRtzWfq4AiqsF1LTKfk/s/n/9x5rnqPsJy1UBGSh09y0UhJ6EJExk9MONv7O4x+l2C3Hy4L3fvD3XbGMX00YLCJiF5MSjDg/lkonY7peTd+9VNyVvcZ/E0mO5ttHVRlfIjkqpiq9X8gj69jiT2VfpwnFxOoU5XBsIqUGPZ2le6X2PVCZtedRE6p/JoN+hMD9OjY8i71LoTHNRc3ori2xFm/mrwesk7VJHGp1VN0P78nUe38wmKMtTs0tUkR4aMnLUisGRDdgalY074CRdRx+wL2bnJTQdOah5hPNIpSxuK5fzWyfJSTOMt6+z/r5NtTvvgjTSnkrf/6nfCVFAy9hYtzk0SUKpxUSZ1VGeuKGe+RYcUrVmXzBPxyi7EXvMQ+b9JBvbF2jJqrfiw+eIZM/VCihjwNLeRQeB6AsmmF9+oJqu+AJYlgK8VVEckNS7Hhgv7J086wJkpLGjwiR6NoXbqRyGVvkPPQ6+ri8DEx5+s2vIsxfUYXdYu/aJhtwrF/O15qefm41vUCJ00oPwBB5W482POu/Aqj4EJhcSYSTc3g/k4ACdX0/HffjhupvjVYItzhmMxFYcJ8vi1i24ixghLsyue1+ZXIzKivRBhTmGcxM3Uu5jE9Glkut5tP3XlZpyutJlCJu4GS7yAYnOoRJTWXpkcPnc2wRvA4hJduT7ikvZg3qUFKA5Uox/9glpjb3fLJfJGXyNPO0l0GC9iSWnc9fmkdfu5I3HGAkmCnPH4xQg4rzNDj8sIeXNHulAWp20DmWFeFqIE0uPhASFyNhkU32m8mSeE4FMEr4TZz7qKsEAAv+SUUwBa1TtqhHxHgJhS9KqzhUmYzU7ZiJCYGMcKggbvhMN8FL2kCRl/i9U8jB5F2aUJSw4uGfv0DgkhMM8C9wkLc6hCHfIo2wQnxbj7IIB4tX13cqpN9rS0sSR4CloHLj0LRIGesjCPcl84bZor1FSvDLv3ugSS/lntIR1cJfwTiuVEL3zcTslYCl2gJtxgAAA="},24980:(e,o,t)=>{t.d(o,{Z:()=>n});const n=t.p+"assets/images/geolocation-93ba055dbdd6c277831debcf41cbfb9a.webp"},11151:(e,o,t)=>{t.d(o,{Z:()=>r,a:()=>a});var n=t(67294);const i={},l=n.createContext(i);function a(e){const o=n.useContext(l);return n.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function r(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),n.createElement(l.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1a8da153.2ad879b0.js b/assets/js/1a8da153.2ad879b0.js deleted file mode 100644 index c088fba19..000000000 --- a/assets/js/1a8da153.2ad879b0.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[63750],{36714:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>o,default:()=>c,frontMatter:()=>r,metadata:()=>a,toc:()=>p});var i=n(85893),s=n(11151);const r={id:"media-breakpoints",title:"Media breakpoints"},o=void 0,a={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.",source:"@site/forms/php/filters/blocks/media-breakpoints.md",sourceDirName:"php/filters/blocks",slug:"/php/filters/blocks/media-breakpoints",permalink:"/forms/php/filters/blocks/media-breakpoints",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"media-breakpoints",title:"Media breakpoints"},sidebar:"forms",previous:{title:"Additional blocks",permalink:"/forms/php/filters/blocks/additional-blocks"},next:{title:"HTTP request timeout",permalink:"/forms/php/filters/general/http-request-timeout"}},d={},p=[];function l(e){const t={a:"a",admonition:"admonition",code:"code",p:"p",pre:"pre",...(0,s.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(t.p,{children:["By default, we use 4 breakpoints in our responsive design system, defined ",(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-forms/blob/develop/src/Blocks/manifest.json",children:"here"})," within the ",(0,i.jsx)(t.code,{children:"breakpoints"})," key."]}),"\n",(0,i.jsx)(t.p,{children:"If you project uses different breakpoint values, you can change them with this filter."}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-php",children:"\\add_filter('es_forms_blocks_media_breakpoints', [$this, 'getMediaBreakpoints']);\n\n/**\n * Changing the default media breakpoints.\n *\n * This filter will override our default media breakpoints used for responsive selectors like widths of the form fields. You must provide all 4 breakpoints in order for this to work properly and you must follow the pre-defined breakpoint names.\n *\n * @return array\n */\npublic function getMediaBreakpoints(): array\n{\n\treturn [\n\t\t'mobile' => 200,\n\t\t'tablet' => 500,\n\t\t'desktop' => 800,\n\t\t'large' => 1200\n\t];\n}\n"})}),"\n",(0,i.jsx)(t.admonition,{type:"note",children:(0,i.jsx)(t.p,{children:"Additional breakpoints can't be provided, only the current values can be modified!"})})]})}function c(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},11151:(e,t,n)=>{n.d(t,{Z:()=>a,a:()=>o});var i=n(67294);const s={},r=i.createContext(s);function o(e){const t=i.useContext(r);return i.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:o(e.components),i.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1a8da153.2cdec009.js b/assets/js/1a8da153.2cdec009.js new file mode 100644 index 000000000..c179d4c1b --- /dev/null +++ b/assets/js/1a8da153.2cdec009.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[27540],{18016:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>o,default:()=>c,frontMatter:()=>r,metadata:()=>a,toc:()=>p});var i=n(17624),s=n(4552);const r={id:"media-breakpoints",title:"Media breakpoints"},o=void 0,a={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.",source:"@site/forms/php/filters/blocks/media-breakpoints.md",sourceDirName:"php/filters/blocks",slug:"/php/filters/blocks/media-breakpoints",permalink:"/forms/php/filters/blocks/media-breakpoints",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"media-breakpoints",title:"Media breakpoints"},sidebar:"forms",previous:{title:"Additional blocks",permalink:"/forms/php/filters/blocks/additional-blocks"},next:{title:"HTTP request timeout",permalink:"/forms/php/filters/general/http-request-timeout"}},d={},p=[];function l(e){const t={a:"a",admonition:"admonition",code:"code",p:"p",pre:"pre",...(0,s.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(t.p,{children:["By default, we use 4 breakpoints in our responsive design system, defined ",(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-forms/blob/develop/src/Blocks/manifest.json",children:"here"})," within the ",(0,i.jsx)(t.code,{children:"breakpoints"})," key."]}),"\n",(0,i.jsx)(t.p,{children:"If you project uses different breakpoint values, you can change them with this filter."}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-php",children:"\\add_filter('es_forms_blocks_media_breakpoints', [$this, 'getMediaBreakpoints']);\n\n/**\n * Changing the default media breakpoints.\n *\n * This filter will override our default media breakpoints used for responsive selectors like widths of the form fields. You must provide all 4 breakpoints in order for this to work properly and you must follow the pre-defined breakpoint names.\n *\n * @return array\n */\npublic function getMediaBreakpoints(): array\n{\n\treturn [\n\t\t'mobile' => 200,\n\t\t'tablet' => 500,\n\t\t'desktop' => 800,\n\t\t'large' => 1200\n\t];\n}\n"})}),"\n",(0,i.jsx)(t.admonition,{type:"note",children:(0,i.jsx)(t.p,{children:"Additional breakpoints can't be provided, only the current values can be modified!"})})]})}function c(e={}){const{wrapper:t}={...(0,s.M)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},4552:(e,t,n)=>{n.d(t,{I:()=>a,M:()=>o});var i=n(11504);const s={},r=i.createContext(s);function o(e){const t=i.useContext(r);return i.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:o(e.components),i.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1aa24188.42846a2d.js b/assets/js/1aa24188.42846a2d.js deleted file mode 100644 index 0177b2f63..000000000 --- a/assets/js/1aa24188.42846a2d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[40168],{72691:(n,e,t)=>{t.r(e),t.d(e,{assets:()=>r,contentTitle:()=>a,default:()=>f,frontMatter:()=>s,metadata:()=>c,toc:()=>l});var o=t(85893),i=t(11151);const s={id:"fonts-custom",title:"Custom fonts"},a=void 0,c={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.",source:"@site/docs/legacy/v4/guides/fonts-custom.md",sourceDirName:"legacy/v4/guides",slug:"/legacy/v4/guides/fonts-custom",permalink:"/docs/legacy/v4/guides/fonts-custom",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"fonts-custom",title:"Custom fonts"},sidebar:"docs",previous:{title:"Login",permalink:"/docs/legacy/v4/guides/login"},next:{title:"Icon font",permalink:"/docs/legacy/v4/guides/fonts-icon"}},r={},l=[{value:"Font files setup",id:"font-files-setup",level:2},{value:"Font Magician configuration",id:"font-magician-configuration",level:2},{value:"Using the custom font",id:"using-the-custom-font",level:2}];function d(n){const e={a:"a",code:"code",h2:"h2",p:"p",pre:"pre",strong:"strong",...(0,i.a)(),...n.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(e.p,{children:["To add a custom font and generate ",(0,o.jsx)(e.code,{children:"@font-face"})," rules in built CSS file we recommend using PostCSS plugin: ",(0,o.jsx)(e.a,{href:"https://github.com/jonathantneal/postcss-font-magician",children:"Font Magician"}),". Before configuring Font Magician, font files need to be included in the build process."]}),"\n",(0,o.jsx)(e.h2,{id:"font-files-setup",children:"Font files setup"}),"\n",(0,o.jsxs)(e.p,{children:["Font files should be placed in ",(0,o.jsx)(e.code,{children:"theme-name/assets/fonts"}),". There are multiple web oriented font file formats. For majority of browsers only ",(0,o.jsx)(e.code,{children:".woff"})," format is enough (having it alongisde ",(0,o.jsx)(e.code,{children:".woff2"})," is even better), but if you plan to support older browsers (e.g. IE 10 and older) you must include ",(0,o.jsx)(e.code,{children:".eot"})," and ",(0,o.jsx)(e.code,{children:".svg"})," formats, as well."]}),"\n",(0,o.jsxs)(e.p,{children:["Fonts, and all of their variations, need to be included in ",(0,o.jsx)(e.code,{children:"index.js"})," file inside the ",(0,o.jsx)(e.code,{children:"/fonts"})," directory:"]}),"\n",(0,o.jsx)(e.pre,{children:(0,o.jsx)(e.code,{className:"language-js",children:"import './Font-Name-Variation.woff2';\nimport './Font-Name-Variation.woff';\n"})}),"\n",(0,o.jsxs)(e.p,{children:["After running the build process again, fonts will be placed in ",(0,o.jsx)(e.code,{children:"/theme-name/public"})," directory and we can configure Font Magician to load them."]}),"\n",(0,o.jsx)(e.h2,{id:"font-magician-configuration",children:"Font Magician configuration"}),"\n",(0,o.jsx)(e.p,{children:"To install Font Magician run:"}),"\n",(0,o.jsx)(e.pre,{children:(0,o.jsx)(e.code,{className:"language-shell",children:"npm install postcss-font-magician --save-dev\n"})}),"\n",(0,o.jsx)(e.p,{children:"or"}),"\n",(0,o.jsx)(e.pre,{children:(0,o.jsx)(e.code,{className:"language-shell",children:"yarn add postcss-font-magician --dev\n"})}),"\n",(0,o.jsxs)(e.p,{children:["In the root of the theme there is already a ",(0,o.jsx)(e.code,{children:"postcss.config.js"})," file with ",(0,o.jsx)(e.a,{href:"https://github.com/postcss/autoprefixer",children:"Autoprefixer"})," enabled. To configure Font Magician it needs to be imported first and its configuration needs to be added to the existing one."]}),"\n",(0,o.jsx)(e.pre,{children:(0,o.jsx)(e.code,{className:"language-js",children:"...\nconst postcssFontMagician = require('postcss-font-magician');\n\nmodule.exports = {\n plugins: [\n ... // other postCss configs\n postcssFontMagician({\n foundries: ['custom'],\n custom: {\n FontName: { // font-family declaration\n variants: {\n normal: { // font-style variation\n 400: { // font-weight variation\n url: {\n woff: 'Font-Name-Variation.woff',\n woff2: 'Font-Name-Variation.woff2',\n },\n },\n ... // other font-weight variation of the same font-tyle\n },\n ... // other font-style variation of the same font-family\n },\n },\n ... // other font-family declarations\n },\n }),\n ],\n};\n"})}),"\n",(0,o.jsxs)(e.p,{children:["There are other configuration options for including custom fonts using Font Magician and you can check them in the ",(0,o.jsx)(e.a,{href:"https://github.com/jonathantneal/postcss-font-magician#options",children:"font magician documentation"})]}),"\n",(0,o.jsxs)(e.p,{children:["Restart the build process to generate ",(0,o.jsx)(e.code,{children:"@font-face"})," rules."]}),"\n",(0,o.jsx)(e.h2,{id:"using-the-custom-font",children:"Using the custom font"}),"\n",(0,o.jsxs)(e.p,{children:["To use the custom font in a theme, simply declare a new ",(0,o.jsx)(e.code,{children:"font-family"})," rule and assign it to the ",(0,o.jsx)(e.strong,{children:"font name"})," from the Font Magician configuration. A better approach would be to save the specific ",(0,o.jsx)(e.code,{children:"font-family"})," values to variables that can be reused:"]}),"\n",(0,o.jsx)(e.pre,{children:(0,o.jsx)(e.code,{className:"language-scss",children:"// Variable declared in a global variables .scss file.\n$base-font-family: `FontName`, sans-serif,\n\n// Using the variable in .scss partial\nbody {\n font-family: $base-font-family;\n ...\n}\n"})})]})}function f(n={}){const{wrapper:e}={...(0,i.a)(),...n.components};return e?(0,o.jsx)(e,{...n,children:(0,o.jsx)(d,{...n})}):d(n)}},11151:(n,e,t)=>{t.d(e,{Z:()=>c,a:()=>a});var o=t(67294);const i={},s=o.createContext(i);function a(n){const e=o.useContext(s);return o.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function c(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(i):n.components||i:a(n.components),o.createElement(s.Provider,{value:e},n.children)}}}]); \ No newline at end of file diff --git a/assets/js/1aa24188.8f432d2b.js b/assets/js/1aa24188.8f432d2b.js new file mode 100644 index 000000000..70d8243f9 --- /dev/null +++ b/assets/js/1aa24188.8f432d2b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[71268],{11476:(n,e,t)=>{t.r(e),t.d(e,{assets:()=>r,contentTitle:()=>a,default:()=>f,frontMatter:()=>s,metadata:()=>c,toc:()=>l});var o=t(17624),i=t(4552);const s={id:"fonts-custom",title:"Custom fonts"},a=void 0,c={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.",source:"@site/docs/legacy/v4/guides/fonts-custom.md",sourceDirName:"legacy/v4/guides",slug:"/legacy/v4/guides/fonts-custom",permalink:"/docs/legacy/v4/guides/fonts-custom",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"fonts-custom",title:"Custom fonts"},sidebar:"docs",previous:{title:"Login",permalink:"/docs/legacy/v4/guides/login"},next:{title:"Icon font",permalink:"/docs/legacy/v4/guides/fonts-icon"}},r={},l=[{value:"Font files setup",id:"font-files-setup",level:2},{value:"Font Magician configuration",id:"font-magician-configuration",level:2},{value:"Using the custom font",id:"using-the-custom-font",level:2}];function d(n){const e={a:"a",code:"code",h2:"h2",p:"p",pre:"pre",strong:"strong",...(0,i.M)(),...n.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(e.p,{children:["To add a custom font and generate ",(0,o.jsx)(e.code,{children:"@font-face"})," rules in built CSS file we recommend using PostCSS plugin: ",(0,o.jsx)(e.a,{href:"https://github.com/jonathantneal/postcss-font-magician",children:"Font Magician"}),". Before configuring Font Magician, font files need to be included in the build process."]}),"\n",(0,o.jsx)(e.h2,{id:"font-files-setup",children:"Font files setup"}),"\n",(0,o.jsxs)(e.p,{children:["Font files should be placed in ",(0,o.jsx)(e.code,{children:"theme-name/assets/fonts"}),". There are multiple web oriented font file formats. For majority of browsers only ",(0,o.jsx)(e.code,{children:".woff"})," format is enough (having it alongisde ",(0,o.jsx)(e.code,{children:".woff2"})," is even better), but if you plan to support older browsers (e.g. IE 10 and older) you must include ",(0,o.jsx)(e.code,{children:".eot"})," and ",(0,o.jsx)(e.code,{children:".svg"})," formats, as well."]}),"\n",(0,o.jsxs)(e.p,{children:["Fonts, and all of their variations, need to be included in ",(0,o.jsx)(e.code,{children:"index.js"})," file inside the ",(0,o.jsx)(e.code,{children:"/fonts"})," directory:"]}),"\n",(0,o.jsx)(e.pre,{children:(0,o.jsx)(e.code,{className:"language-js",children:"import './Font-Name-Variation.woff2';\nimport './Font-Name-Variation.woff';\n"})}),"\n",(0,o.jsxs)(e.p,{children:["After running the build process again, fonts will be placed in ",(0,o.jsx)(e.code,{children:"/theme-name/public"})," directory and we can configure Font Magician to load them."]}),"\n",(0,o.jsx)(e.h2,{id:"font-magician-configuration",children:"Font Magician configuration"}),"\n",(0,o.jsx)(e.p,{children:"To install Font Magician run:"}),"\n",(0,o.jsx)(e.pre,{children:(0,o.jsx)(e.code,{className:"language-shell",children:"npm install postcss-font-magician --save-dev\n"})}),"\n",(0,o.jsx)(e.p,{children:"or"}),"\n",(0,o.jsx)(e.pre,{children:(0,o.jsx)(e.code,{className:"language-shell",children:"yarn add postcss-font-magician --dev\n"})}),"\n",(0,o.jsxs)(e.p,{children:["In the root of the theme there is already a ",(0,o.jsx)(e.code,{children:"postcss.config.js"})," file with ",(0,o.jsx)(e.a,{href:"https://github.com/postcss/autoprefixer",children:"Autoprefixer"})," enabled. To configure Font Magician it needs to be imported first and its configuration needs to be added to the existing one."]}),"\n",(0,o.jsx)(e.pre,{children:(0,o.jsx)(e.code,{className:"language-js",children:"...\nconst postcssFontMagician = require('postcss-font-magician');\n\nmodule.exports = {\n plugins: [\n ... // other postCss configs\n postcssFontMagician({\n foundries: ['custom'],\n custom: {\n FontName: { // font-family declaration\n variants: {\n normal: { // font-style variation\n 400: { // font-weight variation\n url: {\n woff: 'Font-Name-Variation.woff',\n woff2: 'Font-Name-Variation.woff2',\n },\n },\n ... // other font-weight variation of the same font-tyle\n },\n ... // other font-style variation of the same font-family\n },\n },\n ... // other font-family declarations\n },\n }),\n ],\n};\n"})}),"\n",(0,o.jsxs)(e.p,{children:["There are other configuration options for including custom fonts using Font Magician and you can check them in the ",(0,o.jsx)(e.a,{href:"https://github.com/jonathantneal/postcss-font-magician#options",children:"font magician documentation"})]}),"\n",(0,o.jsxs)(e.p,{children:["Restart the build process to generate ",(0,o.jsx)(e.code,{children:"@font-face"})," rules."]}),"\n",(0,o.jsx)(e.h2,{id:"using-the-custom-font",children:"Using the custom font"}),"\n",(0,o.jsxs)(e.p,{children:["To use the custom font in a theme, simply declare a new ",(0,o.jsx)(e.code,{children:"font-family"})," rule and assign it to the ",(0,o.jsx)(e.strong,{children:"font name"})," from the Font Magician configuration. A better approach would be to save the specific ",(0,o.jsx)(e.code,{children:"font-family"})," values to variables that can be reused:"]}),"\n",(0,o.jsx)(e.pre,{children:(0,o.jsx)(e.code,{className:"language-scss",children:"// Variable declared in a global variables .scss file.\n$base-font-family: `FontName`, sans-serif,\n\n// Using the variable in .scss partial\nbody {\n font-family: $base-font-family;\n ...\n}\n"})})]})}function f(n={}){const{wrapper:e}={...(0,i.M)(),...n.components};return e?(0,o.jsx)(e,{...n,children:(0,o.jsx)(d,{...n})}):d(n)}},4552:(n,e,t)=>{t.d(e,{I:()=>c,M:()=>a});var o=t(11504);const i={},s=o.createContext(i);function a(n){const e=o.useContext(s);return o.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function c(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(i):n.components||i:a(n.components),o.createElement(s.Provider,{value:e},n.children)}}}]); \ No newline at end of file diff --git a/assets/js/1ab6957b.4b8f7c78.js b/assets/js/1ab6957b.4b8f7c78.js new file mode 100644 index 000000000..7b1345d1e --- /dev/null +++ b/assets/js/1ab6957b.4b8f7c78.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[51528],{90328:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>s,default:()=>b,frontMatter:()=>a,metadata:()=>o,toc:()=>c});var n=i(17624),r=i(4552);const a={id:"clearbit",title:"Clearbit"},s=void 0,o={id:"php/global-variables/integrations/clearbit",title:"Clearbit",description:"ESAPIKEY_CLEARBIT",source:"@site/forms/php/global-variables/integrations/clearbit.md",sourceDirName:"php/global-variables/integrations",slug:"/php/global-variables/integrations/clearbit",permalink:"/forms/php/global-variables/integrations/clearbit",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"clearbit",title:"Clearbit"},sidebar:"forms",previous:{title:"Airtable",permalink:"/forms/php/global-variables/integrations/airtable"},next:{title:"Goodbits",permalink:"/forms/php/global-variables/integrations/goodbits"}},l={},c=[{value:"ES_API_KEY_CLEARBIT",id:"es_api_key_clearbit",level:3}];function p(e){const t={code:"code",h3:"h3",p:"p",pre:"pre",...(0,r.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h3,{id:"es_api_key_clearbit",children:"ES_API_KEY_CLEARBIT"}),"\n",(0,n.jsx)(t.p,{children:"This variable will set the Clearbit integration API key."}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"define('ES_API_KEY_CLEARBIT', '');\n"})})]})}function b(e={}){const{wrapper:t}={...(0,r.M)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(p,{...e})}):p(e)}},4552:(e,t,i)=>{i.d(t,{I:()=>o,M:()=>s});var n=i(11504);const r={},a=n.createContext(r);function s(e){const t=n.useContext(a);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:s(e.components),n.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1ab6957b.bbec41bd.js b/assets/js/1ab6957b.bbec41bd.js deleted file mode 100644 index b3b94d28a..000000000 --- a/assets/js/1ab6957b.bbec41bd.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[17312],{51909:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>s,default:()=>b,frontMatter:()=>a,metadata:()=>o,toc:()=>c});var n=i(85893),r=i(11151);const a={id:"clearbit",title:"Clearbit"},s=void 0,o={id:"php/global-variables/integrations/clearbit",title:"Clearbit",description:"ESAPIKEY_CLEARBIT",source:"@site/forms/php/global-variables/integrations/clearbit.md",sourceDirName:"php/global-variables/integrations",slug:"/php/global-variables/integrations/clearbit",permalink:"/forms/php/global-variables/integrations/clearbit",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"clearbit",title:"Clearbit"},sidebar:"forms",previous:{title:"Airtable",permalink:"/forms/php/global-variables/integrations/airtable"},next:{title:"Goodbits",permalink:"/forms/php/global-variables/integrations/goodbits"}},l={},c=[{value:"ES_API_KEY_CLEARBIT",id:"es_api_key_clearbit",level:3}];function p(e){const t={code:"code",h3:"h3",p:"p",pre:"pre",...(0,r.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h3,{id:"es_api_key_clearbit",children:"ES_API_KEY_CLEARBIT"}),"\n",(0,n.jsx)(t.p,{children:"This variable will set the Clearbit integration API key."}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"define('ES_API_KEY_CLEARBIT', '');\n"})})]})}function b(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(p,{...e})}):p(e)}},11151:(e,t,i)=>{i.d(t,{Z:()=>o,a:()=>s});var n=i(67294);const r={},a=n.createContext(r);function s(e){const t=n.useContext(a);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:s(e.components),n.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1b63fe07.55ee408d.js b/assets/js/1b63fe07.55ee408d.js deleted file mode 100644 index 753f747c0..000000000 --- a/assets/js/1b63fe07.55ee408d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[8622],{81383:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>o,contentTitle:()=>a,default:()=>h,frontMatter:()=>t,metadata:()=>l,toc:()=>c});var r=s(85893),i=s(11151);const t={id:"helpers-php",title:"PHP"},a=void 0,l={id:"legacy/v8/basics/helpers-php",title:"PHP",description:"docs-source",source:"@site/docs/legacy/v8/basics/helpers-php.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/helpers-php",permalink:"/docs/legacy/v8/basics/helpers-php",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"helpers-php",title:"PHP"},sidebar:"docs",previous:{title:"Scss",permalink:"/docs/legacy/v8/basics/helpers-scss"},next:{title:"Tips & Tricks",permalink:"/docs/legacy/v8/basics/tips-tricks"}},o={},c=[{value:"ensureString",id:"ensurestring",level:2},{value:"classnames",id:"classnames",level:2},{value:"render",id:"render",level:2},{value:"getManifest",id:"getmanifest",level:2},{value:"responsiveSelectors",id:"responsiveselectors",level:2},{value:"checkAttr",id:"checkattr",level:2},{value:"checkAttrResponsive",id:"checkattrresponsive",level:2},{value:"selector",id:"selector",level:2},{value:"restResponseHandler",id:"restresponsehandler",level:2},{value:"isValidXml",id:"isvalidxml",level:2},{value:"isJson",id:"isjson",level:2},{value:"flattenArray",id:"flattenarray",level:2},{value:"sanitizeArray",id:"sanitizearray",level:2},{value:"sortArrayByOrderKey",id:"sortarraybyorderkey",level:2},{value:"getShortcode",id:"getshortcode",level:2}];function d(e){const n={a:"a",code:"code",h2:"h2",img:"img",li:"li",p:"p",ul:"ul",...(0,i.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs",children:(0,r.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,r.jsx)(n.h2,{id:"ensurestring",children:"ensureString"}),"\n",(0,r.jsx)(n.p,{children:"Makes sure the output is a string. Useful for converting an array of components into a string.\nIf you pass an associative array, it will output strings with keys. Used for generating data-attributes from an array."}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"@param array|string $variable Variable we need to convert into a string."}),"\n",(0,r.jsx)(n.li,{children:"@throws ComponentException When $variable is not a string or an array."}),"\n",(0,r.jsx)(n.li,{children:"@return string"}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"classnames",children:"classnames"}),"\n",(0,r.jsx)(n.p,{children:"Converts an array of classes into a string that can be echoed."}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"@param array $classes Array of classes."}),"\n",(0,r.jsx)(n.li,{children:"@return string"}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"render",children:"render"}),"\n",(0,r.jsx)(n.p,{children:"Renders a component and (optionally) passes some attributes to it."}),"\n",(0,r.jsxs)(n.p,{children:["Note about the ",(0,r.jsx)(n.code,{children:"parentClass"})," attribute: If provided, the component will be wrapped with a parent BEM selector."]}),"\n",(0,r.jsxs)(n.p,{children:["For example, if ",(0,r.jsx)(n.code,{children:"$attributes['parentClass'] === 'header'"})," and ",(0,r.jsx)(n.code,{children:"$component === 'logo'"})," are set, the component will be wrapped with a ",(0,r.jsx)(n.code,{children:''}),"."]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"@param string $component Component's name or full path (ending with .php)."}),"\n",(0,r.jsx)(n.li,{children:"@param array $attributes Array of attributes that is implicitly passed to the component."}),"\n",(0,r.jsx)(n.li,{children:"@param string $parentPath If parent path is provided, it will be appended to the file location. If not, get_template_directory_uri() will be used as a default parent path."}),"\n",(0,r.jsx)(n.li,{children:"@throws \\Exception When we're unable to find the component by $component."}),"\n",(0,r.jsx)(n.li,{children:"@return string"}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"getmanifest",children:"getManifest"}),"\n",(0,r.jsxs)(n.p,{children:["Get ",(0,r.jsx)(n.code,{children:"manifest json"}),". Used for getting block/components manifest."]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"@param string $path Absolute path to manifest folder."}),"\n",(0,r.jsx)(n.li,{children:"@throws \\Exception When we're unable to find the component by $component."}),"\n",(0,r.jsx)(n.li,{children:"@return array"}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"responsiveselectors",children:"responsiveSelectors"}),"\n",(0,r.jsxs)(n.p,{children:["This function is the PHP equivalent of the JavaScript function on this ",(0,r.jsx)(n.a,{href:"helpers-javascript",children:"link"}),"."]}),"\n",(0,r.jsx)(n.h2,{id:"checkattr",children:"checkAttr"}),"\n",(0,r.jsxs)(n.p,{children:["This function is the PHP equivalent of ",(0,r.jsx)(n.a,{href:"helpers-javascript",children:"this JavaScript function"}),", except there is no ",(0,r.jsx)(n.code,{children:"undefinedAllowed"})," parameter - it's used only on the WordPress admin side."]}),"\n",(0,r.jsx)(n.h2,{id:"checkattrresponsive",children:"checkAttrResponsive"}),"\n",(0,r.jsxs)(n.p,{children:["This function is the PHP equivalent of ",(0,r.jsx)(n.a,{href:"helpers-javascript",children:"this JavaScript function"}),", except there is no ",(0,r.jsx)(n.code,{children:"undefinedAllowed"})," parameter - it's used only on the WordPress admin side."]}),"\n",(0,r.jsx)(n.h2,{id:"selector",children:"selector"}),"\n",(0,r.jsxs)(n.p,{children:["This function is the PHP equivalent of the JavaScript function on this ",(0,r.jsx)(n.a,{href:"helpers-javascript",children:"link"}),"."]}),"\n",(0,r.jsx)(n.h2,{id:"restresponsehandler",children:"restResponseHandler"}),"\n",(0,r.jsx)(n.p,{children:"Ensure the correct response for REST using the handler function."}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"@param integer $code Response Status code."}),"\n",(0,r.jsx)(n.li,{children:"@param string $status Response Status name (success/error)."}),"\n",(0,r.jsx)(n.li,{children:"@param string|null $msg Response Message."}),"\n",(0,r.jsx)(n.li,{children:"@param array|null $data Response additional data."}),"\n",(0,r.jsx)(n.li,{children:"@return \\WP_REST_Response|\\WP_Error If response generated an error, WP_Error, if response is already an instance, WP_REST_Response, otherwise returns a new WP_REST_Response instance."}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"isvalidxml",children:"isValidXml"}),"\n",(0,r.jsx)(n.p,{children:"Check if XML is valid. Used for validating SVG files."}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"@param string $xml Full xml document."}),"\n",(0,r.jsx)(n.li,{children:"@return boolean"}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"isjson",children:"isJson"}),"\n",(0,r.jsx)(n.p,{children:"Check if json is valid."}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"@param string $string String to check."}),"\n",(0,r.jsx)(n.li,{children:"@return bool"}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"flattenarray",children:"flattenArray"}),"\n",(0,r.jsx)(n.p,{children:"Flatten multidimensional array."}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"@param array $array Multidimensional array."}),"\n",(0,r.jsx)(n.li,{children:"@return array"}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"sanitizearray",children:"sanitizeArray"}),"\n",(0,r.jsx)(n.p,{children:"Sanitize all the values in an array."}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["@link ",(0,r.jsx)(n.a,{href:"https://developer.wordpress.org/themes/theme-security/data-sanitization-escaping/",children:"https://developer.wordpress.org/themes/theme-security/data-sanitization-escaping/"})]}),"\n",(0,r.jsx)(n.li,{children:"@param array $array Provided array."}),"\n",(0,r.jsx)(n.li,{children:"@param string $sanitizationFunction WordPress function used for sanitization purposes."}),"\n",(0,r.jsx)(n.li,{children:"@return array"}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"sortarraybyorderkey",children:"sortArrayByOrderKey"}),"\n",(0,r.jsx)(n.p,{children:"Sort array by order key. Used to sort terms."}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"@param array $items Items array to sort. Must have order key."}),"\n",(0,r.jsx)(n.li,{children:"@return array"}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"getshortcode",children:"getShortcode"}),"\n",(0,r.jsx)(n.p,{children:"Call a shortcode function by tag name."}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"@author J.D. Grimes"}),"\n",(0,r.jsxs)(n.li,{children:["@link ",(0,r.jsx)(n.a,{href:"https://codesymphony.co/dont-do_shortcode/",children:"https://codesymphony.co/dont-do_shortcode/"})]}),"\n",(0,r.jsx)(n.li,{children:"@param string $tag The shortcode whose function to call."}),"\n",(0,r.jsx)(n.li,{children:"@param array $attr The attributes to pass to the shortcode function. Optional."}),"\n",(0,r.jsx)(n.li,{children:"@param string|null $content The shortcodes content. Default is null (none)."}),"\n",(0,r.jsx)(n.li,{children:"@return string|bool False on failure, the result of the shortcode on success."}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},11151:(e,n,s)=>{s.d(n,{Z:()=>l,a:()=>a});var r=s(67294);const i={},t=r.createContext(i);function a(e){const n=r.useContext(t);return r.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),r.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1b63fe07.fbe93fd0.js b/assets/js/1b63fe07.fbe93fd0.js new file mode 100644 index 000000000..a71606acc --- /dev/null +++ b/assets/js/1b63fe07.fbe93fd0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[13696],{19444:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>o,contentTitle:()=>a,default:()=>h,frontMatter:()=>t,metadata:()=>l,toc:()=>c});var r=s(17624),i=s(4552);const t={id:"helpers-php",title:"PHP"},a=void 0,l={id:"legacy/v8/basics/helpers-php",title:"PHP",description:"docs-source",source:"@site/docs/legacy/v8/basics/helpers-php.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/helpers-php",permalink:"/docs/legacy/v8/basics/helpers-php",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"helpers-php",title:"PHP"},sidebar:"docs",previous:{title:"Scss",permalink:"/docs/legacy/v8/basics/helpers-scss"},next:{title:"Tips & Tricks",permalink:"/docs/legacy/v8/basics/tips-tricks"}},o={},c=[{value:"ensureString",id:"ensurestring",level:2},{value:"classnames",id:"classnames",level:2},{value:"render",id:"render",level:2},{value:"getManifest",id:"getmanifest",level:2},{value:"responsiveSelectors",id:"responsiveselectors",level:2},{value:"checkAttr",id:"checkattr",level:2},{value:"checkAttrResponsive",id:"checkattrresponsive",level:2},{value:"selector",id:"selector",level:2},{value:"restResponseHandler",id:"restresponsehandler",level:2},{value:"isValidXml",id:"isvalidxml",level:2},{value:"isJson",id:"isjson",level:2},{value:"flattenArray",id:"flattenarray",level:2},{value:"sanitizeArray",id:"sanitizearray",level:2},{value:"sortArrayByOrderKey",id:"sortarraybyorderkey",level:2},{value:"getShortcode",id:"getshortcode",level:2}];function d(e){const n={a:"a",code:"code",h2:"h2",img:"img",li:"li",p:"p",ul:"ul",...(0,i.M)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs",children:(0,r.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,r.jsx)(n.h2,{id:"ensurestring",children:"ensureString"}),"\n",(0,r.jsx)(n.p,{children:"Makes sure the output is a string. Useful for converting an array of components into a string.\nIf you pass an associative array, it will output strings with keys. Used for generating data-attributes from an array."}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"@param array|string $variable Variable we need to convert into a string."}),"\n",(0,r.jsx)(n.li,{children:"@throws ComponentException When $variable is not a string or an array."}),"\n",(0,r.jsx)(n.li,{children:"@return string"}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"classnames",children:"classnames"}),"\n",(0,r.jsx)(n.p,{children:"Converts an array of classes into a string that can be echoed."}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"@param array $classes Array of classes."}),"\n",(0,r.jsx)(n.li,{children:"@return string"}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"render",children:"render"}),"\n",(0,r.jsx)(n.p,{children:"Renders a component and (optionally) passes some attributes to it."}),"\n",(0,r.jsxs)(n.p,{children:["Note about the ",(0,r.jsx)(n.code,{children:"parentClass"})," attribute: If provided, the component will be wrapped with a parent BEM selector."]}),"\n",(0,r.jsxs)(n.p,{children:["For example, if ",(0,r.jsx)(n.code,{children:"$attributes['parentClass'] === 'header'"})," and ",(0,r.jsx)(n.code,{children:"$component === 'logo'"})," are set, the component will be wrapped with a ",(0,r.jsx)(n.code,{children:''}),"."]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"@param string $component Component's name or full path (ending with .php)."}),"\n",(0,r.jsx)(n.li,{children:"@param array $attributes Array of attributes that is implicitly passed to the component."}),"\n",(0,r.jsx)(n.li,{children:"@param string $parentPath If parent path is provided, it will be appended to the file location. If not, get_template_directory_uri() will be used as a default parent path."}),"\n",(0,r.jsx)(n.li,{children:"@throws \\Exception When we're unable to find the component by $component."}),"\n",(0,r.jsx)(n.li,{children:"@return string"}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"getmanifest",children:"getManifest"}),"\n",(0,r.jsxs)(n.p,{children:["Get ",(0,r.jsx)(n.code,{children:"manifest json"}),". Used for getting block/components manifest."]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"@param string $path Absolute path to manifest folder."}),"\n",(0,r.jsx)(n.li,{children:"@throws \\Exception When we're unable to find the component by $component."}),"\n",(0,r.jsx)(n.li,{children:"@return array"}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"responsiveselectors",children:"responsiveSelectors"}),"\n",(0,r.jsxs)(n.p,{children:["This function is the PHP equivalent of the JavaScript function on this ",(0,r.jsx)(n.a,{href:"helpers-javascript",children:"link"}),"."]}),"\n",(0,r.jsx)(n.h2,{id:"checkattr",children:"checkAttr"}),"\n",(0,r.jsxs)(n.p,{children:["This function is the PHP equivalent of ",(0,r.jsx)(n.a,{href:"helpers-javascript",children:"this JavaScript function"}),", except there is no ",(0,r.jsx)(n.code,{children:"undefinedAllowed"})," parameter - it's used only on the WordPress admin side."]}),"\n",(0,r.jsx)(n.h2,{id:"checkattrresponsive",children:"checkAttrResponsive"}),"\n",(0,r.jsxs)(n.p,{children:["This function is the PHP equivalent of ",(0,r.jsx)(n.a,{href:"helpers-javascript",children:"this JavaScript function"}),", except there is no ",(0,r.jsx)(n.code,{children:"undefinedAllowed"})," parameter - it's used only on the WordPress admin side."]}),"\n",(0,r.jsx)(n.h2,{id:"selector",children:"selector"}),"\n",(0,r.jsxs)(n.p,{children:["This function is the PHP equivalent of the JavaScript function on this ",(0,r.jsx)(n.a,{href:"helpers-javascript",children:"link"}),"."]}),"\n",(0,r.jsx)(n.h2,{id:"restresponsehandler",children:"restResponseHandler"}),"\n",(0,r.jsx)(n.p,{children:"Ensure the correct response for REST using the handler function."}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"@param integer $code Response Status code."}),"\n",(0,r.jsx)(n.li,{children:"@param string $status Response Status name (success/error)."}),"\n",(0,r.jsx)(n.li,{children:"@param string|null $msg Response Message."}),"\n",(0,r.jsx)(n.li,{children:"@param array|null $data Response additional data."}),"\n",(0,r.jsx)(n.li,{children:"@return \\WP_REST_Response|\\WP_Error If response generated an error, WP_Error, if response is already an instance, WP_REST_Response, otherwise returns a new WP_REST_Response instance."}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"isvalidxml",children:"isValidXml"}),"\n",(0,r.jsx)(n.p,{children:"Check if XML is valid. Used for validating SVG files."}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"@param string $xml Full xml document."}),"\n",(0,r.jsx)(n.li,{children:"@return boolean"}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"isjson",children:"isJson"}),"\n",(0,r.jsx)(n.p,{children:"Check if json is valid."}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"@param string $string String to check."}),"\n",(0,r.jsx)(n.li,{children:"@return bool"}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"flattenarray",children:"flattenArray"}),"\n",(0,r.jsx)(n.p,{children:"Flatten multidimensional array."}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"@param array $array Multidimensional array."}),"\n",(0,r.jsx)(n.li,{children:"@return array"}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"sanitizearray",children:"sanitizeArray"}),"\n",(0,r.jsx)(n.p,{children:"Sanitize all the values in an array."}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["@link ",(0,r.jsx)(n.a,{href:"https://developer.wordpress.org/themes/theme-security/data-sanitization-escaping/",children:"https://developer.wordpress.org/themes/theme-security/data-sanitization-escaping/"})]}),"\n",(0,r.jsx)(n.li,{children:"@param array $array Provided array."}),"\n",(0,r.jsx)(n.li,{children:"@param string $sanitizationFunction WordPress function used for sanitization purposes."}),"\n",(0,r.jsx)(n.li,{children:"@return array"}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"sortarraybyorderkey",children:"sortArrayByOrderKey"}),"\n",(0,r.jsx)(n.p,{children:"Sort array by order key. Used to sort terms."}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"@param array $items Items array to sort. Must have order key."}),"\n",(0,r.jsx)(n.li,{children:"@return array"}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"getshortcode",children:"getShortcode"}),"\n",(0,r.jsx)(n.p,{children:"Call a shortcode function by tag name."}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"@author J.D. Grimes"}),"\n",(0,r.jsxs)(n.li,{children:["@link ",(0,r.jsx)(n.a,{href:"https://codesymphony.co/dont-do_shortcode/",children:"https://codesymphony.co/dont-do_shortcode/"})]}),"\n",(0,r.jsx)(n.li,{children:"@param string $tag The shortcode whose function to call."}),"\n",(0,r.jsx)(n.li,{children:"@param array $attr The attributes to pass to the shortcode function. Optional."}),"\n",(0,r.jsx)(n.li,{children:"@param string|null $content The shortcodes content. Default is null (none)."}),"\n",(0,r.jsx)(n.li,{children:"@return string|bool False on failure, the result of the shortcode on success."}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,i.M)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},4552:(e,n,s)=>{s.d(n,{I:()=>l,M:()=>a});var r=s(11504);const i={},t=r.createContext(i);function a(e){const n=r.useContext(t);return r.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),r.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1c82c718.b41036c1.js b/assets/js/1c82c718.b41036c1.js new file mode 100644 index 000000000..d2f63b818 --- /dev/null +++ b/assets/js/1c82c718.b41036c1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[72472],{75580:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>r,contentTitle:()=>t,default:()=>d,frontMatter:()=>l,metadata:()=>i,toc:()=>c});var o=s(17624),a=s(4552);const l={id:"writing-styles",title:"Writing Styles"},t=void 0,i={id:"legacy/v8/basics/writing-styles",title:"Writing Styles",description:"docs-source",source:"@site/docs/legacy/v8/basics/writing-styles.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/writing-styles",permalink:"/docs/legacy/v8/basics/writing-styles",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"writing-styles",title:"Writing Styles"},sidebar:"docs",previous:{title:"Global Settings",permalink:"/docs/legacy/v8/basics/global-settings"},next:{title:"Fonts",permalink:"/docs/legacy/v8/basics/fonts"}},r={},c=[{value:"Never use HEX color values in your files",id:"never-use-hex-color-values-in-your-files",level:3},{value:"Never use the actual color name as a variable name",id:"never-use-the-actual-color-name-as-a-variable-name",level:3},{value:"All external variables must go to a components map",id:"all-external-variables-must-go-to-a-components-map",level:3},{value:"Never mix multiple maps in a single component",id:"never-mix-multiple-maps-in-a-single-component",level:3},{value:"Where can I define global typography for all my blocks/components?",id:"where-can-i-define-global-typography-for-all-my-blockscomponents",level:3}];function h(e){const n={a:"a",admonition:"admonition",code:"code",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs",children:(0,o.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(n.admonition,{type:"note",children:(0,o.jsxs)(n.p,{children:["This chapter is only relevant in setups that don't use CSS variables. If you are using CSS variables please skip to the ",(0,o.jsx)(n.a,{href:"blocks-styles",children:"Blocks Styles chapter"})," chapter."]})}),"\n",(0,o.jsx)(n.p,{children:"Everyone says that writing styles is easy and that is usually doesn't require a lot of thinking. But, like everything in programming, if you don't think about it, the problems add up, and you end up with a headache."}),"\n",(0,o.jsx)(n.p,{children:"Here are some of the recommendations that we use when writing our styles. It's also how we manage everything to be as modular as possible."}),"\n",(0,o.jsx)(n.h3,{id:"never-use-hex-color-values-in-your-files",children:"Never use HEX color values in your files"}),"\n",(0,o.jsx)(n.p,{children:"Like in Bootstrap or any other front-end framework, you should never use hex color values in multiple places. You should assign that hex value to a variable and use that variable all over. That way, if you ever need to change the color, simply change the value in one place and it will be consistently applied all over the project."}),"\n",(0,o.jsxs)(n.p,{children:["You can read more about defining your colors in the ",(0,o.jsx)(n.a,{href:"global-settings",children:"global settings"})," chapter."]}),"\n",(0,o.jsx)(n.h3,{id:"never-use-the-actual-color-name-as-a-variable-name",children:"Never use the actual color name as a variable name"}),"\n",(0,o.jsx)(n.p,{children:"You can name your variables whatever you like, but we recommend that you never use the actual color name as a variable name. It would be best if you used some generic variable name."}),"\n",(0,o.jsx)(n.p,{children:"For example, you can call blue color r2d2-color. With this approach, if your designer chooses to change the project's color scheme at any point, you only need to change one variable value, and you're done."}),"\n",(0,o.jsxs)(n.p,{children:["We like to use ",(0,o.jsx)(n.a,{href:"https://chir.ag/projects/name-that-color",children:"this site"})," for our color names. Also, we recommend using simple names. For instance, Cornflower Blue color would have ",(0,o.jsx)(n.code,{children:"$base-corn-color"})," or ",(0,o.jsx)(n.code,{children:"$base-flower-color"})," variable name."]}),"\n",(0,o.jsx)(n.h3,{id:"all-external-variables-must-go-to-a-components-map",children:"All external variables must go to a components map"}),"\n",(0,o.jsx)(n.p,{children:"We use maps for a lot of stuff in our boilerplate. The reason is that:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"maps can contain multiple variables in one place,"}),"\n",(0,o.jsx)(n.li,{children:"you don't need to write multiple variables at the top,"}),"\n",(0,o.jsx)(n.li,{children:"you can nest functionalities,"}),"\n",(0,o.jsx)(n.li,{children:"you can have multiple values with the same name and just change the top-level map,"}),"\n",(0,o.jsx)(n.li,{children:"etc."}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["We also have many helpers, which you can check in our ",(0,o.jsx)(n.a,{href:"/docs/basics/library",children:"SASS docs"}),"."]}),"\n",(0,o.jsx)(n.p,{children:"In the component map, you should only add things that you will reuse in your component."}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Examples:"})}),"\n",(0,o.jsx)(n.p,{children:"A simple variable in a map:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-scss",children:"$social-links: (\n icon-color: global-settings(colors, black),\n);\n\n.social-links {\n color: map-get-strict($social-links, icon-color);\n}\n"})}),"\n",(0,o.jsx)(n.p,{children:"Nested variables in a map:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-scss",children:"$social-links: (\n colors: (\n dark: global-settings(colors, black),\n light: global-settings(colors, white),\n ),\n sizes: (\n small: 10px,\n big: 20px,\n )\n);\n\n.social-links {\n color: map-get-deep($social-links, colors, dark);\n\n &--light {\n color: map-get-deep($social-links, colors, light);\n }\n\n &__sizes {\n font-size: map-get-deep($social-links, sizes, small);\n\n\n &--big {\n font-size: map-get-deep($social-links, sizes, big);\n }\n }\n}\n"})}),"\n",(0,o.jsx)(n.h3,{id:"never-mix-multiple-maps-in-a-single-component",children:"Never mix multiple maps in a single component"}),"\n",(0,o.jsx)(n.p,{children:"You want all your styles to be contained to a single component and not dependent on external components. Sometimes this can't be avoided."}),"\n",(0,o.jsx)(n.p,{children:"In that case, you should define a key in the component variable for the external map and define it like this:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Example:"})}),"\n",(0,o.jsxs)(n.p,{children:["External map in ",(0,o.jsx)(n.code,{children:"assets/styles/parts/utils/_z-index.scss"}),":"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-scss",children:"$zindex: (\n header: 100,\n drawer: 99,\n overlay: 98,\n);\n"})}),"\n",(0,o.jsx)(n.p,{children:"Your component:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-scss",children:"$header: (\n index: map-get-strict($zindex, header),\n);\n\n.header {\n z-index: map-get-strict($header, index);\n}\n"})}),"\n",(0,o.jsx)(n.h3,{id:"where-can-i-define-global-typography-for-all-my-blockscomponents",children:"Where can I define global typography for all my blocks/components?"}),"\n",(0,o.jsx)(n.p,{children:"Well, nowhere. Try to move your way of thinking from Bootstrap or any other front-end framework where you define global typography in one place."}),"\n",(0,o.jsx)(n.p,{children:"Why is that? Because we use component-based development and you should think in that way. Each component is responsible for its own styles."}),"\n",(0,o.jsx)(n.p,{children:"You should define styles with all sizes, colors, and variations for the heading component and reuse that component wherever you need any kind of heading. The same applies to any other component. This is why you don't need global typography, styles, etc."}),"\n",(0,o.jsx)(n.p,{children:"Global styles and variables are only used for things you want to share across components (that should be reduced to a minimum)."})]})}function d(e={}){const{wrapper:n}={...(0,a.M)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(h,{...e})}):h(e)}},4552:(e,n,s)=>{s.d(n,{I:()=>i,M:()=>t});var o=s(11504);const a={},l=o.createContext(a);function t(e){const n=o.useContext(l);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:t(e.components),o.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1c82c718.e3874e66.js b/assets/js/1c82c718.e3874e66.js deleted file mode 100644 index e1bd62896..000000000 --- a/assets/js/1c82c718.e3874e66.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[35491],{45754:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>r,contentTitle:()=>t,default:()=>d,frontMatter:()=>l,metadata:()=>i,toc:()=>c});var o=s(85893),a=s(11151);const l={id:"writing-styles",title:"Writing Styles"},t=void 0,i={id:"legacy/v8/basics/writing-styles",title:"Writing Styles",description:"docs-source",source:"@site/docs/legacy/v8/basics/writing-styles.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/writing-styles",permalink:"/docs/legacy/v8/basics/writing-styles",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"writing-styles",title:"Writing Styles"},sidebar:"docs",previous:{title:"Global Settings",permalink:"/docs/legacy/v8/basics/global-settings"},next:{title:"Fonts",permalink:"/docs/legacy/v8/basics/fonts"}},r={},c=[{value:"Never use HEX color values in your files",id:"never-use-hex-color-values-in-your-files",level:3},{value:"Never use the actual color name as a variable name",id:"never-use-the-actual-color-name-as-a-variable-name",level:3},{value:"All external variables must go to a components map",id:"all-external-variables-must-go-to-a-components-map",level:3},{value:"Never mix multiple maps in a single component",id:"never-mix-multiple-maps-in-a-single-component",level:3},{value:"Where can I define global typography for all my blocks/components?",id:"where-can-i-define-global-typography-for-all-my-blockscomponents",level:3}];function h(e){const n={a:"a",admonition:"admonition",code:"code",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs",children:(0,o.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(n.admonition,{type:"note",children:(0,o.jsxs)(n.p,{children:["This chapter is only relevant in setups that don't use CSS variables. If you are using CSS variables please skip to the ",(0,o.jsx)(n.a,{href:"blocks-styles",children:"Blocks Styles chapter"})," chapter."]})}),"\n",(0,o.jsx)(n.p,{children:"Everyone says that writing styles is easy and that is usually doesn't require a lot of thinking. But, like everything in programming, if you don't think about it, the problems add up, and you end up with a headache."}),"\n",(0,o.jsx)(n.p,{children:"Here are some of the recommendations that we use when writing our styles. It's also how we manage everything to be as modular as possible."}),"\n",(0,o.jsx)(n.h3,{id:"never-use-hex-color-values-in-your-files",children:"Never use HEX color values in your files"}),"\n",(0,o.jsx)(n.p,{children:"Like in Bootstrap or any other front-end framework, you should never use hex color values in multiple places. You should assign that hex value to a variable and use that variable all over. That way, if you ever need to change the color, simply change the value in one place and it will be consistently applied all over the project."}),"\n",(0,o.jsxs)(n.p,{children:["You can read more about defining your colors in the ",(0,o.jsx)(n.a,{href:"global-settings",children:"global settings"})," chapter."]}),"\n",(0,o.jsx)(n.h3,{id:"never-use-the-actual-color-name-as-a-variable-name",children:"Never use the actual color name as a variable name"}),"\n",(0,o.jsx)(n.p,{children:"You can name your variables whatever you like, but we recommend that you never use the actual color name as a variable name. It would be best if you used some generic variable name."}),"\n",(0,o.jsx)(n.p,{children:"For example, you can call blue color r2d2-color. With this approach, if your designer chooses to change the project's color scheme at any point, you only need to change one variable value, and you're done."}),"\n",(0,o.jsxs)(n.p,{children:["We like to use ",(0,o.jsx)(n.a,{href:"https://chir.ag/projects/name-that-color",children:"this site"})," for our color names. Also, we recommend using simple names. For instance, Cornflower Blue color would have ",(0,o.jsx)(n.code,{children:"$base-corn-color"})," or ",(0,o.jsx)(n.code,{children:"$base-flower-color"})," variable name."]}),"\n",(0,o.jsx)(n.h3,{id:"all-external-variables-must-go-to-a-components-map",children:"All external variables must go to a components map"}),"\n",(0,o.jsx)(n.p,{children:"We use maps for a lot of stuff in our boilerplate. The reason is that:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"maps can contain multiple variables in one place,"}),"\n",(0,o.jsx)(n.li,{children:"you don't need to write multiple variables at the top,"}),"\n",(0,o.jsx)(n.li,{children:"you can nest functionalities,"}),"\n",(0,o.jsx)(n.li,{children:"you can have multiple values with the same name and just change the top-level map,"}),"\n",(0,o.jsx)(n.li,{children:"etc."}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["We also have many helpers, which you can check in our ",(0,o.jsx)(n.a,{href:"/sass",children:"SASS docs"}),"."]}),"\n",(0,o.jsx)(n.p,{children:"In the component map, you should only add things that you will reuse in your component."}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Examples:"})}),"\n",(0,o.jsx)(n.p,{children:"A simple variable in a map:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-scss",children:"$social-links: (\n icon-color: global-settings(colors, black),\n);\n\n.social-links {\n color: map-get-strict($social-links, icon-color);\n}\n"})}),"\n",(0,o.jsx)(n.p,{children:"Nested variables in a map:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-scss",children:"$social-links: (\n colors: (\n dark: global-settings(colors, black),\n light: global-settings(colors, white),\n ),\n sizes: (\n small: 10px,\n big: 20px,\n )\n);\n\n.social-links {\n color: map-get-deep($social-links, colors, dark);\n\n &--light {\n color: map-get-deep($social-links, colors, light);\n }\n\n &__sizes {\n font-size: map-get-deep($social-links, sizes, small);\n\n\n &--big {\n font-size: map-get-deep($social-links, sizes, big);\n }\n }\n}\n"})}),"\n",(0,o.jsx)(n.h3,{id:"never-mix-multiple-maps-in-a-single-component",children:"Never mix multiple maps in a single component"}),"\n",(0,o.jsx)(n.p,{children:"You want all your styles to be contained to a single component and not dependent on external components. Sometimes this can't be avoided."}),"\n",(0,o.jsx)(n.p,{children:"In that case, you should define a key in the component variable for the external map and define it like this:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Example:"})}),"\n",(0,o.jsxs)(n.p,{children:["External map in ",(0,o.jsx)(n.code,{children:"assets/styles/parts/utils/_z-index.scss"}),":"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-scss",children:"$zindex: (\n header: 100,\n drawer: 99,\n overlay: 98,\n);\n"})}),"\n",(0,o.jsx)(n.p,{children:"Your component:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-scss",children:"$header: (\n index: map-get-strict($zindex, header),\n);\n\n.header {\n z-index: map-get-strict($header, index);\n}\n"})}),"\n",(0,o.jsx)(n.h3,{id:"where-can-i-define-global-typography-for-all-my-blockscomponents",children:"Where can I define global typography for all my blocks/components?"}),"\n",(0,o.jsx)(n.p,{children:"Well, nowhere. Try to move your way of thinking from Bootstrap or any other front-end framework where you define global typography in one place."}),"\n",(0,o.jsx)(n.p,{children:"Why is that? Because we use component-based development and you should think in that way. Each component is responsible for its own styles."}),"\n",(0,o.jsx)(n.p,{children:"You should define styles with all sizes, colors, and variations for the heading component and reuse that component wherever you need any kind of heading. The same applies to any other component. This is why you don't need global typography, styles, etc."}),"\n",(0,o.jsx)(n.p,{children:"Global styles and variables are only used for things you want to share across components (that should be reduced to a minimum)."})]})}function d(e={}){const{wrapper:n}={...(0,a.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(h,{...e})}):h(e)}},11151:(e,n,s)=>{s.d(n,{Z:()=>i,a:()=>t});var o=s(67294);const a={},l=o.createContext(a);function t(e){const n=o.useContext(l);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:t(e.components),o.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1d1d00c8.d1ac5e1a.js b/assets/js/1d1d00c8.d1ac5e1a.js new file mode 100644 index 000000000..c4671b3ae --- /dev/null +++ b/assets/js/1d1d00c8.d1ac5e1a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[31032],{74544:(e,o,t)=>{t.r(o),t.d(o,{assets:()=>a,contentTitle:()=>i,default:()=>h,frontMatter:()=>l,metadata:()=>r,toc:()=>c});var n=t(17624),s=t(4552);const l={id:"blocks-special-use-cases",title:"Special Use Cases"},i=void 0,r={id:"legacy/v7/basics/blocks-special-use-cases",title:"Special Use Cases",description:"docs-source",source:"@site/docs/legacy/v7/basics/blocks-special-use-cases.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/blocks-special-use-cases",permalink:"/docs/legacy/v7/basics/blocks-special-use-cases",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-special-use-cases",title:"Special Use Cases"},sidebar:"docs",previous:{title:"Hooks",permalink:"/docs/legacy/v7/basics/blocks-hooks"},next:{title:"Reusable Blocks",permalink:"/docs/legacy/v7/basics/blocks-reusable"}},a={},c=[{value:"Change innerBlock attributes",id:"change-innerblock-attributes",level:2},{value:"Provide simple wrapper to all innerBlock",id:"provide-simple-wrapper-to-all-innerblock",level:2},{value:"Override innerBlock attributes only on the front end",id:"override-innerblock-attributes-only-on-the-front-end",level:2},{value:"Add CSS selectors on the parent component inside the block editor",id:"add-css-selectors-on-the-parent-component-inside-the-block-editor",level:2},{value:"How to only use my custom blocks",id:"how-to-only-use-my-custom-blocks",level:2},{value:"I want to use my custom blocks but add some core or third party plugins blocks",id:"i-want-to-use-my-custom-blocks-but-add-some-core-or-third-party-plugins-blocks",level:2},{value:"I want to enable blocks only on specific custom post type",id:"i-want-to-enable-blocks-only-on-specific-custom-post-type",level:2}];function d(e){const o={a:"a",blockquote:"blockquote",code:"code",em:"em",h2:"h2",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.p,{children:(0,n.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/",children:(0,n.jsx)(o.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(o.p,{children:"In our clients' projects, we noticed that sometimes you need to provide something special to your blocks, like changing the block editor block DOM structure or the attributes added inside the inner blocks."}),"\n",(0,n.jsx)(o.p,{children:"These are some of the examples we would like to share with you. We will list all of them and gradually add more."}),"\n",(0,n.jsx)(o.h2,{id:"change-innerblock-attributes",children:"Change innerBlock attributes"}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Usage:"})}),"\n",(0,n.jsxs)(o.ul,{children:["\n",(0,n.jsx)(o.li,{children:"Change attributes in the block editor and on the front-end."}),"\n",(0,n.jsx)(o.li,{children:"Set attributes in the database."}),"\n"]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Use Case:"})}),"\n",(0,n.jsxs)(o.p,{children:["Let's say you have a carousel block, and you have a generic image block that you can use as a standalone block. You create a carousel block and set in its manifest limitation to show only the image block to be inserted as an inner block. This is easy to do: you just add your image block to an ",(0,n.jsx)(o.code,{children:"allowedBlocks"})," array inside the carousel block and everything will work."]}),"\n",(0,n.jsxs)(o.p,{children:["But now you have some default attributes set in that image block that you don't want to be set if the block is added using the innerBlock in the carousel. You can change that using our ",(0,n.jsx)(o.a,{href:"helpers-javascript",children:"overrideInnerBlockAttributes"})," helper. Just add this helper to your block entry point, add the attributes you want to change, and you are all set."]}),"\n",(0,n.jsx)(o.p,{children:"Keep in mind that this will be applied to all innerBlocks inside your carousel block. If you want to limit this to a specific block only, you will need to fiddle around with that block's conditions (you can get that specific block name from the props)."}),"\n",(0,n.jsx)(o.p,{children:"The next time you add your image to the carousel, it will automatically change those attributes."}),"\n",(0,n.jsxs)(o.blockquote,{children:["\n",(0,n.jsx)(o.p,{children:"Important note: If for some reason, you copy the inner block from the carousel to the top-level editor, this helper will not fire and not change back to original attributes. You have to manually remove those attributes from the Code editor in the admin."}),"\n"]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Implementation"})}),"\n",(0,n.jsxs)(o.p,{children:["Here you can see our example of this helper used in the ",(0,n.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/Blocks/custom/carousel/carousel-block.js",children:"carousel block"}),"."]}),"\n",(0,n.jsx)(o.h2,{id:"provide-simple-wrapper-to-all-innerblock",children:"Provide simple wrapper to all innerBlock"}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Usage:"})}),"\n",(0,n.jsxs)(o.ul,{children:["\n",(0,n.jsx)(o.li,{children:"Change attributes in the block editor and on the front end."}),"\n",(0,n.jsx)(o.li,{children:"Set attributes in the database."}),"\n"]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Use Case:"})}),"\n",(0,n.jsx)(o.p,{children:"All of our blocks come with the wrapper implemented, which is awesome. But sometimes you just don't want to use the wrapper, and you want only to use the simple version of the wrapper. You can provide the attribute overrides in your block, and you are good to go."}),"\n",(0,n.jsxs)(o.p,{children:["But if you need to change attributes in the block added as an innerBlock, you'll have a little problem. You can use the same helper as we did in the previous chapter, or you can use our abstraction of that helper called ",(0,n.jsx)(o.a,{href:"helpers-javascript",children:"overrideInnerBlockSimpleWrapperAttributes"}),"."]}),"\n",(0,n.jsx)(o.p,{children:"This helper will set the wrapper to a simple variant in all your innerBlocks."}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Implementation"})}),"\n",(0,n.jsxs)(o.p,{children:["Here you can see our example of this helper used in the ",(0,n.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/Blocks/custom/column/column-block.js",children:"column block"}),"."]}),"\n",(0,n.jsx)(o.h2,{id:"override-innerblock-attributes-only-on-the-front-end",children:"Override innerBlock attributes only on the front end"}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Usage:"})}),"\n",(0,n.jsxs)(o.ul,{children:["\n",(0,n.jsx)(o.li,{children:"Change attributes on the front end only."}),"\n",(0,n.jsx)(o.li,{children:"Don't set attributes in the database."}),"\n"]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Use Case:"})}),"\n",(0,n.jsx)(o.p,{children:"If you have a block containing inner blocks and only want to change the attributes on the front end of the implementation and not in the block editor. The standard way is really hard because all the inner blocks are rendered on the front end as an HTML string, and you don't have access to any of the attributes before it is rendered."}),"\n",(0,n.jsx)(o.p,{children:"Luckily, WordPress core has provided us with the filter that can change any block before it is rendered. This filter will provide you an array of blocks and inner blocks, along with the innerBlock and all attributes if you use it correctly."}),"\n",(0,n.jsxs)(o.p,{children:["The filter is called: ",(0,n.jsx)(o.code,{children:"render_block_data"}),", and you can put your implementation in the ",(0,n.jsx)(o.code,{children:"class-blocks.php"})," file. You can find the documentation on this ",(0,n.jsx)(o.a,{href:"https://developer.wordpress.org/reference/hooks/render_block_data/",children:"link"}),"."]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Implementation"})}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.em,{children:"Implementation coming soon."})}),"\n",(0,n.jsx)(o.h2,{id:"add-css-selectors-on-the-parent-component-inside-the-block-editor",children:"Add CSS selectors on the parent component inside the block editor"}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Usage:"})}),"\n",(0,n.jsxs)(o.ul,{children:["\n",(0,n.jsx)(o.li,{children:"Change attributes on the front end only."}),"\n",(0,n.jsx)(o.li,{children:"Don't set attributes in the database."}),"\n"]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Use Case:"})}),"\n",(0,n.jsx)(o.p,{children:"If you tried to create any grid in your block on the front end, you know it is easy, but it is not so with the block editor. The problem is that in the block editor DOM, there are additional divs added over your block that break your HTML structure, and all your styles from flex or grid will not work correctly. If your block depends on some special selector placed in a specific place, you can run into some problems in the block editor."}),"\n",(0,n.jsx)(o.p,{children:"With WordPress block editor hooks, we can fix this by not adding the selector to its original location as we do on the front end but adding them to the Block Editor's parent component."}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Implementation"})}),"\n",(0,n.jsxs)(o.p,{children:["Here you can see our example of this hook used in the ",(0,n.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/Blocks/custom/column/column-hooks.js",children:"column block"}),"."]}),"\n",(0,n.jsx)(o.h2,{id:"how-to-only-use-my-custom-blocks",children:"How to only use my custom blocks"}),"\n",(0,n.jsxs)(o.p,{children:["You can remove all core blocks and any other blocks provided by third-party plugins by adding this filter to your ",(0,n.jsx)(o.code,{children:"src/Blocks/Blocks.php"})," class."]}),"\n",(0,n.jsx)(o.p,{children:"Filter goes in the register method:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:"// Limits the usage of only custom project blocks.\nadd_filter('allowed_block_types_all', [ $this, 'getAllBlocksList' ], 10, 2);\n"})}),"\n",(0,n.jsxs)(o.blockquote,{children:["\n",(0,n.jsx)(o.p,{children:"Important note: For WordPress versions > 5 and < 5.8 you would need to use the example bellow."}),"\n"]}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:" // Limits the usage of only custom project blocks - legacy.\n add_filter('allowed_block_types', [ $this, 'getAllBlocksListOld' ], 10, 2);\n"})}),"\n",(0,n.jsxs)(o.p,{children:["The callback method is set in the parent ",(0,n.jsx)(o.code,{children:"AbstractBlocks"})," class."]}),"\n",(0,n.jsx)(o.h2,{id:"i-want-to-use-my-custom-blocks-but-add-some-core-or-third-party-plugins-blocks",children:"I want to use my custom blocks but add some core or third party plugins blocks"}),"\n",(0,n.jsxs)(o.p,{children:["You create a new callback method for the ",(0,n.jsx)(o.code,{children:"allowed_block_types_all"})," filter. There you can allow all your custom blocks + any other 3rd party / core block you want."]}),"\n",(0,n.jsx)(o.p,{children:"Filter goes in the register method:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:"// Limits the usage of only custom project blocks.\nadd_filter('allowed_block_types_all', [ $this, 'allowedBlocks' ], 10, 2);\n"})}),"\n",(0,n.jsx)(o.p,{children:"Custom callback method:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:"/**\n * Filter which blocks are displayed in the block editor.\n *\n * @param array|bool $allowedBlockTypes Array of block type slugs, or boolean to enable/disable all.\n * @param object $post The post resource data.\n *\n * @return array\n */\npublic function allowedBlocks($allowedBlockTypes, object $post): array\n{\n return array_merge(\n $this->getAllBlocksList($allowedBlockTypes, $post),\n [\n 'core/paragraph',\n ]\n );\n}\n"})}),"\n",(0,n.jsxs)(o.blockquote,{children:["\n",(0,n.jsxs)(o.p,{children:["Important note: For WordPress versions > 5 and < 5.8 you would need to use the filter example bellow. Also change the first argument of array_merge in ",(0,n.jsx)(o.code,{children:"allowedBlocks"})," function to ",(0,n.jsx)(o.code,{children:"$this->getAllBlocksListOld($allowedBlockTypes, $post)"})]}),"\n"]}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:" // Limits the usage of only custom project blocks - legacy.\n add_filter('allowed_block_types', [ $this, 'allowedBlocks' ], 10, 2);\n"})}),"\n",(0,n.jsx)(o.h2,{id:"i-want-to-enable-blocks-only-on-specific-custom-post-type",children:"I want to enable blocks only on specific custom post type"}),"\n",(0,n.jsxs)(o.p,{children:["You create a new callback method for the ",(0,n.jsx)(o.code,{children:"allowed_block_types_all"})," filter."]}),"\n",(0,n.jsx)(o.p,{children:"Filter goes in the register method:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:"// Limits the usage of only custom project blocks.\nadd_filter('allowed_block_types_all', [ $this, 'allowedBlockTypes' ], 10, 2);\n"})}),"\n",(0,n.jsx)(o.p,{children:"Custom callback method:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:"/**\n * Filter which blocks are allowed in what post type.\n *\n * @param array|bool $allowedBlockTypes Array of block type slugs, or boolean to enable/disable all.\n * @param object $post The post resource data.\n *\n * @return array\n */\npublic function allowedBlockTypes($allowedBlockTypes, object $post): array\n{\n $output = [];\n $settings = $this->getSettings();\n $namespace = $settings['namespace'];\n\n switch ($post->post_type) { // phpcs:ignore Squiz.NamingConventions.ValidVariableName.NotCamelCaps\n case 'faq':\n $output = [\n \"{$namespace}/paragraph\",\n ];\n break;\n default:\n $output = $this->getAllBlocksList($allowedBlockTypes, $post);\n break;\n }\n\n return $output;\n}\n"})}),"\n",(0,n.jsxs)(o.blockquote,{children:["\n",(0,n.jsxs)(o.p,{children:["Important note: For WordPress versions > 5 and < 5.8 you would need to use the filter example bellow. And also change the default switch case in the ",(0,n.jsx)(o.code,{children:"allowedBlockTypes"})," function to ",(0,n.jsx)(o.code,{children:"$output\u2002=\u2002$this->getAllBlocksListOld($allowedBlockTypes, $post);"})]}),"\n"]}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:" // Limits the usage of only custom project blocks - legacy.\n add_filter('allowed_block_types', [ $this, 'allowedBlocks' ], 10, 2);\n"})})]})}function h(e={}){const{wrapper:o}={...(0,s.M)(),...e.components};return o?(0,n.jsx)(o,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},4552:(e,o,t)=>{t.d(o,{I:()=>r,M:()=>i});var n=t(11504);const s={},l=n.createContext(s);function i(e){const o=n.useContext(l);return n.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function r(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),n.createElement(l.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1d1d00c8.f6c6b1fb.js b/assets/js/1d1d00c8.f6c6b1fb.js deleted file mode 100644 index 178de55f8..000000000 --- a/assets/js/1d1d00c8.f6c6b1fb.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[56824],{58759:(e,o,t)=>{t.r(o),t.d(o,{assets:()=>a,contentTitle:()=>i,default:()=>h,frontMatter:()=>l,metadata:()=>r,toc:()=>c});var n=t(85893),s=t(11151);const l={id:"blocks-special-use-cases",title:"Special Use Cases"},i=void 0,r={id:"legacy/v7/basics/blocks-special-use-cases",title:"Special Use Cases",description:"docs-source",source:"@site/docs/legacy/v7/basics/blocks-special-use-cases.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/blocks-special-use-cases",permalink:"/docs/legacy/v7/basics/blocks-special-use-cases",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-special-use-cases",title:"Special Use Cases"},sidebar:"docs",previous:{title:"Hooks",permalink:"/docs/legacy/v7/basics/blocks-hooks"},next:{title:"Reusable Blocks",permalink:"/docs/legacy/v7/basics/blocks-reusable"}},a={},c=[{value:"Change innerBlock attributes",id:"change-innerblock-attributes",level:2},{value:"Provide simple wrapper to all innerBlock",id:"provide-simple-wrapper-to-all-innerblock",level:2},{value:"Override innerBlock attributes only on the front end",id:"override-innerblock-attributes-only-on-the-front-end",level:2},{value:"Add CSS selectors on the parent component inside the block editor",id:"add-css-selectors-on-the-parent-component-inside-the-block-editor",level:2},{value:"How to only use my custom blocks",id:"how-to-only-use-my-custom-blocks",level:2},{value:"I want to use my custom blocks but add some core or third party plugins blocks",id:"i-want-to-use-my-custom-blocks-but-add-some-core-or-third-party-plugins-blocks",level:2},{value:"I want to enable blocks only on specific custom post type",id:"i-want-to-enable-blocks-only-on-specific-custom-post-type",level:2}];function d(e){const o={a:"a",blockquote:"blockquote",code:"code",em:"em",h2:"h2",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.p,{children:(0,n.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/",children:(0,n.jsx)(o.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(o.p,{children:"In our clients' projects, we noticed that sometimes you need to provide something special to your blocks, like changing the block editor block DOM structure or the attributes added inside the inner blocks."}),"\n",(0,n.jsx)(o.p,{children:"These are some of the examples we would like to share with you. We will list all of them and gradually add more."}),"\n",(0,n.jsx)(o.h2,{id:"change-innerblock-attributes",children:"Change innerBlock attributes"}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Usage:"})}),"\n",(0,n.jsxs)(o.ul,{children:["\n",(0,n.jsx)(o.li,{children:"Change attributes in the block editor and on the front-end."}),"\n",(0,n.jsx)(o.li,{children:"Set attributes in the database."}),"\n"]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Use Case:"})}),"\n",(0,n.jsxs)(o.p,{children:["Let's say you have a carousel block, and you have a generic image block that you can use as a standalone block. You create a carousel block and set in its manifest limitation to show only the image block to be inserted as an inner block. This is easy to do: you just add your image block to an ",(0,n.jsx)(o.code,{children:"allowedBlocks"})," array inside the carousel block and everything will work."]}),"\n",(0,n.jsxs)(o.p,{children:["But now you have some default attributes set in that image block that you don't want to be set if the block is added using the innerBlock in the carousel. You can change that using our ",(0,n.jsx)(o.a,{href:"helpers-javascript",children:"overrideInnerBlockAttributes"})," helper. Just add this helper to your block entry point, add the attributes you want to change, and you are all set."]}),"\n",(0,n.jsx)(o.p,{children:"Keep in mind that this will be applied to all innerBlocks inside your carousel block. If you want to limit this to a specific block only, you will need to fiddle around with that block's conditions (you can get that specific block name from the props)."}),"\n",(0,n.jsx)(o.p,{children:"The next time you add your image to the carousel, it will automatically change those attributes."}),"\n",(0,n.jsxs)(o.blockquote,{children:["\n",(0,n.jsx)(o.p,{children:"Important note: If for some reason, you copy the inner block from the carousel to the top-level editor, this helper will not fire and not change back to original attributes. You have to manually remove those attributes from the Code editor in the admin."}),"\n"]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Implementation"})}),"\n",(0,n.jsxs)(o.p,{children:["Here you can see our example of this helper used in the ",(0,n.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/Blocks/custom/carousel/carousel-block.js",children:"carousel block"}),"."]}),"\n",(0,n.jsx)(o.h2,{id:"provide-simple-wrapper-to-all-innerblock",children:"Provide simple wrapper to all innerBlock"}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Usage:"})}),"\n",(0,n.jsxs)(o.ul,{children:["\n",(0,n.jsx)(o.li,{children:"Change attributes in the block editor and on the front end."}),"\n",(0,n.jsx)(o.li,{children:"Set attributes in the database."}),"\n"]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Use Case:"})}),"\n",(0,n.jsx)(o.p,{children:"All of our blocks come with the wrapper implemented, which is awesome. But sometimes you just don't want to use the wrapper, and you want only to use the simple version of the wrapper. You can provide the attribute overrides in your block, and you are good to go."}),"\n",(0,n.jsxs)(o.p,{children:["But if you need to change attributes in the block added as an innerBlock, you'll have a little problem. You can use the same helper as we did in the previous chapter, or you can use our abstraction of that helper called ",(0,n.jsx)(o.a,{href:"helpers-javascript",children:"overrideInnerBlockSimpleWrapperAttributes"}),"."]}),"\n",(0,n.jsx)(o.p,{children:"This helper will set the wrapper to a simple variant in all your innerBlocks."}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Implementation"})}),"\n",(0,n.jsxs)(o.p,{children:["Here you can see our example of this helper used in the ",(0,n.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/Blocks/custom/column/column-block.js",children:"column block"}),"."]}),"\n",(0,n.jsx)(o.h2,{id:"override-innerblock-attributes-only-on-the-front-end",children:"Override innerBlock attributes only on the front end"}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Usage:"})}),"\n",(0,n.jsxs)(o.ul,{children:["\n",(0,n.jsx)(o.li,{children:"Change attributes on the front end only."}),"\n",(0,n.jsx)(o.li,{children:"Don't set attributes in the database."}),"\n"]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Use Case:"})}),"\n",(0,n.jsx)(o.p,{children:"If you have a block containing inner blocks and only want to change the attributes on the front end of the implementation and not in the block editor. The standard way is really hard because all the inner blocks are rendered on the front end as an HTML string, and you don't have access to any of the attributes before it is rendered."}),"\n",(0,n.jsx)(o.p,{children:"Luckily, WordPress core has provided us with the filter that can change any block before it is rendered. This filter will provide you an array of blocks and inner blocks, along with the innerBlock and all attributes if you use it correctly."}),"\n",(0,n.jsxs)(o.p,{children:["The filter is called: ",(0,n.jsx)(o.code,{children:"render_block_data"}),", and you can put your implementation in the ",(0,n.jsx)(o.code,{children:"class-blocks.php"})," file. You can find the documentation on this ",(0,n.jsx)(o.a,{href:"https://developer.wordpress.org/reference/hooks/render_block_data/",children:"link"}),"."]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Implementation"})}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.em,{children:"Implementation coming soon."})}),"\n",(0,n.jsx)(o.h2,{id:"add-css-selectors-on-the-parent-component-inside-the-block-editor",children:"Add CSS selectors on the parent component inside the block editor"}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Usage:"})}),"\n",(0,n.jsxs)(o.ul,{children:["\n",(0,n.jsx)(o.li,{children:"Change attributes on the front end only."}),"\n",(0,n.jsx)(o.li,{children:"Don't set attributes in the database."}),"\n"]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Use Case:"})}),"\n",(0,n.jsx)(o.p,{children:"If you tried to create any grid in your block on the front end, you know it is easy, but it is not so with the block editor. The problem is that in the block editor DOM, there are additional divs added over your block that break your HTML structure, and all your styles from flex or grid will not work correctly. If your block depends on some special selector placed in a specific place, you can run into some problems in the block editor."}),"\n",(0,n.jsx)(o.p,{children:"With WordPress block editor hooks, we can fix this by not adding the selector to its original location as we do on the front end but adding them to the Block Editor's parent component."}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Implementation"})}),"\n",(0,n.jsxs)(o.p,{children:["Here you can see our example of this hook used in the ",(0,n.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/Blocks/custom/column/column-hooks.js",children:"column block"}),"."]}),"\n",(0,n.jsx)(o.h2,{id:"how-to-only-use-my-custom-blocks",children:"How to only use my custom blocks"}),"\n",(0,n.jsxs)(o.p,{children:["You can remove all core blocks and any other blocks provided by third-party plugins by adding this filter to your ",(0,n.jsx)(o.code,{children:"src/Blocks/Blocks.php"})," class."]}),"\n",(0,n.jsx)(o.p,{children:"Filter goes in the register method:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:"// Limits the usage of only custom project blocks.\nadd_filter('allowed_block_types_all', [ $this, 'getAllBlocksList' ], 10, 2);\n"})}),"\n",(0,n.jsxs)(o.blockquote,{children:["\n",(0,n.jsx)(o.p,{children:"Important note: For WordPress versions > 5 and < 5.8 you would need to use the example bellow."}),"\n"]}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:" // Limits the usage of only custom project blocks - legacy.\n add_filter('allowed_block_types', [ $this, 'getAllBlocksListOld' ], 10, 2);\n"})}),"\n",(0,n.jsxs)(o.p,{children:["The callback method is set in the parent ",(0,n.jsx)(o.code,{children:"AbstractBlocks"})," class."]}),"\n",(0,n.jsx)(o.h2,{id:"i-want-to-use-my-custom-blocks-but-add-some-core-or-third-party-plugins-blocks",children:"I want to use my custom blocks but add some core or third party plugins blocks"}),"\n",(0,n.jsxs)(o.p,{children:["You create a new callback method for the ",(0,n.jsx)(o.code,{children:"allowed_block_types_all"})," filter. There you can allow all your custom blocks + any other 3rd party / core block you want."]}),"\n",(0,n.jsx)(o.p,{children:"Filter goes in the register method:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:"// Limits the usage of only custom project blocks.\nadd_filter('allowed_block_types_all', [ $this, 'allowedBlocks' ], 10, 2);\n"})}),"\n",(0,n.jsx)(o.p,{children:"Custom callback method:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:"/**\n * Filter which blocks are displayed in the block editor.\n *\n * @param array|bool $allowedBlockTypes Array of block type slugs, or boolean to enable/disable all.\n * @param object $post The post resource data.\n *\n * @return array\n */\npublic function allowedBlocks($allowedBlockTypes, object $post): array\n{\n return array_merge(\n $this->getAllBlocksList($allowedBlockTypes, $post),\n [\n 'core/paragraph',\n ]\n );\n}\n"})}),"\n",(0,n.jsxs)(o.blockquote,{children:["\n",(0,n.jsxs)(o.p,{children:["Important note: For WordPress versions > 5 and < 5.8 you would need to use the filter example bellow. Also change the first argument of array_merge in ",(0,n.jsx)(o.code,{children:"allowedBlocks"})," function to ",(0,n.jsx)(o.code,{children:"$this->getAllBlocksListOld($allowedBlockTypes, $post)"})]}),"\n"]}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:" // Limits the usage of only custom project blocks - legacy.\n add_filter('allowed_block_types', [ $this, 'allowedBlocks' ], 10, 2);\n"})}),"\n",(0,n.jsx)(o.h2,{id:"i-want-to-enable-blocks-only-on-specific-custom-post-type",children:"I want to enable blocks only on specific custom post type"}),"\n",(0,n.jsxs)(o.p,{children:["You create a new callback method for the ",(0,n.jsx)(o.code,{children:"allowed_block_types_all"})," filter."]}),"\n",(0,n.jsx)(o.p,{children:"Filter goes in the register method:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:"// Limits the usage of only custom project blocks.\nadd_filter('allowed_block_types_all', [ $this, 'allowedBlockTypes' ], 10, 2);\n"})}),"\n",(0,n.jsx)(o.p,{children:"Custom callback method:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:"/**\n * Filter which blocks are allowed in what post type.\n *\n * @param array|bool $allowedBlockTypes Array of block type slugs, or boolean to enable/disable all.\n * @param object $post The post resource data.\n *\n * @return array\n */\npublic function allowedBlockTypes($allowedBlockTypes, object $post): array\n{\n $output = [];\n $settings = $this->getSettings();\n $namespace = $settings['namespace'];\n\n switch ($post->post_type) { // phpcs:ignore Squiz.NamingConventions.ValidVariableName.NotCamelCaps\n case 'faq':\n $output = [\n \"{$namespace}/paragraph\",\n ];\n break;\n default:\n $output = $this->getAllBlocksList($allowedBlockTypes, $post);\n break;\n }\n\n return $output;\n}\n"})}),"\n",(0,n.jsxs)(o.blockquote,{children:["\n",(0,n.jsxs)(o.p,{children:["Important note: For WordPress versions > 5 and < 5.8 you would need to use the filter example bellow. And also change the default switch case in the ",(0,n.jsx)(o.code,{children:"allowedBlockTypes"})," function to ",(0,n.jsx)(o.code,{children:"$output\u2002=\u2002$this->getAllBlocksListOld($allowedBlockTypes, $post);"})]}),"\n"]}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:" // Limits the usage of only custom project blocks - legacy.\n add_filter('allowed_block_types', [ $this, 'allowedBlocks' ], 10, 2);\n"})})]})}function h(e={}){const{wrapper:o}={...(0,s.a)(),...e.components};return o?(0,n.jsx)(o,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},11151:(e,o,t)=>{t.d(o,{Z:()=>r,a:()=>i});var n=t(67294);const s={},l=n.createContext(s);function i(e){const o=n.useContext(l);return n.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function r(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),n.createElement(l.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1eef4415.27af5825.js b/assets/js/1eef4415.27af5825.js new file mode 100644 index 000000000..9083b48d0 --- /dev/null +++ b/assets/js/1eef4415.27af5825.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[99214],{41456:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>i,default:()=>u,frontMatter:()=>r,metadata:()=>c,toc:()=>l});var o=n(17624),s=n(4552);const r={id:"frontend",title:"General"},i=void 0,c={id:"legacy/v6/basics/frontend",title:"General",description:"docs-source",source:"@site/docs/legacy/v6/basics/frontend.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/frontend",permalink:"/docs/legacy/v6/basics/frontend",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"frontend",title:"General"},sidebar:"docs",previous:{title:"REST Route",permalink:"/docs/legacy/v6/basics/rest-route"},next:{title:"Webpack",permalink:"/docs/legacy/v6/basics/webpack"}},a={},l=[];function d(e){const t={a:"a",code:"code",img:"img",p:"p",...(0,s.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0",children:(0,o.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsxs)(t.p,{children:["In general, you can use anything as-is from the ",(0,o.jsx)(t.code,{children:"node_modules"})," library, or you can modify/add the functionality in your project."]}),"\n",(0,o.jsxs)(t.p,{children:["Block editor is written using React; we then use React in the block editor. You can read about blocks in this ",(0,o.jsx)(t.a,{href:"blocks",children:"chapter"}),". However, there are other aspects of the project's front-end part you should know in order to use the Eightshift Boilerplate to its full potential."]})]})}function u(e={}){const{wrapper:t}={...(0,s.M)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},4552:(e,t,n)=>{n.d(t,{I:()=>c,M:()=>i});var o=n(11504);const s={},r=o.createContext(s);function i(e){const t=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1eef4415.400a6212.js b/assets/js/1eef4415.400a6212.js deleted file mode 100644 index 191937abf..000000000 --- a/assets/js/1eef4415.400a6212.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[41381],{13598:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>i,default:()=>u,frontMatter:()=>r,metadata:()=>c,toc:()=>l});var o=n(85893),s=n(11151);const r={id:"frontend",title:"General"},i=void 0,c={id:"legacy/v6/basics/frontend",title:"General",description:"docs-source",source:"@site/docs/legacy/v6/basics/frontend.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/frontend",permalink:"/docs/legacy/v6/basics/frontend",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"frontend",title:"General"},sidebar:"docs",previous:{title:"REST Route",permalink:"/docs/legacy/v6/basics/rest-route"},next:{title:"Webpack",permalink:"/docs/legacy/v6/basics/webpack"}},a={},l=[];function d(e){const t={a:"a",code:"code",img:"img",p:"p",...(0,s.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0",children:(0,o.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsxs)(t.p,{children:["In general, you can use anything as-is from the ",(0,o.jsx)(t.code,{children:"node_modules"})," library, or you can modify/add the functionality in your project."]}),"\n",(0,o.jsxs)(t.p,{children:["Block editor is written using React; we then use React in the block editor. You can read about blocks in this ",(0,o.jsx)(t.a,{href:"blocks",children:"chapter"}),". However, there are other aspects of the project's front-end part you should know in order to use the Eightshift Boilerplate to its full potential."]})]})}function u(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},11151:(e,t,n)=>{n.d(t,{Z:()=>c,a:()=>i});var o=n(67294);const s={},r=o.createContext(s);function i(e){const t=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1f5f1faf.39503e7f.js b/assets/js/1f5f1faf.39503e7f.js new file mode 100644 index 000000000..775b3547a --- /dev/null +++ b/assets/js/1f5f1faf.39503e7f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[99744],{34028:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>d,contentTitle:()=>r,default:()=>a,frontMatter:()=>t,metadata:()=>l,toc:()=>c});var o=n(17624),i=n(4552);const t={id:"block-structure",title:"Block Structure"},r=void 0,l={id:"legacy/v6/basics/block-structure",title:"Block Structure",description:"docs-source",source:"@site/docs/legacy/v6/basics/block-structure.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/block-structure",permalink:"/docs/legacy/v6/basics/block-structure",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"block-structure",title:"Block Structure"},sidebar:"docs",previous:{title:"Global Manifest",permalink:"/docs/legacy/v6/basics/blocks-global-manifest"},next:{title:"Component Structure",permalink:"/docs/legacy/v6/basics/blocks-component-structure"}},d={},c=[{value:"assets",id:"assets",level:3},{value:"components",id:"components",level:3},{value:"docs",id:"docs",level:3},{value:"heading-block.js",id:"heading-blockjs",level:3},{value:"heading.php",id:"headingphp",level:3},{value:"heading-editor.scss",id:"heading-editorscss",level:3},{value:"heading-style.scss",id:"heading-stylescss",level:3},{value:"heading-hooks.js",id:"heading-hooksjs",level:3},{value:"heading-transforms.js",id:"heading-transformsjs",level:3},{value:"manifest.json",id:"manifestjson",level:3}];function h(e){const s={a:"a",code:"code",em:"em",h3:"h3",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s.p,{children:(0,o.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/",children:(0,o.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsxs)(s.p,{children:["Your custom blocks are placed in the ",(0,o.jsx)(s.code,{children:"src/Blocks/custom"})," folder."]}),"\n",(0,o.jsxs)(s.p,{children:["For example, let's take the heading block (just replace ",(0,o.jsx)(s.code,{children:"heading"})," with your block name)."]}),"\n",(0,o.jsxs)(s.p,{children:["We suggest you always use the full name and never abbreviate the block name. If your block has multiple words, you should separate them by a dash, for example, ",(0,o.jsx)(s.code,{children:"featured-post-block.js"}),"."]}),"\n",(0,o.jsx)(s.p,{children:(0,o.jsx)(s.strong,{children:"Block structure should look like this:"})}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:["heading","\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:["assets","\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsx)(s.li,{children:"index.js"}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(s.li,{children:["components","\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsx)(s.li,{children:"heading-editor.js"}),"\n",(0,o.jsx)(s.li,{children:"heading-options.js"}),"\n",(0,o.jsx)(s.li,{children:"heading-toolbar.js"}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(s.li,{children:["docs","\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsx)(s.li,{children:"story.js"}),"\n",(0,o.jsx)(s.li,{children:"readme.mdx"}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(s.li,{children:"heading-block.js"}),"\n",(0,o.jsx)(s.li,{children:"heading.php"}),"\n",(0,o.jsx)(s.li,{children:"heading-editor.scss"}),"\n",(0,o.jsx)(s.li,{children:"heading-style.scss"}),"\n",(0,o.jsx)(s.li,{children:"heading-hooks.js"}),"\n",(0,o.jsx)(s.li,{children:"heading-transforms.js"}),"\n",(0,o.jsx)(s.li,{children:"manifest.json"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(s.p,{children:["For example, you can check the ",(0,o.jsx)(s.a,{href:"/storybook",children:"storybook"}),"."]}),"\n",(0,o.jsx)(s.h3,{id:"assets",children:"assets"}),"\n",(0,o.jsxs)(s.p,{children:["In this folder, you'll define all the custom JavaScript functionality for your block that will only be used on the front end of the application. You must provide the ",(0,o.jsx)(s.code,{children:"index.js"})," file in this folder, as a starting point, and the rest is up to you. We recommend using ",(0,o.jsx)(s.a,{href:"dynamic-import",children:"JavaScript dynamic imports"})," for all your front-end scripts. This ensures that the JavaScript is only loaded in the application when it is used and not before. By using dynamic import, you optimize your application and make it load faster."]}),"\n",(0,o.jsx)(s.h3,{id:"components",children:"components"}),"\n",(0,o.jsxs)(s.p,{children:["Components folder holds three files: ",(0,o.jsx)(s.code,{children:"heading-options.js"}),", ",(0,o.jsx)(s.code,{children:"heading-editor.js"}),", and ",(0,o.jsx)(s.code,{children:"heading-toolbars.js"}),". Each of these files represents a part of the block editor block that is used in the editor. We have separated options, editor, and toolbar into separate components for readability and reusing components in different projects."]}),"\n",(0,o.jsx)(s.h3,{id:"docs",children:"docs"}),"\n",(0,o.jsx)(s.p,{children:"Contains everything a block needs to be run inside the Storybook. This part is optional. However, it will speed up your development time and provide you with much-needed documentation."}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"story.js"})," - Storybook entry point for your block. All blocks have the exact same story."]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"readme.mdx"})," - README document that describes your block and provides the documentation."]}),"\n"]}),"\n",(0,o.jsx)(s.h3,{id:"heading-blockjs",children:"heading-block.js"}),"\n",(0,o.jsxs)(s.p,{children:["This file represents the ",(0,o.jsx)(s.code,{children:"edit"})," callback method used in WordPress ",(0,o.jsx)(s.code,{children:"registerBlockType"})," method.\nWe are not using the ",(0,o.jsx)(s.code,{children:"save"})," callback method because we are creating dynamic blocks. The ",(0,o.jsx)(s.code,{children:"edit"})," method describes how your block will be rendered in the editor once the block is used. In this file, you can use more advanced stuff like hooks and all the top-level block features."]}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"heading-options.js"})," - must be wrapped with the ",(0,o.jsx)(s.code,{children:"InspectorControls"})," component from the core. This will ensure that options are shown in the proper place in the block editor (sidebar)."]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"heading-toolbar.js"})," - must be wrapped with the ",(0,o.jsx)(s.code,{children:"BlockControls"})," component from the core. This will ensure that the toolbar is shown in the proper place in the block editor (floating or fixed toolbar)."]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"heading-editor.js"})," - must ",(0,o.jsx)(s.strong,{children:"not"})," be wrapped with any top-level component. This will ensure that the editor component is shown in the proper place in the block editor (editor)."]}),"\n"]}),"\n",(0,o.jsx)(s.h3,{id:"headingphp",children:"heading.php"}),"\n",(0,o.jsxs)(s.p,{children:["This file is the front-end representation of a block. In this file, you will have all the attributes you defined in the ",(0,o.jsx)(s.code,{children:"manifest.json"})," file."]}),"\n",(0,o.jsx)(s.p,{children:"In the blocks PHP part, you always have these two properties (props) available:"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"$attributes"})," - This prop contains all the attributes you defined in the ",(0,o.jsx)(s.code,{children:"manifest.json"})," and all the attributes saved in the database."]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"$innerBlockContent"})," - This prop contains all the inner block details when you set your block to contain inner blocks."]}),"\n"]}),"\n",(0,o.jsx)(s.h3,{id:"heading-editorscss",children:"heading-editor.scss"}),"\n",(0,o.jsx)(s.p,{children:"Holds only the editor styling for the block. You should be using this file to override styles in the editor set by the component. In 90% of cases, you will not need to write any overrides here. But if you are using any column layout like a grid, flex, etc., you may need to add some corrections."}),"\n",(0,o.jsx)(s.p,{children:"Corrections in the grid layout are necessary because the block editor adds additional HTML and we can't change it."}),"\n",(0,o.jsxs)(s.p,{children:["Please read the ",(0,o.jsx)(s.a,{href:"blocks-styles",children:"block styles"})," chapter for more details."]}),"\n",(0,o.jsxs)(s.p,{children:[(0,o.jsx)(s.em,{children:"This file is optional"}),"."]}),"\n",(0,o.jsx)(s.h3,{id:"heading-stylescss",children:"heading-style.scss"}),"\n",(0,o.jsx)(s.p,{children:"Holds all the front-end and editor styling for the component."}),"\n",(0,o.jsxs)(s.p,{children:["Please read the ",(0,o.jsx)(s.a,{href:"blocks-styles",children:"block styles"})," chapter for more details."]}),"\n",(0,o.jsxs)(s.p,{children:[(0,o.jsx)(s.em,{children:"This file is optional"}),"."]}),"\n",(0,o.jsx)(s.h3,{id:"heading-hooksjs",children:"heading-hooks.js"}),"\n",(0,o.jsxs)(s.p,{children:["Here you can provide any custom block editor hook you need. For documentation, please refer to ",(0,o.jsx)(s.a,{href:"https://developer.wordpress.org/block-editor/developers/filters/block-filters/",children:"this link"}),". This file is going to be merged in the ",(0,o.jsx)(s.code,{children:"registerBlockType"})," method."]}),"\n",(0,o.jsx)(s.h3,{id:"heading-transformsjs",children:"heading-transforms.js"}),"\n",(0,o.jsxs)(s.p,{children:["Here you can provide any custom block transformation you need. For documentation, please refer to ",(0,o.jsx)(s.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-transforms/",children:"this link"}),". This file is going to be merged in the ",(0,o.jsx)(s.code,{children:"registerBlockType"})," method."]}),"\n",(0,o.jsx)(s.h3,{id:"manifestjson",children:"manifest.json"}),"\n",(0,o.jsxs)(s.p,{children:["This file contains all the configuration required for a block to work. It's used in WordPress ",(0,o.jsx)(s.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-registration/",children:(0,o.jsx)(s.code,{children:"registerBlockType"})})," method to register a block."]}),"\n",(0,o.jsxs)(s.p,{children:["For more details, check the ",(0,o.jsx)(s.a,{href:"block-manifest",children:"block manifest"})," chapter."]})]})}function a(e={}){const{wrapper:s}={...(0,i.M)(),...e.components};return s?(0,o.jsx)(s,{...e,children:(0,o.jsx)(h,{...e})}):h(e)}},4552:(e,s,n)=>{n.d(s,{I:()=>l,M:()=>r});var o=n(11504);const i={},t=o.createContext(i);function r(e){const s=o.useContext(t);return o.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),o.createElement(t.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1f5f1faf.8fb831a8.js b/assets/js/1f5f1faf.8fb831a8.js deleted file mode 100644 index b1017ea03..000000000 --- a/assets/js/1f5f1faf.8fb831a8.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[60414],{12073:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>d,contentTitle:()=>r,default:()=>h,frontMatter:()=>t,metadata:()=>l,toc:()=>c});var o=n(85893),i=n(11151);const t={id:"block-structure",title:"Block Structure"},r=void 0,l={id:"legacy/v6/basics/block-structure",title:"Block Structure",description:"docs-source",source:"@site/docs/legacy/v6/basics/block-structure.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/block-structure",permalink:"/docs/legacy/v6/basics/block-structure",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"block-structure",title:"Block Structure"},sidebar:"docs",previous:{title:"Global Manifest",permalink:"/docs/legacy/v6/basics/blocks-global-manifest"},next:{title:"Component Structure",permalink:"/docs/legacy/v6/basics/blocks-component-structure"}},d={},c=[{value:"assets",id:"assets",level:3},{value:"components",id:"components",level:3},{value:"docs",id:"docs",level:3},{value:"heading-block.js",id:"heading-blockjs",level:3},{value:"heading.php",id:"headingphp",level:3},{value:"heading-editor.scss",id:"heading-editorscss",level:3},{value:"heading-style.scss",id:"heading-stylescss",level:3},{value:"heading-hooks.js",id:"heading-hooksjs",level:3},{value:"heading-transforms.js",id:"heading-transformsjs",level:3},{value:"manifest.json",id:"manifestjson",level:3}];function a(e){const s={a:"a",code:"code",em:"em",h3:"h3",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s.p,{children:(0,o.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/",children:(0,o.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsxs)(s.p,{children:["Your custom blocks are placed in the ",(0,o.jsx)(s.code,{children:"src/Blocks/custom"})," folder."]}),"\n",(0,o.jsxs)(s.p,{children:["For example, let's take the heading block (just replace ",(0,o.jsx)(s.code,{children:"heading"})," with your block name)."]}),"\n",(0,o.jsxs)(s.p,{children:["We suggest you always use the full name and never abbreviate the block name. If your block has multiple words, you should separate them by a dash, for example, ",(0,o.jsx)(s.code,{children:"featured-post-block.js"}),"."]}),"\n",(0,o.jsx)(s.p,{children:(0,o.jsx)(s.strong,{children:"Block structure should look like this:"})}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:["heading","\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:["assets","\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsx)(s.li,{children:"index.js"}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(s.li,{children:["components","\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsx)(s.li,{children:"heading-editor.js"}),"\n",(0,o.jsx)(s.li,{children:"heading-options.js"}),"\n",(0,o.jsx)(s.li,{children:"heading-toolbar.js"}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(s.li,{children:["docs","\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsx)(s.li,{children:"story.js"}),"\n",(0,o.jsx)(s.li,{children:"readme.mdx"}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(s.li,{children:"heading-block.js"}),"\n",(0,o.jsx)(s.li,{children:"heading.php"}),"\n",(0,o.jsx)(s.li,{children:"heading-editor.scss"}),"\n",(0,o.jsx)(s.li,{children:"heading-style.scss"}),"\n",(0,o.jsx)(s.li,{children:"heading-hooks.js"}),"\n",(0,o.jsx)(s.li,{children:"heading-transforms.js"}),"\n",(0,o.jsx)(s.li,{children:"manifest.json"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(s.p,{children:["For example, you can check the ",(0,o.jsx)(s.a,{href:"/storybook",children:"storybook"}),"."]}),"\n",(0,o.jsx)(s.h3,{id:"assets",children:"assets"}),"\n",(0,o.jsxs)(s.p,{children:["In this folder, you'll define all the custom JavaScript functionality for your block that will only be used on the front end of the application. You must provide the ",(0,o.jsx)(s.code,{children:"index.js"})," file in this folder, as a starting point, and the rest is up to you. We recommend using ",(0,o.jsx)(s.a,{href:"dynamic-import",children:"JavaScript dynamic imports"})," for all your front-end scripts. This ensures that the JavaScript is only loaded in the application when it is used and not before. By using dynamic import, you optimize your application and make it load faster."]}),"\n",(0,o.jsx)(s.h3,{id:"components",children:"components"}),"\n",(0,o.jsxs)(s.p,{children:["Components folder holds three files: ",(0,o.jsx)(s.code,{children:"heading-options.js"}),", ",(0,o.jsx)(s.code,{children:"heading-editor.js"}),", and ",(0,o.jsx)(s.code,{children:"heading-toolbars.js"}),". Each of these files represents a part of the block editor block that is used in the editor. We have separated options, editor, and toolbar into separate components for readability and reusing components in different projects."]}),"\n",(0,o.jsx)(s.h3,{id:"docs",children:"docs"}),"\n",(0,o.jsx)(s.p,{children:"Contains everything a block needs to be run inside the Storybook. This part is optional. However, it will speed up your development time and provide you with much-needed documentation."}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"story.js"})," - Storybook entry point for your block. All blocks have the exact same story."]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"readme.mdx"})," - README document that describes your block and provides the documentation."]}),"\n"]}),"\n",(0,o.jsx)(s.h3,{id:"heading-blockjs",children:"heading-block.js"}),"\n",(0,o.jsxs)(s.p,{children:["This file represents the ",(0,o.jsx)(s.code,{children:"edit"})," callback method used in WordPress ",(0,o.jsx)(s.code,{children:"registerBlockType"})," method.\nWe are not using the ",(0,o.jsx)(s.code,{children:"save"})," callback method because we are creating dynamic blocks. The ",(0,o.jsx)(s.code,{children:"edit"})," method describes how your block will be rendered in the editor once the block is used. In this file, you can use more advanced stuff like hooks and all the top-level block features."]}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"heading-options.js"})," - must be wrapped with the ",(0,o.jsx)(s.code,{children:"InspectorControls"})," component from the core. This will ensure that options are shown in the proper place in the block editor (sidebar)."]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"heading-toolbar.js"})," - must be wrapped with the ",(0,o.jsx)(s.code,{children:"BlockControls"})," component from the core. This will ensure that the toolbar is shown in the proper place in the block editor (floating or fixed toolbar)."]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"heading-editor.js"})," - must ",(0,o.jsx)(s.strong,{children:"not"})," be wrapped with any top-level component. This will ensure that the editor component is shown in the proper place in the block editor (editor)."]}),"\n"]}),"\n",(0,o.jsx)(s.h3,{id:"headingphp",children:"heading.php"}),"\n",(0,o.jsxs)(s.p,{children:["This file is the front-end representation of a block. In this file, you will have all the attributes you defined in the ",(0,o.jsx)(s.code,{children:"manifest.json"})," file."]}),"\n",(0,o.jsx)(s.p,{children:"In the blocks PHP part, you always have these two properties (props) available:"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"$attributes"})," - This prop contains all the attributes you defined in the ",(0,o.jsx)(s.code,{children:"manifest.json"})," and all the attributes saved in the database."]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"$innerBlockContent"})," - This prop contains all the inner block details when you set your block to contain inner blocks."]}),"\n"]}),"\n",(0,o.jsx)(s.h3,{id:"heading-editorscss",children:"heading-editor.scss"}),"\n",(0,o.jsx)(s.p,{children:"Holds only the editor styling for the block. You should be using this file to override styles in the editor set by the component. In 90% of cases, you will not need to write any overrides here. But if you are using any column layout like a grid, flex, etc., you may need to add some corrections."}),"\n",(0,o.jsx)(s.p,{children:"Corrections in the grid layout are necessary because the block editor adds additional HTML and we can't change it."}),"\n",(0,o.jsxs)(s.p,{children:["Please read the ",(0,o.jsx)(s.a,{href:"blocks-styles",children:"block styles"})," chapter for more details."]}),"\n",(0,o.jsxs)(s.p,{children:[(0,o.jsx)(s.em,{children:"This file is optional"}),"."]}),"\n",(0,o.jsx)(s.h3,{id:"heading-stylescss",children:"heading-style.scss"}),"\n",(0,o.jsx)(s.p,{children:"Holds all the front-end and editor styling for the component."}),"\n",(0,o.jsxs)(s.p,{children:["Please read the ",(0,o.jsx)(s.a,{href:"blocks-styles",children:"block styles"})," chapter for more details."]}),"\n",(0,o.jsxs)(s.p,{children:[(0,o.jsx)(s.em,{children:"This file is optional"}),"."]}),"\n",(0,o.jsx)(s.h3,{id:"heading-hooksjs",children:"heading-hooks.js"}),"\n",(0,o.jsxs)(s.p,{children:["Here you can provide any custom block editor hook you need. For documentation, please refer to ",(0,o.jsx)(s.a,{href:"https://developer.wordpress.org/block-editor/developers/filters/block-filters/",children:"this link"}),". This file is going to be merged in the ",(0,o.jsx)(s.code,{children:"registerBlockType"})," method."]}),"\n",(0,o.jsx)(s.h3,{id:"heading-transformsjs",children:"heading-transforms.js"}),"\n",(0,o.jsxs)(s.p,{children:["Here you can provide any custom block transformation you need. For documentation, please refer to ",(0,o.jsx)(s.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-transforms/",children:"this link"}),". This file is going to be merged in the ",(0,o.jsx)(s.code,{children:"registerBlockType"})," method."]}),"\n",(0,o.jsx)(s.h3,{id:"manifestjson",children:"manifest.json"}),"\n",(0,o.jsxs)(s.p,{children:["This file contains all the configuration required for a block to work. It's used in WordPress ",(0,o.jsx)(s.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-registration/",children:(0,o.jsx)(s.code,{children:"registerBlockType"})})," method to register a block."]}),"\n",(0,o.jsxs)(s.p,{children:["For more details, check the ",(0,o.jsx)(s.a,{href:"block-manifest",children:"block manifest"})," chapter."]})]})}function h(e={}){const{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,o.jsx)(s,{...e,children:(0,o.jsx)(a,{...e})}):a(e)}},11151:(e,s,n)=>{n.d(s,{Z:()=>l,a:()=>r});var o=n(67294);const i={},t=o.createContext(i);function r(e){const s=o.useContext(t);return o.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),o.createElement(t.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2067e39b.130fc3d7.js b/assets/js/2067e39b.130fc3d7.js new file mode 100644 index 000000000..2dad2095b --- /dev/null +++ b/assets/js/2067e39b.130fc3d7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[4976],{40080: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/2067e39b.f89115ab.js b/assets/js/2067e39b.f89115ab.js deleted file mode 100644 index 601af07ab..000000000 --- a/assets/js/2067e39b.f89115ab.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[4669],{81779: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/20e43c84.12fbfbca.js b/assets/js/20e43c84.12fbfbca.js deleted file mode 100644 index ae0b10a1e..000000000 --- a/assets/js/20e43c84.12fbfbca.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[24498],{92633:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>a,metadata:()=>r,toc:()=>l});var t=s(85893),i=s(11151);const a={id:"extending-classes",title:"Extending Classes"},o=void 0,r={id:"legacy/v6/basics/extending-classes",title:"Extending Classes",description:"docs-source",source:"@site/docs/legacy/v6/basics/extending-classes.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/extending-classes",permalink:"/docs/legacy/v6/basics/extending-classes",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"extending-classes",title:"Extending Classes"},sidebar:"docs",previous:{title:"Namespaces",permalink:"/docs/legacy/v6/basics/namespaces"},next:{title:"Autowiring",permalink:"/docs/legacy/v6/basics/autowiring"}},c={},l=[{value:"Example",id:"example",level:2}];function d(e){const n={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",strong:"strong",...(0,i.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/tree/4.0.0",children:(0,t.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsxs)(n.p,{children:["You can extend every class from the library. To follow the good practice, you should never use the class directly from the Eightshift-libs in your service container (except from helpers and traits). Instead, you should create a class in your project and extend the class from the Eightshift-libs. That is why we made all those ",(0,t.jsx)(n.a,{href:"wp-cli",children:"WP-CLI"})," commands you saw in the previous chapter."]}),"\n",(0,t.jsx)(n.p,{children:"We don't do any magic in the Eightshift-libs like in previous versions. All classes contain only the methods you need to call using WordPress hooks or filters."}),"\n",(0,t.jsx)(n.h2,{id:"example",children:"Example"}),"\n",(0,t.jsxs)(n.p,{children:["Let's look at a way to add a class that enqueues theme front-end scripts and styles.\nGo to the ",(0,t.jsx)(n.strong,{children:"root"})," of your theme. Using the terminal, run this command:"]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"wp boilerplate create_enqueue_admin"})}),"\n",(0,t.jsx)(n.p,{children:"This command will output something like this in your project, taking care of your projects namespace and vendor prefixes, as well as the package name and the text-domain:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"manifest = $manifest;\n }\n\n /**\n * Register all the hooks\n *\n * @return void\n */\n public function register(): void\n {\n add_action('login_enqueue_scripts', [ $this, 'enqueueStyles' ]);\n add_action('admin_enqueue_scripts', [ $this, 'enqueueStyles' ], 50);\n add_action('admin_enqueue_scripts', [ $this, 'enqueueScripts' ]);\n }\n\n /**\n * Method that returns assets name used to prefix asset handlers.\n *\n * @return string\n */\n public function getAssetsPrefix(): string\n {\n return Config::getProjectName();\n }\n\n /**\n * Method that returns assets version for versioning asset handlers.\n *\n * @return string\n */\n public function getAssetsVersion(): string\n {\n return Config::getProjectVersion();\n }\n}\n"})}),"\n",(0,t.jsx)(n.p,{children:"As you can see from the provided example, we created a new class and extended the functionality from the Eightshift-libs."}),"\n",(0,t.jsxs)(n.p,{children:["In your new class, you have a ",(0,t.jsx)(n.code,{children:"register"})," method that must be in every class that registers WordPress action hooks or filters. We call these ",(0,t.jsx)(n.strong,{children:"service classes"}),"."]}),"\n",(0,t.jsx)(n.p,{children:"Your class contains three action hooks now. From this example, you can see that, if you don't want to use some functionality, remove the action, and it will not be used anymore. For more details on what each hook's callback does, go to the extended class in the Eightshift-libs and see the logic defined there."})]})}function h(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},11151:(e,n,s)=>{s.d(n,{Z:()=>r,a:()=>o});var t=s(67294);const i={},a=t.createContext(i);function o(e){const n=t.useContext(a);return t.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:o(e.components),t.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/20e43c84.64a8cbe2.js b/assets/js/20e43c84.64a8cbe2.js new file mode 100644 index 000000000..8e8648ab3 --- /dev/null +++ b/assets/js/20e43c84.64a8cbe2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[35844],{94664:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>r,toc:()=>l});var t=s(17624),i=s(4552);const o={id:"extending-classes",title:"Extending Classes"},a=void 0,r={id:"legacy/v6/basics/extending-classes",title:"Extending Classes",description:"docs-source",source:"@site/docs/legacy/v6/basics/extending-classes.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/extending-classes",permalink:"/docs/legacy/v6/basics/extending-classes",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"extending-classes",title:"Extending Classes"},sidebar:"docs",previous:{title:"Namespaces",permalink:"/docs/legacy/v6/basics/namespaces"},next:{title:"Autowiring",permalink:"/docs/legacy/v6/basics/autowiring"}},c={},l=[{value:"Example",id:"example",level:2}];function d(e){const n={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",strong:"strong",...(0,i.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/tree/4.0.0",children:(0,t.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsxs)(n.p,{children:["You can extend every class from the library. To follow the good practice, you should never use the class directly from the Eightshift-libs in your service container (except from helpers and traits). Instead, you should create a class in your project and extend the class from the Eightshift-libs. That is why we made all those ",(0,t.jsx)(n.a,{href:"wp-cli",children:"WP-CLI"})," commands you saw in the previous chapter."]}),"\n",(0,t.jsx)(n.p,{children:"We don't do any magic in the Eightshift-libs like in previous versions. All classes contain only the methods you need to call using WordPress hooks or filters."}),"\n",(0,t.jsx)(n.h2,{id:"example",children:"Example"}),"\n",(0,t.jsxs)(n.p,{children:["Let's look at a way to add a class that enqueues theme front-end scripts and styles.\nGo to the ",(0,t.jsx)(n.strong,{children:"root"})," of your theme. Using the terminal, run this command:"]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"wp boilerplate create_enqueue_admin"})}),"\n",(0,t.jsx)(n.p,{children:"This command will output something like this in your project, taking care of your projects namespace and vendor prefixes, as well as the package name and the text-domain:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"manifest = $manifest;\n }\n\n /**\n * Register all the hooks\n *\n * @return void\n */\n public function register(): void\n {\n add_action('login_enqueue_scripts', [ $this, 'enqueueStyles' ]);\n add_action('admin_enqueue_scripts', [ $this, 'enqueueStyles' ], 50);\n add_action('admin_enqueue_scripts', [ $this, 'enqueueScripts' ]);\n }\n\n /**\n * Method that returns assets name used to prefix asset handlers.\n *\n * @return string\n */\n public function getAssetsPrefix(): string\n {\n return Config::getProjectName();\n }\n\n /**\n * Method that returns assets version for versioning asset handlers.\n *\n * @return string\n */\n public function getAssetsVersion(): string\n {\n return Config::getProjectVersion();\n }\n}\n"})}),"\n",(0,t.jsx)(n.p,{children:"As you can see from the provided example, we created a new class and extended the functionality from the Eightshift-libs."}),"\n",(0,t.jsxs)(n.p,{children:["In your new class, you have a ",(0,t.jsx)(n.code,{children:"register"})," method that must be in every class that registers WordPress action hooks or filters. We call these ",(0,t.jsx)(n.strong,{children:"service classes"}),"."]}),"\n",(0,t.jsx)(n.p,{children:"Your class contains three action hooks now. From this example, you can see that, if you don't want to use some functionality, remove the action, and it will not be used anymore. For more details on what each hook's callback does, go to the extended class in the Eightshift-libs and see the logic defined there."})]})}function h(e={}){const{wrapper:n}={...(0,i.M)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},4552:(e,n,s)=>{s.d(n,{I:()=>r,M:()=>a});var t=s(11504);const i={},o=t.createContext(i);function a(e){const n=t.useContext(o);return t.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:a(e.components),t.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2176bd9e.89cd477b.js b/assets/js/2176bd9e.89cd477b.js deleted file mode 100644 index f381ea314..000000000 --- a/assets/js/2176bd9e.89cd477b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[68975],{48678: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/2176bd9e.9cd021b8.js b/assets/js/2176bd9e.9cd021b8.js new file mode 100644 index 000000000..be92da790 --- /dev/null +++ b/assets/js/2176bd9e.9cd021b8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[73864],{46760: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/21c119bb.b3e469a0.js b/assets/js/21c119bb.b3e469a0.js new file mode 100644 index 000000000..0533427e5 --- /dev/null +++ b/assets/js/21c119bb.b3e469a0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[17097],{83772:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>u,frontMatter:()=>n,metadata:()=>o,toc:()=>d});var s=i(17624),r=i(4552);const n={id:"utils-library",title:"Utils library"},a=void 0,o={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.",source:"@site/forms/addons/create/utils-library.md",sourceDirName:"addons/create",slug:"/addons/create/utils-library",permalink:"/forms/addons/create/utils-library",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"utils-library",title:"Utils library"},sidebar:"forms",previous:{title:"Intro",permalink:"/forms/addons/create/intro"},next:{title:"Requirements",permalink:"/forms/addons/create/requirements"}},l={},d=[{value:"Example usage",id:"example-usage",level:2}];function c(e){const t={a:"a",code:"code",h2:"h2",p:"p",pre:"pre",...(0,r.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(t.p,{children:["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 ",(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-forms-utils",children:"Eightshift Forms Utils package"}),"."]}),"\n",(0,s.jsxs)(t.p,{children:["In this library we have multiple utils classes with PHP. To use it in your add-on, you need to require the package in your ",(0,s.jsx)(t.code,{children:"composer.json"})," file."]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-json",children:'"require": {\n\t"infinum/eightshift-forms-utils": "^1.1.10",\n},\n'})}),"\n",(0,s.jsxs)(t.p,{children:["All helpers are located inside the ",(0,s.jsx)(t.code,{children:"EightshiftFormsAddonComputedFieldsVendor\\EightshiftFormsUtils"})," namespace."]}),"\n",(0,s.jsx)(t.h2,{id:"example-usage",children:"Example usage"}),"\n",(0,s.jsx)(t.p,{children:"In this example we will show how to get settings names."}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-php",children:"use EightshiftFormsAddonComputedFieldsVendor\\EightshiftFormsUtils\\Helpers\\UtilsSettingsHelper;\n\n$name = UtilsSettingsHelper::getSettingName('');\n"})})]})}function u(e={}){const{wrapper:t}={...(0,r.M)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},4552:(e,t,i)=>{i.d(t,{I:()=>o,M:()=>a});var s=i(11504);const r={},n=s.createContext(r);function a(e){const t=s.useContext(n);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),s.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/21c119bb.c860079d.js b/assets/js/21c119bb.c860079d.js deleted file mode 100644 index 9171c6fe9..000000000 --- a/assets/js/21c119bb.c860079d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[4254],{53451:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>u,frontMatter:()=>n,metadata:()=>o,toc:()=>d});var s=i(85893),r=i(11151);const n={id:"utils-library",title:"Utils library"},a=void 0,o={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.",source:"@site/forms/addons/create/utils-library.md",sourceDirName:"addons/create",slug:"/addons/create/utils-library",permalink:"/forms/addons/create/utils-library",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"utils-library",title:"Utils library"},sidebar:"forms",previous:{title:"Intro",permalink:"/forms/addons/create/intro"},next:{title:"Requirements",permalink:"/forms/addons/create/requirements"}},l={},d=[{value:"Example usage",id:"example-usage",level:2}];function c(e){const t={a:"a",code:"code",h2:"h2",p:"p",pre:"pre",...(0,r.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(t.p,{children:["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 ",(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-forms-utils",children:"Eightshift Forms Utils package"}),"."]}),"\n",(0,s.jsxs)(t.p,{children:["In this library we have multiple utils classes with PHP. To use it in your add-on, you need to require the package in your ",(0,s.jsx)(t.code,{children:"composer.json"})," file."]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-json",children:'"require": {\n\t"infinum/eightshift-forms-utils": "^1.1.10",\n},\n'})}),"\n",(0,s.jsxs)(t.p,{children:["All helpers are located inside the ",(0,s.jsx)(t.code,{children:"EightshiftFormsAddonComputedFieldsVendor\\EightshiftFormsUtils"})," namespace."]}),"\n",(0,s.jsx)(t.h2,{id:"example-usage",children:"Example usage"}),"\n",(0,s.jsx)(t.p,{children:"In this example we will show how to get settings names."}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-php",children:"use EightshiftFormsAddonComputedFieldsVendor\\EightshiftFormsUtils\\Helpers\\UtilsSettingsHelper;\n\n$name = UtilsSettingsHelper::getSettingName('');\n"})})]})}function u(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},11151:(e,t,i)=>{i.d(t,{Z:()=>o,a:()=>a});var s=i(67294);const r={},n=s.createContext(r);function a(e){const t=s.useContext(n);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),s.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2297cc0d.a31f93cb.js b/assets/js/2297cc0d.a31f93cb.js deleted file mode 100644 index e235ba934..000000000 --- a/assets/js/2297cc0d.a31f93cb.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[78951],{64415:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>i,metadata:()=>a,toc:()=>l});var n=s(85893),o=s(11151);const i={id:"fonts",title:"Fonts",sidebar_label:"Fonts"},r=void 0,a={id:"legacy/v5/basics/fonts",title:"Fonts",description:"docs-source",source:"@site/docs/legacy/v5/basics/fonts.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/fonts",permalink:"/docs/legacy/v5/basics/fonts",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"fonts",title:"Fonts",sidebar_label:"Fonts"},sidebar:"docs",previous:{title:"Writing Styles",permalink:"/docs/legacy/v5/basics/writing-styles"},next:{title:"Browser Sync",permalink:"/docs/legacy/v5/basics/browser-sync"}},c={},l=[];function d(e){const t={a:"a",code:"code",img:"img",li:"li",p:"p",ul:"ul",...(0,o.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(t.p,{children:"Fonts can be added to your project in multiple ways, depending on your project's needs. In general, if you can use fonts from an external source like Google Fonts, use that approach because the fonts are loaded smartly. On the other hand, if you have fonts that are added to your project, below are the steps to follow to make them available in the project."}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["Put your font files in this folder: ",(0,n.jsx)(t.code,{children:"assets/fonts"}),"."]}),"\n",(0,n.jsxs)(t.li,{children:["Import each file in the ",(0,n.jsx)(t.code,{children:"assets/fonts/index.js"})," so that the Webpack knows how to process these files in its build process."]}),"\n",(0,n.jsxs)(t.li,{children:["In your project, load the font family using font-face ",(0,n.jsx)(t.a,{href:"/sass",children:"method"}),". We recommend that you create a new file ",(0,n.jsx)(t.code,{children:"assets/styles/parts/utils/_defaults.scss"})," and put everything in that file."]}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},11151:(e,t,s)=>{s.d(t,{Z:()=>a,a:()=>r});var n=s(67294);const o={},i=n.createContext(o);function r(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(o):e.components||o:r(e.components),n.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2297cc0d.a8ac1efb.js b/assets/js/2297cc0d.a8ac1efb.js new file mode 100644 index 000000000..af6e3fb67 --- /dev/null +++ b/assets/js/2297cc0d.a8ac1efb.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[53800],{61764:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>i,metadata:()=>c,toc:()=>l});var n=s(17624),o=s(4552);const i={id:"fonts",title:"Fonts",sidebar_label:"Fonts"},r=void 0,c={id:"legacy/v5/basics/fonts",title:"Fonts",description:"docs-source",source:"@site/docs/legacy/v5/basics/fonts.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/fonts",permalink:"/docs/legacy/v5/basics/fonts",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"fonts",title:"Fonts",sidebar_label:"Fonts"},sidebar:"docs",previous:{title:"Writing Styles",permalink:"/docs/legacy/v5/basics/writing-styles"},next:{title:"Browser Sync",permalink:"/docs/legacy/v5/basics/browser-sync"}},a={},l=[];function d(e){const t={a:"a",code:"code",img:"img",li:"li",p:"p",ul:"ul",...(0,o.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(t.p,{children:"Fonts can be added to your project in multiple ways, depending on your project's needs. In general, if you can use fonts from an external source like Google Fonts, use that approach because the fonts are loaded smartly. On the other hand, if you have fonts that are added to your project, below are the steps to follow to make them available in the project."}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["Put your font files in this folder: ",(0,n.jsx)(t.code,{children:"assets/fonts"}),"."]}),"\n",(0,n.jsxs)(t.li,{children:["Import each file in the ",(0,n.jsx)(t.code,{children:"assets/fonts/index.js"})," so that the Webpack knows how to process these files in its build process."]}),"\n",(0,n.jsxs)(t.li,{children:["In your project, load the font family using font-face ",(0,n.jsx)(t.a,{href:"/docs/basics/library",children:"method"}),". We recommend that you create a new file ",(0,n.jsx)(t.code,{children:"assets/styles/parts/utils/_defaults.scss"})," and put everything in that file."]}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,o.M)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},4552:(e,t,s)=>{s.d(t,{I:()=>c,M:()=>r});var n=s(11504);const o={},i=n.createContext(o);function r(e){const t=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),n.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/22cdf000.294b5752.js b/assets/js/22cdf000.294b5752.js deleted file mode 100644 index 85bb2ed15..000000000 --- a/assets/js/22cdf000.294b5752.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[7561],{53420:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>l,contentTitle:()=>s,default:()=>c,frontMatter:()=>o,metadata:()=>r,toc:()=>d});var i=a(85893),n=a(11151);const o={id:"validation",title:"Validation"},s=void 0,r={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.",source:"@site/forms/features/validation.md",sourceDirName:"features",slug:"/features/validation",permalink:"/forms/features/validation",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"validation",title:"Validation"},sidebar:"forms",previous:{title:"Geolocation",permalink:"/forms/features/geolocation"},next:{title:"Multi-steps forms",permalink:"/forms/features/multisteps-forms"}},l={},d=[{value:"Integration validation rules",id:"integration-validation-rules",level:2},{value:"Email validation",id:"email-validation",level:2},{value:"Custom validation patterns",id:"custom-validation-patterns",level:2}];function u(e){const t={a:"a",code:"code",h2:"h2",img:"img",p:"p",...(0,n.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"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."}),"\n",(0,i.jsx)(t.h2,{id:"integration-validation-rules",children:"Integration validation rules"}),"\n",(0,i.jsx)(t.p,{children:"If you are using an integration, validation rules set on the integration will be automatically set in your form in the sync process, and you will not be able to change them from the form builder. You can always add additional validation rules, but external rules can't be changed."}),"\n",(0,i.jsx)(t.p,{children:"For example, on the HubSpot form, the field email is set as required, so you can't change that from the form builder, but you can add additional validation rules like limiting the number of characters."}),"\n",(0,i.jsx)(t.h2,{id:"email-validation",children:"Email validation"}),"\n",(0,i.jsx)(t.p,{children:"Eightshift Form provides a set of validation rules for email fields, like validating the email format and adding checks for top-level domains."}),"\n",(0,i.jsxs)(t.p,{children:["Top-level domains are provided using ",(0,i.jsx)(t.a,{href:"https://www.iana.org/domains/root/db",children:"Iana"})," website database."]}),"\n",(0,i.jsx)(t.h2,{id:"custom-validation-patterns",children:"Custom validation patterns"}),"\n",(0,i.jsx)(t.p,{children:"With all the native validations provided, you can also add your own custom validation patterns. This is useful if you want to add custom validation for a field that is not provided by default."}),"\n",(0,i.jsxs)(t.p,{children:["For example, you want an email field not to allow emails with a ",(0,i.jsx)(t.code,{children:".org"})," domain. You can provide a custom validation pattern using a regular expression to check if the email has a ",(0,i.jsx)(t.code,{children:".org"})," domain."]}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"Validation screen",src:a(88636).Z+"",width:"683",height:"763"})})]})}function c(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(u,{...e})}):u(e)}},88636:(e,t,a)=>{a.d(t,{Z:()=>i});const i=a.p+"assets/images/validation-4253e4fd519f9fc156cb2492dca7be96.webp"},11151:(e,t,a)=>{a.d(t,{Z:()=>r,a:()=>s});var i=a(67294);const n={},o=i.createContext(n);function s(e){const t=i.useContext(o);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(n):e.components||n:s(e.components),i.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/22cdf000.3a136454.js b/assets/js/22cdf000.3a136454.js new file mode 100644 index 000000000..a88791e09 --- /dev/null +++ b/assets/js/22cdf000.3a136454.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[78642],{86532:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>l,contentTitle:()=>s,default:()=>u,frontMatter:()=>o,metadata:()=>r,toc:()=>d});var i=a(17624),n=a(4552);const o={id:"validation",title:"Validation"},s=void 0,r={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.",source:"@site/forms/features/validation.md",sourceDirName:"features",slug:"/features/validation",permalink:"/forms/features/validation",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"validation",title:"Validation"},sidebar:"forms",previous:{title:"Geolocation",permalink:"/forms/features/geolocation"},next:{title:"Multi-steps forms",permalink:"/forms/features/multisteps-forms"}},l={},d=[{value:"Integration validation rules",id:"integration-validation-rules",level:2},{value:"Email validation",id:"email-validation",level:2},{value:"Custom validation patterns",id:"custom-validation-patterns",level:2}];function c(e){const t={a:"a",code:"code",h2:"h2",img:"img",p:"p",...(0,n.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"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."}),"\n",(0,i.jsx)(t.h2,{id:"integration-validation-rules",children:"Integration validation rules"}),"\n",(0,i.jsx)(t.p,{children:"If you are using an integration, validation rules set on the integration will be automatically set in your form in the sync process, and you will not be able to change them from the form builder. You can always add additional validation rules, but external rules can't be changed."}),"\n",(0,i.jsx)(t.p,{children:"For example, on the HubSpot form, the field email is set as required, so you can't change that from the form builder, but you can add additional validation rules like limiting the number of characters."}),"\n",(0,i.jsx)(t.h2,{id:"email-validation",children:"Email validation"}),"\n",(0,i.jsx)(t.p,{children:"Eightshift Form provides a set of validation rules for email fields, like validating the email format and adding checks for top-level domains."}),"\n",(0,i.jsxs)(t.p,{children:["Top-level domains are provided using ",(0,i.jsx)(t.a,{href:"https://www.iana.org/domains/root/db",children:"Iana"})," website database."]}),"\n",(0,i.jsx)(t.h2,{id:"custom-validation-patterns",children:"Custom validation patterns"}),"\n",(0,i.jsx)(t.p,{children:"With all the native validations provided, you can also add your own custom validation patterns. This is useful if you want to add custom validation for a field that is not provided by default."}),"\n",(0,i.jsxs)(t.p,{children:["For example, you want an email field not to allow emails with a ",(0,i.jsx)(t.code,{children:".org"})," domain. You can provide a custom validation pattern using a regular expression to check if the email has a ",(0,i.jsx)(t.code,{children:".org"})," domain."]}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"Validation screen",src:a(51450).c+"",width:"683",height:"763"})})]})}function u(e={}){const{wrapper:t}={...(0,n.M)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},51450:(e,t,a)=>{a.d(t,{c:()=>i});const i=a.p+"assets/images/validation-4253e4fd519f9fc156cb2492dca7be96.webp"},4552:(e,t,a)=>{a.d(t,{I:()=>r,M:()=>s});var i=a(11504);const n={},o=i.createContext(n);function s(e){const t=i.useContext(o);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(n):e.components||n:s(e.components),i.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/22e7b626.e84a9aaf.js b/assets/js/22e7b626.e84a9aaf.js deleted file mode 100644 index 2c4d814b9..000000000 --- a/assets/js/22e7b626.e84a9aaf.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[16633],{4399:(s,e,t)=>{t.r(e),t.d(e,{assets:()=>c,contentTitle:()=>i,default:()=>h,frontMatter:()=>n,metadata:()=>a,toc:()=>l});var o=t(85893),r=t(11151);const n={id:"blocks-transforms",title:"Transforms",sidebar_label:"Transforms"},i=void 0,a={id:"legacy/v5/basics/blocks-transforms",title:"Transforms",description:"docs-source",source:"@site/docs/legacy/v5/basics/blocks-transforms.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/blocks-transforms",permalink:"/docs/legacy/v5/basics/blocks-transforms",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-transforms",title:"Transforms",sidebar_label:"Transforms"},sidebar:"docs",previous:{title:"Patterns",permalink:"/docs/legacy/v5/basics/blocks-patterns"},next:{title:"Hooks",permalink:"/docs/legacy/v5/basics/blocks-hooks"}},c={},l=[];function d(s){const e={a:"a",img:"img",p:"p",...(0,r.a)(),...s.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.p,{children:(0,o.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/",children:(0,o.jsx)(e.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(e.p,{children:"Block Transforms is an API that allows a block to be transformed from and to other blocks, as well as from other entities."}),"\n",(0,o.jsxs)(e.p,{children:["You can check the ",(0,o.jsx)(e.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-transforms/",children:"WordPress documentation"})," on this subject."]}),"\n",(0,o.jsx)(e.p,{children:"We didn't change anything regarding the original documentation; we simply provided you with the structured file where you can write all your transformations."}),"\n",(0,o.jsxs)(e.p,{children:["Please follow this ",(0,o.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/Blocks/custom/heading/heading-transforms.js",children:"example"})," for more inspiration."]})]})}function h(s={}){const{wrapper:e}={...(0,r.a)(),...s.components};return e?(0,o.jsx)(e,{...s,children:(0,o.jsx)(d,{...s})}):d(s)}},11151:(s,e,t)=>{t.d(e,{Z:()=>a,a:()=>i});var o=t(67294);const r={},n=o.createContext(r);function i(s){const e=o.useContext(n);return o.useMemo((function(){return"function"==typeof s?s(e):{...e,...s}}),[e,s])}function a(s){let e;return e=s.disableParentContext?"function"==typeof s.components?s.components(r):s.components||r:i(s.components),o.createElement(n.Provider,{value:e},s.children)}}}]); \ No newline at end of file diff --git a/assets/js/22e7b626.eeb2a102.js b/assets/js/22e7b626.eeb2a102.js new file mode 100644 index 000000000..c133e8ab2 --- /dev/null +++ b/assets/js/22e7b626.eeb2a102.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[53864],{16364:(s,e,t)=>{t.r(e),t.d(e,{assets:()=>a,contentTitle:()=>i,default:()=>h,frontMatter:()=>n,metadata:()=>c,toc:()=>l});var o=t(17624),r=t(4552);const n={id:"blocks-transforms",title:"Transforms",sidebar_label:"Transforms"},i=void 0,c={id:"legacy/v5/basics/blocks-transforms",title:"Transforms",description:"docs-source",source:"@site/docs/legacy/v5/basics/blocks-transforms.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/blocks-transforms",permalink:"/docs/legacy/v5/basics/blocks-transforms",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-transforms",title:"Transforms",sidebar_label:"Transforms"},sidebar:"docs",previous:{title:"Patterns",permalink:"/docs/legacy/v5/basics/blocks-patterns"},next:{title:"Hooks",permalink:"/docs/legacy/v5/basics/blocks-hooks"}},a={},l=[];function d(s){const e={a:"a",img:"img",p:"p",...(0,r.M)(),...s.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.p,{children:(0,o.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/",children:(0,o.jsx)(e.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(e.p,{children:"Block Transforms is an API that allows a block to be transformed from and to other blocks, as well as from other entities."}),"\n",(0,o.jsxs)(e.p,{children:["You can check the ",(0,o.jsx)(e.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-transforms/",children:"WordPress documentation"})," on this subject."]}),"\n",(0,o.jsx)(e.p,{children:"We didn't change anything regarding the original documentation; we simply provided you with the structured file where you can write all your transformations."}),"\n",(0,o.jsxs)(e.p,{children:["Please follow this ",(0,o.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/Blocks/custom/heading/heading-transforms.js",children:"example"})," for more inspiration."]})]})}function h(s={}){const{wrapper:e}={...(0,r.M)(),...s.components};return e?(0,o.jsx)(e,{...s,children:(0,o.jsx)(d,{...s})}):d(s)}},4552:(s,e,t)=>{t.d(e,{I:()=>c,M:()=>i});var o=t(11504);const r={},n=o.createContext(r);function i(s){const e=o.useContext(n);return o.useMemo((function(){return"function"==typeof s?s(e):{...e,...s}}),[e,s])}function c(s){let e;return e=s.disableParentContext?"function"==typeof s.components?s.components(r):s.components||r:i(s.components),o.createElement(n.Provider,{value:e},s.children)}}}]); \ No newline at end of file diff --git a/assets/js/23002826.13176ecb.js b/assets/js/23002826.13176ecb.js new file mode 100644 index 000000000..a730266a1 --- /dev/null +++ b/assets/js/23002826.13176ecb.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[47014],{23948:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>o,default:()=>c,frontMatter:()=>s,metadata:()=>l,toc:()=>f});var r=n(17624),i=n(4552),a=n(80148);const s={id:"airtable",title:"Airtable"},o=void 0,l={id:"php/filters/integrations/airtable",title:"Airtable",description:"",source:"@site/forms/php/filters/integrations/airtable.mdx",sourceDirName:"php/filters/integrations",slug:"/php/filters/integrations/airtable",permalink:"/forms/php/filters/integrations/airtable",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"airtable",title:"Airtable"},sidebar:"forms",previous:{title:"ActiveCampaign",permalink:"/forms/php/filters/integrations/active-campaign"},next:{title:"Clearbit",permalink:"/forms/php/filters/integrations/clearbit"}},d={},f=[];function m(t){return(0,r.jsx)(a.y,{name:"Airtable",filter:"airtable"})}function c(t={}){const{wrapper:e}={...(0,i.M)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(m,{...t})}):m()}},80148:(t,e,n)=>{n.d(e,{g:()=>o,y:()=>s});n(11504);var r=n(1608),i=n(96616),a=n(17624);function s(t){let{filter:e,onlyUse:n=["dataFilter","orderFilter","prePostIdFilter","prePostParamsFilter"]}=t;return(0,a.jsxs)(a.Fragment,{children:[n.includes("dataFilter")&&(0,a.jsx)(l,{filter:e}),n.includes("orderFilter")&&(0,a.jsx)(d,{filter:e}),n.includes("prePostIdFilter")&&(0,a.jsx)(f,{filter:e}),n.includes("prePostParamsFilter")&&(0,a.jsx)(m,{filter:e})]})}function o(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{children:"Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc."}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\tadd_filter('es_forms_block_${e}_additional_content', function(): string {\n\t\t\t\treturn '';\n\t\t\t})\n\t\t\t`)})]})}function l(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Data filter"}),(0,a.jsx)("p",{children:"Allows modifying form field data before it's shown in the Block Editor or output on the frontend."}),(0,a.jsx)("p",{children:"Useful if, for example, you want to ensure that all fields fit into a 2-column layout."}),(0,a.jsx)("p",{children:"Overrides any Block Editor changes!"}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\tadd_filter('es_forms_integrations_${e}_data', 'getIntegrationFilterData', 10, 2);\n\n\t\t\t/**\n\t\t\t * Manipulate form fields data before it is sent to the Block Editor.\n\t\t\t *\n\t\t\t * @param array $data Form fields data.\n\t\t\t * @param string $formId Form ID.\n\t\t\t *\n\t\t\t * @return array\n\t\t\t */\n\t\t\tfunction getIntegrationFilterData(array $data, string $formId): array\n\t\t\t{\n\t\t\t\tforeach ($data as $index => $field) {\n\t\t\t\t\t$component = $field['component'] ?? '';\n\n\t\t\t\t\tif (!$component) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t$name = $field["{$component}Name"] ?? '';\n\n\t\t\t\t\tif (!$name) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch ($name) {\n\t\t\t\t\t\tcase 'firstname':\n\t\t\t\t\t\tcase 'lastname':\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthMobile"] = 12;\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthLarge"] = 6;\n\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"] = array_merge(\n\t\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthMobile",\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthLarge",\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t`)})]})}function d(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Order filter"}),(0,a.jsx)("p",{children:"Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor."}),(0,a.jsxs)("p",{children:["Not all fields need to have an order defined. For example, you may want to make sure ",(0,a.jsx)("code",{children:"firstname"}),", ",(0,a.jsx)("code",{children:"lastname"})," and ",(0,a.jsx)("code",{children:"email"})," are displayed first, but other fields follow their Block editor order."]}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_order', 'getIntegrationOrder');\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Forces form field order for the provided fields. For other fields, Block editor order is used.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationOrder(): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t'firstname',\n\t\t\t\t\t\t\t'lastname',\n\t\t\t\t\t\t\t'email',\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t`)})]})}function f(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post ID filter"}),(0,a.jsx)("p",{children:"Allows updating item IDs sent to external integrations to which the form data is sent."}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_pre_post_id', 'getIntegrationPrePostId', 10, 3);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies integration item ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @param string $itemId Integration item ID.\n\t\t\t\t\t * @param array $params Params to be sent to the integration.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostId(string $itemId, array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn $itemId;\n\t\t\t\t\t}\n\t\t\t\t`)})]})}function m(t){let{filter:e}=t,n="";if("mailer"===e)n="mailer system";else n="external integration";return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post parameters filter"}),(0,a.jsxs)("p",{children:["Allows modifying form field data before it's sent to ",n,". Useful if you want to make values derived from the sent data, or add new fields."]}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_pre_post_params', 'getIntegrationPrePostParams', 10, 2);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies form field data before it's sent to ${n}.\n\t\t\t\t\t *\n\t\t\t\t\t * @param array $params Array of params.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostParams(array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\t$formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? '';\n\n\t\t\t\t\t\tif ($formSubmissionPageLt) {\n\t\t\t\t\t\t\t$params['ib-submission-source'] = [\n\t\t\t\t\t\t\t\t'name' => 'ib-submission-source',\n\t\t\t\t\t\t\t\t'value' => $formSubmissionPageLt,\n\t\t\t\t\t\t\t\t'type' => 'text',\n\t\t\t\t\t\t\t\t'internalType' => '',\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn $params;\n\t\t\t\t\t}\n\t\t\t\t`)})]})}},96616:(t,e,n)=>{function r(t){const e=t.split(/\n/g);for(;0===e[0]?.replace(/\s/g,"").length;)e.shift();for(;0===e[e.length-1]?.replace(/\s/g,"").length;)e.pop();const n=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>t.match(/^\s*/)?.[0]?.length??0)),r=Math.min(...n);return e.map((t=>t.slice(r))).join("\n")}n.d(e,{c:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/23002826.c2264648.js b/assets/js/23002826.c2264648.js deleted file mode 100644 index 0b202f09b..000000000 --- a/assets/js/23002826.c2264648.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[88426],{68668:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>o,default:()=>c,frontMatter:()=>s,metadata:()=>l,toc:()=>f});var r=n(85893),i=n(11151),a=n(8122);const s={id:"airtable",title:"Airtable"},o=void 0,l={id:"php/filters/integrations/airtable",title:"Airtable",description:"",source:"@site/forms/php/filters/integrations/airtable.mdx",sourceDirName:"php/filters/integrations",slug:"/php/filters/integrations/airtable",permalink:"/forms/php/filters/integrations/airtable",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"airtable",title:"Airtable"},sidebar:"forms",previous:{title:"ActiveCampaign",permalink:"/forms/php/filters/integrations/active-campaign"},next:{title:"Clearbit",permalink:"/forms/php/filters/integrations/clearbit"}},d={},f=[];function m(t){return(0,r.jsx)(a.k,{name:"Airtable",filter:"airtable"})}function c(t={}){const{wrapper:e}={...(0,i.a)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(m,{...t})}):m()}},8122:(t,e,n)=>{n.d(e,{F:()=>o,k:()=>s});n(67294);var r=n(9286),i=n(61684),a=n(85893);function s(t){let{filter:e,onlyUse:n=["dataFilter","orderFilter","prePostIdFilter","prePostParamsFilter"]}=t;return(0,a.jsxs)(a.Fragment,{children:[n.includes("dataFilter")&&(0,a.jsx)(l,{filter:e}),n.includes("orderFilter")&&(0,a.jsx)(d,{filter:e}),n.includes("prePostIdFilter")&&(0,a.jsx)(f,{filter:e}),n.includes("prePostParamsFilter")&&(0,a.jsx)(m,{filter:e})]})}function o(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{children:"Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc."}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\tadd_filter('es_forms_block_"+e+"_additional_content', function(): string {\n\t\t\t\treturn '';\n\t\t\t})\n\t\t\t")})]})}function l(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Data filter"}),(0,a.jsx)("p",{children:"Allows modifying form field data before it's shown in the Block Editor or output on the frontend."}),(0,a.jsx)("p",{children:"Useful if, for example, you want to ensure that all fields fit into a 2-column layout."}),(0,a.jsx)("p",{children:"Overrides any Block Editor changes!"}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\tadd_filter('es_forms_integrations_"+e+'_data\', \'getIntegrationFilterData\', 10, 2);\n\n\t\t\t/**\n\t\t\t * Manipulate form fields data before it is sent to the Block Editor.\n\t\t\t *\n\t\t\t * @param array $data Form fields data.\n\t\t\t * @param string $formId Form ID.\n\t\t\t *\n\t\t\t * @return array\n\t\t\t */\n\t\t\tfunction getIntegrationFilterData(array $data, string $formId): array\n\t\t\t{\n\t\t\t\tforeach ($data as $index => $field) {\n\t\t\t\t\t$component = $field[\'component\'] ?? \'\';\n\n\t\t\t\t\tif (!$component) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t$name = $field["{$component}Name"] ?? \'\';\n\n\t\t\t\t\tif (!$name) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch ($name) {\n\t\t\t\t\t\tcase \'firstname\':\n\t\t\t\t\t\tcase \'lastname\':\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthMobile"] = 12;\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthLarge"] = 6;\n\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"] = array_merge(\n\t\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthMobile",\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthLarge",\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t')})]})}function d(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Order filter"}),(0,a.jsx)("p",{children:"Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor."}),(0,a.jsxs)("p",{children:["Not all fields need to have an order defined. For example, you may want to make sure ",(0,a.jsx)("code",{children:"firstname"}),", ",(0,a.jsx)("code",{children:"lastname"})," and ",(0,a.jsx)("code",{children:"email"})," are displayed first, but other fields follow their Block editor order."]}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_order', 'getIntegrationOrder');\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Forces form field order for the provided fields. For other fields, Block editor order is used.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationOrder(): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t'firstname',\n\t\t\t\t\t\t\t'lastname',\n\t\t\t\t\t\t\t'email',\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t")})]})}function f(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post ID filter"}),(0,a.jsx)("p",{children:"Allows updating item IDs sent to external integrations to which the form data is sent."}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_pre_post_id', 'getIntegrationPrePostId', 10, 3);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies integration item ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @param string $itemId Integration item ID.\n\t\t\t\t\t * @param array $params Params to be sent to the integration.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostId(string $itemId, array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn $itemId;\n\t\t\t\t\t}\n\t\t\t\t")})]})}function m(t){let{filter:e}=t,n="";if("mailer"===e)n="mailer system";else n="external integration";return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post parameters filter"}),(0,a.jsxs)("p",{children:["Allows modifying form field data before it's sent to ",n,". Useful if you want to make values derived from the sent data, or add new fields."]}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_pre_post_params', 'getIntegrationPrePostParams', 10, 2);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies form field data before it's sent to "+n+".\n\t\t\t\t\t *\n\t\t\t\t\t * @param array $params Array of params.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostParams(array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\t$formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? '';\n\n\t\t\t\t\t\tif ($formSubmissionPageLt) {\n\t\t\t\t\t\t\t$params['ib-submission-source'] = [\n\t\t\t\t\t\t\t\t'name' => 'ib-submission-source',\n\t\t\t\t\t\t\t\t'value' => $formSubmissionPageLt,\n\t\t\t\t\t\t\t\t'type' => 'text',\n\t\t\t\t\t\t\t\t'internalType' => '',\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn $params;\n\t\t\t\t\t}\n\t\t\t\t")})]})}},61684:(t,e,n)=>{function r(t){const e=t.split(/\n/g);for(;0===(null==(n=e[0])?void 0:n.replace(/\s/g,"").length);){var n;e.shift()}for(;0===(null==(r=e[e.length-1])?void 0:r.replace(/\s/g,"").length);){var r;e.pop()}const i=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>{var e,n;return null!=(e=null==(n=t.match(/^\s*/))||null==(n=n[0])?void 0:n.length)?e:0})),a=Math.min(...i);return e.map((t=>t.slice(a))).join("\n")}n.d(e,{p:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/230a0014.30873c22.js b/assets/js/230a0014.30873c22.js deleted file mode 100644 index b0b866978..000000000 --- a/assets/js/230a0014.30873c22.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[33263],{47228:(t,i,s)=>{s.r(i),s.d(i,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>a,toc:()=>d});var e=s(85893),n=s(11151);const o={id:"docs",title:"Eightshift Docs"},r=void 0,a={id:"additional-libraries/docs",title:"Eightshift Docs",description:"GitHub tag",source:"@site/docs/additional-libraries/docs.md",sourceDirName:"additional-libraries",slug:"/additional-libraries/docs",permalink:"/docs/additional-libraries/docs",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"docs",title:"Eightshift Docs"},sidebar:"docs",previous:{title:"Eightshift Forms",permalink:"/docs/additional-libraries/forms"},next:{title:"Eightshift Coding Standards",permalink:"/docs/additional-libraries/coding-standards"}},c={},d=[];function l(t){const i={a:"a",img:"img",li:"li",p:"p",ul:"ul",...(0,n.a)(),...t.components};return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(i.p,{children:(0,e.jsx)(i.a,{href:"https://github.com/infinum/eightshift-docs",children:(0,e.jsx)(i.img,{src:"https://img.shields.io/github/tag/infinum/eightshift-docs.svg?style=for-the-badge",alt:"GitHub tag"})})}),"\n",(0,e.jsxs)(i.p,{children:["This library hosts all the documentation you have read so far and all of these cool layout pages. We made it on ",(0,e.jsx)(i.a,{href:"https://v2.docusaurus.io/",children:"Docusaurus"}),"."]}),"\n",(0,e.jsxs)(i.ul,{children:["\n",(0,e.jsx)(i.li,{children:(0,e.jsx)(i.a,{href:"/docs/welcome",children:"Documentation"})}),"\n",(0,e.jsx)(i.li,{children:(0,e.jsx)(i.a,{href:"https://github.com/infinum/eightshift-docs",children:"Github"})}),"\n"]})]})}function h(t={}){const{wrapper:i}={...(0,n.a)(),...t.components};return i?(0,e.jsx)(i,{...t,children:(0,e.jsx)(l,{...t})}):l(t)}},11151:(t,i,s)=>{s.d(i,{Z:()=>a,a:()=>r});var e=s(67294);const n={},o=e.createContext(n);function r(t){const i=e.useContext(o);return e.useMemo((function(){return"function"==typeof t?t(i):{...i,...t}}),[i,t])}function a(t){let i;return i=t.disableParentContext?"function"==typeof t.components?t.components(n):t.components||n:r(t.components),e.createElement(o.Provider,{value:i},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/230a0014.53cb87a0.js b/assets/js/230a0014.53cb87a0.js new file mode 100644 index 000000000..b00ecdd87 --- /dev/null +++ b/assets/js/230a0014.53cb87a0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[68804],{88368:(t,i,s)=>{s.r(i),s.d(i,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>a,toc:()=>d});var e=s(17624),n=s(4552);const o={id:"docs",title:"Eightshift Docs"},r=void 0,a={id:"additional-libraries/docs",title:"Eightshift Docs",description:"GitHub tag",source:"@site/docs/additional-libraries/docs.md",sourceDirName:"additional-libraries",slug:"/additional-libraries/docs",permalink:"/docs/additional-libraries/docs",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"docs",title:"Eightshift Docs"},sidebar:"docs",previous:{title:"Eightshift Forms",permalink:"/docs/additional-libraries/forms"},next:{title:"Eightshift Coding Standards",permalink:"/docs/additional-libraries/coding-standards"}},c={},d=[];function l(t){const i={a:"a",img:"img",li:"li",p:"p",ul:"ul",...(0,n.M)(),...t.components};return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(i.p,{children:(0,e.jsx)(i.a,{href:"https://github.com/infinum/eightshift-docs",children:(0,e.jsx)(i.img,{src:"https://img.shields.io/github/tag/infinum/eightshift-docs.svg?style=for-the-badge",alt:"GitHub tag"})})}),"\n",(0,e.jsxs)(i.p,{children:["This library hosts all the documentation you have read so far and all of these cool layout pages. We made it on ",(0,e.jsx)(i.a,{href:"https://v2.docusaurus.io/",children:"Docusaurus"}),"."]}),"\n",(0,e.jsxs)(i.ul,{children:["\n",(0,e.jsx)(i.li,{children:(0,e.jsx)(i.a,{href:"/docs/welcome",children:"Documentation"})}),"\n",(0,e.jsx)(i.li,{children:(0,e.jsx)(i.a,{href:"https://github.com/infinum/eightshift-docs",children:"Github"})}),"\n"]})]})}function h(t={}){const{wrapper:i}={...(0,n.M)(),...t.components};return i?(0,e.jsx)(i,{...t,children:(0,e.jsx)(l,{...t})}):l(t)}},4552:(t,i,s)=>{s.d(i,{I:()=>a,M:()=>r});var e=s(11504);const n={},o=e.createContext(n);function r(t){const i=e.useContext(o);return e.useMemo((function(){return"function"==typeof t?t(i):{...i,...t}}),[i,t])}function a(t){let i;return i=t.disableParentContext?"function"==typeof t.components?t.components(n):t.components||n:r(t.components),e.createElement(o.Provider,{value:i},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/2345a3b7.20d709fd.js b/assets/js/2345a3b7.20d709fd.js deleted file mode 100644 index 9e6eec71d..000000000 --- a/assets/js/2345a3b7.20d709fd.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[97485],{97795:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>l,default:()=>h,frontMatter:()=>r,metadata:()=>a,toc:()=>o});var s=i(85893),n=i(11151);const r={id:"rest-intro",title:"Rest Intro"},l=void 0,a={id:"legacy/v4/guides/rest-intro",title:"Rest Intro",description:"docs-source",source:"@site/docs/legacy/v4/guides/rest-intro.md",sourceDirName:"legacy/v4/guides",slug:"/legacy/v4/guides/rest-intro",permalink:"/docs/legacy/v4/guides/rest-intro",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"rest-intro",title:"Rest Intro"},sidebar:"docs",previous:{title:"Menu",permalink:"/docs/legacy/v4/guides/menu"},next:{title:"Field Example",permalink:"/docs/legacy/v4/guides/rest-field-example"}},c={},o=[{value:"Interface-callable-field.php",id:"interface-callable-fieldphp",level:2},{value:"Interface-callable-route.php",id:"interface-callable-routephp",level:2},{value:"Interface-route-security.php",id:"interface-route-securityphp",level:2},{value:"Interface-route.php",id:"interface-routephp",level:2},{value:"Class-base-field.php",id:"class-base-fieldphp",level:2},{value:"Class-base-route.php",id:"class-base-routephp",level:2}];function d(e){const t={a:"a",code:"code",h2:"h2",img:"img",li:"li",p:"p",ul:"ul",...(0,n.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/master/src/rest",children:(0,s.jsx)(t.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(t.p,{children:"When you are working on a more complex WordPress project at one point, you will have to make a new Rest API route or add a new API field to the existing route, or something else."}),"\n",(0,s.jsx)(t.p,{children:"We have prepared 4 interfaces:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"interface-callable-field.php"}),"\n",(0,s.jsx)(t.li,{children:"interface-callable-route.php"}),"\n",(0,s.jsx)(t.li,{children:"interface-route-security.php"}),"\n",(0,s.jsx)(t.li,{children:"interface-route.php"}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:"and 2 abstract classes:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"class-base-field.php"}),"\n",(0,s.jsx)(t.li,{children:"class-base-route.php"}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:"In general, you will use only what you need from the provided options."}),"\n",(0,s.jsxs)(t.p,{children:["Full details of Rest API implementation can be found here: ",(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/rest",children:"Eightshift-libs Rest"})]}),"\n",(0,s.jsx)(t.h2,{id:"interface-callable-fieldphp",children:"Interface-callable-field.php"}),"\n",(0,s.jsx)(t.p,{children:"The interface used in Rest API Field for providing callback method."}),"\n",(0,s.jsx)(t.h2,{id:"interface-callable-routephp",children:"Interface-callable-route.php"}),"\n",(0,s.jsx)(t.p,{children:"The interface used in Rest API Route for providing callback method."}),"\n",(0,s.jsx)(t.h2,{id:"interface-route-securityphp",children:"Interface-route-security.php"}),"\n",(0,s.jsx)(t.p,{children:"The interface used in Rest API Route for providing authentification methods."}),"\n",(0,s.jsx)(t.h2,{id:"interface-routephp",children:"Interface-route.php"}),"\n",(0,s.jsxs)(t.p,{children:["The interface used in Rest API Route for providing general options for your route like variables for ",(0,s.jsx)(t.code,{children:"READABLE"}),", ",(0,s.jsx)(t.code,{children:"CREATABLE"}),", etc..."]}),"\n",(0,s.jsx)(t.h2,{id:"class-base-fieldphp",children:"Class-base-field.php"}),"\n",(0,s.jsx)(t.p,{children:"Abstract class used in Rest API Field for updating existing filed, or providing a new field to the existing Rest API."}),"\n",(0,s.jsxs)(t.p,{children:["Please check the implementation details in ",(0,s.jsx)(t.a,{href:"/docs/legacy/v4/guides/rest-field-example",children:"this example"}),"."]}),"\n",(0,s.jsx)(t.h2,{id:"class-base-routephp",children:"Class-base-route.php"}),"\n",(0,s.jsx)(t.p,{children:"Abstract class used in Rest API Route for adding a new Rest API route."}),"\n",(0,s.jsxs)(t.p,{children:["Please check the implementation details in ",(0,s.jsx)(t.a,{href:"/docs/legacy/v4/guides/rest-route-example",children:"this example"}),"."]})]})}function h(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},11151:(e,t,i)=>{i.d(t,{Z:()=>a,a:()=>l});var s=i(67294);const n={},r=s.createContext(n);function l(e){const t=s.useContext(r);return s.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:l(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2345a3b7.8ba882c0.js b/assets/js/2345a3b7.8ba882c0.js new file mode 100644 index 000000000..2f82ea137 --- /dev/null +++ b/assets/js/2345a3b7.8ba882c0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[15252],{81420:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>l,default:()=>h,frontMatter:()=>r,metadata:()=>a,toc:()=>o});var s=i(17624),n=i(4552);const r={id:"rest-intro",title:"Rest Intro"},l=void 0,a={id:"legacy/v4/guides/rest-intro",title:"Rest Intro",description:"docs-source",source:"@site/docs/legacy/v4/guides/rest-intro.md",sourceDirName:"legacy/v4/guides",slug:"/legacy/v4/guides/rest-intro",permalink:"/docs/legacy/v4/guides/rest-intro",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"rest-intro",title:"Rest Intro"},sidebar:"docs",previous:{title:"Menu",permalink:"/docs/legacy/v4/guides/menu"},next:{title:"Field Example",permalink:"/docs/legacy/v4/guides/rest-field-example"}},c={},o=[{value:"Interface-callable-field.php",id:"interface-callable-fieldphp",level:2},{value:"Interface-callable-route.php",id:"interface-callable-routephp",level:2},{value:"Interface-route-security.php",id:"interface-route-securityphp",level:2},{value:"Interface-route.php",id:"interface-routephp",level:2},{value:"Class-base-field.php",id:"class-base-fieldphp",level:2},{value:"Class-base-route.php",id:"class-base-routephp",level:2}];function d(e){const t={a:"a",code:"code",h2:"h2",img:"img",li:"li",p:"p",ul:"ul",...(0,n.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/master/src/rest",children:(0,s.jsx)(t.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(t.p,{children:"When you are working on a more complex WordPress project at one point, you will have to make a new Rest API route or add a new API field to the existing route, or something else."}),"\n",(0,s.jsx)(t.p,{children:"We have prepared 4 interfaces:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"interface-callable-field.php"}),"\n",(0,s.jsx)(t.li,{children:"interface-callable-route.php"}),"\n",(0,s.jsx)(t.li,{children:"interface-route-security.php"}),"\n",(0,s.jsx)(t.li,{children:"interface-route.php"}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:"and 2 abstract classes:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"class-base-field.php"}),"\n",(0,s.jsx)(t.li,{children:"class-base-route.php"}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:"In general, you will use only what you need from the provided options."}),"\n",(0,s.jsxs)(t.p,{children:["Full details of Rest API implementation can be found here: ",(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/rest",children:"Eightshift-libs Rest"})]}),"\n",(0,s.jsx)(t.h2,{id:"interface-callable-fieldphp",children:"Interface-callable-field.php"}),"\n",(0,s.jsx)(t.p,{children:"The interface used in Rest API Field for providing callback method."}),"\n",(0,s.jsx)(t.h2,{id:"interface-callable-routephp",children:"Interface-callable-route.php"}),"\n",(0,s.jsx)(t.p,{children:"The interface used in Rest API Route for providing callback method."}),"\n",(0,s.jsx)(t.h2,{id:"interface-route-securityphp",children:"Interface-route-security.php"}),"\n",(0,s.jsx)(t.p,{children:"The interface used in Rest API Route for providing authentification methods."}),"\n",(0,s.jsx)(t.h2,{id:"interface-routephp",children:"Interface-route.php"}),"\n",(0,s.jsxs)(t.p,{children:["The interface used in Rest API Route for providing general options for your route like variables for ",(0,s.jsx)(t.code,{children:"READABLE"}),", ",(0,s.jsx)(t.code,{children:"CREATABLE"}),", etc..."]}),"\n",(0,s.jsx)(t.h2,{id:"class-base-fieldphp",children:"Class-base-field.php"}),"\n",(0,s.jsx)(t.p,{children:"Abstract class used in Rest API Field for updating existing filed, or providing a new field to the existing Rest API."}),"\n",(0,s.jsxs)(t.p,{children:["Please check the implementation details in ",(0,s.jsx)(t.a,{href:"/docs/legacy/v4/guides/rest-field-example",children:"this example"}),"."]}),"\n",(0,s.jsx)(t.h2,{id:"class-base-routephp",children:"Class-base-route.php"}),"\n",(0,s.jsx)(t.p,{children:"Abstract class used in Rest API Route for adding a new Rest API route."}),"\n",(0,s.jsxs)(t.p,{children:["Please check the implementation details in ",(0,s.jsx)(t.a,{href:"/docs/legacy/v4/guides/rest-route-example",children:"this example"}),"."]})]})}function h(e={}){const{wrapper:t}={...(0,n.M)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},4552:(e,t,i)=>{i.d(t,{I:()=>a,M:()=>l});var s=i(11504);const n={},r=s.createContext(n);function l(e){const t=s.useContext(r);return s.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:l(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/23464d23.31b480b2.js b/assets/js/23464d23.31b480b2.js deleted file mode 100644 index 886c511a2..000000000 --- a/assets/js/23464d23.31b480b2.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[24490],{18834:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>s,default:()=>c,frontMatter:()=>o,metadata:()=>l,toc:()=>f});var r=n(85893),i=n(11151),a=n(8122);const o={id:"additional-content",title:"Additional content"},s=void 0,l={id:"php/filters/block/field/additional-content",title:"Additional content",description:"",source:"@site/forms/php/filters/block/field/additional-content.mdx",sourceDirName:"php/filters/block/field",slug:"/php/filters/block/field/additional-content",permalink:"/forms/php/filters/block/field/additional-content",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"additional-content",title:"Additional content"},sidebar:"forms",previous:{title:"Custom field classes",permalink:"/forms/php/filters/block/field/style-classes"},next:{title:"Additional content",permalink:"/forms/php/filters/block/input/additional-content"}},d={},f=[];function m(t){return(0,r.jsx)(a.F,{filter:"field"})}function c(t={}){const{wrapper:e}={...(0,i.a)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(m,{...t})}):m()}},8122:(t,e,n)=>{n.d(e,{F:()=>s,k:()=>o});n(67294);var r=n(9286),i=n(61684),a=n(85893);function o(t){let{filter:e,onlyUse:n=["dataFilter","orderFilter","prePostIdFilter","prePostParamsFilter"]}=t;return(0,a.jsxs)(a.Fragment,{children:[n.includes("dataFilter")&&(0,a.jsx)(l,{filter:e}),n.includes("orderFilter")&&(0,a.jsx)(d,{filter:e}),n.includes("prePostIdFilter")&&(0,a.jsx)(f,{filter:e}),n.includes("prePostParamsFilter")&&(0,a.jsx)(m,{filter:e})]})}function s(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{children:"Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc."}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\tadd_filter('es_forms_block_"+e+"_additional_content', function(): string {\n\t\t\t\treturn '';\n\t\t\t})\n\t\t\t")})]})}function l(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Data filter"}),(0,a.jsx)("p",{children:"Allows modifying form field data before it's shown in the Block Editor or output on the frontend."}),(0,a.jsx)("p",{children:"Useful if, for example, you want to ensure that all fields fit into a 2-column layout."}),(0,a.jsx)("p",{children:"Overrides any Block Editor changes!"}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\tadd_filter('es_forms_integrations_"+e+'_data\', \'getIntegrationFilterData\', 10, 2);\n\n\t\t\t/**\n\t\t\t * Manipulate form fields data before it is sent to the Block Editor.\n\t\t\t *\n\t\t\t * @param array $data Form fields data.\n\t\t\t * @param string $formId Form ID.\n\t\t\t *\n\t\t\t * @return array\n\t\t\t */\n\t\t\tfunction getIntegrationFilterData(array $data, string $formId): array\n\t\t\t{\n\t\t\t\tforeach ($data as $index => $field) {\n\t\t\t\t\t$component = $field[\'component\'] ?? \'\';\n\n\t\t\t\t\tif (!$component) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t$name = $field["{$component}Name"] ?? \'\';\n\n\t\t\t\t\tif (!$name) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch ($name) {\n\t\t\t\t\t\tcase \'firstname\':\n\t\t\t\t\t\tcase \'lastname\':\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthMobile"] = 12;\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthLarge"] = 6;\n\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"] = array_merge(\n\t\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthMobile",\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthLarge",\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t')})]})}function d(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Order filter"}),(0,a.jsx)("p",{children:"Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor."}),(0,a.jsxs)("p",{children:["Not all fields need to have an order defined. For example, you may want to make sure ",(0,a.jsx)("code",{children:"firstname"}),", ",(0,a.jsx)("code",{children:"lastname"})," and ",(0,a.jsx)("code",{children:"email"})," are displayed first, but other fields follow their Block editor order."]}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_order', 'getIntegrationOrder');\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Forces form field order for the provided fields. For other fields, Block editor order is used.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationOrder(): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t'firstname',\n\t\t\t\t\t\t\t'lastname',\n\t\t\t\t\t\t\t'email',\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t")})]})}function f(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post ID filter"}),(0,a.jsx)("p",{children:"Allows updating item IDs sent to external integrations to which the form data is sent."}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_pre_post_id', 'getIntegrationPrePostId', 10, 3);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies integration item ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @param string $itemId Integration item ID.\n\t\t\t\t\t * @param array $params Params to be sent to the integration.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostId(string $itemId, array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn $itemId;\n\t\t\t\t\t}\n\t\t\t\t")})]})}function m(t){let{filter:e}=t,n="";if("mailer"===e)n="mailer system";else n="external integration";return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post parameters filter"}),(0,a.jsxs)("p",{children:["Allows modifying form field data before it's sent to ",n,". Useful if you want to make values derived from the sent data, or add new fields."]}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_pre_post_params', 'getIntegrationPrePostParams', 10, 2);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies form field data before it's sent to "+n+".\n\t\t\t\t\t *\n\t\t\t\t\t * @param array $params Array of params.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostParams(array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\t$formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? '';\n\n\t\t\t\t\t\tif ($formSubmissionPageLt) {\n\t\t\t\t\t\t\t$params['ib-submission-source'] = [\n\t\t\t\t\t\t\t\t'name' => 'ib-submission-source',\n\t\t\t\t\t\t\t\t'value' => $formSubmissionPageLt,\n\t\t\t\t\t\t\t\t'type' => 'text',\n\t\t\t\t\t\t\t\t'internalType' => '',\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn $params;\n\t\t\t\t\t}\n\t\t\t\t")})]})}},61684:(t,e,n)=>{function r(t){const e=t.split(/\n/g);for(;0===(null==(n=e[0])?void 0:n.replace(/\s/g,"").length);){var n;e.shift()}for(;0===(null==(r=e[e.length-1])?void 0:r.replace(/\s/g,"").length);){var r;e.pop()}const i=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>{var e,n;return null!=(e=null==(n=t.match(/^\s*/))||null==(n=n[0])?void 0:n.length)?e:0})),a=Math.min(...i);return e.map((t=>t.slice(a))).join("\n")}n.d(e,{p:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/23464d23.3521f62b.js b/assets/js/23464d23.3521f62b.js new file mode 100644 index 000000000..95afd9225 --- /dev/null +++ b/assets/js/23464d23.3521f62b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[83896],{97052:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>s,default:()=>m,frontMatter:()=>o,metadata:()=>l,toc:()=>f});var r=n(17624),i=n(4552),a=n(80148);const o={id:"additional-content",title:"Additional content"},s=void 0,l={id:"php/filters/block/field/additional-content",title:"Additional content",description:"",source:"@site/forms/php/filters/block/field/additional-content.mdx",sourceDirName:"php/filters/block/field",slug:"/php/filters/block/field/additional-content",permalink:"/forms/php/filters/block/field/additional-content",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"additional-content",title:"Additional content"},sidebar:"forms",previous:{title:"Custom field classes",permalink:"/forms/php/filters/block/field/style-classes"},next:{title:"Additional content",permalink:"/forms/php/filters/block/input/additional-content"}},d={},f=[];function c(t){return(0,r.jsx)(a.g,{filter:"field"})}function m(t={}){const{wrapper:e}={...(0,i.M)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(c,{...t})}):c()}},80148:(t,e,n)=>{n.d(e,{g:()=>s,y:()=>o});n(11504);var r=n(1608),i=n(96616),a=n(17624);function o(t){let{filter:e,onlyUse:n=["dataFilter","orderFilter","prePostIdFilter","prePostParamsFilter"]}=t;return(0,a.jsxs)(a.Fragment,{children:[n.includes("dataFilter")&&(0,a.jsx)(l,{filter:e}),n.includes("orderFilter")&&(0,a.jsx)(d,{filter:e}),n.includes("prePostIdFilter")&&(0,a.jsx)(f,{filter:e}),n.includes("prePostParamsFilter")&&(0,a.jsx)(c,{filter:e})]})}function s(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{children:"Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc."}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\tadd_filter('es_forms_block_${e}_additional_content', function(): string {\n\t\t\t\treturn '';\n\t\t\t})\n\t\t\t`)})]})}function l(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Data filter"}),(0,a.jsx)("p",{children:"Allows modifying form field data before it's shown in the Block Editor or output on the frontend."}),(0,a.jsx)("p",{children:"Useful if, for example, you want to ensure that all fields fit into a 2-column layout."}),(0,a.jsx)("p",{children:"Overrides any Block Editor changes!"}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\tadd_filter('es_forms_integrations_${e}_data', 'getIntegrationFilterData', 10, 2);\n\n\t\t\t/**\n\t\t\t * Manipulate form fields data before it is sent to the Block Editor.\n\t\t\t *\n\t\t\t * @param array $data Form fields data.\n\t\t\t * @param string $formId Form ID.\n\t\t\t *\n\t\t\t * @return array\n\t\t\t */\n\t\t\tfunction getIntegrationFilterData(array $data, string $formId): array\n\t\t\t{\n\t\t\t\tforeach ($data as $index => $field) {\n\t\t\t\t\t$component = $field['component'] ?? '';\n\n\t\t\t\t\tif (!$component) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t$name = $field["{$component}Name"] ?? '';\n\n\t\t\t\t\tif (!$name) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch ($name) {\n\t\t\t\t\t\tcase 'firstname':\n\t\t\t\t\t\tcase 'lastname':\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthMobile"] = 12;\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthLarge"] = 6;\n\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"] = array_merge(\n\t\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthMobile",\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthLarge",\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t`)})]})}function d(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Order filter"}),(0,a.jsx)("p",{children:"Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor."}),(0,a.jsxs)("p",{children:["Not all fields need to have an order defined. For example, you may want to make sure ",(0,a.jsx)("code",{children:"firstname"}),", ",(0,a.jsx)("code",{children:"lastname"})," and ",(0,a.jsx)("code",{children:"email"})," are displayed first, but other fields follow their Block editor order."]}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_order', 'getIntegrationOrder');\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Forces form field order for the provided fields. For other fields, Block editor order is used.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationOrder(): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t'firstname',\n\t\t\t\t\t\t\t'lastname',\n\t\t\t\t\t\t\t'email',\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t`)})]})}function f(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post ID filter"}),(0,a.jsx)("p",{children:"Allows updating item IDs sent to external integrations to which the form data is sent."}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_pre_post_id', 'getIntegrationPrePostId', 10, 3);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies integration item ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @param string $itemId Integration item ID.\n\t\t\t\t\t * @param array $params Params to be sent to the integration.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostId(string $itemId, array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn $itemId;\n\t\t\t\t\t}\n\t\t\t\t`)})]})}function c(t){let{filter:e}=t,n="";if("mailer"===e)n="mailer system";else n="external integration";return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post parameters filter"}),(0,a.jsxs)("p",{children:["Allows modifying form field data before it's sent to ",n,". Useful if you want to make values derived from the sent data, or add new fields."]}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_pre_post_params', 'getIntegrationPrePostParams', 10, 2);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies form field data before it's sent to ${n}.\n\t\t\t\t\t *\n\t\t\t\t\t * @param array $params Array of params.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostParams(array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\t$formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? '';\n\n\t\t\t\t\t\tif ($formSubmissionPageLt) {\n\t\t\t\t\t\t\t$params['ib-submission-source'] = [\n\t\t\t\t\t\t\t\t'name' => 'ib-submission-source',\n\t\t\t\t\t\t\t\t'value' => $formSubmissionPageLt,\n\t\t\t\t\t\t\t\t'type' => 'text',\n\t\t\t\t\t\t\t\t'internalType' => '',\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn $params;\n\t\t\t\t\t}\n\t\t\t\t`)})]})}},96616:(t,e,n)=>{function r(t){const e=t.split(/\n/g);for(;0===e[0]?.replace(/\s/g,"").length;)e.shift();for(;0===e[e.length-1]?.replace(/\s/g,"").length;)e.pop();const n=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>t.match(/^\s*/)?.[0]?.length??0)),r=Math.min(...n);return e.map((t=>t.slice(r))).join("\n")}n.d(e,{c:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/23da3c05.b642e152.js b/assets/js/23da3c05.b642e152.js new file mode 100644 index 000000000..aa5a2ae03 --- /dev/null +++ b/assets/js/23da3c05.b642e152.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[28628],{96188: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/23da3c05.d1021a57.js b/assets/js/23da3c05.d1021a57.js deleted file mode 100644 index a9021a9ba..000000000 --- a/assets/js/23da3c05.d1021a57.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[56129],{48021: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/24b57605.10361e64.js b/assets/js/24b57605.10361e64.js deleted file mode 100644 index 6b56380c4..000000000 --- a/assets/js/24b57605.10361e64.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[10725],{29720:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>d,frontMatter:()=>i,metadata:()=>r,toc:()=>c});var s=o(85893),n=o(11151);const i={id:"blocks",title:"Blocks"},a=void 0,r={id:"legacy/v7/basics/blocks",title:"Blocks",description:"docs-source",source:"@site/docs/legacy/v7/basics/blocks.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/blocks",permalink:"/docs/legacy/v7/basics/blocks",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks",title:"Blocks"},sidebar:"docs",previous:{title:"Dynamic Import",permalink:"/docs/legacy/v7/basics/dynamic-import"},next:{title:"Important",permalink:"/docs/legacy/v7/basics/blocks-important"}},l={},c=[{value:"Types of blocks",id:"types-of-blocks",level:2},{value:"Static blocks",id:"static-blocks",level:3},{value:"Dynamic blocks",id:"dynamic-blocks",level:3},{value:"Eightshift blocks",id:"eightshift-blocks",level:2}];function h(e){const t={a:"a",blockquote:"blockquote",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,n.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/",children:(0,s.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(t.p,{children:"Since WordPress 5.0, we were introduced to the new editing experience using the so-called Gutenberg blocks. With blocks, the idea is to have the same look and feel in the editor as on the front end. As a developer, you just got a new technology that you should know if you want to build a great project on WordPress. That new technology is React because everything regarding blocks is done using React."}),"\n",(0,s.jsx)(t.p,{children:"Don't get discouraged just yet, because the WordPress team has made the process of creating blocks relatively easy. But we are not here to talk about the simple stuff. We want to do more complex projects with custom blocks, so follow along and see what we have prepared here."}),"\n",(0,s.jsxs)(t.blockquote,{children:["\n",(0,s.jsxs)(t.p,{children:["You can read everything regarding blocks in the ",(0,s.jsx)(t.a,{href:"https://developer.wordpress.org/block-editor/tutorials/block-tutorial/",children:"WordPress documentation"}),". We will not be explaining how everything natively works in this documentation. Instead, we will only describe how to use our setup and how it correlates with the native one. Everything that you can't find here, please look up in the WordPress Handbook."]}),"\n"]}),"\n",(0,s.jsx)(t.h2,{id:"types-of-blocks",children:"Types of blocks"}),"\n",(0,s.jsx)(t.p,{children:"WordPress Core Editor team has provided us with two different kinds of blocks:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Static blocks"}),"\n",(0,s.jsx)(t.li,{children:"Dynamic blocks"}),"\n"]}),"\n",(0,s.jsx)(t.h3,{id:"static-blocks",children:"Static blocks"}),"\n",(0,s.jsx)(t.p,{children:"These are the blocks that you can see in the core. Almost every block from WordPress comes this way. With static blocks, you have the same content on the front end as you do in the editor. This was accomplished by providing the same layout in the save callback as in the edit callback."}),"\n",(0,s.jsx)(t.p,{children:"The drawback of building blocks this way is that you must also provide the HTML markup that you will use on the front-end, inside the save callback. That method saves everything to the database, and you can't just change the HTML markup without some transformations or deprecation methods. If you change the markup while working on it, you'll get an error in the editor screen, and you'll have to add the content again."}),"\n",(0,s.jsx)(t.p,{children:"We don't like this approach because of how it stores the HTML content in the database. Lucky for us, WordPress has provided a different kind of blocks for this matter. They are called dynamic blocks."}),"\n",(0,s.jsx)(t.h3,{id:"dynamic-blocks",children:"Dynamic blocks"}),"\n",(0,s.jsx)(t.p,{children:"As you already saw in the previous chapter, the main difference between static and dynamic blocks is storing content in the database. For many dynamic blocks, the save callback function should be returned as null, which tells the editor to save only the block attributes to the database. These attributes are then passed into the server-side rendering callback, so you can decide how to display the block on the front end of your site."}),"\n",(0,s.jsx)(t.p,{children:"This means that you write code using React and JSX in the editor, and you must provide the same code in the PHP for the front-end. Yes, it is a lot of work because you must switch technologies and do the same thing multiple times, but we tried to make this process as simple as possible."}),"\n",(0,s.jsx)(t.p,{children:"Follow along and see what we prepared. From now on, we'll be talking only about dynamic blocks in this documentation."}),"\n",(0,s.jsx)(t.h2,{id:"eightshift-blocks",children:"Eightshift blocks"}),"\n",(0,s.jsx)(t.p,{children:"Our setup's main advantage is that you don't need to do a bunch of boilerplate every time you want to create a new block for your project. Also, we have a bunch of cool features we think you might like:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Separated blocks from components."}),"\n",(0,s.jsx)(t.li,{children:"You have a predefined structure for everything."}),"\n",(0,s.jsx)(t.li,{children:"If you follow the structure we provided, everything is registered and called automatically."}),"\n",(0,s.jsx)(t.li,{children:'You don\'t have to worry: "did I register this the right way?", "what style goes where?", etc.'}),"\n",(0,s.jsx)(t.li,{children:"Storybook for your project."}),"\n",(0,s.jsx)(t.li,{children:"A dozen of the pre-created blocks from our end. Once we create a new block in some of our projects, we make it available in the libs."}),"\n",(0,s.jsxs)(t.li,{children:["Easy usage of blocks and components with our ",(0,s.jsx)(t.a,{href:"wp-cli",children:"WP-CLI"})," commands."]}),"\n",(0,s.jsx)(t.li,{children:"Setup that shares configuration between JS, PHP, and SCSS files."}),"\n",(0,s.jsx)(t.li,{children:"Wrapper that comes with every block and allows you to control how a block behaves in the layout entirely."}),"\n",(0,s.jsx)(t.li,{children:"Everything is responsive. Yes, you read that correctly; we created options that you can control on multiple breakpoints."}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.strong,{children:"Everything is configurable and editable from your project."})}),"\n",(0,s.jsx)(t.li,{children:"Linting standards."}),"\n",(0,s.jsx)(t.li,{children:"Multiple helpers work the same on JS and PHP side, so it is easy to copy code from one language to another."}),"\n",(0,s.jsx)(t.li,{children:"And much, much more."}),"\n"]})]})}function d(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},11151:(e,t,o)=>{o.d(t,{Z:()=>r,a:()=>a});var s=o(67294);const n={},i=s.createContext(n);function a(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/24b57605.b6deebcc.js b/assets/js/24b57605.b6deebcc.js new file mode 100644 index 000000000..86e107e85 --- /dev/null +++ b/assets/js/24b57605.b6deebcc.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[52e3],{60884:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>d,frontMatter:()=>i,metadata:()=>r,toc:()=>c});var s=o(17624),n=o(4552);const i={id:"blocks",title:"Blocks"},a=void 0,r={id:"legacy/v7/basics/blocks",title:"Blocks",description:"docs-source",source:"@site/docs/legacy/v7/basics/blocks.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/blocks",permalink:"/docs/legacy/v7/basics/blocks",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks",title:"Blocks"},sidebar:"docs",previous:{title:"Dynamic Import",permalink:"/docs/legacy/v7/basics/dynamic-import"},next:{title:"Important",permalink:"/docs/legacy/v7/basics/blocks-important"}},l={},c=[{value:"Types of blocks",id:"types-of-blocks",level:2},{value:"Static blocks",id:"static-blocks",level:3},{value:"Dynamic blocks",id:"dynamic-blocks",level:3},{value:"Eightshift blocks",id:"eightshift-blocks",level:2}];function h(e){const t={a:"a",blockquote:"blockquote",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,n.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/",children:(0,s.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(t.p,{children:"Since WordPress 5.0, we were introduced to the new editing experience using the so-called Gutenberg blocks. With blocks, the idea is to have the same look and feel in the editor as on the front end. As a developer, you just got a new technology that you should know if you want to build a great project on WordPress. That new technology is React because everything regarding blocks is done using React."}),"\n",(0,s.jsx)(t.p,{children:"Don't get discouraged just yet, because the WordPress team has made the process of creating blocks relatively easy. But we are not here to talk about the simple stuff. We want to do more complex projects with custom blocks, so follow along and see what we have prepared here."}),"\n",(0,s.jsxs)(t.blockquote,{children:["\n",(0,s.jsxs)(t.p,{children:["You can read everything regarding blocks in the ",(0,s.jsx)(t.a,{href:"https://developer.wordpress.org/block-editor/tutorials/block-tutorial/",children:"WordPress documentation"}),". We will not be explaining how everything natively works in this documentation. Instead, we will only describe how to use our setup and how it correlates with the native one. Everything that you can't find here, please look up in the WordPress Handbook."]}),"\n"]}),"\n",(0,s.jsx)(t.h2,{id:"types-of-blocks",children:"Types of blocks"}),"\n",(0,s.jsx)(t.p,{children:"WordPress Core Editor team has provided us with two different kinds of blocks:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Static blocks"}),"\n",(0,s.jsx)(t.li,{children:"Dynamic blocks"}),"\n"]}),"\n",(0,s.jsx)(t.h3,{id:"static-blocks",children:"Static blocks"}),"\n",(0,s.jsx)(t.p,{children:"These are the blocks that you can see in the core. Almost every block from WordPress comes this way. With static blocks, you have the same content on the front end as you do in the editor. This was accomplished by providing the same layout in the save callback as in the edit callback."}),"\n",(0,s.jsx)(t.p,{children:"The drawback of building blocks this way is that you must also provide the HTML markup that you will use on the front-end, inside the save callback. That method saves everything to the database, and you can't just change the HTML markup without some transformations or deprecation methods. If you change the markup while working on it, you'll get an error in the editor screen, and you'll have to add the content again."}),"\n",(0,s.jsx)(t.p,{children:"We don't like this approach because of how it stores the HTML content in the database. Lucky for us, WordPress has provided a different kind of blocks for this matter. They are called dynamic blocks."}),"\n",(0,s.jsx)(t.h3,{id:"dynamic-blocks",children:"Dynamic blocks"}),"\n",(0,s.jsx)(t.p,{children:"As you already saw in the previous chapter, the main difference between static and dynamic blocks is storing content in the database. For many dynamic blocks, the save callback function should be returned as null, which tells the editor to save only the block attributes to the database. These attributes are then passed into the server-side rendering callback, so you can decide how to display the block on the front end of your site."}),"\n",(0,s.jsx)(t.p,{children:"This means that you write code using React and JSX in the editor, and you must provide the same code in the PHP for the front-end. Yes, it is a lot of work because you must switch technologies and do the same thing multiple times, but we tried to make this process as simple as possible."}),"\n",(0,s.jsx)(t.p,{children:"Follow along and see what we prepared. From now on, we'll be talking only about dynamic blocks in this documentation."}),"\n",(0,s.jsx)(t.h2,{id:"eightshift-blocks",children:"Eightshift blocks"}),"\n",(0,s.jsx)(t.p,{children:"Our setup's main advantage is that you don't need to do a bunch of boilerplate every time you want to create a new block for your project. Also, we have a bunch of cool features we think you might like:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Separated blocks from components."}),"\n",(0,s.jsx)(t.li,{children:"You have a predefined structure for everything."}),"\n",(0,s.jsx)(t.li,{children:"If you follow the structure we provided, everything is registered and called automatically."}),"\n",(0,s.jsx)(t.li,{children:'You don\'t have to worry: "did I register this the right way?", "what style goes where?", etc.'}),"\n",(0,s.jsx)(t.li,{children:"Storybook for your project."}),"\n",(0,s.jsx)(t.li,{children:"A dozen of the pre-created blocks from our end. Once we create a new block in some of our projects, we make it available in the libs."}),"\n",(0,s.jsxs)(t.li,{children:["Easy usage of blocks and components with our ",(0,s.jsx)(t.a,{href:"wp-cli",children:"WP-CLI"})," commands."]}),"\n",(0,s.jsx)(t.li,{children:"Setup that shares configuration between JS, PHP, and SCSS files."}),"\n",(0,s.jsx)(t.li,{children:"Wrapper that comes with every block and allows you to control how a block behaves in the layout entirely."}),"\n",(0,s.jsx)(t.li,{children:"Everything is responsive. Yes, you read that correctly; we created options that you can control on multiple breakpoints."}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.strong,{children:"Everything is configurable and editable from your project."})}),"\n",(0,s.jsx)(t.li,{children:"Linting standards."}),"\n",(0,s.jsx)(t.li,{children:"Multiple helpers work the same on JS and PHP side, so it is easy to copy code from one language to another."}),"\n",(0,s.jsx)(t.li,{children:"And much, much more."}),"\n"]})]})}function d(e={}){const{wrapper:t}={...(0,n.M)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},4552:(e,t,o)=>{o.d(t,{I:()=>r,M:()=>a});var s=o(11504);const n={},i=s.createContext(n);function a(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/25539fcb.1f7852d7.js b/assets/js/25539fcb.1f7852d7.js deleted file mode 100644 index f67be2102..000000000 --- a/assets/js/25539fcb.1f7852d7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[79590],{93846:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>r,default:()=>A,frontMatter:()=>s,metadata:()=>c,toc:()=>a});var o=t(85893),i=t(11151);const s={id:"locations",title:"Locations"},r=void 0,c={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.",source:"@site/forms/features/locations.md",sourceDirName:"features",slug:"/features/locations",permalink:"/forms/features/locations",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"locations",title:"Locations"},sidebar:"forms",previous:{title:"Labels",permalink:"/forms/features/labels"},next:{title:"Cache",permalink:"/forms/features/cache"}},d={},a=[{value:"Forms listing screen",id:"forms-listing-screen",level:2},{value:"Form settings",id:"form-settings",level:2},{value:"Top bar",id:"top-bar",level:2}];function f(e){const n={code:"code",h2:"h2",img:"img",p:"p",...(0,i.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:"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."}),"\n",(0,o.jsx)(n.h2,{id:"forms-listing-screen",children:"Forms listing screen"}),"\n",(0,o.jsxs)(n.p,{children:["If you are on the listing screen you can find the forms location by clicking on the ",(0,o.jsx)(n.code,{children:"Locations"})," button next to the desired form."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{alt:"Locations screen",src:t(56574).Z+"",width:"1315",height:"199"})}),"\n",(0,o.jsx)(n.h2,{id:"form-settings",children:"Form settings"}),"\n",(0,o.jsxs)(n.p,{children:["In form settings under the ",(0,o.jsx)(n.code,{children:"locations"})," tab, you can see the same information as on the listing screen."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{alt:"Locations list screen",src:t(76461).Z+"",width:"777",height:"118"})}),"\n",(0,o.jsx)(n.h2,{id:"top-bar",children:"Top bar"}),"\n",(0,o.jsx)(n.p,{children:"You can also find the form location in the top bar of the WordPress admin."}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{alt:"Admin bar screen",src:t(26628).Z+"",width:"603",height:"472"})})]})}function A(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(f,{...e})}):f(e)}},26628:(e,n,t)=>{t.d(n,{Z:()=>o});const o=t.p+"assets/images/admin-top-bar-3511760c0de09f012d8cc7a7ef98a74f.webp"},76461:(e,n,t)=>{t.d(n,{Z:()=>o});const o="data:image/webp;base64,UklGRsoSAABXRUJQVlA4IL4SAADQZACdASoJA3YAPjEYi0QiIaEReVxwIAMEs7dwulB1X5feuYT6LxgeYsU3sr8pfjd70v9x7I/xn/jfcA/Tn/JekB+oHuT/aL1Afzf+3f8f/Ae8F/hf7t/Vfcj+sf5AfIT+nPrI/172KP5z/evYA/kX9k9If/y/3n4Jf2S/YH4Df1t//XsAdIB6y/Uv+gfhX4F/2v+mfsV5492/wP6u/vL6kvja2u/iT7j/xL6ifZf7f+zf5w/Cv9d/JL8gPYv4UfsfqBfjP8o/qH8+/Zv+2fuhx4tjP6J+OnwBenfyH+vf3D9mf8j+1XsIfwH5K+6H0//vH8Q/Y76AP4d/F/6x+Sn9v///0z+qviDd2f3f7APsA/h/80/x/9b/zH+e/zv//+1D+A/z39T/dT+/e0r88/sX+U/yP7pf2////gL/Hf5l/kf7d/jv+r/jf///6/uN9ff6+///3JP1Y/9Yi/Wbc/Fn5zMRJySq+OZiJOSVXxzMRJySq+OZiJN1k5gj1AW7oPYlBOeOGh7YiJOSKRnbpeBSZ70FFveNlthFB4nlc+SsNwjCOxYNMdg7mcN6OLAnCRi9rQlIIFVJ/HCsCWXFG2gLsxNqTHP/nWoKasKKXvCQTRU+F2Nwu73ljSd0VVA2GAES7xW1jStQtasIinnSfziYOZ9gFtfLZiujDr1FeUMPiigerEMOQngbJpUMdtLOi/OXzMlwZBirhC1yQMDgazJ9h3JLOJQEU/SkQ7uCil+dagpqi6m6J+BIPCi5D6i6U3mHfRHmQpoiF+Ai/ecMzYWgAxVtcTOffVf3eXoCNzTfEkGB7X9Og3fO8Mr1Utb0teEg29kGlrwkG46b0teEg3HTeln4Cmy2/FQa5v8uotszmYhQekJfdBgxx9bqNHf60fDkIERwOIgGmYqyD/wXcYHtQU1YUUvzrUFNWFFL861B+ZDb7ml4N4AexsDbCR2b4V+N0ooFNczpxcxzl0VUA8wV97H3Zk/Y9ovt6TctSuM61BTVhRS/OtQU1YUUvzs3+BTELPnv96xGRRDizvz7gopfnWoKasKLnlk6asKKX51qCmrCil+dagpqwopfnWpRaAD+6mPGsaX6AX/30uxjWpHodGP6EgAAAiWT/i2KpGIS5iW45iGzxBuIRf3DzTH1uMxc4rxQt+sucKEz5Qvf+YD9TXRnzNfzj4aNbi+QSfYBdzAIa8FGCXmANuAFvmBOXuEMX4cz5JTcCLFOGH1adEssALRvbf2h4SSKt7eDj08Np/yILWmlo6B7NRFQ8CmzR+X2iB2Tb0f/0fGVG/AjnnNPWa/ww/SAooQ7ScdPtt+w4rNk47/LfGjoDJNBFe0eEw9PSlSoZcVu9ElIKvQ2sAYpJJLDQBUCy5f4iigwMkq/eJcec2CA+H4Fs68PyatA6khBV+y95QwehFBNTZ2CYQkqufxfPObjo69fdw1pdsCDkKjMbrodCqXpZeWnR0x4pwzdJs1yT+LGFq4mrCLUvISNQCcOPdPbqQHjjz6ybuI2tLlUcfwmdjPE58FlRXKbjxnOUn03IlPw7sXaRFc5mDTmTVIcJQYk4wbr8Is65d+2KyBMKTbgvY5abszsYCi0gn4KLs762PgKe3SyCQUPCQb8QTftn3CYaHNFZeIjsUN6tAjcxPrFj4pcNLYP92T2qpR1FHCCeotpvXof4ZQ8URpFqXvJrS5mX4z/b153dXFrRpuBxUnixTH+R7niyjgRr3ybqF3vvDFQedyRxGI2AZCirFLbcDh5bYspLstwhE3xRKxJFElP8lOgJctdV8ZiHj6N6h3/lML1al/bkaNlJDYUny+Zyjr8OADPx343cXXBxK3p00LtVELXd3EI+M+wpVumiDb0HxMXGOnKQL8TZoIDR99ihR9TPsltU3CAJ8Oh6dROGyKHliRDQi7CqkqmSHt72nNFj4YaHkcajzz4Eg4YWVLPQA70M1SUZe6nDTc/GOjsdkutu0LmwiRl4+weWiMkoGtGlj+xGxlFVmB4GV48lsUn6JwIyHB+A5OIbcwusA9Y6cOBhsPblL9n9PAC0Ur/oX9YKrJ+Bye2aX8kq63EtgTsddY4cQIhHn+S9nbtGXwtQ5GgGeQezYRUbiB+qqbP1Y5u5oEo0hN/i9uMfwigEgm+TF8uLrcEwVkScL+aCRgYv6CI/hpv/14kTlOV0A2o3/wIm4aEU9pC4mLK6NcLIv/JVLqR70oO6WTtoyfJKZB4sbYJ+dcW9SIp7hp7PlKYZtZCWWfAMGeM/iEVOFn4zw2lCeUtlj6LHsoVAt638TktABav4gFzfs/ox5vFDpFNLfnvvYVN3N7FcP9DDEZKGvIAsuyLEAKYqyizH9vFD53ehz8b7o+2qA0+k08YaSOK/AB2lUZa6XqzWDiPMvjGFPJzQ1Q6AWCuhV+zGDb6np6f4K4kaZH6qlgY38e77J739gklnusgcdBR43/ae3u+RABT+ZcNpFlZhnsjZvMN4Oim79Y4FCxKJx+atpJ0BbzCBtTNFxOet6KD8MdTCqJC48XGlTR+OBuhykdIrndA2e9o1iGPO+dG3Ao8VE0UlDLDkG9H6Z/xXVYLjUMnaT/hoD2bRNkrTQs6U6CTrx+xrNOfkmj982OgI/0fSq2B3TOk1D8Xt1EPIiIB1qjoKFmuVw+f7v/6x2y51+rCV3gerU1iZuihBkeVizjs5H1YmxLF0Uogtec22TvRDiLDTnyaqlyoDLXrVQ1en4rjyKU+mT6U9fhTORX/fAWLeEPX5CCit+wwBy8/vvpmib0vI150QlpvWV1JEKRJWwER/p8HWRpXxs/KGfrB8xw45ARGd83zmEPbhpbDTpzfpwLNqHTSpdrRexwOyVju9RzDGnlt3+SELh/lZpddDIkoj/qh+lF7Zr8lH1ltG7OaTAKuTMOQJ1j+uoqK7r9l3qL722+ZlogzCJBHTjnfF0R/f3kIqgrN4j+NsdKXGPOpUfn/uKkz11UEHUmXJH5bhRM+tjgp1fGPDs3FPj5SiheA/4cJuSuC4vmRy+xcZ9x0vTnT3fXXPvtnfPpoUkyF+iC+M+B21T5zYTGS/CXj9Y/h6F1XEPGo+91aF6d66W55lLvZ9dv0TvIPoW1Pd9Q/n/22aWsxN1kqco1XJkHrWSZzlOLTfuxGdXgydPu+2ECxqBo5J6K8crKbFX6u9tpOP2EQtv/PnaTWln6JaXPiXQz+Cxboy7Td62eVWKWjRYz94ZdQlEuxhXWoekOTwVkkD6k914YHA5X2pihsf/A1cLaKay9FepcGq0fDbzYidi5//8m1TUkPO9nf12ivb68MxCSNSAAdf//GHK5KmXH0vOnGXpXF7kWrRVQDAmpRN75ECbNT2/T663O/x0oefwL77v6WMEFn/t4OQK8S1IrI/8Cw19KcTbFj65dsmGbat+HxS+1wj+W9jwWv9kEulpiEDzfrHRpTJW6G1FtJ/GO/EcrRbJHHjOOB2jnqjSCVyuF/VQLWDyd5jzSMyEizM3RvpAxdPbrcuAiSpg0aNdXCWNtrTS+05FdD3cGbo8A12GSdWmuTgN8YaVnUih5A+ejZOlXso9HOaWrINxnDkk4sB9ZVy0lm+WT5ga1zO0Oz33WDebypD48PwrhZyWaDzJ5ijLHFAv8Zd41D7BeaeAxHkgTwZlCj1cSojl0q5BHPngrm7EGiPnq4U6TTfKZISfh2mYWi2RG1yI15GDvEHQBXcs7c9fOcmLId13fxUYBME+OvYiIGgzilZRyCVK2YFT5onhBJxVtZvNomUhB2agrMWjX2djW56nIGtJdqTk83Rf/71NgXIY2GOCJB0tXx9fvy9eLzpu5EcJ4sWtWTwpozd9KrE4hFEwLytu89h+iEH4+RWK2fwHMkjx41l+F0prtCTgLfPJoPy9LrY2nbxjLOTTPYDREhbxCTmpW8GXu/zhSmRJCwx2mPA3K8Uf4VAA90C1Gji7Yg9sDXXpOCB6R9F2s3jzMPwIm8lEMiMq7S4wrdUnwB8XyLfS8uwm72k98GvdohiGDdWpVb4oYt/h2USuteCf7Ol88oAAibhUi1TdXNJggor1ZbX/mE3pr91BQjdgqgCnJWxZ6tPmFHAMqtQ6NlZvnOaMlDg0O7dCNq8wz437br43yllcJtGBekp/GIioi5jmugAAPjJ/bEcbnGIc5w/ke+QEVZH3UI+QbL3ZrdsqIOijC3K9t4AzwvcyJ+LjEsXpqiDXww1mNMTHEmx65BGOV85jve7RXlivEa6j78++7hAORHwAAf3XryWKm+nYu2sjO/nAdrMmGAWkpKPuyMrDQcPl3W75Gg1xLkmnS99O80C0XrOdhqt7aSjLrS/RlCnjRpDgweq8nVI7KQBMIIwBjB5Fog5LUsnTmyfNchvU5FTtu8OgpYzAUi+Ys0Ov8kZc5834XNOy0gJUYLm1i2P8G4fxKYMzam4qUuEgVAVVv8FKnXb+NT7VDfHV401nqLHeC8SYwOucKu0imeiAu01yi5TYmDcIbj17MTltnQFJem/IYXRGRhTxtxlB4QmN+hrNeHQXgEeO8oOQjVlP98+k6InEGqARQ1GhLBsDQ1SSBRyNql8D/hv+A7ylOoHnQ+9YajTdK9J9pn5go4NMTQE1jjxP5Kf5/bYMhyePWGFWCz1VEhSG5eXEX8N4H925sG5SxDlA1wMVebTrMljwEM6QMDam2kkFmk/yJdnHCZt2qp3ZsiX4ludGKkk8S6Sd5xUtwlYJMrXatgCgFSX7/tIY1zp+MLno7BLhzbH0bn4j4D8ZfLO4Pgqet5WDJ0k3bXxdeajpz3CjHKwJPfDVSYktdNQUIlAZdfS3bEzp0aL6Nw4/FXy/DJO4ZPvv9x5Z1OrbPHOsQyLXqKfIUFq7dWYP0MMSXJEUe21nV4GyTQRm94Lp9WAZ11ISGYXgmDm5wco7uyDJPwysEqNEkUZySmahEkAPCbS7kPD1f2os/eLeEL8GUVyi1sANvClyUlafXR1sEDOhQ9Cy8IpWFun77LXMvrpAbOQ2MTOdNdCxoAI+otQAUj8rtnMbEwBAwd9WKXIQxBWNnd9u78x2noE5NluPqYzDTBX5tOtHVqJoFxxKYLcwzTh3b8I+M0FFq9RgvWYE3SZj80DC3nmzsoRAIWrg4jezpxJ+AXC0OArUXQKzdKgmVBcZ6CfjOtUWpwP3SoJ1YH7WqLU4H7pUE6sD9rVFqcD90qCdUaAqSgHrsjq1GxxVdUeYrL/VOwSoxiGKgLuPSHJ8U/S3YVimw/tOpe+0ZCGSLnYBEBwcq5ZryzxXyNFHeJi0+VTLGo0nRiPiYC4NosqzEoDYz7HslqR3yzV6D/A/6bFRnrek0c4sy/DbrvIIXKAYuh8fLsV3xaDdBHxmP3yG3rc4pJXHgrf0wqrHeYP3vVKM1qKlg2ZAEUWonjeXQvmqyJqb09aqda2hurEKkmobFm6+B5TpQ1QlKe8p1iswLAQVvYj5vjQ0f95wyYK5bxfqXuOfKDBl3MqFGn/kgSrmynxSx6AoE6a3uOl6VY3LUJ2hVwM91/eb6TYR824scZZnFSzqsZjFv1iBaU3JCWbQVcrO/TNPxvB1i9L/gN+rRp/eUR0T34WOoQ3oi5gMm804FaeekmFOkv+kyDgTiajgclFDp6ocbQ9iRlMr9KnrCUkOtm0jb4vnzJ0Z/6LINbhAAAARUoOs+D6h7Suf0jcHEdXq2jJomyI1OkRwupwb7FZZ51wDsqKIhFH5gM6dU9jdT9G//mlQdZjguzthoE1piNXYLfxpYI+iLmieRbu7DUIedC9v9fbwfd9GR1793kh63OCOjQBaSmsekBGI3wBGQ8QiRKBtZIJFbHoDIskKS+Teuuv0VzhggD4Idc5BgSZPc0G5ERjWlKECtg9l6qEd5XNttnPxwlX/Eti5YOjYXgVK1lcYeWbFp8KFnyMIy3e+uK/5JqrfIU96eHPyUO5KqdJyteN1yA3oRgeyOGPOcdr113T9qsxID7B7BZoIvHxdjXerk18kuNfdjgMlUDGiOmgLV7T/lUzZdbl7wDF3vXSh4v0N4Cn2x/bDO5IhysZ5+uEMKErMhBMbZCZmKnBqQ/FCBGeJ63crNvCYqCogq6wYcGic8es2QPYrGF/g1sQ1O0Eg62nWZ81p+VoIDkrhQ8JbSPHjJ0TX40nmhZ0s/tYu9Pvz4AWyOd/fXxj1vaG5M9RYbdAdvVpOaLLXGAu4XKuYuYgSHs1ZHQyqabncDPLzHzbbhI0QOZl4V9CipNp4waPcunk/ZjmsA2iHh0hJWd14SDt7i/FosY9TNbEgnXT/LlwOEGgNaddquOOEWicNzUaExSD/u6SfrYp/t6iv7VjhiFEybYC3MBa0ulVKuyAAAAe2Qe5YtPlpFSgQtXBxG/lc/pG4OI6MNJXcvIZ1dggAAAAAAAAAAAAAAA"},56574:(e,n,t)=>{t.d(n,{Z:()=>o});const o="data:image/webp;base64,UklGRhYPAABXRUJQVlA4IAoPAADwgwCdASojBccAPjEYi0QiIaEQeVwUIAMEtLdwu1iP+DOe9bOZB2/+3e7qnvcN9z+Nv43+LXgR/NfyR85e+x2/9hNAn+FfU36h/U/20/vP7u85vp39QL8N/h/9c/LX+8ful6gHbBgA/B/5B/df65+13+R9F79V/Kr3P+mf+A9wD+I/xn+xfl//Vf//7wHgw0Av43/J/8d/jP3l/x/0mfw/+7/zH5fe0H8x/t/+2/t/5M/YH/G/5n/ov7P/jf/b/jf///9/uS9i37a+w5+uX/2BRJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMl4jB5oLgSwWAj1HBWMoK5JF9j6zx+DUmhstJdg/sKsoz5lSZUpw3hw4cOHDhw4cOHDhw4cOHDhw4cOHDhw4cOHDhw4cOHDhwr4tMit8atNdOHOnu+XkzeoeJfDDSjVJcbWLFixYsWLFixYsWLFixYsWLFixYsWLFixYsWLFixTKM8JesW0L1EOrXfYwrMgY5pGFVNTNx5yAYqvr/7+IdNbyU0IGLiyl1sKEBArGanaETY/1vr8EEtzNgEkR+Xey68quT+xYsWLFixYsWLFixYsWLFixYsWLFixYsWLFixYsTn6AF3v9h7aWQXS1GXKsG/MuzA/kHxksYA8E/cI1sePTu1/YhJo79DtZvP+7Eoy5P2H9Zq20WEu19RzmQmjv0O1m8/7sSjLk/Yf1mrbRYS7X1HOZCaO/Q7Wbz/uxKMuT9h/WattFhLtfUc5kJo79DtZvP+7Eoy5P2H9Zq20WEu19RzmQmjv0O1m8/7sSjLk/Yf1mrbRYS7X1HOZCaO/Q7Wbz/uxKMuT9h/WattFhLtfUc5kJpjAu+IMOsIo8+1qQ6dOnTp06dOnTp06dOnTp06dOnTp06dOnTp06dOnTp05h4h8qKWg2jdY6axjjQGS+eI0QUdL0GNaIk91/3uokkOxWg3nyUsAYR6GcHHJ1wGl/IWLFixYsWLFixYsWLFixYsWLFixYsWLFixYsWLFmwTdLFsvb3c9ZMMSsr/8LJa1GbBpg9bMDWdbpTfikmPnF6LuitDHmTlhQoUKFChQoUKFChQoUKFChQoUKFChQoUKFChQoUUNuAGM7+h8saJdgQyRhgGi16x977WAjNmzZs2bNmzZs2bNmzZs2bNmzZs2bNmzZs2bNmzZuahgvh+c1KLx48ePHjx48ePHjx48ePHjx48ePHjx48ePHjx48ePHjx4bkfafF7m8/GaiiQJwL4uBfq9Xq9Xq9Xq9Xq9Xq9Xq9Xq9Xq9Xq9Xq9Xq9Xq9Xq9Xq9XnpYbnd06dOnTp06dOnTp06dOnTp06dOnTp06dOnTp06dOnTp06dOnTp06dOnTp06dOnTp06dOnTp06dOnTp06dOnTp06dOnTp06dOnSoAAD+/+1AAADP39MzPQXq/CTacfPOemrmElP9tpY2ewrLOGfOUkFtLg7IumPiQ50Z5l8qb57xidrtR+YIajVyWc3IlP3Gb3tDxyvyE4sWGrbR6kr8gfGVD9pthI4kU1v4wSoHZV3RRxMTPiza92KXrnyJOz2C620CUzVnKL8Mq1NdXZXnn9bGl9HGnL9guJzP+aUiQ3nYN8BYo0TvfXCzW/UbHgi/wvmpoQbT/uAD4J9hBL1OR5m3oZAv2qm8tQ0DL6pOE8M5a2fwidB415fv8H58jCP3GD48OpOTLkO+WVHpEbVqMCTb3S2jfnBjroAM+ocGwL5+LarEHhoFlgWeWxWPobGUt1B+BNtnwA53eKDf6zZERuNGigQK/ELA2cYxBLGoHj9UAdz0gi/y7G3txth+EJ6RlsaUO+8LbZKwtwxZZnDpY3v9r/tlQ7+K9g79qJ++pBulP4lYCOtMBHD3yJ26eLhejUdzgDKFv//QYduNQ0oKVlivv/BtQwYEg+j2Ub/NjQapDjOVqAusRZQbyHYUBWFFAUVeb9bUf4AcunpcPAp+17woPnK1w5FLSP1/ucniFq3yr5d/ZBjAuYHuFPTTVUdbndopJqHcOxZDT4v/OZfBXErEJyLcXEAJCYfXCkgADkS0pRiCaNM9YisMyH0HBlbxrr+hXywRhTPNkko8llMz3gUEL/RdoeUg6AUrSxirRCFKj3pwe1R047DXlMMSzSl9uoi9pnlhi05a9MMuZ7BlyBxY7teL2qYGXe69uXHng1R1EePtYFUgUu0C4+CI5u11eNanoqma+f/ZTfprTbBZAwrDK1J6+Z4VUDqL8dQsrCAEFqMiF3JyCcGKAQCYyQdEgtVgkIbeE/y0ka4BJ7L5oGQZ/RNyH3Pqaj3Bvf+lpTg+b2g2VjJKq7hk4QRMhQ6Up1ibkvFKtoXjzG9gmNLcDcjajKlGP0yREUiMLIy1DHMQn0bG+R7vT0l2jTLFBCas6JP/SIroqeMIDZdCQWUUTEm2vz6HNvPk2VnLXxoCXk+5PNB6rGMj+ZKod0m9XpTQeET1CGpgERycvu40vkqhr+8bnbzTqe6TBJd+yznNK6oJigxlw9rXhhCVu6MEEf+sztqCcymZXnadD52FjhLLqs/yyXJquAV9PKt+ovJPNlwsPSz4S26C6xCzz+MXWdIz/tGGNkO+nHUr3kajtEH8BbOpjpYFPZrakpelhQD8XZkJGLqZSOaVyts9bc30cFp+Dyxtg1R+yxrPUc34O878XoyyFkHRZAXkFPs9bcUmCkDmv/pQCf/FN5LjgFWiuXKpSfJa6k1YvjG/7CU0cYgJRRah40OzdlPoVuC+pwYkaLkcOKfN+x+6i5Ao1ZsuexriYzRjKVlt/NzWpxJuJJC4RCUHlppR6R/COJhinM6OdoHtfsFaGqRDu1pKb6eujzFiwkowYJQIFO2cD4ytxVAz5wzIr65JejFbrylwGLmL600q1Ala0pmBK8GHdKQxBANzzbGc1OnTqtce3WnKxrrSvwr3/A7H0dh3eD4uPEKQQvy22pzu269lqeOVJvf+BdSAOOgXeUHpyvPVuDH+bfew8bxw7uQ/49wfX/txcXLJsmhZFz5eZCyYpSRTjWLFQTvVHBb+XeKABgY8frMcdmzBlN/sSmRVVFx1b/CWRgQfDQo4jLNrvV19f9fXtINkjWt8vywxVI/r4651C7CjAnC0cKf1bqFs8KI0UVI/FYz1u0Dc6rDDd5Mm5no4vyN/p+AtKn/EK4AXTcaYddMtjY1Psi+WprG2XxuXqBOmEy91Gyi9akU0YOap8c4JxuNGroPRUpzZsZHXlEsYYjzT8g3i9+tYhc/y4V5rgE7iZjXC4CwYxX1ZrQ/4ceucbffDIawhPOVu4pIueHPr9yOynwGq68JVoyzkWHp0QRVcGzTmAw7DnYO0Wq9Rn+c3o86vm5jGRbmRfFoKWxrZ34q025T/ffwABFLx05P4IL+M21lD6ISdylAZzMwZv6FCBCP1JSyxiwVCXFQXvbNSGj14+KeOfXRJ4pB0ErTGpntvnCkcOqCS6xdsUxB1XzdChp2KbaDPWLFhQ7qCZXB+B8lFiLyB2nXTqYh1WPY2paxSmC4XU0g22W3W3Wg/DykQOz4wtQpNcAGT0yie6TcD+lrfQpQtLqz4Auldo9K0XoAAAAAAEwe3W+58HSH1yAzrRTGwKn+CokAADzuSOCjxeWZ9/Se8jd2/xisyeJbo+6ovnv3uOgdoAPag3i/o9DWxtoPiETdFoa3yVXjypb6fLUCNpKGxD4XhkinVNcBZPwq8N/h5bpRfMIaNCeDOPLdCxCG55v5vSZo3E8gGdqxwng9x8RiIgYfwxiHAu9R8qbwLOCBcnS+nZqL+P5b0JfRhdyh4vsJK9Qorz3kB4RONKssOG1rcRNsNRHX1l8JtquYduB683n8qzp0jd9IkoXPaOLDDcyxk+rBrqJv12Z0NSlTSih/ZBAwjszD3IPKnSYPTZ3XDa/NV8IfvLYtI/9KyqoSBxAOg/4V6K6SOCxshKqvAJxlQhpMB2oTFYsHvhcyb0FLSkprr7p8sD3dGInOQaa/2/3WPllkS60T1c7JtrNU5UslqFXSAWgj/+kI5IbUY1ELQ8z3cW793peUkTtQaxbzKKW9AiJsG35VV2Yp43NkMpMHKscvO2zwObIkV8Ni+JYlqB5Gktqh1GjbAvB//65+wydq9BhyROfe97sWOOUO2H7zGS6B+qQwN//7cY1BWpf3B7W+IbvZVozRudf4ZwLo5/7nZIWNZdcZynmamk2XGgMe31T+Auh7EqXvlMhFCBayGrARbl+xUUaXDYkH2qrY+UrHYJUMljBKbpLzptSry7Vz0UJCGEn/0YeFdUlrKuADBowQ+FiJecArSRjZ0VwoO+GOMg6cKVFbtQV2t00TQwdeJc+iCyoKZSUgULuM66znH/EixrdGVGoafpMgzUmaqfrMurcdWbYBR/dD1rgwR2YNdOvQoF8UwJjAiLi+1SFVodxT8qpbgyNN4dbJtk+kk69RzzopEul2V/QAAXnBzJ4wSoUE3+oEfRDlCx6T5UgVC4bWdT7Eq2KglRifrTqgOqZkIE13oA1XAH0rOCe+s9j5b+C4VkZDjwxyCXlDWhUIVnA63kC97XWvJmOsUumErcNLvwQkR/yMe/UVG4JGPPpH7jOSyQGPnaPRIS2ziHIUcr3C8c6sY6gsdtt6MiuZnyxTKmzV5oBNv0y9B2xAfhK8jepwOIWE25tWvKcktrRmNlndb2UXp3SkZIag1ZXJ7PKXPP1eTYYhtrVaha6WbltiC463MQhKZ+rt3PgfRsOq81yM5rJNspVJc5/2MKtu6xLFHOGUjxMLi7QC+jtdyDTcKOgWUMgAt+dhAX6MdHy05MMMzpJ2wpMToVJbqUNLgZZ1IL3aH/EXs2Wu5rd+2TdNJTnBJhFmiiSKQrk8zLB47TP7UnoYHlq1bUin8YMCYxz6ABm4Fh3X+oqwYfH51RgAIH/NMvV93Qg8VPqPcB1R3nFT2i9uQIfet20AFGxD5qnw9Q/wp9U1TRNUT+ROarT8yNusl5PL6176OTFnuuq56QFiml7VfAViH9dItfQDZZgLWbi4zGhU4ZwqEnAcwYNR7dAAejeCjEs3dYN/2Iiz3C4m3QAAFkFH3Ro4DmLyTaRptqt3u2e8QOAUV2YIDZkp2cHkAA0xA4PogAAAAAAAA"},11151:(e,n,t)=>{t.d(n,{Z:()=>c,a:()=>r});var o=t(67294);const i={},s=o.createContext(i);function r(e){const n=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),o.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/25539fcb.55be5c0a.js b/assets/js/25539fcb.55be5c0a.js new file mode 100644 index 000000000..a49bf670e --- /dev/null +++ b/assets/js/25539fcb.55be5c0a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[28082],{52860:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>r,default:()=>A,frontMatter:()=>s,metadata:()=>c,toc:()=>a});var o=t(17624),i=t(4552);const s={id:"locations",title:"Locations"},r=void 0,c={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.",source:"@site/forms/features/locations.md",sourceDirName:"features",slug:"/features/locations",permalink:"/forms/features/locations",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"locations",title:"Locations"},sidebar:"forms",previous:{title:"Labels",permalink:"/forms/features/labels"},next:{title:"Cache",permalink:"/forms/features/cache"}},d={},a=[{value:"Forms listing screen",id:"forms-listing-screen",level:2},{value:"Form settings",id:"form-settings",level:2},{value:"Top bar",id:"top-bar",level:2}];function f(e){const n={code:"code",h2:"h2",img:"img",p:"p",...(0,i.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:"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."}),"\n",(0,o.jsx)(n.h2,{id:"forms-listing-screen",children:"Forms listing screen"}),"\n",(0,o.jsxs)(n.p,{children:["If you are on the listing screen you can find the forms location by clicking on the ",(0,o.jsx)(n.code,{children:"Locations"})," button next to the desired form."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{alt:"Locations screen",src:t(70002).c+"",width:"1315",height:"199"})}),"\n",(0,o.jsx)(n.h2,{id:"form-settings",children:"Form settings"}),"\n",(0,o.jsxs)(n.p,{children:["In form settings under the ",(0,o.jsx)(n.code,{children:"locations"})," tab, you can see the same information as on the listing screen."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{alt:"Locations list screen",src:t(19974).c+"",width:"777",height:"118"})}),"\n",(0,o.jsx)(n.h2,{id:"top-bar",children:"Top bar"}),"\n",(0,o.jsx)(n.p,{children:"You can also find the form location in the top bar of the WordPress admin."}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{alt:"Admin bar screen",src:t(8096).c+"",width:"603",height:"472"})})]})}function A(e={}){const{wrapper:n}={...(0,i.M)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(f,{...e})}):f(e)}},8096:(e,n,t)=>{t.d(n,{c:()=>o});const o=t.p+"assets/images/admin-top-bar-3511760c0de09f012d8cc7a7ef98a74f.webp"},19974:(e,n,t)=>{t.d(n,{c:()=>o});const o="data:image/webp;base64,UklGRsoSAABXRUJQVlA4IL4SAADQZACdASoJA3YAPjEYi0QiIaEReVxwIAMEs7dwulB1X5feuYT6LxgeYsU3sr8pfjd70v9x7I/xn/jfcA/Tn/JekB+oHuT/aL1Afzf+3f8f/Ae8F/hf7t/Vfcj+sf5AfIT+nPrI/172KP5z/evYA/kX9k9If/y/3n4Jf2S/YH4Df1t//XsAdIB6y/Uv+gfhX4F/2v+mfsV5492/wP6u/vL6kvja2u/iT7j/xL6ifZf7f+zf5w/Cv9d/JL8gPYv4UfsfqBfjP8o/qH8+/Zv+2fuhx4tjP6J+OnwBenfyH+vf3D9mf8j+1XsIfwH5K+6H0//vH8Q/Y76AP4d/F/6x+Sn9v///0z+qviDd2f3f7APsA/h/80/x/9b/zH+e/zv//+1D+A/z39T/dT+/e0r88/sX+U/yP7pf2////gL/Hf5l/kf7d/jv+r/jf///6/uN9ff6+///3JP1Y/9Yi/Wbc/Fn5zMRJySq+OZiJOSVXxzMRJySq+OZiJN1k5gj1AW7oPYlBOeOGh7YiJOSKRnbpeBSZ70FFveNlthFB4nlc+SsNwjCOxYNMdg7mcN6OLAnCRi9rQlIIFVJ/HCsCWXFG2gLsxNqTHP/nWoKasKKXvCQTRU+F2Nwu73ljSd0VVA2GAES7xW1jStQtasIinnSfziYOZ9gFtfLZiujDr1FeUMPiigerEMOQngbJpUMdtLOi/OXzMlwZBirhC1yQMDgazJ9h3JLOJQEU/SkQ7uCil+dagpqi6m6J+BIPCi5D6i6U3mHfRHmQpoiF+Ai/ecMzYWgAxVtcTOffVf3eXoCNzTfEkGB7X9Og3fO8Mr1Utb0teEg29kGlrwkG46b0teEg3HTeln4Cmy2/FQa5v8uotszmYhQekJfdBgxx9bqNHf60fDkIERwOIgGmYqyD/wXcYHtQU1YUUvzrUFNWFFL861B+ZDb7ml4N4AexsDbCR2b4V+N0ooFNczpxcxzl0VUA8wV97H3Zk/Y9ovt6TctSuM61BTVhRS/OtQU1YUUvzs3+BTELPnv96xGRRDizvz7gopfnWoKasKLnlk6asKKX51qCmrCil+dagpqwopfnWpRaAD+6mPGsaX6AX/30uxjWpHodGP6EgAAAiWT/i2KpGIS5iW45iGzxBuIRf3DzTH1uMxc4rxQt+sucKEz5Qvf+YD9TXRnzNfzj4aNbi+QSfYBdzAIa8FGCXmANuAFvmBOXuEMX4cz5JTcCLFOGH1adEssALRvbf2h4SSKt7eDj08Np/yILWmlo6B7NRFQ8CmzR+X2iB2Tb0f/0fGVG/AjnnNPWa/ww/SAooQ7ScdPtt+w4rNk47/LfGjoDJNBFe0eEw9PSlSoZcVu9ElIKvQ2sAYpJJLDQBUCy5f4iigwMkq/eJcec2CA+H4Fs68PyatA6khBV+y95QwehFBNTZ2CYQkqufxfPObjo69fdw1pdsCDkKjMbrodCqXpZeWnR0x4pwzdJs1yT+LGFq4mrCLUvISNQCcOPdPbqQHjjz6ybuI2tLlUcfwmdjPE58FlRXKbjxnOUn03IlPw7sXaRFc5mDTmTVIcJQYk4wbr8Is65d+2KyBMKTbgvY5abszsYCi0gn4KLs762PgKe3SyCQUPCQb8QTftn3CYaHNFZeIjsUN6tAjcxPrFj4pcNLYP92T2qpR1FHCCeotpvXof4ZQ8URpFqXvJrS5mX4z/b153dXFrRpuBxUnixTH+R7niyjgRr3ybqF3vvDFQedyRxGI2AZCirFLbcDh5bYspLstwhE3xRKxJFElP8lOgJctdV8ZiHj6N6h3/lML1al/bkaNlJDYUny+Zyjr8OADPx343cXXBxK3p00LtVELXd3EI+M+wpVumiDb0HxMXGOnKQL8TZoIDR99ihR9TPsltU3CAJ8Oh6dROGyKHliRDQi7CqkqmSHt72nNFj4YaHkcajzz4Eg4YWVLPQA70M1SUZe6nDTc/GOjsdkutu0LmwiRl4+weWiMkoGtGlj+xGxlFVmB4GV48lsUn6JwIyHB+A5OIbcwusA9Y6cOBhsPblL9n9PAC0Ur/oX9YKrJ+Bye2aX8kq63EtgTsddY4cQIhHn+S9nbtGXwtQ5GgGeQezYRUbiB+qqbP1Y5u5oEo0hN/i9uMfwigEgm+TF8uLrcEwVkScL+aCRgYv6CI/hpv/14kTlOV0A2o3/wIm4aEU9pC4mLK6NcLIv/JVLqR70oO6WTtoyfJKZB4sbYJ+dcW9SIp7hp7PlKYZtZCWWfAMGeM/iEVOFn4zw2lCeUtlj6LHsoVAt638TktABav4gFzfs/ox5vFDpFNLfnvvYVN3N7FcP9DDEZKGvIAsuyLEAKYqyizH9vFD53ehz8b7o+2qA0+k08YaSOK/AB2lUZa6XqzWDiPMvjGFPJzQ1Q6AWCuhV+zGDb6np6f4K4kaZH6qlgY38e77J739gklnusgcdBR43/ae3u+RABT+ZcNpFlZhnsjZvMN4Oim79Y4FCxKJx+atpJ0BbzCBtTNFxOet6KD8MdTCqJC48XGlTR+OBuhykdIrndA2e9o1iGPO+dG3Ao8VE0UlDLDkG9H6Z/xXVYLjUMnaT/hoD2bRNkrTQs6U6CTrx+xrNOfkmj982OgI/0fSq2B3TOk1D8Xt1EPIiIB1qjoKFmuVw+f7v/6x2y51+rCV3gerU1iZuihBkeVizjs5H1YmxLF0Uogtec22TvRDiLDTnyaqlyoDLXrVQ1en4rjyKU+mT6U9fhTORX/fAWLeEPX5CCit+wwBy8/vvpmib0vI150QlpvWV1JEKRJWwER/p8HWRpXxs/KGfrB8xw45ARGd83zmEPbhpbDTpzfpwLNqHTSpdrRexwOyVju9RzDGnlt3+SELh/lZpddDIkoj/qh+lF7Zr8lH1ltG7OaTAKuTMOQJ1j+uoqK7r9l3qL722+ZlogzCJBHTjnfF0R/f3kIqgrN4j+NsdKXGPOpUfn/uKkz11UEHUmXJH5bhRM+tjgp1fGPDs3FPj5SiheA/4cJuSuC4vmRy+xcZ9x0vTnT3fXXPvtnfPpoUkyF+iC+M+B21T5zYTGS/CXj9Y/h6F1XEPGo+91aF6d66W55lLvZ9dv0TvIPoW1Pd9Q/n/22aWsxN1kqco1XJkHrWSZzlOLTfuxGdXgydPu+2ECxqBo5J6K8crKbFX6u9tpOP2EQtv/PnaTWln6JaXPiXQz+Cxboy7Td62eVWKWjRYz94ZdQlEuxhXWoekOTwVkkD6k914YHA5X2pihsf/A1cLaKay9FepcGq0fDbzYidi5//8m1TUkPO9nf12ivb68MxCSNSAAdf//GHK5KmXH0vOnGXpXF7kWrRVQDAmpRN75ECbNT2/T663O/x0oefwL77v6WMEFn/t4OQK8S1IrI/8Cw19KcTbFj65dsmGbat+HxS+1wj+W9jwWv9kEulpiEDzfrHRpTJW6G1FtJ/GO/EcrRbJHHjOOB2jnqjSCVyuF/VQLWDyd5jzSMyEizM3RvpAxdPbrcuAiSpg0aNdXCWNtrTS+05FdD3cGbo8A12GSdWmuTgN8YaVnUih5A+ejZOlXso9HOaWrINxnDkk4sB9ZVy0lm+WT5ga1zO0Oz33WDebypD48PwrhZyWaDzJ5ijLHFAv8Zd41D7BeaeAxHkgTwZlCj1cSojl0q5BHPngrm7EGiPnq4U6TTfKZISfh2mYWi2RG1yI15GDvEHQBXcs7c9fOcmLId13fxUYBME+OvYiIGgzilZRyCVK2YFT5onhBJxVtZvNomUhB2agrMWjX2djW56nIGtJdqTk83Rf/71NgXIY2GOCJB0tXx9fvy9eLzpu5EcJ4sWtWTwpozd9KrE4hFEwLytu89h+iEH4+RWK2fwHMkjx41l+F0prtCTgLfPJoPy9LrY2nbxjLOTTPYDREhbxCTmpW8GXu/zhSmRJCwx2mPA3K8Uf4VAA90C1Gji7Yg9sDXXpOCB6R9F2s3jzMPwIm8lEMiMq7S4wrdUnwB8XyLfS8uwm72k98GvdohiGDdWpVb4oYt/h2USuteCf7Ol88oAAibhUi1TdXNJggor1ZbX/mE3pr91BQjdgqgCnJWxZ6tPmFHAMqtQ6NlZvnOaMlDg0O7dCNq8wz437br43yllcJtGBekp/GIioi5jmugAAPjJ/bEcbnGIc5w/ke+QEVZH3UI+QbL3ZrdsqIOijC3K9t4AzwvcyJ+LjEsXpqiDXww1mNMTHEmx65BGOV85jve7RXlivEa6j78++7hAORHwAAf3XryWKm+nYu2sjO/nAdrMmGAWkpKPuyMrDQcPl3W75Gg1xLkmnS99O80C0XrOdhqt7aSjLrS/RlCnjRpDgweq8nVI7KQBMIIwBjB5Fog5LUsnTmyfNchvU5FTtu8OgpYzAUi+Ys0Ov8kZc5834XNOy0gJUYLm1i2P8G4fxKYMzam4qUuEgVAVVv8FKnXb+NT7VDfHV401nqLHeC8SYwOucKu0imeiAu01yi5TYmDcIbj17MTltnQFJem/IYXRGRhTxtxlB4QmN+hrNeHQXgEeO8oOQjVlP98+k6InEGqARQ1GhLBsDQ1SSBRyNql8D/hv+A7ylOoHnQ+9YajTdK9J9pn5go4NMTQE1jjxP5Kf5/bYMhyePWGFWCz1VEhSG5eXEX8N4H925sG5SxDlA1wMVebTrMljwEM6QMDam2kkFmk/yJdnHCZt2qp3ZsiX4ludGKkk8S6Sd5xUtwlYJMrXatgCgFSX7/tIY1zp+MLno7BLhzbH0bn4j4D8ZfLO4Pgqet5WDJ0k3bXxdeajpz3CjHKwJPfDVSYktdNQUIlAZdfS3bEzp0aL6Nw4/FXy/DJO4ZPvv9x5Z1OrbPHOsQyLXqKfIUFq7dWYP0MMSXJEUe21nV4GyTQRm94Lp9WAZ11ISGYXgmDm5wco7uyDJPwysEqNEkUZySmahEkAPCbS7kPD1f2os/eLeEL8GUVyi1sANvClyUlafXR1sEDOhQ9Cy8IpWFun77LXMvrpAbOQ2MTOdNdCxoAI+otQAUj8rtnMbEwBAwd9WKXIQxBWNnd9u78x2noE5NluPqYzDTBX5tOtHVqJoFxxKYLcwzTh3b8I+M0FFq9RgvWYE3SZj80DC3nmzsoRAIWrg4jezpxJ+AXC0OArUXQKzdKgmVBcZ6CfjOtUWpwP3SoJ1YH7WqLU4H7pUE6sD9rVFqcD90qCdUaAqSgHrsjq1GxxVdUeYrL/VOwSoxiGKgLuPSHJ8U/S3YVimw/tOpe+0ZCGSLnYBEBwcq5ZryzxXyNFHeJi0+VTLGo0nRiPiYC4NosqzEoDYz7HslqR3yzV6D/A/6bFRnrek0c4sy/DbrvIIXKAYuh8fLsV3xaDdBHxmP3yG3rc4pJXHgrf0wqrHeYP3vVKM1qKlg2ZAEUWonjeXQvmqyJqb09aqda2hurEKkmobFm6+B5TpQ1QlKe8p1iswLAQVvYj5vjQ0f95wyYK5bxfqXuOfKDBl3MqFGn/kgSrmynxSx6AoE6a3uOl6VY3LUJ2hVwM91/eb6TYR824scZZnFSzqsZjFv1iBaU3JCWbQVcrO/TNPxvB1i9L/gN+rRp/eUR0T34WOoQ3oi5gMm804FaeekmFOkv+kyDgTiajgclFDp6ocbQ9iRlMr9KnrCUkOtm0jb4vnzJ0Z/6LINbhAAAARUoOs+D6h7Suf0jcHEdXq2jJomyI1OkRwupwb7FZZ51wDsqKIhFH5gM6dU9jdT9G//mlQdZjguzthoE1piNXYLfxpYI+iLmieRbu7DUIedC9v9fbwfd9GR1793kh63OCOjQBaSmsekBGI3wBGQ8QiRKBtZIJFbHoDIskKS+Teuuv0VzhggD4Idc5BgSZPc0G5ERjWlKECtg9l6qEd5XNttnPxwlX/Eti5YOjYXgVK1lcYeWbFp8KFnyMIy3e+uK/5JqrfIU96eHPyUO5KqdJyteN1yA3oRgeyOGPOcdr113T9qsxID7B7BZoIvHxdjXerk18kuNfdjgMlUDGiOmgLV7T/lUzZdbl7wDF3vXSh4v0N4Cn2x/bDO5IhysZ5+uEMKErMhBMbZCZmKnBqQ/FCBGeJ63crNvCYqCogq6wYcGic8es2QPYrGF/g1sQ1O0Eg62nWZ81p+VoIDkrhQ8JbSPHjJ0TX40nmhZ0s/tYu9Pvz4AWyOd/fXxj1vaG5M9RYbdAdvVpOaLLXGAu4XKuYuYgSHs1ZHQyqabncDPLzHzbbhI0QOZl4V9CipNp4waPcunk/ZjmsA2iHh0hJWd14SDt7i/FosY9TNbEgnXT/LlwOEGgNaddquOOEWicNzUaExSD/u6SfrYp/t6iv7VjhiFEybYC3MBa0ulVKuyAAAAe2Qe5YtPlpFSgQtXBxG/lc/pG4OI6MNJXcvIZ1dggAAAAAAAAAAAAAAA"},70002:(e,n,t)=>{t.d(n,{c:()=>o});const o="data:image/webp;base64,UklGRhYPAABXRUJQVlA4IAoPAADwgwCdASojBccAPjEYi0QiIaEQeVwUIAMEtLdwu1iP+DOe9bOZB2/+3e7qnvcN9z+Nv43+LXgR/NfyR85e+x2/9hNAn+FfU36h/U/20/vP7u85vp39QL8N/h/9c/LX+8ful6gHbBgA/B/5B/df65+13+R9F79V/Kr3P+mf+A9wD+I/xn+xfl//Vf//7wHgw0Av43/J/8d/jP3l/x/0mfw/+7/zH5fe0H8x/t/+2/t/5M/YH/G/5n/ov7P/jf/b/jf///9/uS9i37a+w5+uX/2BRJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMl4jB5oLgSwWAj1HBWMoK5JF9j6zx+DUmhstJdg/sKsoz5lSZUpw3hw4cOHDhw4cOHDhw4cOHDhw4cOHDhw4cOHDhw4cOHDhwr4tMit8atNdOHOnu+XkzeoeJfDDSjVJcbWLFixYsWLFixYsWLFixYsWLFixYsWLFixYsWLFixTKM8JesW0L1EOrXfYwrMgY5pGFVNTNx5yAYqvr/7+IdNbyU0IGLiyl1sKEBArGanaETY/1vr8EEtzNgEkR+Xey68quT+xYsWLFixYsWLFixYsWLFixYsWLFixYsWLFixYsTn6AF3v9h7aWQXS1GXKsG/MuzA/kHxksYA8E/cI1sePTu1/YhJo79DtZvP+7Eoy5P2H9Zq20WEu19RzmQmjv0O1m8/7sSjLk/Yf1mrbRYS7X1HOZCaO/Q7Wbz/uxKMuT9h/WattFhLtfUc5kJo79DtZvP+7Eoy5P2H9Zq20WEu19RzmQmjv0O1m8/7sSjLk/Yf1mrbRYS7X1HOZCaO/Q7Wbz/uxKMuT9h/WattFhLtfUc5kJpjAu+IMOsIo8+1qQ6dOnTp06dOnTp06dOnTp06dOnTp06dOnTp06dOnTp05h4h8qKWg2jdY6axjjQGS+eI0QUdL0GNaIk91/3uokkOxWg3nyUsAYR6GcHHJ1wGl/IWLFixYsWLFixYsWLFixYsWLFixYsWLFixYsWLFmwTdLFsvb3c9ZMMSsr/8LJa1GbBpg9bMDWdbpTfikmPnF6LuitDHmTlhQoUKFChQoUKFChQoUKFChQoUKFChQoUKFChQoUUNuAGM7+h8saJdgQyRhgGi16x977WAjNmzZs2bNmzZs2bNmzZs2bNmzZs2bNmzZs2bNmzZuahgvh+c1KLx48ePHjx48ePHjx48ePHjx48ePHjx48ePHjx48ePHjx4bkfafF7m8/GaiiQJwL4uBfq9Xq9Xq9Xq9Xq9Xq9Xq9Xq9Xq9Xq9Xq9Xq9Xq9Xq9Xq9XnpYbnd06dOnTp06dOnTp06dOnTp06dOnTp06dOnTp06dOnTp06dOnTp06dOnTp06dOnTp06dOnTp06dOnTp06dOnTp06dOnTp06dOnSoAAD+/+1AAADP39MzPQXq/CTacfPOemrmElP9tpY2ewrLOGfOUkFtLg7IumPiQ50Z5l8qb57xidrtR+YIajVyWc3IlP3Gb3tDxyvyE4sWGrbR6kr8gfGVD9pthI4kU1v4wSoHZV3RRxMTPiza92KXrnyJOz2C620CUzVnKL8Mq1NdXZXnn9bGl9HGnL9guJzP+aUiQ3nYN8BYo0TvfXCzW/UbHgi/wvmpoQbT/uAD4J9hBL1OR5m3oZAv2qm8tQ0DL6pOE8M5a2fwidB415fv8H58jCP3GD48OpOTLkO+WVHpEbVqMCTb3S2jfnBjroAM+ocGwL5+LarEHhoFlgWeWxWPobGUt1B+BNtnwA53eKDf6zZERuNGigQK/ELA2cYxBLGoHj9UAdz0gi/y7G3txth+EJ6RlsaUO+8LbZKwtwxZZnDpY3v9r/tlQ7+K9g79qJ++pBulP4lYCOtMBHD3yJ26eLhejUdzgDKFv//QYduNQ0oKVlivv/BtQwYEg+j2Ub/NjQapDjOVqAusRZQbyHYUBWFFAUVeb9bUf4AcunpcPAp+17woPnK1w5FLSP1/ucniFq3yr5d/ZBjAuYHuFPTTVUdbndopJqHcOxZDT4v/OZfBXErEJyLcXEAJCYfXCkgADkS0pRiCaNM9YisMyH0HBlbxrr+hXywRhTPNkko8llMz3gUEL/RdoeUg6AUrSxirRCFKj3pwe1R047DXlMMSzSl9uoi9pnlhi05a9MMuZ7BlyBxY7teL2qYGXe69uXHng1R1EePtYFUgUu0C4+CI5u11eNanoqma+f/ZTfprTbBZAwrDK1J6+Z4VUDqL8dQsrCAEFqMiF3JyCcGKAQCYyQdEgtVgkIbeE/y0ka4BJ7L5oGQZ/RNyH3Pqaj3Bvf+lpTg+b2g2VjJKq7hk4QRMhQ6Up1ibkvFKtoXjzG9gmNLcDcjajKlGP0yREUiMLIy1DHMQn0bG+R7vT0l2jTLFBCas6JP/SIroqeMIDZdCQWUUTEm2vz6HNvPk2VnLXxoCXk+5PNB6rGMj+ZKod0m9XpTQeET1CGpgERycvu40vkqhr+8bnbzTqe6TBJd+yznNK6oJigxlw9rXhhCVu6MEEf+sztqCcymZXnadD52FjhLLqs/yyXJquAV9PKt+ovJPNlwsPSz4S26C6xCzz+MXWdIz/tGGNkO+nHUr3kajtEH8BbOpjpYFPZrakpelhQD8XZkJGLqZSOaVyts9bc30cFp+Dyxtg1R+yxrPUc34O878XoyyFkHRZAXkFPs9bcUmCkDmv/pQCf/FN5LjgFWiuXKpSfJa6k1YvjG/7CU0cYgJRRah40OzdlPoVuC+pwYkaLkcOKfN+x+6i5Ao1ZsuexriYzRjKVlt/NzWpxJuJJC4RCUHlppR6R/COJhinM6OdoHtfsFaGqRDu1pKb6eujzFiwkowYJQIFO2cD4ytxVAz5wzIr65JejFbrylwGLmL600q1Ala0pmBK8GHdKQxBANzzbGc1OnTqtce3WnKxrrSvwr3/A7H0dh3eD4uPEKQQvy22pzu269lqeOVJvf+BdSAOOgXeUHpyvPVuDH+bfew8bxw7uQ/49wfX/txcXLJsmhZFz5eZCyYpSRTjWLFQTvVHBb+XeKABgY8frMcdmzBlN/sSmRVVFx1b/CWRgQfDQo4jLNrvV19f9fXtINkjWt8vywxVI/r4651C7CjAnC0cKf1bqFs8KI0UVI/FYz1u0Dc6rDDd5Mm5no4vyN/p+AtKn/EK4AXTcaYddMtjY1Psi+WprG2XxuXqBOmEy91Gyi9akU0YOap8c4JxuNGroPRUpzZsZHXlEsYYjzT8g3i9+tYhc/y4V5rgE7iZjXC4CwYxX1ZrQ/4ceucbffDIawhPOVu4pIueHPr9yOynwGq68JVoyzkWHp0QRVcGzTmAw7DnYO0Wq9Rn+c3o86vm5jGRbmRfFoKWxrZ34q025T/ffwABFLx05P4IL+M21lD6ISdylAZzMwZv6FCBCP1JSyxiwVCXFQXvbNSGj14+KeOfXRJ4pB0ErTGpntvnCkcOqCS6xdsUxB1XzdChp2KbaDPWLFhQ7qCZXB+B8lFiLyB2nXTqYh1WPY2paxSmC4XU0g22W3W3Wg/DykQOz4wtQpNcAGT0yie6TcD+lrfQpQtLqz4Auldo9K0XoAAAAAAEwe3W+58HSH1yAzrRTGwKn+CokAADzuSOCjxeWZ9/Se8jd2/xisyeJbo+6ovnv3uOgdoAPag3i/o9DWxtoPiETdFoa3yVXjypb6fLUCNpKGxD4XhkinVNcBZPwq8N/h5bpRfMIaNCeDOPLdCxCG55v5vSZo3E8gGdqxwng9x8RiIgYfwxiHAu9R8qbwLOCBcnS+nZqL+P5b0JfRhdyh4vsJK9Qorz3kB4RONKssOG1rcRNsNRHX1l8JtquYduB683n8qzp0jd9IkoXPaOLDDcyxk+rBrqJv12Z0NSlTSih/ZBAwjszD3IPKnSYPTZ3XDa/NV8IfvLYtI/9KyqoSBxAOg/4V6K6SOCxshKqvAJxlQhpMB2oTFYsHvhcyb0FLSkprr7p8sD3dGInOQaa/2/3WPllkS60T1c7JtrNU5UslqFXSAWgj/+kI5IbUY1ELQ8z3cW793peUkTtQaxbzKKW9AiJsG35VV2Yp43NkMpMHKscvO2zwObIkV8Ni+JYlqB5Gktqh1GjbAvB//65+wydq9BhyROfe97sWOOUO2H7zGS6B+qQwN//7cY1BWpf3B7W+IbvZVozRudf4ZwLo5/7nZIWNZdcZynmamk2XGgMe31T+Auh7EqXvlMhFCBayGrARbl+xUUaXDYkH2qrY+UrHYJUMljBKbpLzptSry7Vz0UJCGEn/0YeFdUlrKuADBowQ+FiJecArSRjZ0VwoO+GOMg6cKVFbtQV2t00TQwdeJc+iCyoKZSUgULuM66znH/EixrdGVGoafpMgzUmaqfrMurcdWbYBR/dD1rgwR2YNdOvQoF8UwJjAiLi+1SFVodxT8qpbgyNN4dbJtk+kk69RzzopEul2V/QAAXnBzJ4wSoUE3+oEfRDlCx6T5UgVC4bWdT7Eq2KglRifrTqgOqZkIE13oA1XAH0rOCe+s9j5b+C4VkZDjwxyCXlDWhUIVnA63kC97XWvJmOsUumErcNLvwQkR/yMe/UVG4JGPPpH7jOSyQGPnaPRIS2ziHIUcr3C8c6sY6gsdtt6MiuZnyxTKmzV5oBNv0y9B2xAfhK8jepwOIWE25tWvKcktrRmNlndb2UXp3SkZIag1ZXJ7PKXPP1eTYYhtrVaha6WbltiC463MQhKZ+rt3PgfRsOq81yM5rJNspVJc5/2MKtu6xLFHOGUjxMLi7QC+jtdyDTcKOgWUMgAt+dhAX6MdHy05MMMzpJ2wpMToVJbqUNLgZZ1IL3aH/EXs2Wu5rd+2TdNJTnBJhFmiiSKQrk8zLB47TP7UnoYHlq1bUin8YMCYxz6ABm4Fh3X+oqwYfH51RgAIH/NMvV93Qg8VPqPcB1R3nFT2i9uQIfet20AFGxD5qnw9Q/wp9U1TRNUT+ROarT8yNusl5PL6176OTFnuuq56QFiml7VfAViH9dItfQDZZgLWbi4zGhU4ZwqEnAcwYNR7dAAejeCjEs3dYN/2Iiz3C4m3QAAFkFH3Ro4DmLyTaRptqt3u2e8QOAUV2YIDZkp2cHkAA0xA4PogAAAAAAAA"},4552:(e,n,t)=>{t.d(n,{I:()=>c,M:()=>r});var o=t(11504);const i={},s=o.createContext(i);function r(e){const n=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),o.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2554564d.8060f5a6.js b/assets/js/2554564d.8060f5a6.js new file mode 100644 index 000000000..1940b41e2 --- /dev/null +++ b/assets/js/2554564d.8060f5a6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[2736],{2776:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>r,contentTitle:()=>l,default:()=>u,frontMatter:()=>a,metadata:()=>o,toc:()=>c});var s=t(17624),i=t(4552);const a={id:"blocks-get-actions-helper",title:"GetActions Helper"},l=void 0,o={id:"legacy/v4/guides/blocks-get-actions-helper",title:"GetActions Helper",description:"docs-source",source:"@site/docs/legacy/v4/guides/blocks-get-actions-helper.md",sourceDirName:"legacy/v4/guides",slug:"/legacy/v4/guides/blocks-get-actions-helper",permalink:"/docs/legacy/v4/guides/blocks-get-actions-helper",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-get-actions-helper",title:"GetActions Helper"},sidebar:"docs",previous:{title:"Render Block View Helper",permalink:"/docs/legacy/v4/guides/blocks-render-block-view-helper"},next:{title:"Filter Attributes Override",permalink:"/docs/legacy/v4/guides/blocks-filter-block-attributes-override"}},r={},c=[{value:"Default Attribute",id:"default-attribute",level:2},{value:"Usage",id:"usage",level:3},{value:"Media Attribute",id:"media-attribute",level:2},{value:"Usage",id:"usage-1",level:3},{value:"Object/Array Attribute",id:"objectarray-attribute",level:2},{value:"Usage",id:"usage-2",level:3}];function d(e){const n={a:"a",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",...(0,i.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/v2.0.0/scripts/get-actions.js",children:(0,s.jsx)(n.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsxs)(n.p,{children:["This helper will create attributes actions from blocks ",(0,s.jsx)(n.code,{children:"manifest.json"}),".\nActions are passed in child components to update props on an event (",(0,s.jsx)(n.code,{children:"onChange"}),", ",(0,s.jsx)(n.code,{children:"onClick"}),", etc.)."]}),"\n",(0,s.jsx)(n.h2,{id:"default-attribute",children:"Default Attribute"}),"\n",(0,s.jsxs)(n.p,{children:["Default function output is ",(0,s.jsx)(n.code,{children:"onChange"})," + attribute name.\nExample: ",(0,s.jsx)(n.code,{children:"onChangeContent"}),"."]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.code,{children:"manifest.json"})}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-json",children:'{\n "attributes": {\n "content": {\n "type": "string"\n },\n "styleSize": {\n "type": "string",\n "default": "default"\n }\n }\n}\n'})}),"\n",(0,s.jsx)(n.h3,{id:"usage",children:"Usage"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",children:"import { getActions } from 'EighshiftBlocksGetActions';\nimport manifest from './manifest.json';\n\nconst actions = getActions(props, manifest);\n"})}),"\n",(0,s.jsx)(n.p,{children:"Output:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",children:"const actions = {\n onChangeContent: (value) => {\n setAttributes({\n content: value,\n });\n },\n onChangeStyleSize: (value) => {\n setAttributes({\n styleSize: value,\n });\n },\n};\n"})}),"\n",(0,s.jsx)(n.h2,{id:"media-attribute",children:"Media Attribute"}),"\n",(0,s.jsxs)(n.p,{children:["If the attribute needs to save multiple values at the same time for media (images, video, etc.). ",(0,s.jsx)(n.code,{children:"ID"})," value is used on the front-end using the PHP methods to fetch images, and ",(0,s.jsx)(n.code,{children:"URL"})," is used in the editor to provide image preview."]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.code,{children:"manifest.json"})}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-json",children:'{\n "attributes": {\n "media": {\n "type": "object",\n "default": {\n "id": 0,\n "url": "",\n "title": ""\n },\n "items": {\n "type": "object"\n },\n "mediaAction": true\n },\n }\n}\n'})}),"\n",(0,s.jsx)(n.h3,{id:"usage-1",children:"Usage"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",children:"import { getActions } from 'EighshiftBlocksGetActions';\nimport manifest from './manifest.json';\n\nconst actions = getActions(props, manifest);\n"})}),"\n",(0,s.jsx)(n.p,{children:"Output:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",children:'const actions = {\n onChangeMediaContent: (value) => {\n setAttributes({\n media: {\n id: 0,\n url: "",\n title: "",\n },\n });\n },\n};\n'})}),"\n",(0,s.jsx)(n.h2,{id:"objectarray-attribute",children:"Object/Array Attribute"}),"\n",(0,s.jsx)(n.p,{children:"If attribute needs to save multiple values at the same time, generally used for arrays and objects."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.code,{children:"manifest.json"})}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-json",children:'{\n "attributes": {\n "heading": {\n "type": "object",\n "default": {\n "content": "",\n "level": 2,\n "styleAlign": "left",\n },\n "items": {\n "type": "object"\n },\n "multipleProps": true\n }\n }\n}\n'})}),"\n",(0,s.jsx)(n.h3,{id:"usage-2",children:"Usage"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",children:"import { getActions } from 'EighshiftBlocksGetActions';\nimport manifest from './manifest.json';\n\nconst actions = getActions(props, manifest);\n"})}),"\n",(0,s.jsx)(n.p,{children:"Output:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",children:"const actions = {\n onChangeHeadingContent: (value) => {\n setAttributes({\n content: value,\n });\n },\n onChangeHeadingLevel: (value) => {\n setAttributes({\n level: value,\n });\n },\n onChangeHeadingStyleAlign: (value) => {\n setAttributes({\n styleAlign: value,\n });\n },\n};\n"})})]})}function u(e={}){const{wrapper:n}={...(0,i.M)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},4552:(e,n,t)=>{t.d(n,{I:()=>o,M:()=>l});var s=t(11504);const i={},a=s.createContext(i);function l(e){const n=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:l(e.components),s.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2554564d.e2f03e00.js b/assets/js/2554564d.e2f03e00.js deleted file mode 100644 index 9861f46d0..000000000 --- a/assets/js/2554564d.e2f03e00.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[87019],{94467:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>r,contentTitle:()=>l,default:()=>u,frontMatter:()=>a,metadata:()=>o,toc:()=>c});var s=t(85893),i=t(11151);const a={id:"blocks-get-actions-helper",title:"GetActions Helper"},l=void 0,o={id:"legacy/v4/guides/blocks-get-actions-helper",title:"GetActions Helper",description:"docs-source",source:"@site/docs/legacy/v4/guides/blocks-get-actions-helper.md",sourceDirName:"legacy/v4/guides",slug:"/legacy/v4/guides/blocks-get-actions-helper",permalink:"/docs/legacy/v4/guides/blocks-get-actions-helper",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-get-actions-helper",title:"GetActions Helper"},sidebar:"docs",previous:{title:"Render Block View Helper",permalink:"/docs/legacy/v4/guides/blocks-render-block-view-helper"},next:{title:"Filter Attributes Override",permalink:"/docs/legacy/v4/guides/blocks-filter-block-attributes-override"}},r={},c=[{value:"Default Attribute",id:"default-attribute",level:2},{value:"Usage",id:"usage",level:3},{value:"Media Attribute",id:"media-attribute",level:2},{value:"Usage",id:"usage-1",level:3},{value:"Object/Array Attribute",id:"objectarray-attribute",level:2},{value:"Usage",id:"usage-2",level:3}];function d(e){const n={a:"a",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/v2.0.0/scripts/get-actions.js",children:(0,s.jsx)(n.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsxs)(n.p,{children:["This helper will create attributes actions from blocks ",(0,s.jsx)(n.code,{children:"manifest.json"}),".\nActions are passed in child components to update props on an event (",(0,s.jsx)(n.code,{children:"onChange"}),", ",(0,s.jsx)(n.code,{children:"onClick"}),", etc.)."]}),"\n",(0,s.jsx)(n.h2,{id:"default-attribute",children:"Default Attribute"}),"\n",(0,s.jsxs)(n.p,{children:["Default function output is ",(0,s.jsx)(n.code,{children:"onChange"})," + attribute name.\nExample: ",(0,s.jsx)(n.code,{children:"onChangeContent"}),"."]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.code,{children:"manifest.json"})}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-json",children:'{\n "attributes": {\n "content": {\n "type": "string"\n },\n "styleSize": {\n "type": "string",\n "default": "default"\n }\n }\n}\n'})}),"\n",(0,s.jsx)(n.h3,{id:"usage",children:"Usage"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",children:"import { getActions } from 'EighshiftBlocksGetActions';\nimport manifest from './manifest.json';\n\nconst actions = getActions(props, manifest);\n"})}),"\n",(0,s.jsx)(n.p,{children:"Output:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",children:"const actions = {\n onChangeContent: (value) => {\n setAttributes({\n content: value,\n });\n },\n onChangeStyleSize: (value) => {\n setAttributes({\n styleSize: value,\n });\n },\n};\n"})}),"\n",(0,s.jsx)(n.h2,{id:"media-attribute",children:"Media Attribute"}),"\n",(0,s.jsxs)(n.p,{children:["If the attribute needs to save multiple values at the same time for media (images, video, etc.). ",(0,s.jsx)(n.code,{children:"ID"})," value is used on the front-end using the PHP methods to fetch images, and ",(0,s.jsx)(n.code,{children:"URL"})," is used in the editor to provide image preview."]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.code,{children:"manifest.json"})}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-json",children:'{\n "attributes": {\n "media": {\n "type": "object",\n "default": {\n "id": 0,\n "url": "",\n "title": ""\n },\n "items": {\n "type": "object"\n },\n "mediaAction": true\n },\n }\n}\n'})}),"\n",(0,s.jsx)(n.h3,{id:"usage-1",children:"Usage"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",children:"import { getActions } from 'EighshiftBlocksGetActions';\nimport manifest from './manifest.json';\n\nconst actions = getActions(props, manifest);\n"})}),"\n",(0,s.jsx)(n.p,{children:"Output:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",children:'const actions = {\n onChangeMediaContent: (value) => {\n setAttributes({\n media: {\n id: 0,\n url: "",\n title: "",\n },\n });\n },\n};\n'})}),"\n",(0,s.jsx)(n.h2,{id:"objectarray-attribute",children:"Object/Array Attribute"}),"\n",(0,s.jsx)(n.p,{children:"If attribute needs to save multiple values at the same time, generally used for arrays and objects."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.code,{children:"manifest.json"})}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-json",children:'{\n "attributes": {\n "heading": {\n "type": "object",\n "default": {\n "content": "",\n "level": 2,\n "styleAlign": "left",\n },\n "items": {\n "type": "object"\n },\n "multipleProps": true\n }\n }\n}\n'})}),"\n",(0,s.jsx)(n.h3,{id:"usage-2",children:"Usage"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",children:"import { getActions } from 'EighshiftBlocksGetActions';\nimport manifest from './manifest.json';\n\nconst actions = getActions(props, manifest);\n"})}),"\n",(0,s.jsx)(n.p,{children:"Output:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",children:"const actions = {\n onChangeHeadingContent: (value) => {\n setAttributes({\n content: value,\n });\n },\n onChangeHeadingLevel: (value) => {\n setAttributes({\n level: value,\n });\n },\n onChangeHeadingStyleAlign: (value) => {\n setAttributes({\n styleAlign: value,\n });\n },\n};\n"})})]})}function u(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},11151:(e,n,t)=>{t.d(n,{Z:()=>o,a:()=>l});var s=t(67294);const i={},a=s.createContext(i);function l(e){const n=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:l(e.components),s.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/259bd0c5.15a47715.js b/assets/js/259bd0c5.15a47715.js new file mode 100644 index 000000000..f763cb75c --- /dev/null +++ b/assets/js/259bd0c5.15a47715.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[11620],{82564:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>u,frontMatter:()=>l,metadata:()=>n,toc:()=>m});var s=o(17624),i=o(4552);const l={id:"hide-global-msg-timeout",title:"Global message timeout"},r=void 0,n={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.",source:"@site/forms/php/filters/block/form/hide-global-msg-timeout.md",sourceDirName:"php/filters/block/form",slug:"/php/filters/block/form/hide-global-msg-timeout",permalink:"/forms/php/filters/block/form/hide-global-msg-timeout",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"hide-global-msg-timeout",title:"Global message timeout"},sidebar:"forms",previous:{title:"Redirect timeout",permalink:"/forms/php/filters/block/form/redirect-timeout"},next:{title:"Success redirect URL",permalink:"/forms/php/filters/block/form/success-redirect-url"}},c={},m=[];function a(e){const t={code:"code",p:"p",pre:"pre",...(0,i.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:"This filter allows you to change the timeout of all global messages (e.g. after successful form submission), in milliseconds."}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-php",children:"\\add_filter('es_forms_block_form_hide_global_msg_timeout', [$this, 'getBlockFormHideGlobalMsgTimeout']);\n\n/**\n * Changing the default success hide global message wait time.\n *\n * This filter will override our default wait time before the global message is removed. The time is calculated in milliseconds. *Example: 1000ms = 1s*.\n *\n * @return string\n */\npublic function getBlockFormHideGlobalMsgTimeout(): string\n{\n\treturn '10000'; // 10 seconds.\n}\n"})})]})}function u(e={}){const{wrapper:t}={...(0,i.M)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},4552:(e,t,o)=>{o.d(t,{I:()=>n,M:()=>r});var s=o(11504);const i={},l=s.createContext(i);function r(e){const t=s.useContext(l);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function n(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),s.createElement(l.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/259bd0c5.6d5e254d.js b/assets/js/259bd0c5.6d5e254d.js deleted file mode 100644 index d806837f1..000000000 --- a/assets/js/259bd0c5.6d5e254d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[78645],{53981:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>u,frontMatter:()=>l,metadata:()=>n,toc:()=>m});var s=o(85893),i=o(11151);const l={id:"hide-global-msg-timeout",title:"Global message timeout"},r=void 0,n={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.",source:"@site/forms/php/filters/block/form/hide-global-msg-timeout.md",sourceDirName:"php/filters/block/form",slug:"/php/filters/block/form/hide-global-msg-timeout",permalink:"/forms/php/filters/block/form/hide-global-msg-timeout",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"hide-global-msg-timeout",title:"Global message timeout"},sidebar:"forms",previous:{title:"Redirect timeout",permalink:"/forms/php/filters/block/form/redirect-timeout"},next:{title:"Success redirect URL",permalink:"/forms/php/filters/block/form/success-redirect-url"}},c={},m=[];function a(e){const t={code:"code",p:"p",pre:"pre",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:"This filter allows you to change the timeout of all global messages (e.g. after successful form submission), in milliseconds."}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-php",children:"\\add_filter('es_forms_block_form_hide_global_msg_timeout', [$this, 'getBlockFormHideGlobalMsgTimeout']);\n\n/**\n * Changing the default success hide global message wait time.\n *\n * This filter will override our default wait time before the global message is removed. The time is calculated in milliseconds. *Example: 1000ms = 1s*.\n *\n * @return string\n */\npublic function getBlockFormHideGlobalMsgTimeout(): string\n{\n\treturn '10000'; // 10 seconds.\n}\n"})})]})}function u(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},11151:(e,t,o)=>{o.d(t,{Z:()=>n,a:()=>r});var s=o(67294);const i={},l=s.createContext(i);function r(e){const t=s.useContext(l);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function n(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),s.createElement(l.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/25b43794.69fb15e9.js b/assets/js/25b43794.69fb15e9.js deleted file mode 100644 index 72d9773e3..000000000 --- a/assets/js/25b43794.69fb15e9.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[27561],{18575:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>c,default:()=>h,frontMatter:()=>o,metadata:()=>r,toc:()=>a});var n=i(85893),s=i(11151);const o={id:"rest-field",title:"REST Field"},c=void 0,r={id:"legacy/v6/basics/rest-field",title:"REST Field",description:"docs-source",source:"@site/docs/legacy/v6/basics/rest-field.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/rest-field",permalink:"/docs/legacy/v6/basics/rest-field",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"rest-field",title:"REST Field"},sidebar:"docs",previous:{title:"REST Intro",permalink:"/docs/legacy/v6/basics/rest"},next:{title:"REST Route",permalink:"/docs/legacy/v6/basics/rest-route"}},l={},a=[{value:"Test it in action",id:"test-it-in-action",level:2}];function d(e){const t={a:"a",blockquote:"blockquote",code:"code",h2:"h2",img:"img",p:"p",...(0,s.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/4.0.0",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(t.p,{children:"This class is used to update an existing REST API Field or provide a new field to the existing REST API."}),"\n",(0,n.jsx)(t.p,{children:"To create a new class for extending an REST API field, run this command:"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"wp boilerplate create_rest_field"})}),"\n",(0,n.jsxs)(t.p,{children:["The output will ask you to input the correct field name and object type (post, get, etc.). Everything else will be done for you, setting the namespace, package, vendor prefixes, class, and folder name, and you will be set to write your field implementation in the ",(0,n.jsx)(t.code,{children:"fieldCallback"})," method."]}),"\n",(0,n.jsx)(t.h2,{id:"test-it-in-action",children:"Test it in action"}),"\n",(0,n.jsxs)(t.p,{children:["To test it in action, you should check the ",(0,n.jsx)(t.code,{children:"wp-json"})," path in your browser. You can do something like this:"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"domain.ext/wp-json/routeNamespace/routeVersion/routeName"})}),"\n",(0,n.jsx)(t.p,{children:"and find the field name."}),"\n",(0,n.jsxs)(t.blockquote,{children:["\n",(0,n.jsx)(t.p,{children:"This link will be different based on your project implementation."}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},11151:(e,t,i)=>{i.d(t,{Z:()=>r,a:()=>c});var n=i(67294);const s={},o=n.createContext(s);function c(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:c(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/25b43794.71066a92.js b/assets/js/25b43794.71066a92.js new file mode 100644 index 000000000..bb8c81900 --- /dev/null +++ b/assets/js/25b43794.71066a92.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[20668],{94188:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>c,default:()=>h,frontMatter:()=>o,metadata:()=>r,toc:()=>a});var n=i(17624),s=i(4552);const o={id:"rest-field",title:"REST Field"},c=void 0,r={id:"legacy/v6/basics/rest-field",title:"REST Field",description:"docs-source",source:"@site/docs/legacy/v6/basics/rest-field.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/rest-field",permalink:"/docs/legacy/v6/basics/rest-field",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"rest-field",title:"REST Field"},sidebar:"docs",previous:{title:"REST Intro",permalink:"/docs/legacy/v6/basics/rest"},next:{title:"REST Route",permalink:"/docs/legacy/v6/basics/rest-route"}},l={},a=[{value:"Test it in action",id:"test-it-in-action",level:2}];function d(e){const t={a:"a",blockquote:"blockquote",code:"code",h2:"h2",img:"img",p:"p",...(0,s.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/4.0.0",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(t.p,{children:"This class is used to update an existing REST API Field or provide a new field to the existing REST API."}),"\n",(0,n.jsx)(t.p,{children:"To create a new class for extending an REST API field, run this command:"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"wp boilerplate create_rest_field"})}),"\n",(0,n.jsxs)(t.p,{children:["The output will ask you to input the correct field name and object type (post, get, etc.). Everything else will be done for you, setting the namespace, package, vendor prefixes, class, and folder name, and you will be set to write your field implementation in the ",(0,n.jsx)(t.code,{children:"fieldCallback"})," method."]}),"\n",(0,n.jsx)(t.h2,{id:"test-it-in-action",children:"Test it in action"}),"\n",(0,n.jsxs)(t.p,{children:["To test it in action, you should check the ",(0,n.jsx)(t.code,{children:"wp-json"})," path in your browser. You can do something like this:"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"domain.ext/wp-json/routeNamespace/routeVersion/routeName"})}),"\n",(0,n.jsx)(t.p,{children:"and find the field name."}),"\n",(0,n.jsxs)(t.blockquote,{children:["\n",(0,n.jsx)(t.p,{children:"This link will be different based on your project implementation."}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,s.M)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},4552:(e,t,i)=>{i.d(t,{I:()=>r,M:()=>c});var n=i(11504);const s={},o=n.createContext(s);function c(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:c(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/26b1dccf.2e5f430d.js b/assets/js/26b1dccf.2e5f430d.js new file mode 100644 index 000000000..6d05fd2ac --- /dev/null +++ b/assets/js/26b1dccf.2e5f430d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[91080],{12284:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>r,default:()=>u,frontMatter:()=>i,metadata:()=>a,toc:()=>l});var s=n(17624),o=n(4552);const i={id:"hubspot",title:"Hubspot"},r=void 0,a={id:"php/global-variables/integrations/hubspot",title:"Hubspot",description:"ESAPIKEY_HUBSPOT",source:"@site/forms/php/global-variables/integrations/hubspot.md",sourceDirName:"php/global-variables/integrations",slug:"/php/global-variables/integrations/hubspot",permalink:"/forms/php/global-variables/integrations/hubspot",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"hubspot",title:"Hubspot"},sidebar:"forms",previous:{title:"Greenhouse",permalink:"/forms/php/global-variables/integrations/greenhouse"},next:{title:"Jira",permalink:"/forms/php/global-variables/integrations/jira"}},p={},l=[{value:"ES_API_KEY_HUBSPOT",id:"es_api_key_hubspot",level:3}];function c(e){const t={code:"code",h3:"h3",p:"p",pre:"pre",...(0,o.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h3,{id:"es_api_key_hubspot",children:"ES_API_KEY_HUBSPOT"}),"\n",(0,s.jsx)(t.p,{children:"This variable will set the HubSpot integration API key."}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-php",children:"define('ES_API_KEY_HUBSPOT', '');\n"})})]})}function u(e={}){const{wrapper:t}={...(0,o.M)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},4552:(e,t,n)=>{n.d(t,{I:()=>a,M:()=>r});var s=n(11504);const o={},i=s.createContext(o);function r(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/26b1dccf.cc65587e.js b/assets/js/26b1dccf.cc65587e.js deleted file mode 100644 index c19c8d216..000000000 --- a/assets/js/26b1dccf.cc65587e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[37086],{76812:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>r,default:()=>u,frontMatter:()=>i,metadata:()=>a,toc:()=>l});var s=n(85893),o=n(11151);const i={id:"hubspot",title:"Hubspot"},r=void 0,a={id:"php/global-variables/integrations/hubspot",title:"Hubspot",description:"ESAPIKEY_HUBSPOT",source:"@site/forms/php/global-variables/integrations/hubspot.md",sourceDirName:"php/global-variables/integrations",slug:"/php/global-variables/integrations/hubspot",permalink:"/forms/php/global-variables/integrations/hubspot",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"hubspot",title:"Hubspot"},sidebar:"forms",previous:{title:"Greenhouse",permalink:"/forms/php/global-variables/integrations/greenhouse"},next:{title:"Jira",permalink:"/forms/php/global-variables/integrations/jira"}},p={},l=[{value:"ES_API_KEY_HUBSPOT",id:"es_api_key_hubspot",level:3}];function c(e){const t={code:"code",h3:"h3",p:"p",pre:"pre",...(0,o.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h3,{id:"es_api_key_hubspot",children:"ES_API_KEY_HUBSPOT"}),"\n",(0,s.jsx)(t.p,{children:"This variable will set the HubSpot integration API key."}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-php",children:"define('ES_API_KEY_HUBSPOT', '');\n"})})]})}function u(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},11151:(e,t,n)=>{n.d(t,{Z:()=>a,a:()=>r});var s=n(67294);const o={},i=s.createContext(o);function r(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2716246c.065014b3.js b/assets/js/2716246c.065014b3.js new file mode 100644 index 000000000..9f809fd91 --- /dev/null +++ b/assets/js/2716246c.065014b3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[84856],{72836:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>c,contentTitle:()=>l,default:()=>h,frontMatter:()=>r,metadata:()=>i,toc:()=>a});var o=t(17624),n=t(4552);const r={id:"blocks-structure",title:"Structure"},l=void 0,i={id:"legacy/v6/basics/blocks-structure",title:"Structure",description:"docs-source",source:"@site/docs/legacy/v6/basics/blocks-structure.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/blocks-structure",permalink:"/docs/legacy/v6/basics/blocks-structure",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-structure",title:"Structure"},sidebar:"docs",previous:{title:"Registration",permalink:"/docs/legacy/v6/basics/blocks-registration"},next:{title:"Global Manifest",permalink:"/docs/legacy/v6/basics/blocks-global-manifest"}},c={},a=[{value:"Blocks folder",id:"blocks-folder",level:3},{value:"Assets",id:"assets",level:3},{value:"Components",id:"components",level:3},{value:"Custom",id:"custom",level:3},{value:"Variations",id:"variations",level:3},{value:"Wrapper",id:"wrapper",level:3},{value:"manifest.json",id:"manifestjson",level:3},{value:"Blocks.php",id:"blocksphp",level:3}];function d(e){const s={a:"a",code:"code",h3:"h3",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,n.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s.p,{children:(0,o.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/",children:(0,o.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(s.p,{children:"For the library to work and register blocks dynamically, a specific folder structure and naming must be followed."}),"\n",(0,o.jsx)(s.p,{children:"Your folder structure should be like this:"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:["src","\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:["Blocks","\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsx)(s.li,{children:"assets"}),"\n",(0,o.jsx)(s.li,{children:"components"}),"\n",(0,o.jsx)(s.li,{children:"custom"}),"\n",(0,o.jsx)(s.li,{children:"variations"}),"\n",(0,o.jsx)(s.li,{children:"wrapper"}),"\n",(0,o.jsx)(s.li,{children:"Blocks.php"}),"\n",(0,o.jsx)(s.li,{children:"manifest.json"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(s.p,{children:["Don't be confused with the upper and lower case folder names, those are like that on purpose. Everything under the ",(0,o.jsx)(s.code,{children:"Block"})," folder is considered a view so they are written in lower caps, and the Blocks.php file is still a part of the PHP PSR-4 standard so it must be written like every other ",(0,o.jsx)(s.strong,{children:"service class"}),"."]}),"\n",(0,o.jsx)(s.h3,{id:"blocks-folder",children:"Blocks folder"}),"\n",(0,o.jsxs)(s.p,{children:["This folder contains all the blocks defined in your project. Every block is located in the ",(0,o.jsx)(s.code,{children:"custom"})," folder, and every component is located in the ",(0,o.jsx)(s.code,{children:"components"})," folder. Blocks can be created from multiple block editor components or your project components."]}),"\n",(0,o.jsx)(s.h3,{id:"assets",children:"Assets"}),"\n",(0,o.jsx)(s.p,{children:"This folder contains all the additional files for the blocks you only need to use on the front end. Everything that is not a block or a component goes here, such as defining global style, global JavaScript helpers, project images, fonts, etc. Also, we register all blocks, styles, and scripts in the assets folder so that nothing works without this folder."}),"\n",(0,o.jsx)(s.h3,{id:"components",children:"Components"}),"\n",(0,o.jsxs)(s.p,{children:["This folder contains all the components that are shared across blocks and project template files. Components are not registered as blocks because they are small chunks of code you can reuse everywhere. For instance, you can create a menu component to be used in the footer but also reused in a separate menu block. Please refer to the ",(0,o.jsx)(s.a,{href:"blocks-component-structure",children:"component structure"})," chapter for more details."]}),"\n",(0,o.jsx)(s.h3,{id:"custom",children:"Custom"}),"\n",(0,o.jsxs)(s.p,{children:["This folder contains all the custom blocks defined and used in your project. Please refer to the ",(0,o.jsx)(s.a,{href:"block-structure",children:"block structure"})," chapter for more details."]}),"\n",(0,o.jsx)(s.h3,{id:"variations",children:"Variations"}),"\n",(0,o.jsxs)(s.p,{children:["This folder contains all the variations blocks defined and used in your project. Please refer to the ",(0,o.jsx)(s.a,{href:"blocks-variations",children:"variations"})," chapter for more details."]}),"\n",(0,o.jsx)(s.h3,{id:"wrapper",children:"Wrapper"}),"\n",(0,o.jsxs)(s.p,{children:["This folder contains a wrapper component that wraps all blocks with shared variables and gives blocks the ability to behave as a layout section. Please refer to the ",(0,o.jsx)(s.a,{href:"blocks-wrapper",children:"wrapper"})," chapter for more details."]}),"\n",(0,o.jsx)(s.h3,{id:"manifestjson",children:"manifest.json"}),"\n",(0,o.jsxs)(s.p,{children:["This file contains global settings for your project. It must contain ",(0,o.jsx)(s.code,{children:"namespace"})," and ",(0,o.jsx)(s.code,{children:"background"})," keys. Everything else is optional. Here you can store data you intend to share across toolbars, components, and blocks. Please refer to the ",(0,o.jsx)(s.a,{href:"block-manifest",children:"block manifest"})," chapter for more details."]}),"\n",(0,o.jsx)(s.h3,{id:"blocksphp",children:"Blocks.php"}),"\n",(0,o.jsx)(s.p,{children:"This is the main service class responsible for registering all the PHP parts of the blocks like:"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsx)(s.li,{children:"dynamic blocks view;"}),"\n",(0,o.jsx)(s.li,{children:"custom category for your blocks;"}),"\n",(0,o.jsx)(s.li,{children:"default color pallet;"}),"\n",(0,o.jsx)(s.li,{children:"what blocks you are going to use; and"}),"\n",(0,o.jsx)(s.li,{children:"all the custom functionality that you will write for the project."}),"\n"]})]})}function h(e={}){const{wrapper:s}={...(0,n.M)(),...e.components};return s?(0,o.jsx)(s,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},4552:(e,s,t)=>{t.d(s,{I:()=>i,M:()=>l});var o=t(11504);const n={},r=o.createContext(n);function l(e){const s=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function i(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:l(e.components),o.createElement(r.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2716246c.bee4320c.js b/assets/js/2716246c.bee4320c.js deleted file mode 100644 index ce07c7649..000000000 --- a/assets/js/2716246c.bee4320c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[80409],{5246:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>c,contentTitle:()=>l,default:()=>h,frontMatter:()=>r,metadata:()=>i,toc:()=>a});var o=t(85893),n=t(11151);const r={id:"blocks-structure",title:"Structure"},l=void 0,i={id:"legacy/v6/basics/blocks-structure",title:"Structure",description:"docs-source",source:"@site/docs/legacy/v6/basics/blocks-structure.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/blocks-structure",permalink:"/docs/legacy/v6/basics/blocks-structure",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-structure",title:"Structure"},sidebar:"docs",previous:{title:"Registration",permalink:"/docs/legacy/v6/basics/blocks-registration"},next:{title:"Global Manifest",permalink:"/docs/legacy/v6/basics/blocks-global-manifest"}},c={},a=[{value:"Blocks folder",id:"blocks-folder",level:3},{value:"Assets",id:"assets",level:3},{value:"Components",id:"components",level:3},{value:"Custom",id:"custom",level:3},{value:"Variations",id:"variations",level:3},{value:"Wrapper",id:"wrapper",level:3},{value:"manifest.json",id:"manifestjson",level:3},{value:"Blocks.php",id:"blocksphp",level:3}];function d(e){const s={a:"a",code:"code",h3:"h3",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,n.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s.p,{children:(0,o.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/",children:(0,o.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(s.p,{children:"For the library to work and register blocks dynamically, a specific folder structure and naming must be followed."}),"\n",(0,o.jsx)(s.p,{children:"Your folder structure should be like this:"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:["src","\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:["Blocks","\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsx)(s.li,{children:"assets"}),"\n",(0,o.jsx)(s.li,{children:"components"}),"\n",(0,o.jsx)(s.li,{children:"custom"}),"\n",(0,o.jsx)(s.li,{children:"variations"}),"\n",(0,o.jsx)(s.li,{children:"wrapper"}),"\n",(0,o.jsx)(s.li,{children:"Blocks.php"}),"\n",(0,o.jsx)(s.li,{children:"manifest.json"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(s.p,{children:["Don't be confused with the upper and lower case folder names, those are like that on purpose. Everything under the ",(0,o.jsx)(s.code,{children:"Block"})," folder is considered a view so they are written in lower caps, and the Blocks.php file is still a part of the PHP PSR-4 standard so it must be written like every other ",(0,o.jsx)(s.strong,{children:"service class"}),"."]}),"\n",(0,o.jsx)(s.h3,{id:"blocks-folder",children:"Blocks folder"}),"\n",(0,o.jsxs)(s.p,{children:["This folder contains all the blocks defined in your project. Every block is located in the ",(0,o.jsx)(s.code,{children:"custom"})," folder, and every component is located in the ",(0,o.jsx)(s.code,{children:"components"})," folder. Blocks can be created from multiple block editor components or your project components."]}),"\n",(0,o.jsx)(s.h3,{id:"assets",children:"Assets"}),"\n",(0,o.jsx)(s.p,{children:"This folder contains all the additional files for the blocks you only need to use on the front end. Everything that is not a block or a component goes here, such as defining global style, global JavaScript helpers, project images, fonts, etc. Also, we register all blocks, styles, and scripts in the assets folder so that nothing works without this folder."}),"\n",(0,o.jsx)(s.h3,{id:"components",children:"Components"}),"\n",(0,o.jsxs)(s.p,{children:["This folder contains all the components that are shared across blocks and project template files. Components are not registered as blocks because they are small chunks of code you can reuse everywhere. For instance, you can create a menu component to be used in the footer but also reused in a separate menu block. Please refer to the ",(0,o.jsx)(s.a,{href:"blocks-component-structure",children:"component structure"})," chapter for more details."]}),"\n",(0,o.jsx)(s.h3,{id:"custom",children:"Custom"}),"\n",(0,o.jsxs)(s.p,{children:["This folder contains all the custom blocks defined and used in your project. Please refer to the ",(0,o.jsx)(s.a,{href:"block-structure",children:"block structure"})," chapter for more details."]}),"\n",(0,o.jsx)(s.h3,{id:"variations",children:"Variations"}),"\n",(0,o.jsxs)(s.p,{children:["This folder contains all the variations blocks defined and used in your project. Please refer to the ",(0,o.jsx)(s.a,{href:"blocks-variations",children:"variations"})," chapter for more details."]}),"\n",(0,o.jsx)(s.h3,{id:"wrapper",children:"Wrapper"}),"\n",(0,o.jsxs)(s.p,{children:["This folder contains a wrapper component that wraps all blocks with shared variables and gives blocks the ability to behave as a layout section. Please refer to the ",(0,o.jsx)(s.a,{href:"blocks-wrapper",children:"wrapper"})," chapter for more details."]}),"\n",(0,o.jsx)(s.h3,{id:"manifestjson",children:"manifest.json"}),"\n",(0,o.jsxs)(s.p,{children:["This file contains global settings for your project. It must contain ",(0,o.jsx)(s.code,{children:"namespace"})," and ",(0,o.jsx)(s.code,{children:"background"})," keys. Everything else is optional. Here you can store data you intend to share across toolbars, components, and blocks. Please refer to the ",(0,o.jsx)(s.a,{href:"block-manifest",children:"block manifest"})," chapter for more details."]}),"\n",(0,o.jsx)(s.h3,{id:"blocksphp",children:"Blocks.php"}),"\n",(0,o.jsx)(s.p,{children:"This is the main service class responsible for registering all the PHP parts of the blocks like:"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsx)(s.li,{children:"dynamic blocks view;"}),"\n",(0,o.jsx)(s.li,{children:"custom category for your blocks;"}),"\n",(0,o.jsx)(s.li,{children:"default color pallet;"}),"\n",(0,o.jsx)(s.li,{children:"what blocks you are going to use; and"}),"\n",(0,o.jsx)(s.li,{children:"all the custom functionality that you will write for the project."}),"\n"]})]})}function h(e={}){const{wrapper:s}={...(0,n.a)(),...e.components};return s?(0,o.jsx)(s,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},11151:(e,s,t)=>{t.d(s,{Z:()=>i,a:()=>l});var o=t(67294);const n={},r=o.createContext(n);function l(e){const s=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function i(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:l(e.components),o.createElement(r.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2747918f.a84ac230.js b/assets/js/2747918f.a84ac230.js deleted file mode 100644 index 1534df015..000000000 --- a/assets/js/2747918f.a84ac230.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[49612],{8942:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>d,frontMatter:()=>i,metadata:()=>a,toc:()=>h});var n=o(85893),s=o(11151);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,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",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]},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.a)(),...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(70202).Z+"",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(18190).Z+"",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.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},70202:(e,t,o)=>{o.d(t,{Z:()=>n});const n=o.p+"assets/images/setup-1-ec493b6656446eff46afec93938c9c13.webp"},18190:(e,t,o)=>{o.d(t,{Z:()=>n});const n=o.p+"assets/images/setup-2-b4b504dcdd78f667a70c63579d5dec6f.webp"},11151:(e,t,o)=>{o.d(t,{Z:()=>a,a:()=>r});var n=o(67294);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 a(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.a87a0a6f.js b/assets/js/2747918f.a87a0a6f.js new file mode 100644 index 000000000..e3ebee35e --- /dev/null +++ b/assets/js/2747918f.a87a0a6f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[80616],{24228:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>d,frontMatter:()=>i,metadata:()=>l,toc:()=>h});var n=o(17624),s=o(4552);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.M)(),...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(23380).c+"",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(59888).c+"",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.M)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},23380:(e,t,o)=>{o.d(t,{c:()=>n});const n=o.p+"assets/images/setup-1-ec493b6656446eff46afec93938c9c13.webp"},59888:(e,t,o)=>{o.d(t,{c:()=>n});const n=o.p+"assets/images/setup-2-b4b504dcdd78f667a70c63579d5dec6f.webp"},4552:(e,t,o)=>{o.d(t,{I:()=>l,M:()=>r});var n=o(11504);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/27c45671.66f6190f.js b/assets/js/27c45671.66f6190f.js new file mode 100644 index 000000000..66543c876 --- /dev/null +++ b/assets/js/27c45671.66f6190f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[62056],{79096:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>i,default:()=>u,frontMatter:()=>r,metadata:()=>c,toc:()=>d});var o=n(17624),s=n(4552);const r={id:"frontend",title:"Front End",sidebar_label:"Front End"},i=void 0,c={id:"legacy/v5/basics/frontend",title:"Front End",description:"docs-source",source:"@site/docs/legacy/v5/basics/frontend.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/frontend",permalink:"/docs/legacy/v5/basics/frontend",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"frontend",title:"Front End",sidebar_label:"Front End"},sidebar:"docs",previous:{title:"Rest Route",permalink:"/docs/legacy/v5/basics/rest-route"},next:{title:"Webpack",permalink:"/docs/legacy/v5/basics/webpack"}},a={},d=[];function l(e){const t={a:"a",code:"code",img:"img",p:"p",...(0,s.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0",children:(0,o.jsx)(t.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsxs)(t.p,{children:["In general, you can use anything as-is from the ",(0,o.jsx)(t.code,{children:"node_modules"})," library, or you can modify/add the functionality in your project."]}),"\n",(0,o.jsxs)(t.p,{children:["Block editor is written using React; we then use React in the block editor. You can read about blocks in this ",(0,o.jsx)(t.a,{href:"blocks",children:"chapter"}),". However, there are other aspects of the project's front-end part you should know in order to use the Eightshift Boilerplate to its full potential."]})]})}function u(e={}){const{wrapper:t}={...(0,s.M)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},4552:(e,t,n)=>{n.d(t,{I:()=>c,M:()=>i});var o=n(11504);const s={},r=o.createContext(s);function i(e){const t=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/27c45671.e27c851f.js b/assets/js/27c45671.e27c851f.js deleted file mode 100644 index 60ef01e04..000000000 --- a/assets/js/27c45671.e27c851f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[41254],{22017:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>i,default:()=>u,frontMatter:()=>r,metadata:()=>c,toc:()=>d});var o=n(85893),s=n(11151);const r={id:"frontend",title:"Front End",sidebar_label:"Front End"},i=void 0,c={id:"legacy/v5/basics/frontend",title:"Front End",description:"docs-source",source:"@site/docs/legacy/v5/basics/frontend.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/frontend",permalink:"/docs/legacy/v5/basics/frontend",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"frontend",title:"Front End",sidebar_label:"Front End"},sidebar:"docs",previous:{title:"Rest Route",permalink:"/docs/legacy/v5/basics/rest-route"},next:{title:"Webpack",permalink:"/docs/legacy/v5/basics/webpack"}},a={},d=[];function l(e){const t={a:"a",code:"code",img:"img",p:"p",...(0,s.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0",children:(0,o.jsx)(t.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsxs)(t.p,{children:["In general, you can use anything as-is from the ",(0,o.jsx)(t.code,{children:"node_modules"})," library, or you can modify/add the functionality in your project."]}),"\n",(0,o.jsxs)(t.p,{children:["Block editor is written using React; we then use React in the block editor. You can read about blocks in this ",(0,o.jsx)(t.a,{href:"blocks",children:"chapter"}),". However, there are other aspects of the project's front-end part you should know in order to use the Eightshift Boilerplate to its full potential."]})]})}function u(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},11151:(e,t,n)=>{n.d(t,{Z:()=>c,a:()=>i});var o=n(67294);const s={},r=o.createContext(s);function i(e){const t=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/281e3fe0.3dc12786.js b/assets/js/281e3fe0.3dc12786.js deleted file mode 100644 index 3ad31924d..000000000 --- a/assets/js/281e3fe0.3dc12786.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[27987],{4930:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>c,default:()=>h,frontMatter:()=>s,metadata:()=>r,toc:()=>l});var o=n(85893),i=n(11151);const s={id:"blocks-important",title:"Important"},c=void 0,r={id:"legacy/v7/basics/blocks-important",title:"Important",description:"docs-source",source:"@site/docs/legacy/v7/basics/blocks-important.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/blocks-important",permalink:"/docs/legacy/v7/basics/blocks-important",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-important",title:"Important"},sidebar:"docs",previous:{title:"Blocks",permalink:"/docs/legacy/v7/basics/blocks"},next:{title:"Faq",permalink:"/docs/legacy/v7/basics/blocks-faq"}},a={},l=[];function d(e){const t={a:"a",blockquote:"blockquote",code:"code",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/",children:(0,o.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(t.p,{children:"Before you start developing and changing anything on your block/components, you should keep in mind how we have managed to create this setup and some of the side effects of automatic file loading."}),"\n",(0,o.jsxs)(t.p,{children:["We require all our JS files using the ",(0,o.jsx)(t.code,{children:"require.context"})," and all our SCSS files using the ",(0,o.jsx)(t.code,{children:"webpack-import-glob-loader"}),"."]}),"\n",(0,o.jsxs)(t.p,{children:["All files are required during the project's ",(0,o.jsx)(t.code,{children:"compile-time"}),". This means that we can't get any new files after the compile time is over. This approach gives you the ability to not worry whether you loaded the file or not. You can focus on your code and leave the messy stuff to the boilerplate."]}),"\n",(0,o.jsxs)(t.p,{children:["Since all the files are required during the ",(0,o.jsx)(t.code,{children:"compile-time"}),", every time you change the file structure, you must restart the Webpack watch."]}),"\n",(0,o.jsxs)(t.p,{children:["You ",(0,o.jsx)(t.strong,{children:"must restart"})," Webpack watch when:"]}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"adding a new block/component/variation;"}),"\n",(0,o.jsx)(t.li,{children:"changing the names of any files in the block/component/variation folder (for example, you made a typo in a block's name);"}),"\n",(0,o.jsx)(t.li,{children:"removing any file from the block/component/variation folder; and"}),"\n",(0,o.jsx)(t.li,{children:"changing the block name in the block manifest.json."}),"\n"]}),"\n",(0,o.jsxs)(t.p,{children:["You ",(0,o.jsx)(t.strong,{children:"don't need to restart"})," Webpack watch when you:"]}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"add/remove styles;"}),"\n",(0,o.jsx)(t.li,{children:"add/remove JS implementation in the files;"}),"\n",(0,o.jsx)(t.li,{children:"add/remove PHP implementation in the files; and"}),"\n",(0,o.jsx)(t.li,{children:"make changes on anything other than blockName in the manifest.json."}),"\n"]}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsx)(t.p,{children:"Remember this note because, in 90 per cent of cases, your error occurs when you made changes to the files and didn't restart the Webpack watch."}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},11151:(e,t,n)=>{n.d(t,{Z:()=>r,a:()=>c});var o=n(67294);const i={},s=o.createContext(i);function c(e){const t=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:c(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/281e3fe0.e49a41cd.js b/assets/js/281e3fe0.e49a41cd.js new file mode 100644 index 000000000..1b0ae7cc8 --- /dev/null +++ b/assets/js/281e3fe0.e49a41cd.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[88844],{86052:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>c,default:()=>h,frontMatter:()=>s,metadata:()=>r,toc:()=>l});var o=n(17624),i=n(4552);const s={id:"blocks-important",title:"Important"},c=void 0,r={id:"legacy/v7/basics/blocks-important",title:"Important",description:"docs-source",source:"@site/docs/legacy/v7/basics/blocks-important.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/blocks-important",permalink:"/docs/legacy/v7/basics/blocks-important",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-important",title:"Important"},sidebar:"docs",previous:{title:"Blocks",permalink:"/docs/legacy/v7/basics/blocks"},next:{title:"Faq",permalink:"/docs/legacy/v7/basics/blocks-faq"}},a={},l=[];function d(e){const t={a:"a",blockquote:"blockquote",code:"code",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/",children:(0,o.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(t.p,{children:"Before you start developing and changing anything on your block/components, you should keep in mind how we have managed to create this setup and some of the side effects of automatic file loading."}),"\n",(0,o.jsxs)(t.p,{children:["We require all our JS files using the ",(0,o.jsx)(t.code,{children:"require.context"})," and all our SCSS files using the ",(0,o.jsx)(t.code,{children:"webpack-import-glob-loader"}),"."]}),"\n",(0,o.jsxs)(t.p,{children:["All files are required during the project's ",(0,o.jsx)(t.code,{children:"compile-time"}),". This means that we can't get any new files after the compile time is over. This approach gives you the ability to not worry whether you loaded the file or not. You can focus on your code and leave the messy stuff to the boilerplate."]}),"\n",(0,o.jsxs)(t.p,{children:["Since all the files are required during the ",(0,o.jsx)(t.code,{children:"compile-time"}),", every time you change the file structure, you must restart the Webpack watch."]}),"\n",(0,o.jsxs)(t.p,{children:["You ",(0,o.jsx)(t.strong,{children:"must restart"})," Webpack watch when:"]}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"adding a new block/component/variation;"}),"\n",(0,o.jsx)(t.li,{children:"changing the names of any files in the block/component/variation folder (for example, you made a typo in a block's name);"}),"\n",(0,o.jsx)(t.li,{children:"removing any file from the block/component/variation folder; and"}),"\n",(0,o.jsx)(t.li,{children:"changing the block name in the block manifest.json."}),"\n"]}),"\n",(0,o.jsxs)(t.p,{children:["You ",(0,o.jsx)(t.strong,{children:"don't need to restart"})," Webpack watch when you:"]}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"add/remove styles;"}),"\n",(0,o.jsx)(t.li,{children:"add/remove JS implementation in the files;"}),"\n",(0,o.jsx)(t.li,{children:"add/remove PHP implementation in the files; and"}),"\n",(0,o.jsx)(t.li,{children:"make changes on anything other than blockName in the manifest.json."}),"\n"]}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsx)(t.p,{children:"Remember this note because, in 90 per cent of cases, your error occurs when you made changes to the files and didn't restart the Webpack watch."}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,i.M)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},4552:(e,t,n)=>{n.d(t,{I:()=>r,M:()=>c});var o=n(11504);const i={},s=o.createContext(i);function c(e){const t=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:c(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/286194e8.64286730.js b/assets/js/286194e8.64286730.js new file mode 100644 index 000000000..cb57a1f34 --- /dev/null +++ b/assets/js/286194e8.64286730.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[62884],{22672:(n,e,t)=>{t.r(e),t.d(e,{assets:()=>c,contentTitle:()=>a,default:()=>m,frontMatter:()=>i,metadata:()=>r,toc:()=>l});var s=t(17624),o=t(4552);const i={id:"taxonomy",title:"Taxonomy"},a=void 0,r={id:"legacy/v4/guides/taxonomy",title:"Taxonomy",description:"docs-source",source:"@site/docs/legacy/v4/guides/taxonomy.md",sourceDirName:"legacy/v4/guides",slug:"/legacy/v4/guides/taxonomy",permalink:"/docs/legacy/v4/guides/taxonomy",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"taxonomy",title:"Taxonomy"},sidebar:"docs",previous:{title:"Post Type",permalink:"/docs/legacy/v4/guides/post-type"},next:{title:"Registration",permalink:"/docs/legacy/v4/guides/blocks-registration"}},c={},l=[{value:"Example:",id:"example",level:2}];function u(n){const e={a:"a",code:"code",h2:"h2",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",...(0,o.M)(),...n.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.p,{children:(0,s.jsx)(e.a,{href:"https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/custom-taxonomy",children:(0,s.jsx)(e.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsxs)(e.p,{children:["Custom Taxonomy class is located in ",(0,s.jsx)(e.code,{children:"Eightshift Libs"}),". To extend it, use ",(0,s.jsx)(e.code,{children:"Eightshift_Libs\\Custom_Taxonomy\\Base_Taxonomy"})," class. This is an abstract class."]}),"\n",(0,s.jsx)(e.h2,{id:"example",children:"Example:"}),"\n",(0,s.jsx)(e.p,{children:"To create custom taxonomy:"}),"\n",(0,s.jsxs)(e.ol,{children:["\n",(0,s.jsxs)(e.li,{children:["make a new class ",(0,s.jsx)(e.code,{children:"src/custom-taxonomy/class-blog-taxonomy.php"}),"."]}),"\n",(0,s.jsx)(e.li,{children:"implement all the methods provided in the example."}),"\n",(0,s.jsxs)(e.li,{children:["register the class inside the ",(0,s.jsx)(e.code,{children:"class-main.php"})," file."]}),"\n",(0,s.jsx)(e.li,{children:"dump autoload."}),"\n"]}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-js",children:" true,\n 'label' => esc_html__( 'Blog Categories', 'eightshift-boilerplate' ),\n 'show_ui' => true,\n 'show_admin_column' => true,\n 'show_in_nav_menus' => false,\n 'public' => true,\n 'show_in_rest' => true,\n 'query_var' => true,\n 'rest_base' => static::REST_API_ENDPOINT_SLUG,\n 'rewrite' => array(\n 'hierarchical' => true,\n 'with_front' => false,\n ),\n ];\n }\n}\n"})})]})}function m(n={}){const{wrapper:e}={...(0,o.M)(),...n.components};return e?(0,s.jsx)(e,{...n,children:(0,s.jsx)(u,{...n})}):u(n)}},4552:(n,e,t)=>{t.d(e,{I:()=>r,M:()=>a});var s=t(11504);const o={},i=s.createContext(o);function a(n){const e=s.useContext(i);return s.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function r(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(o):n.components||o:a(n.components),s.createElement(i.Provider,{value:e},n.children)}}}]); \ No newline at end of file diff --git a/assets/js/286194e8.e3741010.js b/assets/js/286194e8.e3741010.js deleted file mode 100644 index 5f1f0713f..000000000 --- a/assets/js/286194e8.e3741010.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[56962],{25865:(n,e,t)=>{t.r(e),t.d(e,{assets:()=>c,contentTitle:()=>a,default:()=>m,frontMatter:()=>i,metadata:()=>r,toc:()=>l});var s=t(85893),o=t(11151);const i={id:"taxonomy",title:"Taxonomy"},a=void 0,r={id:"legacy/v4/guides/taxonomy",title:"Taxonomy",description:"docs-source",source:"@site/docs/legacy/v4/guides/taxonomy.md",sourceDirName:"legacy/v4/guides",slug:"/legacy/v4/guides/taxonomy",permalink:"/docs/legacy/v4/guides/taxonomy",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"taxonomy",title:"Taxonomy"},sidebar:"docs",previous:{title:"Post Type",permalink:"/docs/legacy/v4/guides/post-type"},next:{title:"Registration",permalink:"/docs/legacy/v4/guides/blocks-registration"}},c={},l=[{value:"Example:",id:"example",level:2}];function u(n){const e={a:"a",code:"code",h2:"h2",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",...(0,o.a)(),...n.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.p,{children:(0,s.jsx)(e.a,{href:"https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/custom-taxonomy",children:(0,s.jsx)(e.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsxs)(e.p,{children:["Custom Taxonomy class is located in ",(0,s.jsx)(e.code,{children:"Eightshift Libs"}),". To extend it, use ",(0,s.jsx)(e.code,{children:"Eightshift_Libs\\Custom_Taxonomy\\Base_Taxonomy"})," class. This is an abstract class."]}),"\n",(0,s.jsx)(e.h2,{id:"example",children:"Example:"}),"\n",(0,s.jsx)(e.p,{children:"To create custom taxonomy:"}),"\n",(0,s.jsxs)(e.ol,{children:["\n",(0,s.jsxs)(e.li,{children:["make a new class ",(0,s.jsx)(e.code,{children:"src/custom-taxonomy/class-blog-taxonomy.php"}),"."]}),"\n",(0,s.jsx)(e.li,{children:"implement all the methods provided in the example."}),"\n",(0,s.jsxs)(e.li,{children:["register the class inside the ",(0,s.jsx)(e.code,{children:"class-main.php"})," file."]}),"\n",(0,s.jsx)(e.li,{children:"dump autoload."}),"\n"]}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-js",children:" true,\n 'label' => esc_html__( 'Blog Categories', 'eightshift-boilerplate' ),\n 'show_ui' => true,\n 'show_admin_column' => true,\n 'show_in_nav_menus' => false,\n 'public' => true,\n 'show_in_rest' => true,\n 'query_var' => true,\n 'rest_base' => static::REST_API_ENDPOINT_SLUG,\n 'rewrite' => array(\n 'hierarchical' => true,\n 'with_front' => false,\n ),\n ];\n }\n}\n"})})]})}function m(n={}){const{wrapper:e}={...(0,o.a)(),...n.components};return e?(0,s.jsx)(e,{...n,children:(0,s.jsx)(u,{...n})}):u(n)}},11151:(n,e,t)=>{t.d(e,{Z:()=>r,a:()=>a});var s=t(67294);const o={},i=s.createContext(o);function a(n){const e=s.useContext(i);return s.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function r(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(o):n.components||o:a(n.components),s.createElement(i.Provider,{value:e},n.children)}}}]); \ No newline at end of file diff --git a/assets/js/29014e21.5bdaad94.js b/assets/js/29014e21.5bdaad94.js new file mode 100644 index 000000000..adaa17c90 --- /dev/null +++ b/assets/js/29014e21.5bdaad94.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[67684],{68684:(e,s,r)=>{r.r(s),r.d(s,{assets:()=>a,contentTitle:()=>o,default:()=>h,frontMatter:()=>i,metadata:()=>c,toc:()=>l});var t=r(17624),n=r(4552);const i={id:"helpers",title:"Helpers"},o=void 0,c={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:",source:"@site/docs/basics/helpers.md",sourceDirName:"basics",slug:"/basics/helpers",permalink:"/docs/basics/helpers",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"helpers",title:"Helpers"},sidebar:"docs",previous:{title:"Storybook",permalink:"/docs/basics/blocks-storybook"},next:{title:"JavaScript",permalink:"/docs/basics/helpers-javascript"}},a={},l=[];function p(e){const s={a:"a",li:"li",p:"p",ul:"ul",...(0,n.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:"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:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"helpers-javascript",children:"JavaScript Helpers"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"helpers-scss",children:"Scss Helpers"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"helpers-php",children:"Php Helpers"})}),"\n"]}),"\n",(0,t.jsx)(s.p,{children:"We especially like our helpers in the block editor, because we need to have the same features in JavaScript and PHP. This can be easily done using helpers."})]})}function h(e={}){const{wrapper:s}={...(0,n.M)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(p,{...e})}):p(e)}},4552:(e,s,r)=>{r.d(s,{I:()=>c,M:()=>o});var t=r(11504);const n={},i=t.createContext(n);function o(e){const s=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:o(e.components),t.createElement(i.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/29014e21.f8043adf.js b/assets/js/29014e21.f8043adf.js deleted file mode 100644 index bbc4a062b..000000000 --- a/assets/js/29014e21.f8043adf.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[63252],{21828:(e,s,r)=>{r.r(s),r.d(s,{assets:()=>a,contentTitle:()=>o,default:()=>h,frontMatter:()=>i,metadata:()=>c,toc:()=>l});var t=r(85893),n=r(11151);const i={id:"helpers",title:"Helpers"},o=void 0,c={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:",source:"@site/docs/basics/helpers.md",sourceDirName:"basics",slug:"/basics/helpers",permalink:"/docs/basics/helpers",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"helpers",title:"Helpers"},sidebar:"docs",previous:{title:"Storybook",permalink:"/docs/basics/blocks-storybook"},next:{title:"JavaScript",permalink:"/docs/basics/helpers-javascript"}},a={},l=[];function p(e){const s={a:"a",li:"li",p:"p",ul:"ul",...(0,n.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:"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:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"helpers-javascript",children:"JavaScript Helpers"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"helpers-scss",children:"Scss Helpers"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"helpers-php",children:"Php Helpers"})}),"\n"]}),"\n",(0,t.jsx)(s.p,{children:"We especially like our helpers in the block editor, because we need to have the same features in JavaScript and PHP. This can be easily done using helpers."})]})}function h(e={}){const{wrapper:s}={...(0,n.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(p,{...e})}):p(e)}},11151:(e,s,r)=>{r.d(s,{Z:()=>c,a:()=>o});var t=r(67294);const n={},i=t.createContext(n);function o(e){const s=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:o(e.components),t.createElement(i.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2a615d1d.8e44735d.js b/assets/js/2a615d1d.8e44735d.js new file mode 100644 index 000000000..6bd1ee101 --- /dev/null +++ b/assets/js/2a615d1d.8e44735d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[1600],{59772:(e,n,o)=>{o.r(n),o.d(n,{assets:()=>l,contentTitle:()=>i,default:()=>d,frontMatter:()=>c,metadata:()=>r,toc:()=>a});var t=o(17624),s=o(4552);const c={id:"blocks-structure-component",title:"Component Structure"},i=void 0,r={id:"legacy/v4/guides/blocks-structure-component",title:"Component Structure",description:"docs-source",source:"@site/docs/legacy/v4/guides/blocks-structure-component.md",sourceDirName:"legacy/v4/guides",slug:"/legacy/v4/guides/blocks-structure-component",permalink:"/docs/legacy/v4/guides/blocks-structure-component",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-structure-component",title:"Component Structure"},sidebar:"docs",previous:{title:"Block Structure Item",permalink:"/docs/legacy/v4/guides/blocks-structure-block-item"},next:{title:"Manifest Structure",permalink:"/docs/legacy/v4/guides/blocks-structure-manifest"}},l={},a=[{value:"components",id:"components",level:3},{value:"component-name-editor.js",id:"component-name-editorjs",level:3},{value:"component-name-options.js",id:"component-name-optionsjs",level:3},{value:"component-name-toolbars.js",id:"component-name-toolbarsjs",level:3},{value:"component-name.php",id:"component-namephp",level:3},{value:"component-name-editor.scss",id:"component-name-editorscss",level:3},{value:"component-name-style.scss",id:"component-name-stylescss",level:3},{value:"Note on the component styles",id:"note-on-the-component-styles",level:4}];function p(e){const n={a:"a",code:"code",h3:"h3",h4:"h4",img:"img",p:"p",pre:"pre",...(0,s.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/v2.0.0/blocks/init/src/blocks/components/button",children:(0,t.jsx)(n.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsx)(n.p,{children:"Component naming and folder structure are not as strict as in the case of the block, but for the sake of consistency, it would be better to follow the same principles."}),"\n",(0,t.jsx)(n.p,{children:"Basic component structure should like something this:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-shell",children:"|____component-name\n| |____components\n| | |____component-name-editor.js\n| | |____component-name-options.js\n| | |____component-name-toolbar.js\n| |____component-name.php\n| |____component-name-editor.scss\n| |____component-name-style.scss\n"})}),"\n",(0,t.jsxs)(n.p,{children:["For example, you can check ",(0,t.jsx)(n.a,{href:"/storybook",children:"storybook"}),"."]}),"\n",(0,t.jsx)(n.h3,{id:"components",children:"components"}),"\n",(0,t.jsxs)(n.p,{children:["This folder contains all the javascript components that are used in the component. The folder can include ",(0,t.jsx)(n.code,{children:"editor"}),", ",(0,t.jsx)(n.code,{children:"options"})," or ",(0,t.jsx)(n.code,{children:"toolbar"})," component."]}),"\n",(0,t.jsx)(n.h3,{id:"component-name-editorjs",children:"component-name-editor.js"}),"\n",(0,t.jsx)(n.p,{children:"JavaScript component for handling component editor. The component editor is what will be shown in the main editor screen."}),"\n",(0,t.jsx)(n.h3,{id:"component-name-optionsjs",children:"component-name-options.js"}),"\n",(0,t.jsx)(n.p,{children:"JavaScript component for handling component options. Component options are displayed on the right side of the Block Editor editor. You can set various things here - component color, element sizes (usually font sizes), and other features."}),"\n",(0,t.jsx)(n.h3,{id:"component-name-toolbarsjs",children:"component-name-toolbars.js"}),"\n",(0,t.jsx)(n.p,{children:"JavaScript component for handling component toolbars. Toolbars are displayed at the top of every component - things like font-weight, alignment, etc."}),"\n",(0,t.jsx)(n.h3,{id:"component-namephp",children:"component-name.php"}),"\n",(0,t.jsx)(n.p,{children:"This file contains the front-end part (the view) of the component, used in your project when the page renders. This file shouldn't contain any business logic, just presenting the passed attributes."}),"\n",(0,t.jsx)(n.h3,{id:"component-name-editorscss",children:"component-name-editor.scss"}),"\n",(0,t.jsx)(n.p,{children:"This file only contains the editor styles for the component. Editor styles are only applied to the editor screen in the admin."}),"\n",(0,t.jsx)(n.h3,{id:"component-name-stylescss",children:"component-name-style.scss"}),"\n",(0,t.jsxs)(n.p,{children:["This file contains the editor and the front-end styles for the component. These styles will be applied to both the editor screen and your front end. This is just the way the core editor is set up. Each component has the ",(0,t.jsx)(n.code,{children:"blockClass"})," attribute that returns a block name with a block prefix, for example: ",(0,t.jsx)(n.code,{children:".block-intro"}),". You can/must use this naming convention when stying your block. Just like with any other SCSS components, the Block Editor block must also be standalone and easy to copy to different projects (reusable)."]}),"\n",(0,t.jsx)(n.h4,{id:"note-on-the-component-styles",children:"Note on the component styles"}),"\n",(0,t.jsx)(n.p,{children:"Component styles should only style the inner component layout and styles such as font sizes, alignment, etc. Any layout placement should be handled either by the wrapper, or a layout."})]})}function d(e={}){const{wrapper:n}={...(0,s.M)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(p,{...e})}):p(e)}},4552:(e,n,o)=>{o.d(n,{I:()=>r,M:()=>i});var t=o(11504);const s={},c=t.createContext(s);function i(e){const n=t.useContext(c);return t.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(s):e.components||s:i(e.components),t.createElement(c.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2a615d1d.c6a4e223.js b/assets/js/2a615d1d.c6a4e223.js deleted file mode 100644 index 209d16493..000000000 --- a/assets/js/2a615d1d.c6a4e223.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[80920],{3141:(e,n,o)=>{o.r(n),o.d(n,{assets:()=>l,contentTitle:()=>i,default:()=>d,frontMatter:()=>c,metadata:()=>r,toc:()=>a});var t=o(85893),s=o(11151);const c={id:"blocks-structure-component",title:"Component Structure"},i=void 0,r={id:"legacy/v4/guides/blocks-structure-component",title:"Component Structure",description:"docs-source",source:"@site/docs/legacy/v4/guides/blocks-structure-component.md",sourceDirName:"legacy/v4/guides",slug:"/legacy/v4/guides/blocks-structure-component",permalink:"/docs/legacy/v4/guides/blocks-structure-component",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-structure-component",title:"Component Structure"},sidebar:"docs",previous:{title:"Block Structure Item",permalink:"/docs/legacy/v4/guides/blocks-structure-block-item"},next:{title:"Manifest Structure",permalink:"/docs/legacy/v4/guides/blocks-structure-manifest"}},l={},a=[{value:"components",id:"components",level:3},{value:"component-name-editor.js",id:"component-name-editorjs",level:3},{value:"component-name-options.js",id:"component-name-optionsjs",level:3},{value:"component-name-toolbars.js",id:"component-name-toolbarsjs",level:3},{value:"component-name.php",id:"component-namephp",level:3},{value:"component-name-editor.scss",id:"component-name-editorscss",level:3},{value:"component-name-style.scss",id:"component-name-stylescss",level:3},{value:"Note on the component styles",id:"note-on-the-component-styles",level:4}];function p(e){const n={a:"a",code:"code",h3:"h3",h4:"h4",img:"img",p:"p",pre:"pre",...(0,s.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/v2.0.0/blocks/init/src/blocks/components/button",children:(0,t.jsx)(n.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsx)(n.p,{children:"Component naming and folder structure are not as strict as in the case of the block, but for the sake of consistency, it would be better to follow the same principles."}),"\n",(0,t.jsx)(n.p,{children:"Basic component structure should like something this:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-shell",children:"|____component-name\n| |____components\n| | |____component-name-editor.js\n| | |____component-name-options.js\n| | |____component-name-toolbar.js\n| |____component-name.php\n| |____component-name-editor.scss\n| |____component-name-style.scss\n"})}),"\n",(0,t.jsxs)(n.p,{children:["For example, you can check ",(0,t.jsx)(n.a,{href:"/storybook",children:"storybook"}),"."]}),"\n",(0,t.jsx)(n.h3,{id:"components",children:"components"}),"\n",(0,t.jsxs)(n.p,{children:["This folder contains all the javascript components that are used in the component. The folder can include ",(0,t.jsx)(n.code,{children:"editor"}),", ",(0,t.jsx)(n.code,{children:"options"})," or ",(0,t.jsx)(n.code,{children:"toolbar"})," component."]}),"\n",(0,t.jsx)(n.h3,{id:"component-name-editorjs",children:"component-name-editor.js"}),"\n",(0,t.jsx)(n.p,{children:"JavaScript component for handling component editor. The component editor is what will be shown in the main editor screen."}),"\n",(0,t.jsx)(n.h3,{id:"component-name-optionsjs",children:"component-name-options.js"}),"\n",(0,t.jsx)(n.p,{children:"JavaScript component for handling component options. Component options are displayed on the right side of the Block Editor editor. You can set various things here - component color, element sizes (usually font sizes), and other features."}),"\n",(0,t.jsx)(n.h3,{id:"component-name-toolbarsjs",children:"component-name-toolbars.js"}),"\n",(0,t.jsx)(n.p,{children:"JavaScript component for handling component toolbars. Toolbars are displayed at the top of every component - things like font-weight, alignment, etc."}),"\n",(0,t.jsx)(n.h3,{id:"component-namephp",children:"component-name.php"}),"\n",(0,t.jsx)(n.p,{children:"This file contains the front-end part (the view) of the component, used in your project when the page renders. This file shouldn't contain any business logic, just presenting the passed attributes."}),"\n",(0,t.jsx)(n.h3,{id:"component-name-editorscss",children:"component-name-editor.scss"}),"\n",(0,t.jsx)(n.p,{children:"This file only contains the editor styles for the component. Editor styles are only applied to the editor screen in the admin."}),"\n",(0,t.jsx)(n.h3,{id:"component-name-stylescss",children:"component-name-style.scss"}),"\n",(0,t.jsxs)(n.p,{children:["This file contains the editor and the front-end styles for the component. These styles will be applied to both the editor screen and your front end. This is just the way the core editor is set up. Each component has the ",(0,t.jsx)(n.code,{children:"blockClass"})," attribute that returns a block name with a block prefix, for example: ",(0,t.jsx)(n.code,{children:".block-intro"}),". You can/must use this naming convention when stying your block. Just like with any other SCSS components, the Block Editor block must also be standalone and easy to copy to different projects (reusable)."]}),"\n",(0,t.jsx)(n.h4,{id:"note-on-the-component-styles",children:"Note on the component styles"}),"\n",(0,t.jsx)(n.p,{children:"Component styles should only style the inner component layout and styles such as font sizes, alignment, etc. Any layout placement should be handled either by the wrapper, or a layout."})]})}function d(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(p,{...e})}):p(e)}},11151:(e,n,o)=>{o.d(n,{Z:()=>r,a:()=>i});var t=o(67294);const s={},c=t.createContext(s);function i(e){const n=t.useContext(c);return t.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(s):e.components||s:i(e.components),t.createElement(c.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2a89e141.ab5b6fbd.js b/assets/js/2a89e141.ab5b6fbd.js new file mode 100644 index 000000000..d32695f3f --- /dev/null +++ b/assets/js/2a89e141.ab5b6fbd.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[51688],{10304:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>c,contentTitle:()=>l,default:()=>h,frontMatter:()=>r,metadata:()=>i,toc:()=>a});var o=t(17624),n=t(4552);const r={id:"blocks-structure",title:"Structure",sidebar_label:"Structure"},l=void 0,i={id:"legacy/v5/basics/blocks-structure",title:"Structure",description:"docs-source",source:"@site/docs/legacy/v5/basics/blocks-structure.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/blocks-structure",permalink:"/docs/legacy/v5/basics/blocks-structure",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-structure",title:"Structure",sidebar_label:"Structure"},sidebar:"docs",previous:{title:"Registration",permalink:"/docs/legacy/v5/basics/blocks-registration"},next:{title:"Global Manifest",permalink:"/docs/legacy/v5/basics/blocks-global-manifest"}},c={},a=[{value:"Blocks folder",id:"blocks-folder",level:3},{value:"Assets",id:"assets",level:3},{value:"Components",id:"components",level:3},{value:"Custom",id:"custom",level:3},{value:"Variations",id:"variations",level:3},{value:"Wrapper",id:"wrapper",level:3},{value:"Manifest.json",id:"manifestjson",level:3},{value:"Blocks.php",id:"blocksphp",level:3}];function d(e){const s={a:"a",code:"code",h3:"h3",img:"img",li:"li",p:"p",ul:"ul",...(0,n.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s.p,{children:(0,o.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/",children:(0,o.jsx)(s.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(s.p,{children:"For the library to work and register blocks dynamically, a specific folder structure and naming must be followed."}),"\n",(0,o.jsx)(s.p,{children:"Your folder structure should be like this:"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:["src","\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:["Blocks","\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsx)(s.li,{children:"assets"}),"\n",(0,o.jsx)(s.li,{children:"components"}),"\n",(0,o.jsx)(s.li,{children:"custom"}),"\n",(0,o.jsx)(s.li,{children:"variations"}),"\n",(0,o.jsx)(s.li,{children:"wrapper"}),"\n",(0,o.jsx)(s.li,{children:"Blocks.php"}),"\n",(0,o.jsx)(s.li,{children:"manifest.json"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(s.h3,{id:"blocks-folder",children:"Blocks folder"}),"\n",(0,o.jsxs)(s.p,{children:["This folder contains all the blocks defined in your project. Every block is located in the ",(0,o.jsx)(s.code,{children:"custom"})," folder, and every component is located in the ",(0,o.jsx)(s.code,{children:"components"})," folder. Blocks can be created from multiple block editor components or your project components."]}),"\n",(0,o.jsx)(s.h3,{id:"assets",children:"Assets"}),"\n",(0,o.jsx)(s.p,{children:"This folder contains all the additional files for the blocks you only need to use on the front end. Everything that is not a block or a component goes here, such as defining global style, global JavaScript helpers, project images, fonts, etc. Also, we register all blocks, styles, and scripts in the assets folder so that nothing works without this folder."}),"\n",(0,o.jsx)(s.h3,{id:"components",children:"Components"}),"\n",(0,o.jsxs)(s.p,{children:["This folder contains all the components that are shared across blocks and project template files. Components are not registered as blocks because they are small chunks of code you can reuse everywhere. For instance, you can create a menu component to be used in the footer but also reused in a separate menu block. Please refer to the ",(0,o.jsx)(s.a,{href:"blocks-component-structure",children:"component structure"})," chapter for more details."]}),"\n",(0,o.jsx)(s.h3,{id:"custom",children:"Custom"}),"\n",(0,o.jsxs)(s.p,{children:["This folder contains all the custom blocks defined and used in your project. Please refer to the ",(0,o.jsx)(s.a,{href:"block-structure",children:"block structure"})," chapter for more details."]}),"\n",(0,o.jsx)(s.h3,{id:"variations",children:"Variations"}),"\n",(0,o.jsxs)(s.p,{children:["This folder contains all the variations blocks defined and used in your project. Please refer to the ",(0,o.jsx)(s.a,{href:"blocks-variations",children:"variations"})," chapter for more details."]}),"\n",(0,o.jsx)(s.h3,{id:"wrapper",children:"Wrapper"}),"\n",(0,o.jsxs)(s.p,{children:["This folder contains a wrapper component that wraps all blocks with shared variables and gives blocks the ability to behave as a section. Please refer to the ",(0,o.jsx)(s.a,{href:"blocks-wrapper",children:"wrapper"})," chapter for more details."]}),"\n",(0,o.jsx)(s.h3,{id:"manifestjson",children:"Manifest.json"}),"\n",(0,o.jsxs)(s.p,{children:["This file contains global settings for the project. It must contain ",(0,o.jsx)(s.code,{children:"namespace"})," and ",(0,o.jsx)(s.code,{children:"background"})," keys. Everything else is optional. Here you can store data you intend to share across toolbars, components, and blocks. Please refer to the ",(0,o.jsx)(s.a,{href:"block-manifest",children:"block manifest"})," chapter for more details."]}),"\n",(0,o.jsx)(s.h3,{id:"blocksphp",children:"Blocks.php"}),"\n",(0,o.jsx)(s.p,{children:"This is the main service class responsible for registering all the PHP parts of the blocks like:"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsx)(s.li,{children:"dynamic blocks view;"}),"\n",(0,o.jsx)(s.li,{children:"custom category for your blocks;"}),"\n",(0,o.jsx)(s.li,{children:"default color pallet;"}),"\n",(0,o.jsx)(s.li,{children:"what blocks you are going to use; and"}),"\n",(0,o.jsx)(s.li,{children:"all the custom functionality that you will write for the project."}),"\n"]})]})}function h(e={}){const{wrapper:s}={...(0,n.M)(),...e.components};return s?(0,o.jsx)(s,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},4552:(e,s,t)=>{t.d(s,{I:()=>i,M:()=>l});var o=t(11504);const n={},r=o.createContext(n);function l(e){const s=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function i(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:l(e.components),o.createElement(r.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2a89e141.c01e3167.js b/assets/js/2a89e141.c01e3167.js deleted file mode 100644 index 7ad647c18..000000000 --- a/assets/js/2a89e141.c01e3167.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[42367],{50053:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>c,contentTitle:()=>l,default:()=>h,frontMatter:()=>r,metadata:()=>i,toc:()=>a});var o=t(85893),n=t(11151);const r={id:"blocks-structure",title:"Structure",sidebar_label:"Structure"},l=void 0,i={id:"legacy/v5/basics/blocks-structure",title:"Structure",description:"docs-source",source:"@site/docs/legacy/v5/basics/blocks-structure.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/blocks-structure",permalink:"/docs/legacy/v5/basics/blocks-structure",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-structure",title:"Structure",sidebar_label:"Structure"},sidebar:"docs",previous:{title:"Registration",permalink:"/docs/legacy/v5/basics/blocks-registration"},next:{title:"Global Manifest",permalink:"/docs/legacy/v5/basics/blocks-global-manifest"}},c={},a=[{value:"Blocks folder",id:"blocks-folder",level:3},{value:"Assets",id:"assets",level:3},{value:"Components",id:"components",level:3},{value:"Custom",id:"custom",level:3},{value:"Variations",id:"variations",level:3},{value:"Wrapper",id:"wrapper",level:3},{value:"Manifest.json",id:"manifestjson",level:3},{value:"Blocks.php",id:"blocksphp",level:3}];function d(e){const s={a:"a",code:"code",h3:"h3",img:"img",li:"li",p:"p",ul:"ul",...(0,n.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s.p,{children:(0,o.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/",children:(0,o.jsx)(s.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(s.p,{children:"For the library to work and register blocks dynamically, a specific folder structure and naming must be followed."}),"\n",(0,o.jsx)(s.p,{children:"Your folder structure should be like this:"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:["src","\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:["Blocks","\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsx)(s.li,{children:"assets"}),"\n",(0,o.jsx)(s.li,{children:"components"}),"\n",(0,o.jsx)(s.li,{children:"custom"}),"\n",(0,o.jsx)(s.li,{children:"variations"}),"\n",(0,o.jsx)(s.li,{children:"wrapper"}),"\n",(0,o.jsx)(s.li,{children:"Blocks.php"}),"\n",(0,o.jsx)(s.li,{children:"manifest.json"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(s.h3,{id:"blocks-folder",children:"Blocks folder"}),"\n",(0,o.jsxs)(s.p,{children:["This folder contains all the blocks defined in your project. Every block is located in the ",(0,o.jsx)(s.code,{children:"custom"})," folder, and every component is located in the ",(0,o.jsx)(s.code,{children:"components"})," folder. Blocks can be created from multiple block editor components or your project components."]}),"\n",(0,o.jsx)(s.h3,{id:"assets",children:"Assets"}),"\n",(0,o.jsx)(s.p,{children:"This folder contains all the additional files for the blocks you only need to use on the front end. Everything that is not a block or a component goes here, such as defining global style, global JavaScript helpers, project images, fonts, etc. Also, we register all blocks, styles, and scripts in the assets folder so that nothing works without this folder."}),"\n",(0,o.jsx)(s.h3,{id:"components",children:"Components"}),"\n",(0,o.jsxs)(s.p,{children:["This folder contains all the components that are shared across blocks and project template files. Components are not registered as blocks because they are small chunks of code you can reuse everywhere. For instance, you can create a menu component to be used in the footer but also reused in a separate menu block. Please refer to the ",(0,o.jsx)(s.a,{href:"blocks-component-structure",children:"component structure"})," chapter for more details."]}),"\n",(0,o.jsx)(s.h3,{id:"custom",children:"Custom"}),"\n",(0,o.jsxs)(s.p,{children:["This folder contains all the custom blocks defined and used in your project. Please refer to the ",(0,o.jsx)(s.a,{href:"block-structure",children:"block structure"})," chapter for more details."]}),"\n",(0,o.jsx)(s.h3,{id:"variations",children:"Variations"}),"\n",(0,o.jsxs)(s.p,{children:["This folder contains all the variations blocks defined and used in your project. Please refer to the ",(0,o.jsx)(s.a,{href:"blocks-variations",children:"variations"})," chapter for more details."]}),"\n",(0,o.jsx)(s.h3,{id:"wrapper",children:"Wrapper"}),"\n",(0,o.jsxs)(s.p,{children:["This folder contains a wrapper component that wraps all blocks with shared variables and gives blocks the ability to behave as a section. Please refer to the ",(0,o.jsx)(s.a,{href:"blocks-wrapper",children:"wrapper"})," chapter for more details."]}),"\n",(0,o.jsx)(s.h3,{id:"manifestjson",children:"Manifest.json"}),"\n",(0,o.jsxs)(s.p,{children:["This file contains global settings for the project. It must contain ",(0,o.jsx)(s.code,{children:"namespace"})," and ",(0,o.jsx)(s.code,{children:"background"})," keys. Everything else is optional. Here you can store data you intend to share across toolbars, components, and blocks. Please refer to the ",(0,o.jsx)(s.a,{href:"block-manifest",children:"block manifest"})," chapter for more details."]}),"\n",(0,o.jsx)(s.h3,{id:"blocksphp",children:"Blocks.php"}),"\n",(0,o.jsx)(s.p,{children:"This is the main service class responsible for registering all the PHP parts of the blocks like:"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsx)(s.li,{children:"dynamic blocks view;"}),"\n",(0,o.jsx)(s.li,{children:"custom category for your blocks;"}),"\n",(0,o.jsx)(s.li,{children:"default color pallet;"}),"\n",(0,o.jsx)(s.li,{children:"what blocks you are going to use; and"}),"\n",(0,o.jsx)(s.li,{children:"all the custom functionality that you will write for the project."}),"\n"]})]})}function h(e={}){const{wrapper:s}={...(0,n.a)(),...e.components};return s?(0,o.jsx)(s,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},11151:(e,s,t)=>{t.d(s,{Z:()=>i,a:()=>l});var o=t(67294);const n={},r=o.createContext(n);function l(e){const s=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function i(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:l(e.components),o.createElement(r.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2b4fbe73.246737f5.js b/assets/js/2b4fbe73.246737f5.js new file mode 100644 index 000000000..c69a64219 --- /dev/null +++ b/assets/js/2b4fbe73.246737f5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[80176],{61932:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>r,toc:()=>l});var t=n(17624),i=n(4552);const o={id:"namespaces",title:"Namespaces"},a=void 0,r={id:"basics/namespaces",title:"Namespaces",description:"docs-source",source:"@site/docs/basics/namespaces.md",sourceDirName:"basics",slug:"/basics/namespaces",permalink:"/docs/basics/namespaces",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"namespaces",title:"Namespaces"},sidebar:"docs",previous:{title:"General",permalink:"/docs/basics/backend"},next:{title:"Extending Classes",permalink:"/docs/basics/extending-classes"}},c={},l=[{value:"Important note",id:"important-note",level:3}];function d(e){const s={a:"a",admonition:"admonition",code:"code",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/infinum/eightshift-libs",children:(0,t.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsx)(s.admonition,{type:"tip",children:(0,t.jsxs)(s.p,{children:["The PHP codebase of this project lives in ",(0,t.jsx)(s.code,{children:"EightshiftLibs"})," namespace."]})}),"\n",(0,t.jsxs)(s.p,{children:["Because WordPress lives in a global namespace, we had to provide the way for your project to be unique. That is why we implemented ",(0,t.jsx)(s.a,{href:"https://github.com/infinum/imposter-plugin",children:(0,t.jsx)(s.strong,{children:"Imposter"})})," in ",(0,t.jsx)(s.code,{children:"composer.json"}),". Imposter adds a namespace prefix to all the packages inside the ",(0,t.jsx)(s.code,{children:"vendor"})," folder that use namespacing."]}),"\n",(0,t.jsxs)(s.p,{children:["You can change the vendor prefix in your ",(0,t.jsx)(s.code,{children:"composer.json"})," file. If you do this, make sure you delete the ",(0,t.jsx)(s.code,{children:"vendor"})," folder and re-run ",(0,t.jsx)(s.code,{children:"composer install"}),"."]}),"\n",(0,t.jsx)(s.p,{children:"Using the default setup, your project will have the namespace you defined in the setup process."}),"\n",(0,t.jsxs)(s.p,{children:["However, let's say you change your ",(0,t.jsx)(s.code,{children:"composer.json"})," file to contain this snippet:"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-json",children:'"autoload": {\n "psr-4": {\n "CustomProject\\\\": "src/"\n }\n},\n"extra": {\n "imposter": {\n "namespace": "EightshiftBoilerplateVendor"\n }\n}\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Your current namespace is: ",(0,t.jsx)(s.code,{children:"CustomProject"}),"."]}),"\n",(0,t.jsxs)(s.li,{children:["Namespace for Eightshift Libs becomes: ",(0,t.jsx)(s.code,{children:"EightshiftBoilerplateVendor\\EightshiftLibs"}),"."]}),"\n",(0,t.jsxs)(s.li,{children:["Every package you additionally install will follow the same convention: ",(0,t.jsx)(s.code,{children:"EightshiftBoilerplateVendor\\SomePackageNamespace"}),"."]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"To sum it up"}),": you don't need to change the default vendor prefix if you only run one theme or one plugin with Eightshift Development Kit. If you have multiple Eightshift Development Kit-powered themes or plugins installed, please change the vendor prefix on each of the projects."]}),"\n",(0,t.jsx)(s.h3,{id:"important-note",children:"Important note"}),"\n",(0,t.jsxs)(s.p,{children:["If you are installing additional composer packages, make sure that they don't have any inline namespace usage. All referenced classes should be imported with ",(0,t.jsx)(s.code,{children:"use"})," statements, which must be defined at the top of files."]}),"\n",(0,t.jsx)(s.p,{children:"The Imposter plugin is not able to replace inline namespaces, which will cause issues with classname resolution and result in a fatal error getting thrown."}),"\n",(0,t.jsx)(s.p,{children:"To fix these issues, either create a PR on the package and fix this for everyone, or exclude this package from imposter script. Keep in mind that can have some unexpected side effects that we can't predict."})]})}function h(e={}){const{wrapper:s}={...(0,i.M)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},4552:(e,s,n)=>{n.d(s,{I:()=>r,M:()=>a});var t=n(11504);const i={},o=t.createContext(i);function a(e){const s=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),t.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2b4fbe73.c1991394.js b/assets/js/2b4fbe73.c1991394.js deleted file mode 100644 index 4d6d915f2..000000000 --- a/assets/js/2b4fbe73.c1991394.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[46946],{27395:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>r,toc:()=>l});var t=n(85893),i=n(11151);const o={id:"namespaces",title:"Namespaces"},a=void 0,r={id:"basics/namespaces",title:"Namespaces",description:"docs-source",source:"@site/docs/basics/namespaces.md",sourceDirName:"basics",slug:"/basics/namespaces",permalink:"/docs/basics/namespaces",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"namespaces",title:"Namespaces"},sidebar:"docs",previous:{title:"General",permalink:"/docs/basics/backend"},next:{title:"Extending Classes",permalink:"/docs/basics/extending-classes"}},c={},l=[{value:"Important note",id:"important-note",level:3}];function d(e){const s={a:"a",admonition:"admonition",code:"code",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/infinum/eightshift-libs",children:(0,t.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsx)(s.admonition,{type:"tip",children:(0,t.jsxs)(s.p,{children:["The PHP codebase of this project lives in ",(0,t.jsx)(s.code,{children:"EightshiftLibs"})," namespace."]})}),"\n",(0,t.jsxs)(s.p,{children:["Because WordPress lives in a global namespace, we had to provide the way for your project to be unique. That is why we implemented ",(0,t.jsx)(s.a,{href:"https://github.com/infinum/imposter-plugin",children:(0,t.jsx)(s.strong,{children:"Imposter"})})," in ",(0,t.jsx)(s.code,{children:"composer.json"}),". Imposter adds a namespace prefix to all the packages inside the ",(0,t.jsx)(s.code,{children:"vendor"})," folder that use namespacing."]}),"\n",(0,t.jsxs)(s.p,{children:["You can change the vendor prefix in your ",(0,t.jsx)(s.code,{children:"composer.json"})," file. If you do this, make sure you delete the ",(0,t.jsx)(s.code,{children:"vendor"})," folder and re-run ",(0,t.jsx)(s.code,{children:"composer install"}),"."]}),"\n",(0,t.jsx)(s.p,{children:"Using the default setup, your project will have the namespace you defined in the setup process."}),"\n",(0,t.jsxs)(s.p,{children:["However, let's say you change your ",(0,t.jsx)(s.code,{children:"composer.json"})," file to contain this snippet:"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-json",children:'"autoload": {\n "psr-4": {\n "CustomProject\\\\": "src/"\n }\n},\n"extra": {\n "imposter": {\n "namespace": "EightshiftBoilerplateVendor"\n }\n}\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Your current namespace is: ",(0,t.jsx)(s.code,{children:"CustomProject"}),"."]}),"\n",(0,t.jsxs)(s.li,{children:["Namespace for Eightshift Libs becomes: ",(0,t.jsx)(s.code,{children:"EightshiftBoilerplateVendor\\EightshiftLibs"}),"."]}),"\n",(0,t.jsxs)(s.li,{children:["Every package you additionally install will follow the same convention: ",(0,t.jsx)(s.code,{children:"EightshiftBoilerplateVendor\\SomePackageNamespace"}),"."]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"To sum it up"}),": you don't need to change the default vendor prefix if you only run one theme or one plugin with Eightshift Development Kit. If you have multiple Eightshift Development Kit-powered themes or plugins installed, please change the vendor prefix on each of the projects."]}),"\n",(0,t.jsx)(s.h3,{id:"important-note",children:"Important note"}),"\n",(0,t.jsxs)(s.p,{children:["If you are installing additional composer packages, make sure that they don't have any inline namespace usage. All referenced classes should be imported with ",(0,t.jsx)(s.code,{children:"use"})," statements, which must be defined at the top of files."]}),"\n",(0,t.jsx)(s.p,{children:"The Imposter plugin is not able to replace inline namespaces, which will cause issues with classname resolution and result in a fatal error getting thrown."}),"\n",(0,t.jsx)(s.p,{children:"To fix these issues, either create a PR on the package and fix this for everyone, or exclude this package from imposter script. Keep in mind that can have some unexpected side effects that we can't predict."})]})}function h(e={}){const{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},11151:(e,s,n)=>{n.d(s,{Z:()=>r,a:()=>a});var t=n(67294);const i={},o=t.createContext(i);function a(e){const s=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),t.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2bd83684.95d71f76.js b/assets/js/2bd83684.95d71f76.js new file mode 100644 index 000000000..b136b4628 --- /dev/null +++ b/assets/js/2bd83684.95d71f76.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[48676],{768:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>r});var i=n(17624),t=n(4552);const o={id:"architecture-concepts",title:"Architecture concepts"},a=void 0,c={id:"legacy/v6/basics/architecture-concepts",title:"Architecture concepts",description:"Project structure",source:"@site/docs/legacy/v6/basics/architecture-concepts.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/architecture-concepts",permalink:"/docs/legacy/v6/basics/architecture-concepts",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"architecture-concepts",title:"Architecture concepts"},sidebar:"docs",previous:{title:"WP-CLI",permalink:"/docs/legacy/v6/basics/wp-cli"},next:{title:"General",permalink:"/docs/legacy/v6/basics/backend"}},l={},r=[{value:"Project structure",id:"project-structure",level:2},{value:"Object-oriented paradigms",id:"object-oriented-paradigms",level:2},{value:"Blocks and Components",id:"blocks-and-components",level:2},{value:"The Manifest",id:"the-manifest",level:2},{value:"The directory structure in detail",id:"the-directory-structure-in-detail",level:2},{value:"Blocks",id:"blocks",level:4},{value:"Columns",id:"columns",level:4},{value:"Config",id:"config",level:4},{value:"CustomMeta",id:"custommeta",level:4},{value:"CustomPostType",id:"customposttype",level:4},{value:"CustomTaxonomy",id:"customtaxonomy",level:4},{value:"Enqueue",id:"enqueue",level:4},{value:"Exception",id:"exception",level:4},{value:"Helpers",id:"helpers",level:4},{value:"I18n",id:"i18n",level:4},{value:"Main",id:"main",level:4},{value:"Manifest",id:"manifest",level:4},{value:"Media",id:"media",level:4},{value:"Menu",id:"menu",level:4},{value:"ModifyAdminAppearance",id:"modifyadminappearance",level:4},{value:"Plugin",id:"plugin",level:4},{value:"Rest",id:"rest",level:4},{value:"ThemeOptions",id:"themeoptions",level:4},{value:"View",id:"view",level:4},{value:".storybook",id:"storybook",level:4},{value:".gitignore",id:"gitignore",level:4},{value:".eslintignore",id:"eslintignore",level:4},{value:".eslintrc",id:"eslintrc",level:4},{value:".stylelintrc",id:"stylelintrc",level:4},{value:"babel.config.js",id:"babelconfigjs",level:4},{value:"composer.json",id:"composerjson",level:4},{value:"composer.lock",id:"composerlock",level:4},{value:"package-lock.json",id:"package-lockjson",level:4},{value:"package.json",id:"packagejson",level:4},{value:"phpcs.xml.dist",id:"phpcsxmldist",level:4},{value:"postcss.config.js",id:"postcssconfigjs",level:4},{value:"webpack.config.js",id:"webpackconfigjs",level:4}];function d(e){const s={a:"a",code:"code",em:"em",h2:"h2",h4:"h4",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,t.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.h2,{id:"project-structure",children:"Project structure"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/infinum/eightshift-libs/tree/4.0.0",children:(0,i.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsxs)(s.p,{children:["Eightshift Development Kit follows a strict project structure to support autoloading, dependency injection and ",(0,i.jsx)(s.code,{children:"wp boilerplate"})," commands, as well as conventions to increase codebase understanding between developers. As an added benefit, following this structure and conventions makes your codebase more consistent and organized."]}),"\n",(0,i.jsxs)(s.p,{children:["While Eightshift Development Kit provides required theme files and common theme files such as ",(0,i.jsx)(s.code,{children:"style.css"})," and ",(0,i.jsx)(s.code,{children:"functions.php"}),", they're used differently to what you might expect if you've worked with WordPress themes previously. For instance, ",(0,i.jsx)(s.code,{children:"style.css"})," is used only to register theme metadata, and doesn't contain any actual styles, as they're built using Webpack and use cache busting. ",(0,i.jsx)(s.code,{children:"functions.php"})," simply bootstraps the execution lifecycle. We also provide very basic template partials, such as ",(0,i.jsx)(s.code,{children:"single.php"}),", which you can acommodate to your needs. An idea to consider is replacing some of them with pages that are editable in Gutenberg."]}),"\n",(0,i.jsxs)(s.p,{children:["While you'll find some additional configuration files such as ",(0,i.jsx)(s.code,{children:"webpack.config.js"})," in the project root, the majority of your projects codebase should live in the ",(0,i.jsx)(s.code,{children:"src"})," directory, which is autoloaded via Composer following PSR-4 conventions. This implies that every directory under ",(0,i.jsx)(s.code,{children:"src"})," is a namespace under your base namespace (which is your project name), and PHP files inside of those directories are classes in that namespace, with exceptions for filenames that aren't in ",(0,i.jsx)(s.code,{children:"StudlyCase"}),"."]}),"\n",(0,i.jsxs)(s.p,{children:["An Eightshift Development Kit convention is to structure namespaces around features and functionality, so for instance, all custom post types would be part of the ",(0,i.jsx)(s.code,{children:"ProjectName\\CustomPostType"})," namespace."]}),"\n",(0,i.jsx)(s.h2,{id:"object-oriented-paradigms",children:"Object-oriented paradigms"}),"\n",(0,i.jsx)(s.p,{children:"Eightshift Libs is entirely object-oriented, providing abstract classes for internal library functionality, interfaces you can use to implement certain classes to make use of Eightshift Development Kit features, as well as concrete class implementations for use in projects."}),"\n",(0,i.jsx)(s.p,{children:"Our use of OOP allows you to extend, modify or even replace Eightshift Development Kit functionality safely, without breaking compatibility or harming your project."}),"\n",(0,i.jsxs)(s.p,{children:["One of the most important interfaces in Eightshift Libs is the ",(0,i.jsx)(s.code,{children:"ServiceInterface"}),". Classes that implement it are called service classes. This isn't a common pattern in PHP OOP. In Eightshift Development Kit, a service class represents a part of the project's functionality and has a ",(0,i.jsx)(s.code,{children:"register"})," method that sets up the action and filter hooks for the service. If you need to add an action or a filter, you should do that in a service class. All your service classes are automatically loaded and can have dependencies injected using dependency injection."]}),"\n",(0,i.jsxs)(s.p,{children:["To ensure there are no naming collisions caused by Composer dependencies, we use the ",(0,i.jsx)(s.a,{href:"https://github.com/infinum/imposter-plugin",children:"Imposter Composer plugin"})," to contain them in the ",(0,i.jsx)(s.code,{children:"{ProjectName}Vendor"})," namespace. This comes with a few caveats which you should be aware of, and about which you can read more in the ",(0,i.jsx)(s.a,{href:"namespaces",children:"namespaces chapter"}),"."]}),"\n",(0,i.jsxs)(s.p,{children:["Read more about ",(0,i.jsx)(s.a,{href:"namespaces",children:"namespaces and Imposter"}),", ",(0,i.jsx)(s.a,{href:"extending-classes",children:"extending classes and service classes"}),", and ",(0,i.jsx)(s.a,{href:"autowiring",children:"dependency injection and autowiring"}),"."]}),"\n",(0,i.jsx)(s.h2,{id:"blocks-and-components",children:"Blocks and Components"}),"\n",(0,i.jsxs)(s.p,{children:["While Blocks and Components will be covered in much more detail in the ",(0,i.jsx)(s.a,{href:"blocks",children:"Blocks chapter"}),", it's worth getting acquainted with the concepts from the start."]}),"\n",(0,i.jsxs)(s.p,{children:["In Gutenberg, Blocks are an abstract unit for structuring content. The same applies in Eightshift, with an additional concept of ",(0,i.jsx)(s.em,{children:"Components"}),", which are abstract units for structuring blocks and layouts."]}),"\n",(0,i.jsx)(s.p,{children:"Components are mostly similar to Blocks, with a few key differences:"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"Components can not be inserted by users in Gutenberg, and are not registered as block types"}),"\n",(0,i.jsxs)(s.li,{children:["Components can be rendered in any context using the ",(0,i.jsx)(s.code,{children:"Components::render"})," method, with arbitrary attribute values passed to them"]}),"\n",(0,i.jsxs)(s.li,{children:["Blocks are usually only rendered using the render callback provided when registering the block","\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"Note that in the Eightshift Development Kit, the render callback is provided for you by Eightshift Libs. It automatically adds the wrapper if necessary and sets up your block view."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["Components don't implement the ",(0,i.jsx)(s.code,{children:"{blockName}-block.js"})," file"]}),"\n"]}),"\n",(0,i.jsx)(s.p,{children:"Blocks and Components have the same structure, which makes extracting components from existing blocks trivially easy."}),"\n",(0,i.jsxs)(s.p,{children:["Components can be ",(0,i.jsx)(s.em,{children:"composed"})," into a block. In other words, blocks can consist out of zero or more components. Component composition is handled in the block manifest, allows you to avoid using InnerBlocks to include functionality shared with other blocks, and serializes component attributes to the block using prefixed attributes for each component instance depending on your manifest definitions."]}),"\n",(0,i.jsxs)(s.p,{children:["To learn more about the differences between blocks and components, read ",(0,i.jsx)(s.a,{href:"/blog/components-and-blocks",children:"Igor's blog post on Components and blocks"}),". To learn how to use blocks and components to build your projects, read the ",(0,i.jsx)(s.a,{href:"blocks",children:"Blocks chapter"}),"."]}),"\n",(0,i.jsx)(s.h2,{id:"the-manifest",children:"The Manifest"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"manifest.json"})," files contain metadata, configurations and variables."]}),"\n",(0,i.jsxs)(s.p,{children:["Every Eightshift project has one global ",(0,i.jsx)(s.code,{children:"manifest.json"})," file stored in ",(0,i.jsx)(s.code,{children:"src/Blocks/manifest.json"}),", which contains global settings, properties, and variables."]}),"\n",(0,i.jsx)(s.p,{children:"Furthermore, every Eightshift block, component, and variation has its own manifest file which is used to provide data required for block registration, such as a list of attributes, the block name, and the template for the inserter example. These local manifest files allow you to define arrays of options for attribute values that your blocks or components can consume. Manifest files also allow you to define relationships between attribute values and CSS variable values, which allows you a great deal of power when styling your blocks and components, as well as saves time as you don't have to provide conditional CSS classes."}),"\n",(0,i.jsxs)(s.p,{children:["To learn more about the ",(0,i.jsx)(s.a,{href:"/docs/legacy/v6/basics/blocks-global-manifest",children:"global manifest"}),", ",(0,i.jsx)(s.a,{href:"/docs/legacy/v6/basics/block-manifest",children:"block manifest"}),", ",(0,i.jsx)(s.a,{href:"/docs/legacy/v6/basics/blocks-component-manifest",children:"component manifest"})," and using ",(0,i.jsx)(s.a,{href:"/docs/legacy/v6/basics/blocks-styles",children:"the manifest to provide CSS variables for use in block styling"}),", read the respective articles in the ",(0,i.jsx)(s.a,{href:"blocks-important",children:"Blocks chapter"}),". For information about manifest structure, refer to the manifest schemas available in Eightshift Frontend Libs and linked to in the manifest files."]}),"\n",(0,i.jsx)(s.h2,{id:"the-directory-structure-in-detail",children:"The directory structure in detail"}),"\n",(0,i.jsxs)(s.p,{children:["Your project might contain a different set of namespaces and classes in the ",(0,i.jsx)(s.code,{children:"src"})," folder, depending on what you've included using wp boilerplate commands.\nBy default, your project will include the ",(0,i.jsx)(s.code,{children:"Blocks"}),", ",(0,i.jsx)(s.code,{children:"Config"}),", ",(0,i.jsx)(s.code,{children:"Enqueue"}),", ",(0,i.jsx)(s.code,{children:"Main"}),", ",(0,i.jsx)(s.code,{children:"Manifest"})," and ",(0,i.jsx)(s.code,{children:"Menu"})," namespaces. You can include classes from Eightshift Libs to provide additional functionality manually or using wp boilerplate."]}),"\n",(0,i.jsx)(s.p,{children:"This chapter also doesn't cover all of the namespaces and classes in Eightshift Libs, or their use. Check out the source code documentation for all available namespaces and classes."}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:["src","\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"Blocks"}),"\n",(0,i.jsx)(s.li,{children:"assets"}),"\n",(0,i.jsx)(s.li,{children:"components"}),"\n",(0,i.jsx)(s.li,{children:"custom"}),"\n",(0,i.jsx)(s.li,{children:"variations"}),"\n",(0,i.jsx)(s.li,{children:"wrapper"}),"\n",(0,i.jsx)(s.li,{children:"Columns"}),"\n",(0,i.jsx)(s.li,{children:"Config"}),"\n",(0,i.jsx)(s.li,{children:"CustomMeta"}),"\n",(0,i.jsx)(s.li,{children:"CustomPostType"}),"\n",(0,i.jsx)(s.li,{children:"CustomTaxonomy"}),"\n",(0,i.jsxs)(s.li,{children:["Enqueue","\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"Admin"}),"\n",(0,i.jsx)(s.li,{children:"Blocks"}),"\n",(0,i.jsx)(s.li,{children:"Theme"}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.li,{children:"Exception"}),"\n",(0,i.jsx)(s.li,{children:"Helpers"}),"\n",(0,i.jsx)(s.li,{children:"I18n"}),"\n",(0,i.jsx)(s.li,{children:"Main"}),"\n",(0,i.jsx)(s.li,{children:"Manifest"}),"\n",(0,i.jsx)(s.li,{children:"Media"}),"\n",(0,i.jsx)(s.li,{children:"Menu"}),"\n",(0,i.jsx)(s.li,{children:"ModifyAdminAppearance"}),"\n",(0,i.jsx)(s.li,{children:"Plugin"}),"\n",(0,i.jsx)(s.li,{children:"Rest"}),"\n",(0,i.jsx)(s.li,{children:"ThemeOptions"}),"\n",(0,i.jsx)(s.li,{children:"View"}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.li,{children:".storybook"}),"\n",(0,i.jsx)(s.li,{children:".gitignore"}),"\n",(0,i.jsx)(s.li,{children:".eslintignore"}),"\n",(0,i.jsx)(s.li,{children:".eslintrc"}),"\n",(0,i.jsx)(s.li,{children:".stylelintrc"}),"\n",(0,i.jsx)(s.li,{children:"babel.config.js"}),"\n",(0,i.jsx)(s.li,{children:"composer.json"}),"\n",(0,i.jsx)(s.li,{children:"composer.lock"}),"\n",(0,i.jsx)(s.li,{children:"package-lock.json"}),"\n",(0,i.jsx)(s.li,{children:"package.json"}),"\n",(0,i.jsx)(s.li,{children:"phpcs.xml.dist"}),"\n",(0,i.jsx)(s.li,{children:"postcss.config.js"}),"\n",(0,i.jsx)(s.li,{children:"README.md"}),"\n",(0,i.jsx)(s.li,{children:"webpack.config.js"}),"\n"]}),"\n",(0,i.jsx)(s.h4,{id:"blocks",children:"Blocks"}),"\n",(0,i.jsx)(s.p,{children:"The Blocks namespace contains the Blocks class used for block registration. This directory also contains shared assets, components, blocks, variations, and the wrapper."}),"\n",(0,i.jsxs)(s.p,{children:["Read about blocks in detail in the ",(0,i.jsx)(s.a,{href:"blocks",children:"Blocks chapter"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"columns",children:"Columns"}),"\n",(0,i.jsxs)(s.p,{children:["This namespace contains all the custom admin listing columns hooks in your project. These include listing column hooks for post types, taxonomy, and user lists, such as ",(0,i.jsx)(s.code,{children:"manage_{$post_type}_posts_columns"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"config",children:"Config"}),"\n",(0,i.jsxs)(s.p,{children:["The Config class provides getter methods for your project's configuration, such as ",(0,i.jsx)(s.code,{children:"getProjectName"})," or ",(0,i.jsx)(s.code,{children:"getProjectVersion"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"custommeta",children:"CustomMeta"}),"\n",(0,i.jsx)(s.p,{children:"This class contains all the custom meta hooks for your project."}),"\n",(0,i.jsx)(s.h4,{id:"customposttype",children:"CustomPostType"}),"\n",(0,i.jsxs)(s.p,{children:["This namespace contains classes that register all custom post type hooks for your project. For better code consistency and to save time on boilerplating, Eightshift Development Kit provides an example class implementation you can use with ",(0,i.jsx)(s.code,{children:"wp boilerplate create_post_type"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"customtaxonomy",children:"CustomTaxonomy"}),"\n",(0,i.jsxs)(s.p,{children:["This namespace contains classes that register all custom taxonomy hooks for your project. For better code consistency and to save time on boilerplating, Eightshift Development Kit provides an example class implementation you can use with ",(0,i.jsx)(s.code,{children:"wp boilerplate create_taxonomy"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"enqueue",children:"Enqueue"}),"\n",(0,i.jsx)(s.p,{children:"These Enqueue namespace classes handle loading JavaScript and CSS assets, depending on the location you want to use it:"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.strong,{children:"Admin"})," - Used in the admin (not block editor) panel. You can find the files inside the ",(0,i.jsx)(s.code,{children:"assets"})," folder with the ",(0,i.jsx)(s.code,{children:"-admin"})," suffix."]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.strong,{children:"Blocks"})," - Used in the block editor. You can find the files inside the ",(0,i.jsx)(s.code,{children:"src/Blocks/assets"})," folder. As blocks are complicated, we have files loaded only in the admin-editor part of the project, those files have an ",(0,i.jsx)(s.code,{children:"-editor"})," suffix. The rest of the files with no suffix load on the admin-editor part and the project's front end."]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.strong,{children:"Theme"})," - Used in the theme (frontend) part of your project. You can find the files inside the ",(0,i.jsx)(s.code,{children:"assets"})," folder with no suffix. You would use these files for the assets related to your project that is not associated with components and blocks. These files are rarely used, as styles and JavaScript functionality are usually provided at component, block, or wrapper levels."]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Using any of these classes is optional, and you can use only what you need. The ",(0,i.jsx)(s.code,{children:"wp boilerplate setup_theme"})," command will set up all of the three classes already implemented. Keep in mind that Enqueue classes work in combination with the Webpack build of your project."]}),"\n",(0,i.jsxs)(s.p,{children:["All of the asset files mentioned are prefixed with ",(0,i.jsx)(s.code,{children:"application"}),". If you don't like the prefix, you can change it by providing project overrides for constants used in Eightshift Libs. If you change the file names, you must make changes to the Webpack build process as well. For modifying the Webpack configuration, read the ",(0,i.jsx)(s.a,{href:"webpack",children:"Webpack chapter"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"exception",children:"Exception"}),"\n",(0,i.jsx)(s.p,{children:"This namespace contains all exceptions that can be thrown from the project."}),"\n",(0,i.jsx)(s.h4,{id:"helpers",children:"Helpers"}),"\n",(0,i.jsx)(s.p,{children:"All the backend helpers provided by Eightshift Libs are part of the Helpers namespace. Generally, you can use them from Eightshift Libs without extending or modifying them."}),"\n",(0,i.jsx)(s.h4,{id:"i18n",children:"I18n"}),"\n",(0,i.jsxs)(s.p,{children:["Classes in this namespace are used to define all hooks related to internationalization and localization. For more information about i18n and l10n, check out ",(0,i.jsx)(s.a,{href:"tips-tricks",children:"Tips and tricks"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"main",children:"Main"}),"\n",(0,i.jsxs)(s.p,{children:["The Main namespace contains the ",(0,i.jsx)(s.code,{children:"Main"})," class, which sets up the dependency injection container and autowiring using ",(0,i.jsx)(s.code,{children:"AbstractMain"})," and ",(0,i.jsx)(s.code,{children:"Autowiring"})," classes. For most projects, ",(0,i.jsx)(s.code,{children:"Main"})," can be used automagically without any work on your part, but as with all of the Eightshift Development Kit, you can extend it to suit your needs."]}),"\n",(0,i.jsxs)(s.p,{children:["You can provide manual service classes here as well. Learn more in the ",(0,i.jsx)(s.a,{href:"autowiring",children:"autowiring chapter"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"manifest",children:"Manifest"}),"\n",(0,i.jsxs)(s.p,{children:["The Manifest namespace provides the ",(0,i.jsx)(s.code,{children:"manifest.json"})," file location and helpers to return the full path for a specific asset. Learn more about the manifest in the ",(0,i.jsx)(s.a,{href:"manifest",children:"manifest chapter"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"media",children:"Media"}),"\n",(0,i.jsx)(s.p,{children:"The Media namespace is used to add custom implementations for media, such as adding custom image sizes, enabling SVG image support, etc. By default, it registers theme support for title tags, HTML5 and post thumbnails."}),"\n",(0,i.jsx)(s.h4,{id:"menu",children:"Menu"}),"\n",(0,i.jsx)(s.p,{children:"This class is used to register menu positions."}),"\n",(0,i.jsx)(s.h4,{id:"modifyadminappearance",children:"ModifyAdminAppearance"}),"\n",(0,i.jsx)(s.p,{children:"This class is used to change admin appearance. We use it to change the admin color palette depending on the environment."}),"\n",(0,i.jsx)(s.h4,{id:"plugin",children:"Plugin"}),"\n",(0,i.jsx)(s.p,{children:"This namespace is used only in the plugin boilerplate and holds classes required for activation and deactivation of the plugin."}),"\n",(0,i.jsx)(s.h4,{id:"rest",children:"Rest"}),"\n",(0,i.jsxs)(s.p,{children:["The Rest namespace provides classes for handling REST API fields and routes. This is covered in more detail in the ",(0,i.jsx)(s.a,{href:"rest",children:"REST chapter"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"themeoptions",children:"ThemeOptions"}),"\n",(0,i.jsxs)(s.p,{children:["This namespace is used to add admin menu configuration panels such as ",(0,i.jsx)(s.em,{children:"Theme Options"}),", usually using ACF."]}),"\n",(0,i.jsx)(s.h4,{id:"view",children:"View"}),"\n",(0,i.jsxs)(s.p,{children:["This namespace is used to add filters used when escaping unsafe tags using ",(0,i.jsx)(s.code,{children:"wp_kses_post"})," and ",(0,i.jsx)(s.code,{children:"wp_kses"})," functions."]}),"\n",(0,i.jsx)(s.h4,{id:"storybook",children:".storybook"}),"\n",(0,i.jsxs)(s.p,{children:["This folder contains all of the files necessary to run the storybook in your project. Read more ",(0,i.jsx)(s.a,{href:"https://storybook.js.org/",children:"about the Storybook project"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"gitignore",children:".gitignore"}),"\n",(0,i.jsxs)(s.p,{children:["As the name implies, this file is used to define restrictions to which files Git watches. Read more ",(0,i.jsx)(s.a,{href:"https://git-scm.com/",children:"about Git"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"eslintignore",children:".eslintignore"}),"\n",(0,i.jsx)(s.p,{children:"Defines files and folders which ESLint should ignore when linting."}),"\n",(0,i.jsx)(s.h4,{id:"eslintrc",children:".eslintrc"}),"\n",(0,i.jsxs)(s.p,{children:["Provides definitions used for linting JavaScript files. Read more ",(0,i.jsx)(s.a,{href:"https://eslint.org/",children:"about ESLint"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"stylelintrc",children:".stylelintrc"}),"\n",(0,i.jsxs)(s.p,{children:["Provides definitions used for linting SCSS/CSS stylesheets. Read more ",(0,i.jsx)(s.a,{href:"https://stylelint.io/",children:"about Stylelint"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"babelconfigjs",children:"babel.config.js"}),"\n",(0,i.jsxs)(s.p,{children:["Provides Babel configuration, which determines how your JavaScript code will be compiled, what standard you will use, and much more. Read more ",(0,i.jsx)(s.a,{href:"https://babeljs.io/",children:"about Babel"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"composerjson",children:"composer.json"}),"\n",(0,i.jsxs)(s.p,{children:["Contains a list of your project's Composer dependencies, as well as project metadata and configuration. Dependencies can be added and installed using ",(0,i.jsx)(s.code,{children:"composer install"}),". Read more ",(0,i.jsx)(s.a,{href:"https://getcomposer.org/",children:"about Composer"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"composerlock",children:"composer.lock"}),"\n",(0,i.jsx)(s.p,{children:"Lock files are used to set the package version to the exact release. This ensures that everyone has the same package version when installing."}),"\n",(0,i.jsx)(s.h4,{id:"package-lockjson",children:"package-lock.json"}),"\n",(0,i.jsxs)(s.p,{children:["The same as ",(0,i.jsx)(s.code,{children:"composer.lock"}),", but for node_modules."]}),"\n",(0,i.jsx)(s.h4,{id:"packagejson",children:"package.json"}),"\n",(0,i.jsxs)(s.p,{children:["Contains a list of your project's npm dependencies, as well as project metadata and configuration. Dependencies can be added and installed using ",(0,i.jsx)(s.code,{children:"npm install"}),". Read more ",(0,i.jsx)(s.a,{href:"https://nodejs.dev/",children:"about npm"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"phpcsxmldist",children:"phpcs.xml.dist"}),"\n",(0,i.jsxs)(s.p,{children:["Provides definitions used for linting PHP files. Read more ",(0,i.jsx)(s.a,{href:"https://github.com/squizlabs/PHP_CodeSniffer",children:"about PHPCS"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"postcssconfigjs",children:"postcss.config.js"}),"\n",(0,i.jsxs)(s.p,{children:["PostCSS works in collaboration with Webpack and defines what additional plugins you are going to use when building your CSS files. Read more ",(0,i.jsx)(s.a,{href:"https://postcss.org/",children:"about PostCSS"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"webpackconfigjs",children:"webpack.config.js"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"webpack.config.js"})," provides Webpack configuration, used when building your JavaScript and CSS files. This is covered in more detail in the ",(0,i.jsx)(s.a,{href:"webpack",children:"Webpack chapter"}),"."]})]})}function h(e={}){const{wrapper:s}={...(0,t.M)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},4552:(e,s,n)=>{n.d(s,{I:()=>c,M:()=>a});var i=n(11504);const t={},o=i.createContext(t);function a(e){const s=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:a(e.components),i.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2bd83684.c1381430.js b/assets/js/2bd83684.c1381430.js deleted file mode 100644 index a75280266..000000000 --- a/assets/js/2bd83684.c1381430.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[55256],{99727:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>r});var i=n(85893),t=n(11151);const o={id:"architecture-concepts",title:"Architecture concepts"},a=void 0,c={id:"legacy/v6/basics/architecture-concepts",title:"Architecture concepts",description:"Project structure",source:"@site/docs/legacy/v6/basics/architecture-concepts.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/architecture-concepts",permalink:"/docs/legacy/v6/basics/architecture-concepts",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"architecture-concepts",title:"Architecture concepts"},sidebar:"docs",previous:{title:"WP-CLI",permalink:"/docs/legacy/v6/basics/wp-cli"},next:{title:"General",permalink:"/docs/legacy/v6/basics/backend"}},l={},r=[{value:"Project structure",id:"project-structure",level:2},{value:"Object-oriented paradigms",id:"object-oriented-paradigms",level:2},{value:"Blocks and Components",id:"blocks-and-components",level:2},{value:"The Manifest",id:"the-manifest",level:2},{value:"The directory structure in detail",id:"the-directory-structure-in-detail",level:2},{value:"Blocks",id:"blocks",level:4},{value:"Columns",id:"columns",level:4},{value:"Config",id:"config",level:4},{value:"CustomMeta",id:"custommeta",level:4},{value:"CustomPostType",id:"customposttype",level:4},{value:"CustomTaxonomy",id:"customtaxonomy",level:4},{value:"Enqueue",id:"enqueue",level:4},{value:"Exception",id:"exception",level:4},{value:"Helpers",id:"helpers",level:4},{value:"I18n",id:"i18n",level:4},{value:"Main",id:"main",level:4},{value:"Manifest",id:"manifest",level:4},{value:"Media",id:"media",level:4},{value:"Menu",id:"menu",level:4},{value:"ModifyAdminAppearance",id:"modifyadminappearance",level:4},{value:"Plugin",id:"plugin",level:4},{value:"Rest",id:"rest",level:4},{value:"ThemeOptions",id:"themeoptions",level:4},{value:"View",id:"view",level:4},{value:".storybook",id:"storybook",level:4},{value:".gitignore",id:"gitignore",level:4},{value:".eslintignore",id:"eslintignore",level:4},{value:".eslintrc",id:"eslintrc",level:4},{value:".stylelintrc",id:"stylelintrc",level:4},{value:"babel.config.js",id:"babelconfigjs",level:4},{value:"composer.json",id:"composerjson",level:4},{value:"composer.lock",id:"composerlock",level:4},{value:"package-lock.json",id:"package-lockjson",level:4},{value:"package.json",id:"packagejson",level:4},{value:"phpcs.xml.dist",id:"phpcsxmldist",level:4},{value:"postcss.config.js",id:"postcssconfigjs",level:4},{value:"webpack.config.js",id:"webpackconfigjs",level:4}];function d(e){const s={a:"a",code:"code",em:"em",h2:"h2",h4:"h4",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,t.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.h2,{id:"project-structure",children:"Project structure"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/infinum/eightshift-libs/tree/4.0.0",children:(0,i.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsxs)(s.p,{children:["Eightshift Development Kit follows a strict project structure to support autoloading, dependency injection and ",(0,i.jsx)(s.code,{children:"wp boilerplate"})," commands, as well as conventions to increase codebase understanding between developers. As an added benefit, following this structure and conventions makes your codebase more consistent and organized."]}),"\n",(0,i.jsxs)(s.p,{children:["While Eightshift Development Kit provides required theme files and common theme files such as ",(0,i.jsx)(s.code,{children:"style.css"})," and ",(0,i.jsx)(s.code,{children:"functions.php"}),", they're used differently to what you might expect if you've worked with WordPress themes previously. For instance, ",(0,i.jsx)(s.code,{children:"style.css"})," is used only to register theme metadata, and doesn't contain any actual styles, as they're built using Webpack and use cache busting. ",(0,i.jsx)(s.code,{children:"functions.php"})," simply bootstraps the execution lifecycle. We also provide very basic template partials, such as ",(0,i.jsx)(s.code,{children:"single.php"}),", which you can acommodate to your needs. An idea to consider is replacing some of them with pages that are editable in Gutenberg."]}),"\n",(0,i.jsxs)(s.p,{children:["While you'll find some additional configuration files such as ",(0,i.jsx)(s.code,{children:"webpack.config.js"})," in the project root, the majority of your projects codebase should live in the ",(0,i.jsx)(s.code,{children:"src"})," directory, which is autoloaded via Composer following PSR-4 conventions. This implies that every directory under ",(0,i.jsx)(s.code,{children:"src"})," is a namespace under your base namespace (which is your project name), and PHP files inside of those directories are classes in that namespace, with exceptions for filenames that aren't in ",(0,i.jsx)(s.code,{children:"StudlyCase"}),"."]}),"\n",(0,i.jsxs)(s.p,{children:["An Eightshift Development Kit convention is to structure namespaces around features and functionality, so for instance, all custom post types would be part of the ",(0,i.jsx)(s.code,{children:"ProjectName\\CustomPostType"})," namespace."]}),"\n",(0,i.jsx)(s.h2,{id:"object-oriented-paradigms",children:"Object-oriented paradigms"}),"\n",(0,i.jsx)(s.p,{children:"Eightshift Libs is entirely object-oriented, providing abstract classes for internal library functionality, interfaces you can use to implement certain classes to make use of Eightshift Development Kit features, as well as concrete class implementations for use in projects."}),"\n",(0,i.jsx)(s.p,{children:"Our use of OOP allows you to extend, modify or even replace Eightshift Development Kit functionality safely, without breaking compatibility or harming your project."}),"\n",(0,i.jsxs)(s.p,{children:["One of the most important interfaces in Eightshift Libs is the ",(0,i.jsx)(s.code,{children:"ServiceInterface"}),". Classes that implement it are called service classes. This isn't a common pattern in PHP OOP. In Eightshift Development Kit, a service class represents a part of the project's functionality and has a ",(0,i.jsx)(s.code,{children:"register"})," method that sets up the action and filter hooks for the service. If you need to add an action or a filter, you should do that in a service class. All your service classes are automatically loaded and can have dependencies injected using dependency injection."]}),"\n",(0,i.jsxs)(s.p,{children:["To ensure there are no naming collisions caused by Composer dependencies, we use the ",(0,i.jsx)(s.a,{href:"https://github.com/infinum/imposter-plugin",children:"Imposter Composer plugin"})," to contain them in the ",(0,i.jsx)(s.code,{children:"{ProjectName}Vendor"})," namespace. This comes with a few caveats which you should be aware of, and about which you can read more in the ",(0,i.jsx)(s.a,{href:"namespaces",children:"namespaces chapter"}),"."]}),"\n",(0,i.jsxs)(s.p,{children:["Read more about ",(0,i.jsx)(s.a,{href:"namespaces",children:"namespaces and Imposter"}),", ",(0,i.jsx)(s.a,{href:"extending-classes",children:"extending classes and service classes"}),", and ",(0,i.jsx)(s.a,{href:"autowiring",children:"dependency injection and autowiring"}),"."]}),"\n",(0,i.jsx)(s.h2,{id:"blocks-and-components",children:"Blocks and Components"}),"\n",(0,i.jsxs)(s.p,{children:["While Blocks and Components will be covered in much more detail in the ",(0,i.jsx)(s.a,{href:"blocks",children:"Blocks chapter"}),", it's worth getting acquainted with the concepts from the start."]}),"\n",(0,i.jsxs)(s.p,{children:["In Gutenberg, Blocks are an abstract unit for structuring content. The same applies in Eightshift, with an additional concept of ",(0,i.jsx)(s.em,{children:"Components"}),", which are abstract units for structuring blocks and layouts."]}),"\n",(0,i.jsx)(s.p,{children:"Components are mostly similar to Blocks, with a few key differences:"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"Components can not be inserted by users in Gutenberg, and are not registered as block types"}),"\n",(0,i.jsxs)(s.li,{children:["Components can be rendered in any context using the ",(0,i.jsx)(s.code,{children:"Components::render"})," method, with arbitrary attribute values passed to them"]}),"\n",(0,i.jsxs)(s.li,{children:["Blocks are usually only rendered using the render callback provided when registering the block","\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"Note that in the Eightshift Development Kit, the render callback is provided for you by Eightshift Libs. It automatically adds the wrapper if necessary and sets up your block view."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["Components don't implement the ",(0,i.jsx)(s.code,{children:"{blockName}-block.js"})," file"]}),"\n"]}),"\n",(0,i.jsx)(s.p,{children:"Blocks and Components have the same structure, which makes extracting components from existing blocks trivially easy."}),"\n",(0,i.jsxs)(s.p,{children:["Components can be ",(0,i.jsx)(s.em,{children:"composed"})," into a block. In other words, blocks can consist out of zero or more components. Component composition is handled in the block manifest, allows you to avoid using InnerBlocks to include functionality shared with other blocks, and serializes component attributes to the block using prefixed attributes for each component instance depending on your manifest definitions."]}),"\n",(0,i.jsxs)(s.p,{children:["To learn more about the differences between blocks and components, read ",(0,i.jsx)(s.a,{href:"/blog/components-and-blocks",children:"Igor's blog post on Components and blocks"}),". To learn how to use blocks and components to build your projects, read the ",(0,i.jsx)(s.a,{href:"blocks",children:"Blocks chapter"}),"."]}),"\n",(0,i.jsx)(s.h2,{id:"the-manifest",children:"The Manifest"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"manifest.json"})," files contain metadata, configurations and variables."]}),"\n",(0,i.jsxs)(s.p,{children:["Every Eightshift project has one global ",(0,i.jsx)(s.code,{children:"manifest.json"})," file stored in ",(0,i.jsx)(s.code,{children:"src/Blocks/manifest.json"}),", which contains global settings, properties, and variables."]}),"\n",(0,i.jsx)(s.p,{children:"Furthermore, every Eightshift block, component, and variation has its own manifest file which is used to provide data required for block registration, such as a list of attributes, the block name, and the template for the inserter example. These local manifest files allow you to define arrays of options for attribute values that your blocks or components can consume. Manifest files also allow you to define relationships between attribute values and CSS variable values, which allows you a great deal of power when styling your blocks and components, as well as saves time as you don't have to provide conditional CSS classes."}),"\n",(0,i.jsxs)(s.p,{children:["To learn more about the ",(0,i.jsx)(s.a,{href:"/docs/legacy/v6/basics/blocks-global-manifest",children:"global manifest"}),", ",(0,i.jsx)(s.a,{href:"/docs/legacy/v6/basics/block-manifest",children:"block manifest"}),", ",(0,i.jsx)(s.a,{href:"/docs/legacy/v6/basics/blocks-component-manifest",children:"component manifest"})," and using ",(0,i.jsx)(s.a,{href:"/docs/legacy/v6/basics/blocks-styles",children:"the manifest to provide CSS variables for use in block styling"}),", read the respective articles in the ",(0,i.jsx)(s.a,{href:"blocks-important",children:"Blocks chapter"}),". For information about manifest structure, refer to the manifest schemas available in Eightshift Frontend Libs and linked to in the manifest files."]}),"\n",(0,i.jsx)(s.h2,{id:"the-directory-structure-in-detail",children:"The directory structure in detail"}),"\n",(0,i.jsxs)(s.p,{children:["Your project might contain a different set of namespaces and classes in the ",(0,i.jsx)(s.code,{children:"src"})," folder, depending on what you've included using wp boilerplate commands.\nBy default, your project will include the ",(0,i.jsx)(s.code,{children:"Blocks"}),", ",(0,i.jsx)(s.code,{children:"Config"}),", ",(0,i.jsx)(s.code,{children:"Enqueue"}),", ",(0,i.jsx)(s.code,{children:"Main"}),", ",(0,i.jsx)(s.code,{children:"Manifest"})," and ",(0,i.jsx)(s.code,{children:"Menu"})," namespaces. You can include classes from Eightshift Libs to provide additional functionality manually or using wp boilerplate."]}),"\n",(0,i.jsx)(s.p,{children:"This chapter also doesn't cover all of the namespaces and classes in Eightshift Libs, or their use. Check out the source code documentation for all available namespaces and classes."}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:["src","\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"Blocks"}),"\n",(0,i.jsx)(s.li,{children:"assets"}),"\n",(0,i.jsx)(s.li,{children:"components"}),"\n",(0,i.jsx)(s.li,{children:"custom"}),"\n",(0,i.jsx)(s.li,{children:"variations"}),"\n",(0,i.jsx)(s.li,{children:"wrapper"}),"\n",(0,i.jsx)(s.li,{children:"Columns"}),"\n",(0,i.jsx)(s.li,{children:"Config"}),"\n",(0,i.jsx)(s.li,{children:"CustomMeta"}),"\n",(0,i.jsx)(s.li,{children:"CustomPostType"}),"\n",(0,i.jsx)(s.li,{children:"CustomTaxonomy"}),"\n",(0,i.jsxs)(s.li,{children:["Enqueue","\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"Admin"}),"\n",(0,i.jsx)(s.li,{children:"Blocks"}),"\n",(0,i.jsx)(s.li,{children:"Theme"}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.li,{children:"Exception"}),"\n",(0,i.jsx)(s.li,{children:"Helpers"}),"\n",(0,i.jsx)(s.li,{children:"I18n"}),"\n",(0,i.jsx)(s.li,{children:"Main"}),"\n",(0,i.jsx)(s.li,{children:"Manifest"}),"\n",(0,i.jsx)(s.li,{children:"Media"}),"\n",(0,i.jsx)(s.li,{children:"Menu"}),"\n",(0,i.jsx)(s.li,{children:"ModifyAdminAppearance"}),"\n",(0,i.jsx)(s.li,{children:"Plugin"}),"\n",(0,i.jsx)(s.li,{children:"Rest"}),"\n",(0,i.jsx)(s.li,{children:"ThemeOptions"}),"\n",(0,i.jsx)(s.li,{children:"View"}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.li,{children:".storybook"}),"\n",(0,i.jsx)(s.li,{children:".gitignore"}),"\n",(0,i.jsx)(s.li,{children:".eslintignore"}),"\n",(0,i.jsx)(s.li,{children:".eslintrc"}),"\n",(0,i.jsx)(s.li,{children:".stylelintrc"}),"\n",(0,i.jsx)(s.li,{children:"babel.config.js"}),"\n",(0,i.jsx)(s.li,{children:"composer.json"}),"\n",(0,i.jsx)(s.li,{children:"composer.lock"}),"\n",(0,i.jsx)(s.li,{children:"package-lock.json"}),"\n",(0,i.jsx)(s.li,{children:"package.json"}),"\n",(0,i.jsx)(s.li,{children:"phpcs.xml.dist"}),"\n",(0,i.jsx)(s.li,{children:"postcss.config.js"}),"\n",(0,i.jsx)(s.li,{children:"README.md"}),"\n",(0,i.jsx)(s.li,{children:"webpack.config.js"}),"\n"]}),"\n",(0,i.jsx)(s.h4,{id:"blocks",children:"Blocks"}),"\n",(0,i.jsx)(s.p,{children:"The Blocks namespace contains the Blocks class used for block registration. This directory also contains shared assets, components, blocks, variations, and the wrapper."}),"\n",(0,i.jsxs)(s.p,{children:["Read about blocks in detail in the ",(0,i.jsx)(s.a,{href:"blocks",children:"Blocks chapter"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"columns",children:"Columns"}),"\n",(0,i.jsxs)(s.p,{children:["This namespace contains all the custom admin listing columns hooks in your project. These include listing column hooks for post types, taxonomy, and user lists, such as ",(0,i.jsx)(s.code,{children:"manage_{$post_type}_posts_columns"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"config",children:"Config"}),"\n",(0,i.jsxs)(s.p,{children:["The Config class provides getter methods for your project's configuration, such as ",(0,i.jsx)(s.code,{children:"getProjectName"})," or ",(0,i.jsx)(s.code,{children:"getProjectVersion"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"custommeta",children:"CustomMeta"}),"\n",(0,i.jsx)(s.p,{children:"This class contains all the custom meta hooks for your project."}),"\n",(0,i.jsx)(s.h4,{id:"customposttype",children:"CustomPostType"}),"\n",(0,i.jsxs)(s.p,{children:["This namespace contains classes that register all custom post type hooks for your project. For better code consistency and to save time on boilerplating, Eightshift Development Kit provides an example class implementation you can use with ",(0,i.jsx)(s.code,{children:"wp boilerplate create_post_type"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"customtaxonomy",children:"CustomTaxonomy"}),"\n",(0,i.jsxs)(s.p,{children:["This namespace contains classes that register all custom taxonomy hooks for your project. For better code consistency and to save time on boilerplating, Eightshift Development Kit provides an example class implementation you can use with ",(0,i.jsx)(s.code,{children:"wp boilerplate create_taxonomy"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"enqueue",children:"Enqueue"}),"\n",(0,i.jsx)(s.p,{children:"These Enqueue namespace classes handle loading JavaScript and CSS assets, depending on the location you want to use it:"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.strong,{children:"Admin"})," - Used in the admin (not block editor) panel. You can find the files inside the ",(0,i.jsx)(s.code,{children:"assets"})," folder with the ",(0,i.jsx)(s.code,{children:"-admin"})," suffix."]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.strong,{children:"Blocks"})," - Used in the block editor. You can find the files inside the ",(0,i.jsx)(s.code,{children:"src/Blocks/assets"})," folder. As blocks are complicated, we have files loaded only in the admin-editor part of the project, those files have an ",(0,i.jsx)(s.code,{children:"-editor"})," suffix. The rest of the files with no suffix load on the admin-editor part and the project's front end."]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.strong,{children:"Theme"})," - Used in the theme (frontend) part of your project. You can find the files inside the ",(0,i.jsx)(s.code,{children:"assets"})," folder with no suffix. You would use these files for the assets related to your project that is not associated with components and blocks. These files are rarely used, as styles and JavaScript functionality are usually provided at component, block, or wrapper levels."]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Using any of these classes is optional, and you can use only what you need. The ",(0,i.jsx)(s.code,{children:"wp boilerplate setup_theme"})," command will set up all of the three classes already implemented. Keep in mind that Enqueue classes work in combination with the Webpack build of your project."]}),"\n",(0,i.jsxs)(s.p,{children:["All of the asset files mentioned are prefixed with ",(0,i.jsx)(s.code,{children:"application"}),". If you don't like the prefix, you can change it by providing project overrides for constants used in Eightshift Libs. If you change the file names, you must make changes to the Webpack build process as well. For modifying the Webpack configuration, read the ",(0,i.jsx)(s.a,{href:"webpack",children:"Webpack chapter"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"exception",children:"Exception"}),"\n",(0,i.jsx)(s.p,{children:"This namespace contains all exceptions that can be thrown from the project."}),"\n",(0,i.jsx)(s.h4,{id:"helpers",children:"Helpers"}),"\n",(0,i.jsx)(s.p,{children:"All the backend helpers provided by Eightshift Libs are part of the Helpers namespace. Generally, you can use them from Eightshift Libs without extending or modifying them."}),"\n",(0,i.jsx)(s.h4,{id:"i18n",children:"I18n"}),"\n",(0,i.jsxs)(s.p,{children:["Classes in this namespace are used to define all hooks related to internationalization and localization. For more information about i18n and l10n, check out ",(0,i.jsx)(s.a,{href:"tips-tricks",children:"Tips and tricks"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"main",children:"Main"}),"\n",(0,i.jsxs)(s.p,{children:["The Main namespace contains the ",(0,i.jsx)(s.code,{children:"Main"})," class, which sets up the dependency injection container and autowiring using ",(0,i.jsx)(s.code,{children:"AbstractMain"})," and ",(0,i.jsx)(s.code,{children:"Autowiring"})," classes. For most projects, ",(0,i.jsx)(s.code,{children:"Main"})," can be used automagically without any work on your part, but as with all of the Eightshift Development Kit, you can extend it to suit your needs."]}),"\n",(0,i.jsxs)(s.p,{children:["You can provide manual service classes here as well. Learn more in the ",(0,i.jsx)(s.a,{href:"autowiring",children:"autowiring chapter"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"manifest",children:"Manifest"}),"\n",(0,i.jsxs)(s.p,{children:["The Manifest namespace provides the ",(0,i.jsx)(s.code,{children:"manifest.json"})," file location and helpers to return the full path for a specific asset. Learn more about the manifest in the ",(0,i.jsx)(s.a,{href:"manifest",children:"manifest chapter"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"media",children:"Media"}),"\n",(0,i.jsx)(s.p,{children:"The Media namespace is used to add custom implementations for media, such as adding custom image sizes, enabling SVG image support, etc. By default, it registers theme support for title tags, HTML5 and post thumbnails."}),"\n",(0,i.jsx)(s.h4,{id:"menu",children:"Menu"}),"\n",(0,i.jsx)(s.p,{children:"This class is used to register menu positions."}),"\n",(0,i.jsx)(s.h4,{id:"modifyadminappearance",children:"ModifyAdminAppearance"}),"\n",(0,i.jsx)(s.p,{children:"This class is used to change admin appearance. We use it to change the admin color palette depending on the environment."}),"\n",(0,i.jsx)(s.h4,{id:"plugin",children:"Plugin"}),"\n",(0,i.jsx)(s.p,{children:"This namespace is used only in the plugin boilerplate and holds classes required for activation and deactivation of the plugin."}),"\n",(0,i.jsx)(s.h4,{id:"rest",children:"Rest"}),"\n",(0,i.jsxs)(s.p,{children:["The Rest namespace provides classes for handling REST API fields and routes. This is covered in more detail in the ",(0,i.jsx)(s.a,{href:"rest",children:"REST chapter"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"themeoptions",children:"ThemeOptions"}),"\n",(0,i.jsxs)(s.p,{children:["This namespace is used to add admin menu configuration panels such as ",(0,i.jsx)(s.em,{children:"Theme Options"}),", usually using ACF."]}),"\n",(0,i.jsx)(s.h4,{id:"view",children:"View"}),"\n",(0,i.jsxs)(s.p,{children:["This namespace is used to add filters used when escaping unsafe tags using ",(0,i.jsx)(s.code,{children:"wp_kses_post"})," and ",(0,i.jsx)(s.code,{children:"wp_kses"})," functions."]}),"\n",(0,i.jsx)(s.h4,{id:"storybook",children:".storybook"}),"\n",(0,i.jsxs)(s.p,{children:["This folder contains all of the files necessary to run the storybook in your project. Read more ",(0,i.jsx)(s.a,{href:"https://storybook.js.org/",children:"about the Storybook project"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"gitignore",children:".gitignore"}),"\n",(0,i.jsxs)(s.p,{children:["As the name implies, this file is used to define restrictions to which files Git watches. Read more ",(0,i.jsx)(s.a,{href:"https://git-scm.com/",children:"about Git"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"eslintignore",children:".eslintignore"}),"\n",(0,i.jsx)(s.p,{children:"Defines files and folders which ESLint should ignore when linting."}),"\n",(0,i.jsx)(s.h4,{id:"eslintrc",children:".eslintrc"}),"\n",(0,i.jsxs)(s.p,{children:["Provides definitions used for linting JavaScript files. Read more ",(0,i.jsx)(s.a,{href:"https://eslint.org/",children:"about ESLint"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"stylelintrc",children:".stylelintrc"}),"\n",(0,i.jsxs)(s.p,{children:["Provides definitions used for linting SCSS/CSS stylesheets. Read more ",(0,i.jsx)(s.a,{href:"https://stylelint.io/",children:"about Stylelint"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"babelconfigjs",children:"babel.config.js"}),"\n",(0,i.jsxs)(s.p,{children:["Provides Babel configuration, which determines how your JavaScript code will be compiled, what standard you will use, and much more. Read more ",(0,i.jsx)(s.a,{href:"https://babeljs.io/",children:"about Babel"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"composerjson",children:"composer.json"}),"\n",(0,i.jsxs)(s.p,{children:["Contains a list of your project's Composer dependencies, as well as project metadata and configuration. Dependencies can be added and installed using ",(0,i.jsx)(s.code,{children:"composer install"}),". Read more ",(0,i.jsx)(s.a,{href:"https://getcomposer.org/",children:"about Composer"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"composerlock",children:"composer.lock"}),"\n",(0,i.jsx)(s.p,{children:"Lock files are used to set the package version to the exact release. This ensures that everyone has the same package version when installing."}),"\n",(0,i.jsx)(s.h4,{id:"package-lockjson",children:"package-lock.json"}),"\n",(0,i.jsxs)(s.p,{children:["The same as ",(0,i.jsx)(s.code,{children:"composer.lock"}),", but for node_modules."]}),"\n",(0,i.jsx)(s.h4,{id:"packagejson",children:"package.json"}),"\n",(0,i.jsxs)(s.p,{children:["Contains a list of your project's npm dependencies, as well as project metadata and configuration. Dependencies can be added and installed using ",(0,i.jsx)(s.code,{children:"npm install"}),". Read more ",(0,i.jsx)(s.a,{href:"https://nodejs.dev/",children:"about npm"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"phpcsxmldist",children:"phpcs.xml.dist"}),"\n",(0,i.jsxs)(s.p,{children:["Provides definitions used for linting PHP files. Read more ",(0,i.jsx)(s.a,{href:"https://github.com/squizlabs/PHP_CodeSniffer",children:"about PHPCS"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"postcssconfigjs",children:"postcss.config.js"}),"\n",(0,i.jsxs)(s.p,{children:["PostCSS works in collaboration with Webpack and defines what additional plugins you are going to use when building your CSS files. Read more ",(0,i.jsx)(s.a,{href:"https://postcss.org/",children:"about PostCSS"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"webpackconfigjs",children:"webpack.config.js"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"webpack.config.js"})," provides Webpack configuration, used when building your JavaScript and CSS files. This is covered in more detail in the ",(0,i.jsx)(s.a,{href:"webpack",children:"Webpack chapter"}),"."]})]})}function h(e={}){const{wrapper:s}={...(0,t.a)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},11151:(e,s,n)=>{n.d(s,{Z:()=>c,a:()=>a});var i=n(67294);const t={},o=i.createContext(t);function a(e){const s=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:a(e.components),i.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2c4528c6.6ae89179.js b/assets/js/2c4528c6.6ae89179.js new file mode 100644 index 000000000..485d043e6 --- /dev/null +++ b/assets/js/2c4528c6.6ae89179.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[78960],{54164:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>c,contentTitle:()=>n,default:()=>h,frontMatter:()=>r,metadata:()=>a,toc:()=>l});var i=t(17624),o=t(4552);const r={id:"library",title:"Library",sidebar_label:"Library"},n=void 0,a={id:"legacy/v5/basics/library",title:"Library",description:"docs-source",source:"@site/docs/legacy/v5/basics/library.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/library",permalink:"/docs/legacy/v5/basics/library",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"library",title:"Library",sidebar_label:"Library"},sidebar:"docs",previous:{title:"Webpack",permalink:"/docs/legacy/v5/basics/webpack"},next:{title:"Global Settings",permalink:"/docs/legacy/v5/basics/global-settings"}},c={},l=[{value:"How to use it",id:"how-to-use-it",level:2},{value:"We have some defaults",id:"we-have-some-defaults",level:2}];function d(e){const s={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",strong:"strong",...(0,o.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0",children:(0,i.jsx)(s.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsx)(s.p,{children:"For years, we have collected a list of useful SASS mixins, functions, and other stuff you can use in a project. At one point, we felt stupid for copy/pasting code across multiple projects, so we created Eightshift Frontend Libs. This library allows you to use whatever we offer without all that unnecessary clutter."}),"\n",(0,i.jsx)(s.p,{children:"Check out our documentation and import what you need from Eightshift Frontend Libs."}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsxs)(s.strong,{children:["Visit ",(0,i.jsx)(s.a,{href:"/docs/basics/library",children:"SassDocs"})," for more details."]})}),"\n",(0,i.jsx)(s.h2,{id:"how-to-use-it",children:"How to use it"}),"\n",(0,i.jsx)(s.p,{children:"Sass mixing, functions, and helpers are located in Eightshift Frontend Libs. Therefore, if you are using our Webpack build, you are all set. You can use it by importing it into your project like this:"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-scss",children:"@import '@eightshift/frontend-libs/styles/index.scss';\n"})}),"\n",(0,i.jsxs)(s.p,{children:["But if you are using our default ",(0,i.jsx)(s.code,{children:"setup_theme"})," setup, you are all set. Eightshift Frontend Libs are in your project, injected in the ",(0,i.jsx)(s.code,{children:"_shared.scss"})," file."]}),"\n",(0,i.jsx)(s.h2,{id:"we-have-some-defaults",children:"We have some defaults"}),"\n",(0,i.jsxs)(s.p,{children:["For Eightshift Boilerplate to look presentable and have some styling, we created some variables and colors for us to use. So if you find some variable in your project and you have no idea where it comes from, that is on us, and your best place to check is ",(0,i.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/styles/scss/_core.scss",children:"here for global variables"})," and ",(0,i.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/styles/scss/_colors.scss",children:"here for colors"}),"."]})]})}function h(e={}){const{wrapper:s}={...(0,o.M)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},4552:(e,s,t)=>{t.d(s,{I:()=>a,M:()=>n});var i=t(11504);const o={},r=i.createContext(o);function n(e){const s=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:n(e.components),i.createElement(r.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2c4528c6.d38ebd4e.js b/assets/js/2c4528c6.d38ebd4e.js deleted file mode 100644 index 23c4a56db..000000000 --- a/assets/js/2c4528c6.d38ebd4e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[94120],{44770:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>c,contentTitle:()=>n,default:()=>h,frontMatter:()=>r,metadata:()=>a,toc:()=>l});var i=t(85893),o=t(11151);const r={id:"library",title:"Library",sidebar_label:"Library"},n=void 0,a={id:"legacy/v5/basics/library",title:"Library",description:"docs-source",source:"@site/docs/legacy/v5/basics/library.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/library",permalink:"/docs/legacy/v5/basics/library",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"library",title:"Library",sidebar_label:"Library"},sidebar:"docs",previous:{title:"Webpack",permalink:"/docs/legacy/v5/basics/webpack"},next:{title:"Global Settings",permalink:"/docs/legacy/v5/basics/global-settings"}},c={},l=[{value:"How to use it",id:"how-to-use-it",level:2},{value:"We have some defaults",id:"we-have-some-defaults",level:2}];function d(e){const s={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",strong:"strong",...(0,o.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0",children:(0,i.jsx)(s.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsx)(s.p,{children:"For years, we have collected a list of useful SASS mixins, functions, and other stuff you can use in a project. At one point, we felt stupid for copy/pasting code across multiple projects, so we created Eightshift Frontend Libs. This library allows you to use whatever we offer without all that unnecessary clutter."}),"\n",(0,i.jsx)(s.p,{children:"Check out our documentation and import what you need from Eightshift Frontend Libs."}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsxs)(s.strong,{children:["Visit ",(0,i.jsx)(s.a,{href:"/sass",children:"SassDocs"})," for more details."]})}),"\n",(0,i.jsx)(s.h2,{id:"how-to-use-it",children:"How to use it"}),"\n",(0,i.jsx)(s.p,{children:"Sass mixing, functions, and helpers are located in Eightshift Frontend Libs. Therefore, if you are using our Webpack build, you are all set. You can use it by importing it into your project like this:"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-scss",children:"@import '@eightshift/frontend-libs/styles/index.scss';\n"})}),"\n",(0,i.jsxs)(s.p,{children:["But if you are using our default ",(0,i.jsx)(s.code,{children:"setup_theme"})," setup, you are all set. Eightshift Frontend Libs are in your project, injected in the ",(0,i.jsx)(s.code,{children:"_shared.scss"})," file."]}),"\n",(0,i.jsx)(s.h2,{id:"we-have-some-defaults",children:"We have some defaults"}),"\n",(0,i.jsxs)(s.p,{children:["For Eightshift Boilerplate to look presentable and have some styling, we created some variables and colors for us to use. So if you find some variable in your project and you have no idea where it comes from, that is on us, and your best place to check is ",(0,i.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/styles/scss/_core.scss",children:"here for global variables"})," and ",(0,i.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/styles/scss/_colors.scss",children:"here for colors"}),"."]})]})}function h(e={}){const{wrapper:s}={...(0,o.a)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},11151:(e,s,t)=>{t.d(s,{Z:()=>a,a:()=>n});var i=t(67294);const o={},r=i.createContext(o);function n(e){const s=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:n(e.components),i.createElement(r.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2c773ba3.7bd18c47.js b/assets/js/2c773ba3.7bd18c47.js deleted file mode 100644 index aec3017fc..000000000 --- a/assets/js/2c773ba3.7bd18c47.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[25450],{22815:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>o,contentTitle:()=>a,default:()=>h,frontMatter:()=>t,metadata:()=>l,toc:()=>c});var s=r(85893),i=r(11151);const t={id:"helpers-php",title:"PHP"},a=void 0,l={id:"legacy/v6/basics/helpers-php",title:"PHP",description:"docs-source",source:"@site/docs/legacy/v6/basics/helpers-php.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/helpers-php",permalink:"/docs/legacy/v6/basics/helpers-php",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"helpers-php",title:"PHP"},sidebar:"docs",previous:{title:"Scss",permalink:"/docs/legacy/v6/basics/helpers-scss"},next:{title:"Tips & Tricks",permalink:"/docs/legacy/v6/basics/tips-tricks"}},o={},c=[{value:"ensureString",id:"ensurestring",level:2},{value:"classnames",id:"classnames",level:2},{value:"render",id:"render",level:2},{value:"getManifest",id:"getmanifest",level:2},{value:"responsiveSelectors",id:"responsiveselectors",level:2},{value:"checkAttr",id:"checkattr",level:2},{value:"checkAttrResponsive",id:"checkattrresponsive",level:2},{value:"selector",id:"selector",level:2},{value:"restResponseHandler",id:"restresponsehandler",level:2},{value:"isValidXml",id:"isvalidxml",level:2},{value:"isJson",id:"isjson",level:2},{value:"flattenArray",id:"flattenarray",level:2},{value:"sanitizeArray",id:"sanitizearray",level:2},{value:"sortArrayByOrderKey",id:"sortarraybyorderkey",level:2},{value:"getShortcode",id:"getshortcode",level:2}];function d(e){const n={a:"a",code:"code",h2:"h2",img:"img",li:"li",p:"p",ul:"ul",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/tree/4.0.0",children:(0,s.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(n.h2,{id:"ensurestring",children:"ensureString"}),"\n",(0,s.jsx)(n.p,{children:"Makes sure the output is a string. Useful for converting an array of components into a string.\nIf you pass an associative array, it will output strings with keys. Used for generating data-attributes from an array."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param array|string $variable Variable we need to convert into a string."}),"\n",(0,s.jsx)(n.li,{children:"@throws ComponentException When $variable is not a string or an array."}),"\n",(0,s.jsx)(n.li,{children:"@return string"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"classnames",children:"classnames"}),"\n",(0,s.jsx)(n.p,{children:"Converts an array of classes into a string that can be echoed."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param array $classes Array of classes."}),"\n",(0,s.jsx)(n.li,{children:"@return string"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"render",children:"render"}),"\n",(0,s.jsx)(n.p,{children:"Renders a component and (optionally) passes some attributes to it."}),"\n",(0,s.jsxs)(n.p,{children:["Note about the ",(0,s.jsx)(n.code,{children:"parentClass"})," attribute: If provided, the component will be wrapped with a parent BEM selector."]}),"\n",(0,s.jsxs)(n.p,{children:["For example, if ",(0,s.jsx)(n.code,{children:"$attributes['parentClass'] === 'header'"})," and ",(0,s.jsx)(n.code,{children:"$component === 'logo'"})," are set, the component will be wrapped with a ",(0,s.jsx)(n.code,{children:''}),"."]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param string $component Component's name or full path (ending with .php)."}),"\n",(0,s.jsx)(n.li,{children:"@param array $attributes Array of attributes that is implicitly passed to the component."}),"\n",(0,s.jsx)(n.li,{children:"@param string $parentPath If parent path is provided, it will be appended to the file location. If not, get_template_directory_uri() will be used as a default parent path."}),"\n",(0,s.jsx)(n.li,{children:"@throws \\Exception When we're unable to find the component by $component."}),"\n",(0,s.jsx)(n.li,{children:"@return string"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"getmanifest",children:"getManifest"}),"\n",(0,s.jsxs)(n.p,{children:["Get ",(0,s.jsx)(n.code,{children:"manifest json"}),". Used for getting block/components manifest."]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param string $path Absolute path to manifest folder."}),"\n",(0,s.jsx)(n.li,{children:"@throws \\Exception When we're unable to find the component by $component."}),"\n",(0,s.jsx)(n.li,{children:"@return array"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"responsiveselectors",children:"responsiveSelectors"}),"\n",(0,s.jsxs)(n.p,{children:["This function is the PHP equivalent of the JavaScript function on this ",(0,s.jsx)(n.a,{href:"helpers-javascript",children:"link"}),"."]}),"\n",(0,s.jsx)(n.h2,{id:"checkattr",children:"checkAttr"}),"\n",(0,s.jsxs)(n.p,{children:["This function is the PHP equivalent of ",(0,s.jsx)(n.a,{href:"helpers-javascript",children:"this JavaScript function"}),", except there is no ",(0,s.jsx)(n.code,{children:"undefinedAllowed"})," parameter - it's used only on the WordPress admin side."]}),"\n",(0,s.jsx)(n.h2,{id:"checkattrresponsive",children:"checkAttrResponsive"}),"\n",(0,s.jsxs)(n.p,{children:["This function is the PHP equivalent of ",(0,s.jsx)(n.a,{href:"helpers-javascript",children:"this JavaScript function"}),", except there is no ",(0,s.jsx)(n.code,{children:"undefinedAllowed"})," parameter - it's used only on the WordPress admin side."]}),"\n",(0,s.jsx)(n.h2,{id:"selector",children:"selector"}),"\n",(0,s.jsxs)(n.p,{children:["This function is the PHP equivalent of the JavaScript function on this ",(0,s.jsx)(n.a,{href:"helpers-javascript",children:"link"}),"."]}),"\n",(0,s.jsx)(n.h2,{id:"restresponsehandler",children:"restResponseHandler"}),"\n",(0,s.jsx)(n.p,{children:"Ensure the correct response for REST using the handler function."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param integer $code Response Status code."}),"\n",(0,s.jsx)(n.li,{children:"@param string $status Response Status name (success/error)."}),"\n",(0,s.jsx)(n.li,{children:"@param string|null $msg Response Message."}),"\n",(0,s.jsx)(n.li,{children:"@param array|null $data Response additional data."}),"\n",(0,s.jsx)(n.li,{children:"@return \\WP_REST_Response|\\WP_Error If response generated an error, WP_Error, if response is already an instance, WP_REST_Response, otherwise returns a new WP_REST_Response instance."}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"isvalidxml",children:"isValidXml"}),"\n",(0,s.jsx)(n.p,{children:"Check if XML is valid. Used for validating SVG files."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param string $xml Full xml document."}),"\n",(0,s.jsx)(n.li,{children:"@return boolean"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"isjson",children:"isJson"}),"\n",(0,s.jsx)(n.p,{children:"Check if json is valid."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param string $string String to check."}),"\n",(0,s.jsx)(n.li,{children:"@return bool"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"flattenarray",children:"flattenArray"}),"\n",(0,s.jsx)(n.p,{children:"Flatten multidimensional array."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param array $array Multidimensional array."}),"\n",(0,s.jsx)(n.li,{children:"@return array"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"sanitizearray",children:"sanitizeArray"}),"\n",(0,s.jsx)(n.p,{children:"Sanitize all the values in an array."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["@link ",(0,s.jsx)(n.a,{href:"https://developer.wordpress.org/themes/theme-security/data-sanitization-escaping/",children:"https://developer.wordpress.org/themes/theme-security/data-sanitization-escaping/"})]}),"\n",(0,s.jsx)(n.li,{children:"@param array $array Provided array."}),"\n",(0,s.jsx)(n.li,{children:"@param string $sanitizationFunction WordPress function used for sanitization purposes."}),"\n",(0,s.jsx)(n.li,{children:"@return array"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"sortarraybyorderkey",children:"sortArrayByOrderKey"}),"\n",(0,s.jsx)(n.p,{children:"Sort array by order key. Used to sort terms."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param array $items Items array to sort. Must have order key."}),"\n",(0,s.jsx)(n.li,{children:"@return array"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"getshortcode",children:"getShortcode"}),"\n",(0,s.jsx)(n.p,{children:"Call a shortcode function by tag name."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@author J.D. Grimes"}),"\n",(0,s.jsxs)(n.li,{children:["@link ",(0,s.jsx)(n.a,{href:"https://codesymphony.co/dont-do_shortcode/",children:"https://codesymphony.co/dont-do_shortcode/"})]}),"\n",(0,s.jsx)(n.li,{children:"@param string $tag The shortcode whose function to call."}),"\n",(0,s.jsx)(n.li,{children:"@param array $attr The attributes to pass to the shortcode function. Optional."}),"\n",(0,s.jsx)(n.li,{children:"@param string|null $content The shortcodes content. Default is null (none)."}),"\n",(0,s.jsx)(n.li,{children:"@return string|bool False on failure, the result of the shortcode on success."}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},11151:(e,n,r)=>{r.d(n,{Z:()=>l,a:()=>a});var s=r(67294);const i={},t=s.createContext(i);function a(e){const n=s.useContext(t);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:a(e.components),s.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2c773ba3.97f8898b.js b/assets/js/2c773ba3.97f8898b.js new file mode 100644 index 000000000..dab39476e --- /dev/null +++ b/assets/js/2c773ba3.97f8898b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[89608],{24872:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>o,contentTitle:()=>a,default:()=>h,frontMatter:()=>t,metadata:()=>l,toc:()=>c});var s=r(17624),i=r(4552);const t={id:"helpers-php",title:"PHP"},a=void 0,l={id:"legacy/v6/basics/helpers-php",title:"PHP",description:"docs-source",source:"@site/docs/legacy/v6/basics/helpers-php.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/helpers-php",permalink:"/docs/legacy/v6/basics/helpers-php",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"helpers-php",title:"PHP"},sidebar:"docs",previous:{title:"Scss",permalink:"/docs/legacy/v6/basics/helpers-scss"},next:{title:"Tips & Tricks",permalink:"/docs/legacy/v6/basics/tips-tricks"}},o={},c=[{value:"ensureString",id:"ensurestring",level:2},{value:"classnames",id:"classnames",level:2},{value:"render",id:"render",level:2},{value:"getManifest",id:"getmanifest",level:2},{value:"responsiveSelectors",id:"responsiveselectors",level:2},{value:"checkAttr",id:"checkattr",level:2},{value:"checkAttrResponsive",id:"checkattrresponsive",level:2},{value:"selector",id:"selector",level:2},{value:"restResponseHandler",id:"restresponsehandler",level:2},{value:"isValidXml",id:"isvalidxml",level:2},{value:"isJson",id:"isjson",level:2},{value:"flattenArray",id:"flattenarray",level:2},{value:"sanitizeArray",id:"sanitizearray",level:2},{value:"sortArrayByOrderKey",id:"sortarraybyorderkey",level:2},{value:"getShortcode",id:"getshortcode",level:2}];function d(e){const n={a:"a",code:"code",h2:"h2",img:"img",li:"li",p:"p",ul:"ul",...(0,i.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/tree/4.0.0",children:(0,s.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(n.h2,{id:"ensurestring",children:"ensureString"}),"\n",(0,s.jsx)(n.p,{children:"Makes sure the output is a string. Useful for converting an array of components into a string.\nIf you pass an associative array, it will output strings with keys. Used for generating data-attributes from an array."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param array|string $variable Variable we need to convert into a string."}),"\n",(0,s.jsx)(n.li,{children:"@throws ComponentException When $variable is not a string or an array."}),"\n",(0,s.jsx)(n.li,{children:"@return string"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"classnames",children:"classnames"}),"\n",(0,s.jsx)(n.p,{children:"Converts an array of classes into a string that can be echoed."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param array $classes Array of classes."}),"\n",(0,s.jsx)(n.li,{children:"@return string"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"render",children:"render"}),"\n",(0,s.jsx)(n.p,{children:"Renders a component and (optionally) passes some attributes to it."}),"\n",(0,s.jsxs)(n.p,{children:["Note about the ",(0,s.jsx)(n.code,{children:"parentClass"})," attribute: If provided, the component will be wrapped with a parent BEM selector."]}),"\n",(0,s.jsxs)(n.p,{children:["For example, if ",(0,s.jsx)(n.code,{children:"$attributes['parentClass'] === 'header'"})," and ",(0,s.jsx)(n.code,{children:"$component === 'logo'"})," are set, the component will be wrapped with a ",(0,s.jsx)(n.code,{children:''}),"."]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param string $component Component's name or full path (ending with .php)."}),"\n",(0,s.jsx)(n.li,{children:"@param array $attributes Array of attributes that is implicitly passed to the component."}),"\n",(0,s.jsx)(n.li,{children:"@param string $parentPath If parent path is provided, it will be appended to the file location. If not, get_template_directory_uri() will be used as a default parent path."}),"\n",(0,s.jsx)(n.li,{children:"@throws \\Exception When we're unable to find the component by $component."}),"\n",(0,s.jsx)(n.li,{children:"@return string"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"getmanifest",children:"getManifest"}),"\n",(0,s.jsxs)(n.p,{children:["Get ",(0,s.jsx)(n.code,{children:"manifest json"}),". Used for getting block/components manifest."]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param string $path Absolute path to manifest folder."}),"\n",(0,s.jsx)(n.li,{children:"@throws \\Exception When we're unable to find the component by $component."}),"\n",(0,s.jsx)(n.li,{children:"@return array"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"responsiveselectors",children:"responsiveSelectors"}),"\n",(0,s.jsxs)(n.p,{children:["This function is the PHP equivalent of the JavaScript function on this ",(0,s.jsx)(n.a,{href:"helpers-javascript",children:"link"}),"."]}),"\n",(0,s.jsx)(n.h2,{id:"checkattr",children:"checkAttr"}),"\n",(0,s.jsxs)(n.p,{children:["This function is the PHP equivalent of ",(0,s.jsx)(n.a,{href:"helpers-javascript",children:"this JavaScript function"}),", except there is no ",(0,s.jsx)(n.code,{children:"undefinedAllowed"})," parameter - it's used only on the WordPress admin side."]}),"\n",(0,s.jsx)(n.h2,{id:"checkattrresponsive",children:"checkAttrResponsive"}),"\n",(0,s.jsxs)(n.p,{children:["This function is the PHP equivalent of ",(0,s.jsx)(n.a,{href:"helpers-javascript",children:"this JavaScript function"}),", except there is no ",(0,s.jsx)(n.code,{children:"undefinedAllowed"})," parameter - it's used only on the WordPress admin side."]}),"\n",(0,s.jsx)(n.h2,{id:"selector",children:"selector"}),"\n",(0,s.jsxs)(n.p,{children:["This function is the PHP equivalent of the JavaScript function on this ",(0,s.jsx)(n.a,{href:"helpers-javascript",children:"link"}),"."]}),"\n",(0,s.jsx)(n.h2,{id:"restresponsehandler",children:"restResponseHandler"}),"\n",(0,s.jsx)(n.p,{children:"Ensure the correct response for REST using the handler function."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param integer $code Response Status code."}),"\n",(0,s.jsx)(n.li,{children:"@param string $status Response Status name (success/error)."}),"\n",(0,s.jsx)(n.li,{children:"@param string|null $msg Response Message."}),"\n",(0,s.jsx)(n.li,{children:"@param array|null $data Response additional data."}),"\n",(0,s.jsx)(n.li,{children:"@return \\WP_REST_Response|\\WP_Error If response generated an error, WP_Error, if response is already an instance, WP_REST_Response, otherwise returns a new WP_REST_Response instance."}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"isvalidxml",children:"isValidXml"}),"\n",(0,s.jsx)(n.p,{children:"Check if XML is valid. Used for validating SVG files."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param string $xml Full xml document."}),"\n",(0,s.jsx)(n.li,{children:"@return boolean"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"isjson",children:"isJson"}),"\n",(0,s.jsx)(n.p,{children:"Check if json is valid."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param string $string String to check."}),"\n",(0,s.jsx)(n.li,{children:"@return bool"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"flattenarray",children:"flattenArray"}),"\n",(0,s.jsx)(n.p,{children:"Flatten multidimensional array."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param array $array Multidimensional array."}),"\n",(0,s.jsx)(n.li,{children:"@return array"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"sanitizearray",children:"sanitizeArray"}),"\n",(0,s.jsx)(n.p,{children:"Sanitize all the values in an array."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["@link ",(0,s.jsx)(n.a,{href:"https://developer.wordpress.org/themes/theme-security/data-sanitization-escaping/",children:"https://developer.wordpress.org/themes/theme-security/data-sanitization-escaping/"})]}),"\n",(0,s.jsx)(n.li,{children:"@param array $array Provided array."}),"\n",(0,s.jsx)(n.li,{children:"@param string $sanitizationFunction WordPress function used for sanitization purposes."}),"\n",(0,s.jsx)(n.li,{children:"@return array"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"sortarraybyorderkey",children:"sortArrayByOrderKey"}),"\n",(0,s.jsx)(n.p,{children:"Sort array by order key. Used to sort terms."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param array $items Items array to sort. Must have order key."}),"\n",(0,s.jsx)(n.li,{children:"@return array"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"getshortcode",children:"getShortcode"}),"\n",(0,s.jsx)(n.p,{children:"Call a shortcode function by tag name."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@author J.D. Grimes"}),"\n",(0,s.jsxs)(n.li,{children:["@link ",(0,s.jsx)(n.a,{href:"https://codesymphony.co/dont-do_shortcode/",children:"https://codesymphony.co/dont-do_shortcode/"})]}),"\n",(0,s.jsx)(n.li,{children:"@param string $tag The shortcode whose function to call."}),"\n",(0,s.jsx)(n.li,{children:"@param array $attr The attributes to pass to the shortcode function. Optional."}),"\n",(0,s.jsx)(n.li,{children:"@param string|null $content The shortcodes content. Default is null (none)."}),"\n",(0,s.jsx)(n.li,{children:"@return string|bool False on failure, the result of the shortcode on success."}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,i.M)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},4552:(e,n,r)=>{r.d(n,{I:()=>l,M:()=>a});var s=r(11504);const i={},t=s.createContext(i);function a(e){const n=s.useContext(t);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:a(e.components),s.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2d764dca.bce4062b.js b/assets/js/2d764dca.bce4062b.js deleted file mode 100644 index 35db07b18..000000000 --- a/assets/js/2d764dca.bce4062b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[42957],{4572:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>d,frontMatter:()=>i,metadata:()=>r,toc:()=>c});var s=o(85893),n=o(11151);const i={id:"blocks",title:"Blocks"},a=void 0,r={id:"legacy/v6/basics/blocks",title:"Blocks",description:"docs-source",source:"@site/docs/legacy/v6/basics/blocks.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/blocks",permalink:"/docs/legacy/v6/basics/blocks",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks",title:"Blocks"},sidebar:"docs",previous:{title:"Dynamic Import",permalink:"/docs/legacy/v6/basics/dynamic-import"},next:{title:"Important",permalink:"/docs/legacy/v6/basics/blocks-important"}},l={},c=[{value:"Types of blocks",id:"types-of-blocks",level:2},{value:"Static blocks",id:"static-blocks",level:3},{value:"Dynamic blocks",id:"dynamic-blocks",level:3},{value:"Eightshift blocks",id:"eightshift-blocks",level:2}];function h(e){const t={a:"a",blockquote:"blockquote",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,n.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/",children:(0,s.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(t.p,{children:"Since WordPress 5.0, we were introduced to the new editing experience using the so-called Gutenberg blocks. With blocks, the idea is to have the same look and feel in the editor as on the front end. As a developer, you just got a new technology that you should know if you want to build a great project on WordPress. That new technology is React because everything regarding blocks is done using React."}),"\n",(0,s.jsx)(t.p,{children:"Don't get discouraged just yet, because the WordPress team has made the process of creating blocks relatively easy. But we are not here to talk about the simple stuff. We want to do more complex projects with custom blocks, so follow along and see what we have prepared here."}),"\n",(0,s.jsxs)(t.blockquote,{children:["\n",(0,s.jsxs)(t.p,{children:["You can read everything regarding blocks in the ",(0,s.jsx)(t.a,{href:"https://developer.wordpress.org/block-editor/tutorials/block-tutorial/",children:"WordPress documentation"}),". We will not be explaining how everything natively works in this documentation. Instead, we will only describe how to use our setup and how it correlates with the native one. Everything that you can't find here, please look up in the WordPress Handbook."]}),"\n"]}),"\n",(0,s.jsx)(t.h2,{id:"types-of-blocks",children:"Types of blocks"}),"\n",(0,s.jsx)(t.p,{children:"WordPress Core Editor team has provided us with two different kinds of blocks:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Static blocks"}),"\n",(0,s.jsx)(t.li,{children:"Dynamic blocks"}),"\n"]}),"\n",(0,s.jsx)(t.h3,{id:"static-blocks",children:"Static blocks"}),"\n",(0,s.jsx)(t.p,{children:"These are the blocks that you can see in the core. Almost every block from WordPress comes this way. With static blocks, you have the same content on the front end as you do in the editor. This was accomplished by providing the same layout in the save callback as in the edit callback."}),"\n",(0,s.jsx)(t.p,{children:"The drawback of building blocks this way is that you must also provide the HTML markup that you will use on the front-end, inside the save callback. That method saves everything to the database, and you can't just change the HTML markup without some transformations or deprecation methods. If you change the markup while working on it, you'll get an error in the editor screen, and you'll have to add the content again."}),"\n",(0,s.jsx)(t.p,{children:"We don't like this approach because of how it stores the HTML content in the database. Lucky for us, WordPress has provided a different kind of blocks for this matter. They are called dynamic blocks."}),"\n",(0,s.jsx)(t.h3,{id:"dynamic-blocks",children:"Dynamic blocks"}),"\n",(0,s.jsx)(t.p,{children:"As you already saw in the previous chapter, the main difference between static and dynamic blocks is storing content in the database. For many dynamic blocks, the save callback function should be returned as null, which tells the editor to save only the block attributes to the database. These attributes are then passed into the server-side rendering callback, so you can decide how to display the block on the front end of your site."}),"\n",(0,s.jsx)(t.p,{children:"This means that you write code using React and JSX in the editor, and you must provide the same code in the PHP for the front-end. Yes, it is a lot of work because you must switch technologies and do the same thing multiple times, but we tried to make this process as simple as possible."}),"\n",(0,s.jsx)(t.p,{children:"Follow along and see what we prepared. From now on, we'll be talking only about dynamic blocks in this documentation."}),"\n",(0,s.jsx)(t.h2,{id:"eightshift-blocks",children:"Eightshift blocks"}),"\n",(0,s.jsx)(t.p,{children:"Our setup's main advantage is that you don't need to do a bunch of boilerplate every time you want to create a new block for your project. Also, we have a bunch of cool features we think you might like:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Separated blocks from components."}),"\n",(0,s.jsx)(t.li,{children:"You have a predefined structure for everything."}),"\n",(0,s.jsx)(t.li,{children:"If you follow the structure we provided, everything is registered and called automatically."}),"\n",(0,s.jsx)(t.li,{children:'You don\'t have to worry: "did I register this the right way?", "what style goes where?", etc.'}),"\n",(0,s.jsx)(t.li,{children:"Storybook for your project."}),"\n",(0,s.jsx)(t.li,{children:"A dozen of the pre-created blocks from our end. Once we create a new block in some of our projects, we make it available in the libs."}),"\n",(0,s.jsxs)(t.li,{children:["Easy usage of blocks and components with our ",(0,s.jsx)(t.a,{href:"wp-cli",children:"WP-CLI"})," commands."]}),"\n",(0,s.jsx)(t.li,{children:"Setup that shares configuration between JS, PHP, and SCSS files."}),"\n",(0,s.jsx)(t.li,{children:"Wrapper that comes with every block and allows you to control how a block behaves in the layout entirely."}),"\n",(0,s.jsx)(t.li,{children:"Everything is responsive. Yes, you read that correctly; we created options that you can control on multiple breakpoints."}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.strong,{children:"Everything is configurable and editable from your project."})}),"\n",(0,s.jsx)(t.li,{children:"Linting standards."}),"\n",(0,s.jsx)(t.li,{children:"Multiple helpers work the same on JS and PHP side, so it is easy to copy code from one language to another."}),"\n",(0,s.jsx)(t.li,{children:"And much, much more."}),"\n"]})]})}function d(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},11151:(e,t,o)=>{o.d(t,{Z:()=>r,a:()=>a});var s=o(67294);const n={},i=s.createContext(n);function a(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2d764dca.c52b4a8a.js b/assets/js/2d764dca.c52b4a8a.js new file mode 100644 index 000000000..7e98a555d --- /dev/null +++ b/assets/js/2d764dca.c52b4a8a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[70745],{4604:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>d,frontMatter:()=>i,metadata:()=>r,toc:()=>c});var s=o(17624),n=o(4552);const i={id:"blocks",title:"Blocks"},a=void 0,r={id:"legacy/v6/basics/blocks",title:"Blocks",description:"docs-source",source:"@site/docs/legacy/v6/basics/blocks.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/blocks",permalink:"/docs/legacy/v6/basics/blocks",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks",title:"Blocks"},sidebar:"docs",previous:{title:"Dynamic Import",permalink:"/docs/legacy/v6/basics/dynamic-import"},next:{title:"Important",permalink:"/docs/legacy/v6/basics/blocks-important"}},l={},c=[{value:"Types of blocks",id:"types-of-blocks",level:2},{value:"Static blocks",id:"static-blocks",level:3},{value:"Dynamic blocks",id:"dynamic-blocks",level:3},{value:"Eightshift blocks",id:"eightshift-blocks",level:2}];function h(e){const t={a:"a",blockquote:"blockquote",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,n.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/",children:(0,s.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(t.p,{children:"Since WordPress 5.0, we were introduced to the new editing experience using the so-called Gutenberg blocks. With blocks, the idea is to have the same look and feel in the editor as on the front end. As a developer, you just got a new technology that you should know if you want to build a great project on WordPress. That new technology is React because everything regarding blocks is done using React."}),"\n",(0,s.jsx)(t.p,{children:"Don't get discouraged just yet, because the WordPress team has made the process of creating blocks relatively easy. But we are not here to talk about the simple stuff. We want to do more complex projects with custom blocks, so follow along and see what we have prepared here."}),"\n",(0,s.jsxs)(t.blockquote,{children:["\n",(0,s.jsxs)(t.p,{children:["You can read everything regarding blocks in the ",(0,s.jsx)(t.a,{href:"https://developer.wordpress.org/block-editor/tutorials/block-tutorial/",children:"WordPress documentation"}),". We will not be explaining how everything natively works in this documentation. Instead, we will only describe how to use our setup and how it correlates with the native one. Everything that you can't find here, please look up in the WordPress Handbook."]}),"\n"]}),"\n",(0,s.jsx)(t.h2,{id:"types-of-blocks",children:"Types of blocks"}),"\n",(0,s.jsx)(t.p,{children:"WordPress Core Editor team has provided us with two different kinds of blocks:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Static blocks"}),"\n",(0,s.jsx)(t.li,{children:"Dynamic blocks"}),"\n"]}),"\n",(0,s.jsx)(t.h3,{id:"static-blocks",children:"Static blocks"}),"\n",(0,s.jsx)(t.p,{children:"These are the blocks that you can see in the core. Almost every block from WordPress comes this way. With static blocks, you have the same content on the front end as you do in the editor. This was accomplished by providing the same layout in the save callback as in the edit callback."}),"\n",(0,s.jsx)(t.p,{children:"The drawback of building blocks this way is that you must also provide the HTML markup that you will use on the front-end, inside the save callback. That method saves everything to the database, and you can't just change the HTML markup without some transformations or deprecation methods. If you change the markup while working on it, you'll get an error in the editor screen, and you'll have to add the content again."}),"\n",(0,s.jsx)(t.p,{children:"We don't like this approach because of how it stores the HTML content in the database. Lucky for us, WordPress has provided a different kind of blocks for this matter. They are called dynamic blocks."}),"\n",(0,s.jsx)(t.h3,{id:"dynamic-blocks",children:"Dynamic blocks"}),"\n",(0,s.jsx)(t.p,{children:"As you already saw in the previous chapter, the main difference between static and dynamic blocks is storing content in the database. For many dynamic blocks, the save callback function should be returned as null, which tells the editor to save only the block attributes to the database. These attributes are then passed into the server-side rendering callback, so you can decide how to display the block on the front end of your site."}),"\n",(0,s.jsx)(t.p,{children:"This means that you write code using React and JSX in the editor, and you must provide the same code in the PHP for the front-end. Yes, it is a lot of work because you must switch technologies and do the same thing multiple times, but we tried to make this process as simple as possible."}),"\n",(0,s.jsx)(t.p,{children:"Follow along and see what we prepared. From now on, we'll be talking only about dynamic blocks in this documentation."}),"\n",(0,s.jsx)(t.h2,{id:"eightshift-blocks",children:"Eightshift blocks"}),"\n",(0,s.jsx)(t.p,{children:"Our setup's main advantage is that you don't need to do a bunch of boilerplate every time you want to create a new block for your project. Also, we have a bunch of cool features we think you might like:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Separated blocks from components."}),"\n",(0,s.jsx)(t.li,{children:"You have a predefined structure for everything."}),"\n",(0,s.jsx)(t.li,{children:"If you follow the structure we provided, everything is registered and called automatically."}),"\n",(0,s.jsx)(t.li,{children:'You don\'t have to worry: "did I register this the right way?", "what style goes where?", etc.'}),"\n",(0,s.jsx)(t.li,{children:"Storybook for your project."}),"\n",(0,s.jsx)(t.li,{children:"A dozen of the pre-created blocks from our end. Once we create a new block in some of our projects, we make it available in the libs."}),"\n",(0,s.jsxs)(t.li,{children:["Easy usage of blocks and components with our ",(0,s.jsx)(t.a,{href:"wp-cli",children:"WP-CLI"})," commands."]}),"\n",(0,s.jsx)(t.li,{children:"Setup that shares configuration between JS, PHP, and SCSS files."}),"\n",(0,s.jsx)(t.li,{children:"Wrapper that comes with every block and allows you to control how a block behaves in the layout entirely."}),"\n",(0,s.jsx)(t.li,{children:"Everything is responsive. Yes, you read that correctly; we created options that you can control on multiple breakpoints."}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.strong,{children:"Everything is configurable and editable from your project."})}),"\n",(0,s.jsx)(t.li,{children:"Linting standards."}),"\n",(0,s.jsx)(t.li,{children:"Multiple helpers work the same on JS and PHP side, so it is easy to copy code from one language to another."}),"\n",(0,s.jsx)(t.li,{children:"And much, much more."}),"\n"]})]})}function d(e={}){const{wrapper:t}={...(0,n.M)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},4552:(e,t,o)=>{o.d(t,{I:()=>r,M:()=>a});var s=o(11504);const n={},i=s.createContext(n);function a(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2e9194de.6ed3f8aa.js b/assets/js/2e9194de.6ed3f8aa.js deleted file mode 100644 index 7a9bcf9a1..000000000 --- a/assets/js/2e9194de.6ed3f8aa.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[81302],{56121:(t,e,s)=>{s.r(e),s.d(e,{assets:()=>a,contentTitle:()=>r,default:()=>b,frontMatter:()=>i,metadata:()=>c,toc:()=>l});var o=s(85893),n=s(11151);const i={id:"blocks-attributes",title:"Attributes",sidebar_label:"Attributes"},r=void 0,c={id:"legacy/v5/basics/blocks-attributes",title:"Attributes",description:"docs-source",source:"@site/docs/legacy/v5/basics/blocks-attributes.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/blocks-attributes",permalink:"/docs/legacy/v5/basics/blocks-attributes",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-attributes",title:"Attributes",sidebar_label:"Attributes"},sidebar:"docs",previous:{title:"Component Manifest",permalink:"/docs/legacy/v5/basics/blocks-component-manifest"},next:{title:"Component in a Block",permalink:"/docs/legacy/v5/basics/blocks-component-in-block"}},a={},l=[];function u(t){const e={a:"a",code:"code",img:"img",p:"p",...(0,n.a)(),...t.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.p,{children:(0,o.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/",children:(0,o.jsx)(e.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsxs)(e.p,{children:["If you were to reference the native ",(0,o.jsx)(e.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-attributes/",children:"WordPress documentation"})," about attributes in blocks, you can see that they support different types of attributes. In this chapter, we want to point out that you should avoid using objects for your attributes."]}),"\n",(0,o.jsxs)(e.p,{children:["The reason for this is that you can't control what key of that object is stored in the database once the attribute changes. When you change one key, the ",(0,o.jsx)(e.code,{children:"setAttributes"})," method will store the entire object in the database and you'll lose the best feature of block editor - the default attributes."]}),"\n",(0,o.jsx)(e.p,{children:"You can also look at this from the Reacts perspective: setting the entire object every time the key changes is bad for performance."}),"\n",(0,o.jsx)(e.p,{children:"Yes, you can use objects, but we recommend using them only when you want to store multiple keys simultaneously."})]})}function b(t={}){const{wrapper:e}={...(0,n.a)(),...t.components};return e?(0,o.jsx)(e,{...t,children:(0,o.jsx)(u,{...t})}):u(t)}},11151:(t,e,s)=>{s.d(e,{Z:()=>c,a:()=>r});var o=s(67294);const n={},i=o.createContext(n);function r(t){const e=o.useContext(i);return o.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function c(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(n):t.components||n:r(t.components),o.createElement(i.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/2e9194de.f11a0b2e.js b/assets/js/2e9194de.f11a0b2e.js new file mode 100644 index 000000000..52706f530 --- /dev/null +++ b/assets/js/2e9194de.f11a0b2e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[62008],{88840:(t,e,s)=>{s.r(e),s.d(e,{assets:()=>a,contentTitle:()=>r,default:()=>b,frontMatter:()=>i,metadata:()=>c,toc:()=>l});var o=s(17624),n=s(4552);const i={id:"blocks-attributes",title:"Attributes",sidebar_label:"Attributes"},r=void 0,c={id:"legacy/v5/basics/blocks-attributes",title:"Attributes",description:"docs-source",source:"@site/docs/legacy/v5/basics/blocks-attributes.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/blocks-attributes",permalink:"/docs/legacy/v5/basics/blocks-attributes",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-attributes",title:"Attributes",sidebar_label:"Attributes"},sidebar:"docs",previous:{title:"Component Manifest",permalink:"/docs/legacy/v5/basics/blocks-component-manifest"},next:{title:"Component in a Block",permalink:"/docs/legacy/v5/basics/blocks-component-in-block"}},a={},l=[];function u(t){const e={a:"a",code:"code",img:"img",p:"p",...(0,n.M)(),...t.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.p,{children:(0,o.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/",children:(0,o.jsx)(e.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsxs)(e.p,{children:["If you were to reference the native ",(0,o.jsx)(e.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-attributes/",children:"WordPress documentation"})," about attributes in blocks, you can see that they support different types of attributes. In this chapter, we want to point out that you should avoid using objects for your attributes."]}),"\n",(0,o.jsxs)(e.p,{children:["The reason for this is that you can't control what key of that object is stored in the database once the attribute changes. When you change one key, the ",(0,o.jsx)(e.code,{children:"setAttributes"})," method will store the entire object in the database and you'll lose the best feature of block editor - the default attributes."]}),"\n",(0,o.jsx)(e.p,{children:"You can also look at this from the Reacts perspective: setting the entire object every time the key changes is bad for performance."}),"\n",(0,o.jsx)(e.p,{children:"Yes, you can use objects, but we recommend using them only when you want to store multiple keys simultaneously."})]})}function b(t={}){const{wrapper:e}={...(0,n.M)(),...t.components};return e?(0,o.jsx)(e,{...t,children:(0,o.jsx)(u,{...t})}):u(t)}},4552:(t,e,s)=>{s.d(e,{I:()=>c,M:()=>r});var o=s(11504);const n={},i=o.createContext(n);function r(t){const e=o.useContext(i);return o.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function c(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(n):t.components||n:r(t.components),o.createElement(i.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/2e99cb0e.a8abf49b.js b/assets/js/2e99cb0e.a8abf49b.js deleted file mode 100644 index b567263fe..000000000 --- a/assets/js/2e99cb0e.a8abf49b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[51610],{5260:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>i,contentTitle:()=>n,default:()=>h,frontMatter:()=>l,metadata:()=>r,toc:()=>c});var o=s(85893),a=s(11151);const l={id:"blocks-reusable",title:"Reusable Blocks"},n=void 0,r={id:"legacy/v6/basics/blocks-reusable",title:"Reusable Blocks",description:"docs-source",source:"@site/docs/legacy/v6/basics/blocks-reusable.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/blocks-reusable",permalink:"/docs/legacy/v6/basics/blocks-reusable",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-reusable",title:"Reusable Blocks"},sidebar:"docs",previous:{title:"Special Use Cases",permalink:"/docs/legacy/v6/basics/blocks-special-use-cases"},next:{title:"Styles",permalink:"/docs/legacy/v6/basics/blocks-styles"}},i={},c=[{value:"Register admin sidemenu",id:"register-admin-sidemenu",level:3},{value:"Use the reusable block as a partial",id:"use-the-reusable-block-as-a-partial",level:3}];function u(e){const t={a:"a",blockquote:"blockquote",code:"code",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/",children:(0,o.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(t.p,{children:"Block editor provides us with the reusable blocks out of the box. These blocks are a custom post type that holds blocks that you can call in your editor to reuse in multiple places. So if you change your reusable block that change will impact all places where this block is imported."}),"\n",(0,o.jsx)(t.h3,{id:"register-admin-sidemenu",children:"Register admin sidemenu"}),"\n",(0,o.jsx)(t.p,{children:"Reusable blocks can be accessed from the block editors options page but to help our editors, we like to add a new menu in the admin sidebar where you can easily access all your reusable blocks. If you use our custom blocks setup this sidebar menu will be added by default."}),"\n",(0,o.jsx)(t.h3,{id:"use-the-reusable-block-as-a-partial",children:"Use the reusable block as a partial"}),"\n",(0,o.jsx)(t.p,{children:"We also like to use a reusable block for website parts that were previously hardcoded in the theme and are not a part of the block editor. We like to use this footer of additional options in categories and terms."}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.strong,{children:"Here are the steps:"})}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"Create a new reusable block for your partial."}),"\n",(0,o.jsx)(t.li,{children:"Create a config where you can configure what reusable block are you going to use in your theme. We like to use ACF PRO and its option to create a theme options page."}),"\n",(0,o.jsx)(t.li,{children:"Call this option in your theme and output your block."}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:"The first two steps are easy enough, but here is an example for the third step:"}),"\n",(0,o.jsx)(t.p,{children:"footer.php"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-php",children:"// Check if the footer partial is set and use the contents of it.\n$footerPartialId = '1'; // here you provide your way to get the option set in the second step.\n\nif (!empty($footerPartialId)) {\n\t$footerBlocks = parse_blocks(get_the_content(null, null, $footerPartialId));\n\n\tforeach ($footerBlocks as $block) {\n\t\techo wp_kses_post(\\apply_filters('the_content', \\render_block($block)));\n\t}\n}\n"})}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsx)(t.p,{children:"Notes about reusable blocks, they're not native WP search friendly (as in the content you only have the WP block comment markup that there's a specific reusable block there). So if you use a lot of these in the content of a page / post, it might affect your search relevancy."}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},11151:(e,t,s)=>{s.d(t,{Z:()=>r,a:()=>n});var o=s(67294);const a={},l=o.createContext(a);function n(e){const t=o.useContext(l);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(a):e.components||a:n(e.components),o.createElement(l.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2e99cb0e.ebb05755.js b/assets/js/2e99cb0e.ebb05755.js new file mode 100644 index 000000000..1f32622a9 --- /dev/null +++ b/assets/js/2e99cb0e.ebb05755.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[98512],{9652:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>i,contentTitle:()=>n,default:()=>h,frontMatter:()=>l,metadata:()=>r,toc:()=>c});var o=s(17624),a=s(4552);const l={id:"blocks-reusable",title:"Reusable Blocks"},n=void 0,r={id:"legacy/v6/basics/blocks-reusable",title:"Reusable Blocks",description:"docs-source",source:"@site/docs/legacy/v6/basics/blocks-reusable.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/blocks-reusable",permalink:"/docs/legacy/v6/basics/blocks-reusable",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-reusable",title:"Reusable Blocks"},sidebar:"docs",previous:{title:"Special Use Cases",permalink:"/docs/legacy/v6/basics/blocks-special-use-cases"},next:{title:"Styles",permalink:"/docs/legacy/v6/basics/blocks-styles"}},i={},c=[{value:"Register admin sidemenu",id:"register-admin-sidemenu",level:3},{value:"Use the reusable block as a partial",id:"use-the-reusable-block-as-a-partial",level:3}];function u(e){const t={a:"a",blockquote:"blockquote",code:"code",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/",children:(0,o.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(t.p,{children:"Block editor provides us with the reusable blocks out of the box. These blocks are a custom post type that holds blocks that you can call in your editor to reuse in multiple places. So if you change your reusable block that change will impact all places where this block is imported."}),"\n",(0,o.jsx)(t.h3,{id:"register-admin-sidemenu",children:"Register admin sidemenu"}),"\n",(0,o.jsx)(t.p,{children:"Reusable blocks can be accessed from the block editors options page but to help our editors, we like to add a new menu in the admin sidebar where you can easily access all your reusable blocks. If you use our custom blocks setup this sidebar menu will be added by default."}),"\n",(0,o.jsx)(t.h3,{id:"use-the-reusable-block-as-a-partial",children:"Use the reusable block as a partial"}),"\n",(0,o.jsx)(t.p,{children:"We also like to use a reusable block for website parts that were previously hardcoded in the theme and are not a part of the block editor. We like to use this footer of additional options in categories and terms."}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.strong,{children:"Here are the steps:"})}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"Create a new reusable block for your partial."}),"\n",(0,o.jsx)(t.li,{children:"Create a config where you can configure what reusable block are you going to use in your theme. We like to use ACF PRO and its option to create a theme options page."}),"\n",(0,o.jsx)(t.li,{children:"Call this option in your theme and output your block."}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:"The first two steps are easy enough, but here is an example for the third step:"}),"\n",(0,o.jsx)(t.p,{children:"footer.php"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-php",children:"// Check if the footer partial is set and use the contents of it.\n$footerPartialId = '1'; // here you provide your way to get the option set in the second step.\n\nif (!empty($footerPartialId)) {\n\t$footerBlocks = parse_blocks(get_the_content(null, null, $footerPartialId));\n\n\tforeach ($footerBlocks as $block) {\n\t\techo wp_kses_post(\\apply_filters('the_content', \\render_block($block)));\n\t}\n}\n"})}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsx)(t.p,{children:"Notes about reusable blocks, they're not native WP search friendly (as in the content you only have the WP block comment markup that there's a specific reusable block there). So if you use a lot of these in the content of a page / post, it might affect your search relevancy."}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,a.M)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},4552:(e,t,s)=>{s.d(t,{I:()=>r,M:()=>n});var o=s(11504);const a={},l=o.createContext(a);function n(e){const t=o.useContext(l);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(a):e.components||a:n(e.components),o.createElement(l.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2f2ad190.17e823fe.js b/assets/js/2f2ad190.17e823fe.js deleted file mode 100644 index 9eaca8767..000000000 --- a/assets/js/2f2ad190.17e823fe.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[97550],{43617:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>r,contentTitle:()=>l,default:()=>h,frontMatter:()=>o,metadata:()=>a,toc:()=>c});var t=n(85893),i=n(11151);const o={id:"global-settings",title:"Global Settings"},l=void 0,a={id:"legacy/v8/basics/global-settings",title:"Global Settings",description:"docs-source",source:"@site/docs/legacy/v8/basics/global-settings.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/global-settings",permalink:"/docs/legacy/v8/basics/global-settings",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"global-settings",title:"Global Settings"},sidebar:"docs",previous:{title:"SCSS Library",permalink:"/docs/legacy/v8/basics/library"},next:{title:"Writing Styles",permalink:"/docs/legacy/v8/basics/writing-styles"}},r={},c=[{value:"Why do we use this?",id:"why-do-we-use-this",level:2},{value:"How does this work?",id:"how-does-this-work",level:2},{value:"Scenario 1:",id:"scenario-1",level:3},{value:"Scenario 2:",id:"scenario-2",level:3},{value:"Scenario 3:",id:"scenario-3",level:3}];function d(e){const s={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",strong:"strong",...(0,i.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs",children:(0,t.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsx)(s.admonition,{type:"note",children:(0,t.jsxs)(s.p,{children:["This chapter is only relevant in setups that don't use CSS variables. If you are using CSS variables please skip to the ",(0,t.jsx)(s.a,{href:"blocks-styles",children:"Blocks Styles chapter"}),"."]})}),"\n",(0,t.jsx)(s.p,{children:"Ok, this is the part that we are incredibly proud of. Did you know that you can pass values from the JSON manifest or some other file directly to SCSS? Yes, we had the same facial expression when we found out. For this to work, we used Webpack and its excellent features."}),"\n",(0,t.jsx)(s.admonition,{title:":es-hide-title:",type:"caution",children:(0,t.jsx)(s.p,{children:"This feature comes only with the block setup."})}),"\n",(0,t.jsxs)(s.p,{children:["If you used our ",(0,t.jsx)(s.code,{children:"wp boilerplate init theme"})," command, you are all set. If not, please visit the ",(0,t.jsx)(s.a,{href:"blocks",children:"blocks chapter"})," for more details."]}),"\n",(0,t.jsx)(s.h2,{id:"why-do-we-use-this",children:"Why do we use this?"}),"\n",(0,t.jsx)(s.p,{children:"Because, with dynamic blocks, you must create your blocks. We got tired of copy/pasting styles from JavaScript/PHP/SCSS files. That is why we created this feature to define some global styles in one spot and use them in all three places."}),"\n",(0,t.jsx)(s.h2,{id:"how-does-this-work",children:"How does this work?"}),"\n",(0,t.jsxs)(s.p,{children:["You have the file ",(0,t.jsx)(s.code,{children:"src/Blocks/manifest.json"})," that has a key called ",(0,t.jsx)(s.code,{children:"globalVariables"}),". We use this key and build the SCSS maps that you can use in your style files."]}),"\n",(0,t.jsx)(s.p,{children:"Mind-blowing, right?"}),"\n",(0,t.jsxs)(s.p,{children:["To use it, write your style in the ",(0,t.jsx)(s.code,{children:"manifest.json"})," under the ",(0,t.jsx)(s.code,{children:"globalVariables"})," key, and you can use that variable in your style files like this:"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"$base-col-number: global-settings(maxCols);\n"})}),"\n",(0,t.jsxs)(s.p,{children:["Keep in mind that the ",(0,t.jsx)(s.code,{children:"global-settings"})," is a function that checks the ",(0,t.jsx)(s.code,{children:"globalVariables"})," map and returns the value depending on the key provided."]}),"\n",(0,t.jsxs)(s.p,{children:["For example, if you have something like this in your ",(0,t.jsx)(s.code,{children:"manifest.json"}),":"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-json",children:'{\n "globalVariables": {\n "maxCols": 12,\n "gutters": {\n "none": "0",\n "default": "25px",\n "big": "50px"\n },\n "colors": [\n {\n "name": "Primary",\n "slug": "primary",\n "color": "#3E3E3E"\n },\n {\n "name": "Black",\n "slug": "black",\n "color": "#000000"\n },\n ]\n }\n}\n'})}),"\n",(0,t.jsx)(s.h3,{id:"scenario-1",children:"Scenario 1:"}),"\n",(0,t.jsx)(s.p,{children:"You type this in you SCSS files:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"$base-col-number: global-settings(maxCols);\n"})}),"\n",(0,t.jsxs)(s.p,{children:["the output will be: ",(0,t.jsx)(s.strong,{children:"12"})]}),"\n",(0,t.jsx)(s.h3,{id:"scenario-2",children:"Scenario 2:"}),"\n",(0,t.jsx)(s.p,{children:"You type this in you SCSS files:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"$gutters: global-settings(gutters);\n"})}),"\n",(0,t.jsxs)(s.p,{children:["the output will be a map that you need to loop or fetch individual files using ",(0,t.jsx)(s.code,{children:"get-map-strict"})," or ",(0,t.jsx)(s.code,{children:"get-map-deep"})," function:"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:'$gutters: (\n "none": "0",\n "default": "25px",\n "big": "50px"\n);\n'})}),"\n",(0,t.jsx)(s.p,{children:"so you can call it like this:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"width: get-map-strict($gutters, default);\n"})}),"\n",(0,t.jsx)(s.h3,{id:"scenario-3",children:"Scenario 3:"}),"\n",(0,t.jsx)(s.p,{children:'"I want to output colors, but they don\'t follow the structure you mentioned before. Why is that?"'}),"\n",(0,t.jsx)(s.p,{children:"Yes, colors are different because we use this manifest to output the colors to the block editors' color palette. Only the colors are like this."}),"\n",(0,t.jsx)(s.p,{children:"Type this into your SCSS files:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"$primary-color: global-settings(colors, primary),\n$black-color: global-settings(colors, black),\n"})}),"\n",(0,t.jsx)(s.p,{children:"The output will be:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"$primary-color: #3E3E3E;\n$black-color: #000000;\n"})}),"\n",(0,t.jsx)(s.p,{children:"so you use it the normal SCSS way:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"color: $primary-color;\nbackground-color: $black-color;\n"})}),"\n",(0,t.jsx)(s.admonition,{type:"note",children:(0,t.jsxs)(s.p,{children:["If you add/remove/change any value in the ",(0,t.jsx)(s.code,{children:"manifest.json"})," file, please restart your Webpack watch because it won't recognize that change."]})})]})}function h(e={}){const{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},11151:(e,s,n)=>{n.d(s,{Z:()=>a,a:()=>l});var t=n(67294);const i={},o=t.createContext(i);function l(e){const s=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:l(e.components),t.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2f2ad190.674deb19.js b/assets/js/2f2ad190.674deb19.js new file mode 100644 index 000000000..990c0945d --- /dev/null +++ b/assets/js/2f2ad190.674deb19.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[33872],{97204:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>r,contentTitle:()=>l,default:()=>h,frontMatter:()=>o,metadata:()=>a,toc:()=>c});var t=n(17624),i=n(4552);const o={id:"global-settings",title:"Global Settings"},l=void 0,a={id:"legacy/v8/basics/global-settings",title:"Global Settings",description:"docs-source",source:"@site/docs/legacy/v8/basics/global-settings.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/global-settings",permalink:"/docs/legacy/v8/basics/global-settings",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"global-settings",title:"Global Settings"},sidebar:"docs",previous:{title:"SCSS Library",permalink:"/docs/legacy/v8/basics/library"},next:{title:"Writing Styles",permalink:"/docs/legacy/v8/basics/writing-styles"}},r={},c=[{value:"Why do we use this?",id:"why-do-we-use-this",level:2},{value:"How does this work?",id:"how-does-this-work",level:2},{value:"Scenario 1:",id:"scenario-1",level:3},{value:"Scenario 2:",id:"scenario-2",level:3},{value:"Scenario 3:",id:"scenario-3",level:3}];function d(e){const s={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",strong:"strong",...(0,i.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs",children:(0,t.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsx)(s.admonition,{type:"note",children:(0,t.jsxs)(s.p,{children:["This chapter is only relevant in setups that don't use CSS variables. If you are using CSS variables please skip to the ",(0,t.jsx)(s.a,{href:"blocks-styles",children:"Blocks Styles chapter"}),"."]})}),"\n",(0,t.jsx)(s.p,{children:"Ok, this is the part that we are incredibly proud of. Did you know that you can pass values from the JSON manifest or some other file directly to SCSS? Yes, we had the same facial expression when we found out. For this to work, we used Webpack and its excellent features."}),"\n",(0,t.jsx)(s.admonition,{title:":es-hide-title:",type:"caution",children:(0,t.jsx)(s.p,{children:"This feature comes only with the block setup."})}),"\n",(0,t.jsxs)(s.p,{children:["If you used our ",(0,t.jsx)(s.code,{children:"wp boilerplate init theme"})," command, you are all set. If not, please visit the ",(0,t.jsx)(s.a,{href:"blocks",children:"blocks chapter"})," for more details."]}),"\n",(0,t.jsx)(s.h2,{id:"why-do-we-use-this",children:"Why do we use this?"}),"\n",(0,t.jsx)(s.p,{children:"Because, with dynamic blocks, you must create your blocks. We got tired of copy/pasting styles from JavaScript/PHP/SCSS files. That is why we created this feature to define some global styles in one spot and use them in all three places."}),"\n",(0,t.jsx)(s.h2,{id:"how-does-this-work",children:"How does this work?"}),"\n",(0,t.jsxs)(s.p,{children:["You have the file ",(0,t.jsx)(s.code,{children:"src/Blocks/manifest.json"})," that has a key called ",(0,t.jsx)(s.code,{children:"globalVariables"}),". We use this key and build the SCSS maps that you can use in your style files."]}),"\n",(0,t.jsx)(s.p,{children:"Mind-blowing, right?"}),"\n",(0,t.jsxs)(s.p,{children:["To use it, write your style in the ",(0,t.jsx)(s.code,{children:"manifest.json"})," under the ",(0,t.jsx)(s.code,{children:"globalVariables"})," key, and you can use that variable in your style files like this:"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"$base-col-number: global-settings(maxCols);\n"})}),"\n",(0,t.jsxs)(s.p,{children:["Keep in mind that the ",(0,t.jsx)(s.code,{children:"global-settings"})," is a function that checks the ",(0,t.jsx)(s.code,{children:"globalVariables"})," map and returns the value depending on the key provided."]}),"\n",(0,t.jsxs)(s.p,{children:["For example, if you have something like this in your ",(0,t.jsx)(s.code,{children:"manifest.json"}),":"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-json",children:'{\n "globalVariables": {\n "maxCols": 12,\n "gutters": {\n "none": "0",\n "default": "25px",\n "big": "50px"\n },\n "colors": [\n {\n "name": "Primary",\n "slug": "primary",\n "color": "#3E3E3E"\n },\n {\n "name": "Black",\n "slug": "black",\n "color": "#000000"\n },\n ]\n }\n}\n'})}),"\n",(0,t.jsx)(s.h3,{id:"scenario-1",children:"Scenario 1:"}),"\n",(0,t.jsx)(s.p,{children:"You type this in you SCSS files:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"$base-col-number: global-settings(maxCols);\n"})}),"\n",(0,t.jsxs)(s.p,{children:["the output will be: ",(0,t.jsx)(s.strong,{children:"12"})]}),"\n",(0,t.jsx)(s.h3,{id:"scenario-2",children:"Scenario 2:"}),"\n",(0,t.jsx)(s.p,{children:"You type this in you SCSS files:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"$gutters: global-settings(gutters);\n"})}),"\n",(0,t.jsxs)(s.p,{children:["the output will be a map that you need to loop or fetch individual files using ",(0,t.jsx)(s.code,{children:"get-map-strict"})," or ",(0,t.jsx)(s.code,{children:"get-map-deep"})," function:"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:'$gutters: (\n "none": "0",\n "default": "25px",\n "big": "50px"\n);\n'})}),"\n",(0,t.jsx)(s.p,{children:"so you can call it like this:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"width: get-map-strict($gutters, default);\n"})}),"\n",(0,t.jsx)(s.h3,{id:"scenario-3",children:"Scenario 3:"}),"\n",(0,t.jsx)(s.p,{children:'"I want to output colors, but they don\'t follow the structure you mentioned before. Why is that?"'}),"\n",(0,t.jsx)(s.p,{children:"Yes, colors are different because we use this manifest to output the colors to the block editors' color palette. Only the colors are like this."}),"\n",(0,t.jsx)(s.p,{children:"Type this into your SCSS files:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"$primary-color: global-settings(colors, primary),\n$black-color: global-settings(colors, black),\n"})}),"\n",(0,t.jsx)(s.p,{children:"The output will be:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"$primary-color: #3E3E3E;\n$black-color: #000000;\n"})}),"\n",(0,t.jsx)(s.p,{children:"so you use it the normal SCSS way:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"color: $primary-color;\nbackground-color: $black-color;\n"})}),"\n",(0,t.jsx)(s.admonition,{type:"note",children:(0,t.jsxs)(s.p,{children:["If you add/remove/change any value in the ",(0,t.jsx)(s.code,{children:"manifest.json"})," file, please restart your Webpack watch because it won't recognize that change."]})})]})}function h(e={}){const{wrapper:s}={...(0,i.M)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},4552:(e,s,n)=>{n.d(s,{I:()=>a,M:()=>l});var t=n(11504);const i={},o=t.createContext(i);function l(e){const s=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:l(e.components),t.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/30241ed8.000d9940.js b/assets/js/30241ed8.000d9940.js deleted file mode 100644 index aeec35d61..000000000 --- a/assets/js/30241ed8.000d9940.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[27848],{38190:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>i,contentTitle:()=>a,default:()=>p,frontMatter:()=>l,metadata:()=>c,toc:()=>r});var s=t(85893),o=t(11151);const l={id:"columns-post-type",title:"Post Type"},a=void 0,c={id:"legacy/v4/guides/columns-post-type",title:"Post Type",description:"docs-source",source:"@site/docs/legacy/v4/guides/columns-post-type.md",sourceDirName:"legacy/v4/guides",slug:"/legacy/v4/guides/columns-post-type",permalink:"/docs/legacy/v4/guides/columns-post-type",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"columns-post-type",title:"Post Type"},sidebar:"docs",previous:{title:"Route Example",permalink:"/docs/legacy/v4/guides/rest-route-example"},next:{title:"Taxonomy",permalink:"/docs/legacy/v4/guides/columns-taxonomy"}},i={},r=[{value:"Example:",id:"example",level:2}];function u(e){const n={a:"a",code:"code",h2:"h2",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",...(0,o.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/columns/class-base-post-type-columns.php",children:(0,s.jsx)(n.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsxs)(n.p,{children:["Post Type Column class is located in ",(0,s.jsx)(n.code,{children:"Eightshift Libs"}),". To extend it use ",(0,s.jsx)(n.code,{children:"Eightshift_Libs\\Columns\\Base_Post_Type_Columns"})," class."]}),"\n",(0,s.jsx)(n.h2,{id:"example",children:"Example:"}),"\n",(0,s.jsx)(n.p,{children:"To create custom column:"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["make a new class ",(0,s.jsx)(n.code,{children:"src/columns/class-example-column.php"}),"."]}),"\n",(0,s.jsx)(n.li,{children:"implement all the methods provided in the example."}),"\n",(0,s.jsxs)(n.li,{children:["register the class inside the ",(0,s.jsx)(n.code,{children:"class-main.php"})," file."]}),"\n",(0,s.jsx)(n.li,{children:"dump autoload."}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",children:"{t.d(n,{Z:()=>c,a:()=>a});var s=t(67294);const o={},l=s.createContext(o);function a(e){const n=s.useContext(l);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:a(e.components),s.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/30241ed8.8f8274a7.js b/assets/js/30241ed8.8f8274a7.js new file mode 100644 index 000000000..957fd38d7 --- /dev/null +++ b/assets/js/30241ed8.8f8274a7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[45892],{65828:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>c,default:()=>p,frontMatter:()=>l,metadata:()=>i,toc:()=>r});var s=t(17624),o=t(4552);const l={id:"columns-post-type",title:"Post Type"},c=void 0,i={id:"legacy/v4/guides/columns-post-type",title:"Post Type",description:"docs-source",source:"@site/docs/legacy/v4/guides/columns-post-type.md",sourceDirName:"legacy/v4/guides",slug:"/legacy/v4/guides/columns-post-type",permalink:"/docs/legacy/v4/guides/columns-post-type",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"columns-post-type",title:"Post Type"},sidebar:"docs",previous:{title:"Route Example",permalink:"/docs/legacy/v4/guides/rest-route-example"},next:{title:"Taxonomy",permalink:"/docs/legacy/v4/guides/columns-taxonomy"}},a={},r=[{value:"Example:",id:"example",level:2}];function u(e){const n={a:"a",code:"code",h2:"h2",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",...(0,o.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/columns/class-base-post-type-columns.php",children:(0,s.jsx)(n.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsxs)(n.p,{children:["Post Type Column class is located in ",(0,s.jsx)(n.code,{children:"Eightshift Libs"}),". To extend it use ",(0,s.jsx)(n.code,{children:"Eightshift_Libs\\Columns\\Base_Post_Type_Columns"})," class."]}),"\n",(0,s.jsx)(n.h2,{id:"example",children:"Example:"}),"\n",(0,s.jsx)(n.p,{children:"To create custom column:"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["make a new class ",(0,s.jsx)(n.code,{children:"src/columns/class-example-column.php"}),"."]}),"\n",(0,s.jsx)(n.li,{children:"implement all the methods provided in the example."}),"\n",(0,s.jsxs)(n.li,{children:["register the class inside the ",(0,s.jsx)(n.code,{children:"class-main.php"})," file."]}),"\n",(0,s.jsx)(n.li,{children:"dump autoload."}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",children:"{t.d(n,{I:()=>i,M:()=>c});var s=t(11504);const o={},l=s.createContext(o);function c(e){const n=s.useContext(l);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:c(e.components),s.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/30e34e97.2013e644.js b/assets/js/30e34e97.2013e644.js deleted file mode 100644 index 59596c826..000000000 --- a/assets/js/30e34e97.2013e644.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[6237],{16493: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/30e34e97.a18fc090.js b/assets/js/30e34e97.a18fc090.js new file mode 100644 index 000000000..40c99e19d --- /dev/null +++ b/assets/js/30e34e97.a18fc090.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[24712],{14984: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/3124e7fd.f693c062.js b/assets/js/3124e7fd.f693c062.js deleted file mode 100644 index 2d10b5aef..000000000 --- a/assets/js/3124e7fd.f693c062.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[17577],{76152:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>d,frontMatter:()=>i,metadata:()=>r,toc:()=>c});var o=n(85893),s=n(11151);const i={id:"blocks-component-in-block",title:"Component in a Block"},a=void 0,r={id:"legacy/v7/basics/blocks-component-in-block",title:"Component in a Block",description:"docs-source",source:"@site/docs/legacy/v7/basics/blocks-component-in-block.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/blocks-component-in-block",permalink:"/docs/legacy/v7/basics/blocks-component-in-block",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-component-in-block",title:"Component in a Block"},sidebar:"docs",previous:{title:"Attributes",permalink:"/docs/legacy/v7/basics/blocks-attributes"},next:{title:"Wrapper",permalink:"/docs/legacy/v7/basics/blocks-wrapper"}},l={},c=[{value:"Manifest setup",id:"manifest-setup",level:2},{value:"Important helpers",id:"important-helpers",level:2},{value:"Setting up attributes",id:"setting-up-attributes",level:2},{value:"I want to use one heading component in my block.",id:"i-want-to-use-one-heading-component-in-my-block",level:3},{value:"I want to override one heading attribute in my block.",id:"i-want-to-override-one-heading-attribute-in-my-block",level:3},{value:"I want to use one heading and a paragraph component in my block.",id:"i-want-to-use-one-heading-and-a-paragraph-component-in-my-block",level:3},{value:"I want two heading components in my block.",id:"i-want-two-heading-components-in-my-block",level:3},{value:"I want to use a component that uses more components (componentCeption).",id:"i-want-to-use-a-component-that-uses-more-components-componentception",level:3},{value:"I don't need all the component options in my block.",id:"i-dont-need-all-the-component-options-in-my-block",level:3},{value:"I don't want my editor to be able to change component options in my block.",id:"i-dont-want-my-editor-to-be-able-to-change-component-options-in-my-block",level:3},{value:"How do my example attributes behave when I use components in blocks?",id:"how-do-my-example-attributes-behave-when-i-use-components-in-blocks",level:3},{value:"I have a component name that has multiple strings in a name, will this work?",id:"i-have-a-component-name-that-has-multiple-strings-in-a-name-will-this-work",level:3},{value:"I have a component that I want to use manually",id:"i-have-a-component-that-i-want-to-use-manually",level:3},{value:"I want to limit which options are shown for components inside a block/component",id:"i-want-to-limit-which-options-are-shown-for-components-inside-a-blockcomponent",level:3},{value:"I want to only pass attributes to the component that I'm going to use",id:"i-want-to-only-pass-attributes-to-the-component-that-im-going-to-use",level:3},{value:"Passing setAttributes to components",id:"passing-setattributes-to-components",level:3},{value:"Manualy overiding attributes from the code",id:"manualy-overiding-attributes-from-the-code",level:3}];function h(e){const t={a:"a",blockquote:"blockquote",code:"code",em:"em",h2:"h2",h3:"h3",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/",children:(0,o.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(t.p,{children:"Blocks and components work perfectly together because they are made that way. We simplified this as much as possible but there always a few things you need to do manually."}),"\n",(0,o.jsx)(t.p,{children:"Try to think of your development process in this way:"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"Each component must be standalone and ideally not depend on any other components (sometimes this is not possible but keep this to a minimum)."}),"\n",(0,o.jsx)(t.li,{children:"Components must not be aware of the layout they are used in."}),"\n",(0,o.jsxs)(t.li,{children:["No global styles. Instead, all styles should be contained to the block/component. For more details, check ",(0,o.jsx)(t.a,{href:"blocks-styles",children:"this link"}),"."]}),"\n",(0,o.jsxs)(t.li,{children:["You should define all heading variations in a ",(0,o.jsx)(t.code,{children:"heading"})," component. You can then use this component everywhere you have a heading instead of writing a new implementation. In practice: don't do ",(0,o.jsx)(t.code,{children:"

$heading

"})," but render the ",(0,o.jsx)(t.code,{children:"heading"})," component instead using the helpers defined in the ",(0,o.jsx)(t.a,{href:"helpers",children:"helpers section"}),". The heading is just an example, but this applies to every component."]}),"\n",(0,o.jsx)(t.li,{children:"You can have multiple heading components in one block."}),"\n",(0,o.jsx)(t.li,{children:(0,o.jsx)(t.strong,{children:"JavaScript and PHP part of the block/component must be 99% the same this is why we wrote all those helpers."})}),"\n"]}),"\n",(0,o.jsx)(t.h2,{id:"manifest-setup",children:"Manifest setup"}),"\n",(0,o.jsxs)(t.p,{children:["In order to use our way of passing props, there are a few prerequisites you must follow. You must use our helpers and you must set ",(0,o.jsx)(t.code,{children:"components"})," key in the manifest."]}),"\n",(0,o.jsxs)(t.p,{children:["As we described in the ",(0,o.jsx)(t.a,{href:"block-manifest",children:"block manifest"})," chapter each block/component can have a ",(0,o.jsx)(t.code,{children:"components"})," key. This key is used in the registration of the block attributes in the block editor and as a dependency tree for passing props in the children components."]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.strong,{children:"Default setup:"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"components": {\n\t"heading": "heading"\n}\n'})}),"\n",(0,o.jsx)(t.p,{children:"Components key is an object that can have multiple items added."}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsx)(t.p,{children:"Key represents the name that is going to be used for this component in this block/component and the prefix used in the attributes (more on this later)."}),"\n"]}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsx)(t.p,{children:"Value represents the real component name that you have in your project."}),"\n"]}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsx)(t.p,{children:"Each key and value names can be written in the kebab-case or camelCase but we recommend using camelCase."}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.strong,{children:"Multiple components setup:"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"components": {\n\t"heading": "heading",\n\t"paragraph": "paragraph"\n}\n'})}),"\n",(0,o.jsx)(t.p,{children:"This block/component uses two components, one is heading and the other is paragraphy and they are using the default names."}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.strong,{children:"Multiple components set up with the components of the same type:"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"components": {\n\t"heading": "heading",\n\t"intro": "heading",\n\t"paragraph": "paragraph"\n}\n'})}),"\n",(0,o.jsxs)(t.p,{children:["This block/component uses three components, two headings (one of which is renamed to ",(0,o.jsx)(t.code,{children:"intro"}),") and a paragraph."]}),"\n",(0,o.jsx)(t.h2,{id:"important-helpers",children:"Important helpers"}),"\n",(0,o.jsx)(t.p,{children:"As we described earlier, in order to use our setup you must use our helpers. Here are some of the helpers you should get familiar with:"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:["props - ",(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/scripts/editor/attributes.js",children:"JS"})," - ",(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/5.0.0/src/Helpers/AttributesTrait.php",children:"PHP"})]}),"\n",(0,o.jsxs)(t.li,{children:["getOptions - ",(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/scripts/editor/options.js",children:"JS"})]}),"\n",(0,o.jsxs)(t.li,{children:["getOption - ",(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/scripts/editor/options.js",children:"JS"})]}),"\n",(0,o.jsxs)(t.li,{children:["getAttrKey - ",(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/scripts/editor/attributes.js",children:"JS"})," - ",(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/5.0.0/src/Helpers/AttributesTrait.php",children:"PHP"})]}),"\n",(0,o.jsxs)(t.li,{children:["checkAttr - ",(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/scripts/editor/attributes.js",children:"JS"})," - ",(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/5.0.0/src/Helpers/AttributesTrait.php",children:"PHP"})]}),"\n",(0,o.jsxs)(t.li,{children:["render - ",(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/5.0.0/src/Blocks/AbstractBlocks.php",children:"PHP"})]}),"\n"]}),"\n",(0,o.jsxs)(t.p,{children:["For more details please check our helpers sections for ",(0,o.jsx)(t.a,{href:"helpers-javascript",children:"JavaScript"})," and ",(0,o.jsx)(t.a,{href:"helpers-php",children:"PHP"}),"."]}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsx)(t.p,{children:"Keep in mind that you can always ignore our setup and use the React way of passing props to components by prop drilling."}),"\n"]}),"\n",(0,o.jsx)(t.h2,{id:"setting-up-attributes",children:"Setting up attributes"}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsx)(t.p,{children:"Each attribute must have the component name prefix in each attribute. This is one of the biggest requirements in order for our setup to work."}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:"By defining components key in the block registration phase we are drilling down from block to the last component and setting up attribute names according to your setup. In order for everything to work, we had to add/change prefixes to each component attribute in relation to where this attribute is used in the dependency tree. It is not so hard as it sounds so let us show you some graphical examples:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{alt:"Attributes 1",src:n(5477).Z+"",width:"781",height:"251"})}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{alt:"Attributes 2",src:n(53248).Z+"",width:"781",height:"251"})}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{alt:"Attributes 3",src:n(70439).Z+"",width:"781",height:"251"})}),"\n",(0,o.jsx)(t.h3,{id:"i-want-to-use-one-heading-component-in-my-block",children:"I want to use one heading component in my block."}),"\n",(0,o.jsx)(t.p,{children:"If you have a heading component with these attributes:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/components/heading/manifest.json"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"componentName": "heading",\n"attributes": {\n\t"headingContent": {\n\t\t"type": "string"\n\t},\n\t"headingLevel": {\n\t\t"type": "integer",\n\t\t"default": 2\n\t},\n\t"headingSize": {\n\t\t"type": "string",\n\t\t"default": "default"\n\t},\n}\n'})}),"\n",(0,o.jsx)(t.p,{children:"and you want to use the heading component in the Jumbotron block, you can use it by adding a component key in the Jumbotron block manifest like this:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/custom/jumbotron/manifest.json"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"blockName": "jumbotron",\n"attributes": {\n\t"jumbotronContent": {\n\t\t"type": "string"\n\t\t"default": "test",\n\t}\n},\n"components": {\n\t"heading": "heading"\n}\n'})}),"\n",(0,o.jsx)(t.p,{children:"in your block attribute's object, you will now have these keys:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'\n// Attributes from the component.\n"jumbotronHeadingContent": "",\n"jumbotronHeadingLevel": 2,\n"jumbotronHeadingSize": "default",\n\n// Attributes from the block.\n"jumbotronContent": "test",\n'})}),"\n",(0,o.jsx)(t.p,{children:"As you can see in the example, each block/component attribute must have a prefix, and we are then stacking that prefixed in the final output."}),"\n",(0,o.jsx)(t.h3,{id:"i-want-to-override-one-heading-attribute-in-my-block",children:"I want to override one heading attribute in my block."}),"\n",(0,o.jsx)(t.p,{children:"We build all our attributes by merging attribute's objects in this order:"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"global attributes (global settings)"}),"\n",(0,o.jsx)(t.li,{children:"wrapper attributes"}),"\n",(0,o.jsx)(t.li,{children:"component attributes"}),"\n",(0,o.jsx)(t.li,{children:"block attributes"}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:"By following the basic principle of merging objects, if you have two keys with the same name, the last one will always override the previous. Now that you know how attributes are built, you can follow this example for your answer."}),"\n",(0,o.jsx)(t.p,{children:"We are using the same component as before:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/components/heading/manifest.json"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"componentName": "heading",\n"attributes": {\n\t"headingContent": {\n\t\t"type": "string"\n\t},\n\t"headingLevel": {\n\t\t"type": "integer",\n\t\t"default": 2\n\t},\n\t"headingSize": {\n\t\t"type": "string",\n\t\t"default": "default"\n\t},\n}\n'})}),"\n",(0,o.jsx)(t.p,{children:"and in Jumbotron block we want to change the default value of headingSize to big:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/custom/jumbotron/manifest.json"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"blockName": "jumbotron",\n"attributes": {\n\t"jumbotronContent": {\n\t\t"type": "string"\n\t\t"default": "test",\n\t},\n\t"jumbotronHeadingSize": {\n\t\t"type": "string",\n\t\t"default": "big"\n\t},\n},\n"components": {\n\t"heading": "heading"\n}\n'})}),"\n",(0,o.jsx)(t.p,{children:"In your block attributes object, you will now have these keys:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'\n// Attributes from the component.\n"jumbotronHeadingContent": "",\n"jumbotronHeadingLevel": 2,\n"jumbotronHeadingSize": "big",\n\n// Attributes from the block.\n"jumbotronContent": "test",\n'})}),"\n",(0,o.jsx)(t.p,{children:"As you can see in the example, to override the component attribute you just set that attribute to a different value but you must respect the attribute prefix."}),"\n",(0,o.jsx)(t.h3,{id:"i-want-to-use-one-heading-and-a-paragraph-component-in-my-block",children:"I want to use one heading and a paragraph component in my block."}),"\n",(0,o.jsx)(t.p,{children:"You can do this by following the same principle as before. Here is an example:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/custom/jumbotron/manifest.json"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"blockName": "jumbotron",\n"attributes": {\n\t"jumbotronContent": {\n\t\t"type": "string"\n\t\t"default": "test",\n\t}\n},\n"components": {\n\t"heading": "heading",\n\t"paragraph": "paragraph"\n}\n'})}),"\n",(0,o.jsx)(t.h3,{id:"i-want-two-heading-components-in-my-block",children:"I want two heading components in my block."}),"\n",(0,o.jsx)(t.p,{children:"If you want to use multiple heading components in your block, follow this example:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/custom/jumbotron/manifest.json"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"blockName": "jumbotron",\n"attributes": {\n\t"jumbotronContent": {\n\t\t"type": "string"\n\t\t"default": "test",\n\t}\n},\n"components": {\n\t"heading": "heading"\n\t"intro": "heading"\n}\n'})}),"\n",(0,o.jsx)(t.p,{children:"In your block attributes object, you will now have these keys:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'\n// Attributes from the first component.\n"jumbotronHeadingContent": "",\n"jumbotronHeadingLevel": 2,\n"jumbotronHeadingSize": "default",\n\n// Attributes from the second component.\n"jumbotronIntroContent": "",\n"jumbotronIntroLevel": 2,\n"jumbotronIntroSize": "default",\n\n// Attributes from the block.\n"jumbotronContent": "test",\n'})}),"\n",(0,o.jsx)(t.h3,{id:"i-want-to-use-a-component-that-uses-more-components-componentception",children:"I want to use a component that uses more components (componentCeption)."}),"\n",(0,o.jsx)(t.p,{children:"For example, if you have a block called cards grid that uses a card component, that card component uses a heading component."}),"\n",(0,o.jsx)(t.p,{children:"Structure:"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:["Cards","\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:["Card","\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"Heading"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:"If you have a heading component with these attributes:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/components/heading/manifest.json"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"componentName": "heading",\n"attributes": {\n\t"headingContent": {\n\t\t"type": "string"\n\t},\n\t"headingLevel": {\n\t\t"type": "integer",\n\t\t"default": 2\n\t},\n\t"headingSize": {\n\t\t"type": "string",\n\t\t"default": "default"\n\t},\n}\n'})}),"\n",(0,o.jsx)(t.p,{children:"and you have a card component:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/components/card/manifest.json"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"componentName": "card",\n"attributes": {\n\t"cardUsage": {\n\t\t"type": "boolean"\n\t\t"default": true,\n\t},\n},\n"components": {\n\t"heading": "heading"\n}\n'})}),"\n",(0,o.jsx)(t.p,{children:"and you have a cards grid block:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/custom/cards-grid/manifest.json"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"blockName": "cards-grid",\n"attributes": {\n\t"cardsGridContent": {\n\t\t"type": "string"\n\t\t"default": "test",\n\t},\n},\n"components": {\n\t"card": "card"\n}\n'})}),"\n",(0,o.jsx)(t.p,{children:"in your block attributes object, you will now have these keys:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'\n// Attributes from the heading component.\n"cardsGridCardHeadingContent": "",\n"cardsGridCardHeadingLevel": 2,\n"cardsGridCardHeadingSize": "default",\n\n// Attributes from the card component.\n"cardsGridCardUsage": true,\n\n// Attributes from the block.\n"cardsGridContent": "test",\n'})}),"\n",(0,o.jsx)(t.p,{children:"As you can see in the example, you have all the attributes from the card and heading component inside your card's grid block."}),"\n",(0,o.jsx)(t.h3,{id:"i-dont-need-all-the-component-options-in-my-block",children:"I don't need all the component options in my block."}),"\n",(0,o.jsxs)(t.p,{children:["All our components come with a few common attributes that we recommend you also implement in your components. One of those attributes is ",(0,o.jsx)(t.code,{children:"buttonUse"}),"."]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"buttonUse": true,\n'})}),"\n",(0,o.jsxs)(t.p,{children:["This attribute is available in all three components (editor, toolbar, options). If set to ",(0,o.jsx)(t.strong,{children:"false"}),", it will remove this component from the DOM. This is useful if you want to hide all markup from the DOM."]}),"\n",(0,o.jsx)(t.p,{children:"For example, you have a Jumbotron block and a heading that you want to populate if necessary. If you add content to the heading, everything looks good. But if you don't add it, you'll still see a placeholder for that heading in the block editor. This affects how you perceive it, and an editor may think this block will look like that on the front end (with the placeholder text). So if you have a component that you will not populate on some block, switch the toggle to false, and you will hide it from the DOM. This is useful for content editors."}),"\n",(0,o.jsx)(t.h3,{id:"i-dont-want-my-editor-to-be-able-to-change-component-options-in-my-block",children:"I don't want my editor to be able to change component options in my block."}),"\n",(0,o.jsxs)(t.p,{children:["Another attribute that you can use is ",(0,o.jsx)(t.code,{children:"buttonShowControls"}),"."]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"buttonShowControls": true,\n'})}),"\n",(0,o.jsx)(t.p,{children:"This attribute is available in the options component only. You can't set it up via block editor, only from code. You would use it if you wanted to use a heading component and set all the defaults, without your content editor changing how the heading looks. It can add the heading content from the editor section without changing any of the options. You can set this option in the manifest or pass it manually via props."}),"\n",(0,o.jsx)(t.h3,{id:"how-do-my-example-attributes-behave-when-i-use-components-in-blocks",children:"How do my example attributes behave when I use components in blocks?"}),"\n",(0,o.jsx)(t.p,{children:"Exactly the same way as attributes."}),"\n",(0,o.jsx)(t.h3,{id:"i-have-a-component-name-that-has-multiple-strings-in-a-name-will-this-work",children:"I have a component name that has multiple strings in a name, will this work?"}),"\n",(0,o.jsxs)(t.p,{children:["By multiple strings in a name we mean that component name has multiple words, for example, ",(0,o.jsx)(t.code,{children:"jumbotron-cta"}),". The problem here is that we define components with kebab-case and attributes with camelCase."]}),"\n",(0,o.jsxs)(t.p,{children:["The short answer is ",(0,o.jsx)(t.strong,{children:"yes"})," this will work."]}),"\n",(0,o.jsx)(t.h3,{id:"i-have-a-component-that-i-want-to-use-manually",children:"I have a component that I want to use manually"}),"\n",(0,o.jsx)(t.p,{children:"We created this cool way of importing attributes and loading components in your blocks or other components. However, that doesn't mean that you can't have instances where you have to load components manually. In that case, you have to provide all the attributes that you want to use manually. The attributes that you didn't provide will not be magically set from the manifest, but you can make your life easier and map it like this."}),"\n",(0,o.jsxs)(t.p,{children:["For example, you have a ",(0,o.jsx)(t.code,{children:"card"})," component that you will use in the ",(0,o.jsx)(t.code,{children:"featured-posts"})," block."]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/custom/featured-posts/featured-posts.php"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-php",children:"echo wp_kses_post(\n\tComponents::render(\n\t\t'card',\n\t\tComponents::props('card', $attributes, [\n\t\t\t'cardHeadingContent' => __('Custom content for heading', 'textdomain'),\n\t\t\t'cardParagraphContent' => __('Custom content for paragraph', 'textdomain'),\n\t\t])\n\t)\n);\n"})}),"\n",(0,o.jsx)(t.p,{children:"This example will only pass these 2 attributes to you component and attributes from the currect file, it will not pass default attributes of heading and paragraph components."}),"\n",(0,o.jsx)(t.p,{children:"By providing the forth parameter to a render method you can also add default attributes to the output like this:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.strong,{children:"featured-posts.php"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-php",children:"echo wp_kses_post(\n\tComponents::render(\n\t\t'card',\n\t\tComponents::props('card', $attributes, [\n\t\t\t'cardHeadingContent' => __('Custom content for heading', 'textdomain'),\n\t\t\t'cardParagraphContent' => __('Custom content for paragraph', 'textdomain'),\n\t\t]),\n\t\t'',\n\t\ttrue\n\t)\n);\n"})}),"\n",(0,o.jsx)(t.h3,{id:"i-want-to-limit-which-options-are-shown-for-components-inside-a-blockcomponent",children:"I want to limit which options are shown for components inside a block/component"}),"\n",(0,o.jsxs)(t.p,{children:["Let's say you have a block that has a ",(0,o.jsx)(t.code,{children:"heading"})," component inside it."]}),"\n",(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"heading"})," has 10 text sizes and 5 colors, but for that block, only 2 colors and 3 text sizes are allowed.\nTo achieve this you must prepare your component to be able to use this feature:"]}),"\n",(0,o.jsxs)(t.ol,{children:["\n",(0,o.jsxs)(t.li,{children:["Your component options must be named the same name as their attribute value. In the example, you can see that the options key for ",(0,o.jsx)(t.code,{children:"typographySize"})," is the same name as in the attributes."]}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/components/heading/manifest.json"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'{\n\t"componentName": "heading",\n\t"attributes": {\n\t\t"headingSize": {\n\t\t\t"type": "string",\n\t\t\t"default": "16-text-roman"\n\t\t},\n\t\t"headingColor": {\n\t\t\t"type": "string",\n\t\t\t"default": "black",\n\t\t\t"variable": true,\n\t\t\t"color": true\n\t\t},\n\t},\n\t"options": {\n\t\t"headingSize": [\n\t\t\t{\n\t\t\t\t"label": "180 Display",\n\t\t\t\t"value": "180-default"\n\t\t\t},\n\t\t\t{\n\t\t\t\t"label": "120 Display",\n\t\t\t\t"value": "120-default"\n\t\t\t},\n\t\t\t{\n\t\t\t\t"label": "80 Display",\n\t\t\t\t"value": "80-default"\n\t\t\t},\n\t\t\t{\n\t\t\t\t"label": "52 Display",\n\t\t\t\t"value": "52-default"\n\t\t\t},\n\t\t\t{\n\t\t\t\t"label": "36 Text",\n\t\t\t\t"value": "36-text"\n\t\t\t}\n\t\t],\n\t\t"headingColor": [\n\t\t\t"black",\n\t\t\t"white",\n\t\t\t"grey100",\n\t\t\t"grey200"\n\t\t]\n\t}\n}\n'})}),"\n",(0,o.jsxs)(t.ol,{start:"2",children:["\n",(0,o.jsxs)(t.li,{children:["Every option in your component must use ",(0,o.jsx)(t.code,{children:"getOption"})," helper for the prop that is used to provide options. Details about the helper can be found ",(0,o.jsx)(t.a,{href:"helpers-javascript",children:"here"}),"."]}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.strong,{children:"SelectControl Example:"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-js",children:"const headingSize = checkAttr('headingSize', attributes, manifest);\n\n setAttributes({ [getAttrKey('headingSize', attributes, manifest)]: value })}\n/>\n"})}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.strong,{children:"ColorPaletteCustom Example:"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-js",children:"const headingColor = checkAttr('headingColor', attributes, manifest);\n\n setAttributes({ [getAttrKey('headingColor', attributes, manifest)]: value })}\n/>\n"})}),"\n",(0,o.jsxs)(t.ol,{start:"3",children:["\n",(0,o.jsx)(t.li,{children:"In the component/blocks for which you are going to override the options, you must provide an options prop that is going to override the default one also following the described attribute prefixes."}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.strong,{children:"heading-options.js"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-js",children:"\n"})}),"\n",(0,o.jsxs)(t.ol,{start:"4",children:["\n",(0,o.jsxs)(t.li,{children:["In the component/blocks for which you are going to override options, you must provide the override in the ",(0,o.jsx)(t.code,{children:"manifest.json"})," by following the same naming as in the component."]}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/custom/heading/manifest.json"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'{\n\t"blockName": "heading",\n\t"options": {\n\t\t"headingHeadingSize": [\n\t\t\t"80-default",\n\t\t\t"52-default"\n\t\t],\n\t\t"headingHeadingColor": [\n\t\t\t"black",\n\t\t\t"white"\n\t\t]\n\t}\n}\n'})}),"\n",(0,o.jsx)(t.p,{children:"And this is it. You are now able to override the options from the parent block/component."}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsx)(t.p,{children:"Keep in mind that you can only override SelectControl, ColorPaletteCustom, and AlignmentToolbar."}),"\n"]}),"\n",(0,o.jsx)(t.h3,{id:"i-want-to-only-pass-attributes-to-the-component-that-im-going-to-use",children:"I want to only pass attributes to the component that I'm going to use"}),"\n",(0,o.jsx)(t.p,{children:"At one point in time, we agreed on naming standards for all component attributes. That way we made sure that you wouldn't get any collisions when using multiple components. So we said it is ok to spread all attributes to the component and let the component handle what it needs. Well, that approach is ok but it can bite you in the a.. at the point that you least expect."}),"\n",(0,o.jsxs)(t.p,{children:["That is why we created ",(0,o.jsx)(t.a,{href:"helpers-javascript",children:"props helper"})," that determines what attributes are passed to what component depending on the dependency tree."]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.strong,{children:"Let's set a layout for this example:"})}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:["components","\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"heading"}),"\n",(0,o.jsx)(t.li,{children:"typography"}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["custom","\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"heading"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(t.p,{children:["You have block ",(0,o.jsx)(t.code,{children:"heading"})," that uses component ",(0,o.jsx)(t.code,{children:"heading"})," and that component uses another component called ",(0,o.jsx)(t.code,{children:"typography"}),".\nWe are putting only relevant code in the example:"]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/custom/heading/manifest.json"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'{\n\t"blockName": "heading",\n\t"components": {\n\t\t"heading": "heading"\n\t},\n}\n'})}),"\n",(0,o.jsxs)(t.p,{children:["In the ",(0,o.jsx)(t.code,{children:"components"})," key, you must provide components that you are going to be using in this block. There are more options in the ",(0,o.jsx)(t.a,{href:"#i-want-to-use-one-heading-component-in-my-block",children:"example"})," at the beginning of this chapter."]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/custom/heading/components/heading-editor.js"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-js",children:"import React from 'react';\nimport { props } from '@eightshift/frontend-libs/scripts';\nimport { HeadingEditor as HeadingEditorComponent } from '../../../components/heading/components/heading-editor';\n\nexport const HeadingEditor = ({ attributes, setAttributes }) => {\n\treturn (\n\t\t\n\t);\n};\n"})}),"\n",(0,o.jsx)(t.p,{children:"In JavaScript, you spread the results of the props helper."}),"\n",(0,o.jsx)(t.p,{children:"The PHP template should look like this:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/custom/heading/heading.php"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-php",children:"\n\n
\n\t\n
\n"})}),"\n",(0,o.jsxs)(t.p,{children:["Now, let's see how the component ",(0,o.jsx)(t.code,{children:"heading"})," looks like."]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/components/heading/manifest.json"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'{\n\t"componentName": "heading",\n\t"components": {\n\t\t"heading": "typography"\n\t},\n}\n'})}),"\n",(0,o.jsxs)(t.p,{children:["In the ",(0,o.jsx)(t.code,{children:"heading"})," component we are using the ",(0,o.jsx)(t.code,{children:"typography"})," component but we are not using the default component name. Instead, we are changing the attribute name from ",(0,o.jsx)(t.code,{children:"typography"})," to ",(0,o.jsx)(t.code,{children:"heading"}),"."]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/components/heading/components/heading-editor.js"})}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.em,{children:"The same is for options or toolbar components!"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-js",children:"import React from 'react';\nimport { props } from '@eightshift/frontend-libs/scripts';\nimport { TypographyEditor } from './../../typography/components/typography-editor';\nimport manifest from './../manifest.json';\n \nexport const HeadingEditor = (attributes) => {\n\tconst {\n\t\tcomponentClass,\n\t} = manifest;\n\n\tconst {\n\t\tblockClass,\n\t} = attributes;\n\n\treturn (\n\t\t\n\t);\n};\n"})}),"\n",(0,o.jsx)(t.p,{children:"In this example, you can see that everything is the same as in the parent block."}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/components/heading/heading.php"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-php",children:" $componentClass\n\t])\n),\n"})}),"\n",(0,o.jsx)(t.p,{children:"The PHP part looks similar to the JS block part."}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.strong,{children:"Typography"})}),"\n",(0,o.jsx)(t.p,{children:"There is nothing special that you need to do in the last component in the tree other than following the attributes naming convention."}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.strong,{children:"Summing it all up"})}),"\n",(0,o.jsx)(t.p,{children:"Block:"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.code,{children:"Components"})," key in the ",(0,o.jsx)(t.code,{children:"manifest.json"})," is used to provide/change the attribute names on the block registration process."]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.code,{children:"Props helper"})," will provide all the attributes used in the block and it will follow the dependency tree to the end so that all the attributes from the children components will also be provided as a result."]}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:"Components:"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.code,{children:"Components"})," key in the ",(0,o.jsx)(t.code,{children:"manifest.json"})," is used to determine the dependency tree when passing the attributes from parent to children."]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.code,{children:"Props helper"})," will provide only those attributes that are used in the children's components recursively. The same as props helper in the block."]}),"\n"]}),"\n",(0,o.jsxs)(t.p,{children:["For more details please read the ",(0,o.jsx)(t.a,{href:"helpers-javascript",children:"props helper docs"}),"."]}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsx)(t.p,{children:"You should avoid spreading attributes as props but rather use this helper because it provides only what is used in the component."}),"\n"]}),"\n",(0,o.jsx)(t.h3,{id:"passing-setattributes-to-components",children:"Passing setAttributes to components"}),"\n",(0,o.jsxs)(t.p,{children:["As we described earlier props helper knows what to pass to a child component but there are some wild cards here. When you are passing props from block to component you must pass setAttributes down as props but if if you are passing props from component to component you don't need to. This is because we added some automatic includes in our props helper that you can check ",(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/scripts/editor/attributes.js",children:"here"}),"."]}),"\n",(0,o.jsx)(t.h3,{id:"manualy-overiding-attributes-from-the-code",children:"Manualy overiding attributes from the code"}),"\n",(0,o.jsx)(t.p,{children:"You can also do this and this is why we created the third parameter in the props helper in order to be able to pass attributes via code and still be able to use automatic attributes prefixes that the props helper provides:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-js",children:"\n"})}),"\n",(0,o.jsx)(t.p,{children:"typographyContent attribute will follow the naming prefix when passed to a child but the disableEdit will remain the same name in all the children."}),"\n",(0,o.jsx)(t.p,{children:"Any of the included attributes can be passed as the third parameter here, but they will not be prefixed:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-js",children:"\n"})})]})}function d(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(h,{...e})}):h(e)}},5477:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/attributes-1-b68f9798ba07c21636b26fef3de0f202.webp"},53248:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/attributes-2-f47779c67174908485c045f80daef4ec.webp"},70439:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/attributes-3-d4804b9a6810dbbb6295b65f8e8c70fd.webp"},11151:(e,t,n)=>{n.d(t,{Z:()=>r,a:()=>a});var o=n(67294);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/3124e7fd.f80372ea.js b/assets/js/3124e7fd.f80372ea.js new file mode 100644 index 000000000..b7eaa6b47 --- /dev/null +++ b/assets/js/3124e7fd.f80372ea.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[3188],{22169:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>d,frontMatter:()=>i,metadata:()=>r,toc:()=>c});var o=n(17624),s=n(4552);const i={id:"blocks-component-in-block",title:"Component in a Block"},a=void 0,r={id:"legacy/v7/basics/blocks-component-in-block",title:"Component in a Block",description:"docs-source",source:"@site/docs/legacy/v7/basics/blocks-component-in-block.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/blocks-component-in-block",permalink:"/docs/legacy/v7/basics/blocks-component-in-block",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-component-in-block",title:"Component in a Block"},sidebar:"docs",previous:{title:"Attributes",permalink:"/docs/legacy/v7/basics/blocks-attributes"},next:{title:"Wrapper",permalink:"/docs/legacy/v7/basics/blocks-wrapper"}},l={},c=[{value:"Manifest setup",id:"manifest-setup",level:2},{value:"Important helpers",id:"important-helpers",level:2},{value:"Setting up attributes",id:"setting-up-attributes",level:2},{value:"I want to use one heading component in my block.",id:"i-want-to-use-one-heading-component-in-my-block",level:3},{value:"I want to override one heading attribute in my block.",id:"i-want-to-override-one-heading-attribute-in-my-block",level:3},{value:"I want to use one heading and a paragraph component in my block.",id:"i-want-to-use-one-heading-and-a-paragraph-component-in-my-block",level:3},{value:"I want two heading components in my block.",id:"i-want-two-heading-components-in-my-block",level:3},{value:"I want to use a component that uses more components (componentCeption).",id:"i-want-to-use-a-component-that-uses-more-components-componentception",level:3},{value:"I don't need all the component options in my block.",id:"i-dont-need-all-the-component-options-in-my-block",level:3},{value:"I don't want my editor to be able to change component options in my block.",id:"i-dont-want-my-editor-to-be-able-to-change-component-options-in-my-block",level:3},{value:"How do my example attributes behave when I use components in blocks?",id:"how-do-my-example-attributes-behave-when-i-use-components-in-blocks",level:3},{value:"I have a component name that has multiple strings in a name, will this work?",id:"i-have-a-component-name-that-has-multiple-strings-in-a-name-will-this-work",level:3},{value:"I have a component that I want to use manually",id:"i-have-a-component-that-i-want-to-use-manually",level:3},{value:"I want to limit which options are shown for components inside a block/component",id:"i-want-to-limit-which-options-are-shown-for-components-inside-a-blockcomponent",level:3},{value:"I want to only pass attributes to the component that I'm going to use",id:"i-want-to-only-pass-attributes-to-the-component-that-im-going-to-use",level:3},{value:"Passing setAttributes to components",id:"passing-setattributes-to-components",level:3},{value:"Manualy overiding attributes from the code",id:"manualy-overiding-attributes-from-the-code",level:3}];function h(e){const t={a:"a",blockquote:"blockquote",code:"code",em:"em",h2:"h2",h3:"h3",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/",children:(0,o.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(t.p,{children:"Blocks and components work perfectly together because they are made that way. We simplified this as much as possible but there always a few things you need to do manually."}),"\n",(0,o.jsx)(t.p,{children:"Try to think of your development process in this way:"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"Each component must be standalone and ideally not depend on any other components (sometimes this is not possible but keep this to a minimum)."}),"\n",(0,o.jsx)(t.li,{children:"Components must not be aware of the layout they are used in."}),"\n",(0,o.jsxs)(t.li,{children:["No global styles. Instead, all styles should be contained to the block/component. For more details, check ",(0,o.jsx)(t.a,{href:"blocks-styles",children:"this link"}),"."]}),"\n",(0,o.jsxs)(t.li,{children:["You should define all heading variations in a ",(0,o.jsx)(t.code,{children:"heading"})," component. You can then use this component everywhere you have a heading instead of writing a new implementation. In practice: don't do ",(0,o.jsx)(t.code,{children:"

$heading

"})," but render the ",(0,o.jsx)(t.code,{children:"heading"})," component instead using the helpers defined in the ",(0,o.jsx)(t.a,{href:"helpers",children:"helpers section"}),". The heading is just an example, but this applies to every component."]}),"\n",(0,o.jsx)(t.li,{children:"You can have multiple heading components in one block."}),"\n",(0,o.jsx)(t.li,{children:(0,o.jsx)(t.strong,{children:"JavaScript and PHP part of the block/component must be 99% the same this is why we wrote all those helpers."})}),"\n"]}),"\n",(0,o.jsx)(t.h2,{id:"manifest-setup",children:"Manifest setup"}),"\n",(0,o.jsxs)(t.p,{children:["In order to use our way of passing props, there are a few prerequisites you must follow. You must use our helpers and you must set ",(0,o.jsx)(t.code,{children:"components"})," key in the manifest."]}),"\n",(0,o.jsxs)(t.p,{children:["As we described in the ",(0,o.jsx)(t.a,{href:"block-manifest",children:"block manifest"})," chapter each block/component can have a ",(0,o.jsx)(t.code,{children:"components"})," key. This key is used in the registration of the block attributes in the block editor and as a dependency tree for passing props in the children components."]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.strong,{children:"Default setup:"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"components": {\n\t"heading": "heading"\n}\n'})}),"\n",(0,o.jsx)(t.p,{children:"Components key is an object that can have multiple items added."}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsx)(t.p,{children:"Key represents the name that is going to be used for this component in this block/component and the prefix used in the attributes (more on this later)."}),"\n"]}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsx)(t.p,{children:"Value represents the real component name that you have in your project."}),"\n"]}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsx)(t.p,{children:"Each key and value names can be written in the kebab-case or camelCase but we recommend using camelCase."}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.strong,{children:"Multiple components setup:"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"components": {\n\t"heading": "heading",\n\t"paragraph": "paragraph"\n}\n'})}),"\n",(0,o.jsx)(t.p,{children:"This block/component uses two components, one is heading and the other is paragraphy and they are using the default names."}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.strong,{children:"Multiple components set up with the components of the same type:"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"components": {\n\t"heading": "heading",\n\t"intro": "heading",\n\t"paragraph": "paragraph"\n}\n'})}),"\n",(0,o.jsxs)(t.p,{children:["This block/component uses three components, two headings (one of which is renamed to ",(0,o.jsx)(t.code,{children:"intro"}),") and a paragraph."]}),"\n",(0,o.jsx)(t.h2,{id:"important-helpers",children:"Important helpers"}),"\n",(0,o.jsx)(t.p,{children:"As we described earlier, in order to use our setup you must use our helpers. Here are some of the helpers you should get familiar with:"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:["props - ",(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/scripts/editor/attributes.js",children:"JS"})," - ",(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/5.0.0/src/Helpers/AttributesTrait.php",children:"PHP"})]}),"\n",(0,o.jsxs)(t.li,{children:["getOptions - ",(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/scripts/editor/options.js",children:"JS"})]}),"\n",(0,o.jsxs)(t.li,{children:["getOption - ",(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/scripts/editor/options.js",children:"JS"})]}),"\n",(0,o.jsxs)(t.li,{children:["getAttrKey - ",(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/scripts/editor/attributes.js",children:"JS"})," - ",(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/5.0.0/src/Helpers/AttributesTrait.php",children:"PHP"})]}),"\n",(0,o.jsxs)(t.li,{children:["checkAttr - ",(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/scripts/editor/attributes.js",children:"JS"})," - ",(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/5.0.0/src/Helpers/AttributesTrait.php",children:"PHP"})]}),"\n",(0,o.jsxs)(t.li,{children:["render - ",(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/5.0.0/src/Blocks/AbstractBlocks.php",children:"PHP"})]}),"\n"]}),"\n",(0,o.jsxs)(t.p,{children:["For more details please check our helpers sections for ",(0,o.jsx)(t.a,{href:"helpers-javascript",children:"JavaScript"})," and ",(0,o.jsx)(t.a,{href:"helpers-php",children:"PHP"}),"."]}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsx)(t.p,{children:"Keep in mind that you can always ignore our setup and use the React way of passing props to components by prop drilling."}),"\n"]}),"\n",(0,o.jsx)(t.h2,{id:"setting-up-attributes",children:"Setting up attributes"}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsx)(t.p,{children:"Each attribute must have the component name prefix in each attribute. This is one of the biggest requirements in order for our setup to work."}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:"By defining components key in the block registration phase we are drilling down from block to the last component and setting up attribute names according to your setup. In order for everything to work, we had to add/change prefixes to each component attribute in relation to where this attribute is used in the dependency tree. It is not so hard as it sounds so let us show you some graphical examples:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{alt:"Attributes 1",src:n(44972).c+"",width:"781",height:"251"})}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{alt:"Attributes 2",src:n(73564).c+"",width:"781",height:"251"})}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{alt:"Attributes 3",src:n(68264).c+"",width:"781",height:"251"})}),"\n",(0,o.jsx)(t.h3,{id:"i-want-to-use-one-heading-component-in-my-block",children:"I want to use one heading component in my block."}),"\n",(0,o.jsx)(t.p,{children:"If you have a heading component with these attributes:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/components/heading/manifest.json"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"componentName": "heading",\n"attributes": {\n\t"headingContent": {\n\t\t"type": "string"\n\t},\n\t"headingLevel": {\n\t\t"type": "integer",\n\t\t"default": 2\n\t},\n\t"headingSize": {\n\t\t"type": "string",\n\t\t"default": "default"\n\t},\n}\n'})}),"\n",(0,o.jsx)(t.p,{children:"and you want to use the heading component in the Jumbotron block, you can use it by adding a component key in the Jumbotron block manifest like this:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/custom/jumbotron/manifest.json"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"blockName": "jumbotron",\n"attributes": {\n\t"jumbotronContent": {\n\t\t"type": "string"\n\t\t"default": "test",\n\t}\n},\n"components": {\n\t"heading": "heading"\n}\n'})}),"\n",(0,o.jsx)(t.p,{children:"in your block attribute's object, you will now have these keys:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'\n// Attributes from the component.\n"jumbotronHeadingContent": "",\n"jumbotronHeadingLevel": 2,\n"jumbotronHeadingSize": "default",\n\n// Attributes from the block.\n"jumbotronContent": "test",\n'})}),"\n",(0,o.jsx)(t.p,{children:"As you can see in the example, each block/component attribute must have a prefix, and we are then stacking that prefixed in the final output."}),"\n",(0,o.jsx)(t.h3,{id:"i-want-to-override-one-heading-attribute-in-my-block",children:"I want to override one heading attribute in my block."}),"\n",(0,o.jsx)(t.p,{children:"We build all our attributes by merging attribute's objects in this order:"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"global attributes (global settings)"}),"\n",(0,o.jsx)(t.li,{children:"wrapper attributes"}),"\n",(0,o.jsx)(t.li,{children:"component attributes"}),"\n",(0,o.jsx)(t.li,{children:"block attributes"}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:"By following the basic principle of merging objects, if you have two keys with the same name, the last one will always override the previous. Now that you know how attributes are built, you can follow this example for your answer."}),"\n",(0,o.jsx)(t.p,{children:"We are using the same component as before:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/components/heading/manifest.json"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"componentName": "heading",\n"attributes": {\n\t"headingContent": {\n\t\t"type": "string"\n\t},\n\t"headingLevel": {\n\t\t"type": "integer",\n\t\t"default": 2\n\t},\n\t"headingSize": {\n\t\t"type": "string",\n\t\t"default": "default"\n\t},\n}\n'})}),"\n",(0,o.jsx)(t.p,{children:"and in Jumbotron block we want to change the default value of headingSize to big:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/custom/jumbotron/manifest.json"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"blockName": "jumbotron",\n"attributes": {\n\t"jumbotronContent": {\n\t\t"type": "string"\n\t\t"default": "test",\n\t},\n\t"jumbotronHeadingSize": {\n\t\t"type": "string",\n\t\t"default": "big"\n\t},\n},\n"components": {\n\t"heading": "heading"\n}\n'})}),"\n",(0,o.jsx)(t.p,{children:"In your block attributes object, you will now have these keys:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'\n// Attributes from the component.\n"jumbotronHeadingContent": "",\n"jumbotronHeadingLevel": 2,\n"jumbotronHeadingSize": "big",\n\n// Attributes from the block.\n"jumbotronContent": "test",\n'})}),"\n",(0,o.jsx)(t.p,{children:"As you can see in the example, to override the component attribute you just set that attribute to a different value but you must respect the attribute prefix."}),"\n",(0,o.jsx)(t.h3,{id:"i-want-to-use-one-heading-and-a-paragraph-component-in-my-block",children:"I want to use one heading and a paragraph component in my block."}),"\n",(0,o.jsx)(t.p,{children:"You can do this by following the same principle as before. Here is an example:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/custom/jumbotron/manifest.json"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"blockName": "jumbotron",\n"attributes": {\n\t"jumbotronContent": {\n\t\t"type": "string"\n\t\t"default": "test",\n\t}\n},\n"components": {\n\t"heading": "heading",\n\t"paragraph": "paragraph"\n}\n'})}),"\n",(0,o.jsx)(t.h3,{id:"i-want-two-heading-components-in-my-block",children:"I want two heading components in my block."}),"\n",(0,o.jsx)(t.p,{children:"If you want to use multiple heading components in your block, follow this example:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/custom/jumbotron/manifest.json"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"blockName": "jumbotron",\n"attributes": {\n\t"jumbotronContent": {\n\t\t"type": "string"\n\t\t"default": "test",\n\t}\n},\n"components": {\n\t"heading": "heading"\n\t"intro": "heading"\n}\n'})}),"\n",(0,o.jsx)(t.p,{children:"In your block attributes object, you will now have these keys:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'\n// Attributes from the first component.\n"jumbotronHeadingContent": "",\n"jumbotronHeadingLevel": 2,\n"jumbotronHeadingSize": "default",\n\n// Attributes from the second component.\n"jumbotronIntroContent": "",\n"jumbotronIntroLevel": 2,\n"jumbotronIntroSize": "default",\n\n// Attributes from the block.\n"jumbotronContent": "test",\n'})}),"\n",(0,o.jsx)(t.h3,{id:"i-want-to-use-a-component-that-uses-more-components-componentception",children:"I want to use a component that uses more components (componentCeption)."}),"\n",(0,o.jsx)(t.p,{children:"For example, if you have a block called cards grid that uses a card component, that card component uses a heading component."}),"\n",(0,o.jsx)(t.p,{children:"Structure:"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:["Cards","\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:["Card","\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"Heading"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:"If you have a heading component with these attributes:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/components/heading/manifest.json"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"componentName": "heading",\n"attributes": {\n\t"headingContent": {\n\t\t"type": "string"\n\t},\n\t"headingLevel": {\n\t\t"type": "integer",\n\t\t"default": 2\n\t},\n\t"headingSize": {\n\t\t"type": "string",\n\t\t"default": "default"\n\t},\n}\n'})}),"\n",(0,o.jsx)(t.p,{children:"and you have a card component:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/components/card/manifest.json"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"componentName": "card",\n"attributes": {\n\t"cardUsage": {\n\t\t"type": "boolean"\n\t\t"default": true,\n\t},\n},\n"components": {\n\t"heading": "heading"\n}\n'})}),"\n",(0,o.jsx)(t.p,{children:"and you have a cards grid block:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/custom/cards-grid/manifest.json"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"blockName": "cards-grid",\n"attributes": {\n\t"cardsGridContent": {\n\t\t"type": "string"\n\t\t"default": "test",\n\t},\n},\n"components": {\n\t"card": "card"\n}\n'})}),"\n",(0,o.jsx)(t.p,{children:"in your block attributes object, you will now have these keys:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'\n// Attributes from the heading component.\n"cardsGridCardHeadingContent": "",\n"cardsGridCardHeadingLevel": 2,\n"cardsGridCardHeadingSize": "default",\n\n// Attributes from the card component.\n"cardsGridCardUsage": true,\n\n// Attributes from the block.\n"cardsGridContent": "test",\n'})}),"\n",(0,o.jsx)(t.p,{children:"As you can see in the example, you have all the attributes from the card and heading component inside your card's grid block."}),"\n",(0,o.jsx)(t.h3,{id:"i-dont-need-all-the-component-options-in-my-block",children:"I don't need all the component options in my block."}),"\n",(0,o.jsxs)(t.p,{children:["All our components come with a few common attributes that we recommend you also implement in your components. One of those attributes is ",(0,o.jsx)(t.code,{children:"buttonUse"}),"."]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"buttonUse": true,\n'})}),"\n",(0,o.jsxs)(t.p,{children:["This attribute is available in all three components (editor, toolbar, options). If set to ",(0,o.jsx)(t.strong,{children:"false"}),", it will remove this component from the DOM. This is useful if you want to hide all markup from the DOM."]}),"\n",(0,o.jsx)(t.p,{children:"For example, you have a Jumbotron block and a heading that you want to populate if necessary. If you add content to the heading, everything looks good. But if you don't add it, you'll still see a placeholder for that heading in the block editor. This affects how you perceive it, and an editor may think this block will look like that on the front end (with the placeholder text). So if you have a component that you will not populate on some block, switch the toggle to false, and you will hide it from the DOM. This is useful for content editors."}),"\n",(0,o.jsx)(t.h3,{id:"i-dont-want-my-editor-to-be-able-to-change-component-options-in-my-block",children:"I don't want my editor to be able to change component options in my block."}),"\n",(0,o.jsxs)(t.p,{children:["Another attribute that you can use is ",(0,o.jsx)(t.code,{children:"buttonShowControls"}),"."]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"buttonShowControls": true,\n'})}),"\n",(0,o.jsx)(t.p,{children:"This attribute is available in the options component only. You can't set it up via block editor, only from code. You would use it if you wanted to use a heading component and set all the defaults, without your content editor changing how the heading looks. It can add the heading content from the editor section without changing any of the options. You can set this option in the manifest or pass it manually via props."}),"\n",(0,o.jsx)(t.h3,{id:"how-do-my-example-attributes-behave-when-i-use-components-in-blocks",children:"How do my example attributes behave when I use components in blocks?"}),"\n",(0,o.jsx)(t.p,{children:"Exactly the same way as attributes."}),"\n",(0,o.jsx)(t.h3,{id:"i-have-a-component-name-that-has-multiple-strings-in-a-name-will-this-work",children:"I have a component name that has multiple strings in a name, will this work?"}),"\n",(0,o.jsxs)(t.p,{children:["By multiple strings in a name we mean that component name has multiple words, for example, ",(0,o.jsx)(t.code,{children:"jumbotron-cta"}),". The problem here is that we define components with kebab-case and attributes with camelCase."]}),"\n",(0,o.jsxs)(t.p,{children:["The short answer is ",(0,o.jsx)(t.strong,{children:"yes"})," this will work."]}),"\n",(0,o.jsx)(t.h3,{id:"i-have-a-component-that-i-want-to-use-manually",children:"I have a component that I want to use manually"}),"\n",(0,o.jsx)(t.p,{children:"We created this cool way of importing attributes and loading components in your blocks or other components. However, that doesn't mean that you can't have instances where you have to load components manually. In that case, you have to provide all the attributes that you want to use manually. The attributes that you didn't provide will not be magically set from the manifest, but you can make your life easier and map it like this."}),"\n",(0,o.jsxs)(t.p,{children:["For example, you have a ",(0,o.jsx)(t.code,{children:"card"})," component that you will use in the ",(0,o.jsx)(t.code,{children:"featured-posts"})," block."]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/custom/featured-posts/featured-posts.php"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-php",children:"echo wp_kses_post(\n\tComponents::render(\n\t\t'card',\n\t\tComponents::props('card', $attributes, [\n\t\t\t'cardHeadingContent' => __('Custom content for heading', 'textdomain'),\n\t\t\t'cardParagraphContent' => __('Custom content for paragraph', 'textdomain'),\n\t\t])\n\t)\n);\n"})}),"\n",(0,o.jsx)(t.p,{children:"This example will only pass these 2 attributes to you component and attributes from the currect file, it will not pass default attributes of heading and paragraph components."}),"\n",(0,o.jsx)(t.p,{children:"By providing the forth parameter to a render method you can also add default attributes to the output like this:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.strong,{children:"featured-posts.php"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-php",children:"echo wp_kses_post(\n\tComponents::render(\n\t\t'card',\n\t\tComponents::props('card', $attributes, [\n\t\t\t'cardHeadingContent' => __('Custom content for heading', 'textdomain'),\n\t\t\t'cardParagraphContent' => __('Custom content for paragraph', 'textdomain'),\n\t\t]),\n\t\t'',\n\t\ttrue\n\t)\n);\n"})}),"\n",(0,o.jsx)(t.h3,{id:"i-want-to-limit-which-options-are-shown-for-components-inside-a-blockcomponent",children:"I want to limit which options are shown for components inside a block/component"}),"\n",(0,o.jsxs)(t.p,{children:["Let's say you have a block that has a ",(0,o.jsx)(t.code,{children:"heading"})," component inside it."]}),"\n",(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"heading"})," has 10 text sizes and 5 colors, but for that block, only 2 colors and 3 text sizes are allowed.\nTo achieve this you must prepare your component to be able to use this feature:"]}),"\n",(0,o.jsxs)(t.ol,{children:["\n",(0,o.jsxs)(t.li,{children:["Your component options must be named the same name as their attribute value. In the example, you can see that the options key for ",(0,o.jsx)(t.code,{children:"typographySize"})," is the same name as in the attributes."]}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/components/heading/manifest.json"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'{\n\t"componentName": "heading",\n\t"attributes": {\n\t\t"headingSize": {\n\t\t\t"type": "string",\n\t\t\t"default": "16-text-roman"\n\t\t},\n\t\t"headingColor": {\n\t\t\t"type": "string",\n\t\t\t"default": "black",\n\t\t\t"variable": true,\n\t\t\t"color": true\n\t\t},\n\t},\n\t"options": {\n\t\t"headingSize": [\n\t\t\t{\n\t\t\t\t"label": "180 Display",\n\t\t\t\t"value": "180-default"\n\t\t\t},\n\t\t\t{\n\t\t\t\t"label": "120 Display",\n\t\t\t\t"value": "120-default"\n\t\t\t},\n\t\t\t{\n\t\t\t\t"label": "80 Display",\n\t\t\t\t"value": "80-default"\n\t\t\t},\n\t\t\t{\n\t\t\t\t"label": "52 Display",\n\t\t\t\t"value": "52-default"\n\t\t\t},\n\t\t\t{\n\t\t\t\t"label": "36 Text",\n\t\t\t\t"value": "36-text"\n\t\t\t}\n\t\t],\n\t\t"headingColor": [\n\t\t\t"black",\n\t\t\t"white",\n\t\t\t"grey100",\n\t\t\t"grey200"\n\t\t]\n\t}\n}\n'})}),"\n",(0,o.jsxs)(t.ol,{start:"2",children:["\n",(0,o.jsxs)(t.li,{children:["Every option in your component must use ",(0,o.jsx)(t.code,{children:"getOption"})," helper for the prop that is used to provide options. Details about the helper can be found ",(0,o.jsx)(t.a,{href:"helpers-javascript",children:"here"}),"."]}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.strong,{children:"SelectControl Example:"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-js",children:"const headingSize = checkAttr('headingSize', attributes, manifest);\n\n setAttributes({ [getAttrKey('headingSize', attributes, manifest)]: value })}\n/>\n"})}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.strong,{children:"ColorPaletteCustom Example:"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-js",children:"const headingColor = checkAttr('headingColor', attributes, manifest);\n\n setAttributes({ [getAttrKey('headingColor', attributes, manifest)]: value })}\n/>\n"})}),"\n",(0,o.jsxs)(t.ol,{start:"3",children:["\n",(0,o.jsx)(t.li,{children:"In the component/blocks for which you are going to override the options, you must provide an options prop that is going to override the default one also following the described attribute prefixes."}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.strong,{children:"heading-options.js"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-js",children:"\n"})}),"\n",(0,o.jsxs)(t.ol,{start:"4",children:["\n",(0,o.jsxs)(t.li,{children:["In the component/blocks for which you are going to override options, you must provide the override in the ",(0,o.jsx)(t.code,{children:"manifest.json"})," by following the same naming as in the component."]}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/custom/heading/manifest.json"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'{\n\t"blockName": "heading",\n\t"options": {\n\t\t"headingHeadingSize": [\n\t\t\t"80-default",\n\t\t\t"52-default"\n\t\t],\n\t\t"headingHeadingColor": [\n\t\t\t"black",\n\t\t\t"white"\n\t\t]\n\t}\n}\n'})}),"\n",(0,o.jsx)(t.p,{children:"And this is it. You are now able to override the options from the parent block/component."}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsx)(t.p,{children:"Keep in mind that you can only override SelectControl, ColorPaletteCustom, and AlignmentToolbar."}),"\n"]}),"\n",(0,o.jsx)(t.h3,{id:"i-want-to-only-pass-attributes-to-the-component-that-im-going-to-use",children:"I want to only pass attributes to the component that I'm going to use"}),"\n",(0,o.jsx)(t.p,{children:"At one point in time, we agreed on naming standards for all component attributes. That way we made sure that you wouldn't get any collisions when using multiple components. So we said it is ok to spread all attributes to the component and let the component handle what it needs. Well, that approach is ok but it can bite you in the a.. at the point that you least expect."}),"\n",(0,o.jsxs)(t.p,{children:["That is why we created ",(0,o.jsx)(t.a,{href:"helpers-javascript",children:"props helper"})," that determines what attributes are passed to what component depending on the dependency tree."]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.strong,{children:"Let's set a layout for this example:"})}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:["components","\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"heading"}),"\n",(0,o.jsx)(t.li,{children:"typography"}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["custom","\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"heading"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(t.p,{children:["You have block ",(0,o.jsx)(t.code,{children:"heading"})," that uses component ",(0,o.jsx)(t.code,{children:"heading"})," and that component uses another component called ",(0,o.jsx)(t.code,{children:"typography"}),".\nWe are putting only relevant code in the example:"]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/custom/heading/manifest.json"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'{\n\t"blockName": "heading",\n\t"components": {\n\t\t"heading": "heading"\n\t},\n}\n'})}),"\n",(0,o.jsxs)(t.p,{children:["In the ",(0,o.jsx)(t.code,{children:"components"})," key, you must provide components that you are going to be using in this block. There are more options in the ",(0,o.jsx)(t.a,{href:"#i-want-to-use-one-heading-component-in-my-block",children:"example"})," at the beginning of this chapter."]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/custom/heading/components/heading-editor.js"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-js",children:"import React from 'react';\nimport { props } from '@eightshift/frontend-libs/scripts';\nimport { HeadingEditor as HeadingEditorComponent } from '../../../components/heading/components/heading-editor';\n\nexport const HeadingEditor = ({ attributes, setAttributes }) => {\n\treturn (\n\t\t\n\t);\n};\n"})}),"\n",(0,o.jsx)(t.p,{children:"In JavaScript, you spread the results of the props helper."}),"\n",(0,o.jsx)(t.p,{children:"The PHP template should look like this:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/custom/heading/heading.php"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-php",children:"\n\n
\n\t\n
\n"})}),"\n",(0,o.jsxs)(t.p,{children:["Now, let's see how the component ",(0,o.jsx)(t.code,{children:"heading"})," looks like."]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/components/heading/manifest.json"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'{\n\t"componentName": "heading",\n\t"components": {\n\t\t"heading": "typography"\n\t},\n}\n'})}),"\n",(0,o.jsxs)(t.p,{children:["In the ",(0,o.jsx)(t.code,{children:"heading"})," component we are using the ",(0,o.jsx)(t.code,{children:"typography"})," component but we are not using the default component name. Instead, we are changing the attribute name from ",(0,o.jsx)(t.code,{children:"typography"})," to ",(0,o.jsx)(t.code,{children:"heading"}),"."]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/components/heading/components/heading-editor.js"})}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.em,{children:"The same is for options or toolbar components!"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-js",children:"import React from 'react';\nimport { props } from '@eightshift/frontend-libs/scripts';\nimport { TypographyEditor } from './../../typography/components/typography-editor';\nimport manifest from './../manifest.json';\n \nexport const HeadingEditor = (attributes) => {\n\tconst {\n\t\tcomponentClass,\n\t} = manifest;\n\n\tconst {\n\t\tblockClass,\n\t} = attributes;\n\n\treturn (\n\t\t\n\t);\n};\n"})}),"\n",(0,o.jsx)(t.p,{children:"In this example, you can see that everything is the same as in the parent block."}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/components/heading/heading.php"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-php",children:" $componentClass\n\t])\n),\n"})}),"\n",(0,o.jsx)(t.p,{children:"The PHP part looks similar to the JS block part."}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.strong,{children:"Typography"})}),"\n",(0,o.jsx)(t.p,{children:"There is nothing special that you need to do in the last component in the tree other than following the attributes naming convention."}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.strong,{children:"Summing it all up"})}),"\n",(0,o.jsx)(t.p,{children:"Block:"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.code,{children:"Components"})," key in the ",(0,o.jsx)(t.code,{children:"manifest.json"})," is used to provide/change the attribute names on the block registration process."]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.code,{children:"Props helper"})," will provide all the attributes used in the block and it will follow the dependency tree to the end so that all the attributes from the children components will also be provided as a result."]}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:"Components:"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.code,{children:"Components"})," key in the ",(0,o.jsx)(t.code,{children:"manifest.json"})," is used to determine the dependency tree when passing the attributes from parent to children."]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.code,{children:"Props helper"})," will provide only those attributes that are used in the children's components recursively. The same as props helper in the block."]}),"\n"]}),"\n",(0,o.jsxs)(t.p,{children:["For more details please read the ",(0,o.jsx)(t.a,{href:"helpers-javascript",children:"props helper docs"}),"."]}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsx)(t.p,{children:"You should avoid spreading attributes as props but rather use this helper because it provides only what is used in the component."}),"\n"]}),"\n",(0,o.jsx)(t.h3,{id:"passing-setattributes-to-components",children:"Passing setAttributes to components"}),"\n",(0,o.jsxs)(t.p,{children:["As we described earlier props helper knows what to pass to a child component but there are some wild cards here. When you are passing props from block to component you must pass setAttributes down as props but if if you are passing props from component to component you don't need to. This is because we added some automatic includes in our props helper that you can check ",(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/scripts/editor/attributes.js",children:"here"}),"."]}),"\n",(0,o.jsx)(t.h3,{id:"manualy-overiding-attributes-from-the-code",children:"Manualy overiding attributes from the code"}),"\n",(0,o.jsx)(t.p,{children:"You can also do this and this is why we created the third parameter in the props helper in order to be able to pass attributes via code and still be able to use automatic attributes prefixes that the props helper provides:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-js",children:"\n"})}),"\n",(0,o.jsx)(t.p,{children:"typographyContent attribute will follow the naming prefix when passed to a child but the disableEdit will remain the same name in all the children."}),"\n",(0,o.jsx)(t.p,{children:"Any of the included attributes can be passed as the third parameter here, but they will not be prefixed:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-js",children:"\n"})})]})}function d(e={}){const{wrapper:t}={...(0,s.M)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(h,{...e})}):h(e)}},44972:(e,t,n)=>{n.d(t,{c:()=>o});const o=n.p+"assets/images/attributes-1-b68f9798ba07c21636b26fef3de0f202.webp"},73564:(e,t,n)=>{n.d(t,{c:()=>o});const o=n.p+"assets/images/attributes-2-f47779c67174908485c045f80daef4ec.webp"},68264:(e,t,n)=>{n.d(t,{c:()=>o});const o=n.p+"assets/images/attributes-3-d4804b9a6810dbbb6295b65f8e8c70fd.webp"},4552:(e,t,n)=>{n.d(t,{I:()=>r,M:()=>a});var o=n(11504);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/318b66a0.1a6b5033.js b/assets/js/318b66a0.1a6b5033.js new file mode 100644 index 000000000..fb5cd6af0 --- /dev/null +++ b/assets/js/318b66a0.1a6b5033.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[87500],{84396:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>s,default:()=>u,frontMatter:()=>r,metadata:()=>a,toc:()=>l});var i=t(17624),o=t(4552);const r={id:"webpack",title:"Webpack"},s=void 0,a={id:"legacy/v7/basics/webpack",title:"Webpack",description:"docs-source",source:"@site/docs/legacy/v7/basics/webpack.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/webpack",permalink:"/docs/legacy/v7/basics/webpack",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"webpack",title:"Webpack"},sidebar:"docs",previous:{title:"General",permalink:"/docs/legacy/v7/basics/frontend"},next:{title:"SCSS Library",permalink:"/docs/legacy/v7/basics/library"}},c={},l=[{value:"Override built-in functionality",id:"override-built-in-functionality",level:2},{value:"Add new custom functionality",id:"add-new-custom-functionality",level:2},{value:"Change the default config",id:"change-the-default-config",level:2},{value:"Add a new entrypoint",id:"add-a-new-entrypoint",level:2}];function d(e){const n={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",...(0,o.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0",children:(0,i.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsxs)(n.p,{children:["At its core, Webpack is a static module bundler for modern JavaScript applications. When Webpack processes your application, it builds an internal dependency graph that maps every module your project needs and generates one or more bundles. ",(0,i.jsx)(n.a,{href:"https://webpack.js.org/concepts/",children:"Learn more about Webpack"}),"."]}),"\n",(0,i.jsx)(n.p,{children:"To put it simply, Webpack takes your development files and creates a production-ready version of them based on the config."}),"\n",(0,i.jsxs)(n.p,{children:["Eightshift Development Kit comes with everything set up out of the box. In the root of your project, you will find a file called ",(0,i.jsx)(n.code,{children:"webpack.config.js"}),". If you open it, you will see that the configuration is pulled from the Eightshift Frontend Libs library."]}),"\n",(0,i.jsx)(n.p,{children:"You can remove this config and write everything from scratch (keep in mind that this is a lot of work), or you can use our config and extend/remove whatever you need."}),"\n",(0,i.jsx)(n.h2,{id:"override-built-in-functionality",children:"Override built-in functionality"}),"\n",(0,i.jsxs)(n.p,{children:["To remove built-in functionality, add a new array to the config called ",(0,i.jsx)(n.code,{children:"overrides"}),".\nIf you provide any of the ",(0,i.jsx)(n.code,{children:"overrides"})," keys, it will remove that config from the feature from the build."]}),"\n",(0,i.jsx)(n.p,{children:"You can't change our config; you can only remove it and make your own."}),"\n",(0,i.jsx)(n.p,{children:"Here is a list of all the features that we use and how to remove them."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"\nconst projectConfig = {\n config: {\n ... everything from default setup\n },\n overrides: [\n // Located in project.js\n 'application',\n 'applicationAdmin',\n 'applicationBlocks',\n 'applicationBlocksEditor',\n 'filename',\n\n // Located in base.js\n 'cleanWebpackPlugin',\n 'providePlugin',\n 'definePlugin',\n 'miniCssExtractPlugin',\n 'webpackManifestPlugin',\n 'dependencyExtractionWebpackPlugin',\n 'runtimeChunk',\n 'js',\n 'images',\n 'fonts',\n 'scss',\n\n // Located in development.js\n 'browserSyncPlugin',\n\n // Located in production.js\n 'terserPlugin',\n 'cssMinimizerPlugin',\n ],\n}\n"})}),"\n",(0,i.jsx)(n.h2,{id:"add-new-custom-functionality",children:"Add new custom functionality"}),"\n",(0,i.jsxs)(n.p,{children:["Let's say you want to add a custom ",(0,i.jsx)(n.code,{children:"html-webpack-plugin"})," to the build. You can simply use all the native ",(0,i.jsx)(n.a,{href:"https://webpack.js.org/guides/",children:"webpack features"}),", like in this example:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"const HtmlWebpackPlugin = require('html-webpack-plugin');\n\nmodule.exports = (env, argv) => {\n\n ...\n\n return {\n // Load all projects config from eightshift-frontend-libs.\n ...project,\n\n plugins: [\n // Load all plugins config from eightshift-frontend-libs.\n ...project.plugins,\n\n // Add your custom implementation.\n new HtmlWebpackPlugin(),\n ],\n };\n};\n"})}),"\n",(0,i.jsx)(n.h2,{id:"change-the-default-config",children:"Change the default config"}),"\n",(0,i.jsxs)(n.p,{children:["Let's say you want to change what we made and adjust it to your specific needs. In that case, you should remove our functionality by providing the ",(0,i.jsx)(n.code,{children:"overrides"})," array and create your implementation. For example:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"const BrowserSyncPlugin = require('browser-sync-webpack-plugin');\n\nmodule.exports = (env, argv) => {\n\n const projectConfig = {\n config: {\n // ... everything from default setup\n },\n overrides: [\n 'browserSyncPlugin', // this removes our configuration.\n ],\n };\n\n // Generate Webpack config for this project using options object.\n const project = require('./node_modules/@eightshift/frontend-libs/webpack')(argv.mode, projectConfig);\n\n return {\n // Load all projects config from eightshift-frontend-libs.\n ...project,\n\n plugins: [\n // Load all plugins config from eightshift-frontend-libs.\n ...project.plugins,\n\n // This provides your configuration.\n new BrowserSyncPlugin({\n host: 'localhost',\n port: 3000,\n https: true,\n }),\n ],\n };\n"})}),"\n",(0,i.jsx)(n.h2,{id:"add-a-new-entrypoint",children:"Add a new entrypoint"}),"\n",(0,i.jsxs)(n.p,{children:["Let's say you want to add a new, separate JS and/or CSS build for some specific functionality. This functionality may or may not have anything to do with your WordPress theme or plugin, but it needs to be in separate files. To do that you'd need to add a new entrypoint for Webpack to build in ",(0,i.jsx)(n.code,{children:"webpack.config.js"}),":"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"module.exports = (env, argv) => {\n\n ...\n\n return {\n // Load all projects config from eightshift-frontend-libs.\n ...project,\n\n entry: {\n // Load all entry points config from eightshift-frontend-libs.\n ...project.entry,\n\n // Your custom build entrypoint.\n newBuild: path.resolve(projectConfig.config.projectDir, 'assets', 'application-newBuild.js'),\n },\n };\n};\n"})}),"\n",(0,i.jsxs)(n.p,{children:["Next thing you'd do is create ",(0,i.jsx)(n.code,{children:"application-newBuild.js"})," in ",(0,i.jsx)(n.code,{children:"assets/"})," directory, in which you'd import and JS or SCSS partials. After restarting the build process, the results should be visible in ",(0,i.jsx)(n.code,{children:"public/"})," directory as new JS or CSS files."]})]})}function u(e={}){const{wrapper:n}={...(0,o.M)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},4552:(e,n,t)=>{t.d(n,{I:()=>a,M:()=>s});var i=t(11504);const o={},r=i.createContext(o);function s(e){const n=i.useContext(r);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(o):e.components||o:s(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/318b66a0.71a4309b.js b/assets/js/318b66a0.71a4309b.js deleted file mode 100644 index 8bee2c24c..000000000 --- a/assets/js/318b66a0.71a4309b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[38765],{46507:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>s,default:()=>u,frontMatter:()=>r,metadata:()=>a,toc:()=>l});var i=t(85893),o=t(11151);const r={id:"webpack",title:"Webpack"},s=void 0,a={id:"legacy/v7/basics/webpack",title:"Webpack",description:"docs-source",source:"@site/docs/legacy/v7/basics/webpack.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/webpack",permalink:"/docs/legacy/v7/basics/webpack",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"webpack",title:"Webpack"},sidebar:"docs",previous:{title:"General",permalink:"/docs/legacy/v7/basics/frontend"},next:{title:"SCSS Library",permalink:"/docs/legacy/v7/basics/library"}},c={},l=[{value:"Override built-in functionality",id:"override-built-in-functionality",level:2},{value:"Add new custom functionality",id:"add-new-custom-functionality",level:2},{value:"Change the default config",id:"change-the-default-config",level:2},{value:"Add a new entrypoint",id:"add-a-new-entrypoint",level:2}];function d(e){const n={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",...(0,o.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0",children:(0,i.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsxs)(n.p,{children:["At its core, Webpack is a static module bundler for modern JavaScript applications. When Webpack processes your application, it builds an internal dependency graph that maps every module your project needs and generates one or more bundles. ",(0,i.jsx)(n.a,{href:"https://webpack.js.org/concepts/",children:"Learn more about Webpack"}),"."]}),"\n",(0,i.jsx)(n.p,{children:"To put it simply, Webpack takes your development files and creates a production-ready version of them based on the config."}),"\n",(0,i.jsxs)(n.p,{children:["Eightshift Development Kit comes with everything set up out of the box. In the root of your project, you will find a file called ",(0,i.jsx)(n.code,{children:"webpack.config.js"}),". If you open it, you will see that the configuration is pulled from the Eightshift Frontend Libs library."]}),"\n",(0,i.jsx)(n.p,{children:"You can remove this config and write everything from scratch (keep in mind that this is a lot of work), or you can use our config and extend/remove whatever you need."}),"\n",(0,i.jsx)(n.h2,{id:"override-built-in-functionality",children:"Override built-in functionality"}),"\n",(0,i.jsxs)(n.p,{children:["To remove built-in functionality, add a new array to the config called ",(0,i.jsx)(n.code,{children:"overrides"}),".\nIf you provide any of the ",(0,i.jsx)(n.code,{children:"overrides"})," keys, it will remove that config from the feature from the build."]}),"\n",(0,i.jsx)(n.p,{children:"You can't change our config; you can only remove it and make your own."}),"\n",(0,i.jsx)(n.p,{children:"Here is a list of all the features that we use and how to remove them."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"\nconst projectConfig = {\n config: {\n ... everything from default setup\n },\n overrides: [\n // Located in project.js\n 'application',\n 'applicationAdmin',\n 'applicationBlocks',\n 'applicationBlocksEditor',\n 'filename',\n\n // Located in base.js\n 'cleanWebpackPlugin',\n 'providePlugin',\n 'definePlugin',\n 'miniCssExtractPlugin',\n 'webpackManifestPlugin',\n 'dependencyExtractionWebpackPlugin',\n 'runtimeChunk',\n 'js',\n 'images',\n 'fonts',\n 'scss',\n\n // Located in development.js\n 'browserSyncPlugin',\n\n // Located in production.js\n 'terserPlugin',\n 'cssMinimizerPlugin',\n ],\n}\n"})}),"\n",(0,i.jsx)(n.h2,{id:"add-new-custom-functionality",children:"Add new custom functionality"}),"\n",(0,i.jsxs)(n.p,{children:["Let's say you want to add a custom ",(0,i.jsx)(n.code,{children:"html-webpack-plugin"})," to the build. You can simply use all the native ",(0,i.jsx)(n.a,{href:"https://webpack.js.org/guides/",children:"webpack features"}),", like in this example:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"const HtmlWebpackPlugin = require('html-webpack-plugin');\n\nmodule.exports = (env, argv) => {\n\n ...\n\n return {\n // Load all projects config from eightshift-frontend-libs.\n ...project,\n\n plugins: [\n // Load all plugins config from eightshift-frontend-libs.\n ...project.plugins,\n\n // Add your custom implementation.\n new HtmlWebpackPlugin(),\n ],\n };\n};\n"})}),"\n",(0,i.jsx)(n.h2,{id:"change-the-default-config",children:"Change the default config"}),"\n",(0,i.jsxs)(n.p,{children:["Let's say you want to change what we made and adjust it to your specific needs. In that case, you should remove our functionality by providing the ",(0,i.jsx)(n.code,{children:"overrides"})," array and create your implementation. For example:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"const BrowserSyncPlugin = require('browser-sync-webpack-plugin');\n\nmodule.exports = (env, argv) => {\n\n const projectConfig = {\n config: {\n // ... everything from default setup\n },\n overrides: [\n 'browserSyncPlugin', // this removes our configuration.\n ],\n };\n\n // Generate Webpack config for this project using options object.\n const project = require('./node_modules/@eightshift/frontend-libs/webpack')(argv.mode, projectConfig);\n\n return {\n // Load all projects config from eightshift-frontend-libs.\n ...project,\n\n plugins: [\n // Load all plugins config from eightshift-frontend-libs.\n ...project.plugins,\n\n // This provides your configuration.\n new BrowserSyncPlugin({\n host: 'localhost',\n port: 3000,\n https: true,\n }),\n ],\n };\n"})}),"\n",(0,i.jsx)(n.h2,{id:"add-a-new-entrypoint",children:"Add a new entrypoint"}),"\n",(0,i.jsxs)(n.p,{children:["Let's say you want to add a new, separate JS and/or CSS build for some specific functionality. This functionality may or may not have anything to do with your WordPress theme or plugin, but it needs to be in separate files. To do that you'd need to add a new entrypoint for Webpack to build in ",(0,i.jsx)(n.code,{children:"webpack.config.js"}),":"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"module.exports = (env, argv) => {\n\n ...\n\n return {\n // Load all projects config from eightshift-frontend-libs.\n ...project,\n\n entry: {\n // Load all entry points config from eightshift-frontend-libs.\n ...project.entry,\n\n // Your custom build entrypoint.\n newBuild: path.resolve(projectConfig.config.projectDir, 'assets', 'application-newBuild.js'),\n },\n };\n};\n"})}),"\n",(0,i.jsxs)(n.p,{children:["Next thing you'd do is create ",(0,i.jsx)(n.code,{children:"application-newBuild.js"})," in ",(0,i.jsx)(n.code,{children:"assets/"})," directory, in which you'd import and JS or SCSS partials. After restarting the build process, the results should be visible in ",(0,i.jsx)(n.code,{children:"public/"})," directory as new JS or CSS files."]})]})}function u(e={}){const{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},11151:(e,n,t)=>{t.d(n,{Z:()=>a,a:()=>s});var i=t(67294);const o={},r=i.createContext(o);function s(e){const n=i.useContext(r);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(o):e.components||o:s(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/31b83fd6.4ef2c014.js b/assets/js/31b83fd6.4ef2c014.js new file mode 100644 index 000000000..de87b0eeb --- /dev/null +++ b/assets/js/31b83fd6.4ef2c014.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[70776],{77136:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>r,toc:()=>l});var i=s(17624),n=s(4552);const o={id:"basics-intro",title:"Basics",sidebar_label:"Basics"},a=void 0,r={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.",source:"@site/docs/legacy/v5/basics/basics-intro.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/basics-intro",permalink:"/docs/legacy/v5/basics/basics-intro",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"basics-intro",title:"Basics",sidebar_label:"Basics"},sidebar:"docs",previous:{title:"Versions",permalink:"/docs/legacy/v5/versions"},next:{title:"WP-CLI",permalink:"/docs/legacy/v5/basics/wp-cli"}},c={},l=[{value:"Let's finally start with documentation",id:"lets-finally-start-with-documentation",level:2}];function d(e){const t={a:"a",h2:"h2",p:"p",strong:"strong",...(0,n.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"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."}),"\n",(0,i.jsx)(t.p,{children:"Now that everything is different, we must adapt to the changes as well."}),"\n",(0,i.jsx)(t.h2,{id:"lets-finally-start-with-documentation",children:"Let's finally start with documentation"}),"\n",(0,i.jsx)(t.p,{children:"We took our time to set up a bunch of WP-CLI commands. That should help you set up everything and use all our features, without worrying about correct names, files, and organization. You can find out more about it on this link:"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"wp-cli",children:"WP-CLI"})}),"\n",(0,i.jsx)(t.p,{children:"If you would like to read about our extensive WP-CLI features, find out how to use service classes, or learn how dependency injection container works with auto wiring, this link is for you:"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"backend",children:"Back-end stuff"})}),"\n",(0,i.jsx)(t.p,{children:"If instead, you would like to check out what we have prepared regarding the JavaScript Babel and Webpack, or find out how we ensure that our code is the same across multiple developers, this link is for you:"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"frontend",children:"Front-end stuff"})}),"\n",(0,i.jsxs)(t.p,{children:["On the other hand, if you would like to see our extensive ",(0,i.jsx)(t.strong,{children:"Dynamic Blocks"})," collection and learn how you can use them with all the developer's flexibility and as little code duplication as possible, check out this link:"]}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"blocks",children:"Block editor blocks"})})]})}function h(e={}){const{wrapper:t}={...(0,n.M)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},4552:(e,t,s)=>{s.d(t,{I:()=>r,M:()=>a});var i=s(11504);const n={},o=i.createContext(n);function a(e){const t=i.useContext(o);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(n):e.components||n:a(e.components),i.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/31b83fd6.b12ed716.js b/assets/js/31b83fd6.b12ed716.js deleted file mode 100644 index 36840b7c4..000000000 --- a/assets/js/31b83fd6.b12ed716.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[39205],{41087:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>r,toc:()=>l});var i=s(85893),n=s(11151);const o={id:"basics-intro",title:"Basics",sidebar_label:"Basics"},a=void 0,r={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.",source:"@site/docs/legacy/v5/basics/basics-intro.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/basics-intro",permalink:"/docs/legacy/v5/basics/basics-intro",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"basics-intro",title:"Basics",sidebar_label:"Basics"},sidebar:"docs",previous:{title:"Versions",permalink:"/docs/legacy/v5/versions"},next:{title:"WP-CLI",permalink:"/docs/legacy/v5/basics/wp-cli"}},c={},l=[{value:"Let's finally start with documentation",id:"lets-finally-start-with-documentation",level:2}];function d(e){const t={a:"a",h2:"h2",p:"p",strong:"strong",...(0,n.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"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."}),"\n",(0,i.jsx)(t.p,{children:"Now that everything is different, we must adapt to the changes as well."}),"\n",(0,i.jsx)(t.h2,{id:"lets-finally-start-with-documentation",children:"Let's finally start with documentation"}),"\n",(0,i.jsx)(t.p,{children:"We took our time to set up a bunch of WP-CLI commands. That should help you set up everything and use all our features, without worrying about correct names, files, and organization. You can find out more about it on this link:"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"wp-cli",children:"WP-CLI"})}),"\n",(0,i.jsx)(t.p,{children:"If you would like to read about our extensive WP-CLI features, find out how to use service classes, or learn how dependency injection container works with auto wiring, this link is for you:"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"backend",children:"Back-end stuff"})}),"\n",(0,i.jsx)(t.p,{children:"If instead, you would like to check out what we have prepared regarding the JavaScript Babel and Webpack, or find out how we ensure that our code is the same across multiple developers, this link is for you:"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"frontend",children:"Front-end stuff"})}),"\n",(0,i.jsxs)(t.p,{children:["On the other hand, if you would like to see our extensive ",(0,i.jsx)(t.strong,{children:"Dynamic Blocks"})," collection and learn how you can use them with all the developer's flexibility and as little code duplication as possible, check out this link:"]}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"blocks",children:"Block editor blocks"})})]})}function h(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},11151:(e,t,s)=>{s.d(t,{Z:()=>r,a:()=>a});var i=s(67294);const n={},o=i.createContext(n);function a(e){const t=i.useContext(o);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(n):e.components||n:a(e.components),i.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/31d6ca5c.11d3a0fc.js b/assets/js/31d6ca5c.11d3a0fc.js new file mode 100644 index 000000000..6926aea06 --- /dev/null +++ b/assets/js/31d6ca5c.11d3a0fc.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[29240],{32656: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/31d6ca5c.e336b372.js b/assets/js/31d6ca5c.e336b372.js deleted file mode 100644 index e45ef4815..000000000 --- a/assets/js/31d6ca5c.e336b372.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[10290],{36734: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/31e124ed.3a18073c.js b/assets/js/31e124ed.3a18073c.js new file mode 100644 index 000000000..8dec1ef80 --- /dev/null +++ b/assets/js/31e124ed.3a18073c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[88684],{98148:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>r,toc:()=>l});var t=s(17624),i=s(4552);const o={id:"extending-classes",title:"Extending Classes"},a=void 0,r={id:"legacy/v7/basics/extending-classes",title:"Extending Classes",description:"docs-source",source:"@site/docs/legacy/v7/basics/extending-classes.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/extending-classes",permalink:"/docs/legacy/v7/basics/extending-classes",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"extending-classes",title:"Extending Classes"},sidebar:"docs",previous:{title:"Namespaces",permalink:"/docs/legacy/v7/basics/namespaces"},next:{title:"Autowiring",permalink:"/docs/legacy/v7/basics/autowiring"}},c={},l=[{value:"Example",id:"example",level:2}];function d(e){const n={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",strong:"strong",...(0,i.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/tree/5.0.0",children:(0,t.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsxs)(n.p,{children:["You can extend every class from the library. To follow the good practice, you should never use the class directly from the Eightshift-libs in your service container (except from helpers and traits). Instead, you should create a class in your project and extend the class from the Eightshift-libs. That is why we made all those ",(0,t.jsx)(n.a,{href:"wp-cli",children:"WP-CLI"})," commands you saw in the previous chapter."]}),"\n",(0,t.jsx)(n.p,{children:"We don't do any magic in the Eightshift-libs like in previous versions. All classes contain only the methods you need to call using WordPress hooks or filters."}),"\n",(0,t.jsx)(n.h2,{id:"example",children:"Example"}),"\n",(0,t.jsxs)(n.p,{children:["Let's look at a way to add a class that enqueues theme front-end scripts and styles.\nGo to the ",(0,t.jsx)(n.strong,{children:"root"})," of your theme. Using the terminal, run this command:"]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"wp boilerplate create_enqueue_admin"})}),"\n",(0,t.jsx)(n.p,{children:"This command will output something like this in your project, taking care of your projects namespace and vendor prefixes, as well as the package name and the text-domain:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"manifest = $manifest;\n }\n\n /**\n * Register all the hooks\n *\n * @return void\n */\n public function register(): void\n {\n add_action('login_enqueue_scripts', [ $this, 'enqueueStyles' ]);\n add_action('admin_enqueue_scripts', [ $this, 'enqueueStyles' ], 50);\n add_action('admin_enqueue_scripts', [ $this, 'enqueueScripts' ]);\n }\n\n /**\n * Method that returns assets name used to prefix asset handlers.\n *\n * @return string\n */\n public function getAssetsPrefix(): string\n {\n return Config::getProjectName();\n }\n\n /**\n * Method that returns assets version for versioning asset handlers.\n *\n * @return string\n */\n public function getAssetsVersion(): string\n {\n return Config::getProjectVersion();\n }\n}\n"})}),"\n",(0,t.jsx)(n.p,{children:"As you can see from the provided example, we created a new class and extended the functionality from the Eightshift-libs."}),"\n",(0,t.jsxs)(n.p,{children:["In your new class, you have a ",(0,t.jsx)(n.code,{children:"register"})," method that must be in every class that registers WordPress action hooks or filters. We call these ",(0,t.jsx)(n.strong,{children:"service classes"}),"."]}),"\n",(0,t.jsx)(n.p,{children:"Your class contains three action hooks now. From this example, you can see that, if you don't want to use some functionality, remove the action, and it will not be used anymore. For more details on what each hook's callback does, go to the extended class in the Eightshift-libs and see the logic defined there."})]})}function h(e={}){const{wrapper:n}={...(0,i.M)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},4552:(e,n,s)=>{s.d(n,{I:()=>r,M:()=>a});var t=s(11504);const i={},o=t.createContext(i);function a(e){const n=t.useContext(o);return t.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:a(e.components),t.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/31e124ed.a2af7a01.js b/assets/js/31e124ed.a2af7a01.js deleted file mode 100644 index f39f740b7..000000000 --- a/assets/js/31e124ed.a2af7a01.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[1463],{33261:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>a,metadata:()=>r,toc:()=>l});var t=s(85893),i=s(11151);const a={id:"extending-classes",title:"Extending Classes"},o=void 0,r={id:"legacy/v7/basics/extending-classes",title:"Extending Classes",description:"docs-source",source:"@site/docs/legacy/v7/basics/extending-classes.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/extending-classes",permalink:"/docs/legacy/v7/basics/extending-classes",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"extending-classes",title:"Extending Classes"},sidebar:"docs",previous:{title:"Namespaces",permalink:"/docs/legacy/v7/basics/namespaces"},next:{title:"Autowiring",permalink:"/docs/legacy/v7/basics/autowiring"}},c={},l=[{value:"Example",id:"example",level:2}];function d(e){const n={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",strong:"strong",...(0,i.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/tree/5.0.0",children:(0,t.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsxs)(n.p,{children:["You can extend every class from the library. To follow the good practice, you should never use the class directly from the Eightshift-libs in your service container (except from helpers and traits). Instead, you should create a class in your project and extend the class from the Eightshift-libs. That is why we made all those ",(0,t.jsx)(n.a,{href:"wp-cli",children:"WP-CLI"})," commands you saw in the previous chapter."]}),"\n",(0,t.jsx)(n.p,{children:"We don't do any magic in the Eightshift-libs like in previous versions. All classes contain only the methods you need to call using WordPress hooks or filters."}),"\n",(0,t.jsx)(n.h2,{id:"example",children:"Example"}),"\n",(0,t.jsxs)(n.p,{children:["Let's look at a way to add a class that enqueues theme front-end scripts and styles.\nGo to the ",(0,t.jsx)(n.strong,{children:"root"})," of your theme. Using the terminal, run this command:"]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"wp boilerplate create_enqueue_admin"})}),"\n",(0,t.jsx)(n.p,{children:"This command will output something like this in your project, taking care of your projects namespace and vendor prefixes, as well as the package name and the text-domain:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"manifest = $manifest;\n }\n\n /**\n * Register all the hooks\n *\n * @return void\n */\n public function register(): void\n {\n add_action('login_enqueue_scripts', [ $this, 'enqueueStyles' ]);\n add_action('admin_enqueue_scripts', [ $this, 'enqueueStyles' ], 50);\n add_action('admin_enqueue_scripts', [ $this, 'enqueueScripts' ]);\n }\n\n /**\n * Method that returns assets name used to prefix asset handlers.\n *\n * @return string\n */\n public function getAssetsPrefix(): string\n {\n return Config::getProjectName();\n }\n\n /**\n * Method that returns assets version for versioning asset handlers.\n *\n * @return string\n */\n public function getAssetsVersion(): string\n {\n return Config::getProjectVersion();\n }\n}\n"})}),"\n",(0,t.jsx)(n.p,{children:"As you can see from the provided example, we created a new class and extended the functionality from the Eightshift-libs."}),"\n",(0,t.jsxs)(n.p,{children:["In your new class, you have a ",(0,t.jsx)(n.code,{children:"register"})," method that must be in every class that registers WordPress action hooks or filters. We call these ",(0,t.jsx)(n.strong,{children:"service classes"}),"."]}),"\n",(0,t.jsx)(n.p,{children:"Your class contains three action hooks now. From this example, you can see that, if you don't want to use some functionality, remove the action, and it will not be used anymore. For more details on what each hook's callback does, go to the extended class in the Eightshift-libs and see the logic defined there."})]})}function h(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},11151:(e,n,s)=>{s.d(n,{Z:()=>r,a:()=>o});var t=s(67294);const i={},a=t.createContext(i);function o(e){const n=t.useContext(a);return t.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:o(e.components),t.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/32030e6f.d5e91da2.js b/assets/js/32030e6f.d5e91da2.js deleted file mode 100644 index c78eecef7..000000000 --- a/assets/js/32030e6f.d5e91da2.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[22705],{38639: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/32030e6f.eda4e2bc.js b/assets/js/32030e6f.eda4e2bc.js new file mode 100644 index 000000000..509847e4e --- /dev/null +++ b/assets/js/32030e6f.eda4e2bc.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[76832],{25840: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/32528.ffcdf603.js b/assets/js/32528.ffcdf603.js new file mode 100644 index 000000000..f1edb1e4c --- /dev/null +++ b/assets/js/32528.ffcdf603.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[32528],{32528:(e,t,r)=>{function n(e,t){var r=void 0;return function(){for(var n=arguments.length,o=new Array(n),i=0;ipn});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);re.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=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=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;r0&&i("clickedObjectIDsAfterSearch",g(t),t[0].items)},clickedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),r=0;r0&&i("clickedObjectIDs",g(t),t[0].items)},clickedFilters:function(){for(var t=arguments.length,r=new Array(t),n=0;n0&&e.apply(void 0,["clickedFilters"].concat(r))},convertedObjectIDsAfterSearch:function(){for(var e=arguments.length,t=new Array(e),r=0;r0&&i("convertedObjectIDsAfterSearch",g(t),t[0].items)},convertedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),r=0;r0&&i("convertedObjectIDs",g(t),t[0].items)},convertedFilters:function(){for(var t=arguments.length,r=new Array(t),n=0;n0&&e.apply(void 0,["convertedFilters"].concat(r))},viewedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),r=0;r0&&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;n0&&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);r0&&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;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r0},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(W(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;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=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=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=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 Qe(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=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 Qe({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 Qe({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 Qe({action:"",noValidate:!0,role:"search",onSubmit:function(i){var a;i.preventDefault(),t.onSubmit(Qe({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(Qe({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 Qe({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(Qe({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 Qe({"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(Qe({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))}))}}}(Qe({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 Qe({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 Qe({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 Qe({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(Qe({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(Qe({event:e,nextState:{isOpen:!1},props:t,query:i,refresh:r,store:n},o))).then((function(){c.onSelect(Qe({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=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;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=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=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=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|<\/mark>)/g,Qt=RegExp(zt.source);function Wt(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&&Qt.test(o)?o.replace(zt,""):o}function Zt(){return Zt=Object.assign||function(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=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=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=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(45052),fr=["translations"];function mr(){return mr=Object.assign||function(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=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=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:m},yt.createElement("label",mr({className:"DocSearch-MagnifierLabel"},n.getLabelProps()),yt.createElement(sr.I,null)),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=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=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+tPromise.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&&0==~~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=>0!=(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=>0!=(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:Wr}}).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),Qr=e=>(t,r)=>e.transporter.read({method:Nr.Post,path:Er("1/indexes/%s/query",e.indexName),data:{query:t},cacheable:!0},r),Wr=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:Qr,searchForFacetValues:Wr,findAnswers:zr}})}})}Gr.version=Pr;const Xr=Gr;var Yr="3.5.2";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;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=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]),Q=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]),W=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:"",highlightPostTag:"",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 Wt(e)}),c);i.context.searchSuggestions.length0&&(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({},W,{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({},W,{indexName:n,state:T,hitComponent:p,resultsFooterComponent:d,disableUserPersonalization:j,recentSearches:J,favoriteSearches:$,inputRef:F,translations:_,getMissingResultsUrl:D,onItemClick:function(e,t){Q(e),z(e),rn(t)||u()}}))),yt.createElement("footer",{className:"DocSearch-Footer"},yt.createElement(Ot,{translations:x}))))}}}]); \ No newline at end of file diff --git a/assets/js/325ddbed.2c7058c1.js b/assets/js/325ddbed.2c7058c1.js new file mode 100644 index 000000000..15d9cfda2 --- /dev/null +++ b/assets/js/325ddbed.2c7058c1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[7420],{71956:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>p,frontMatter:()=>i,metadata:()=>l,toc:()=>r});var o=t(17624),s=t(4552);const i={id:"blocks-component-manifest",title:"Component Manifest",sidebar_label:"Component Manifest"},a=void 0,l={id:"legacy/v5/basics/blocks-component-manifest",title:"Component Manifest",description:"docs-source",source:"@site/docs/legacy/v5/basics/blocks-component-manifest.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/blocks-component-manifest",permalink:"/docs/legacy/v5/basics/blocks-component-manifest",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-component-manifest",title:"Component Manifest",sidebar_label:"Component Manifest"},sidebar:"docs",previous:{title:"Block Manifest",permalink:"/docs/legacy/v5/basics/block-manifest"},next:{title:"Attributes",permalink:"/docs/legacy/v5/basics/blocks-attributes"}},c={},r=[{value:"Example",id:"example",level:3},{value:"componentName",id:"componentname",level:3},{value:"title",id:"title",level:3},{value:"componentClass",id:"componentclass",level:3},{value:"example",id:"example-1",level:3},{value:"attributes",id:"attributes",level:3},{value:"options",id:"options",level:3},{value:"components",id:"components",level:3}];function d(e){const n={a:"a",code:"code",h3:"h3",img:"img",p:"p",pre:"pre",...(0,s.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/",children:(0,o.jsx)(n.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(n.p,{children:"A component manifest is a bit different than the block manifest. The main difference is that the component manifest is a fully custom feature, and it is only here to provide a way to store configuration data and share it with multiple files in your project."}),"\n",(0,o.jsx)(n.h3,{id:"example",children:"Example"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n "componentName": "heading",\n "title": "Heading",\n "componentClass": "heading",\n "example": {\n "attributes": {\n "headingContent": "This is heading",\n "headingLevel": 2,\n "headingSize": "default",\n "headingUse": true\n }\n },\n "attributes": {\n "headingContent": {\n "type": "string"\n },\n "headingLevel": {\n "type": "integer",\n "default": 2\n },\n "headingSize": {\n "type": "string",\n "default": "default"\n },\n "headingUse": {\n "type": "boolean",\n "default": true\n }\n },\n "options": {\n "sizes": [\n {\n "label": "Default (30px)",\n "value": "default"\n },\n {\n "label": "Big (50px)",\n "value": "big"\n }\n ],\n "aligns": [\n "left",\n "center",\n "right"\n ],\n "colors": [\n "primary",\n "black"\n ]\n },\n "components": {}\n}\n'})}),"\n",(0,o.jsx)(n.h3,{id:"componentname",children:"componentName"}),"\n",(0,o.jsx)(n.p,{children:"This key is the most important one. We use this key to specify the component attributes prefix. When it's used correctly, we are able to change the attributes prefix depending on the component name passed from the parent component or block."}),"\n",(0,o.jsx)(n.h3,{id:"title",children:"title"}),"\n",(0,o.jsx)(n.p,{children:"This key is used to provide the label for all your component options and provide the storybook's automatic story title."}),"\n",(0,o.jsx)(n.h3,{id:"componentclass",children:"componentClass"}),"\n",(0,o.jsx)(n.p,{children:"These keys are used to provide a single point of reference for a component name. You'll use this key to provide a prefix for all the CSS selectors in your component."}),"\n",(0,o.jsx)(n.h3,{id:"example-1",children:"example"}),"\n",(0,o.jsxs)(n.p,{children:["The same as in the blocks manifest. Please check ",(0,o.jsx)(n.a,{href:"block-manifest",children:"this chapter"})," for more details."]}),"\n",(0,o.jsx)(n.h3,{id:"attributes",children:"attributes"}),"\n",(0,o.jsxs)(n.p,{children:["The same as in the blocks manifest. Please check ",(0,o.jsx)(n.a,{href:"block-manifest",children:"this chapter"})," for more details.\nAll attributes in the component must begin with the exact same prefix as it is defined in the ",(0,o.jsx)(n.code,{children:"componentName"}),"."]}),"\n",(0,o.jsx)(n.p,{children:"For example:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n "componentName": "heading",\n "attributes": {\n\t\t"headingContent": {\n\t\t\t"type": "string"\n\t\t},\n\t\t"headingLevel": {\n\t\t\t"type": "integer",\n\t\t\t"default": 2\n\t\t}\n\t}\n}\n\nor\n\n "componentName": "intro",\n "attributes": {\n\t\t"introContent": {\n\t\t\t"type": "string"\n\t\t},\n\t\t"introLevel": {\n\t\t\t"type": "integer",\n\t\t\t"default": 2\n\t\t}\n\t}\n}\n'})}),"\n",(0,o.jsx)(n.h3,{id:"options",children:"options"}),"\n",(0,o.jsxs)(n.p,{children:["These keys are used to provide a single point of reference for component options used in the options part. If you have a ",(0,o.jsx)(n.code,{children:"SelectControl"})," component or a ",(0,o.jsx)(n.code,{children:"ColorSelector"}),", you can set all your options here and use those options in the options section and story for mocking components."]}),"\n",(0,o.jsx)(n.h3,{id:"components",children:"components"}),"\n",(0,o.jsxs)(n.p,{children:["The same as in the blocks manifest. Please check ",(0,o.jsx)(n.a,{href:"block-manifest",children:"this chapter"})," for more details."]})]})}function p(e={}){const{wrapper:n}={...(0,s.M)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},4552:(e,n,t)=>{t.d(n,{I:()=>l,M:()=>a});var o=t(11504);const s={},i=o.createContext(s);function a(e){const n=o.useContext(i);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:a(e.components),o.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/325ddbed.b2e420d4.js b/assets/js/325ddbed.b2e420d4.js deleted file mode 100644 index 4eb05dcf7..000000000 --- a/assets/js/325ddbed.b2e420d4.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[26512],{65821:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>p,frontMatter:()=>i,metadata:()=>l,toc:()=>r});var o=t(85893),s=t(11151);const i={id:"blocks-component-manifest",title:"Component Manifest",sidebar_label:"Component Manifest"},a=void 0,l={id:"legacy/v5/basics/blocks-component-manifest",title:"Component Manifest",description:"docs-source",source:"@site/docs/legacy/v5/basics/blocks-component-manifest.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/blocks-component-manifest",permalink:"/docs/legacy/v5/basics/blocks-component-manifest",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-component-manifest",title:"Component Manifest",sidebar_label:"Component Manifest"},sidebar:"docs",previous:{title:"Block Manifest",permalink:"/docs/legacy/v5/basics/block-manifest"},next:{title:"Attributes",permalink:"/docs/legacy/v5/basics/blocks-attributes"}},c={},r=[{value:"Example",id:"example",level:3},{value:"componentName",id:"componentname",level:3},{value:"title",id:"title",level:3},{value:"componentClass",id:"componentclass",level:3},{value:"example",id:"example-1",level:3},{value:"attributes",id:"attributes",level:3},{value:"options",id:"options",level:3},{value:"components",id:"components",level:3}];function d(e){const n={a:"a",code:"code",h3:"h3",img:"img",p:"p",pre:"pre",...(0,s.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/",children:(0,o.jsx)(n.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(n.p,{children:"A component manifest is a bit different than the block manifest. The main difference is that the component manifest is a fully custom feature, and it is only here to provide a way to store configuration data and share it with multiple files in your project."}),"\n",(0,o.jsx)(n.h3,{id:"example",children:"Example"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n "componentName": "heading",\n "title": "Heading",\n "componentClass": "heading",\n "example": {\n "attributes": {\n "headingContent": "This is heading",\n "headingLevel": 2,\n "headingSize": "default",\n "headingUse": true\n }\n },\n "attributes": {\n "headingContent": {\n "type": "string"\n },\n "headingLevel": {\n "type": "integer",\n "default": 2\n },\n "headingSize": {\n "type": "string",\n "default": "default"\n },\n "headingUse": {\n "type": "boolean",\n "default": true\n }\n },\n "options": {\n "sizes": [\n {\n "label": "Default (30px)",\n "value": "default"\n },\n {\n "label": "Big (50px)",\n "value": "big"\n }\n ],\n "aligns": [\n "left",\n "center",\n "right"\n ],\n "colors": [\n "primary",\n "black"\n ]\n },\n "components": {}\n}\n'})}),"\n",(0,o.jsx)(n.h3,{id:"componentname",children:"componentName"}),"\n",(0,o.jsx)(n.p,{children:"This key is the most important one. We use this key to specify the component attributes prefix. When it's used correctly, we are able to change the attributes prefix depending on the component name passed from the parent component or block."}),"\n",(0,o.jsx)(n.h3,{id:"title",children:"title"}),"\n",(0,o.jsx)(n.p,{children:"This key is used to provide the label for all your component options and provide the storybook's automatic story title."}),"\n",(0,o.jsx)(n.h3,{id:"componentclass",children:"componentClass"}),"\n",(0,o.jsx)(n.p,{children:"These keys are used to provide a single point of reference for a component name. You'll use this key to provide a prefix for all the CSS selectors in your component."}),"\n",(0,o.jsx)(n.h3,{id:"example-1",children:"example"}),"\n",(0,o.jsxs)(n.p,{children:["The same as in the blocks manifest. Please check ",(0,o.jsx)(n.a,{href:"block-manifest",children:"this chapter"})," for more details."]}),"\n",(0,o.jsx)(n.h3,{id:"attributes",children:"attributes"}),"\n",(0,o.jsxs)(n.p,{children:["The same as in the blocks manifest. Please check ",(0,o.jsx)(n.a,{href:"block-manifest",children:"this chapter"})," for more details.\nAll attributes in the component must begin with the exact same prefix as it is defined in the ",(0,o.jsx)(n.code,{children:"componentName"}),"."]}),"\n",(0,o.jsx)(n.p,{children:"For example:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n "componentName": "heading",\n "attributes": {\n\t\t"headingContent": {\n\t\t\t"type": "string"\n\t\t},\n\t\t"headingLevel": {\n\t\t\t"type": "integer",\n\t\t\t"default": 2\n\t\t}\n\t}\n}\n\nor\n\n "componentName": "intro",\n "attributes": {\n\t\t"introContent": {\n\t\t\t"type": "string"\n\t\t},\n\t\t"introLevel": {\n\t\t\t"type": "integer",\n\t\t\t"default": 2\n\t\t}\n\t}\n}\n'})}),"\n",(0,o.jsx)(n.h3,{id:"options",children:"options"}),"\n",(0,o.jsxs)(n.p,{children:["These keys are used to provide a single point of reference for component options used in the options part. If you have a ",(0,o.jsx)(n.code,{children:"SelectControl"})," component or a ",(0,o.jsx)(n.code,{children:"ColorSelector"}),", you can set all your options here and use those options in the options section and story for mocking components."]}),"\n",(0,o.jsx)(n.h3,{id:"components",children:"components"}),"\n",(0,o.jsxs)(n.p,{children:["The same as in the blocks manifest. Please check ",(0,o.jsx)(n.a,{href:"block-manifest",children:"this chapter"})," for more details."]})]})}function p(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},11151:(e,n,t)=>{t.d(n,{Z:()=>l,a:()=>a});var o=t(67294);const s={},i=o.createContext(s);function a(e){const n=o.useContext(i);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:a(e.components),o.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/326267d5.58d4460c.js b/assets/js/326267d5.58d4460c.js new file mode 100644 index 000000000..1c3117f45 --- /dev/null +++ b/assets/js/326267d5.58d4460c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[29149],{81388:(e,s,o)=>{o.r(s),o.d(s,{assets:()=>l,contentTitle:()=>c,default:()=>d,frontMatter:()=>n,metadata:()=>r,toc:()=>a});var t=o(17624),i=o(4552);const n={id:"blocks-hooks",title:"Hooks"},c=void 0,r={id:"legacy/v7/basics/blocks-hooks",title:"Hooks",description:"docs-source",source:"@site/docs/legacy/v7/basics/blocks-hooks.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/blocks-hooks",permalink:"/docs/legacy/v7/basics/blocks-hooks",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-hooks",title:"Hooks"},sidebar:"docs",previous:{title:"Transforms",permalink:"/docs/legacy/v7/basics/blocks-transforms"},next:{title:"Special Use Cases",permalink:"/docs/legacy/v7/basics/blocks-special-use-cases"}},l={},a=[];function h(e){const s={a:"a",img:"img",p:"p",...(0,i.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/",children:(0,t.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsx)(s.p,{children:"WordPress block editor hooks provide the same functionalities as PHP hooks. They are used to modify the behavior of the existing blocks."}),"\n",(0,t.jsxs)(s.p,{children:["You can check the ",(0,t.jsx)(s.a,{href:"https://developer.wordpress.org/block-editor/developers/filters/block-filters/",children:"WordPress documentation"})," on this subject."]}),"\n",(0,t.jsx)(s.p,{children:"We didn't change anything here regarding the original documentation; we simply provided you with the structured file where you can write all your hooks."}),"\n",(0,t.jsxs)(s.p,{children:["Please follow this ",(0,t.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/Blocks/custom/column/column-hooks.js",children:"example"})," to get more insights on using hooks in your project."]})]})}function d(e={}){const{wrapper:s}={...(0,i.M)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(h,{...e})}):h(e)}},4552:(e,s,o)=>{o.d(s,{I:()=>r,M:()=>c});var t=o(11504);const i={},n=t.createContext(i);function c(e){const s=t.useContext(n);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:c(e.components),t.createElement(n.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/326267d5.c508303e.js b/assets/js/326267d5.c508303e.js deleted file mode 100644 index 11564c5ea..000000000 --- a/assets/js/326267d5.c508303e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[39687],{79907:(e,s,o)=>{o.r(s),o.d(s,{assets:()=>l,contentTitle:()=>c,default:()=>d,frontMatter:()=>n,metadata:()=>r,toc:()=>a});var t=o(85893),i=o(11151);const n={id:"blocks-hooks",title:"Hooks"},c=void 0,r={id:"legacy/v7/basics/blocks-hooks",title:"Hooks",description:"docs-source",source:"@site/docs/legacy/v7/basics/blocks-hooks.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/blocks-hooks",permalink:"/docs/legacy/v7/basics/blocks-hooks",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-hooks",title:"Hooks"},sidebar:"docs",previous:{title:"Transforms",permalink:"/docs/legacy/v7/basics/blocks-transforms"},next:{title:"Special Use Cases",permalink:"/docs/legacy/v7/basics/blocks-special-use-cases"}},l={},a=[];function h(e){const s={a:"a",img:"img",p:"p",...(0,i.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/",children:(0,t.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsx)(s.p,{children:"WordPress block editor hooks provide the same functionalities as PHP hooks. They are used to modify the behavior of the existing blocks."}),"\n",(0,t.jsxs)(s.p,{children:["You can check the ",(0,t.jsx)(s.a,{href:"https://developer.wordpress.org/block-editor/developers/filters/block-filters/",children:"WordPress documentation"})," on this subject."]}),"\n",(0,t.jsx)(s.p,{children:"We didn't change anything here regarding the original documentation; we simply provided you with the structured file where you can write all your hooks."}),"\n",(0,t.jsxs)(s.p,{children:["Please follow this ",(0,t.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/Blocks/custom/column/column-hooks.js",children:"example"})," to get more insights on using hooks in your project."]})]})}function d(e={}){const{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(h,{...e})}):h(e)}},11151:(e,s,o)=>{o.d(s,{Z:()=>r,a:()=>c});var t=o(67294);const i={},n=t.createContext(i);function c(e){const s=t.useContext(n);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:c(e.components),t.createElement(n.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/341e5e63.6128984b.js b/assets/js/341e5e63.6128984b.js deleted file mode 100644 index 20660d9f2..000000000 --- a/assets/js/341e5e63.6128984b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[98112],{18289:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>l,contentTitle:()=>c,default:()=>h,frontMatter:()=>i,metadata:()=>r,toc:()=>d});var t=n(85893),o=n(11151);const i={id:"blocks-component-structure",title:"Component Structure"},c=void 0,r={id:"legacy/v6/basics/blocks-component-structure",title:"Component Structure",description:"docs-source",source:"@site/docs/legacy/v6/basics/blocks-component-structure.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/blocks-component-structure",permalink:"/docs/legacy/v6/basics/blocks-component-structure",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-component-structure",title:"Component Structure"},sidebar:"docs",previous:{title:"Block Structure",permalink:"/docs/legacy/v6/basics/block-structure"},next:{title:"Block Manifest",permalink:"/docs/legacy/v6/basics/block-manifest"}},l={},d=[{value:"assets",id:"assets",level:3},{value:"components",id:"components",level:3},{value:"docs",id:"docs",level:3},{value:"heading.php",id:"headingphp",level:3},{value:"heading-editor.scss",id:"heading-editorscss",level:3},{value:"heading-style.scss",id:"heading-stylescss",level:3},{value:"manifest.json",id:"manifestjson",level:3}];function a(e){const s={a:"a",blockquote:"blockquote",code:"code",h3:"h3",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,o.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/",children:(0,t.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsxs)(s.p,{children:["Your custom components are placed in the ",(0,t.jsx)(s.code,{children:"src/Blocks/components"})," folder."]}),"\n",(0,t.jsx)(s.p,{children:"For example, let's take the heading component (just replace the heading with your component name)."}),"\n",(0,t.jsx)(s.p,{children:"We suggest you always use the full name and never abbreviate for the component name. If your component has multiple words, you should separate them by a dash; for example, featured-post-block.js."}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Block structure should look like this:"})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["heading","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["assets","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"index.js"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["components","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"heading-editor.js"}),"\n",(0,t.jsx)(s.li,{children:"heading-options.js"}),"\n",(0,t.jsx)(s.li,{children:"heading-toolbar.js"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["docs","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"story.js"}),"\n",(0,t.jsx)(s.li,{children:"readme.mdx"}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(s.li,{children:"heading.php"}),"\n",(0,t.jsx)(s.li,{children:"heading-editor.scss"}),"\n",(0,t.jsx)(s.li,{children:"heading-style.scss"}),"\n",(0,t.jsx)(s.li,{children:"manifest.json"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["For example, you can check the ",(0,t.jsx)(s.a,{href:"/storybook",children:"storybook"}),"."]}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsx)(s.p,{children:"All files in components are optional."}),"\n"]}),"\n",(0,t.jsx)(s.h3,{id:"assets",children:"assets"}),"\n",(0,t.jsxs)(s.p,{children:["This folder behaves the same as the blocks assets folder. Please check the ",(0,t.jsx)(s.a,{href:"block-structure#assets",children:"block structure"})," chapter for more details."]}),"\n",(0,t.jsx)(s.h3,{id:"components",children:"components"}),"\n",(0,t.jsxs)(s.p,{children:["Components folder holds three files: ",(0,t.jsx)(s.code,{children:"heading-options.js"}),", ",(0,t.jsx)(s.code,{children:"heading-editor.js"}),", and ",(0,t.jsx)(s.code,{children:"heading-toolbars.js"}),". They are used the same way as in blocks to provide functionality based on the location used. The main difference in components is that these files are used inside other blocks to implement functionality from the component."]}),"\n",(0,t.jsx)(s.h3,{id:"docs",children:"docs"}),"\n",(0,t.jsx)(s.p,{children:"Docs folder contains everything a component needs to be run inside the Storybook. This part is optional but it will speed up your development time and provide you with the much-needed documentation."}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"story.js"})," - Storybook entry point for your component. Since components are not blocks, you must provide the mocked data for your component in this file."]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"readme.mdx"})," - README that describes your component and provides the documentation."]}),"\n"]}),"\n",(0,t.jsx)(s.h3,{id:"headingphp",children:"heading.php"}),"\n",(0,t.jsx)(s.p,{children:"This file contains the front-end part (the view) of the component used in your project when the page renders. This file shouldn't contain any business logic, just present the passed attributes. The main difference from block view is that you only have attributes that you passed from a block or a top-level component in this file."}),"\n",(0,t.jsx)(s.h3,{id:"heading-editorscss",children:"heading-editor.scss"}),"\n",(0,t.jsxs)(s.p,{children:["This file behaves the same as in blocks. Please check the ",(0,t.jsx)(s.a,{href:"block-structure#heading-editorscss",children:"block structure"})," chapter for more details."]}),"\n",(0,t.jsx)(s.h3,{id:"heading-stylescss",children:"heading-style.scss"}),"\n",(0,t.jsxs)(s.p,{children:["This file behaves the same as in blocks. Please check the ",(0,t.jsx)(s.a,{href:"block-structure#heading-stylescss",children:"block structure"})," chapter for more details."]}),"\n",(0,t.jsx)(s.h3,{id:"manifestjson",children:"manifest.json"}),"\n",(0,t.jsx)(s.p,{children:"This file contains all the configuration for a component."}),"\n",(0,t.jsxs)(s.p,{children:["For more details, check the ",(0,t.jsx)(s.a,{href:"blocks-component-manifest",children:"component manifest"})," chapter."]})]})}function h(e={}){const{wrapper:s}={...(0,o.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(a,{...e})}):a(e)}},11151:(e,s,n)=>{n.d(s,{Z:()=>r,a:()=>c});var t=n(67294);const o={},i=t.createContext(o);function c(e){const s=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:c(e.components),t.createElement(i.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/341e5e63.b4c3ffab.js b/assets/js/341e5e63.b4c3ffab.js new file mode 100644 index 000000000..db965b423 --- /dev/null +++ b/assets/js/341e5e63.b4c3ffab.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[42884],{22664:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>l,contentTitle:()=>c,default:()=>h,frontMatter:()=>i,metadata:()=>r,toc:()=>d});var t=n(17624),o=n(4552);const i={id:"blocks-component-structure",title:"Component Structure"},c=void 0,r={id:"legacy/v6/basics/blocks-component-structure",title:"Component Structure",description:"docs-source",source:"@site/docs/legacy/v6/basics/blocks-component-structure.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/blocks-component-structure",permalink:"/docs/legacy/v6/basics/blocks-component-structure",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-component-structure",title:"Component Structure"},sidebar:"docs",previous:{title:"Block Structure",permalink:"/docs/legacy/v6/basics/block-structure"},next:{title:"Block Manifest",permalink:"/docs/legacy/v6/basics/block-manifest"}},l={},d=[{value:"assets",id:"assets",level:3},{value:"components",id:"components",level:3},{value:"docs",id:"docs",level:3},{value:"heading.php",id:"headingphp",level:3},{value:"heading-editor.scss",id:"heading-editorscss",level:3},{value:"heading-style.scss",id:"heading-stylescss",level:3},{value:"manifest.json",id:"manifestjson",level:3}];function a(e){const s={a:"a",blockquote:"blockquote",code:"code",h3:"h3",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,o.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/",children:(0,t.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsxs)(s.p,{children:["Your custom components are placed in the ",(0,t.jsx)(s.code,{children:"src/Blocks/components"})," folder."]}),"\n",(0,t.jsx)(s.p,{children:"For example, let's take the heading component (just replace the heading with your component name)."}),"\n",(0,t.jsx)(s.p,{children:"We suggest you always use the full name and never abbreviate for the component name. If your component has multiple words, you should separate them by a dash; for example, featured-post-block.js."}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Block structure should look like this:"})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["heading","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["assets","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"index.js"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["components","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"heading-editor.js"}),"\n",(0,t.jsx)(s.li,{children:"heading-options.js"}),"\n",(0,t.jsx)(s.li,{children:"heading-toolbar.js"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["docs","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"story.js"}),"\n",(0,t.jsx)(s.li,{children:"readme.mdx"}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(s.li,{children:"heading.php"}),"\n",(0,t.jsx)(s.li,{children:"heading-editor.scss"}),"\n",(0,t.jsx)(s.li,{children:"heading-style.scss"}),"\n",(0,t.jsx)(s.li,{children:"manifest.json"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["For example, you can check the ",(0,t.jsx)(s.a,{href:"/storybook",children:"storybook"}),"."]}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsx)(s.p,{children:"All files in components are optional."}),"\n"]}),"\n",(0,t.jsx)(s.h3,{id:"assets",children:"assets"}),"\n",(0,t.jsxs)(s.p,{children:["This folder behaves the same as the blocks assets folder. Please check the ",(0,t.jsx)(s.a,{href:"block-structure#assets",children:"block structure"})," chapter for more details."]}),"\n",(0,t.jsx)(s.h3,{id:"components",children:"components"}),"\n",(0,t.jsxs)(s.p,{children:["Components folder holds three files: ",(0,t.jsx)(s.code,{children:"heading-options.js"}),", ",(0,t.jsx)(s.code,{children:"heading-editor.js"}),", and ",(0,t.jsx)(s.code,{children:"heading-toolbars.js"}),". They are used the same way as in blocks to provide functionality based on the location used. The main difference in components is that these files are used inside other blocks to implement functionality from the component."]}),"\n",(0,t.jsx)(s.h3,{id:"docs",children:"docs"}),"\n",(0,t.jsx)(s.p,{children:"Docs folder contains everything a component needs to be run inside the Storybook. This part is optional but it will speed up your development time and provide you with the much-needed documentation."}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"story.js"})," - Storybook entry point for your component. Since components are not blocks, you must provide the mocked data for your component in this file."]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"readme.mdx"})," - README that describes your component and provides the documentation."]}),"\n"]}),"\n",(0,t.jsx)(s.h3,{id:"headingphp",children:"heading.php"}),"\n",(0,t.jsx)(s.p,{children:"This file contains the front-end part (the view) of the component used in your project when the page renders. This file shouldn't contain any business logic, just present the passed attributes. The main difference from block view is that you only have attributes that you passed from a block or a top-level component in this file."}),"\n",(0,t.jsx)(s.h3,{id:"heading-editorscss",children:"heading-editor.scss"}),"\n",(0,t.jsxs)(s.p,{children:["This file behaves the same as in blocks. Please check the ",(0,t.jsx)(s.a,{href:"block-structure#heading-editorscss",children:"block structure"})," chapter for more details."]}),"\n",(0,t.jsx)(s.h3,{id:"heading-stylescss",children:"heading-style.scss"}),"\n",(0,t.jsxs)(s.p,{children:["This file behaves the same as in blocks. Please check the ",(0,t.jsx)(s.a,{href:"block-structure#heading-stylescss",children:"block structure"})," chapter for more details."]}),"\n",(0,t.jsx)(s.h3,{id:"manifestjson",children:"manifest.json"}),"\n",(0,t.jsx)(s.p,{children:"This file contains all the configuration for a component."}),"\n",(0,t.jsxs)(s.p,{children:["For more details, check the ",(0,t.jsx)(s.a,{href:"blocks-component-manifest",children:"component manifest"})," chapter."]})]})}function h(e={}){const{wrapper:s}={...(0,o.M)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(a,{...e})}):a(e)}},4552:(e,s,n)=>{n.d(s,{I:()=>r,M:()=>c});var t=n(11504);const o={},i=t.createContext(o);function c(e){const s=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:c(e.components),t.createElement(i.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3481c063.171c8b20.js b/assets/js/3481c063.171c8b20.js deleted file mode 100644 index 8576a15ac..000000000 --- a/assets/js/3481c063.171c8b20.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[37379],{97415: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/3481c063.4847fd54.js b/assets/js/3481c063.4847fd54.js new file mode 100644 index 000000000..dee8b788b --- /dev/null +++ b/assets/js/3481c063.4847fd54.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[35468],{73096: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/35104.c6952c15.js b/assets/js/35104.c6952c15.js new file mode 100644 index 000000000..da66f6642 --- /dev/null +++ b/assets/js/35104.c6952c15.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[35104],{35104:(e,t,n)=>{n.r(t),n.d(t,{default:()=>de});var s=n(11504),a=n(85008),i=n(91100),l=n(17624);const c=s.createContext(null);function o(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)(c.Provider,{value:a,children:t})}function r(){const e=(0,s.useContext)(c);if(null===e)throw new i.AH("DocProvider");return e}function d(){const{metadata:e,frontMatter:t,assets:n}=r();return(0,l.jsx)(a.U7,{title:e.title,description:e.description,keywords:t.keywords,image:n.image??t.image})}var u=n(65456),m=n(11432),h=n(84357),x=n(70308);function p(e){const{previous:t,next:n}=e;return(0,l.jsxs)("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,h.G)({id:"theme.docs.paginator.navAriaLabel",message:"Docs pages",description:"The ARIA label for the docs pagination"}),children:[t&&(0,l.jsx)(x.c,{...t,subLabel:(0,l.jsx)(h.c,{id:"theme.docs.paginator.previous",description:"The label used to navigate to the previous doc",children:"Previous"})}),n&&(0,l.jsx)(x.c,{...n,subLabel:(0,l.jsx)(h.c,{id:"theme.docs.paginator.next",description:"The label used to navigate to the next doc",children:"Next"}),isNext:!0})]})}function v(){const{metadata:e}=r();return(0,l.jsx)(p,{previous:e.previous,next:e.next})}var b=n(28264),f=n(10867),g=n(62840),j=n(45864),N=n(94592),C=n(69920);const L={unreleased:function(e){let{siteTitle:t,versionMetadata:n}=e;return(0,l.jsx)(h.c,{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.c,{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=L[e.versionMetadata.banner];return(0,l.jsx)(t,{...e})}function k(e){let{versionLabel:t,to:n,onClick:s}=e;return(0,l.jsx)(h.c,{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)(f.c,{to:n,onClick:s,children:(0,l.jsx)(h.c,{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.c)(),{pluginId:a}=(0,g.UF)({failfast:!0}),{savePreferredVersionName:i}=(0,N.iy)(a),{latestDocSuggestion:c,latestVersionSuggestion:o}=(0,g.i8)(a),r=c??(d=o).docs.find((e=>e.id===d.mainDocId));var d;return(0,l.jsxs)("div",{className:(0,u.c)(t,j.W.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)(k,{versionLabel:o.label,to:r.path,onClick:()=>i(o.name)})})]})}function y(e){let{className:t}=e;const n=(0,C.E)();return n.banner?(0,l.jsx)(T,{className:t,versionMetadata:n}):null}function U(e){let{className:t}=e;const n=(0,C.E)();return n.badge?(0,l.jsx)("span",{className:(0,u.c)(t,j.W.docs.docVersionBadge,"badge badge--secondary"),children:(0,l.jsx)(h.c,{id:"theme.docs.versionBadge.label",values:{versionLabel:n.label},children:"Version: {versionLabel}"})}):null}function H(e){let{lastUpdatedAt:t,formattedLastUpdatedAt:n}=e;return(0,l.jsx)(h.c,{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 w(e){let{lastUpdatedBy:t}=e;return(0,l.jsx)(h.c,{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 A(e){let{lastUpdatedAt:t,formattedLastUpdatedAt:n,lastUpdatedBy:s}=e;return(0,l.jsxs)("span",{className:j.W.common.lastUpdated,children:[(0,l.jsx)(h.c,{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)(H,{lastUpdatedAt:t,formattedLastUpdatedAt:n}):"",byUser:s?(0,l.jsx)(w,{lastUpdatedBy:s}):""},children:"Last updated{atDate}{byUser}"}),!1]})}var E=n(47790),M=n(1096);const B={lastUpdated:"lastUpdated_vwxv"};function I(e){return(0,l.jsx)("div",{className:(0,u.c)(j.W.docs.docFooterTagsRow,"row margin-bottom--sm"),children:(0,l.jsx)("div",{className:"col",children:(0,l.jsx)(M.c,{...e})})})}function S(e){let{editUrl:t,lastUpdatedAt:n,lastUpdatedBy:s,formattedLastUpdatedAt:a}=e;return(0,l.jsxs)("div",{className:(0,u.c)(j.W.docs.docFooterEditMetaRow,"row"),children:[(0,l.jsx)("div",{className:"col",children:t&&(0,l.jsx)(E.c,{editUrl:t})}),(0,l.jsx)("div",{className:(0,u.c)("col",B.lastUpdated),children:(n||s)&&(0,l.jsx)(A,{lastUpdatedAt:n,formattedLastUpdatedAt:a,lastUpdatedBy:s})})]})}function V(){const{metadata:e}=r(),{editUrl:t,lastUpdatedAt:n,formattedLastUpdatedAt:s,lastUpdatedBy:a,tags:i}=e,c=i.length>0,o=!!(t||n||a);return c||o?(0,l.jsxs)("footer",{className:(0,u.c)(j.W.docs.docFooter,"docusaurus-mt-lg"),children:[c&&(0,l.jsx)(I,{tags:i}),o&&(0,l.jsx)(S,{editUrl:t,lastUpdatedAt:n,lastUpdatedBy:a,formattedLastUpdatedAt:s})]}):null}var O=n(58448),D=n(43088);const R={tocCollapsibleButton:"tocCollapsibleButton_TO0P",tocCollapsibleButtonExpanded:"tocCollapsibleButtonExpanded_MG3E"};function W(e){let{collapsed:t,...n}=e;return(0,l.jsx)("button",{type:"button",...n,className:(0,u.c)("clean-btn",R.tocCollapsibleButton,!t&&R.tocCollapsibleButtonExpanded,n.className),children:(0,l.jsx)(h.c,{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:c}=(0,O.a)({initialState:!0});return(0,l.jsxs)("div",{className:(0,u.c)(P.tocCollapsible,!i&&P.tocCollapsibleExpanded,n),children:[(0,l.jsx)(W,{collapsed:i,onClick:c}),(0,l.jsx)(O.U,{lazy:!0,className:P.tocCollapsibleContent,collapsed:i,children:(0,l.jsx)(D.c,{toc:t,minHeadingLevel:s,maxHeadingLevel:a})})]})}const z={tocMobile:"tocMobile_ITEo"};function q(){const{toc:e,frontMatter:t}=r();return(0,l.jsx)(F,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:(0,u.c)(j.W.docs.docTocMobile,z.tocMobile)})}var G=n(75124);function Y(){const{toc:e,frontMatter:t}=r();return(0,l.jsx)(G.c,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:j.W.docs.docTocDesktop})}var $=n(56448),Z=n(5840);function Q(e){let{children:t}=e;const n=function(){const{metadata:e,frontMatter:t,contentTitle:n}=r();return t.hide_title||void 0!==n?null:e.title}();return(0,l.jsxs)("div",{className:(0,u.c)(j.W.docs.docMarkdown,"markdown"),children:[n&&(0,l.jsx)("header",{children:(0,l.jsx)($.c,{as:"h1",children:n})}),(0,l.jsx)(Z.c,{children:t})]})}var X=n(79940),J=n(13376),K=n(70964);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.c)("/");return(0,l.jsx)("li",{className:"breadcrumbs__item",children:(0,l.jsx)(f.c,{"aria-label":(0,h.G)({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)(f.c,{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.c)("breadcrumbs__item",{"breadcrumbs__item--active":n}),children:[t,(0,l.jsx)("meta",{itemProp:"position",content:String(s+1)})]})}function le(){const e=(0,X.js)(),t=(0,J.Y5)();return e?(0,l.jsx)("nav",{className:(0,u.c)(j.W.docs.docBreadcrumbs,se.breadcrumbsContainer),"aria-label":(0,h.G)({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 ce=n(61528);const oe={docItemContainer:"docItemContainer_Djhp",docItemCol:"docItemCol_VOVn"};function re(e){let{children:t}=e;const n=function(){const{frontMatter:e,toc:t}=r(),n=(0,m.U)(),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)(Y,{})}}(),{metadata:{unlisted:s}}=r();return(0,l.jsxs)("div",{className:"row",children:[(0,l.jsxs)("div",{className:(0,u.c)("col",!n.hidden&&oe.docItemCol),children:[s&&(0,l.jsx)(ce.c,{}),(0,l.jsx)(y,{}),(0,l.jsxs)("div",{className:oe.docItemContainer,children:[(0,l.jsxs)("article",{children:[(0,l.jsx)(le,{}),(0,l.jsx)(U,{}),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)(o,{content:e.content,children:(0,l.jsxs)(a.cr,{className:t,children:[(0,l.jsx)(d,{}),(0,l.jsx)(re,{children:(0,l.jsx)(n,{})})]})})}},47790:(e,t,n)=>{n.d(t,{c:()=>d});n(11504);var s=n(84357),a=n(45864),i=n(10867),l=n(65456);const c={iconEdit:"iconEdit_Z9Sw"};var o=n(17624);function r(e){let{className:t,...n}=e;return(0,o.jsx)("svg",{fill:"currentColor",height:"20",width:"20",viewBox:"0 0 40 40",className:(0,l.c)(c.iconEdit,t),"aria-hidden":"true",...n,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)(i.c,{to:t,className:a.W.common.editThisPage,children:[(0,o.jsx)(r,{}),(0,o.jsx)(s.c,{id:"theme.common.editThisPage",description:"The link label to edit the current page",children:"Edit this page"})]})}},5840:(e,t,n)=>{n.d(t,{c:()=>H});var s=n(11504),a=n(4552),i=n(56952),l=n(1608),c=n(17624);function o(e){return(0,c.jsx)("code",{...e})}var r=n(10867);var d=n(65456),u=n(5976),m=n(93664),h=n(58448);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.c)().collectAnchor(a.id);const i=(0,m.c)(),l=(0,s.useRef)(null),{collapsed:o,setCollapsed:r}=(0,h.a)({initialState:!a.open}),[b,f]=(0,s.useState)(a.open),g=s.isValidElement(t)?t:(0,c.jsx)("summary",{children:t??"Details"});return(0,c.jsxs)("details",{...a,ref:l,open:b,"data-collapsed":o,className:(0,d.c)(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(),o?(r(!1),f(!0)):r(!0))},children:[g,(0,c.jsx)(h.U,{lazy:!1,collapsed:o,disableSSRStyle:!0,onCollapseTransitionEnd:e=>{r(e),f(!e)},children:(0,c.jsx)("div",{className:x.collapsibleContent,children:n})})]})}const f={details:"details_b_Ee"},g="alert alert--info";function j(e){let{...t}=e;return(0,c.jsx)(b,{...t,className:(0,d.c)(g,f.details,t.className)})}function N(e){const t=s.Children.toArray(e.children),n=t.find((e=>s.isValidElement(e)&&"summary"===e.type)),a=(0,c.jsx)(c.Fragment,{children:t.filter((e=>e!==n))});return(0,c.jsx)(j,{...e,summary:n,children:a})}var C=n(56448);function L(e){return(0,c.jsx)(C.c,{...e})}const _={containsTaskList:"containsTaskList_mC6p"};function k(e){if(void 0!==e)return(0,d.c)(e,e?.includes("contains-task-list")&&_.containsTaskList)}const T={img:"img_ev3q"};var y=n(28952);const U={Head:i.c,details:N,Details:N,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,c.jsx)(o,{...e}):(0,c.jsx)(l.c,{...e})},a:function(e){return(0,c.jsx)(r.c,{...e})},pre:function(e){return(0,c.jsx)(c.Fragment,{children:e.children})},ul:function(e){return(0,c.jsx)("ul",{...e,className:k(e.className)})},li:function(e){return(0,u.c)().collectAnchor(e.id),(0,c.jsx)("li",{...e})},img:function(e){return(0,c.jsx)("img",{decoding:"async",loading:"lazy",...e,className:(t=e.className,(0,d.c)(t,T.img))});var t},h1:e=>(0,c.jsx)(L,{as:"h1",...e}),h2:e=>(0,c.jsx)(L,{as:"h2",...e}),h3:e=>(0,c.jsx)(L,{as:"h3",...e}),h4:e=>(0,c.jsx)(L,{as:"h4",...e}),h5:e=>(0,c.jsx)(L,{as:"h5",...e}),h6:e=>(0,c.jsx)(L,{as:"h6",...e}),admonition:y.c,mermaid:()=>null};function H(e){let{children:t}=e;return(0,c.jsx)(a.I,{components:U,children:t})}},70308:(e,t,n)=>{n.d(t,{c:()=>l});n(11504);var s=n(65456),a=n(10867),i=n(17624);function l(e){const{permalink:t,title:n,subLabel:l,isNext:c}=e;return(0,i.jsxs)(a.c,{className:(0,s.c)("pagination-nav__link",c?"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})]})}},75124:(e,t,n)=>{n.d(t,{c:()=>r});n(11504);var s=n(65456),a=n(43088);const i={tableOfContents:"tableOfContents_bqdL",docItemContainer:"docItemContainer_F8PC"};var l=n(17624);const c="table-of-contents__link toc-highlight",o="table-of-contents__link--active";function r(e){let{className:t,...n}=e;return(0,l.jsx)("div",{className:(0,s.c)(i.tableOfContents,"thin-scrollbar",t),children:(0,l.jsx)(a.c,{...n,linkClassName:c,linkActiveClassName:o})})}},43088:(e,t,n)=>{n.d(t,{c:()=>p});var s=n(11504),a=n(21824);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 c(e){const t=e.getBoundingClientRect();return t.top===t.bottom?c(e.parentNode):t}function o(e,t){let{anchorTopOffset:n}=t;const s=e.find((e=>c(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=r();(0,s.useEffect)((()=>{if(!e)return()=>{};const{linkClassName:s,linkActiveClassName:a,minHeadingLevel:i,maxHeadingLevel:l}=e;function c(){const e=function(e){return Array.from(document.getElementsByClassName(e))}(s),c=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}),r=o(c,{anchorTopOffset:n.current}),d=e.find((e=>r&&r.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",c),document.addEventListener("resize",c),c(),()=>{document.removeEventListener("scroll",c),document.removeEventListener("resize",c)}}),[e,n])}var u=n(10867),m=n(17624);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.c,{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:c="table-of-contents__link",linkActiveClassName:o,minHeadingLevel:r,maxHeadingLevel:u,...h}=e;const p=(0,a.y)(),v=r??p.tableOfContents.minHeadingLevel,b=u??p.tableOfContents.maxHeadingLevel,f=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(c&&o)return{linkClassName:c,linkActiveClassName:o,minHeadingLevel:v,maxHeadingLevel:b}}),[c,o,v,b])),(0,m.jsx)(x,{toc:f,className:n,linkClassName:c,...h})}},83020:(e,t,n)=>{n.d(t,{c:()=>c});n(11504);var s=n(65456),a=n(10867);const i={tag:"tag_zVej",tagRegular:"tagRegular_sFm0",tagWithCount:"tagWithCount_h2kH"};var l=n(17624);function c(e){let{permalink:t,label:n,count:c}=e;return(0,l.jsxs)(a.c,{href:t,className:(0,s.c)(i.tag,c?i.tagWithCount:i.tagRegular),children:[n,c&&(0,l.jsx)("span",{children:c})]})}},1096:(e,t,n)=>{n.d(t,{c:()=>o});n(11504);var s=n(65456),a=n(84357),i=n(83020);const l={tags:"tags_jXut",tag:"tag_QGVx"};var c=n(17624);function o(e){let{tags:t}=e;return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)("b",{children:(0,c.jsx)(a.c,{id:"theme.tags.tagsListLabel",description:"The label alongside a tag list",children:"Tags:"})}),(0,c.jsx)("ul",{className:(0,s.c)(l.tags,"padding--none","margin-left--sm"),children:t.map((e=>{let{label:t,permalink:n}=e;return(0,c.jsx)("li",{className:l.tag,children:(0,c.jsx)(i.c,{label:t,permalink:n})},n)}))})]})}},61528:(e,t,n)=>{n.d(t,{c:()=>h});n(11504);var s=n(65456),a=n(84357),i=n(56952),l=n(17624);function c(){return(0,l.jsx)(a.c,{id:"theme.unlistedContent.title",description:"The unlisted content banner title",children:"Unlisted page"})}function o(){return(0,l.jsx)(a.c,{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 r(){return(0,l.jsx)(i.c,{children:(0,l.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}var d=n(45864),u=n(28952);function m(e){let{className:t}=e;return(0,l.jsx)(u.c,{type:"caution",title:(0,l.jsx)(c,{}),className:(0,s.c)(t,d.W.common.unlistedBanner),children:(0,l.jsx)(o,{})})}function h(e){return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(r,{}),(0,l.jsx)(m,{...e})]})}}}]); \ No newline at end of file diff --git a/assets/js/35144e55.3005c7f1.js b/assets/js/35144e55.3005c7f1.js new file mode 100644 index 000000000..97e51f72d --- /dev/null +++ b/assets/js/35144e55.3005c7f1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[46456],{64272:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>d,frontMatter:()=>o,metadata:()=>l,toc:()=>r});var n=s(17624),i=s(4552);const o={id:"manifest",title:"Assets Manifest"},a=void 0,l={id:"legacy/v7/basics/manifest",title:"Assets Manifest",description:"docs-source",source:"@site/docs/legacy/v7/basics/manifest.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/manifest",permalink:"/docs/legacy/v7/basics/manifest",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"manifest",title:"Assets Manifest"},sidebar:"docs",previous:{title:"Example Class",permalink:"/docs/legacy/v7/basics/example-class"},next:{title:"REST Intro",permalink:"/docs/legacy/v7/basics/rest"}},c={},r=[{value:"How to use it",id:"how-to-use-it",level:2},{value:"Why not just fetch the asset the old-fashioned way?",id:"why-not-just-fetch-the-asset-the-old-fashioned-way",level:2}];function h(e){const t={a:"a",blockquote:"blockquote",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",...(0,i.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/5.0.0",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsxs)(t.blockquote,{children:["\n",(0,n.jsxs)(t.p,{children:["This ",(0,n.jsx)(t.code,{children:"manifest.json"})," file is generated by Webpack, and is different from the rest of Eightshift manifests described elsewhere in the documentation."]}),"\n"]}),"\n",(0,n.jsxs)(t.p,{children:["In the build process, Webpack creates all the static files from your assets folder and a ",(0,n.jsx)(t.code,{children:"manifest.json"})," file inside the public folder. The manifest file contains a list of key/value pairs that we use to set the location of the assets dynamically."]}),"\n",(0,n.jsxs)(t.p,{children:["This class provides the location of the ",(0,n.jsx)(t.code,{children:"manifest.json"})," file and helpers to return the full path for a specific asset."]}),"\n",(0,n.jsx)(t.h2,{id:"how-to-use-it",children:"How to use it"}),"\n",(0,n.jsx)(t.p,{children:"First, install the manifest class using this command:"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"wp boilerplate create_manifest"})}),"\n",(0,n.jsx)(t.p,{children:"You will see a custom filter you can use to fetch an item from the public folder in your class. This is the custom filter:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"/**\n * Manifest item filter name constant.\n *\n * @var string\n */\npublic const MANIFEST_ITEM = 'manifest-item';\n\n/**\n * Register all hooks. Changed filter name to manifest.\n *\n * @return void\n */\npublic function register(): void\n{\n\t\\add_filter(static::MANIFEST_ITEM, [ $this, 'getAssetsManifestItem' ]);\n}\n"})}),"\n",(0,n.jsx)(t.p,{children:"To use this filter to fetch asset URLs, add the following code and provide the correct name of your asset:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"use CoolProject\\Manifest\\Manifest;\n\n$logo = \\apply_filters(Manifest::MANIFEST_ITEM, 'logo.svg');\n"})}),"\n",(0,n.jsxs)(t.p,{children:["And that's it. This filter will check the public folder for the ",(0,n.jsx)(t.code,{children:"manifest.json"})," file, parse it, and return the value of the provided key."]}),"\n",(0,n.jsxs)(t.p,{children:["If there is no ",(0,n.jsx)(t.code,{children:"manifest.json"})," file or you provided the wrong asset name, there will be a descriptive message for you."]}),"\n",(0,n.jsxs)(t.blockquote,{children:["\n",(0,n.jsxs)(t.p,{children:["If you are using multiple boilerplates in one project don't forget to change the filter name defined in the ",(0,n.jsx)(t.code,{children:"MANIFEST_ITEM"})," constant."]}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"why-not-just-fetch-the-asset-the-old-fashioned-way",children:"Why not just fetch the asset the old-fashioned way?"}),"\n",(0,n.jsx)(t.p,{children:"By the old-fashioned way, we mean doing something like this:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"$logo = get_template_directory_uri() . 'public/logo.svg';\n"})}),"\n",(0,n.jsx)(t.p,{children:"You can definitely do this. However, using the manifest approach, if you want to change the public folder location or public folder name for some reason, you can change it in one place and you're done."}),"\n",(0,n.jsx)(t.p,{children:"If you are using the old-fashioned way, you would need to search and replace the whole project and implement the change. There is always a chance you will miss something and somehow break the project."})]})}function d(e={}){const{wrapper:t}={...(0,i.M)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(h,{...e})}):h(e)}},4552:(e,t,s)=>{s.d(t,{I:()=>l,M:()=>a});var n=s(11504);const i={},o=n.createContext(i);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(i):e.components||i:a(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/35144e55.3f2872b1.js b/assets/js/35144e55.3f2872b1.js deleted file mode 100644 index d6dc93b23..000000000 --- a/assets/js/35144e55.3f2872b1.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[73899],{33511:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>d,frontMatter:()=>o,metadata:()=>l,toc:()=>r});var n=s(85893),i=s(11151);const o={id:"manifest",title:"Assets Manifest"},a=void 0,l={id:"legacy/v7/basics/manifest",title:"Assets Manifest",description:"docs-source",source:"@site/docs/legacy/v7/basics/manifest.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/manifest",permalink:"/docs/legacy/v7/basics/manifest",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"manifest",title:"Assets Manifest"},sidebar:"docs",previous:{title:"Example Class",permalink:"/docs/legacy/v7/basics/example-class"},next:{title:"REST Intro",permalink:"/docs/legacy/v7/basics/rest"}},c={},r=[{value:"How to use it",id:"how-to-use-it",level:2},{value:"Why not just fetch the asset the old-fashioned way?",id:"why-not-just-fetch-the-asset-the-old-fashioned-way",level:2}];function h(e){const t={a:"a",blockquote:"blockquote",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/5.0.0",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsxs)(t.blockquote,{children:["\n",(0,n.jsxs)(t.p,{children:["This ",(0,n.jsx)(t.code,{children:"manifest.json"})," file is generated by Webpack, and is different from the rest of Eightshift manifests described elsewhere in the documentation."]}),"\n"]}),"\n",(0,n.jsxs)(t.p,{children:["In the build process, Webpack creates all the static files from your assets folder and a ",(0,n.jsx)(t.code,{children:"manifest.json"})," file inside the public folder. The manifest file contains a list of key/value pairs that we use to set the location of the assets dynamically."]}),"\n",(0,n.jsxs)(t.p,{children:["This class provides the location of the ",(0,n.jsx)(t.code,{children:"manifest.json"})," file and helpers to return the full path for a specific asset."]}),"\n",(0,n.jsx)(t.h2,{id:"how-to-use-it",children:"How to use it"}),"\n",(0,n.jsx)(t.p,{children:"First, install the manifest class using this command:"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"wp boilerplate create_manifest"})}),"\n",(0,n.jsx)(t.p,{children:"You will see a custom filter you can use to fetch an item from the public folder in your class. This is the custom filter:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"/**\n * Manifest item filter name constant.\n *\n * @var string\n */\npublic const MANIFEST_ITEM = 'manifest-item';\n\n/**\n * Register all hooks. Changed filter name to manifest.\n *\n * @return void\n */\npublic function register(): void\n{\n\t\\add_filter(static::MANIFEST_ITEM, [ $this, 'getAssetsManifestItem' ]);\n}\n"})}),"\n",(0,n.jsx)(t.p,{children:"To use this filter to fetch asset URLs, add the following code and provide the correct name of your asset:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"use CoolProject\\Manifest\\Manifest;\n\n$logo = \\apply_filters(Manifest::MANIFEST_ITEM, 'logo.svg');\n"})}),"\n",(0,n.jsxs)(t.p,{children:["And that's it. This filter will check the public folder for the ",(0,n.jsx)(t.code,{children:"manifest.json"})," file, parse it, and return the value of the provided key."]}),"\n",(0,n.jsxs)(t.p,{children:["If there is no ",(0,n.jsx)(t.code,{children:"manifest.json"})," file or you provided the wrong asset name, there will be a descriptive message for you."]}),"\n",(0,n.jsxs)(t.blockquote,{children:["\n",(0,n.jsxs)(t.p,{children:["If you are using multiple boilerplates in one project don't forget to change the filter name defined in the ",(0,n.jsx)(t.code,{children:"MANIFEST_ITEM"})," constant."]}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"why-not-just-fetch-the-asset-the-old-fashioned-way",children:"Why not just fetch the asset the old-fashioned way?"}),"\n",(0,n.jsx)(t.p,{children:"By the old-fashioned way, we mean doing something like this:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"$logo = get_template_directory_uri() . 'public/logo.svg';\n"})}),"\n",(0,n.jsx)(t.p,{children:"You can definitely do this. However, using the manifest approach, if you want to change the public folder location or public folder name for some reason, you can change it in one place and you're done."}),"\n",(0,n.jsx)(t.p,{children:"If you are using the old-fashioned way, you would need to search and replace the whole project and implement the change. There is always a chance you will miss something and somehow break the project."})]})}function d(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(h,{...e})}):h(e)}},11151:(e,t,s)=>{s.d(t,{Z:()=>l,a:()=>a});var n=s(67294);const i={},o=n.createContext(i);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(i):e.components||i:a(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/35847f85.02ec29c7.js b/assets/js/35847f85.02ec29c7.js deleted file mode 100644 index 0e9923d44..000000000 --- a/assets/js/35847f85.02ec29c7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[1953],{25951:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>r,contentTitle:()=>t,default:()=>d,frontMatter:()=>l,metadata:()=>i,toc:()=>c});var o=s(85893),a=s(11151);const l={id:"writing-styles",title:"Writing Styles"},t=void 0,i={id:"legacy/v7/basics/writing-styles",title:"Writing Styles",description:"docs-source",source:"@site/docs/legacy/v7/basics/writing-styles.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/writing-styles",permalink:"/docs/legacy/v7/basics/writing-styles",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"writing-styles",title:"Writing Styles"},sidebar:"docs",previous:{title:"Global Settings",permalink:"/docs/legacy/v7/basics/global-settings"},next:{title:"Fonts",permalink:"/docs/legacy/v7/basics/fonts"}},r={},c=[{value:"Never use HEX color values in your files",id:"never-use-hex-color-values-in-your-files",level:3},{value:"Never use the actual color name as a variable name",id:"never-use-the-actual-color-name-as-a-variable-name",level:3},{value:"All external variables must go to a components map",id:"all-external-variables-must-go-to-a-components-map",level:3},{value:"Never mix multiple maps in a single component",id:"never-mix-multiple-maps-in-a-single-component",level:3},{value:"Where can I define global typography for all my blocks/components?",id:"where-can-i-define-global-typography-for-all-my-blockscomponents",level:3}];function h(e){const n={a:"a",blockquote:"blockquote",code:"code",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0",children:(0,o.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsxs)(n.p,{children:["This chapter is only relevant in setups that don't use CSS variables. If you are using CSS variables please skip to the ",(0,o.jsx)(n.a,{href:"blocks-styles",children:"Blocks Styles chapter"})," chapter."]}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:"Everyone says that writing styles is easy and that is usually doesn't require a lot of thinking. But, like everything in programming, if you don't think about it, the problems add up, and you end up with a headache."}),"\n",(0,o.jsx)(n.p,{children:"Here are some of the recommendations that we use when writing our styles. It's also how we manage everything to be as modular as possible."}),"\n",(0,o.jsx)(n.h3,{id:"never-use-hex-color-values-in-your-files",children:"Never use HEX color values in your files"}),"\n",(0,o.jsx)(n.p,{children:"Like in Bootstrap or any other front-end framework, you should never use hex color values in multiple places. You should assign that hex value to a variable and use that variable all over. That way, if you ever need to change the color, simply change the value in one place and it will be consistently applied all over the project."}),"\n",(0,o.jsxs)(n.p,{children:["You can read more about defining your colors in the ",(0,o.jsx)(n.a,{href:"global-settings",children:"global settings"})," chapter."]}),"\n",(0,o.jsx)(n.h3,{id:"never-use-the-actual-color-name-as-a-variable-name",children:"Never use the actual color name as a variable name"}),"\n",(0,o.jsx)(n.p,{children:"You can name your variables whatever you like, but we recommend that you never use the actual color name as a variable name. It would be best if you used some generic variable name."}),"\n",(0,o.jsx)(n.p,{children:"For example, you can call blue color r2d2-color. With this approach, if your designer chooses to change the project's color scheme at any point, you only need to change one variable value and you're done."}),"\n",(0,o.jsxs)(n.p,{children:["We like to use ",(0,o.jsx)(n.a,{href:"https://chir.ag/projects/name-that-color",children:"this site"})," for our color names. Also, we recommend using simple names. For instance, Cornflower Blue color would have ",(0,o.jsx)(n.code,{children:"$base-corn-color"})," or ",(0,o.jsx)(n.code,{children:"$base-flower-color"})," variable name."]}),"\n",(0,o.jsx)(n.h3,{id:"all-external-variables-must-go-to-a-components-map",children:"All external variables must go to a components map"}),"\n",(0,o.jsx)(n.p,{children:"We use maps for a lot of stuff in our boilerplate. The reason is that:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"maps can contain multiple variables in one place,"}),"\n",(0,o.jsx)(n.li,{children:"you don't need to write multiple variables at the top,"}),"\n",(0,o.jsx)(n.li,{children:"you can nest functionalities,"}),"\n",(0,o.jsx)(n.li,{children:"you can have multiple values with the same name and just change the top-level map,"}),"\n",(0,o.jsx)(n.li,{children:"etc."}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["We also have many helpers, which you can check in our ",(0,o.jsx)(n.a,{href:"/sass",children:"SASS docs"}),"."]}),"\n",(0,o.jsx)(n.p,{children:"In the component map, you should only add things that you will reuse in your component."}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Examples:"})}),"\n",(0,o.jsx)(n.p,{children:"A simple variable in a map:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-scss",children:"$social-links: (\n icon-color: global-settings(colors, black),\n);\n\n.social-links {\n color: map-get-strict($social-links, icon-color);\n}\n"})}),"\n",(0,o.jsx)(n.p,{children:"Nested variables in a map:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-scss",children:"$social-links: (\n colors: (\n dark: global-settings(colors, black),\n light: global-settings(colors, white),\n ),\n sizes: (\n small: 10px,\n big: 20px,\n )\n);\n\n.social-links {\n color: map-get-deep($social-links, colors, dark);\n\n &--light {\n color: map-get-deep($social-links, colors, light);\n }\n\n &__sizes {\n font-size: map-get-deep($social-links, sizes, small);\n\n\n &--big {\n font-size: map-get-deep($social-links, sizes, big);\n }\n }\n}\n"})}),"\n",(0,o.jsx)(n.h3,{id:"never-mix-multiple-maps-in-a-single-component",children:"Never mix multiple maps in a single component"}),"\n",(0,o.jsx)(n.p,{children:"You want all your styles to be contained to a single component and not dependent on external components. Sometimes this can't be avoided."}),"\n",(0,o.jsx)(n.p,{children:"In that case, you should define a key in the component variable for the external map and define it like this:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Example:"})}),"\n",(0,o.jsxs)(n.p,{children:["External map in ",(0,o.jsx)(n.code,{children:"assets/styles/parts/utils/_z-index.scss"}),":"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-scss",children:"$zindex: (\n header: 100,\n drawer: 99,\n overlay: 98,\n);\n"})}),"\n",(0,o.jsx)(n.p,{children:"Your component:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-scss",children:"$header: (\n index: map-get-strict($zindex, header),\n);\n\n.header {\n z-index: map-get-strict($header, index);\n}\n"})}),"\n",(0,o.jsx)(n.h3,{id:"where-can-i-define-global-typography-for-all-my-blockscomponents",children:"Where can I define global typography for all my blocks/components?"}),"\n",(0,o.jsx)(n.p,{children:"Well, nowhere. Try to move your way of thinking from Bootstrap or any other front-end framework where you define global typography in one place."}),"\n",(0,o.jsx)(n.p,{children:"Why is that? Because we use component-based development and you should think in that way. Each component is responsible for its own styles."}),"\n",(0,o.jsx)(n.p,{children:"You should define styles with all sizes, colors, and variations for the heading component and reuse that component wherever you need any kind of heading. The same applies to any other component. This is why you don't need global typography, styles, etc."}),"\n",(0,o.jsx)(n.p,{children:"Global styles and variables are only used for things you want to share across components (that should be reduced to a minimum)."})]})}function d(e={}){const{wrapper:n}={...(0,a.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(h,{...e})}):h(e)}},11151:(e,n,s)=>{s.d(n,{Z:()=>i,a:()=>t});var o=s(67294);const a={},l=o.createContext(a);function t(e){const n=o.useContext(l);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:t(e.components),o.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/35847f85.45bb5ca8.js b/assets/js/35847f85.45bb5ca8.js new file mode 100644 index 000000000..c85a466bc --- /dev/null +++ b/assets/js/35847f85.45bb5ca8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[20760],{39364:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>r,contentTitle:()=>t,default:()=>d,frontMatter:()=>l,metadata:()=>i,toc:()=>c});var o=s(17624),a=s(4552);const l={id:"writing-styles",title:"Writing Styles"},t=void 0,i={id:"legacy/v7/basics/writing-styles",title:"Writing Styles",description:"docs-source",source:"@site/docs/legacy/v7/basics/writing-styles.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/writing-styles",permalink:"/docs/legacy/v7/basics/writing-styles",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"writing-styles",title:"Writing Styles"},sidebar:"docs",previous:{title:"Global Settings",permalink:"/docs/legacy/v7/basics/global-settings"},next:{title:"Fonts",permalink:"/docs/legacy/v7/basics/fonts"}},r={},c=[{value:"Never use HEX color values in your files",id:"never-use-hex-color-values-in-your-files",level:3},{value:"Never use the actual color name as a variable name",id:"never-use-the-actual-color-name-as-a-variable-name",level:3},{value:"All external variables must go to a components map",id:"all-external-variables-must-go-to-a-components-map",level:3},{value:"Never mix multiple maps in a single component",id:"never-mix-multiple-maps-in-a-single-component",level:3},{value:"Where can I define global typography for all my blocks/components?",id:"where-can-i-define-global-typography-for-all-my-blockscomponents",level:3}];function h(e){const n={a:"a",blockquote:"blockquote",code:"code",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0",children:(0,o.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsxs)(n.p,{children:["This chapter is only relevant in setups that don't use CSS variables. If you are using CSS variables please skip to the ",(0,o.jsx)(n.a,{href:"blocks-styles",children:"Blocks Styles chapter"})," chapter."]}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:"Everyone says that writing styles is easy and that is usually doesn't require a lot of thinking. But, like everything in programming, if you don't think about it, the problems add up, and you end up with a headache."}),"\n",(0,o.jsx)(n.p,{children:"Here are some of the recommendations that we use when writing our styles. It's also how we manage everything to be as modular as possible."}),"\n",(0,o.jsx)(n.h3,{id:"never-use-hex-color-values-in-your-files",children:"Never use HEX color values in your files"}),"\n",(0,o.jsx)(n.p,{children:"Like in Bootstrap or any other front-end framework, you should never use hex color values in multiple places. You should assign that hex value to a variable and use that variable all over. That way, if you ever need to change the color, simply change the value in one place and it will be consistently applied all over the project."}),"\n",(0,o.jsxs)(n.p,{children:["You can read more about defining your colors in the ",(0,o.jsx)(n.a,{href:"global-settings",children:"global settings"})," chapter."]}),"\n",(0,o.jsx)(n.h3,{id:"never-use-the-actual-color-name-as-a-variable-name",children:"Never use the actual color name as a variable name"}),"\n",(0,o.jsx)(n.p,{children:"You can name your variables whatever you like, but we recommend that you never use the actual color name as a variable name. It would be best if you used some generic variable name."}),"\n",(0,o.jsx)(n.p,{children:"For example, you can call blue color r2d2-color. With this approach, if your designer chooses to change the project's color scheme at any point, you only need to change one variable value and you're done."}),"\n",(0,o.jsxs)(n.p,{children:["We like to use ",(0,o.jsx)(n.a,{href:"https://chir.ag/projects/name-that-color",children:"this site"})," for our color names. Also, we recommend using simple names. For instance, Cornflower Blue color would have ",(0,o.jsx)(n.code,{children:"$base-corn-color"})," or ",(0,o.jsx)(n.code,{children:"$base-flower-color"})," variable name."]}),"\n",(0,o.jsx)(n.h3,{id:"all-external-variables-must-go-to-a-components-map",children:"All external variables must go to a components map"}),"\n",(0,o.jsx)(n.p,{children:"We use maps for a lot of stuff in our boilerplate. The reason is that:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"maps can contain multiple variables in one place,"}),"\n",(0,o.jsx)(n.li,{children:"you don't need to write multiple variables at the top,"}),"\n",(0,o.jsx)(n.li,{children:"you can nest functionalities,"}),"\n",(0,o.jsx)(n.li,{children:"you can have multiple values with the same name and just change the top-level map,"}),"\n",(0,o.jsx)(n.li,{children:"etc."}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["We also have many helpers, which you can check in our ",(0,o.jsx)(n.a,{href:"/docs/basics/library",children:"SASS docs"}),"."]}),"\n",(0,o.jsx)(n.p,{children:"In the component map, you should only add things that you will reuse in your component."}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Examples:"})}),"\n",(0,o.jsx)(n.p,{children:"A simple variable in a map:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-scss",children:"$social-links: (\n icon-color: global-settings(colors, black),\n);\n\n.social-links {\n color: map-get-strict($social-links, icon-color);\n}\n"})}),"\n",(0,o.jsx)(n.p,{children:"Nested variables in a map:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-scss",children:"$social-links: (\n colors: (\n dark: global-settings(colors, black),\n light: global-settings(colors, white),\n ),\n sizes: (\n small: 10px,\n big: 20px,\n )\n);\n\n.social-links {\n color: map-get-deep($social-links, colors, dark);\n\n &--light {\n color: map-get-deep($social-links, colors, light);\n }\n\n &__sizes {\n font-size: map-get-deep($social-links, sizes, small);\n\n\n &--big {\n font-size: map-get-deep($social-links, sizes, big);\n }\n }\n}\n"})}),"\n",(0,o.jsx)(n.h3,{id:"never-mix-multiple-maps-in-a-single-component",children:"Never mix multiple maps in a single component"}),"\n",(0,o.jsx)(n.p,{children:"You want all your styles to be contained to a single component and not dependent on external components. Sometimes this can't be avoided."}),"\n",(0,o.jsx)(n.p,{children:"In that case, you should define a key in the component variable for the external map and define it like this:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Example:"})}),"\n",(0,o.jsxs)(n.p,{children:["External map in ",(0,o.jsx)(n.code,{children:"assets/styles/parts/utils/_z-index.scss"}),":"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-scss",children:"$zindex: (\n header: 100,\n drawer: 99,\n overlay: 98,\n);\n"})}),"\n",(0,o.jsx)(n.p,{children:"Your component:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-scss",children:"$header: (\n index: map-get-strict($zindex, header),\n);\n\n.header {\n z-index: map-get-strict($header, index);\n}\n"})}),"\n",(0,o.jsx)(n.h3,{id:"where-can-i-define-global-typography-for-all-my-blockscomponents",children:"Where can I define global typography for all my blocks/components?"}),"\n",(0,o.jsx)(n.p,{children:"Well, nowhere. Try to move your way of thinking from Bootstrap or any other front-end framework where you define global typography in one place."}),"\n",(0,o.jsx)(n.p,{children:"Why is that? Because we use component-based development and you should think in that way. Each component is responsible for its own styles."}),"\n",(0,o.jsx)(n.p,{children:"You should define styles with all sizes, colors, and variations for the heading component and reuse that component wherever you need any kind of heading. The same applies to any other component. This is why you don't need global typography, styles, etc."}),"\n",(0,o.jsx)(n.p,{children:"Global styles and variables are only used for things you want to share across components (that should be reduced to a minimum)."})]})}function d(e={}){const{wrapper:n}={...(0,a.M)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(h,{...e})}):h(e)}},4552:(e,n,s)=>{s.d(n,{I:()=>i,M:()=>t});var o=s(11504);const a={},l=o.createContext(a);function t(e){const n=o.useContext(l);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:t(e.components),o.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/35d3178b.6f3c7795.js b/assets/js/35d3178b.6f3c7795.js deleted file mode 100644 index 771893e28..000000000 --- a/assets/js/35d3178b.6f3c7795.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[33488],{50476:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>o,default:()=>p,frontMatter:()=>s,metadata:()=>l,toc:()=>m});var r=n(85893),i=n(11151),a=n(8122);const s={id:"workable",title:"Workable"},o=void 0,l={id:"php/filters/integrations/workable",title:"Workable",description:"",source:"@site/forms/php/filters/integrations/workable.mdx",sourceDirName:"php/filters/integrations",slug:"/php/filters/integrations/workable",permalink:"/forms/php/filters/integrations/workable",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"workable",title:"Workable"},sidebar:"forms",previous:{title:"Moments",permalink:"/forms/php/filters/integrations/moments"},next:{title:"Pipedrive",permalink:"/forms/php/filters/integrations/pipedrive"}},d={},m=[];function f(t){return(0,r.jsx)(a.k,{name:"Workable",filter:"workable"})}function p(t={}){const{wrapper:e}={...(0,i.a)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(f,{...t})}):f()}},8122:(t,e,n)=>{n.d(e,{F:()=>o,k:()=>s});n(67294);var r=n(9286),i=n(61684),a=n(85893);function s(t){let{filter:e,onlyUse:n=["dataFilter","orderFilter","prePostIdFilter","prePostParamsFilter"]}=t;return(0,a.jsxs)(a.Fragment,{children:[n.includes("dataFilter")&&(0,a.jsx)(l,{filter:e}),n.includes("orderFilter")&&(0,a.jsx)(d,{filter:e}),n.includes("prePostIdFilter")&&(0,a.jsx)(m,{filter:e}),n.includes("prePostParamsFilter")&&(0,a.jsx)(f,{filter:e})]})}function o(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{children:"Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc."}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\tadd_filter('es_forms_block_"+e+"_additional_content', function(): string {\n\t\t\t\treturn '';\n\t\t\t})\n\t\t\t")})]})}function l(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Data filter"}),(0,a.jsx)("p",{children:"Allows modifying form field data before it's shown in the Block Editor or output on the frontend."}),(0,a.jsx)("p",{children:"Useful if, for example, you want to ensure that all fields fit into a 2-column layout."}),(0,a.jsx)("p",{children:"Overrides any Block Editor changes!"}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\tadd_filter('es_forms_integrations_"+e+'_data\', \'getIntegrationFilterData\', 10, 2);\n\n\t\t\t/**\n\t\t\t * Manipulate form fields data before it is sent to the Block Editor.\n\t\t\t *\n\t\t\t * @param array $data Form fields data.\n\t\t\t * @param string $formId Form ID.\n\t\t\t *\n\t\t\t * @return array\n\t\t\t */\n\t\t\tfunction getIntegrationFilterData(array $data, string $formId): array\n\t\t\t{\n\t\t\t\tforeach ($data as $index => $field) {\n\t\t\t\t\t$component = $field[\'component\'] ?? \'\';\n\n\t\t\t\t\tif (!$component) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t$name = $field["{$component}Name"] ?? \'\';\n\n\t\t\t\t\tif (!$name) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch ($name) {\n\t\t\t\t\t\tcase \'firstname\':\n\t\t\t\t\t\tcase \'lastname\':\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthMobile"] = 12;\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthLarge"] = 6;\n\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"] = array_merge(\n\t\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthMobile",\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthLarge",\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t')})]})}function d(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Order filter"}),(0,a.jsx)("p",{children:"Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor."}),(0,a.jsxs)("p",{children:["Not all fields need to have an order defined. For example, you may want to make sure ",(0,a.jsx)("code",{children:"firstname"}),", ",(0,a.jsx)("code",{children:"lastname"})," and ",(0,a.jsx)("code",{children:"email"})," are displayed first, but other fields follow their Block editor order."]}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_order', 'getIntegrationOrder');\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Forces form field order for the provided fields. For other fields, Block editor order is used.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationOrder(): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t'firstname',\n\t\t\t\t\t\t\t'lastname',\n\t\t\t\t\t\t\t'email',\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t")})]})}function m(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post ID filter"}),(0,a.jsx)("p",{children:"Allows updating item IDs sent to external integrations to which the form data is sent."}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_pre_post_id', 'getIntegrationPrePostId', 10, 3);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies integration item ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @param string $itemId Integration item ID.\n\t\t\t\t\t * @param array $params Params to be sent to the integration.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostId(string $itemId, array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn $itemId;\n\t\t\t\t\t}\n\t\t\t\t")})]})}function f(t){let{filter:e}=t,n="";if("mailer"===e)n="mailer system";else n="external integration";return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post parameters filter"}),(0,a.jsxs)("p",{children:["Allows modifying form field data before it's sent to ",n,". Useful if you want to make values derived from the sent data, or add new fields."]}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_pre_post_params', 'getIntegrationPrePostParams', 10, 2);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies form field data before it's sent to "+n+".\n\t\t\t\t\t *\n\t\t\t\t\t * @param array $params Array of params.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostParams(array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\t$formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? '';\n\n\t\t\t\t\t\tif ($formSubmissionPageLt) {\n\t\t\t\t\t\t\t$params['ib-submission-source'] = [\n\t\t\t\t\t\t\t\t'name' => 'ib-submission-source',\n\t\t\t\t\t\t\t\t'value' => $formSubmissionPageLt,\n\t\t\t\t\t\t\t\t'type' => 'text',\n\t\t\t\t\t\t\t\t'internalType' => '',\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn $params;\n\t\t\t\t\t}\n\t\t\t\t")})]})}},61684:(t,e,n)=>{function r(t){const e=t.split(/\n/g);for(;0===(null==(n=e[0])?void 0:n.replace(/\s/g,"").length);){var n;e.shift()}for(;0===(null==(r=e[e.length-1])?void 0:r.replace(/\s/g,"").length);){var r;e.pop()}const i=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>{var e,n;return null!=(e=null==(n=t.match(/^\s*/))||null==(n=n[0])?void 0:n.length)?e:0})),a=Math.min(...i);return e.map((t=>t.slice(a))).join("\n")}n.d(e,{p:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/35d3178b.8a735ebf.js b/assets/js/35d3178b.8a735ebf.js new file mode 100644 index 000000000..bc84e0ec2 --- /dev/null +++ b/assets/js/35d3178b.8a735ebf.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[90464],{5740:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>o,default:()=>c,frontMatter:()=>s,metadata:()=>l,toc:()=>m});var r=n(17624),i=n(4552),a=n(80148);const s={id:"workable",title:"Workable"},o=void 0,l={id:"php/filters/integrations/workable",title:"Workable",description:"",source:"@site/forms/php/filters/integrations/workable.mdx",sourceDirName:"php/filters/integrations",slug:"/php/filters/integrations/workable",permalink:"/forms/php/filters/integrations/workable",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"workable",title:"Workable"},sidebar:"forms",previous:{title:"Moments",permalink:"/forms/php/filters/integrations/moments"},next:{title:"Pipedrive",permalink:"/forms/php/filters/integrations/pipedrive"}},d={},m=[];function f(t){return(0,r.jsx)(a.y,{name:"Workable",filter:"workable"})}function c(t={}){const{wrapper:e}={...(0,i.M)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(f,{...t})}):f()}},80148:(t,e,n)=>{n.d(e,{g:()=>o,y:()=>s});n(11504);var r=n(1608),i=n(96616),a=n(17624);function s(t){let{filter:e,onlyUse:n=["dataFilter","orderFilter","prePostIdFilter","prePostParamsFilter"]}=t;return(0,a.jsxs)(a.Fragment,{children:[n.includes("dataFilter")&&(0,a.jsx)(l,{filter:e}),n.includes("orderFilter")&&(0,a.jsx)(d,{filter:e}),n.includes("prePostIdFilter")&&(0,a.jsx)(m,{filter:e}),n.includes("prePostParamsFilter")&&(0,a.jsx)(f,{filter:e})]})}function o(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{children:"Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc."}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\tadd_filter('es_forms_block_${e}_additional_content', function(): string {\n\t\t\t\treturn '';\n\t\t\t})\n\t\t\t`)})]})}function l(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Data filter"}),(0,a.jsx)("p",{children:"Allows modifying form field data before it's shown in the Block Editor or output on the frontend."}),(0,a.jsx)("p",{children:"Useful if, for example, you want to ensure that all fields fit into a 2-column layout."}),(0,a.jsx)("p",{children:"Overrides any Block Editor changes!"}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\tadd_filter('es_forms_integrations_${e}_data', 'getIntegrationFilterData', 10, 2);\n\n\t\t\t/**\n\t\t\t * Manipulate form fields data before it is sent to the Block Editor.\n\t\t\t *\n\t\t\t * @param array $data Form fields data.\n\t\t\t * @param string $formId Form ID.\n\t\t\t *\n\t\t\t * @return array\n\t\t\t */\n\t\t\tfunction getIntegrationFilterData(array $data, string $formId): array\n\t\t\t{\n\t\t\t\tforeach ($data as $index => $field) {\n\t\t\t\t\t$component = $field['component'] ?? '';\n\n\t\t\t\t\tif (!$component) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t$name = $field["{$component}Name"] ?? '';\n\n\t\t\t\t\tif (!$name) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch ($name) {\n\t\t\t\t\t\tcase 'firstname':\n\t\t\t\t\t\tcase 'lastname':\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthMobile"] = 12;\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthLarge"] = 6;\n\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"] = array_merge(\n\t\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthMobile",\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthLarge",\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t`)})]})}function d(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Order filter"}),(0,a.jsx)("p",{children:"Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor."}),(0,a.jsxs)("p",{children:["Not all fields need to have an order defined. For example, you may want to make sure ",(0,a.jsx)("code",{children:"firstname"}),", ",(0,a.jsx)("code",{children:"lastname"})," and ",(0,a.jsx)("code",{children:"email"})," are displayed first, but other fields follow their Block editor order."]}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_order', 'getIntegrationOrder');\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Forces form field order for the provided fields. For other fields, Block editor order is used.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationOrder(): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t'firstname',\n\t\t\t\t\t\t\t'lastname',\n\t\t\t\t\t\t\t'email',\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t`)})]})}function m(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post ID filter"}),(0,a.jsx)("p",{children:"Allows updating item IDs sent to external integrations to which the form data is sent."}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_pre_post_id', 'getIntegrationPrePostId', 10, 3);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies integration item ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @param string $itemId Integration item ID.\n\t\t\t\t\t * @param array $params Params to be sent to the integration.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostId(string $itemId, array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn $itemId;\n\t\t\t\t\t}\n\t\t\t\t`)})]})}function f(t){let{filter:e}=t,n="";if("mailer"===e)n="mailer system";else n="external integration";return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post parameters filter"}),(0,a.jsxs)("p",{children:["Allows modifying form field data before it's sent to ",n,". Useful if you want to make values derived from the sent data, or add new fields."]}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_pre_post_params', 'getIntegrationPrePostParams', 10, 2);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies form field data before it's sent to ${n}.\n\t\t\t\t\t *\n\t\t\t\t\t * @param array $params Array of params.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostParams(array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\t$formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? '';\n\n\t\t\t\t\t\tif ($formSubmissionPageLt) {\n\t\t\t\t\t\t\t$params['ib-submission-source'] = [\n\t\t\t\t\t\t\t\t'name' => 'ib-submission-source',\n\t\t\t\t\t\t\t\t'value' => $formSubmissionPageLt,\n\t\t\t\t\t\t\t\t'type' => 'text',\n\t\t\t\t\t\t\t\t'internalType' => '',\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn $params;\n\t\t\t\t\t}\n\t\t\t\t`)})]})}},96616:(t,e,n)=>{function r(t){const e=t.split(/\n/g);for(;0===e[0]?.replace(/\s/g,"").length;)e.shift();for(;0===e[e.length-1]?.replace(/\s/g,"").length;)e.pop();const n=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>t.match(/^\s*/)?.[0]?.length??0)),r=Math.min(...n);return e.map((t=>t.slice(r))).join("\n")}n.d(e,{c:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/3634820b.2706496d.js b/assets/js/3634820b.2706496d.js deleted file mode 100644 index a6ac7e083..000000000 --- a/assets/js/3634820b.2706496d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[51960],{91438:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>a,contentTitle:()=>i,default:()=>u,frontMatter:()=>d,metadata:()=>r,toc:()=>l});var n=s(85893),o=s(11151);const d={id:"data-flow",title:"Data flow"},i=void 0,r={id:"addons/premium/computed-fields/data-flow",title:"Data flow",description:"Here's how data flow in the Computed fields add-on works:",source:"@site/forms/addons/premium/computed-fields/data-flow.md",sourceDirName:"addons/premium/computed-fields",slug:"/addons/premium/computed-fields/data-flow",permalink:"/forms/addons/premium/computed-fields/data-flow",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"data-flow",title:"Data flow"},sidebar:"forms",previous:{title:"Blocks",permalink:"/forms/addons/premium/computed-fields/blocks"},next:{title:"Intro",permalink:"/forms/addons/create/intro"}},a={},l=[];function c(e){const t={admonition:"admonition",code:"code",em:"em",li:"li",ol:"ol",p:"p",strong:"strong",...(0,o.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:"Here's how data flow in the Computed fields add-on works:"}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"User input"})," - User fills in and submits the form."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Computed Fields"})," - Computed Fields add-on takes the user input and processes it using the defined program."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Output"})," - Result is returned to JavaScript through the custom key in the Forms API response data."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Frontend"})," - JavaScript takes the result and redirects the user to the ",(0,n.jsx)(t.em,{children:"Thank you"})," page."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Thank you page"})," - A block displays the result to the user on the Thank you page."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Computed Fields Results block"})," - Computed Fields Results block takes the result using the ",(0,n.jsx)(t.code,{children:"GET"})," variable ",(0,n.jsx)(t.code,{children:"es-data"})," and displays it to the user if the conditions are met."]}),"\n"]}),"\n",(0,n.jsx)(t.admonition,{type:"note",children:(0,n.jsxs)(t.p,{children:["Multiple Computed Fields Results blocks can be used on a ",(0,n.jsx)(t.em,{children:"Thank you"})," page, but only one variable name can be used per block."]})})]})}function u(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},11151:(e,t,s)=>{s.d(t,{Z:()=>r,a:()=>i});var n=s(67294);const o={},d=n.createContext(o);function i(e){const t=n.useContext(d);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(o):e.components||o:i(e.components),n.createElement(d.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3634820b.c4b1f604.js b/assets/js/3634820b.c4b1f604.js new file mode 100644 index 000000000..5b297382d --- /dev/null +++ b/assets/js/3634820b.c4b1f604.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[7320],{87340:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>u,frontMatter:()=>d,metadata:()=>r,toc:()=>a});var n=s(17624),o=s(4552);const d={id:"data-flow",title:"Data flow"},i=void 0,r={id:"addons/premium/computed-fields/data-flow",title:"Data flow",description:"Here's how data flow in the Computed fields add-on works:",source:"@site/forms/addons/premium/computed-fields/data-flow.md",sourceDirName:"addons/premium/computed-fields",slug:"/addons/premium/computed-fields/data-flow",permalink:"/forms/addons/premium/computed-fields/data-flow",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"data-flow",title:"Data flow"},sidebar:"forms",previous:{title:"Blocks",permalink:"/forms/addons/premium/computed-fields/blocks"},next:{title:"Intro",permalink:"/forms/addons/create/intro"}},l={},a=[];function c(e){const t={admonition:"admonition",code:"code",em:"em",li:"li",ol:"ol",p:"p",strong:"strong",...(0,o.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:"Here's how data flow in the Computed fields add-on works:"}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"User input"})," - User fills in and submits the form."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Computed Fields"})," - Computed Fields add-on takes the user input and processes it using the defined program."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Output"})," - Result is returned to JavaScript through the custom key in the Forms API response data."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Frontend"})," - JavaScript takes the result and redirects the user to the ",(0,n.jsx)(t.em,{children:"Thank you"})," page."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Thank you page"})," - A block displays the result to the user on the Thank you page."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Computed Fields Results block"})," - Computed Fields Results block takes the result using the ",(0,n.jsx)(t.code,{children:"GET"})," variable ",(0,n.jsx)(t.code,{children:"es-data"})," and displays it to the user if the conditions are met."]}),"\n"]}),"\n",(0,n.jsx)(t.admonition,{type:"note",children:(0,n.jsxs)(t.p,{children:["Multiple Computed Fields Results blocks can be used on a ",(0,n.jsx)(t.em,{children:"Thank you"})," page, but only one variable name can be used per block."]})})]})}function u(e={}){const{wrapper:t}={...(0,o.M)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},4552:(e,t,s)=>{s.d(t,{I:()=>r,M:()=>i});var n=s(11504);const o={},d=n.createContext(o);function i(e){const t=n.useContext(d);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(o):e.components||o:i(e.components),n.createElement(d.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/369bf9e9.b7a0057d.js b/assets/js/369bf9e9.b7a0057d.js deleted file mode 100644 index 208e064c1..000000000 --- a/assets/js/369bf9e9.b7a0057d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[39599],{74603: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/369bf9e9.e6f38779.js b/assets/js/369bf9e9.e6f38779.js new file mode 100644 index 000000000..780a24ed3 --- /dev/null +++ b/assets/js/369bf9e9.e6f38779.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[81784],{47984: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/36d70216.92f5557c.js b/assets/js/36d70216.92f5557c.js new file mode 100644 index 000000000..e4f25b8d4 --- /dev/null +++ b/assets/js/36d70216.92f5557c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[75496],{16728:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>i,metadata:()=>c,toc:()=>l});var o=s(17624),n=s(4552);const i={id:"fonts",title:"Fonts"},r=void 0,c={id:"legacy/v8/basics/fonts",title:"Fonts",description:"docs-source",source:"@site/docs/legacy/v8/basics/fonts.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/fonts",permalink:"/docs/legacy/v8/basics/fonts",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"fonts",title:"Fonts"},sidebar:"docs",previous:{title:"Writing Styles",permalink:"/docs/legacy/v8/basics/writing-styles"},next:{title:"Browsersync",permalink:"/docs/legacy/v8/basics/browser-sync"}},a={},l=[];function d(e){const t={a:"a",code:"code",img:"img",li:"li",p:"p",ul:"ul",...(0,n.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs",children:(0,o.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(t.p,{children:"Fonts can be added to your project in multiple ways, depending on your project's needs. In general, if you can use fonts from an external source like Google Fonts, use that approach because the fonts are loaded smartly. On the other hand, if you have fonts that are added to your project, below are the steps to follow to make them available in the project."}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:["Put your font files in this folder: ",(0,o.jsx)(t.code,{children:"assets/fonts"}),"."]}),"\n",(0,o.jsxs)(t.li,{children:["Import each file in the ",(0,o.jsx)(t.code,{children:"assets/fonts/index.js"})," so that Webpack knows how to process these files in its build process."]}),"\n",(0,o.jsxs)(t.li,{children:["In your project, load the font family using font-face ",(0,o.jsx)(t.a,{href:"/docs/basics/library",children:"method"}),". We recommend that you create a new file ",(0,o.jsx)(t.code,{children:"assets/styles/parts/utils/_defaults.scss"})," and put everything in that file."]}),"\n"]}),"\n",(0,o.jsxs)(t.p,{children:["You can read ",(0,o.jsx)(t.a,{href:"/blog/adding-fonts",children:"Igor's blog post about adding fonts to your project"}),"."]})]})}function h(e={}){const{wrapper:t}={...(0,n.M)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},4552:(e,t,s)=>{s.d(t,{I:()=>c,M:()=>r});var o=s(11504);const n={},i=o.createContext(n);function r(e){const t=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),o.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/36d70216.fe56d203.js b/assets/js/36d70216.fe56d203.js deleted file mode 100644 index 0ae9e8113..000000000 --- a/assets/js/36d70216.fe56d203.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[14575],{91830:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>i,metadata:()=>a,toc:()=>l});var n=s(85893),o=s(11151);const i={id:"fonts",title:"Fonts"},r=void 0,a={id:"legacy/v8/basics/fonts",title:"Fonts",description:"docs-source",source:"@site/docs/legacy/v8/basics/fonts.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/fonts",permalink:"/docs/legacy/v8/basics/fonts",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"fonts",title:"Fonts"},sidebar:"docs",previous:{title:"Writing Styles",permalink:"/docs/legacy/v8/basics/writing-styles"},next:{title:"Browsersync",permalink:"/docs/legacy/v8/basics/browser-sync"}},c={},l=[];function d(e){const t={a:"a",code:"code",img:"img",li:"li",p:"p",ul:"ul",...(0,o.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(t.p,{children:"Fonts can be added to your project in multiple ways, depending on your project's needs. In general, if you can use fonts from an external source like Google Fonts, use that approach because the fonts are loaded smartly. On the other hand, if you have fonts that are added to your project, below are the steps to follow to make them available in the project."}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["Put your font files in this folder: ",(0,n.jsx)(t.code,{children:"assets/fonts"}),"."]}),"\n",(0,n.jsxs)(t.li,{children:["Import each file in the ",(0,n.jsx)(t.code,{children:"assets/fonts/index.js"})," so that Webpack knows how to process these files in its build process."]}),"\n",(0,n.jsxs)(t.li,{children:["In your project, load the font family using font-face ",(0,n.jsx)(t.a,{href:"/sass",children:"method"}),". We recommend that you create a new file ",(0,n.jsx)(t.code,{children:"assets/styles/parts/utils/_defaults.scss"})," and put everything in that file."]}),"\n"]}),"\n",(0,n.jsxs)(t.p,{children:["You can read ",(0,n.jsx)(t.a,{href:"/blog/adding-fonts",children:"Igor's blog post about adding fonts to your project"}),"."]})]})}function h(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},11151:(e,t,s)=>{s.d(t,{Z:()=>a,a:()=>r});var n=s(67294);const o={},i=n.createContext(o);function r(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(o):e.components||o:r(e.components),n.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/37703fea.99161a81.js b/assets/js/37703fea.99161a81.js deleted file mode 100644 index 3f569975f..000000000 --- a/assets/js/37703fea.99161a81.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[62887],{45606:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>p,frontMatter:()=>s,metadata:()=>c,toc:()=>o});var n=i(85893),r=i(11151);const s={id:"rest",title:"REST Intro"},a=void 0,c={id:"legacy/v7/basics/rest",title:"REST Intro",description:"docs-source",source:"@site/docs/legacy/v7/basics/rest.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/rest",permalink:"/docs/legacy/v7/basics/rest",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"rest",title:"REST Intro"},sidebar:"docs",previous:{title:"Assets Manifest",permalink:"/docs/legacy/v7/basics/manifest"},next:{title:"REST Field",permalink:"/docs/legacy/v7/basics/rest-field"}},l={},o=[{value:"CallableFieldInterface.php",id:"callablefieldinterfacephp",level:3},{value:"CallableRouteInterface.php",id:"callablerouteinterfacephp",level:3},{value:"RouteSecurityInterface.php",id:"routesecurityinterfacephp",level:3},{value:"RouteInterface.php",id:"routeinterfacephp",level:3},{value:"AbstractField.php",id:"abstractfieldphp",level:3},{value:"AbstractRoute.php",id:"abstractroutephp",level:3}];function d(e){const t={a:"a",code:"code",h3:"h3",img:"img",p:"p",...(0,r.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/5.0.0",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(t.p,{children:"Depending on the type of projects you are working on, you might need to create a new REST API route or add a new API field to an existing route."}),"\n",(0,n.jsx)(t.p,{children:"We have prepared four interfaces and two abstract classes for you."}),"\n",(0,n.jsx)(t.p,{children:"In general, you will only use what you need from the provided options."}),"\n",(0,n.jsx)(t.h3,{id:"callablefieldinterfacephp",children:"CallableFieldInterface.php"}),"\n",(0,n.jsx)(t.p,{children:"The interface used in REST API Fields for providing a callback method."}),"\n",(0,n.jsx)(t.h3,{id:"callablerouteinterfacephp",children:"CallableRouteInterface.php"}),"\n",(0,n.jsx)(t.p,{children:"The interface used in REST API Routes for providing a callback method."}),"\n",(0,n.jsx)(t.h3,{id:"routesecurityinterfacephp",children:"RouteSecurityInterface.php"}),"\n",(0,n.jsx)(t.p,{children:"The interface used in REST API Routes for providing authentication methods."}),"\n",(0,n.jsx)(t.h3,{id:"routeinterfacephp",children:"RouteInterface.php"}),"\n",(0,n.jsxs)(t.p,{children:["The interface used in REST API Routes for providing general options for your route, such as variables for ",(0,n.jsx)(t.code,{children:"READABLE"}),", ",(0,n.jsx)(t.code,{children:"CREATABLE"}),", etc..."]}),"\n",(0,n.jsx)(t.h3,{id:"abstractfieldphp",children:"AbstractField.php"}),"\n",(0,n.jsx)(t.p,{children:"Abstract class used in REST API Field for updating existing fields or providing a new field to the existing REST API."}),"\n",(0,n.jsxs)(t.p,{children:["Please check the implementation details in ",(0,n.jsx)(t.a,{href:"rest-field",children:"this example"}),"."]}),"\n",(0,n.jsx)(t.h3,{id:"abstractroutephp",children:"AbstractRoute.php"}),"\n",(0,n.jsx)(t.p,{children:"Abstract class used in REST API Route for adding a new REST API route."}),"\n",(0,n.jsxs)(t.p,{children:["Please check the implementation details in ",(0,n.jsx)(t.a,{href:"rest-route",children:"this example"}),"."]})]})}function p(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},11151:(e,t,i)=>{i.d(t,{Z:()=>c,a:()=>a});var n=i(67294);const r={},s=n.createContext(r);function a(e){const t=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),n.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/37703fea.d13121d2.js b/assets/js/37703fea.d13121d2.js new file mode 100644 index 000000000..8f0a3aad2 --- /dev/null +++ b/assets/js/37703fea.d13121d2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[47052],{60820:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>p,frontMatter:()=>s,metadata:()=>c,toc:()=>o});var n=i(17624),r=i(4552);const s={id:"rest",title:"REST Intro"},a=void 0,c={id:"legacy/v7/basics/rest",title:"REST Intro",description:"docs-source",source:"@site/docs/legacy/v7/basics/rest.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/rest",permalink:"/docs/legacy/v7/basics/rest",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"rest",title:"REST Intro"},sidebar:"docs",previous:{title:"Assets Manifest",permalink:"/docs/legacy/v7/basics/manifest"},next:{title:"REST Field",permalink:"/docs/legacy/v7/basics/rest-field"}},l={},o=[{value:"CallableFieldInterface.php",id:"callablefieldinterfacephp",level:3},{value:"CallableRouteInterface.php",id:"callablerouteinterfacephp",level:3},{value:"RouteSecurityInterface.php",id:"routesecurityinterfacephp",level:3},{value:"RouteInterface.php",id:"routeinterfacephp",level:3},{value:"AbstractField.php",id:"abstractfieldphp",level:3},{value:"AbstractRoute.php",id:"abstractroutephp",level:3}];function d(e){const t={a:"a",code:"code",h3:"h3",img:"img",p:"p",...(0,r.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/5.0.0",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(t.p,{children:"Depending on the type of projects you are working on, you might need to create a new REST API route or add a new API field to an existing route."}),"\n",(0,n.jsx)(t.p,{children:"We have prepared four interfaces and two abstract classes for you."}),"\n",(0,n.jsx)(t.p,{children:"In general, you will only use what you need from the provided options."}),"\n",(0,n.jsx)(t.h3,{id:"callablefieldinterfacephp",children:"CallableFieldInterface.php"}),"\n",(0,n.jsx)(t.p,{children:"The interface used in REST API Fields for providing a callback method."}),"\n",(0,n.jsx)(t.h3,{id:"callablerouteinterfacephp",children:"CallableRouteInterface.php"}),"\n",(0,n.jsx)(t.p,{children:"The interface used in REST API Routes for providing a callback method."}),"\n",(0,n.jsx)(t.h3,{id:"routesecurityinterfacephp",children:"RouteSecurityInterface.php"}),"\n",(0,n.jsx)(t.p,{children:"The interface used in REST API Routes for providing authentication methods."}),"\n",(0,n.jsx)(t.h3,{id:"routeinterfacephp",children:"RouteInterface.php"}),"\n",(0,n.jsxs)(t.p,{children:["The interface used in REST API Routes for providing general options for your route, such as variables for ",(0,n.jsx)(t.code,{children:"READABLE"}),", ",(0,n.jsx)(t.code,{children:"CREATABLE"}),", etc..."]}),"\n",(0,n.jsx)(t.h3,{id:"abstractfieldphp",children:"AbstractField.php"}),"\n",(0,n.jsx)(t.p,{children:"Abstract class used in REST API Field for updating existing fields or providing a new field to the existing REST API."}),"\n",(0,n.jsxs)(t.p,{children:["Please check the implementation details in ",(0,n.jsx)(t.a,{href:"rest-field",children:"this example"}),"."]}),"\n",(0,n.jsx)(t.h3,{id:"abstractroutephp",children:"AbstractRoute.php"}),"\n",(0,n.jsx)(t.p,{children:"Abstract class used in REST API Route for adding a new REST API route."}),"\n",(0,n.jsxs)(t.p,{children:["Please check the implementation details in ",(0,n.jsx)(t.a,{href:"rest-route",children:"this example"}),"."]})]})}function p(e={}){const{wrapper:t}={...(0,r.M)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},4552:(e,t,i)=>{i.d(t,{I:()=>c,M:()=>a});var n=i(11504);const r={},s=n.createContext(r);function a(e){const t=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),n.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/37f27a13.16a822bf.js b/assets/js/37f27a13.16a822bf.js new file mode 100644 index 000000000..75812a2a6 --- /dev/null +++ b/assets/js/37f27a13.16a822bf.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[6472],{33900:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>s,default:()=>m,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var r=n(17624),i=n(4552),a=n(80148);const o={id:"additional-content",title:"Additional content"},s=void 0,l={id:"php/filters/block/textarea/additional-content",title:"Additional content",description:"",source:"@site/forms/php/filters/block/textarea/additional-content.mdx",sourceDirName:"php/filters/block/textarea",slug:"/php/filters/block/textarea/additional-content",permalink:"/forms/php/filters/block/textarea/additional-content",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"additional-content",title:"Additional content"},sidebar:"forms",previous:{title:"Additional content",permalink:"/forms/php/filters/block/input/additional-content"},next:{title:"Additional content",permalink:"/forms/php/filters/block/select/additional-content"}},d={},c=[];function f(t){return(0,r.jsx)(a.g,{filter:"textarea"})}function m(t={}){const{wrapper:e}={...(0,i.M)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(f,{...t})}):f()}},80148:(t,e,n)=>{n.d(e,{g:()=>s,y:()=>o});n(11504);var r=n(1608),i=n(96616),a=n(17624);function o(t){let{filter:e,onlyUse:n=["dataFilter","orderFilter","prePostIdFilter","prePostParamsFilter"]}=t;return(0,a.jsxs)(a.Fragment,{children:[n.includes("dataFilter")&&(0,a.jsx)(l,{filter:e}),n.includes("orderFilter")&&(0,a.jsx)(d,{filter:e}),n.includes("prePostIdFilter")&&(0,a.jsx)(c,{filter:e}),n.includes("prePostParamsFilter")&&(0,a.jsx)(f,{filter:e})]})}function s(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{children:"Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc."}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\tadd_filter('es_forms_block_${e}_additional_content', function(): string {\n\t\t\t\treturn '';\n\t\t\t})\n\t\t\t`)})]})}function l(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Data filter"}),(0,a.jsx)("p",{children:"Allows modifying form field data before it's shown in the Block Editor or output on the frontend."}),(0,a.jsx)("p",{children:"Useful if, for example, you want to ensure that all fields fit into a 2-column layout."}),(0,a.jsx)("p",{children:"Overrides any Block Editor changes!"}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\tadd_filter('es_forms_integrations_${e}_data', 'getIntegrationFilterData', 10, 2);\n\n\t\t\t/**\n\t\t\t * Manipulate form fields data before it is sent to the Block Editor.\n\t\t\t *\n\t\t\t * @param array $data Form fields data.\n\t\t\t * @param string $formId Form ID.\n\t\t\t *\n\t\t\t * @return array\n\t\t\t */\n\t\t\tfunction getIntegrationFilterData(array $data, string $formId): array\n\t\t\t{\n\t\t\t\tforeach ($data as $index => $field) {\n\t\t\t\t\t$component = $field['component'] ?? '';\n\n\t\t\t\t\tif (!$component) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t$name = $field["{$component}Name"] ?? '';\n\n\t\t\t\t\tif (!$name) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch ($name) {\n\t\t\t\t\t\tcase 'firstname':\n\t\t\t\t\t\tcase 'lastname':\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthMobile"] = 12;\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthLarge"] = 6;\n\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"] = array_merge(\n\t\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthMobile",\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthLarge",\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t`)})]})}function d(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Order filter"}),(0,a.jsx)("p",{children:"Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor."}),(0,a.jsxs)("p",{children:["Not all fields need to have an order defined. For example, you may want to make sure ",(0,a.jsx)("code",{children:"firstname"}),", ",(0,a.jsx)("code",{children:"lastname"})," and ",(0,a.jsx)("code",{children:"email"})," are displayed first, but other fields follow their Block editor order."]}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_order', 'getIntegrationOrder');\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Forces form field order for the provided fields. For other fields, Block editor order is used.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationOrder(): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t'firstname',\n\t\t\t\t\t\t\t'lastname',\n\t\t\t\t\t\t\t'email',\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t`)})]})}function c(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post ID filter"}),(0,a.jsx)("p",{children:"Allows updating item IDs sent to external integrations to which the form data is sent."}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_pre_post_id', 'getIntegrationPrePostId', 10, 3);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies integration item ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @param string $itemId Integration item ID.\n\t\t\t\t\t * @param array $params Params to be sent to the integration.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostId(string $itemId, array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn $itemId;\n\t\t\t\t\t}\n\t\t\t\t`)})]})}function f(t){let{filter:e}=t,n="";if("mailer"===e)n="mailer system";else n="external integration";return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post parameters filter"}),(0,a.jsxs)("p",{children:["Allows modifying form field data before it's sent to ",n,". Useful if you want to make values derived from the sent data, or add new fields."]}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_pre_post_params', 'getIntegrationPrePostParams', 10, 2);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies form field data before it's sent to ${n}.\n\t\t\t\t\t *\n\t\t\t\t\t * @param array $params Array of params.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostParams(array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\t$formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? '';\n\n\t\t\t\t\t\tif ($formSubmissionPageLt) {\n\t\t\t\t\t\t\t$params['ib-submission-source'] = [\n\t\t\t\t\t\t\t\t'name' => 'ib-submission-source',\n\t\t\t\t\t\t\t\t'value' => $formSubmissionPageLt,\n\t\t\t\t\t\t\t\t'type' => 'text',\n\t\t\t\t\t\t\t\t'internalType' => '',\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn $params;\n\t\t\t\t\t}\n\t\t\t\t`)})]})}},96616:(t,e,n)=>{function r(t){const e=t.split(/\n/g);for(;0===e[0]?.replace(/\s/g,"").length;)e.shift();for(;0===e[e.length-1]?.replace(/\s/g,"").length;)e.pop();const n=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>t.match(/^\s*/)?.[0]?.length??0)),r=Math.min(...n);return e.map((t=>t.slice(r))).join("\n")}n.d(e,{c:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/37f27a13.fcdc5e0b.js b/assets/js/37f27a13.fcdc5e0b.js deleted file mode 100644 index 815d95e0c..000000000 --- a/assets/js/37f27a13.fcdc5e0b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[12345],{84836:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>s,default:()=>c,frontMatter:()=>o,metadata:()=>l,toc:()=>f});var r=n(85893),i=n(11151),a=n(8122);const o={id:"additional-content",title:"Additional content"},s=void 0,l={id:"php/filters/block/textarea/additional-content",title:"Additional content",description:"",source:"@site/forms/php/filters/block/textarea/additional-content.mdx",sourceDirName:"php/filters/block/textarea",slug:"/php/filters/block/textarea/additional-content",permalink:"/forms/php/filters/block/textarea/additional-content",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"additional-content",title:"Additional content"},sidebar:"forms",previous:{title:"Additional content",permalink:"/forms/php/filters/block/input/additional-content"},next:{title:"Additional content",permalink:"/forms/php/filters/block/select/additional-content"}},d={},f=[];function m(t){return(0,r.jsx)(a.F,{filter:"textarea"})}function c(t={}){const{wrapper:e}={...(0,i.a)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(m,{...t})}):m()}},8122:(t,e,n)=>{n.d(e,{F:()=>s,k:()=>o});n(67294);var r=n(9286),i=n(61684),a=n(85893);function o(t){let{filter:e,onlyUse:n=["dataFilter","orderFilter","prePostIdFilter","prePostParamsFilter"]}=t;return(0,a.jsxs)(a.Fragment,{children:[n.includes("dataFilter")&&(0,a.jsx)(l,{filter:e}),n.includes("orderFilter")&&(0,a.jsx)(d,{filter:e}),n.includes("prePostIdFilter")&&(0,a.jsx)(f,{filter:e}),n.includes("prePostParamsFilter")&&(0,a.jsx)(m,{filter:e})]})}function s(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{children:"Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc."}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\tadd_filter('es_forms_block_"+e+"_additional_content', function(): string {\n\t\t\t\treturn '';\n\t\t\t})\n\t\t\t")})]})}function l(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Data filter"}),(0,a.jsx)("p",{children:"Allows modifying form field data before it's shown in the Block Editor or output on the frontend."}),(0,a.jsx)("p",{children:"Useful if, for example, you want to ensure that all fields fit into a 2-column layout."}),(0,a.jsx)("p",{children:"Overrides any Block Editor changes!"}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\tadd_filter('es_forms_integrations_"+e+'_data\', \'getIntegrationFilterData\', 10, 2);\n\n\t\t\t/**\n\t\t\t * Manipulate form fields data before it is sent to the Block Editor.\n\t\t\t *\n\t\t\t * @param array $data Form fields data.\n\t\t\t * @param string $formId Form ID.\n\t\t\t *\n\t\t\t * @return array\n\t\t\t */\n\t\t\tfunction getIntegrationFilterData(array $data, string $formId): array\n\t\t\t{\n\t\t\t\tforeach ($data as $index => $field) {\n\t\t\t\t\t$component = $field[\'component\'] ?? \'\';\n\n\t\t\t\t\tif (!$component) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t$name = $field["{$component}Name"] ?? \'\';\n\n\t\t\t\t\tif (!$name) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch ($name) {\n\t\t\t\t\t\tcase \'firstname\':\n\t\t\t\t\t\tcase \'lastname\':\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthMobile"] = 12;\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthLarge"] = 6;\n\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"] = array_merge(\n\t\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthMobile",\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthLarge",\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t')})]})}function d(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Order filter"}),(0,a.jsx)("p",{children:"Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor."}),(0,a.jsxs)("p",{children:["Not all fields need to have an order defined. For example, you may want to make sure ",(0,a.jsx)("code",{children:"firstname"}),", ",(0,a.jsx)("code",{children:"lastname"})," and ",(0,a.jsx)("code",{children:"email"})," are displayed first, but other fields follow their Block editor order."]}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_order', 'getIntegrationOrder');\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Forces form field order for the provided fields. For other fields, Block editor order is used.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationOrder(): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t'firstname',\n\t\t\t\t\t\t\t'lastname',\n\t\t\t\t\t\t\t'email',\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t")})]})}function f(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post ID filter"}),(0,a.jsx)("p",{children:"Allows updating item IDs sent to external integrations to which the form data is sent."}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_pre_post_id', 'getIntegrationPrePostId', 10, 3);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies integration item ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @param string $itemId Integration item ID.\n\t\t\t\t\t * @param array $params Params to be sent to the integration.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostId(string $itemId, array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn $itemId;\n\t\t\t\t\t}\n\t\t\t\t")})]})}function m(t){let{filter:e}=t,n="";if("mailer"===e)n="mailer system";else n="external integration";return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post parameters filter"}),(0,a.jsxs)("p",{children:["Allows modifying form field data before it's sent to ",n,". Useful if you want to make values derived from the sent data, or add new fields."]}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_pre_post_params', 'getIntegrationPrePostParams', 10, 2);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies form field data before it's sent to "+n+".\n\t\t\t\t\t *\n\t\t\t\t\t * @param array $params Array of params.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostParams(array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\t$formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? '';\n\n\t\t\t\t\t\tif ($formSubmissionPageLt) {\n\t\t\t\t\t\t\t$params['ib-submission-source'] = [\n\t\t\t\t\t\t\t\t'name' => 'ib-submission-source',\n\t\t\t\t\t\t\t\t'value' => $formSubmissionPageLt,\n\t\t\t\t\t\t\t\t'type' => 'text',\n\t\t\t\t\t\t\t\t'internalType' => '',\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn $params;\n\t\t\t\t\t}\n\t\t\t\t")})]})}},61684:(t,e,n)=>{function r(t){const e=t.split(/\n/g);for(;0===(null==(n=e[0])?void 0:n.replace(/\s/g,"").length);){var n;e.shift()}for(;0===(null==(r=e[e.length-1])?void 0:r.replace(/\s/g,"").length);){var r;e.pop()}const i=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>{var e,n;return null!=(e=null==(n=t.match(/^\s*/))||null==(n=n[0])?void 0:n.length)?e:0})),a=Math.min(...i);return e.map((t=>t.slice(a))).join("\n")}n.d(e,{p:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/385e6aa6.cd0d9600.js b/assets/js/385e6aa6.cd0d9600.js deleted file mode 100644 index 3f2413e98..000000000 --- a/assets/js/385e6aa6.cd0d9600.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[88599],{88623:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>m,frontMatter:()=>o,metadata:()=>a,toc:()=>p});var s=n(85893),i=n(11151);const o={id:"moments",title:"Moments"},r=void 0,a={id:"php/global-variables/integrations/moments",title:"Moments",description:"ESAPIKEY_MOMENTS",source:"@site/forms/php/global-variables/integrations/moments.md",sourceDirName:"php/global-variables/integrations",slug:"/php/global-variables/integrations/moments",permalink:"/forms/php/global-variables/integrations/moments",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"moments",title:"Moments"},sidebar:"forms",previous:{title:"MailerLite",permalink:"/forms/php/global-variables/integrations/mailerlite"},next:{title:"Workable",permalink:"/forms/php/global-variables/integrations/workable"}},l={},p=[{value:"ES_API_KEY_MOMENTS",id:"es_api_key_moments",level:3},{value:"ES_API_URL_MOMENTS",id:"es_api_url_moments",level:3}];function c(e){const t={code:"code",h3:"h3",p:"p",pre:"pre",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h3,{id:"es_api_key_moments",children:"ES_API_KEY_MOMENTS"}),"\n",(0,s.jsx)(t.p,{children:"This variable will set the Moments integration API key."}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-php",children:"define('ES_API_KEY_MOMENTS', '');\n"})}),"\n",(0,s.jsx)(t.h3,{id:"es_api_url_moments",children:"ES_API_URL_MOMENTS"}),"\n",(0,s.jsx)(t.p,{children:"This variable will set the Moments integration API URL."}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-php",children:"define('ES_API_URL_MOMENTS', '');\n"})})]})}function m(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},11151:(e,t,n)=>{n.d(t,{Z:()=>a,a:()=>r});var s=n(67294);const i={},o=s.createContext(i);function r(e){const t=s.useContext(o);return s.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),s.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/385e6aa6.cf55bebf.js b/assets/js/385e6aa6.cf55bebf.js new file mode 100644 index 000000000..11d60be82 --- /dev/null +++ b/assets/js/385e6aa6.cf55bebf.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[29120],{77652:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>m,frontMatter:()=>o,metadata:()=>a,toc:()=>p});var s=n(17624),i=n(4552);const o={id:"moments",title:"Moments"},r=void 0,a={id:"php/global-variables/integrations/moments",title:"Moments",description:"ESAPIKEY_MOMENTS",source:"@site/forms/php/global-variables/integrations/moments.md",sourceDirName:"php/global-variables/integrations",slug:"/php/global-variables/integrations/moments",permalink:"/forms/php/global-variables/integrations/moments",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"moments",title:"Moments"},sidebar:"forms",previous:{title:"MailerLite",permalink:"/forms/php/global-variables/integrations/mailerlite"},next:{title:"Workable",permalink:"/forms/php/global-variables/integrations/workable"}},l={},p=[{value:"ES_API_KEY_MOMENTS",id:"es_api_key_moments",level:3},{value:"ES_API_URL_MOMENTS",id:"es_api_url_moments",level:3}];function c(e){const t={code:"code",h3:"h3",p:"p",pre:"pre",...(0,i.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h3,{id:"es_api_key_moments",children:"ES_API_KEY_MOMENTS"}),"\n",(0,s.jsx)(t.p,{children:"This variable will set the Moments integration API key."}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-php",children:"define('ES_API_KEY_MOMENTS', '');\n"})}),"\n",(0,s.jsx)(t.h3,{id:"es_api_url_moments",children:"ES_API_URL_MOMENTS"}),"\n",(0,s.jsx)(t.p,{children:"This variable will set the Moments integration API URL."}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-php",children:"define('ES_API_URL_MOMENTS', '');\n"})})]})}function m(e={}){const{wrapper:t}={...(0,i.M)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},4552:(e,t,n)=>{n.d(t,{I:()=>a,M:()=>r});var s=n(11504);const i={},o=s.createContext(i);function r(e){const t=s.useContext(o);return s.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),s.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/38879.021e6a5e.js b/assets/js/38879.021e6a5e.js new file mode 100644 index 000000000..749ac5e4e --- /dev/null +++ b/assets/js/38879.021e6a5e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[38879],{38879:(s,e,h)=>{h.r(e)}}]); \ No newline at end of file diff --git a/assets/js/388ae04f.5128fbb5.js b/assets/js/388ae04f.5128fbb5.js deleted file mode 100644 index 2ab7c0139..000000000 --- a/assets/js/388ae04f.5128fbb5.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[15777],{44472:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>i,contentTitle:()=>l,default:()=>u,frontMatter:()=>a,metadata:()=>r,toc:()=>c});var s=t(85893),o=t(11151);const a={id:"blocks-global-manifest",title:"Global Manifest"},l=void 0,r={id:"legacy/v6/basics/blocks-global-manifest",title:"Global Manifest",description:"docs-source",source:"@site/docs/legacy/v6/basics/blocks-global-manifest.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/blocks-global-manifest",permalink:"/docs/legacy/v6/basics/blocks-global-manifest",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-global-manifest",title:"Global Manifest"},sidebar:"docs",previous:{title:"Structure",permalink:"/docs/legacy/v6/basics/blocks-structure"},next:{title:"Block Structure",permalink:"/docs/legacy/v6/basics/block-structure"}},i={},c=[{value:"Namespace",id:"namespace",level:3},{value:"Background and foreground",id:"background-and-foreground",level:3},{value:"Global variables",id:"global-variables",level:3},{value:"Attributes",id:"attributes",level:3}];function d(e){const n={a:"a",code:"code",h3:"h3",img:"img",p:"p",pre:"pre",...(0,o.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/",children:(0,s.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(n.p,{children:"Global manifest is used to provide all the global configuration to the blocks and components, and much more."}),"\n",(0,s.jsx)(n.p,{children:"Currently, our default global manifest looks like this:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-json",children:'{\n "namespace": "eightshift-boilerplate",\n "background": "#FBF9FF",\n "foreground": "#9973E3",\n "globalVariables": {\n "customBlocksName": "eightshift-block",\n "maxCols": 12,\n "baseFont": "Inter",\n "zIndex": {\n "header": 100,\n "drawer": 99,\n "overlay": 98\n },\n "breakpoints": {\n "mobile": 480,\n "tablet": 960,\n "desktop": 1920,\n "large": 1921\n },\n "containers": {\n "default": "66rem"\n },\n "gutters": {\n "none": "0",\n "default": "1.25rem",\n "big": "2.5rem"\n },\n "sectionSpacing": {\n "min": -300,\n "max": 300,\n "step": 10\n },\n "sectionInSpacing": {\n "min": 0,\n "max": 300,\n "step": 10\n },\n "colors": [\n {\n "name": "Primary",\n "slug": "primary",\n "color": "#9973E3"\n },\n {\n "name": "Black",\n "slug": "black",\n "color": "#000000"\n },\n {\n "name": "Light",\n "slug": "light",\n "color": "#CCCCCC"\n },\n {\n "name": "White",\n "slug": "white",\n "color": "#FFFFFF"\n },\n {\n "name": "Eightshift",\n "slug": "eightshift",\n "color": "#0D3636"\n }\n ]\n }\n}\n'})}),"\n",(0,s.jsx)(n.p,{children:"As you can see, we have some global configuration for blocks and some SCSS variables. Along with these default keys, here you can define anything you need for the project."}),"\n",(0,s.jsx)(n.h3,{id:"namespace",children:"Namespace"}),"\n",(0,s.jsx)(n.p,{children:"All blocks must have a valid block name to be registered. A valid block consists of namespace and block name, like this:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:"eightshift-boilerplate/heading\n"})}),"\n",(0,s.jsx)(n.p,{children:"To remove the need to write namespace multiple times across multiple blocks, we have defined the namespace in the global manifest, and we use it in the block registration process."}),"\n",(0,s.jsxs)(n.p,{children:["If you want to define multiple namespaces for your blocks in a single folder, please refer to the ",(0,s.jsx)(n.a,{href:"block-structure",children:"block-structure"})," chapter for more details."]}),"\n",(0,s.jsx)(n.h3,{id:"background-and-foreground",children:"Background and foreground"}),"\n",(0,s.jsx)(n.p,{children:"Just like a namespace, we use the same logic for icons background and foreground when selecting a block from the list. Here you define global background and foreground for all your custom blocks."}),"\n",(0,s.jsxs)(n.p,{children:["Please refer to the ",(0,s.jsx)(n.a,{href:"block-structure",children:"block-structure"})," chapter for more details on how to override global background and foreground your blocks icon."]}),"\n",(0,s.jsx)(n.h3,{id:"global-variables",children:"Global variables"}),"\n",(0,s.jsxs)(n.p,{children:["These are all the global settings you can use in JavaScript, SCSS, and PHP files. We have covered this topic in more detail in the ",(0,s.jsx)(n.a,{href:"blocks-styles",children:"block-styles"})," chapter."]}),"\n",(0,s.jsx)(n.h3,{id:"attributes",children:"Attributes"}),"\n",(0,s.jsx)(n.p,{children:"We don't have this key in the example, but you can set the default attributes in this file, and they will be applied to all the blocks."}),"\n",(0,s.jsxs)(n.p,{children:["Please refer to the ",(0,s.jsx)(n.a,{href:"blocks-attributes",children:"blocks attributes"})," chapter for more details."]})]})}function u(e={}){const{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},11151:(e,n,t)=>{t.d(n,{Z:()=>r,a:()=>l});var s=t(67294);const o={},a=s.createContext(o);function l(e){const n=s.useContext(a);return s.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(o):e.components||o:l(e.components),s.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/388ae04f.f589e62e.js b/assets/js/388ae04f.f589e62e.js new file mode 100644 index 000000000..2e511001e --- /dev/null +++ b/assets/js/388ae04f.f589e62e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[69128],{17964:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>i,contentTitle:()=>a,default:()=>u,frontMatter:()=>l,metadata:()=>r,toc:()=>c});var s=t(17624),o=t(4552);const l={id:"blocks-global-manifest",title:"Global Manifest"},a=void 0,r={id:"legacy/v6/basics/blocks-global-manifest",title:"Global Manifest",description:"docs-source",source:"@site/docs/legacy/v6/basics/blocks-global-manifest.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/blocks-global-manifest",permalink:"/docs/legacy/v6/basics/blocks-global-manifest",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-global-manifest",title:"Global Manifest"},sidebar:"docs",previous:{title:"Structure",permalink:"/docs/legacy/v6/basics/blocks-structure"},next:{title:"Block Structure",permalink:"/docs/legacy/v6/basics/block-structure"}},i={},c=[{value:"Namespace",id:"namespace",level:3},{value:"Background and foreground",id:"background-and-foreground",level:3},{value:"Global variables",id:"global-variables",level:3},{value:"Attributes",id:"attributes",level:3}];function d(e){const n={a:"a",code:"code",h3:"h3",img:"img",p:"p",pre:"pre",...(0,o.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/",children:(0,s.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(n.p,{children:"Global manifest is used to provide all the global configuration to the blocks and components, and much more."}),"\n",(0,s.jsx)(n.p,{children:"Currently, our default global manifest looks like this:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-json",children:'{\n "namespace": "eightshift-boilerplate",\n "background": "#FBF9FF",\n "foreground": "#9973E3",\n "globalVariables": {\n "customBlocksName": "eightshift-block",\n "maxCols": 12,\n "baseFont": "Inter",\n "zIndex": {\n "header": 100,\n "drawer": 99,\n "overlay": 98\n },\n "breakpoints": {\n "mobile": 480,\n "tablet": 960,\n "desktop": 1920,\n "large": 1921\n },\n "containers": {\n "default": "66rem"\n },\n "gutters": {\n "none": "0",\n "default": "1.25rem",\n "big": "2.5rem"\n },\n "sectionSpacing": {\n "min": -300,\n "max": 300,\n "step": 10\n },\n "sectionInSpacing": {\n "min": 0,\n "max": 300,\n "step": 10\n },\n "colors": [\n {\n "name": "Primary",\n "slug": "primary",\n "color": "#9973E3"\n },\n {\n "name": "Black",\n "slug": "black",\n "color": "#000000"\n },\n {\n "name": "Light",\n "slug": "light",\n "color": "#CCCCCC"\n },\n {\n "name": "White",\n "slug": "white",\n "color": "#FFFFFF"\n },\n {\n "name": "Eightshift",\n "slug": "eightshift",\n "color": "#0D3636"\n }\n ]\n }\n}\n'})}),"\n",(0,s.jsx)(n.p,{children:"As you can see, we have some global configuration for blocks and some SCSS variables. Along with these default keys, here you can define anything you need for the project."}),"\n",(0,s.jsx)(n.h3,{id:"namespace",children:"Namespace"}),"\n",(0,s.jsx)(n.p,{children:"All blocks must have a valid block name to be registered. A valid block consists of namespace and block name, like this:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:"eightshift-boilerplate/heading\n"})}),"\n",(0,s.jsx)(n.p,{children:"To remove the need to write namespace multiple times across multiple blocks, we have defined the namespace in the global manifest, and we use it in the block registration process."}),"\n",(0,s.jsxs)(n.p,{children:["If you want to define multiple namespaces for your blocks in a single folder, please refer to the ",(0,s.jsx)(n.a,{href:"block-structure",children:"block-structure"})," chapter for more details."]}),"\n",(0,s.jsx)(n.h3,{id:"background-and-foreground",children:"Background and foreground"}),"\n",(0,s.jsx)(n.p,{children:"Just like a namespace, we use the same logic for icons background and foreground when selecting a block from the list. Here you define global background and foreground for all your custom blocks."}),"\n",(0,s.jsxs)(n.p,{children:["Please refer to the ",(0,s.jsx)(n.a,{href:"block-structure",children:"block-structure"})," chapter for more details on how to override global background and foreground your blocks icon."]}),"\n",(0,s.jsx)(n.h3,{id:"global-variables",children:"Global variables"}),"\n",(0,s.jsxs)(n.p,{children:["These are all the global settings you can use in JavaScript, SCSS, and PHP files. We have covered this topic in more detail in the ",(0,s.jsx)(n.a,{href:"blocks-styles",children:"block-styles"})," chapter."]}),"\n",(0,s.jsx)(n.h3,{id:"attributes",children:"Attributes"}),"\n",(0,s.jsx)(n.p,{children:"We don't have this key in the example, but you can set the default attributes in this file, and they will be applied to all the blocks."}),"\n",(0,s.jsxs)(n.p,{children:["Please refer to the ",(0,s.jsx)(n.a,{href:"blocks-attributes",children:"blocks attributes"})," chapter for more details."]})]})}function u(e={}){const{wrapper:n}={...(0,o.M)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},4552:(e,n,t)=>{t.d(n,{I:()=>r,M:()=>a});var s=t(11504);const o={},l=s.createContext(o);function a(e){const n=s.useContext(l);return s.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(o):e.components||o:a(e.components),s.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/39035dcb.4c15c05d.js b/assets/js/39035dcb.4c15c05d.js deleted file mode 100644 index edf2caa66..000000000 --- a/assets/js/39035dcb.4c15c05d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[35179],{71795:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>i,metadata:()=>r,toc:()=>c});var o=t(85893),s=t(11151);const i={id:"tips-tricks",title:"Tips & Tricks"},a=void 0,r={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.",source:"@site/docs/legacy/v7/basics/tips-tricks.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/tips-tricks",permalink:"/docs/legacy/v7/basics/tips-tricks",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"tips-tricks",title:"Tips & Tricks"},sidebar:"docs",previous:{title:"PHP",permalink:"/docs/legacy/v7/basics/helpers-php"},next:{title:"Versions",permalink:"/docs/legacy/v6/versions"}},l={},c=[{value:"Always disable cache when you are writing block editor components",id:"always-disable-cache-when-you-are-writing-block-editor-components",level:3},{value:"When to restart your Webpack watch?",id:"when-to-restart-your-webpack-watch",level:3},{value:"Using boilerplate and boilerplate-plugin in the same project",id:"using-boilerplate-and-boilerplate-plugin-in-the-same-project",level:3},{value:"Internationalization (I18n) and localization (L10n)",id:"internationalization-i18n-and-localization-l10n",level:3}];function d(e){const n={a:"a",code:"code",em:"em",h3:"h3",li:"li",p:"p",pre:"pre",ul:"ul",...(0,s.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:"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."}),"\n",(0,o.jsx)(n.h3,{id:"always-disable-cache-when-you-are-writing-block-editor-components",children:"Always disable cache when you are writing block editor components"}),"\n",(0,o.jsx)(n.p,{children:"When you are writing a JavaScript part of the block you should always have your browser inspector open and checkbox checked for disabling browser cache in the network tab. WordPress core is caching JS files and you may not always get the latest changes of your code in the editor. This way you can be sure that everything is up to date."}),"\n",(0,o.jsx)(n.h3,{id:"when-to-restart-your-webpack-watch",children:"When to restart your Webpack watch?"}),"\n",(0,o.jsx)(n.p,{children:"As we described in the previous chapters Webpack watch is used to monitor all your code changes and update the compiled files with your latest changes. We have set our folder structure in a way so we can have files automatically included in the build. However, there are some times you must restart your Webpack watch:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"Adding a new block/component."}),"\n",(0,o.jsx)(n.li,{children:"Changing the block/component folder name."}),"\n",(0,o.jsx)(n.li,{children:"Changing any of the file names in the block/component folder."}),"\n",(0,o.jsx)(n.li,{children:"Adding/removing a JS package to the project."}),"\n",(0,o.jsx)(n.li,{children:"Changing the webpack, babel, eslint, stylelint configuration."}),"\n",(0,o.jsx)(n.li,{children:"Changing the project domain name for Browser sync."}),"\n",(0,o.jsx)(n.li,{children:"Adding/removing a new JS or SCSS file in the global assets folder."}),"\n"]}),"\n",(0,o.jsx)(n.h3,{id:"using-boilerplate-and-boilerplate-plugin-in-the-same-project",children:"Using boilerplate and boilerplate-plugin in the same project"}),"\n",(0,o.jsx)(n.p,{children:"When you are using one boilerplate for a theme and another for a plugin keep in mind that you will have to do some changes. We would recommend leaving the theme as is and making changes to the plugin. Here are some of the changes you should make:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["If using manifest, you should update the ",(0,o.jsx)(n.code,{children:"MANIFEST_ITEM"})," filter name to something else."]}),"\n",(0,o.jsx)(n.li,{children:"If using blocks, change the default category of all your plugin blocks."}),"\n",(0,o.jsxs)(n.li,{children:["If using blocks, update all blocks to a new category in each block ",(0,o.jsx)(n.code,{children:"manifest.json"})," file."]}),"\n",(0,o.jsxs)(n.li,{children:["If using blocks, update the block namespace in the global block ",(0,o.jsx)(n.code,{children:"manifest.json"})," file."]}),"\n",(0,o.jsx)(n.li,{children:"If using blocks, change the blocks' background and foreground color (Not necessary but it would be a good UX)."}),"\n",(0,o.jsx)(n.li,{children:"If using blocks, make your own implementation of the Components::render method so you don't need to pass project location on every usage (example below)."}),"\n",(0,o.jsxs)(n.li,{children:["Update the default project imposter namespace in the ",(0,o.jsx)(n.code,{children:"composer.json"})," file and run ",(0,o.jsx)(n.code,{children:"composer install"}),"."]}),"\n",(0,o.jsx)(n.li,{children:"Update all files with the new vendor namespace prefix."}),"\n",(0,o.jsx)(n.li,{children:"Update the default WP-CLI command prefix for your plugin located in the root of your plugin."}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Helpers/Components.php"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-php",children:"/**\n * Helpers for components\n *\n * @package PluginNamespace\\Helpers\n */\n\ndeclare(strict_types=1);\n\nnamespace PluginNamespace\\Helpers;\n\nuse PluginNamespace\\Config\\Config;\nuse EightshiftLibs\\Helpers\\Components as LibsComponents;\n\n/**\n * Helpers for components\n */\nclass Components extends LibsComponents\n{\n\t/**\n\t * Local render method.\n\t */\n\tpublic static function render(string $component, array $attributes = [], string $parentPath = '', bool $useComponentDefaults = false): string\n\t{\n\t\t$parentPath = Config::getProjectPath();\n\n\t\treturn parent::render($component, $attributes, $parentPath, $useComponentDefaults);\n\t}\n}\n"})}),"\n",(0,o.jsx)(n.h3,{id:"internationalization-i18n-and-localization-l10n",children:"Internationalization (I18n) and localization (L10n)"}),"\n",(0,o.jsxs)(n.p,{children:["To make sure your project is translatable into other languages, you should use ",(0,o.jsx)(n.a,{href:"https://codex.wordpress.org/I18n_for_WordPress_Developers",children:"WordPress's i18n functions"})," every time you output text. This process, called internationalization, is quite simple to implement by using the ",(0,o.jsx)(n.code,{children:"__"})," WordPress function, which is available in both PHP and Gutenberg (in the ",(0,o.jsx)(n.code,{children:"@wordpress/i18n"})," package) and is standard practice in Eightshift Frontend Libs for all text output."]}),"\n",(0,o.jsxs)(n.p,{children:["The ",(0,o.jsx)(n.code,{children:"__"})," function accepts a string to translate and a text-domain, which is used to tell WordPress which translation set to use, and returns the translated string (or original string, in case a translation doesn't exist). Note that you can provide a ",(0,o.jsx)(n.code,{children:"sprintf"}),"-parametrized string to ",(0,o.jsx)(n.code,{children:"__"})," and use ",(0,o.jsx)(n.code,{children:"sprintf"})," on its return value to populate the string with certain values. You should also load the text-domain using ",(0,o.jsx)(n.code,{children:"load_theme_textdomain"}),". Using the Eightshift Libs ",(0,o.jsx)(n.code,{children:"I18n"})," class will do this for you by instructing WordPress to look for translations in ",(0,o.jsx)(n.code,{children:"src/I18n/languages"})," with the text-domain defined as your project name."]}),"\n",(0,o.jsxs)(n.p,{children:["However, there will come a time when ",(0,o.jsx)(n.em,{children:"being able"})," to translate won't be enough. You'll actually need to ",(0,o.jsx)(n.em,{children:"do"})," that. This happens in a process called localization and is a bit less trivial to do."]}),"\n",(0,o.jsxs)(n.p,{children:["First, you'll need to prepare the strings for translators. As WordPress i18n is based upon the ",(0,o.jsx)(n.code,{children:"gettext"}),' system, you should generate a POT ("portable object template") file which you can do by running WP-CLI command ',(0,o.jsx)(n.code,{children:"wp i18n make-pot"})," (",(0,o.jsx)(n.a,{href:"https://developer.wordpress.org/cli/commands/i18n/make-pot/",children:"https://developer.wordpress.org/cli/commands/i18n/make-pot/"}),") in your project root. Note that you may need to exclude vendor folders."]}),"\n",(0,o.jsxs)(n.p,{children:["You can provide this POT file to translators directly, and they can use tools for PO editing such as Poedit to translate the strings. After that, they can export an MO file which you can import into your project. Alternatively, you can set up a translation environment like Glotpress for translations, import your POT file there, and export translations as PO and MO files. You should locate these files into the path defined in your ",(0,o.jsx)(n.code,{children:"load_theme_textdomain"})," call, and they should have the name ",(0,o.jsx)(n.code,{children:"{textdomain}-{locale}.mo"})," (e.g. ",(0,o.jsx)(n.code,{children:"eightshift-boilerplate-hr_HR.mo"}),"), that is, ",(0,o.jsx)(n.code,{children:"{textdomain}-{locale}.po"}),"."]}),"\n",(0,o.jsxs)(n.p,{children:["MO translations are only loaded by PHP code and aren't understood by Gutenberg. To do so, you'll need to generate a JED file from the PO file. You can probably use the WP CLI ",(0,o.jsx)(n.code,{children:"wp i18n make-json"})," file for that (",(0,o.jsx)(n.a,{href:"https://developer.wordpress.org/cli/commands/i18n/make-json/",children:"https://developer.wordpress.org/cli/commands/i18n/make-json/"}),"). If you're using Glotpress, you can simply export the locale as a JED file."]}),"\n",(0,o.jsxs)(n.p,{children:["To instruct Gutenberg on how to load your JED translations, you'll need to call ",(0,o.jsx)(n.code,{children:"wp_set_script_translations"})," providing a text-domain, handle (script identifier), and locale path. If you're using the Eightshift Libs ",(0,o.jsx)(n.code,{children:"I18n"})," class, this is done for you with the same assumptions as for PHP translations. Furthermore, as we're assuming you're setting translations for block editor scripts, we set the handle to ",(0,o.jsx)(n.code,{children:"{$assetsPrefix}-block-editor-scripts"}),". If you haven't changed how scripts are enqueued, this should be the correct handle and your assets prefix should be your project name."]}),"\n",(0,o.jsxs)(n.p,{children:["Finally, to make sure WordPress loads the JED translations, you should place them into the path defined by your ",(0,o.jsx)(n.code,{children:"wp_set_script_translations"})," call (",(0,o.jsx)(n.code,{children:"src/I18n/languages"})," by default in the ",(0,o.jsx)(n.code,{children:"I18n"})," class) and make sure they have the name structure ",(0,o.jsx)(n.code,{children:"{textdomain}-{locale}-{handle}.json"}),". (e.g. ",(0,o.jsx)(n.code,{children:"eightshift-boilerplate-hr_HR-eightshift-boilerplate-block-editor-scripts.json"}),")"]}),"\n",(0,o.jsx)(n.p,{children:"After all of this work, you should be able to change the locale on the site, network or user level in the WordPress admin."})]})}function h(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},11151:(e,n,t)=>{t.d(n,{Z:()=>r,a:()=>a});var o=t(67294);const s={},i=o.createContext(s);function a(e){const n=o.useContext(i);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(s):e.components||s:a(e.components),o.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/39035dcb.cf6a7b76.js b/assets/js/39035dcb.cf6a7b76.js new file mode 100644 index 000000000..510daaea6 --- /dev/null +++ b/assets/js/39035dcb.cf6a7b76.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[53168],{41084:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>i,metadata:()=>r,toc:()=>c});var o=t(17624),s=t(4552);const i={id:"tips-tricks",title:"Tips & Tricks"},a=void 0,r={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.",source:"@site/docs/legacy/v7/basics/tips-tricks.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/tips-tricks",permalink:"/docs/legacy/v7/basics/tips-tricks",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"tips-tricks",title:"Tips & Tricks"},sidebar:"docs",previous:{title:"PHP",permalink:"/docs/legacy/v7/basics/helpers-php"},next:{title:"Versions",permalink:"/docs/legacy/v6/versions"}},l={},c=[{value:"Always disable cache when you are writing block editor components",id:"always-disable-cache-when-you-are-writing-block-editor-components",level:3},{value:"When to restart your Webpack watch?",id:"when-to-restart-your-webpack-watch",level:3},{value:"Using boilerplate and boilerplate-plugin in the same project",id:"using-boilerplate-and-boilerplate-plugin-in-the-same-project",level:3},{value:"Internationalization (I18n) and localization (L10n)",id:"internationalization-i18n-and-localization-l10n",level:3}];function d(e){const n={a:"a",code:"code",em:"em",h3:"h3",li:"li",p:"p",pre:"pre",ul:"ul",...(0,s.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:"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."}),"\n",(0,o.jsx)(n.h3,{id:"always-disable-cache-when-you-are-writing-block-editor-components",children:"Always disable cache when you are writing block editor components"}),"\n",(0,o.jsx)(n.p,{children:"When you are writing a JavaScript part of the block you should always have your browser inspector open and checkbox checked for disabling browser cache in the network tab. WordPress core is caching JS files and you may not always get the latest changes of your code in the editor. This way you can be sure that everything is up to date."}),"\n",(0,o.jsx)(n.h3,{id:"when-to-restart-your-webpack-watch",children:"When to restart your Webpack watch?"}),"\n",(0,o.jsx)(n.p,{children:"As we described in the previous chapters Webpack watch is used to monitor all your code changes and update the compiled files with your latest changes. We have set our folder structure in a way so we can have files automatically included in the build. However, there are some times you must restart your Webpack watch:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"Adding a new block/component."}),"\n",(0,o.jsx)(n.li,{children:"Changing the block/component folder name."}),"\n",(0,o.jsx)(n.li,{children:"Changing any of the file names in the block/component folder."}),"\n",(0,o.jsx)(n.li,{children:"Adding/removing a JS package to the project."}),"\n",(0,o.jsx)(n.li,{children:"Changing the webpack, babel, eslint, stylelint configuration."}),"\n",(0,o.jsx)(n.li,{children:"Changing the project domain name for Browser sync."}),"\n",(0,o.jsx)(n.li,{children:"Adding/removing a new JS or SCSS file in the global assets folder."}),"\n"]}),"\n",(0,o.jsx)(n.h3,{id:"using-boilerplate-and-boilerplate-plugin-in-the-same-project",children:"Using boilerplate and boilerplate-plugin in the same project"}),"\n",(0,o.jsx)(n.p,{children:"When you are using one boilerplate for a theme and another for a plugin keep in mind that you will have to do some changes. We would recommend leaving the theme as is and making changes to the plugin. Here are some of the changes you should make:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["If using manifest, you should update the ",(0,o.jsx)(n.code,{children:"MANIFEST_ITEM"})," filter name to something else."]}),"\n",(0,o.jsx)(n.li,{children:"If using blocks, change the default category of all your plugin blocks."}),"\n",(0,o.jsxs)(n.li,{children:["If using blocks, update all blocks to a new category in each block ",(0,o.jsx)(n.code,{children:"manifest.json"})," file."]}),"\n",(0,o.jsxs)(n.li,{children:["If using blocks, update the block namespace in the global block ",(0,o.jsx)(n.code,{children:"manifest.json"})," file."]}),"\n",(0,o.jsx)(n.li,{children:"If using blocks, change the blocks' background and foreground color (Not necessary but it would be a good UX)."}),"\n",(0,o.jsx)(n.li,{children:"If using blocks, make your own implementation of the Components::render method so you don't need to pass project location on every usage (example below)."}),"\n",(0,o.jsxs)(n.li,{children:["Update the default project imposter namespace in the ",(0,o.jsx)(n.code,{children:"composer.json"})," file and run ",(0,o.jsx)(n.code,{children:"composer install"}),"."]}),"\n",(0,o.jsx)(n.li,{children:"Update all files with the new vendor namespace prefix."}),"\n",(0,o.jsx)(n.li,{children:"Update the default WP-CLI command prefix for your plugin located in the root of your plugin."}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Helpers/Components.php"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-php",children:"/**\n * Helpers for components\n *\n * @package PluginNamespace\\Helpers\n */\n\ndeclare(strict_types=1);\n\nnamespace PluginNamespace\\Helpers;\n\nuse PluginNamespace\\Config\\Config;\nuse EightshiftLibs\\Helpers\\Components as LibsComponents;\n\n/**\n * Helpers for components\n */\nclass Components extends LibsComponents\n{\n\t/**\n\t * Local render method.\n\t */\n\tpublic static function render(string $component, array $attributes = [], string $parentPath = '', bool $useComponentDefaults = false): string\n\t{\n\t\t$parentPath = Config::getProjectPath();\n\n\t\treturn parent::render($component, $attributes, $parentPath, $useComponentDefaults);\n\t}\n}\n"})}),"\n",(0,o.jsx)(n.h3,{id:"internationalization-i18n-and-localization-l10n",children:"Internationalization (I18n) and localization (L10n)"}),"\n",(0,o.jsxs)(n.p,{children:["To make sure your project is translatable into other languages, you should use ",(0,o.jsx)(n.a,{href:"https://codex.wordpress.org/I18n_for_WordPress_Developers",children:"WordPress's i18n functions"})," every time you output text. This process, called internationalization, is quite simple to implement by using the ",(0,o.jsx)(n.code,{children:"__"})," WordPress function, which is available in both PHP and Gutenberg (in the ",(0,o.jsx)(n.code,{children:"@wordpress/i18n"})," package) and is standard practice in Eightshift Frontend Libs for all text output."]}),"\n",(0,o.jsxs)(n.p,{children:["The ",(0,o.jsx)(n.code,{children:"__"})," function accepts a string to translate and a text-domain, which is used to tell WordPress which translation set to use, and returns the translated string (or original string, in case a translation doesn't exist). Note that you can provide a ",(0,o.jsx)(n.code,{children:"sprintf"}),"-parametrized string to ",(0,o.jsx)(n.code,{children:"__"})," and use ",(0,o.jsx)(n.code,{children:"sprintf"})," on its return value to populate the string with certain values. You should also load the text-domain using ",(0,o.jsx)(n.code,{children:"load_theme_textdomain"}),". Using the Eightshift Libs ",(0,o.jsx)(n.code,{children:"I18n"})," class will do this for you by instructing WordPress to look for translations in ",(0,o.jsx)(n.code,{children:"src/I18n/languages"})," with the text-domain defined as your project name."]}),"\n",(0,o.jsxs)(n.p,{children:["However, there will come a time when ",(0,o.jsx)(n.em,{children:"being able"})," to translate won't be enough. You'll actually need to ",(0,o.jsx)(n.em,{children:"do"})," that. This happens in a process called localization and is a bit less trivial to do."]}),"\n",(0,o.jsxs)(n.p,{children:["First, you'll need to prepare the strings for translators. As WordPress i18n is based upon the ",(0,o.jsx)(n.code,{children:"gettext"}),' system, you should generate a POT ("portable object template") file which you can do by running WP-CLI command ',(0,o.jsx)(n.code,{children:"wp i18n make-pot"})," (",(0,o.jsx)(n.a,{href:"https://developer.wordpress.org/cli/commands/i18n/make-pot/",children:"https://developer.wordpress.org/cli/commands/i18n/make-pot/"}),") in your project root. Note that you may need to exclude vendor folders."]}),"\n",(0,o.jsxs)(n.p,{children:["You can provide this POT file to translators directly, and they can use tools for PO editing such as Poedit to translate the strings. After that, they can export an MO file which you can import into your project. Alternatively, you can set up a translation environment like Glotpress for translations, import your POT file there, and export translations as PO and MO files. You should locate these files into the path defined in your ",(0,o.jsx)(n.code,{children:"load_theme_textdomain"})," call, and they should have the name ",(0,o.jsx)(n.code,{children:"{textdomain}-{locale}.mo"})," (e.g. ",(0,o.jsx)(n.code,{children:"eightshift-boilerplate-hr_HR.mo"}),"), that is, ",(0,o.jsx)(n.code,{children:"{textdomain}-{locale}.po"}),"."]}),"\n",(0,o.jsxs)(n.p,{children:["MO translations are only loaded by PHP code and aren't understood by Gutenberg. To do so, you'll need to generate a JED file from the PO file. You can probably use the WP CLI ",(0,o.jsx)(n.code,{children:"wp i18n make-json"})," file for that (",(0,o.jsx)(n.a,{href:"https://developer.wordpress.org/cli/commands/i18n/make-json/",children:"https://developer.wordpress.org/cli/commands/i18n/make-json/"}),"). If you're using Glotpress, you can simply export the locale as a JED file."]}),"\n",(0,o.jsxs)(n.p,{children:["To instruct Gutenberg on how to load your JED translations, you'll need to call ",(0,o.jsx)(n.code,{children:"wp_set_script_translations"})," providing a text-domain, handle (script identifier), and locale path. If you're using the Eightshift Libs ",(0,o.jsx)(n.code,{children:"I18n"})," class, this is done for you with the same assumptions as for PHP translations. Furthermore, as we're assuming you're setting translations for block editor scripts, we set the handle to ",(0,o.jsx)(n.code,{children:"{$assetsPrefix}-block-editor-scripts"}),". If you haven't changed how scripts are enqueued, this should be the correct handle and your assets prefix should be your project name."]}),"\n",(0,o.jsxs)(n.p,{children:["Finally, to make sure WordPress loads the JED translations, you should place them into the path defined by your ",(0,o.jsx)(n.code,{children:"wp_set_script_translations"})," call (",(0,o.jsx)(n.code,{children:"src/I18n/languages"})," by default in the ",(0,o.jsx)(n.code,{children:"I18n"})," class) and make sure they have the name structure ",(0,o.jsx)(n.code,{children:"{textdomain}-{locale}-{handle}.json"}),". (e.g. ",(0,o.jsx)(n.code,{children:"eightshift-boilerplate-hr_HR-eightshift-boilerplate-block-editor-scripts.json"}),")"]}),"\n",(0,o.jsx)(n.p,{children:"After all of this work, you should be able to change the locale on the site, network or user level in the WordPress admin."})]})}function h(e={}){const{wrapper:n}={...(0,s.M)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},4552:(e,n,t)=>{t.d(n,{I:()=>r,M:()=>a});var o=t(11504);const s={},i=o.createContext(s);function a(e){const n=o.useContext(i);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(s):e.components||s:a(e.components),o.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/390b04b5.90c40cbd.js b/assets/js/390b04b5.90c40cbd.js new file mode 100644 index 000000000..e11397e2f --- /dev/null +++ b/assets/js/390b04b5.90c40cbd.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[65720],{96092:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>u,frontMatter:()=>o,metadata:()=>a,toc:()=>c});var i=t(17624),s=t(4552);const o={id:"jira",title:"Jira"},r=void 0,a={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.",source:"@site/forms/integrations/jira.md",sourceDirName:"integrations",slug:"/integrations/jira",permalink:"/forms/integrations/jira",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"jira",title:"Jira"},sidebar:"forms",previous:{title:"Hubspot",permalink:"/forms/integrations/hubspot"},next:{title:"Mailchimp",permalink:"/forms/integrations/mailchimp"}},l={},c=[{value:"Website",id:"website",level:3},{value:"API Version",id:"api-version",level:3},{value:"API Documentation - Cloud solution",id:"api-documentation---cloud-solution",level:3},{value:"API Documentation - Self-hosted",id:"api-documentation---self-hosted",level:3},{value:"Integration type",id:"integration-type",level:3}];function d(e){const n={a:"a",h3:"h3",li:"li",p:"p",strong:"strong",ul:"ul",...(0,s.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:"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."}),"\n",(0,i.jsx)(n.h3,{id:"website",children:"Website"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://jira.atlassian.com/",children:"Visit website"})}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"api-version",children:"API Version"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"V3 - Cloud solution"}),"\n",(0,i.jsx)(n.li,{children:"V2 - Self-hosted"}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"api-documentation---cloud-solution",children:"API Documentation - Cloud solution"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#version",children:"Documentation"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://developer.atlassian.com/cloud/jira/platform/apis/document/nodes/table_cell/",children:"Description nodes"})}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"api-documentation---self-hosted",children:"API Documentation - Self-hosted"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://docs.atlassian.com/software/jira/docs/api/REST/9.8.0/#api/2",children:"Documentation"})}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"integration-type",children:"Integration type"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Form builder ",(0,i.jsx)(n.strong,{children:"not"})," provided by the service."]}),"\n",(0,i.jsx)(n.li,{children:"The form is created using our forms fields and connected to Jira custom fields using form settings."}),"\n"]})]})}function u(e={}){const{wrapper:n}={...(0,s.M)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},4552:(e,n,t)=>{t.d(n,{I:()=>a,M:()=>r});var i=t(11504);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/390b04b5.b3e99992.js b/assets/js/390b04b5.b3e99992.js deleted file mode 100644 index 40ff7f210..000000000 --- a/assets/js/390b04b5.b3e99992.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[56264],{6834:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>u,frontMatter:()=>o,metadata:()=>a,toc:()=>c});var i=t(85893),s=t(11151);const o={id:"jira",title:"Jira"},r=void 0,a={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.",source:"@site/forms/integrations/jira.md",sourceDirName:"integrations",slug:"/integrations/jira",permalink:"/forms/integrations/jira",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"jira",title:"Jira"},sidebar:"forms",previous:{title:"Hubspot",permalink:"/forms/integrations/hubspot"},next:{title:"Mailchimp",permalink:"/forms/integrations/mailchimp"}},l={},c=[{value:"Website",id:"website",level:3},{value:"API Version",id:"api-version",level:3},{value:"API Documentation - Cloud solution",id:"api-documentation---cloud-solution",level:3},{value:"API Documentation - Self-hosted",id:"api-documentation---self-hosted",level:3},{value:"Integration type",id:"integration-type",level:3}];function d(e){const n={a:"a",h3:"h3",li:"li",p:"p",strong:"strong",ul:"ul",...(0,s.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:"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."}),"\n",(0,i.jsx)(n.h3,{id:"website",children:"Website"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://jira.atlassian.com/",children:"Visit website"})}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"api-version",children:"API Version"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"V3 - Cloud solution"}),"\n",(0,i.jsx)(n.li,{children:"V2 - Self-hosted"}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"api-documentation---cloud-solution",children:"API Documentation - Cloud solution"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#version",children:"Documentation"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://developer.atlassian.com/cloud/jira/platform/apis/document/nodes/table_cell/",children:"Description nodes"})}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"api-documentation---self-hosted",children:"API Documentation - Self-hosted"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://docs.atlassian.com/software/jira/docs/api/REST/9.8.0/#api/2",children:"Documentation"})}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"integration-type",children:"Integration type"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Form builder ",(0,i.jsx)(n.strong,{children:"not"})," provided by the service."]}),"\n",(0,i.jsx)(n.li,{children:"The form is created using our forms fields and connected to Jira custom fields using form settings."}),"\n"]})]})}function u(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},11151:(e,n,t)=>{t.d(n,{Z:()=>a,a:()=>r});var i=t(67294);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/39447efc.0b2728c5.js b/assets/js/39447efc.0b2728c5.js new file mode 100644 index 000000000..4d454439e --- /dev/null +++ b/assets/js/39447efc.0b2728c5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[66096],{84516:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>d,frontMatter:()=>r,metadata:()=>a,toc:()=>c});var o=s(17624),n=s(4552);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.M)(),...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.M)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(h,{...e})}):h(e)}},4552:(e,t,s)=>{s.d(t,{I:()=>a,M:()=>i});var o=s(11504);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.2175902a.js b/assets/js/39447efc.2175902a.js deleted file mode 100644 index fab8bfb3d..000000000 --- a/assets/js/39447efc.2175902a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[56224],{48978:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>d,frontMatter:()=>r,metadata:()=>a,toc:()=>c});var o=s(85893),n=s(11151);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.a)(),...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.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(h,{...e})}):h(e)}},11151:(e,t,s)=>{s.d(t,{Z:()=>a,a:()=>i});var o=s(67294);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/39b05d13.4fc8933e.js b/assets/js/39b05d13.4fc8933e.js new file mode 100644 index 000000000..d7b5f3f9a --- /dev/null +++ b/assets/js/39b05d13.4fc8933e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[72264],{4276:(e,o,t)=>{t.r(o),t.d(o,{assets:()=>c,contentTitle:()=>i,default:()=>h,frontMatter:()=>l,metadata:()=>r,toc:()=>a});var n=t(17624),s=t(4552);const l={id:"blocks-special-use-cases",title:"Special Use Cases"},i=void 0,r={id:"legacy/v8/basics/blocks-special-use-cases",title:"Special Use Cases",description:"docs-source",source:"@site/docs/legacy/v8/basics/blocks-special-use-cases.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/blocks-special-use-cases",permalink:"/docs/legacy/v8/basics/blocks-special-use-cases",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-special-use-cases",title:"Special Use Cases"},sidebar:"docs",previous:{title:"Hooks",permalink:"/docs/legacy/v8/basics/blocks-hooks"},next:{title:"Reusable Blocks",permalink:"/docs/legacy/v8/basics/blocks-reusable"}},c={},a=[{value:"Change innerBlock attributes",id:"change-innerblock-attributes",level:2},{value:"Provide simple wrapper to all innerBlock",id:"provide-simple-wrapper-to-all-innerblock",level:2},{value:"Override innerBlock attributes only on the front end",id:"override-innerblock-attributes-only-on-the-front-end",level:2},{value:"Add CSS selectors on the parent component inside the block editor",id:"add-css-selectors-on-the-parent-component-inside-the-block-editor",level:2},{value:"How to only use my custom blocks",id:"how-to-only-use-my-custom-blocks",level:2},{value:"I want to use my custom blocks but add some core or third party plugins blocks",id:"i-want-to-use-my-custom-blocks-but-add-some-core-or-third-party-plugins-blocks",level:2},{value:"I want to enable blocks only on specific custom post type",id:"i-want-to-enable-blocks-only-on-specific-custom-post-type",level:2}];function d(e){const o={a:"a",admonition:"admonition",code:"code",em:"em",h2:"h2",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.p,{children:(0,n.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,n.jsx)(o.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(o.p,{children:"In our clients' projects, we noticed that sometimes you need to provide something special to your blocks, like changing the block editor block DOM structure or the attributes added inside the inner blocks."}),"\n",(0,n.jsx)(o.p,{children:"These are some of the examples we would like to share with you. We will list all of them and gradually add more."}),"\n",(0,n.jsx)(o.h2,{id:"change-innerblock-attributes",children:"Change innerBlock attributes"}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Usage:"})}),"\n",(0,n.jsxs)(o.ul,{children:["\n",(0,n.jsx)(o.li,{children:"Change attributes in the block editor and on the front-end."}),"\n",(0,n.jsx)(o.li,{children:"Set attributes in the database."}),"\n"]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Use Case:"})}),"\n",(0,n.jsxs)(o.p,{children:["Let's say you have a carousel block, and you have a generic image block that you can use as a standalone block. You create a carousel block and set in its manifest limitation to show only the image block to be inserted as an inner block. This is easy to do: you just add your image block to an ",(0,n.jsx)(o.code,{children:"allowedBlocks"})," array inside the carousel block and everything will work."]}),"\n",(0,n.jsxs)(o.p,{children:["But now you have some default attributes set in that image block that you don't want to be set if the block is added using the innerBlock in the carousel. You can change that using our ",(0,n.jsx)(o.a,{href:"helpers-javascript",children:"overrideInnerBlockAttributes"})," helper. Just add this helper to your block entry point, add the attributes you want to change, and you are all set."]}),"\n",(0,n.jsx)(o.p,{children:"Keep in mind that this will be applied to all innerBlocks inside your carousel block. If you want to limit this to a specific block only, you will need to fiddle around with that block's conditions (you can get that specific block name from the props)."}),"\n",(0,n.jsx)(o.p,{children:"The next time you add your image to the carousel, it will automatically change those attributes."}),"\n",(0,n.jsx)(o.admonition,{title:"Important",type:"caution",children:(0,n.jsx)(o.p,{children:"If for some reason, you copy the inner block from the carousel to the top-level editor, this helper will not fire and not change back to original attributes. You have to manually remove those attributes from the Code editor in the admin."})}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Implementation"})}),"\n",(0,n.jsxs)(o.p,{children:["Here you can see our example of this helper used in the ",(0,n.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/custom/carousel/carousel-block.js",children:"carousel block"}),"."]}),"\n",(0,n.jsx)(o.h2,{id:"provide-simple-wrapper-to-all-innerblock",children:"Provide simple wrapper to all innerBlock"}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Usage:"})}),"\n",(0,n.jsxs)(o.ul,{children:["\n",(0,n.jsx)(o.li,{children:"Change attributes in the block editor and on the front end."}),"\n",(0,n.jsx)(o.li,{children:"Set attributes in the database."}),"\n"]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Use Case:"})}),"\n",(0,n.jsx)(o.p,{children:"All of our blocks come with the wrapper implemented, which is awesome. But sometimes you just don't want to use the wrapper, and you want only to use the simple version of the wrapper. You can provide the attribute overrides in your block, and you are good to go."}),"\n",(0,n.jsxs)(o.p,{children:["But if you need to change attributes in the block added as an innerBlock, you'll have a little problem. You can use the same helper as we did in the previous chapter, or you can use our abstraction of that helper called ",(0,n.jsx)(o.a,{href:"helpers-javascript",children:"overrideInnerBlockSimpleWrapperAttributes"}),"."]}),"\n",(0,n.jsx)(o.p,{children:"This helper will set the wrapper to a simple variant in all your innerBlocks."}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Implementation"})}),"\n",(0,n.jsxs)(o.p,{children:["Here you can see our example of this helper used in the ",(0,n.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/custom/column/column-block.js",children:"column block"}),"."]}),"\n",(0,n.jsx)(o.h2,{id:"override-innerblock-attributes-only-on-the-front-end",children:"Override innerBlock attributes only on the front end"}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Usage:"})}),"\n",(0,n.jsxs)(o.ul,{children:["\n",(0,n.jsx)(o.li,{children:"Change attributes on the front end only."}),"\n",(0,n.jsx)(o.li,{children:"Don't set attributes in the database."}),"\n"]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Use Case:"})}),"\n",(0,n.jsx)(o.p,{children:"If you have a block containing inner blocks and only want to change the attributes on the front end of the implementation and not in the block editor. The standard way is really hard because all the inner blocks are rendered on the front end as an HTML string, and you don't have access to any of the attributes before it is rendered."}),"\n",(0,n.jsx)(o.p,{children:"Luckily, WordPress core has provided us with the filter that can change any block before it is rendered. This filter will provide you an array of blocks and inner blocks, along with the innerBlock and all attributes if you use it correctly."}),"\n",(0,n.jsxs)(o.p,{children:["The filter is called: ",(0,n.jsx)(o.code,{children:"render_block_data"}),", and you can put your implementation in the ",(0,n.jsx)(o.code,{children:"class-blocks.php"})," file. You can find the documentation on this ",(0,n.jsx)(o.a,{href:"https://developer.wordpress.org/reference/hooks/render_block_data/",children:"link"}),"."]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Implementation"})}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.em,{children:"Implementation coming soon."})}),"\n",(0,n.jsx)(o.h2,{id:"add-css-selectors-on-the-parent-component-inside-the-block-editor",children:"Add CSS selectors on the parent component inside the block editor"}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Usage:"})}),"\n",(0,n.jsxs)(o.ul,{children:["\n",(0,n.jsx)(o.li,{children:"Change attributes on the front end only."}),"\n",(0,n.jsx)(o.li,{children:"Don't set attributes in the database."}),"\n"]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Use Case:"})}),"\n",(0,n.jsx)(o.p,{children:"If you tried to create any grid in your block on the front end, you know it is easy, but it is not so with the block editor. The problem is that in the block editor DOM, there are additional divs added over your block that break your HTML structure, and all your styles from flex or grid will not work correctly. If your block depends on some special selector placed in a specific place, you can run into some problems in the block editor."}),"\n",(0,n.jsx)(o.p,{children:"With WordPress block editor hooks, we can fix this by not adding the selector to its original location as we do on the front end but adding them to the Block Editor's parent component."}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Implementation"})}),"\n",(0,n.jsxs)(o.p,{children:["Here you can see our example of this hook used in the ",(0,n.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/custom/column/column-hooks.js",children:"column block"}),"."]}),"\n",(0,n.jsx)(o.h2,{id:"how-to-only-use-my-custom-blocks",children:"How to only use my custom blocks"}),"\n",(0,n.jsxs)(o.p,{children:["You can remove all core blocks and any other blocks provided by third-party plugins by adding this filter to your ",(0,n.jsx)(o.code,{children:"src/Blocks/Blocks.php"})," class."]}),"\n",(0,n.jsx)(o.p,{children:"Filter goes in the register method:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:"// Limits the usage of only custom project blocks.\nadd_filter('allowed_block_types_all', [$this, 'getAllBlocksList'], 10, 2);\n"})}),"\n",(0,n.jsx)(o.admonition,{title:"Important",type:"caution",children:(0,n.jsx)(o.p,{children:"For WordPress versions > 5 and < 5.8 you would need to use the example below."})}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:" // Limits the usage of only custom project blocks - legacy.\n add_filter('allowed_block_types', [$this, 'getAllBlocksListOld'], 10, 2);\n"})}),"\n",(0,n.jsxs)(o.p,{children:["The callback method is set in the parent ",(0,n.jsx)(o.code,{children:"AbstractBlocks"})," class."]}),"\n",(0,n.jsx)(o.h2,{id:"i-want-to-use-my-custom-blocks-but-add-some-core-or-third-party-plugins-blocks",children:"I want to use my custom blocks but add some core or third party plugins blocks"}),"\n",(0,n.jsxs)(o.p,{children:["You create a new callback method for the ",(0,n.jsx)(o.code,{children:"allowed_block_types_all"})," filter. There you can allow all your custom blocks + any other 3rd party / core block you want."]}),"\n",(0,n.jsx)(o.p,{children:"Filter goes in the register method:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:"// Limits the usage of only custom project blocks.\nadd_filter('allowed_block_types_all', [$this, 'allowedBlocks'], 10, 2);\n"})}),"\n",(0,n.jsx)(o.p,{children:"Custom callback method:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:"/**\n * Filter which blocks are displayed in the block editor.\n *\n * @param array|bool $allowedBlockTypes Array of block type slugs, or boolean to enable/disable all.\n * @param WP_Block_Editor_Context $blockEditorContext The current block editor context.\n *\n * @return array\n */\npublic function allowedBlocks($allowedBlockTypes, WP_Block_Editor_Context $blockEditorContext): array\n{\n return $this->getAllBlocksList(['core/paragraph'], $blockEditorContext);\n}\n"})}),"\n",(0,n.jsx)(o.admonition,{title:"Important",type:"caution",children:(0,n.jsxs)(o.p,{children:["For WordPress versions > 5 and < 5.8 you would need to use the filter example bellow. Also change the first argument of array_merge in ",(0,n.jsx)(o.code,{children:"allowedBlocks"})," function to ",(0,n.jsx)(o.code,{children:"$this->getAllBlocksListOld($allowedBlockTypes, $post)"})]})}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:" // Limits the usage of only custom project blocks - legacy.\n add_filter('allowed_block_types', [$this, 'allowedBlocks'], 10, 2);\n"})}),"\n",(0,n.jsx)(o.h2,{id:"i-want-to-enable-blocks-only-on-specific-custom-post-type",children:"I want to enable blocks only on specific custom post type"}),"\n",(0,n.jsxs)(o.p,{children:["You create a new callback method for the ",(0,n.jsx)(o.code,{children:"allowed_block_types_all"})," filter."]}),"\n",(0,n.jsx)(o.p,{children:"Filter goes in the register method:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:"// Limits the usage of only custom project blocks.\nadd_filter('allowed_block_types_all', [$this, 'allowedBlockTypes'], 10, 2);\n"})}),"\n",(0,n.jsx)(o.p,{children:"Custom callback method:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:"/**\n * Filter which blocks are allowed in what post type.\n *\n * @param array|bool $allowedBlockTypes Array of block type slugs, or boolean to enable/disable all.\n * @param WP_Block_Editor_Context $blockEditorContext The current block editor context.\n *\n * @return array\n */\npublic function allowedBlockTypes($allowedBlockTypes, WP_Block_Editor_Context $blockEditorContext): array\n{\n $output = [];\n $settings = $this->getSettings();\n $namespace = $settings['namespace'];\n\n switch ($blockEditorContext->post->post_type) {\n case 'faq':\n $output = [\n \"{$namespace}/paragraph\",\n ];\n break;\n default:\n $output = $this->getAllBlocksList($allowedBlockTypes, $blockEditorContext);\n break;\n }\n\n return $output;\n}\n"})}),"\n",(0,n.jsx)(o.admonition,{title:"Important",type:"caution",children:(0,n.jsxs)(o.p,{children:["For WordPress versions > 5 and < 5.8 you would need to use the filter example bellow. And also change the default switch case in the ",(0,n.jsx)(o.code,{children:"allowedBlockTypes"})," function to ",(0,n.jsx)(o.code,{children:"$output = $this->getAllBlocksListOld($allowedBlockTypes, $post);"})]})}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:" // Limits the usage of only custom project blocks - legacy.\n add_filter('allowed_block_types', [$this, 'allowedBlocks'], 10, 2);\n"})})]})}function h(e={}){const{wrapper:o}={...(0,s.M)(),...e.components};return o?(0,n.jsx)(o,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},4552:(e,o,t)=>{t.d(o,{I:()=>r,M:()=>i});var n=t(11504);const s={},l=n.createContext(s);function i(e){const o=n.useContext(l);return n.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function r(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),n.createElement(l.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/39b05d13.68a9c05a.js b/assets/js/39b05d13.68a9c05a.js deleted file mode 100644 index 5d814ae0c..000000000 --- a/assets/js/39b05d13.68a9c05a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[52910],{97672:(e,o,t)=>{t.r(o),t.d(o,{assets:()=>c,contentTitle:()=>i,default:()=>h,frontMatter:()=>l,metadata:()=>r,toc:()=>a});var n=t(85893),s=t(11151);const l={id:"blocks-special-use-cases",title:"Special Use Cases"},i=void 0,r={id:"legacy/v8/basics/blocks-special-use-cases",title:"Special Use Cases",description:"docs-source",source:"@site/docs/legacy/v8/basics/blocks-special-use-cases.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/blocks-special-use-cases",permalink:"/docs/legacy/v8/basics/blocks-special-use-cases",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-special-use-cases",title:"Special Use Cases"},sidebar:"docs",previous:{title:"Hooks",permalink:"/docs/legacy/v8/basics/blocks-hooks"},next:{title:"Reusable Blocks",permalink:"/docs/legacy/v8/basics/blocks-reusable"}},c={},a=[{value:"Change innerBlock attributes",id:"change-innerblock-attributes",level:2},{value:"Provide simple wrapper to all innerBlock",id:"provide-simple-wrapper-to-all-innerblock",level:2},{value:"Override innerBlock attributes only on the front end",id:"override-innerblock-attributes-only-on-the-front-end",level:2},{value:"Add CSS selectors on the parent component inside the block editor",id:"add-css-selectors-on-the-parent-component-inside-the-block-editor",level:2},{value:"How to only use my custom blocks",id:"how-to-only-use-my-custom-blocks",level:2},{value:"I want to use my custom blocks but add some core or third party plugins blocks",id:"i-want-to-use-my-custom-blocks-but-add-some-core-or-third-party-plugins-blocks",level:2},{value:"I want to enable blocks only on specific custom post type",id:"i-want-to-enable-blocks-only-on-specific-custom-post-type",level:2}];function d(e){const o={a:"a",admonition:"admonition",code:"code",em:"em",h2:"h2",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.p,{children:(0,n.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,n.jsx)(o.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(o.p,{children:"In our clients' projects, we noticed that sometimes you need to provide something special to your blocks, like changing the block editor block DOM structure or the attributes added inside the inner blocks."}),"\n",(0,n.jsx)(o.p,{children:"These are some of the examples we would like to share with you. We will list all of them and gradually add more."}),"\n",(0,n.jsx)(o.h2,{id:"change-innerblock-attributes",children:"Change innerBlock attributes"}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Usage:"})}),"\n",(0,n.jsxs)(o.ul,{children:["\n",(0,n.jsx)(o.li,{children:"Change attributes in the block editor and on the front-end."}),"\n",(0,n.jsx)(o.li,{children:"Set attributes in the database."}),"\n"]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Use Case:"})}),"\n",(0,n.jsxs)(o.p,{children:["Let's say you have a carousel block, and you have a generic image block that you can use as a standalone block. You create a carousel block and set in its manifest limitation to show only the image block to be inserted as an inner block. This is easy to do: you just add your image block to an ",(0,n.jsx)(o.code,{children:"allowedBlocks"})," array inside the carousel block and everything will work."]}),"\n",(0,n.jsxs)(o.p,{children:["But now you have some default attributes set in that image block that you don't want to be set if the block is added using the innerBlock in the carousel. You can change that using our ",(0,n.jsx)(o.a,{href:"helpers-javascript",children:"overrideInnerBlockAttributes"})," helper. Just add this helper to your block entry point, add the attributes you want to change, and you are all set."]}),"\n",(0,n.jsx)(o.p,{children:"Keep in mind that this will be applied to all innerBlocks inside your carousel block. If you want to limit this to a specific block only, you will need to fiddle around with that block's conditions (you can get that specific block name from the props)."}),"\n",(0,n.jsx)(o.p,{children:"The next time you add your image to the carousel, it will automatically change those attributes."}),"\n",(0,n.jsx)(o.admonition,{title:"Important",type:"caution",children:(0,n.jsx)(o.p,{children:"If for some reason, you copy the inner block from the carousel to the top-level editor, this helper will not fire and not change back to original attributes. You have to manually remove those attributes from the Code editor in the admin."})}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Implementation"})}),"\n",(0,n.jsxs)(o.p,{children:["Here you can see our example of this helper used in the ",(0,n.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/custom/carousel/carousel-block.js",children:"carousel block"}),"."]}),"\n",(0,n.jsx)(o.h2,{id:"provide-simple-wrapper-to-all-innerblock",children:"Provide simple wrapper to all innerBlock"}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Usage:"})}),"\n",(0,n.jsxs)(o.ul,{children:["\n",(0,n.jsx)(o.li,{children:"Change attributes in the block editor and on the front end."}),"\n",(0,n.jsx)(o.li,{children:"Set attributes in the database."}),"\n"]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Use Case:"})}),"\n",(0,n.jsx)(o.p,{children:"All of our blocks come with the wrapper implemented, which is awesome. But sometimes you just don't want to use the wrapper, and you want only to use the simple version of the wrapper. You can provide the attribute overrides in your block, and you are good to go."}),"\n",(0,n.jsxs)(o.p,{children:["But if you need to change attributes in the block added as an innerBlock, you'll have a little problem. You can use the same helper as we did in the previous chapter, or you can use our abstraction of that helper called ",(0,n.jsx)(o.a,{href:"helpers-javascript",children:"overrideInnerBlockSimpleWrapperAttributes"}),"."]}),"\n",(0,n.jsx)(o.p,{children:"This helper will set the wrapper to a simple variant in all your innerBlocks."}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Implementation"})}),"\n",(0,n.jsxs)(o.p,{children:["Here you can see our example of this helper used in the ",(0,n.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/custom/column/column-block.js",children:"column block"}),"."]}),"\n",(0,n.jsx)(o.h2,{id:"override-innerblock-attributes-only-on-the-front-end",children:"Override innerBlock attributes only on the front end"}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Usage:"})}),"\n",(0,n.jsxs)(o.ul,{children:["\n",(0,n.jsx)(o.li,{children:"Change attributes on the front end only."}),"\n",(0,n.jsx)(o.li,{children:"Don't set attributes in the database."}),"\n"]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Use Case:"})}),"\n",(0,n.jsx)(o.p,{children:"If you have a block containing inner blocks and only want to change the attributes on the front end of the implementation and not in the block editor. The standard way is really hard because all the inner blocks are rendered on the front end as an HTML string, and you don't have access to any of the attributes before it is rendered."}),"\n",(0,n.jsx)(o.p,{children:"Luckily, WordPress core has provided us with the filter that can change any block before it is rendered. This filter will provide you an array of blocks and inner blocks, along with the innerBlock and all attributes if you use it correctly."}),"\n",(0,n.jsxs)(o.p,{children:["The filter is called: ",(0,n.jsx)(o.code,{children:"render_block_data"}),", and you can put your implementation in the ",(0,n.jsx)(o.code,{children:"class-blocks.php"})," file. You can find the documentation on this ",(0,n.jsx)(o.a,{href:"https://developer.wordpress.org/reference/hooks/render_block_data/",children:"link"}),"."]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Implementation"})}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.em,{children:"Implementation coming soon."})}),"\n",(0,n.jsx)(o.h2,{id:"add-css-selectors-on-the-parent-component-inside-the-block-editor",children:"Add CSS selectors on the parent component inside the block editor"}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Usage:"})}),"\n",(0,n.jsxs)(o.ul,{children:["\n",(0,n.jsx)(o.li,{children:"Change attributes on the front end only."}),"\n",(0,n.jsx)(o.li,{children:"Don't set attributes in the database."}),"\n"]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Use Case:"})}),"\n",(0,n.jsx)(o.p,{children:"If you tried to create any grid in your block on the front end, you know it is easy, but it is not so with the block editor. The problem is that in the block editor DOM, there are additional divs added over your block that break your HTML structure, and all your styles from flex or grid will not work correctly. If your block depends on some special selector placed in a specific place, you can run into some problems in the block editor."}),"\n",(0,n.jsx)(o.p,{children:"With WordPress block editor hooks, we can fix this by not adding the selector to its original location as we do on the front end but adding them to the Block Editor's parent component."}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Implementation"})}),"\n",(0,n.jsxs)(o.p,{children:["Here you can see our example of this hook used in the ",(0,n.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/custom/column/column-hooks.js",children:"column block"}),"."]}),"\n",(0,n.jsx)(o.h2,{id:"how-to-only-use-my-custom-blocks",children:"How to only use my custom blocks"}),"\n",(0,n.jsxs)(o.p,{children:["You can remove all core blocks and any other blocks provided by third-party plugins by adding this filter to your ",(0,n.jsx)(o.code,{children:"src/Blocks/Blocks.php"})," class."]}),"\n",(0,n.jsx)(o.p,{children:"Filter goes in the register method:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:"// Limits the usage of only custom project blocks.\nadd_filter('allowed_block_types_all', [$this, 'getAllBlocksList'], 10, 2);\n"})}),"\n",(0,n.jsx)(o.admonition,{title:"Important",type:"caution",children:(0,n.jsx)(o.p,{children:"For WordPress versions > 5 and < 5.8 you would need to use the example below."})}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:" // Limits the usage of only custom project blocks - legacy.\n add_filter('allowed_block_types', [$this, 'getAllBlocksListOld'], 10, 2);\n"})}),"\n",(0,n.jsxs)(o.p,{children:["The callback method is set in the parent ",(0,n.jsx)(o.code,{children:"AbstractBlocks"})," class."]}),"\n",(0,n.jsx)(o.h2,{id:"i-want-to-use-my-custom-blocks-but-add-some-core-or-third-party-plugins-blocks",children:"I want to use my custom blocks but add some core or third party plugins blocks"}),"\n",(0,n.jsxs)(o.p,{children:["You create a new callback method for the ",(0,n.jsx)(o.code,{children:"allowed_block_types_all"})," filter. There you can allow all your custom blocks + any other 3rd party / core block you want."]}),"\n",(0,n.jsx)(o.p,{children:"Filter goes in the register method:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:"// Limits the usage of only custom project blocks.\nadd_filter('allowed_block_types_all', [$this, 'allowedBlocks'], 10, 2);\n"})}),"\n",(0,n.jsx)(o.p,{children:"Custom callback method:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:"/**\n * Filter which blocks are displayed in the block editor.\n *\n * @param array|bool $allowedBlockTypes Array of block type slugs, or boolean to enable/disable all.\n * @param WP_Block_Editor_Context $blockEditorContext The current block editor context.\n *\n * @return array\n */\npublic function allowedBlocks($allowedBlockTypes, WP_Block_Editor_Context $blockEditorContext): array\n{\n return $this->getAllBlocksList(['core/paragraph'], $blockEditorContext);\n}\n"})}),"\n",(0,n.jsx)(o.admonition,{title:"Important",type:"caution",children:(0,n.jsxs)(o.p,{children:["For WordPress versions > 5 and < 5.8 you would need to use the filter example bellow. Also change the first argument of array_merge in ",(0,n.jsx)(o.code,{children:"allowedBlocks"})," function to ",(0,n.jsx)(o.code,{children:"$this->getAllBlocksListOld($allowedBlockTypes, $post)"})]})}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:" // Limits the usage of only custom project blocks - legacy.\n add_filter('allowed_block_types', [$this, 'allowedBlocks'], 10, 2);\n"})}),"\n",(0,n.jsx)(o.h2,{id:"i-want-to-enable-blocks-only-on-specific-custom-post-type",children:"I want to enable blocks only on specific custom post type"}),"\n",(0,n.jsxs)(o.p,{children:["You create a new callback method for the ",(0,n.jsx)(o.code,{children:"allowed_block_types_all"})," filter."]}),"\n",(0,n.jsx)(o.p,{children:"Filter goes in the register method:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:"// Limits the usage of only custom project blocks.\nadd_filter('allowed_block_types_all', [$this, 'allowedBlockTypes'], 10, 2);\n"})}),"\n",(0,n.jsx)(o.p,{children:"Custom callback method:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:"/**\n * Filter which blocks are allowed in what post type.\n *\n * @param array|bool $allowedBlockTypes Array of block type slugs, or boolean to enable/disable all.\n * @param WP_Block_Editor_Context $blockEditorContext The current block editor context.\n *\n * @return array\n */\npublic function allowedBlockTypes($allowedBlockTypes, WP_Block_Editor_Context $blockEditorContext): array\n{\n $output = [];\n $settings = $this->getSettings();\n $namespace = $settings['namespace'];\n\n switch ($blockEditorContext->post->post_type) {\n case 'faq':\n $output = [\n \"{$namespace}/paragraph\",\n ];\n break;\n default:\n $output = $this->getAllBlocksList($allowedBlockTypes, $blockEditorContext);\n break;\n }\n\n return $output;\n}\n"})}),"\n",(0,n.jsx)(o.admonition,{title:"Important",type:"caution",children:(0,n.jsxs)(o.p,{children:["For WordPress versions > 5 and < 5.8 you would need to use the filter example bellow. And also change the default switch case in the ",(0,n.jsx)(o.code,{children:"allowedBlockTypes"})," function to ",(0,n.jsx)(o.code,{children:"$output = $this->getAllBlocksListOld($allowedBlockTypes, $post);"})]})}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:" // Limits the usage of only custom project blocks - legacy.\n add_filter('allowed_block_types', [$this, 'allowedBlocks'], 10, 2);\n"})})]})}function h(e={}){const{wrapper:o}={...(0,s.a)(),...e.components};return o?(0,n.jsx)(o,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},11151:(e,o,t)=>{t.d(o,{Z:()=>r,a:()=>i});var n=t(67294);const s={},l=n.createContext(s);function i(e){const o=n.useContext(l);return n.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function r(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),n.createElement(l.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/39c8d3f8.2243da4c.js b/assets/js/39c8d3f8.2243da4c.js deleted file mode 100644 index 0f2c53995..000000000 --- a/assets/js/39c8d3f8.2243da4c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[24359],{38467:(t,n,o)=>{o.r(n),o.d(n,{assets:()=>u,contentTitle:()=>r,default:()=>a,frontMatter:()=>s,metadata:()=>m,toc:()=>c});var e=o(85893),i=o(11151);const s={id:"component",title:"Custom form submit button"},r=void 0,m={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.",source:"@site/forms/php/filters/block/submit/component.md",sourceDirName:"php/filters/block/submit",slug:"/php/filters/block/submit/component",permalink:"/forms/php/filters/block/submit/component",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"component",title:"Custom form submit button"},sidebar:"forms",previous:{title:"Additional content",permalink:"/forms/php/filters/block/date/additional-content"},next:{title:"Additional content",permalink:"/forms/php/filters/block/submit/additional-content"}},u={},c=[];function l(t){const n={admonition:"admonition",code:"code",p:"p",pre:"pre",...(0,i.a)(),...t.components};return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(n.p,{children:"This filter allows you to provide custom markup for the form submit button."}),"\n",(0,e.jsx)(n.pre,{children:(0,e.jsx)(n.code,{className:"language-php",children:"\\add_filter('es_forms_block_submit_component', [$this, 'getBlockSubmitComponent']);\n\n/**\n * Override default submit button with your own component\n *\n * This filter will remove the default forms submit button component and use your callback. This will not apply to form settings pages.\n *\n * @param array $data Data provided from the forms.\n *\n * @return string\n */\npublic function getBlockSubmitComponent(array $data): string\n{\n\treturn '';\n}\n"})}),"\n",(0,e.jsx)(n.admonition,{type:"note",children:(0,e.jsx)(n.p,{children:"The custom button will not show in Form settings pages."})})]})}function a(t={}){const{wrapper:n}={...(0,i.a)(),...t.components};return n?(0,e.jsx)(n,{...t,children:(0,e.jsx)(l,{...t})}):l(t)}},11151:(t,n,o)=>{o.d(n,{Z:()=>m,a:()=>r});var e=o(67294);const i={},s=e.createContext(i);function r(t){const n=e.useContext(s);return e.useMemo((function(){return"function"==typeof t?t(n):{...n,...t}}),[n,t])}function m(t){let n;return n=t.disableParentContext?"function"==typeof t.components?t.components(i):t.components||i:r(t.components),e.createElement(s.Provider,{value:n},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/39c8d3f8.a933915e.js b/assets/js/39c8d3f8.a933915e.js new file mode 100644 index 000000000..6af711b7f --- /dev/null +++ b/assets/js/39c8d3f8.a933915e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[18392],{50884:(t,n,o)=>{o.r(n),o.d(n,{assets:()=>u,contentTitle:()=>r,default:()=>a,frontMatter:()=>s,metadata:()=>m,toc:()=>c});var e=o(17624),i=o(4552);const s={id:"component",title:"Custom form submit button"},r=void 0,m={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.",source:"@site/forms/php/filters/block/submit/component.md",sourceDirName:"php/filters/block/submit",slug:"/php/filters/block/submit/component",permalink:"/forms/php/filters/block/submit/component",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"component",title:"Custom form submit button"},sidebar:"forms",previous:{title:"Additional content",permalink:"/forms/php/filters/block/date/additional-content"},next:{title:"Additional content",permalink:"/forms/php/filters/block/submit/additional-content"}},u={},c=[];function l(t){const n={admonition:"admonition",code:"code",p:"p",pre:"pre",...(0,i.M)(),...t.components};return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(n.p,{children:"This filter allows you to provide custom markup for the form submit button."}),"\n",(0,e.jsx)(n.pre,{children:(0,e.jsx)(n.code,{className:"language-php",children:"\\add_filter('es_forms_block_submit_component', [$this, 'getBlockSubmitComponent']);\n\n/**\n * Override default submit button with your own component\n *\n * This filter will remove the default forms submit button component and use your callback. This will not apply to form settings pages.\n *\n * @param array $data Data provided from the forms.\n *\n * @return string\n */\npublic function getBlockSubmitComponent(array $data): string\n{\n\treturn '';\n}\n"})}),"\n",(0,e.jsx)(n.admonition,{type:"note",children:(0,e.jsx)(n.p,{children:"The custom button will not show in Form settings pages."})})]})}function a(t={}){const{wrapper:n}={...(0,i.M)(),...t.components};return n?(0,e.jsx)(n,{...t,children:(0,e.jsx)(l,{...t})}):l(t)}},4552:(t,n,o)=>{o.d(n,{I:()=>m,M:()=>r});var e=o(11504);const i={},s=e.createContext(i);function r(t){const n=e.useContext(s);return e.useMemo((function(){return"function"==typeof t?t(n):{...n,...t}}),[n,t])}function m(t){let n;return n=t.disableParentContext?"function"==typeof t.components?t.components(i):t.components||i:r(t.components),e.createElement(s.Provider,{value:n},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/39d8d90f.3c8c7e50.js b/assets/js/39d8d90f.3c8c7e50.js new file mode 100644 index 000000000..6afd6631b --- /dev/null +++ b/assets/js/39d8d90f.3c8c7e50.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[33296],{55436:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>l,contentTitle:()=>r,default:()=>u,frontMatter:()=>o,metadata:()=>c,toc:()=>a});var n=t(17624),i=t(4552);const o={id:"blocks-registration",title:"Registration"},r=void 0,c={id:"legacy/v8/basics/blocks-registration",title:"Registration",description:"docs-source",source:"@site/docs/legacy/v8/basics/blocks-registration.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/blocks-registration",permalink:"/docs/legacy/v8/basics/blocks-registration",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-registration",title:"Registration"},sidebar:"docs",previous:{title:"Faq",permalink:"/docs/legacy/v8/basics/blocks-faq"},next:{title:"Structure",permalink:"/docs/legacy/v8/basics/blocks-structure"}},l={},a=[];function d(e){const s={a:"a",code:"code",img:"img",li:"li",p:"p",ul:"ul",...(0,i.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,n.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(s.p,{children:"Our setup works if you follow our naming convention and strict folder structure for all blocks, components, variations, patterns, and wrapper."}),"\n",(0,n.jsxs)(s.p,{children:["By following our structure, we can find all files using the ",(0,n.jsx)(s.code,{children:"require.context"})," regular expression inside the ",(0,n.jsx)(s.code,{children:"Blocks"})," folder. Alongside some JavaScript magic, we have been able to leave out all those unnecessary steps when creating new blocks like:"]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"providing style files;"}),"\n",(0,n.jsx)(s.li,{children:"writing register method;"}),"\n",(0,n.jsx)(s.li,{children:"setting PHP method for registering dynamic blocks; and"}),"\n",(0,n.jsx)(s.li,{children:"including files when adding new components."}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["You can check out how this works inside the ",(0,n.jsx)(s.code,{children:"src/Blocks/assets/scripts/application-blocks-editor.js"})," file."]}),"\n",(0,n.jsxs)(s.p,{children:["Please follow our ",(0,n.jsx)(s.a,{href:"blocks-structure",children:"blocks structure folder"})," to see the naming standard and how blocks are set."]})]})}function u(e={}){const{wrapper:s}={...(0,i.M)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},4552:(e,s,t)=>{t.d(s,{I:()=>c,M:()=>r});var n=t(11504);const i={},o=n.createContext(i);function r(e){const s=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),n.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/39d8d90f.cf24ec47.js b/assets/js/39d8d90f.cf24ec47.js deleted file mode 100644 index 2486e6c01..000000000 --- a/assets/js/39d8d90f.cf24ec47.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[75885],{22538:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>l,contentTitle:()=>r,default:()=>u,frontMatter:()=>o,metadata:()=>c,toc:()=>a});var n=t(85893),i=t(11151);const o={id:"blocks-registration",title:"Registration"},r=void 0,c={id:"legacy/v8/basics/blocks-registration",title:"Registration",description:"docs-source",source:"@site/docs/legacy/v8/basics/blocks-registration.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/blocks-registration",permalink:"/docs/legacy/v8/basics/blocks-registration",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-registration",title:"Registration"},sidebar:"docs",previous:{title:"Faq",permalink:"/docs/legacy/v8/basics/blocks-faq"},next:{title:"Structure",permalink:"/docs/legacy/v8/basics/blocks-structure"}},l={},a=[];function d(e){const s={a:"a",code:"code",img:"img",li:"li",p:"p",ul:"ul",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,n.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(s.p,{children:"Our setup works if you follow our naming convention and strict folder structure for all blocks, components, variations, patterns, and wrapper."}),"\n",(0,n.jsxs)(s.p,{children:["By following our structure, we can find all files using the ",(0,n.jsx)(s.code,{children:"require.context"})," regular expression inside the ",(0,n.jsx)(s.code,{children:"Blocks"})," folder. Alongside some JavaScript magic, we have been able to leave out all those unnecessary steps when creating new blocks like:"]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"providing style files;"}),"\n",(0,n.jsx)(s.li,{children:"writing register method;"}),"\n",(0,n.jsx)(s.li,{children:"setting PHP method for registering dynamic blocks; and"}),"\n",(0,n.jsx)(s.li,{children:"including files when adding new components."}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["You can check out how this works inside the ",(0,n.jsx)(s.code,{children:"src/Blocks/assets/scripts/application-blocks-editor.js"})," file."]}),"\n",(0,n.jsxs)(s.p,{children:["Please follow our ",(0,n.jsx)(s.a,{href:"blocks-structure",children:"blocks structure folder"})," to see the naming standard and how blocks are set."]})]})}function u(e={}){const{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},11151:(e,s,t)=>{t.d(s,{Z:()=>c,a:()=>r});var n=t(67294);const i={},o=n.createContext(i);function r(e){const s=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),n.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/39e353ee.a3b571b0.js b/assets/js/39e353ee.a3b571b0.js new file mode 100644 index 000000000..3cd67fe5b --- /dev/null +++ b/assets/js/39e353ee.a3b571b0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[4448],{6068:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>a,default:()=>c,frontMatter:()=>r,metadata:()=>i,toc:()=>l});var o=n(17624),s=n(4552);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.M)(),...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:" 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:" 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(16944).c+"",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.M)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(h,{...e})}):h(e)}},96840:(e,t,n)=>{n.d(t,{c:()=>o});const o=n.p+"assets/images/no-wrapper-97a4e7e283102852266b91e02be1c342.png"},16944:(e,t,n)=>{n.d(t,{c:()=>o});const o=n.p+"assets/images/wrapper-content-1fb48b3084f48f13075a3af67bc6c323.png"},4552:(e,t,n)=>{n.d(t,{I:()=>i,M:()=>a});var o=n(11504);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.e328c632.js b/assets/js/39e353ee.e328c632.js deleted file mode 100644 index e4cca81b5..000000000 --- a/assets/js/39e353ee.e328c632.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[98169],{88426:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>a,default:()=>c,frontMatter:()=>r,metadata:()=>i,toc:()=>l});var o=n(85893),s=n(11151);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.a)(),...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:" 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:" 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(38419).Z+"",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.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(h,{...e})}):h(e)}},27854:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/no-wrapper-97a4e7e283102852266b91e02be1c342.png"},38419:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/wrapper-content-1fb48b3084f48f13075a3af67bc6c323.png"},11151:(e,t,n)=>{n.d(t,{Z:()=>i,a:()=>a});var o=n(67294);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/3a244aec.35deca43.js b/assets/js/3a244aec.35deca43.js deleted file mode 100644 index 64d712804..000000000 --- a/assets/js/3a244aec.35deca43.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[23246],{41647:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>r,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>l});var t=n(85893),i=n(11151);const o={id:"namespaces",title:"Namespaces"},a=void 0,c={id:"legacy/v7/basics/namespaces",title:"Namespaces",description:"docs-source",source:"@site/docs/legacy/v7/basics/namespaces.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/namespaces",permalink:"/docs/legacy/v7/basics/namespaces",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"namespaces",title:"Namespaces"},sidebar:"docs",previous:{title:"General",permalink:"/docs/legacy/v7/basics/backend"},next:{title:"Extending Classes",permalink:"/docs/legacy/v7/basics/extending-classes"}},r={},l=[{value:"Important note",id:"important-note",level:3}];function d(e){const s={a:"a",blockquote:"blockquote",code:"code",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/infinum/eightshift-libs/tree/5.0.0",children:(0,t.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:["The PHP codebase of this project lives in ",(0,t.jsx)(s.code,{children:"EightshiftLibs"})," namespace."]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Because WordPress lives in a global namespace, we had to provide the way for your project to be unique. That is why we implemented ",(0,t.jsx)(s.a,{href:"https://github.com/infinum/imposter-plugin",children:(0,t.jsx)(s.strong,{children:"Imposter"})})," in ",(0,t.jsx)(s.code,{children:"composer.json"}),". Imposter adds a namespace prefix to all the packages inside the ",(0,t.jsx)(s.code,{children:"vendor"})," folder that use namespacing."]}),"\n",(0,t.jsxs)(s.p,{children:["You can change the vendor prefix in your ",(0,t.jsx)(s.code,{children:"composer.json"})," file. If you do this, make sure you delete the ",(0,t.jsx)(s.code,{children:"vendor"})," folder and re-run ",(0,t.jsx)(s.code,{children:"composer install"}),"."]}),"\n",(0,t.jsx)(s.p,{children:"Using the default setup, your project will have the namespace you defined in the setup process."}),"\n",(0,t.jsxs)(s.p,{children:["However, let's say you change your ",(0,t.jsx)(s.code,{children:"composer.json"})," file to contain this snippet:"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-json",children:'"autoload": {\n "psr-4": {\n "CustomProject\\\\": "src/"\n }\n},\n"extra": {\n "imposter": {\n "namespace": "EightshiftBoilerplateVendor"\n }\n}\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Your current namespace is: ",(0,t.jsx)(s.code,{children:"CustomProject"}),"."]}),"\n",(0,t.jsxs)(s.li,{children:["Namespace for Eightshift Libs becomes: ",(0,t.jsx)(s.code,{children:"EightshiftBoilerplateVendor\\EightshiftLibs"}),"."]}),"\n",(0,t.jsxs)(s.li,{children:["Every package you additionally install will follow the same convention: ",(0,t.jsx)(s.code,{children:"EightshiftBoilerplateVendor\\SomePackageNamespace"}),"."]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"To sum it up"}),": you don't need to change the default vendor prefix if you only run one theme or one plugin with Eightshift Development Kit. If you have multiple Eightshift Development Kit-powered themes or plugins installed, please change the vendor prefix on each of the projects."]}),"\n",(0,t.jsx)(s.h3,{id:"important-note",children:"Important note"}),"\n",(0,t.jsxs)(s.p,{children:["If you are installing additional composer packages, make sure that they don't have any inline namespace usage. All referenced classes should be imported with ",(0,t.jsx)(s.code,{children:"use"})," statements, which must be defined at the top of files."]}),"\n",(0,t.jsx)(s.p,{children:"The Imposter plugin is not able to replace inline namespaces, which will cause issues with classname resolution and result in a fatal error getting thrown."}),"\n",(0,t.jsx)(s.p,{children:"To fix these issues, either create a PR on the package and fix this for everyone, or exclude this package from imposter script. Keep in mind that can have some unexpected side effects that we can't predict."})]})}function h(e={}){const{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},11151:(e,s,n)=>{n.d(s,{Z:()=>c,a:()=>a});var t=n(67294);const i={},o=t.createContext(i);function a(e){const s=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),t.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3a244aec.5f01dd36.js b/assets/js/3a244aec.5f01dd36.js new file mode 100644 index 000000000..86b09d69b --- /dev/null +++ b/assets/js/3a244aec.5f01dd36.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[56244],{30764:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>r,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>l});var t=n(17624),i=n(4552);const o={id:"namespaces",title:"Namespaces"},a=void 0,c={id:"legacy/v7/basics/namespaces",title:"Namespaces",description:"docs-source",source:"@site/docs/legacy/v7/basics/namespaces.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/namespaces",permalink:"/docs/legacy/v7/basics/namespaces",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"namespaces",title:"Namespaces"},sidebar:"docs",previous:{title:"General",permalink:"/docs/legacy/v7/basics/backend"},next:{title:"Extending Classes",permalink:"/docs/legacy/v7/basics/extending-classes"}},r={},l=[{value:"Important note",id:"important-note",level:3}];function d(e){const s={a:"a",blockquote:"blockquote",code:"code",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/infinum/eightshift-libs/tree/5.0.0",children:(0,t.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:["The PHP codebase of this project lives in ",(0,t.jsx)(s.code,{children:"EightshiftLibs"})," namespace."]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Because WordPress lives in a global namespace, we had to provide the way for your project to be unique. That is why we implemented ",(0,t.jsx)(s.a,{href:"https://github.com/infinum/imposter-plugin",children:(0,t.jsx)(s.strong,{children:"Imposter"})})," in ",(0,t.jsx)(s.code,{children:"composer.json"}),". Imposter adds a namespace prefix to all the packages inside the ",(0,t.jsx)(s.code,{children:"vendor"})," folder that use namespacing."]}),"\n",(0,t.jsxs)(s.p,{children:["You can change the vendor prefix in your ",(0,t.jsx)(s.code,{children:"composer.json"})," file. If you do this, make sure you delete the ",(0,t.jsx)(s.code,{children:"vendor"})," folder and re-run ",(0,t.jsx)(s.code,{children:"composer install"}),"."]}),"\n",(0,t.jsx)(s.p,{children:"Using the default setup, your project will have the namespace you defined in the setup process."}),"\n",(0,t.jsxs)(s.p,{children:["However, let's say you change your ",(0,t.jsx)(s.code,{children:"composer.json"})," file to contain this snippet:"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-json",children:'"autoload": {\n "psr-4": {\n "CustomProject\\\\": "src/"\n }\n},\n"extra": {\n "imposter": {\n "namespace": "EightshiftBoilerplateVendor"\n }\n}\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Your current namespace is: ",(0,t.jsx)(s.code,{children:"CustomProject"}),"."]}),"\n",(0,t.jsxs)(s.li,{children:["Namespace for Eightshift Libs becomes: ",(0,t.jsx)(s.code,{children:"EightshiftBoilerplateVendor\\EightshiftLibs"}),"."]}),"\n",(0,t.jsxs)(s.li,{children:["Every package you additionally install will follow the same convention: ",(0,t.jsx)(s.code,{children:"EightshiftBoilerplateVendor\\SomePackageNamespace"}),"."]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"To sum it up"}),": you don't need to change the default vendor prefix if you only run one theme or one plugin with Eightshift Development Kit. If you have multiple Eightshift Development Kit-powered themes or plugins installed, please change the vendor prefix on each of the projects."]}),"\n",(0,t.jsx)(s.h3,{id:"important-note",children:"Important note"}),"\n",(0,t.jsxs)(s.p,{children:["If you are installing additional composer packages, make sure that they don't have any inline namespace usage. All referenced classes should be imported with ",(0,t.jsx)(s.code,{children:"use"})," statements, which must be defined at the top of files."]}),"\n",(0,t.jsx)(s.p,{children:"The Imposter plugin is not able to replace inline namespaces, which will cause issues with classname resolution and result in a fatal error getting thrown."}),"\n",(0,t.jsx)(s.p,{children:"To fix these issues, either create a PR on the package and fix this for everyone, or exclude this package from imposter script. Keep in mind that can have some unexpected side effects that we can't predict."})]})}function h(e={}){const{wrapper:s}={...(0,i.M)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},4552:(e,s,n)=>{n.d(s,{I:()=>c,M:()=>a});var t=n(11504);const i={},o=t.createContext(i);function a(e){const s=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),t.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3aebe9a9.452f3028.js b/assets/js/3aebe9a9.452f3028.js new file mode 100644 index 000000000..2d884d67a --- /dev/null +++ b/assets/js/3aebe9a9.452f3028.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[39784],{68224:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>r,default:()=>u,frontMatter:()=>o,metadata:()=>l,toc:()=>a});var i=n(17624),s=n(4552);const o={id:"goodbits",title:"Goodbits"},r=void 0,l={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.",source:"@site/forms/integrations/goodbits.md",sourceDirName:"integrations",slug:"/integrations/goodbits",permalink:"/forms/integrations/goodbits",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"goodbits",title:"Goodbits"},sidebar:"forms",previous:{title:"Clearbit",permalink:"/forms/integrations/clearbit"},next:{title:"Greenhouse",permalink:"/forms/integrations/greenhouse"}},d={},a=[{value:"Website",id:"website",level:3},{value:"API Version",id:"api-version",level:3},{value:"API Documentation",id:"api-documentation",level:3},{value:"Integration type",id:"integration-type",level:3},{value:"Supported fields:",id:"supported-fields",level:3}];function c(e){const t={a:"a",h3:"h3",li:"li",p:"p",ul:"ul",...(0,s.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"Goodbits is an service that helps you and your business create stellar newsletters from the best links your team and customers are reading."}),"\n",(0,i.jsx)(t.h3,{id:"website",children:"Website"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://goodbits.io/",children:"Visit website"})}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"api-version",children:"API Version"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"V1"}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"api-documentation",children:"API Documentation"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://gist.github.com/kalv/84c37780d277da5b7a3cdf5c28359c6b",children:"Documentation"})}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"integration-type",children:"Integration type"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Form builder provided by the service."}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"supported-fields",children:"Supported fields:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Email"}),"\n",(0,i.jsx)(t.li,{children:"First name"}),"\n",(0,i.jsx)(t.li,{children:"Last name"}),"\n"]})]})}function u(e={}){const{wrapper:t}={...(0,s.M)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},4552:(e,t,n)=>{n.d(t,{I:()=>l,M:()=>r});var i=n(11504);const s={},o=i.createContext(s);function r(e){const t=i.useContext(o);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(s):e.components||s:r(e.components),i.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3aebe9a9.a0e94b0a.js b/assets/js/3aebe9a9.a0e94b0a.js deleted file mode 100644 index f23ac68b1..000000000 --- a/assets/js/3aebe9a9.a0e94b0a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[14248],{88691:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>u,frontMatter:()=>o,metadata:()=>l,toc:()=>d});var i=n(85893),s=n(11151);const o={id:"goodbits",title:"Goodbits"},r=void 0,l={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.",source:"@site/forms/integrations/goodbits.md",sourceDirName:"integrations",slug:"/integrations/goodbits",permalink:"/forms/integrations/goodbits",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"goodbits",title:"Goodbits"},sidebar:"forms",previous:{title:"Clearbit",permalink:"/forms/integrations/clearbit"},next:{title:"Greenhouse",permalink:"/forms/integrations/greenhouse"}},a={},d=[{value:"Website",id:"website",level:3},{value:"API Version",id:"api-version",level:3},{value:"API Documentation",id:"api-documentation",level:3},{value:"Integration type",id:"integration-type",level:3},{value:"Supported fields:",id:"supported-fields",level:3}];function c(e){const t={a:"a",h3:"h3",li:"li",p:"p",ul:"ul",...(0,s.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"Goodbits is an service that helps you and your business create stellar newsletters from the best links your team and customers are reading."}),"\n",(0,i.jsx)(t.h3,{id:"website",children:"Website"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://goodbits.io/",children:"Visit website"})}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"api-version",children:"API Version"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"V1"}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"api-documentation",children:"API Documentation"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://gist.github.com/kalv/84c37780d277da5b7a3cdf5c28359c6b",children:"Documentation"})}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"integration-type",children:"Integration type"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Form builder provided by the service."}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"supported-fields",children:"Supported fields:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Email"}),"\n",(0,i.jsx)(t.li,{children:"First name"}),"\n",(0,i.jsx)(t.li,{children:"Last name"}),"\n"]})]})}function u(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},11151:(e,t,n)=>{n.d(t,{Z:()=>l,a:()=>r});var i=n(67294);const s={},o=i.createContext(s);function r(e){const t=i.useContext(o);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(s):e.components||s:r(e.components),i.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3b5edcc4.064b5062.js b/assets/js/3b5edcc4.064b5062.js new file mode 100644 index 000000000..7e588ec7b --- /dev/null +++ b/assets/js/3b5edcc4.064b5062.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[19504],{52912:t=>{t.exports=JSON.parse('{"permalink":"/blog/tags/images","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/3b5edcc4.3684df6d.js b/assets/js/3b5edcc4.3684df6d.js deleted file mode 100644 index f66c19fb2..000000000 --- a/assets/js/3b5edcc4.3684df6d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[31647],{17369:t=>{t.exports=JSON.parse('{"permalink":"/blog/tags/images","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/3b7ac723.748601a3.js b/assets/js/3b7ac723.748601a3.js deleted file mode 100644 index 6074b0e43..000000000 --- a/assets/js/3b7ac723.748601a3.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[76809],{87385:(t,e,s)=>{s.r(e),s.d(e,{assets:()=>c,contentTitle:()=>i,default:()=>d,frontMatter:()=>o,metadata:()=>l,toc:()=>h});var n=s(85893),a=s(11151),r=s(22130);const o={id:"state",title:"State"},i=void 0,l={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.",source:"@site/forms/javascript/state/state.mdx",sourceDirName:"javascript/state",slug:"/javascript/state/",permalink:"/forms/javascript/state/",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"state",title:"State"},sidebar:"forms",previous:{title:"How to use?",permalink:"/forms/javascript/state/how-to-use"},next:{title:"Store",permalink:"/forms/javascript/state/store"}},c={},h=[];function p(t){const e={p:"p",...(0,a.a)(),...t.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(e.p,{children:"State object contains all the information about the current state of the forms, global settings, elements and etc.\nThis is the main object that is used to populate the form and send the data to the REST API."}),"\n",(0,n.jsx)(r.D,{name:"State",filter:"state"})]})}function d(t={}){const{wrapper:e}={...(0,a.a)(),...t.components};return e?(0,n.jsx)(e,{...t,children:(0,n.jsx)(p,{...t})}):p(t)}},22130:(t,e,s)=>{s.d(e,{D:()=>o});s(67294);var n=s(9286),a=s(61684),r=s(85893);function o(t){const{name:e,filter:s,url:o}=t,i="https://github.com/infinum/eightshift-forms/blob/develop/src/Blocks/components/form/assets/"+o+".js";return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("h3",{children:"Usage"}),(0,r.jsxs)("p",{children:["To access ",e," object and all its customization options use your browsers console and type:"]}),(0,r.jsx)(n.Z,{language:"js",children:(0,a.p)("\n\t\t\t\twindow?.esForms?."+s+"\n\t\t\t")}),o&&(0,r.jsxs)("p",{children:["You can find all methods and their documentation on this ",(0,r.jsx)("a",{href:i,target:"_blank",rel:"noopener noreferrer",children:"link"}),"."]})]})}},61684:(t,e,s)=>{function n(t){const e=t.split(/\n/g);for(;0===(null==(s=e[0])?void 0:s.replace(/\s/g,"").length);){var s;e.shift()}for(;0===(null==(n=e[e.length-1])?void 0:n.replace(/\s/g,"").length);){var n;e.pop()}const a=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>{var e,s;return null!=(e=null==(s=t.match(/^\s*/))||null==(s=s[0])?void 0:s.length)?e:0})),r=Math.min(...a);return e.map((t=>t.slice(r))).join("\n")}s.d(e,{p:()=>n})}}]); \ No newline at end of file diff --git a/assets/js/3b7ac723.a162a166.js b/assets/js/3b7ac723.a162a166.js new file mode 100644 index 000000000..a0c109db6 --- /dev/null +++ b/assets/js/3b7ac723.a162a166.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[34865],{13e3:(t,e,s)=>{s.r(e),s.d(e,{assets:()=>l,contentTitle:()=>i,default:()=>d,frontMatter:()=>r,metadata:()=>c,toc:()=>h});var n=s(17624),a=s(4552),o=s(13536);const r={id:"state",title:"State"},i=void 0,c={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.",source:"@site/forms/javascript/state/state.mdx",sourceDirName:"javascript/state",slug:"/javascript/state/",permalink:"/forms/javascript/state/",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"state",title:"State"},sidebar:"forms",previous:{title:"How to use?",permalink:"/forms/javascript/state/how-to-use"},next:{title:"Store",permalink:"/forms/javascript/state/store"}},l={},h=[];function p(t){const e={p:"p",...(0,a.M)(),...t.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(e.p,{children:"State object contains all the information about the current state of the forms, global settings, elements and etc.\nThis is the main object that is used to populate the form and send the data to the REST API."}),"\n",(0,n.jsx)(o.g,{name:"State",filter:"state"})]})}function d(t={}){const{wrapper:e}={...(0,a.M)(),...t.components};return e?(0,n.jsx)(e,{...t,children:(0,n.jsx)(p,{...t})}):p(t)}},13536:(t,e,s)=>{s.d(e,{g:()=>r});s(11504);var n=s(1608),a=s(96616),o=s(17624);function r(t){const{name:e,filter:s,url:r}=t,i=`https://github.com/infinum/eightshift-forms/blob/develop/src/Blocks/components/form/assets/${r}.js`;return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("h3",{children:"Usage"}),(0,o.jsxs)("p",{children:["To access ",e," object and all its customization options use your browsers console and type:"]}),(0,o.jsx)(n.c,{language:"js",children:(0,a.c)(`\n\t\t\t\twindow?.esForms?.${s}\n\t\t\t`)}),r&&(0,o.jsxs)("p",{children:["You can find all methods and their documentation on this ",(0,o.jsx)("a",{href:i,target:"_blank",rel:"noopener noreferrer",children:"link"}),"."]})]})}},96616:(t,e,s)=>{function n(t){const e=t.split(/\n/g);for(;0===e[0]?.replace(/\s/g,"").length;)e.shift();for(;0===e[e.length-1]?.replace(/\s/g,"").length;)e.pop();const s=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>t.match(/^\s*/)?.[0]?.length??0)),n=Math.min(...s);return e.map((t=>t.slice(n))).join("\n")}s.d(e,{c:()=>n})}}]); \ No newline at end of file diff --git a/assets/js/3cc3f22b.1b3ed19f.js b/assets/js/3cc3f22b.1b3ed19f.js deleted file mode 100644 index 176d45695..000000000 --- a/assets/js/3cc3f22b.1b3ed19f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[2709],{26718:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>l,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>a,toc:()=>c});var i=t(85893),n=t(11151);const o={id:"helpers-scss",title:"Scss"},r=void 0,a={id:"legacy/v6/basics/helpers-scss",title:"Scss",description:"docs-source",source:"@site/docs/legacy/v6/basics/helpers-scss.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/helpers-scss",permalink:"/docs/legacy/v6/basics/helpers-scss",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"helpers-scss",title:"Scss"},sidebar:"docs",previous:{title:"JavaScript",permalink:"/docs/legacy/v6/basics/helpers-javascript"},next:{title:"PHP",permalink:"/docs/legacy/v6/basics/helpers-php"}},l={},c=[{value:"Default usage",id:"default-usage",level:2},{value:"Usage outside of Eightshift Boilerplate",id:"usage-outside-of-eightshift-boilerplate",level:2}];function d(e){const s={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",strong:"strong",...(0,n.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/",children:(0,i.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsx)(s.p,{children:"For years, we have collected a list of useful SASS mixins, placeholders, and functions you can use in a project. You don't need to have all of this in your project. Check out our documentation and see what we have in store for you."}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsxs)(s.strong,{children:["Visit ",(0,i.jsx)(s.a,{href:"/sass",children:"SassDocs"})," for more details."]})}),"\n",(0,i.jsx)(s.h2,{id:"default-usage",children:"Default usage"}),"\n",(0,i.jsx)(s.p,{children:"Eightshift Frontend Libs styles library is already implemented in your WordPress project, so you don't need to worry about implementation."}),"\n",(0,i.jsxs)(s.p,{children:["All our sass mixing, functions and helpers are located in ",(0,i.jsx)(s.code,{children:"node_modules/@eighshift/frontent-libs/styles/scss/eightshift-frontend-libs.scss"})," file."]}),"\n",(0,i.jsxs)(s.p,{children:["We imported that library into this file: ",(0,i.jsx)(s.code,{children:"/assets/styles/parts/_shared.scss"}),"."]}),"\n",(0,i.jsx)(s.h2,{id:"usage-outside-of-eightshift-boilerplate",children:"Usage outside of Eightshift Boilerplate"}),"\n",(0,i.jsx)(s.p,{children:"If you want to use it outside of the Eightshift Boilerplate, you can. It is only a matter of installing the package and importing it into your project's style file."}),"\n",(0,i.jsx)(s.p,{children:"In your terminal, install Eightshift Frontend Libs package:"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-bash",children:"npm install @eightshift/frontend-libs\n"})}),"\n",(0,i.jsx)(s.p,{children:"and add this import in your project:"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-scss",children:"@import '@eightshift/frontend-libs/styles/index.scss';\n"})})]})}function h(e={}){const{wrapper:s}={...(0,n.a)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},11151:(e,s,t)=>{t.d(s,{Z:()=>a,a:()=>r});var i=t(67294);const n={},o=i.createContext(n);function r(e){const s=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),i.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3cc3f22b.f8eb1c37.js b/assets/js/3cc3f22b.f8eb1c37.js new file mode 100644 index 000000000..0bdcc3769 --- /dev/null +++ b/assets/js/3cc3f22b.f8eb1c37.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[68508],{40420:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var i=t(17624),n=t(4552);const o={id:"helpers-scss",title:"Scss"},r=void 0,l={id:"legacy/v6/basics/helpers-scss",title:"Scss",description:"docs-source",source:"@site/docs/legacy/v6/basics/helpers-scss.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/helpers-scss",permalink:"/docs/legacy/v6/basics/helpers-scss",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"helpers-scss",title:"Scss"},sidebar:"docs",previous:{title:"JavaScript",permalink:"/docs/legacy/v6/basics/helpers-javascript"},next:{title:"PHP",permalink:"/docs/legacy/v6/basics/helpers-php"}},a={},c=[{value:"Default usage",id:"default-usage",level:2},{value:"Usage outside of Eightshift Boilerplate",id:"usage-outside-of-eightshift-boilerplate",level:2}];function d(e){const s={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",strong:"strong",...(0,n.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/",children:(0,i.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsx)(s.p,{children:"For years, we have collected a list of useful SASS mixins, placeholders, and functions you can use in a project. You don't need to have all of this in your project. Check out our documentation and see what we have in store for you."}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsxs)(s.strong,{children:["Visit ",(0,i.jsx)(s.a,{href:"/docs/basics/library",children:"SassDocs"})," for more details."]})}),"\n",(0,i.jsx)(s.h2,{id:"default-usage",children:"Default usage"}),"\n",(0,i.jsx)(s.p,{children:"Eightshift Frontend Libs styles library is already implemented in your WordPress project, so you don't need to worry about implementation."}),"\n",(0,i.jsxs)(s.p,{children:["All our sass mixing, functions and helpers are located in ",(0,i.jsx)(s.code,{children:"node_modules/@eighshift/frontent-libs/styles/scss/eightshift-frontend-libs.scss"})," file."]}),"\n",(0,i.jsxs)(s.p,{children:["We imported that library into this file: ",(0,i.jsx)(s.code,{children:"/assets/styles/parts/_shared.scss"}),"."]}),"\n",(0,i.jsx)(s.h2,{id:"usage-outside-of-eightshift-boilerplate",children:"Usage outside of Eightshift Boilerplate"}),"\n",(0,i.jsx)(s.p,{children:"If you want to use it outside of the Eightshift Boilerplate, you can. It is only a matter of installing the package and importing it into your project's style file."}),"\n",(0,i.jsx)(s.p,{children:"In your terminal, install Eightshift Frontend Libs package:"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-bash",children:"npm install @eightshift/frontend-libs\n"})}),"\n",(0,i.jsx)(s.p,{children:"and add this import in your project:"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-scss",children:"@import '@eightshift/frontend-libs/styles/index.scss';\n"})})]})}function h(e={}){const{wrapper:s}={...(0,n.M)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},4552:(e,s,t)=>{t.d(s,{I:()=>l,M:()=>r});var i=t(11504);const n={},o=i.createContext(n);function r(e){const s=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),i.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3d99f89d.01be4d00.js b/assets/js/3d99f89d.01be4d00.js new file mode 100644 index 000000000..ad6ac4c52 --- /dev/null +++ b/assets/js/3d99f89d.01be4d00.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[45124],{83548:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>r,contentTitle:()=>a,default:()=>p,frontMatter:()=>i,metadata:()=>l,toc:()=>m});var n=o(17624),s=o(4552);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.M)(),...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.M)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},4552:(e,t,o)=>{o.d(t,{I:()=>l,M:()=>a});var n=o(11504);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/3d99f89d.6c749b3f.js b/assets/js/3d99f89d.6c749b3f.js deleted file mode 100644 index 23f2c640b..000000000 --- a/assets/js/3d99f89d.6c749b3f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[2821],{37954:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>r,contentTitle:()=>a,default:()=>p,frontMatter:()=>i,metadata:()=>l,toc:()=>m});var n=o(85893),s=o(11151);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.a)(),...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.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},11151:(e,t,o)=>{o.d(t,{Z:()=>l,a:()=>a});var n=o(67294);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/3e53f2d3.c26969a8.js b/assets/js/3e53f2d3.c26969a8.js deleted file mode 100644 index e33d2b9f1..000000000 --- a/assets/js/3e53f2d3.c26969a8.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[21336],{9239:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>d,frontMatter:()=>s,metadata:()=>o,toc:()=>h});var n=i(85893),r=i(11151);const s={id:"enrichment",title:"Enrichment"},a=void 0,o={id:"features/enrichment",title:"Enrichment",description:"Enrichment",source:"@site/forms/features/enrichment.md",sourceDirName:"features",slug:"/features/enrichment",permalink:"/forms/features/enrichment",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"enrichment",title:"Enrichment"},sidebar:"forms",previous:{title:"Conditional tags",permalink:"/forms/features/conditional-tags"},next:{title:"Geolocation",permalink:"/forms/features/geolocation"}},l={},h=[{value:"Enrichment",id:"enrichment",level:2},{value:"How will this help me?",id:"how-will-this-help-me",level:3},{value:"How does it work?",id:"how-does-it-work",level:3},{value:"How long does the data stay in the storage?",id:"how-long-does-the-data-stay-in-the-storage",level:3},{value:"How to map parameters?",id:"how-to-map-parameters",level:3},{value:"Prefill from storage",id:"prefill-from-storage",level:2},{value:"Prefill from URL",id:"prefill-from-url",level:2}];function c(e){const t={admonition:"admonition",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",...(0,r.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h2,{id:"enrichment",children:"Enrichment"}),"\n",(0,n.jsxs)(t.p,{children:["This feature considers various user data elements to create a comprehensive and precise representation of their activity. To activate enrichment, map the ",(0,n.jsx)(t.code,{children:"URL"})," or ",(0,n.jsx)(t.code,{children:"cookie"})," values with the relevant form fields."]}),"\n",(0,n.jsx)(t.h3,{id:"how-will-this-help-me",children:"How will this help me?"}),"\n",(0,n.jsx)(t.p,{children:"With this feature, users can visit your form and leave without submitting it. You will know where they originated if they return to the same form. This way, you can increase your conversion rate."}),"\n",(0,n.jsx)(t.h3,{id:"how-does-it-work",children:"How does it work?"}),"\n",(0,n.jsxs)(t.p,{children:["By providing a parameters map in settings, forms can read users ",(0,n.jsx)(t.code,{children:"cookies"})," and ",(0,n.jsx)(t.code,{children:"URL"})," parameters and store that data in the users ",(0,n.jsx)(t.code,{children:"localStorage"}),". This data is updated every time the user lands on any pages containing the forms."]}),"\n",(0,n.jsx)(t.p,{children:"For example, if the user first time lands on this page:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{children:" https://infinum.com/?utm_content=test\n"})}),"\n",(0,n.jsxs)(t.p,{children:["and you have provided the corresponding parameter mapping in the settings. Forms will store the GET parameters in the ",(0,n.jsx)(t.code,{children:"local storage"})," and use it to prefill the form fields."]}),"\n",(0,n.jsx)(t.admonition,{type:"note",children:(0,n.jsx)(t.p,{children:"Forms only store parameters defined in the mapping."})}),"\n",(0,n.jsxs)(t.p,{children:["Next time, if the user returns to the same page without this parameter, forms will use the value from ",(0,n.jsx)(t.code,{children:"local storage"})," if the storage is still valid."]}),"\n",(0,n.jsx)(t.h3,{id:"how-long-does-the-data-stay-in-the-storage",children:"How long does the data stay in the storage?"}),"\n",(0,n.jsx)(t.p,{children:"By default, the data is stored for 30 days. You can change this value in the settings."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Enrichment screen",src:i(6477).Z+"",width:"623",height:"408"})}),"\n",(0,n.jsx)(t.h3,{id:"how-to-map-parameters",children:"How to map parameters?"}),"\n",(0,n.jsxs)(t.p,{children:["First, you provide the list of all the ",(0,n.jsx)(t.code,{children:"cookies"})," and ",(0,n.jsx)(t.code,{children:"URL"})," parameters you want to use."]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Enrichment params screen",src:i(44132).Z+"",width:"630",height:"674"})}),"\n",(0,n.jsx)(t.p,{children:"Next, you need to map them with the corresponding form fields by providing the field names."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Enrichment map screen",src:i(69714).Z+"",width:"640",height:"612"})}),"\n",(0,n.jsx)(t.p,{children:"You can map multiple fields with the same parameter by separating the field names with a comma."}),"\n",(0,n.jsx)(t.admonition,{type:"caution",children:(0,n.jsx)(t.p,{children:"The field name will match the mapped fields on every form in your project."})}),"\n",(0,n.jsx)(t.h2,{id:"prefill-from-storage",children:"Prefill from storage"}),"\n",(0,n.jsx)(t.p,{children:"If a user doesn't finish submitting a form, the enrichment prefill feature remembers their inputs in localStorage. When they visit the form again, the prefill feature will automatically input the previous data. However, if the form is successfully submitted, this data will be erased."}),"\n",(0,n.jsx)(t.admonition,{type:"caution",children:(0,n.jsx)(t.p,{children:"It is important to disclose this in your site's Privacy policy."})}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Enrichment prefill storage map screen",src:i(81076).Z+"",width:"621",height:"574"})}),"\n",(0,n.jsx)(t.h2,{id:"prefill-from-url",children:"Prefill from URL"}),"\n",(0,n.jsx)(t.p,{children:"The same as prefill from storage, prefill from URL will prefill the form fields if the user has data in the URL. This way, your form can be shared with prefilled data."}),"\n",(0,n.jsx)(t.admonition,{type:"caution",children:(0,n.jsx)(t.p,{children:"It is important to disclose this in your site's Privacy policy."})}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Enrichment prefill url map screen",src:i(78776).Z+"",width:"619",height:"363"})})]})}function d(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},69714:(e,t,i)=>{i.d(t,{Z:()=>n});const n=i.p+"assets/images/enrichment-map-3cdc790a4a39a3387b55ca81cfaad4d4.webp"},44132:(e,t,i)=>{i.d(t,{Z:()=>n});const n=i.p+"assets/images/enrichment-params-e61afde0a454cf94d905a3d7ce83ae34.webp"},81076:(e,t,i)=>{i.d(t,{Z:()=>n});const n=i.p+"assets/images/enrichment-storage-9cdc11ab6e1f41cf8ebc17255a1294a8.webp"},78776:(e,t,i)=>{i.d(t,{Z:()=>n});const n=i.p+"assets/images/enrichment-url-d1598fb59e6e1a5aac9b3e70339d752a.webp"},6477:(e,t,i)=>{i.d(t,{Z:()=>n});const n=i.p+"assets/images/enrichment-61ef1875c83a7bab023a30b115aa25f6.webp"},11151:(e,t,i)=>{i.d(t,{Z:()=>o,a:()=>a});var n=i(67294);const r={},s=n.createContext(r);function a(e){const t=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),n.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3e53f2d3.cca3105d.js b/assets/js/3e53f2d3.cca3105d.js new file mode 100644 index 000000000..b3ca310cd --- /dev/null +++ b/assets/js/3e53f2d3.cca3105d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[22292],{64624:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>d,frontMatter:()=>s,metadata:()=>o,toc:()=>h});var n=i(17624),r=i(4552);const s={id:"enrichment",title:"Enrichment"},a=void 0,o={id:"features/enrichment",title:"Enrichment",description:"Enrichment",source:"@site/forms/features/enrichment.md",sourceDirName:"features",slug:"/features/enrichment",permalink:"/forms/features/enrichment",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"enrichment",title:"Enrichment"},sidebar:"forms",previous:{title:"Conditional tags",permalink:"/forms/features/conditional-tags"},next:{title:"Geolocation",permalink:"/forms/features/geolocation"}},l={},h=[{value:"Enrichment",id:"enrichment",level:2},{value:"How will this help me?",id:"how-will-this-help-me",level:3},{value:"How does it work?",id:"how-does-it-work",level:3},{value:"How long does the data stay in the storage?",id:"how-long-does-the-data-stay-in-the-storage",level:3},{value:"How to map parameters?",id:"how-to-map-parameters",level:3},{value:"Prefill from storage",id:"prefill-from-storage",level:2},{value:"Prefill from URL",id:"prefill-from-url",level:2}];function c(e){const t={admonition:"admonition",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",...(0,r.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h2,{id:"enrichment",children:"Enrichment"}),"\n",(0,n.jsxs)(t.p,{children:["This feature considers various user data elements to create a comprehensive and precise representation of their activity. To activate enrichment, map the ",(0,n.jsx)(t.code,{children:"URL"})," or ",(0,n.jsx)(t.code,{children:"cookie"})," values with the relevant form fields."]}),"\n",(0,n.jsx)(t.h3,{id:"how-will-this-help-me",children:"How will this help me?"}),"\n",(0,n.jsx)(t.p,{children:"With this feature, users can visit your form and leave without submitting it. You will know where they originated if they return to the same form. This way, you can increase your conversion rate."}),"\n",(0,n.jsx)(t.h3,{id:"how-does-it-work",children:"How does it work?"}),"\n",(0,n.jsxs)(t.p,{children:["By providing a parameters map in settings, forms can read users ",(0,n.jsx)(t.code,{children:"cookies"})," and ",(0,n.jsx)(t.code,{children:"URL"})," parameters and store that data in the users ",(0,n.jsx)(t.code,{children:"localStorage"}),". This data is updated every time the user lands on any pages containing the forms."]}),"\n",(0,n.jsx)(t.p,{children:"For example, if the user first time lands on this page:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{children:" https://infinum.com/?utm_content=test\n"})}),"\n",(0,n.jsxs)(t.p,{children:["and you have provided the corresponding parameter mapping in the settings. Forms will store the GET parameters in the ",(0,n.jsx)(t.code,{children:"local storage"})," and use it to prefill the form fields."]}),"\n",(0,n.jsx)(t.admonition,{type:"note",children:(0,n.jsx)(t.p,{children:"Forms only store parameters defined in the mapping."})}),"\n",(0,n.jsxs)(t.p,{children:["Next time, if the user returns to the same page without this parameter, forms will use the value from ",(0,n.jsx)(t.code,{children:"local storage"})," if the storage is still valid."]}),"\n",(0,n.jsx)(t.h3,{id:"how-long-does-the-data-stay-in-the-storage",children:"How long does the data stay in the storage?"}),"\n",(0,n.jsx)(t.p,{children:"By default, the data is stored for 30 days. You can change this value in the settings."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Enrichment screen",src:i(46224).c+"",width:"623",height:"408"})}),"\n",(0,n.jsx)(t.h3,{id:"how-to-map-parameters",children:"How to map parameters?"}),"\n",(0,n.jsxs)(t.p,{children:["First, you provide the list of all the ",(0,n.jsx)(t.code,{children:"cookies"})," and ",(0,n.jsx)(t.code,{children:"URL"})," parameters you want to use."]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Enrichment params screen",src:i(18672).c+"",width:"630",height:"674"})}),"\n",(0,n.jsx)(t.p,{children:"Next, you need to map them with the corresponding form fields by providing the field names."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Enrichment map screen",src:i(88722).c+"",width:"640",height:"612"})}),"\n",(0,n.jsx)(t.p,{children:"You can map multiple fields with the same parameter by separating the field names with a comma."}),"\n",(0,n.jsx)(t.admonition,{type:"caution",children:(0,n.jsx)(t.p,{children:"The field name will match the mapped fields on every form in your project."})}),"\n",(0,n.jsx)(t.h2,{id:"prefill-from-storage",children:"Prefill from storage"}),"\n",(0,n.jsx)(t.p,{children:"If a user doesn't finish submitting a form, the enrichment prefill feature remembers their inputs in localStorage. When they visit the form again, the prefill feature will automatically input the previous data. However, if the form is successfully submitted, this data will be erased."}),"\n",(0,n.jsx)(t.admonition,{type:"caution",children:(0,n.jsx)(t.p,{children:"It is important to disclose this in your site's Privacy policy."})}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Enrichment prefill storage map screen",src:i(42832).c+"",width:"621",height:"574"})}),"\n",(0,n.jsx)(t.h2,{id:"prefill-from-url",children:"Prefill from URL"}),"\n",(0,n.jsx)(t.p,{children:"The same as prefill from storage, prefill from URL will prefill the form fields if the user has data in the URL. This way, your form can be shared with prefilled data."}),"\n",(0,n.jsx)(t.admonition,{type:"caution",children:(0,n.jsx)(t.p,{children:"It is important to disclose this in your site's Privacy policy."})}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Enrichment prefill url map screen",src:i(70328).c+"",width:"619",height:"363"})})]})}function d(e={}){const{wrapper:t}={...(0,r.M)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},88722:(e,t,i)=>{i.d(t,{c:()=>n});const n=i.p+"assets/images/enrichment-map-3cdc790a4a39a3387b55ca81cfaad4d4.webp"},18672:(e,t,i)=>{i.d(t,{c:()=>n});const n=i.p+"assets/images/enrichment-params-e61afde0a454cf94d905a3d7ce83ae34.webp"},42832:(e,t,i)=>{i.d(t,{c:()=>n});const n=i.p+"assets/images/enrichment-storage-9cdc11ab6e1f41cf8ebc17255a1294a8.webp"},70328:(e,t,i)=>{i.d(t,{c:()=>n});const n=i.p+"assets/images/enrichment-url-d1598fb59e6e1a5aac9b3e70339d752a.webp"},46224:(e,t,i)=>{i.d(t,{c:()=>n});const n=i.p+"assets/images/enrichment-61ef1875c83a7bab023a30b115aa25f6.webp"},4552:(e,t,i)=>{i.d(t,{I:()=>o,M:()=>a});var n=i(11504);const r={},s=n.createContext(r);function a(e){const t=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),n.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3ed2c247.31de9844.js b/assets/js/3ed2c247.31de9844.js new file mode 100644 index 000000000..9f10509e0 --- /dev/null +++ b/assets/js/3ed2c247.31de9844.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[23108],{44092:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>o,contentTitle:()=>i,default:()=>c,frontMatter:()=>s,metadata:()=>l,toc:()=>p});var a=n(17624),r=n(4552);const s={id:"blocks-styles",title:"Styles"},i=void 0,l={id:"legacy/v8/basics/blocks-styles",title:"Styles",description:"docs-source",source:"@site/docs/legacy/v8/basics/blocks-styles.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/blocks-styles",permalink:"/docs/legacy/v8/basics/blocks-styles",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-styles",title:"Styles"},sidebar:"docs",previous:{title:"Reusable Blocks",permalink:"/docs/legacy/v8/basics/blocks-reusable"},next:{title:"Storybook",permalink:"/docs/legacy/v8/basics/blocks-storybook"}},o={},p=[{value:"Setup",id:"setup",level:2},{value:"Details",id:"details",level:2},{value:"Global variables",id:"global-variables",level:2},{value:"Variables",id:"variables",level:2},{value:"Default type",id:"default-type",level:2},{value:"Value type",id:"value-type",level:2},{value:"Editor variables",id:"editor-variables",level:2},{value:"Manual variables",id:"manual-variables",level:2},{value:"Manual variables inside the Block editor",id:"manual-variables-inside-the-block-editor",level:2},{value:"Additional options and examples",id:"additional-options-and-examples",level:2},{value:"Color",id:"color",level:3},{value:"Responsive",id:"responsive",level:3},{value:"Responsive Inverse",id:"responsive-inverse",level:3},{value:"Attribute value replacement",id:"attribute-value-replacement",level:3},{value:"Responsive variables",id:"responsive-variables",level:2}];function d(t){const e={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",strong:"strong",...(0,r.M)(),...t.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(e.p,{children:(0,a.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,a.jsx)(e.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,a.jsx)(e.p,{children:"We decided to remove all support for IE 11. That decision opened up doors that lead to new, awesome features and all the cool stuff. One of those features is CSS variables with block manifest and global settings."}),"\n",(0,a.jsx)(e.p,{children:"Let's dig into the implementation of CSS variables in your project."}),"\n",(0,a.jsx)(e.h2,{id:"setup",children:"Setup"}),"\n",(0,a.jsxs)(e.p,{children:["To be able to use CSS variables you need to implement two helpers in your blocks/components: ",(0,a.jsx)(e.code,{children:"outputCssVariables"})," and ",(0,a.jsx)(e.code,{children:"getUnique"}),". For more details on these helpers, you can read ",(0,a.jsx)(e.a,{href:"helpers-javascript",children:"here"}),"."]}),"\n",(0,a.jsx)(e.p,{children:"There are a few differences between the JavaScript and PHP implementation due to a way React handles component re-rendering."}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"JavaScript component:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-js",children:"import React, { useMemo } from 'react';\nimport { outputCssVariables, getUnique } from '@eightshift/frontend-libs/scripts';\nimport manifest from '../manifest.json';\nimport globalManifest from './../../../manifest.json';\n\nexport const TypographyEditor = (attributes) => {\n\n\t// We need to use memo in order to optimise component re-rendering.\n\tconst unique = useMemo(() => getUnique(), []);\n\n\treturn (\n\t\t<>\n\t\t\t{outputCssVariables(attributes, manifest, unique, globalManifest)}\n\n\t\t\t
\n\t\t\t\t{/*Regular component implementation*/}\n\t\t\t
\n\t\t\n\t);\n};\n"})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"PHP view:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-php",children:'use EightshiftLibs\\Helpers\\Components;\n\n$globalManifest = Components::getManifest(dirname(__DIR__, 2));\n$manifest = Components::getManifest(__DIR__);\n\n$unique = Components::getUnique();\n\n?>\n\n
\n\t\n\t// Regular component implementation\n
\n'})}),"\n",(0,a.jsx)(e.p,{children:"Now that we have helpers in place, let's see how they work and what features they offer."}),"\n",(0,a.jsx)(e.h2,{id:"details",children:"Details"}),"\n",(0,a.jsxs)(e.p,{children:["CSS variables helper consists of 2 helpers. ",(0,a.jsx)(e.code,{children:"outputCssVariables"})," helper will output all CSS variables set in your blocks/component manifest and ",(0,a.jsx)(e.code,{children:"getUnique"})," helper will make sure that variables are applied only to the exact block/component."]}),"\n",(0,a.jsx)(e.p,{children:"If you check your rendered website you can see that you have something like this:"}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-html",children:'
\n\t\n\t...\n
\n'})}),"\n",(0,a.jsx)(e.p,{children:"This is all that's required for the magic of CSS variables to work! Now let's see it in action and check out all additional features you can use."}),"\n",(0,a.jsx)(e.h2,{id:"global-variables",children:"Global variables"}),"\n",(0,a.jsxs)(e.p,{children:["Now that we know how CSS variables are generated, we have one more helper to describe.\nThe ",(0,a.jsx)(e.code,{children:"outputCssVariablesGlobal(globalSettings);"})," helper is called in the ",(0,a.jsx)(e.code,{children:"application-blocks-editor.js"})," file. It is used to output all CSS variables from the global manifest under the ",(0,a.jsx)(e.code,{children:"globalVariables"})," key, into the ",(0,a.jsx)(e.code,{children:":root"})," selector."]}),"\n",(0,a.jsx)(e.admonition,{title:":es-hide-title:",type:"note",children:(0,a.jsx)(e.p,{children:"All of these variables are available to use inside any blocks/components."})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Global Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"namespace": "eightshift-boilerplate",\n\t"background": "#D8262C",\n\t"foreground": "#FFFFFF",\n\t"globalVariables": {\n\t\t"customBlocksName": "eightshift-block",\n\t\t"maxCols": 12,\n\t\t"breakpoints": {\n\t\t\t"mobile": 479,\n\t\t\t"tablet": 1279,\n\t\t\t"desktop": 1919,\n\t\t\t"large": 1920\n\t\t},\n\t\t"containers": {\n\t\t\t"default": "1330px"\n\t\t},\n\t\t"gutters": {\n\t\t\t"none": "0",\n\t\t\t"default": "25px",\n\t\t\t"big": "50px"\n\t\t},\n\t\t"sectionSpacing": {\n\t\t\t"min": -300,\n\t\t\t"max": 300,\n\t\t\t"step": 10\n\t\t},\n\t\t"sectionInSpacing": {\n\t\t\t"min": 0,\n\t\t\t"max": 300,\n\t\t\t"step": 10\n\t\t},\n\t\t"colors": [\n\t\t\t{\n\t\t\t\t"name": "Black",\n\t\t\t\t"slug": "black",\n\t\t\t\t"color": "#111111"\n\t\t\t},\n\t\t\t{\n\t\t\t\t"name": "White",\n\t\t\t\t"slug": "white",\n\t\t\t\t"color": "#FFFFFF"\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-html",children:"\n"})}),"\n",(0,a.jsx)(e.p,{children:"You can use a global variable like any other CSS variable:"}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"color: var(--global-colors-white);\n"})}),"\n",(0,a.jsx)(e.h2,{id:"variables",children:"Variables"}),"\n",(0,a.jsx)(e.p,{children:"As we said in the beginning, all CSS variables are defined within the block/component manifest."}),"\n",(0,a.jsxs)(e.p,{children:["To output an attribute as a CSS variable, you need to set the ",(0,a.jsx)(e.code,{children:"variables"})," key in the block/component ",(0,a.jsx)(e.code,{children:"manifest"})," and define the variable markdown."]}),"\n",(0,a.jsx)(e.p,{children:"All css variables are prepared and ready to be used in the responsive manner."}),"\n",(0,a.jsx)(e.h2,{id:"default-type",children:"Default type"}),"\n",(0,a.jsxs)(e.p,{children:["Variable ",(0,a.jsx)(e.code,{children:"default"})," will output all variables from the list no matter what you have selected in the attribute. You can use unlimited variables."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographySize": {\n\t\t\t"type": "string",\n\t\t\t"default": "120-default"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographySize": [\n\t\t\t{\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "120px",\n\t\t\t\t\t"typography-line-height": "calc(var(--typography-size) * 1.2)"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--typography-size: 120px;\n--typography-line-height: 144px;\n"})}),"\n",(0,a.jsx)(e.h2,{id:"value-type",children:"Value type"}),"\n",(0,a.jsxs)(e.p,{children:["Variable ",(0,a.jsx)(e.code,{children:"value"})," will output all variables depending on attributes value. Everything else is the same as in the default type."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographySize": {\n\t\t\t"type": "string",\n\t\t\t"default": "120-default"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographySize": {\n\t\t\t"120-default": [\n\t\t\t\t{\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"typography-size": "120px",\n\t\t\t\t\t\t"typography-line-height": "calc(var(--typography-size) * 1.2)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--typography-size: 120px;\n--typography-line-height: 144px;\n"})}),"\n",(0,a.jsx)(e.h2,{id:"editor-variables",children:"Editor variables"}),"\n",(0,a.jsxs)(e.p,{children:["Editor variables behave just like regular ",(0,a.jsx)(e.code,{children:"variables"}),", except they are output only inside the Block Editor.\nThey are mostly used for overriding specific behaviour, e.g. showing a hidden element as half-transparent instead of hiding it completely."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentName": "wrapper",\n\t"title": "Wrapper",\n\t"componentClass": "wrapper",\n\t"attributes": {\n\t\t"wrapperHide": {\n\t\t\t"type": "boolean",\n\t\t\t"default": false\n\t\t}\n\t},\n\t"variables": {\n\t\t"wrapperHide": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t}\n\t},\n\t"variablesEditor": {\n\t\t"wrapperHide": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display-opacity": "0.5",\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--wrapper-display: none;\n--wrapper-display-opacity: 0.5;\n--wrapper-display: var(--wrapper-display-type, grid);\n"})}),"\n",(0,a.jsx)(e.h2,{id:"manual-variables",children:"Manual variables"}),"\n",(0,a.jsxs)(e.p,{children:["Custom CSS variables can be generated and output independently from all the attributes through the ",(0,a.jsx)(e.code,{children:"variablesCustom"})," key. Add it inside the manifest (top level) and add each variable as an array item.\nManual variables will be added at the end of the output."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"attributes": {\n\t\t// ...\n\t},\n\t"variablesCustom": [\n\t\t"--variable1: test1",\n\t\t"--variable2: test2",\n\t\t"--variable3: test3"\n\t]\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--variable1: test1;\n--variable2: test2;\n--variable3: test3;\n"})}),"\n",(0,a.jsx)(e.h2,{id:"manual-variables-inside-the-block-editor",children:"Manual variables inside the Block editor"}),"\n",(0,a.jsxs)(e.p,{children:["If you want to add manual variables that only apply inside the Block editor you can use the ",(0,a.jsx)(e.code,{children:"variablesCustomEditor"})," key. Everything works the same as described in the ",(0,a.jsx)(e.strong,{children:"Manual variables"})," section.\nIf you define both ",(0,a.jsx)(e.code,{children:"variablesCustomEditor"})," and ",(0,a.jsx)(e.code,{children:"variables"}),", both will be output in the editor, but only ",(0,a.jsx)(e.code,{children:"variables"})," will be output on the frontend."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"attributes": {\n\t\t// ...\n\t},\n\t"variablesCustomEditor": [\n\t\t"--variable1: test1",\n\t\t"--variable2: test2",\n\t\t"--variable3: test3"\n\t]\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--variable1: test1;\n--variable2: test2;\n--variable3: test3;\n"})}),"\n",(0,a.jsx)(e.h2,{id:"additional-options-and-examples",children:"Additional options and examples"}),"\n",(0,a.jsx)(e.h3,{id:"color",children:"Color"}),"\n",(0,a.jsx)(e.p,{children:"Here is an example how to output global variable as a css variable."}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographyColor": {\n\t\t\t"type": "string",\n\t\t\t"default": "white"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographyColor": [\n\t\t\t{\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-color": "var(--global-colors-white)"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--typography-color: var(--global-colors-white);\n"})}),"\n",(0,a.jsx)(e.h3,{id:"responsive",children:"Responsive"}),"\n",(0,a.jsx)(e.p,{children:"All variables are prepared to be responsive. If you set multiple keys in the manifest list that variable will be outputted in the correct media query. Breakpoints are taken from the global manifest and the order of the output breakpoints."}),"\n",(0,a.jsx)(e.admonition,{title:"Important",type:"caution",children:(0,a.jsx)(e.p,{children:"Global breakpoints must follow the convention from the smallest size to the largest."})}),"\n",(0,a.jsx)(e.p,{children:"If you don't specify breakpoint key, that item will not be wrapped in the media query."}),"\n",(0,a.jsx)(e.p,{children:"If you write breakpoint that isn't defined in the global manifest, that condition will be ignored."}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographySize": {\n\t\t\t"type": "string",\n\t\t\t"default": "120-default"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographySize": [\n\t\t\t{\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "30px"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t"breakpoint": "tablet",\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "80px"\n\t\t\t\t}\n\t\t\t}\n\t\t\t{\n\t\t\t\t"breakpoint": "large",\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "120px"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:".typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t--typography-size: 30px;\n}\n\n@media(min-width: 1279px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 80px;\n\t}\n}\n\n@media(min-width: 1920px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 120px;\n\t}\n}\n"})}),"\n",(0,a.jsx)(e.h3,{id:"responsive-inverse",children:"Responsive Inverse"}),"\n",(0,a.jsxs)(e.p,{children:["By default, we use mobile first approach but if you need desktop first you can use ",(0,a.jsx)(e.code,{children:"inverse: true"})," key."]}),"\n",(0,a.jsx)(e.admonition,{type:"note",children:(0,a.jsx)(e.p,{children:"If you have multiple mobile/desktop-first breakpoints, output will sort them mobile first and then desktop first after that."})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographySize": {\n\t\t\t"type": "string",\n\t\t\t"default": "120-default"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographySize": [\n\t\t\t{\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "120px"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t"breakpoint": "tablet",\n\t\t\t\t"inverse": true,\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "80px"\n\t\t\t\t}\n\t\t\t}\n\t\t\t{\n\t\t\t\t"breakpoint": "mobile",\n\t\t\t\t"inverse": true,\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "320px"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:".typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t--typography-size: 120px;\n}\n\n@media(max-width: 1279px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 80px;\n\t}\n}\n\n@media(max-width: 479px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 30px;\n\t}\n}\n"})}),"\n",(0,a.jsx)(e.h3,{id:"attribute-value-replacement",children:"Attribute value replacement"}),"\n",(0,a.jsxs)(e.p,{children:["Attribute value replacement variable is used to return the attribute value where you want it in the css variables. To use it just put ",(0,a.jsx)(e.code,{children:"%value%"})," in you css variables."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographySize": {\n\t\t\t"type": "string",\n\t\t\t"default": "120"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographySize": [\n\t\t\t{\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "30px"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t"breakpoint": "tablet",\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "80px"\n\t\t\t\t}\n\t\t\t}\n\t\t\t{\n\t\t\t\t"breakpoint": "large",\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "%value%px"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:".typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t--typography-size: 30px;\n}\n\n@media(min-width: 1279px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 80px;\n\t}\n}\n\n@media(min-width: 1920px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 120px;\n\t}\n}\n"})}),"\n",(0,a.jsx)(e.h2,{id:"responsive-variables",children:"Responsive variables"}),"\n",(0,a.jsxs)(e.p,{children:["Responsive variables are used for eliminating unnecessary code duplication. For example, if you have 4 separate attributes used for setting a responsive variable where all the attributes have the same output (e.g. ",(0,a.jsx)(e.code,{children:"%value%"}),"), the variables can get cluttered rather quickly."]}),"\n",(0,a.jsxs)(e.p,{children:["In a top-level manifest key ",(0,a.jsx)(e.code,{children:"responsiveAttributes"}),", you can place a new key (e.g. ",(0,a.jsx)(e.code,{children:"wrapperHide"}),") that represents a common key for your responsive variables. Inside it, you can list your responsive variables (e.g. ",(0,a.jsx)(e.code,{children:"wrapperHideLarge"}),", ",(0,a.jsx)(e.code,{children:"wrapperHideDesktop"}),", ",(0,a.jsx)(e.code,{children:"wrapperHideTablet"}),", ",(0,a.jsx)(e.code,{children:"wrapperHideMobile"}),") as a key-value pair. The key represents a breakpoint name, and the value represents responsive variable(",(0,a.jsx)(e.code,{children:"breakpoint"}),": ",(0,a.jsx)(e.code,{children:"responsiveVariableName"}),"). Afterwards, you can add that common key inside the ",(0,a.jsx)(e.code,{children:"variables"})," (and/or ",(0,a.jsx)(e.code,{children:"variablesEditor"}),") key and configure the output template."]}),"\n",(0,a.jsxs)(e.p,{children:["Best practice is to have the attributes named consistently with your breakpoints - in the ",(0,a.jsx)(e.strong,{children:(0,a.jsx)(e.code,{children:"variableName``breakpointName"})})," format (see example below)."]}),"\n",(0,a.jsx)(e.admonition,{type:"tip",children:(0,a.jsxs)(e.p,{children:["If you need an extra variable, or are overriding some of the auto-generated variables (from the helper), the variables will be output after the responsive variables. (see ",(0,a.jsx)(e.strong,{children:"Example 2"}),")"]})}),"\n",(0,a.jsx)(e.admonition,{type:"note",children:(0,a.jsxs)(e.p,{children:["Order of responsive attributes is important since generating variables relies on that order. Make sure to use the ",(0,a.jsx)(e.code,{children:"inverse"})," option properly."]})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Example 1"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentName": "wrapper",\n\t"title": "Wrapper",\n\t"componentClass": "wrapper",\n\t"attributes": {\n\t\t"wrapperHideLarge": {\n\t\t\t"type": "boolean",\n\t\t\t"default": false\n\t\t},\n\t\t"wrapperHideDesktop": {\n\t\t\t"type": "boolean"\n\t\t},\n\t\t"wrapperHideTablet": {\n\t\t\t"type": "boolean"\n\t\t}\n\t},\n\t"responsiveAttributes": {\n\t\t"wrapperHide": {\n\t\t\t"large": "wrapperHideLarge",\n\t\t\t"desktop": "wrapperHideDesktop",\n\t\t\t"tablet": "wrapperHideTablet"\n\t\t}\n\t},\n\t"variables": {\n\t\t"wrapperHide": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t\t"false": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Transformed:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentName": "wrapper",\n\t"title": "Wrapper",\n\t"componentClass": "wrapper",\n\t"attributes": {\n\t\t"wrapperHide": {\n\t\t\t"type": "boolean",\n\t\t\t"default": false\n\t\t}\n\t},\n\t"responsiveAttributes": {\n\t\t"wrapperHideLarge": {\n\t\t\t"type": "boolean",\n\t\t\t"default": false\n\t\t},\n\t\t"wrapperHideDesktop": {\n\t\t\t"type": "boolean"\n\t\t},\n\t\t"wrapperHideTablet": {\n\t\t\t"type": "boolean"\n\t\t}\n\t},\n\t"variables": {\n\t\t"wrapperHideLarge": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t\t"false": [\n\t\t\t\t{\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t"wrapperHideDesktop": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"breakpoint": "desktop",\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t\t"false": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"breakpoint": "desktop",\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t"wrapperHideTablet": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"breakpoint": "desktop",\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t\t"false": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"breakpoint": "desktop",\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:".wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t--wrapper-display: var(--wrapper-display-type, grid);\n}\n@media(max-width: 1920px) {\n\t.wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--wrapper-display: none;\n\t}\n}\n@media(max-width: 1279px) {\n\t.wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--wrapper-display: var(--wrapper-display-type, grid);\n\t}\n}\n\n"})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Example 2"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentName": "wrapper",\n\t"title": "Wrapper",\n\t"componentClass": "wrapper",\n\t"attributes": {\n\t\t"wrapperHideLarge": {\n\t\t\t"type": "boolean",\n\t\t\t"default": false\n\t\t},\n\t\t"wrapperHideDesktop": {\n\t\t\t"type": "boolean"\n\t\t},\n\t\t"wrapperHideTablet": {\n\t\t\t"type": "boolean"\n\t\t}\n\t},\n\t"responsiveAttributes": {\n\t\t"wrapperHide": {\n\t\t\t"large": "wrapperHideLarge",\n\t\t\t"desktop": "wrapperHideDesktop",\n\t\t\t"tablet": "wrapperHideTablet"\n\t\t}\n\t},\n\t"variables": {\n\t\t"wrapperHide": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t\t"false": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t"wrapperHideLarge": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "block",\n\t\t\t\t\t\t"wrapper-opacity": 0\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t}\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:".wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t--wrapper-display: none;\n\t--wrapper-display: block;\n\t--wrapper-opacity: 0;\n}\n"})})]})}function c(t={}){const{wrapper:e}={...(0,r.M)(),...t.components};return e?(0,a.jsx)(e,{...t,children:(0,a.jsx)(d,{...t})}):d(t)}},4552:(t,e,n)=>{n.d(e,{I:()=>l,M:()=>i});var a=n(11504);const r={},s=a.createContext(r);function i(t){const e=a.useContext(s);return a.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(r):t.components||r:i(t.components),a.createElement(s.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/3ed2c247.acedf7ca.js b/assets/js/3ed2c247.acedf7ca.js deleted file mode 100644 index 096a9eb39..000000000 --- a/assets/js/3ed2c247.acedf7ca.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[70702],{41882:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>o,contentTitle:()=>i,default:()=>c,frontMatter:()=>s,metadata:()=>l,toc:()=>p});var a=n(85893),r=n(11151);const s={id:"blocks-styles",title:"Styles"},i=void 0,l={id:"legacy/v8/basics/blocks-styles",title:"Styles",description:"docs-source",source:"@site/docs/legacy/v8/basics/blocks-styles.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/blocks-styles",permalink:"/docs/legacy/v8/basics/blocks-styles",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-styles",title:"Styles"},sidebar:"docs",previous:{title:"Reusable Blocks",permalink:"/docs/legacy/v8/basics/blocks-reusable"},next:{title:"Storybook",permalink:"/docs/legacy/v8/basics/blocks-storybook"}},o={},p=[{value:"Setup",id:"setup",level:2},{value:"Details",id:"details",level:2},{value:"Global variables",id:"global-variables",level:2},{value:"Variables",id:"variables",level:2},{value:"Default type",id:"default-type",level:2},{value:"Value type",id:"value-type",level:2},{value:"Editor variables",id:"editor-variables",level:2},{value:"Manual variables",id:"manual-variables",level:2},{value:"Manual variables inside the Block editor",id:"manual-variables-inside-the-block-editor",level:2},{value:"Additional options and examples",id:"additional-options-and-examples",level:2},{value:"Color",id:"color",level:3},{value:"Responsive",id:"responsive",level:3},{value:"Responsive Inverse",id:"responsive-inverse",level:3},{value:"Attribute value replacement",id:"attribute-value-replacement",level:3},{value:"Responsive variables",id:"responsive-variables",level:2}];function d(t){const e={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",strong:"strong",...(0,r.a)(),...t.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(e.p,{children:(0,a.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,a.jsx)(e.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,a.jsx)(e.p,{children:"We decided to remove all support for IE 11. That decision opened up doors that lead to new, awesome features and all the cool stuff. One of those features is CSS variables with block manifest and global settings."}),"\n",(0,a.jsx)(e.p,{children:"Let's dig into the implementation of CSS variables in your project."}),"\n",(0,a.jsx)(e.h2,{id:"setup",children:"Setup"}),"\n",(0,a.jsxs)(e.p,{children:["To be able to use CSS variables you need to implement two helpers in your blocks/components: ",(0,a.jsx)(e.code,{children:"outputCssVariables"})," and ",(0,a.jsx)(e.code,{children:"getUnique"}),". For more details on these helpers, you can read ",(0,a.jsx)(e.a,{href:"helpers-javascript",children:"here"}),"."]}),"\n",(0,a.jsx)(e.p,{children:"There are a few differences between the JavaScript and PHP implementation due to a way React handles component re-rendering."}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"JavaScript component:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-js",children:"import React, { useMemo } from 'react';\nimport { outputCssVariables, getUnique } from '@eightshift/frontend-libs/scripts';\nimport manifest from '../manifest.json';\nimport globalManifest from './../../../manifest.json';\n\nexport const TypographyEditor = (attributes) => {\n\n\t// We need to use memo in order to optimise component re-rendering.\n\tconst unique = useMemo(() => getUnique(), []);\n\n\treturn (\n\t\t<>\n\t\t\t{outputCssVariables(attributes, manifest, unique, globalManifest)}\n\n\t\t\t
\n\t\t\t\t{/*Regular component implementation*/}\n\t\t\t
\n\t\t\n\t);\n};\n"})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"PHP view:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-php",children:'use EightshiftLibs\\Helpers\\Components;\n\n$globalManifest = Components::getManifest(dirname(__DIR__, 2));\n$manifest = Components::getManifest(__DIR__);\n\n$unique = Components::getUnique();\n\n?>\n\n
\n\t\n\t// Regular component implementation\n
\n'})}),"\n",(0,a.jsx)(e.p,{children:"Now that we have helpers in place, let's see how they work and what features they offer."}),"\n",(0,a.jsx)(e.h2,{id:"details",children:"Details"}),"\n",(0,a.jsxs)(e.p,{children:["CSS variables helper consists of 2 helpers. ",(0,a.jsx)(e.code,{children:"outputCssVariables"})," helper will output all CSS variables set in your blocks/component manifest and ",(0,a.jsx)(e.code,{children:"getUnique"})," helper will make sure that variables are applied only to the exact block/component."]}),"\n",(0,a.jsx)(e.p,{children:"If you check your rendered website you can see that you have something like this:"}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-html",children:'
\n\t\n\t...\n
\n'})}),"\n",(0,a.jsx)(e.p,{children:"This is all that's required for the magic of CSS variables to work! Now let's see it in action and check out all additional features you can use."}),"\n",(0,a.jsx)(e.h2,{id:"global-variables",children:"Global variables"}),"\n",(0,a.jsxs)(e.p,{children:["Now that we know how CSS variables are generated, we have one more helper to describe.\nThe ",(0,a.jsx)(e.code,{children:"outputCssVariablesGlobal(globalSettings);"})," helper is called in the ",(0,a.jsx)(e.code,{children:"application-blocks-editor.js"})," file. It is used to output all CSS variables from the global manifest under the ",(0,a.jsx)(e.code,{children:"globalVariables"})," key, into the ",(0,a.jsx)(e.code,{children:":root"})," selector."]}),"\n",(0,a.jsx)(e.admonition,{title:":es-hide-title:",type:"note",children:(0,a.jsx)(e.p,{children:"All of these variables are available to use inside any blocks/components."})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Global Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"namespace": "eightshift-boilerplate",\n\t"background": "#D8262C",\n\t"foreground": "#FFFFFF",\n\t"globalVariables": {\n\t\t"customBlocksName": "eightshift-block",\n\t\t"maxCols": 12,\n\t\t"breakpoints": {\n\t\t\t"mobile": 479,\n\t\t\t"tablet": 1279,\n\t\t\t"desktop": 1919,\n\t\t\t"large": 1920\n\t\t},\n\t\t"containers": {\n\t\t\t"default": "1330px"\n\t\t},\n\t\t"gutters": {\n\t\t\t"none": "0",\n\t\t\t"default": "25px",\n\t\t\t"big": "50px"\n\t\t},\n\t\t"sectionSpacing": {\n\t\t\t"min": -300,\n\t\t\t"max": 300,\n\t\t\t"step": 10\n\t\t},\n\t\t"sectionInSpacing": {\n\t\t\t"min": 0,\n\t\t\t"max": 300,\n\t\t\t"step": 10\n\t\t},\n\t\t"colors": [\n\t\t\t{\n\t\t\t\t"name": "Black",\n\t\t\t\t"slug": "black",\n\t\t\t\t"color": "#111111"\n\t\t\t},\n\t\t\t{\n\t\t\t\t"name": "White",\n\t\t\t\t"slug": "white",\n\t\t\t\t"color": "#FFFFFF"\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-html",children:"\n"})}),"\n",(0,a.jsx)(e.p,{children:"You can use a global variable like any other CSS variable:"}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"color: var(--global-colors-white);\n"})}),"\n",(0,a.jsx)(e.h2,{id:"variables",children:"Variables"}),"\n",(0,a.jsx)(e.p,{children:"As we said in the beginning, all CSS variables are defined within the block/component manifest."}),"\n",(0,a.jsxs)(e.p,{children:["To output an attribute as a CSS variable, you need to set the ",(0,a.jsx)(e.code,{children:"variables"})," key in the block/component ",(0,a.jsx)(e.code,{children:"manifest"})," and define the variable markdown."]}),"\n",(0,a.jsx)(e.p,{children:"All css variables are prepared and ready to be used in the responsive manner."}),"\n",(0,a.jsx)(e.h2,{id:"default-type",children:"Default type"}),"\n",(0,a.jsxs)(e.p,{children:["Variable ",(0,a.jsx)(e.code,{children:"default"})," will output all variables from the list no matter what you have selected in the attribute. You can use unlimited variables."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographySize": {\n\t\t\t"type": "string",\n\t\t\t"default": "120-default"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographySize": [\n\t\t\t{\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "120px",\n\t\t\t\t\t"typography-line-height": "calc(var(--typography-size) * 1.2)"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--typography-size: 120px;\n--typography-line-height: 144px;\n"})}),"\n",(0,a.jsx)(e.h2,{id:"value-type",children:"Value type"}),"\n",(0,a.jsxs)(e.p,{children:["Variable ",(0,a.jsx)(e.code,{children:"value"})," will output all variables depending on attributes value. Everything else is the same as in the default type."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographySize": {\n\t\t\t"type": "string",\n\t\t\t"default": "120-default"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographySize": {\n\t\t\t"120-default": [\n\t\t\t\t{\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"typography-size": "120px",\n\t\t\t\t\t\t"typography-line-height": "calc(var(--typography-size) * 1.2)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--typography-size: 120px;\n--typography-line-height: 144px;\n"})}),"\n",(0,a.jsx)(e.h2,{id:"editor-variables",children:"Editor variables"}),"\n",(0,a.jsxs)(e.p,{children:["Editor variables behave just like regular ",(0,a.jsx)(e.code,{children:"variables"}),", except they are output only inside the Block Editor.\nThey are mostly used for overriding specific behaviour, e.g. showing a hidden element as half-transparent instead of hiding it completely."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentName": "wrapper",\n\t"title": "Wrapper",\n\t"componentClass": "wrapper",\n\t"attributes": {\n\t\t"wrapperHide": {\n\t\t\t"type": "boolean",\n\t\t\t"default": false\n\t\t}\n\t},\n\t"variables": {\n\t\t"wrapperHide": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t}\n\t},\n\t"variablesEditor": {\n\t\t"wrapperHide": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display-opacity": "0.5",\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--wrapper-display: none;\n--wrapper-display-opacity: 0.5;\n--wrapper-display: var(--wrapper-display-type, grid);\n"})}),"\n",(0,a.jsx)(e.h2,{id:"manual-variables",children:"Manual variables"}),"\n",(0,a.jsxs)(e.p,{children:["Custom CSS variables can be generated and output independently from all the attributes through the ",(0,a.jsx)(e.code,{children:"variablesCustom"})," key. Add it inside the manifest (top level) and add each variable as an array item.\nManual variables will be added at the end of the output."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"attributes": {\n\t\t// ...\n\t},\n\t"variablesCustom": [\n\t\t"--variable1: test1",\n\t\t"--variable2: test2",\n\t\t"--variable3: test3"\n\t]\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--variable1: test1;\n--variable2: test2;\n--variable3: test3;\n"})}),"\n",(0,a.jsx)(e.h2,{id:"manual-variables-inside-the-block-editor",children:"Manual variables inside the Block editor"}),"\n",(0,a.jsxs)(e.p,{children:["If you want to add manual variables that only apply inside the Block editor you can use the ",(0,a.jsx)(e.code,{children:"variablesCustomEditor"})," key. Everything works the same as described in the ",(0,a.jsx)(e.strong,{children:"Manual variables"})," section.\nIf you define both ",(0,a.jsx)(e.code,{children:"variablesCustomEditor"})," and ",(0,a.jsx)(e.code,{children:"variables"}),", both will be output in the editor, but only ",(0,a.jsx)(e.code,{children:"variables"})," will be output on the frontend."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"attributes": {\n\t\t// ...\n\t},\n\t"variablesCustomEditor": [\n\t\t"--variable1: test1",\n\t\t"--variable2: test2",\n\t\t"--variable3: test3"\n\t]\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--variable1: test1;\n--variable2: test2;\n--variable3: test3;\n"})}),"\n",(0,a.jsx)(e.h2,{id:"additional-options-and-examples",children:"Additional options and examples"}),"\n",(0,a.jsx)(e.h3,{id:"color",children:"Color"}),"\n",(0,a.jsx)(e.p,{children:"Here is an example how to output global variable as a css variable."}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographyColor": {\n\t\t\t"type": "string",\n\t\t\t"default": "white"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographyColor": [\n\t\t\t{\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-color": "var(--global-colors-white)"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--typography-color: var(--global-colors-white);\n"})}),"\n",(0,a.jsx)(e.h3,{id:"responsive",children:"Responsive"}),"\n",(0,a.jsx)(e.p,{children:"All variables are prepared to be responsive. If you set multiple keys in the manifest list that variable will be outputted in the correct media query. Breakpoints are taken from the global manifest and the order of the output breakpoints."}),"\n",(0,a.jsx)(e.admonition,{title:"Important",type:"caution",children:(0,a.jsx)(e.p,{children:"Global breakpoints must follow the convention from the smallest size to the largest."})}),"\n",(0,a.jsx)(e.p,{children:"If you don't specify breakpoint key, that item will not be wrapped in the media query."}),"\n",(0,a.jsx)(e.p,{children:"If you write breakpoint that isn't defined in the global manifest, that condition will be ignored."}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographySize": {\n\t\t\t"type": "string",\n\t\t\t"default": "120-default"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographySize": [\n\t\t\t{\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "30px"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t"breakpoint": "tablet",\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "80px"\n\t\t\t\t}\n\t\t\t}\n\t\t\t{\n\t\t\t\t"breakpoint": "large",\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "120px"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:".typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t--typography-size: 30px;\n}\n\n@media(min-width: 1279px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 80px;\n\t}\n}\n\n@media(min-width: 1920px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 120px;\n\t}\n}\n"})}),"\n",(0,a.jsx)(e.h3,{id:"responsive-inverse",children:"Responsive Inverse"}),"\n",(0,a.jsxs)(e.p,{children:["By default, we use mobile first approach but if you need desktop first you can use ",(0,a.jsx)(e.code,{children:"inverse: true"})," key."]}),"\n",(0,a.jsx)(e.admonition,{type:"note",children:(0,a.jsx)(e.p,{children:"If you have multiple mobile/desktop-first breakpoints, output will sort them mobile first and then desktop first after that."})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographySize": {\n\t\t\t"type": "string",\n\t\t\t"default": "120-default"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographySize": [\n\t\t\t{\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "120px"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t"breakpoint": "tablet",\n\t\t\t\t"inverse": true,\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "80px"\n\t\t\t\t}\n\t\t\t}\n\t\t\t{\n\t\t\t\t"breakpoint": "mobile",\n\t\t\t\t"inverse": true,\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "320px"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:".typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t--typography-size: 120px;\n}\n\n@media(max-width: 1279px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 80px;\n\t}\n}\n\n@media(max-width: 479px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 30px;\n\t}\n}\n"})}),"\n",(0,a.jsx)(e.h3,{id:"attribute-value-replacement",children:"Attribute value replacement"}),"\n",(0,a.jsxs)(e.p,{children:["Attribute value replacement variable is used to return the attribute value where you want it in the css variables. To use it just put ",(0,a.jsx)(e.code,{children:"%value%"})," in you css variables."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographySize": {\n\t\t\t"type": "string",\n\t\t\t"default": "120"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographySize": [\n\t\t\t{\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "30px"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t"breakpoint": "tablet",\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "80px"\n\t\t\t\t}\n\t\t\t}\n\t\t\t{\n\t\t\t\t"breakpoint": "large",\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "%value%px"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:".typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t--typography-size: 30px;\n}\n\n@media(min-width: 1279px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 80px;\n\t}\n}\n\n@media(min-width: 1920px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 120px;\n\t}\n}\n"})}),"\n",(0,a.jsx)(e.h2,{id:"responsive-variables",children:"Responsive variables"}),"\n",(0,a.jsxs)(e.p,{children:["Responsive variables are used for eliminating unnecessary code duplication. For example, if you have 4 separate attributes used for setting a responsive variable where all the attributes have the same output (e.g. ",(0,a.jsx)(e.code,{children:"%value%"}),"), the variables can get cluttered rather quickly."]}),"\n",(0,a.jsxs)(e.p,{children:["In a top-level manifest key ",(0,a.jsx)(e.code,{children:"responsiveAttributes"}),", you can place a new key (e.g. ",(0,a.jsx)(e.code,{children:"wrapperHide"}),") that represents a common key for your responsive variables. Inside it, you can list your responsive variables (e.g. ",(0,a.jsx)(e.code,{children:"wrapperHideLarge"}),", ",(0,a.jsx)(e.code,{children:"wrapperHideDesktop"}),", ",(0,a.jsx)(e.code,{children:"wrapperHideTablet"}),", ",(0,a.jsx)(e.code,{children:"wrapperHideMobile"}),") as a key-value pair. The key represents a breakpoint name, and the value represents responsive variable(",(0,a.jsx)(e.code,{children:"breakpoint"}),": ",(0,a.jsx)(e.code,{children:"responsiveVariableName"}),"). Afterwards, you can add that common key inside the ",(0,a.jsx)(e.code,{children:"variables"})," (and/or ",(0,a.jsx)(e.code,{children:"variablesEditor"}),") key and configure the output template."]}),"\n",(0,a.jsxs)(e.p,{children:["Best practice is to have the attributes named consistently with your breakpoints - in the ",(0,a.jsx)(e.strong,{children:(0,a.jsx)(e.code,{children:"variableName``breakpointName"})})," format (see example below)."]}),"\n",(0,a.jsx)(e.admonition,{type:"tip",children:(0,a.jsxs)(e.p,{children:["If you need an extra variable, or are overriding some of the auto-generated variables (from the helper), the variables will be output after the responsive variables. (see ",(0,a.jsx)(e.strong,{children:"Example 2"}),")"]})}),"\n",(0,a.jsx)(e.admonition,{type:"note",children:(0,a.jsxs)(e.p,{children:["Order of responsive attributes is important since generating variables relies on that order. Make sure to use the ",(0,a.jsx)(e.code,{children:"inverse"})," option properly."]})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Example 1"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentName": "wrapper",\n\t"title": "Wrapper",\n\t"componentClass": "wrapper",\n\t"attributes": {\n\t\t"wrapperHideLarge": {\n\t\t\t"type": "boolean",\n\t\t\t"default": false\n\t\t},\n\t\t"wrapperHideDesktop": {\n\t\t\t"type": "boolean"\n\t\t},\n\t\t"wrapperHideTablet": {\n\t\t\t"type": "boolean"\n\t\t}\n\t},\n\t"responsiveAttributes": {\n\t\t"wrapperHide": {\n\t\t\t"large": "wrapperHideLarge",\n\t\t\t"desktop": "wrapperHideDesktop",\n\t\t\t"tablet": "wrapperHideTablet"\n\t\t}\n\t},\n\t"variables": {\n\t\t"wrapperHide": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t\t"false": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Transformed:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentName": "wrapper",\n\t"title": "Wrapper",\n\t"componentClass": "wrapper",\n\t"attributes": {\n\t\t"wrapperHide": {\n\t\t\t"type": "boolean",\n\t\t\t"default": false\n\t\t}\n\t},\n\t"responsiveAttributes": {\n\t\t"wrapperHideLarge": {\n\t\t\t"type": "boolean",\n\t\t\t"default": false\n\t\t},\n\t\t"wrapperHideDesktop": {\n\t\t\t"type": "boolean"\n\t\t},\n\t\t"wrapperHideTablet": {\n\t\t\t"type": "boolean"\n\t\t}\n\t},\n\t"variables": {\n\t\t"wrapperHideLarge": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t\t"false": [\n\t\t\t\t{\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t"wrapperHideDesktop": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"breakpoint": "desktop",\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t\t"false": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"breakpoint": "desktop",\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t"wrapperHideTablet": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"breakpoint": "desktop",\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t\t"false": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"breakpoint": "desktop",\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:".wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t--wrapper-display: var(--wrapper-display-type, grid);\n}\n@media(max-width: 1920px) {\n\t.wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--wrapper-display: none;\n\t}\n}\n@media(max-width: 1279px) {\n\t.wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--wrapper-display: var(--wrapper-display-type, grid);\n\t}\n}\n\n"})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Example 2"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentName": "wrapper",\n\t"title": "Wrapper",\n\t"componentClass": "wrapper",\n\t"attributes": {\n\t\t"wrapperHideLarge": {\n\t\t\t"type": "boolean",\n\t\t\t"default": false\n\t\t},\n\t\t"wrapperHideDesktop": {\n\t\t\t"type": "boolean"\n\t\t},\n\t\t"wrapperHideTablet": {\n\t\t\t"type": "boolean"\n\t\t}\n\t},\n\t"responsiveAttributes": {\n\t\t"wrapperHide": {\n\t\t\t"large": "wrapperHideLarge",\n\t\t\t"desktop": "wrapperHideDesktop",\n\t\t\t"tablet": "wrapperHideTablet"\n\t\t}\n\t},\n\t"variables": {\n\t\t"wrapperHide": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t\t"false": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t"wrapperHideLarge": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "block",\n\t\t\t\t\t\t"wrapper-opacity": 0\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t}\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:".wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t--wrapper-display: none;\n\t--wrapper-display: block;\n\t--wrapper-opacity: 0;\n}\n"})})]})}function c(t={}){const{wrapper:e}={...(0,r.a)(),...t.components};return e?(0,a.jsx)(e,{...t,children:(0,a.jsx)(d,{...t})}):d(t)}},11151:(t,e,n)=>{n.d(e,{Z:()=>l,a:()=>i});var a=n(67294);const r={},s=a.createContext(r);function i(t){const e=a.useContext(s);return a.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(r):t.components||r:i(t.components),a.createElement(s.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/3f56b28d.ba3c0439.js b/assets/js/3f56b28d.ba3c0439.js new file mode 100644 index 000000000..6d67313d5 --- /dev/null +++ b/assets/js/3f56b28d.ba3c0439.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[48752],{53056:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>i,default:()=>u,frontMatter:()=>r,metadata:()=>c,toc:()=>d});var o=n(17624),s=n(4552);const r={id:"frontend",title:"General"},i=void 0,c={id:"basics/frontend",title:"General",description:"docs-source",source:"@site/docs/basics/frontend.md",sourceDirName:"basics",slug:"/basics/frontend",permalink:"/docs/basics/frontend",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"frontend",title:"General"},sidebar:"docs",previous:{title:"REST Route",permalink:"/docs/basics/rest-route"},next:{title:"Webpack",permalink:"/docs/basics/webpack"}},a={},d=[];function l(e){const t={a:"a",code:"code",img:"img",p:"p",...(0,s.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs",children:(0,o.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsxs)(t.p,{children:["In general, you can use anything as-is from the ",(0,o.jsx)(t.code,{children:"node_modules"})," library, or you can modify/add the functionality in your project."]}),"\n",(0,o.jsxs)(t.p,{children:["Block editor is written using React; we then use React in the block editor. You can read about blocks in this ",(0,o.jsx)(t.a,{href:"blocks",children:"chapter"}),". However, there are other aspects of the project's front-end part you should know in order to use the Eightshift Boilerplate to its full potential."]})]})}function u(e={}){const{wrapper:t}={...(0,s.M)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},4552:(e,t,n)=>{n.d(t,{I:()=>c,M:()=>i});var o=n(11504);const s={},r=o.createContext(s);function i(e){const t=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3f56b28d.e2b5944e.js b/assets/js/3f56b28d.e2b5944e.js deleted file mode 100644 index 7c2324871..000000000 --- a/assets/js/3f56b28d.e2b5944e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[37907],{46761:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>i,default:()=>u,frontMatter:()=>r,metadata:()=>c,toc:()=>d});var o=n(85893),s=n(11151);const r={id:"frontend",title:"General"},i=void 0,c={id:"basics/frontend",title:"General",description:"docs-source",source:"@site/docs/basics/frontend.md",sourceDirName:"basics",slug:"/basics/frontend",permalink:"/docs/basics/frontend",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"frontend",title:"General"},sidebar:"docs",previous:{title:"REST Route",permalink:"/docs/basics/rest-route"},next:{title:"Webpack",permalink:"/docs/basics/webpack"}},a={},d=[];function l(e){const t={a:"a",code:"code",img:"img",p:"p",...(0,s.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs",children:(0,o.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsxs)(t.p,{children:["In general, you can use anything as-is from the ",(0,o.jsx)(t.code,{children:"node_modules"})," library, or you can modify/add the functionality in your project."]}),"\n",(0,o.jsxs)(t.p,{children:["Block editor is written using React; we then use React in the block editor. You can read about blocks in this ",(0,o.jsx)(t.a,{href:"blocks",children:"chapter"}),". However, there are other aspects of the project's front-end part you should know in order to use the Eightshift Boilerplate to its full potential."]})]})}function u(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},11151:(e,t,n)=>{n.d(t,{Z:()=>c,a:()=>i});var o=n(67294);const s={},r=o.createContext(s);function i(e){const t=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3fd111c7.27aca6ff.js b/assets/js/3fd111c7.27aca6ff.js new file mode 100644 index 000000000..90a62f0cb --- /dev/null +++ b/assets/js/3fd111c7.27aca6ff.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[68272],{83928:(t,e,o)=>{o.r(e),o.d(e,{assets:()=>i,contentTitle:()=>r,default:()=>m,frontMatter:()=>a,metadata:()=>l,toc:()=>c});var n=o(17624),s=o(4552);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.M)(),...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.M)(),...t.components};return e?(0,n.jsx)(e,{...t,children:(0,n.jsx)(p,{...t})}):p(t)}},4552:(t,e,o)=>{o.d(e,{I:()=>l,M:()=>r});var n=o(11504);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.db6784d4.js b/assets/js/3fd111c7.db6784d4.js deleted file mode 100644 index 2dd5b4379..000000000 --- a/assets/js/3fd111c7.db6784d4.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[64909],{28124:(t,e,o)=>{o.r(e),o.d(e,{assets:()=>i,contentTitle:()=>r,default:()=>m,frontMatter:()=>s,metadata:()=>l,toc:()=>c});var n=o(85893),a=o(11151);const s={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,a.a)(),...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,a.a)(),...t.components};return e?(0,n.jsx)(e,{...t,children:(0,n.jsx)(p,{...t})}):p(t)}},11151:(t,e,o)=>{o.d(e,{Z:()=>l,a:()=>r});var n=o(67294);const a={},s=n.createContext(a);function r(t){const e=n.useContext(s);return n.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function l(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(a):t.components||a:r(t.components),n.createElement(s.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/40adba6a.326852fc.js b/assets/js/40adba6a.326852fc.js deleted file mode 100644 index 8c01d26e1..000000000 --- a/assets/js/40adba6a.326852fc.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[55582],{46311:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>i,contentTitle:()=>a,default:()=>u,frontMatter:()=>l,metadata:()=>r,toc:()=>c});var s=t(85893),o=t(11151);const l={id:"blocks-global-manifest",title:"Global Manifest"},a=void 0,r={id:"basics/blocks-global-manifest",title:"Global Manifest",description:"docs-source",source:"@site/docs/basics/blocks-global-manifest.md",sourceDirName:"basics",slug:"/basics/blocks-global-manifest",permalink:"/docs/basics/blocks-global-manifest",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-global-manifest",title:"Global Manifest"},sidebar:"docs",previous:{title:"Structure",permalink:"/docs/basics/blocks-structure"},next:{title:"Block Structure",permalink:"/docs/basics/block-structure"}},i={},c=[{value:"Namespace",id:"namespace",level:3},{value:"Background and foreground",id:"background-and-foreground",level:3},{value:"Global variables",id:"global-variables",level:3},{value:"Attributes",id:"attributes",level:3}];function d(e){const n={a:"a",code:"code",h3:"h3",img:"img",p:"p",pre:"pre",...(0,o.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,s.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(n.p,{children:"Global manifest is used to provide all the global configuration to the blocks and components, and much more."}),"\n",(0,s.jsx)(n.p,{children:"Currently, our default global manifest looks like this:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-json",children:'{\n "namespace": "eightshift-boilerplate",\n "background": "#FBF9FF",\n "foreground": "#9973E3",\n "globalVariables": {\n "customBlocksName": "eightshift-block",\n "maxCols": 12,\n "baseFont": "Inter",\n "zIndex": {\n "header": 100,\n "drawer": 99,\n "overlay": 98\n },\n "breakpoints": {\n "mobile": 480,\n "tablet": 960,\n "desktop": 1920,\n "large": 1921\n },\n "containers": {\n "default": "66rem"\n },\n "gutters": {\n "none": "0",\n "default": "1.25rem",\n "big": "2.5rem"\n },\n "sectionSpacing": {\n "min": -300,\n "max": 300,\n "step": 10\n },\n "sectionInSpacing": {\n "min": 0,\n "max": 300,\n "step": 10\n },\n "colors": [\n {\n "name": "Primary",\n "slug": "primary",\n "color": "#9973E3"\n },\n {\n "name": "Black",\n "slug": "black",\n "color": "#000000"\n },\n {\n "name": "Light",\n "slug": "light",\n "color": "#CCCCCC"\n },\n {\n "name": "White",\n "slug": "white",\n "color": "#FFFFFF"\n },\n {\n "name": "Eightshift",\n "slug": "eightshift",\n "color": "#0D3636"\n }\n ]\n }\n}\n'})}),"\n",(0,s.jsx)(n.p,{children:"As you can see, we have some global configuration for blocks and some SCSS variables. Along with these default keys, here you can define anything you need for the project."}),"\n",(0,s.jsx)(n.h3,{id:"namespace",children:"Namespace"}),"\n",(0,s.jsx)(n.p,{children:"All blocks must have a valid block name to be registered. A valid block consists of namespace and block name, like this:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:"eightshift-boilerplate/heading\n"})}),"\n",(0,s.jsx)(n.p,{children:"To remove the need to write namespace multiple times across multiple blocks, we have defined the namespace in the global manifest, and we use it in the block registration process."}),"\n",(0,s.jsxs)(n.p,{children:["If you want to define multiple namespaces for your blocks in a single folder, please refer to the ",(0,s.jsx)(n.a,{href:"block-structure",children:"block-structure"})," chapter for more details."]}),"\n",(0,s.jsx)(n.h3,{id:"background-and-foreground",children:"Background and foreground"}),"\n",(0,s.jsx)(n.p,{children:"Just like a namespace, we use the same logic for icons background and foreground when selecting a block from the list. Here you define global background and foreground for all your custom blocks."}),"\n",(0,s.jsxs)(n.p,{children:["Please refer to the ",(0,s.jsx)(n.a,{href:"block-structure",children:"block-structure"})," chapter for more details on how to override global background and foreground your blocks icon."]}),"\n",(0,s.jsx)(n.h3,{id:"global-variables",children:"Global variables"}),"\n",(0,s.jsxs)(n.p,{children:["These are all the global settings you can use in JavaScript, SCSS, and PHP files. We have covered this topic in more detail in the ",(0,s.jsx)(n.a,{href:"blocks-styles",children:"block-styles"})," chapter."]}),"\n",(0,s.jsx)(n.h3,{id:"attributes",children:"Attributes"}),"\n",(0,s.jsx)(n.p,{children:"We don't have this key in the example, but you can set the default attributes in this file, and they will be applied to all the blocks."}),"\n",(0,s.jsxs)(n.p,{children:["Please refer to the ",(0,s.jsx)(n.a,{href:"blocks-attributes",children:"blocks attributes"})," chapter for more details."]})]})}function u(e={}){const{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},11151:(e,n,t)=>{t.d(n,{Z:()=>r,a:()=>a});var s=t(67294);const o={},l=s.createContext(o);function a(e){const n=s.useContext(l);return s.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(o):e.components||o:a(e.components),s.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/40adba6a.4b0f28e1.js b/assets/js/40adba6a.4b0f28e1.js new file mode 100644 index 000000000..6e9f77ac0 --- /dev/null +++ b/assets/js/40adba6a.4b0f28e1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[56516],{31076:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>i,contentTitle:()=>a,default:()=>u,frontMatter:()=>l,metadata:()=>r,toc:()=>c});var s=t(17624),o=t(4552);const l={id:"blocks-global-manifest",title:"Global Manifest"},a=void 0,r={id:"basics/blocks-global-manifest",title:"Global Manifest",description:"docs-source",source:"@site/docs/basics/blocks-global-manifest.md",sourceDirName:"basics",slug:"/basics/blocks-global-manifest",permalink:"/docs/basics/blocks-global-manifest",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-global-manifest",title:"Global Manifest"},sidebar:"docs",previous:{title:"Structure",permalink:"/docs/basics/blocks-structure"},next:{title:"Block Structure",permalink:"/docs/basics/block-structure"}},i={},c=[{value:"Namespace",id:"namespace",level:3},{value:"Background and foreground",id:"background-and-foreground",level:3},{value:"Global variables",id:"global-variables",level:3},{value:"Attributes",id:"attributes",level:3}];function d(e){const n={a:"a",code:"code",h3:"h3",img:"img",p:"p",pre:"pre",...(0,o.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,s.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(n.p,{children:"Global manifest is used to provide all the global configuration to the blocks and components, and much more."}),"\n",(0,s.jsx)(n.p,{children:"Currently, our default global manifest looks like this:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-json",children:'{\n "namespace": "eightshift-boilerplate",\n "background": "#FBF9FF",\n "foreground": "#9973E3",\n "globalVariables": {\n "customBlocksName": "eightshift-block",\n "maxCols": 12,\n "baseFont": "Inter",\n "zIndex": {\n "header": 100,\n "drawer": 99,\n "overlay": 98\n },\n "breakpoints": {\n "mobile": 480,\n "tablet": 960,\n "desktop": 1920,\n "large": 1921\n },\n "containers": {\n "default": "66rem"\n },\n "gutters": {\n "none": "0",\n "default": "1.25rem",\n "big": "2.5rem"\n },\n "sectionSpacing": {\n "min": -300,\n "max": 300,\n "step": 10\n },\n "sectionInSpacing": {\n "min": 0,\n "max": 300,\n "step": 10\n },\n "colors": [\n {\n "name": "Primary",\n "slug": "primary",\n "color": "#9973E3"\n },\n {\n "name": "Black",\n "slug": "black",\n "color": "#000000"\n },\n {\n "name": "Light",\n "slug": "light",\n "color": "#CCCCCC"\n },\n {\n "name": "White",\n "slug": "white",\n "color": "#FFFFFF"\n },\n {\n "name": "Eightshift",\n "slug": "eightshift",\n "color": "#0D3636"\n }\n ]\n }\n}\n'})}),"\n",(0,s.jsx)(n.p,{children:"As you can see, we have some global configuration for blocks and some SCSS variables. Along with these default keys, here you can define anything you need for the project."}),"\n",(0,s.jsx)(n.h3,{id:"namespace",children:"Namespace"}),"\n",(0,s.jsx)(n.p,{children:"All blocks must have a valid block name to be registered. A valid block consists of namespace and block name, like this:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:"eightshift-boilerplate/heading\n"})}),"\n",(0,s.jsx)(n.p,{children:"To remove the need to write namespace multiple times across multiple blocks, we have defined the namespace in the global manifest, and we use it in the block registration process."}),"\n",(0,s.jsxs)(n.p,{children:["If you want to define multiple namespaces for your blocks in a single folder, please refer to the ",(0,s.jsx)(n.a,{href:"block-structure",children:"block-structure"})," chapter for more details."]}),"\n",(0,s.jsx)(n.h3,{id:"background-and-foreground",children:"Background and foreground"}),"\n",(0,s.jsx)(n.p,{children:"Just like a namespace, we use the same logic for icons background and foreground when selecting a block from the list. Here you define global background and foreground for all your custom blocks."}),"\n",(0,s.jsxs)(n.p,{children:["Please refer to the ",(0,s.jsx)(n.a,{href:"block-structure",children:"block-structure"})," chapter for more details on how to override global background and foreground your blocks icon."]}),"\n",(0,s.jsx)(n.h3,{id:"global-variables",children:"Global variables"}),"\n",(0,s.jsxs)(n.p,{children:["These are all the global settings you can use in JavaScript, SCSS, and PHP files. We have covered this topic in more detail in the ",(0,s.jsx)(n.a,{href:"blocks-styles",children:"block-styles"})," chapter."]}),"\n",(0,s.jsx)(n.h3,{id:"attributes",children:"Attributes"}),"\n",(0,s.jsx)(n.p,{children:"We don't have this key in the example, but you can set the default attributes in this file, and they will be applied to all the blocks."}),"\n",(0,s.jsxs)(n.p,{children:["Please refer to the ",(0,s.jsx)(n.a,{href:"blocks-attributes",children:"blocks attributes"})," chapter for more details."]})]})}function u(e={}){const{wrapper:n}={...(0,o.M)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},4552:(e,n,t)=>{t.d(n,{I:()=>r,M:()=>a});var s=t(11504);const o={},l=s.createContext(o);function a(e){const n=s.useContext(l);return s.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(o):e.components||o:a(e.components),s.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/40bcb702.ad5d08dd.js b/assets/js/40bcb702.ad5d08dd.js new file mode 100644 index 000000000..c6187d3f1 --- /dev/null +++ b/assets/js/40bcb702.ad5d08dd.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[76264],{6016:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>r,contentTitle:()=>t,default:()=>d,frontMatter:()=>l,metadata:()=>i,toc:()=>c});var o=s(17624),a=s(4552);const l={id:"writing-styles",title:"Writing Styles"},t=void 0,i={id:"legacy/v6/basics/writing-styles",title:"Writing Styles",description:"docs-source",source:"@site/docs/legacy/v6/basics/writing-styles.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/writing-styles",permalink:"/docs/legacy/v6/basics/writing-styles",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"writing-styles",title:"Writing Styles"},sidebar:"docs",previous:{title:"Global Settings",permalink:"/docs/legacy/v6/basics/global-settings"},next:{title:"Fonts",permalink:"/docs/legacy/v6/basics/fonts"}},r={},c=[{value:"Never use HEX color values in your files",id:"never-use-hex-color-values-in-your-files",level:3},{value:"Never use the actual color name as a variable name",id:"never-use-the-actual-color-name-as-a-variable-name",level:3},{value:"All external variables must go to a components map",id:"all-external-variables-must-go-to-a-components-map",level:3},{value:"Never mix multiple maps in a single component",id:"never-mix-multiple-maps-in-a-single-component",level:3},{value:"Where can I define global typography for all my blocks/components?",id:"where-can-i-define-global-typography-for-all-my-blockscomponents",level:3}];function h(e){const n={a:"a",blockquote:"blockquote",code:"code",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0",children:(0,o.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsxs)(n.p,{children:["This chapter is only relevant in setups that don't use CSS variables. If you are using CSS variables please skip to the ",(0,o.jsx)(n.a,{href:"blocks-styles",children:"Blocks Styles chapter"})," chapter."]}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:"Everyone says that writing styles is easy and that is usually doesn't require a lot of thinking. But, like everything in programming, if you don't think about it, the problems add up, and you end up with a headache."}),"\n",(0,o.jsx)(n.p,{children:"Here are some of the recommendations that we use when writing our styles. It's also how we manage everything to be as modular as possible."}),"\n",(0,o.jsx)(n.h3,{id:"never-use-hex-color-values-in-your-files",children:"Never use HEX color values in your files"}),"\n",(0,o.jsx)(n.p,{children:"Like in Bootstrap or any other front-end framework, you should never use hex color values in multiple places. You should assign that hex value to a variable and use that variable all over. That way, if you ever need to change the color, simply change the value in one place and it will be consistently applied all over the project."}),"\n",(0,o.jsxs)(n.p,{children:["You can read more about defining your colors in the ",(0,o.jsx)(n.a,{href:"global-settings",children:"global settings"})," chapter."]}),"\n",(0,o.jsx)(n.h3,{id:"never-use-the-actual-color-name-as-a-variable-name",children:"Never use the actual color name as a variable name"}),"\n",(0,o.jsx)(n.p,{children:"You can name your variables whatever you like, but we recommend that you never use the actual color name as a variable name. It would be best if you used some generic variable name."}),"\n",(0,o.jsx)(n.p,{children:"For example, you can call blue color r2d2-color. With this approach, if your designer chooses to change the project's color scheme at any point, you only need to change one variable value and you're done."}),"\n",(0,o.jsxs)(n.p,{children:["We like to use ",(0,o.jsx)(n.a,{href:"https://chir.ag/projects/name-that-color",children:"this site"})," for our color names. Also, we recommend using simple names. For instance, Cornflower Blue color would have ",(0,o.jsx)(n.code,{children:"$base-corn-color"})," or ",(0,o.jsx)(n.code,{children:"$base-flower-color"})," variable name."]}),"\n",(0,o.jsx)(n.h3,{id:"all-external-variables-must-go-to-a-components-map",children:"All external variables must go to a components map"}),"\n",(0,o.jsx)(n.p,{children:"We use maps for a lot of stuff in our boilerplate. The reason is that:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"maps can contain multiple variables in one place,"}),"\n",(0,o.jsx)(n.li,{children:"you don't need to write multiple variables at the top,"}),"\n",(0,o.jsx)(n.li,{children:"you can nest functionalities,"}),"\n",(0,o.jsx)(n.li,{children:"you can have multiple values with the same name and just change the top-level map,"}),"\n",(0,o.jsx)(n.li,{children:"etc."}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["We also have many helpers, which you can check in our ",(0,o.jsx)(n.a,{href:"/docs/basics/library",children:"SASS docs"}),"."]}),"\n",(0,o.jsx)(n.p,{children:"In the component map, you should only add things that you will reuse in your component."}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Examples:"})}),"\n",(0,o.jsx)(n.p,{children:"A simple variable in a map:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-scss",children:"$social-links: (\n icon-color: global-settings(colors, black),\n);\n\n.social-links {\n color: map-get-strict($social-links, icon-color);\n}\n"})}),"\n",(0,o.jsx)(n.p,{children:"Nested variables in a map:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-scss",children:"$social-links: (\n colors: (\n dark: global-settings(colors, black),\n light: global-settings(colors, white),\n ),\n sizes: (\n small: 10px,\n big: 20px,\n )\n);\n\n.social-links {\n color: map-get-deep($social-links, colors, dark);\n\n &--light {\n color: map-get-deep($social-links, colors, light);\n }\n\n &__sizes {\n font-size: map-get-deep($social-links, sizes, small);\n\n\n &--big {\n font-size: map-get-deep($social-links, sizes, big);\n }\n }\n}\n"})}),"\n",(0,o.jsx)(n.h3,{id:"never-mix-multiple-maps-in-a-single-component",children:"Never mix multiple maps in a single component"}),"\n",(0,o.jsx)(n.p,{children:"You want all your styles to be contained to a single component and not dependent on external components. Sometimes this can't be avoided."}),"\n",(0,o.jsx)(n.p,{children:"In that case, you should define a key in the component variable for the external map and define it like this:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Example:"})}),"\n",(0,o.jsxs)(n.p,{children:["External map in ",(0,o.jsx)(n.code,{children:"assets/styles/parts/utils/_z-index.scss"}),":"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-scss",children:"$zindex: (\n header: 100,\n drawer: 99,\n overlay: 98,\n);\n"})}),"\n",(0,o.jsx)(n.p,{children:"Your component:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-scss",children:"$header: (\n index: map-get-strict($zindex, header),\n);\n\n.header {\n z-index: map-get-strict($header, index);\n}\n"})}),"\n",(0,o.jsx)(n.h3,{id:"where-can-i-define-global-typography-for-all-my-blockscomponents",children:"Where can I define global typography for all my blocks/components?"}),"\n",(0,o.jsx)(n.p,{children:"Well, nowhere. Try to move your way of thinking from Bootstrap or any other front-end framework where you define global typography in one place."}),"\n",(0,o.jsx)(n.p,{children:"Why is that? Because we use component-based development and you should think in that way. Each component is responsible for its own styles."}),"\n",(0,o.jsx)(n.p,{children:"You should define styles with all sizes, colors, and variations for the heading component and reuse that component wherever you need any kind of heading. The same applies to any other component. This is why you don't need global typography, styles, etc."}),"\n",(0,o.jsx)(n.p,{children:"Global styles and variables are only used for things you want to share across components (that should be reduced to a minimum)."})]})}function d(e={}){const{wrapper:n}={...(0,a.M)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(h,{...e})}):h(e)}},4552:(e,n,s)=>{s.d(n,{I:()=>i,M:()=>t});var o=s(11504);const a={},l=o.createContext(a);function t(e){const n=o.useContext(l);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:t(e.components),o.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/40bcb702.cf737cb3.js b/assets/js/40bcb702.cf737cb3.js deleted file mode 100644 index bb918470f..000000000 --- a/assets/js/40bcb702.cf737cb3.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[24783],{35135:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>r,contentTitle:()=>t,default:()=>d,frontMatter:()=>l,metadata:()=>i,toc:()=>c});var o=s(85893),a=s(11151);const l={id:"writing-styles",title:"Writing Styles"},t=void 0,i={id:"legacy/v6/basics/writing-styles",title:"Writing Styles",description:"docs-source",source:"@site/docs/legacy/v6/basics/writing-styles.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/writing-styles",permalink:"/docs/legacy/v6/basics/writing-styles",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"writing-styles",title:"Writing Styles"},sidebar:"docs",previous:{title:"Global Settings",permalink:"/docs/legacy/v6/basics/global-settings"},next:{title:"Fonts",permalink:"/docs/legacy/v6/basics/fonts"}},r={},c=[{value:"Never use HEX color values in your files",id:"never-use-hex-color-values-in-your-files",level:3},{value:"Never use the actual color name as a variable name",id:"never-use-the-actual-color-name-as-a-variable-name",level:3},{value:"All external variables must go to a components map",id:"all-external-variables-must-go-to-a-components-map",level:3},{value:"Never mix multiple maps in a single component",id:"never-mix-multiple-maps-in-a-single-component",level:3},{value:"Where can I define global typography for all my blocks/components?",id:"where-can-i-define-global-typography-for-all-my-blockscomponents",level:3}];function h(e){const n={a:"a",blockquote:"blockquote",code:"code",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0",children:(0,o.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsxs)(n.p,{children:["This chapter is only relevant in setups that don't use CSS variables. If you are using CSS variables please skip to the ",(0,o.jsx)(n.a,{href:"blocks-styles",children:"Blocks Styles chapter"})," chapter."]}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:"Everyone says that writing styles is easy and that is usually doesn't require a lot of thinking. But, like everything in programming, if you don't think about it, the problems add up, and you end up with a headache."}),"\n",(0,o.jsx)(n.p,{children:"Here are some of the recommendations that we use when writing our styles. It's also how we manage everything to be as modular as possible."}),"\n",(0,o.jsx)(n.h3,{id:"never-use-hex-color-values-in-your-files",children:"Never use HEX color values in your files"}),"\n",(0,o.jsx)(n.p,{children:"Like in Bootstrap or any other front-end framework, you should never use hex color values in multiple places. You should assign that hex value to a variable and use that variable all over. That way, if you ever need to change the color, simply change the value in one place and it will be consistently applied all over the project."}),"\n",(0,o.jsxs)(n.p,{children:["You can read more about defining your colors in the ",(0,o.jsx)(n.a,{href:"global-settings",children:"global settings"})," chapter."]}),"\n",(0,o.jsx)(n.h3,{id:"never-use-the-actual-color-name-as-a-variable-name",children:"Never use the actual color name as a variable name"}),"\n",(0,o.jsx)(n.p,{children:"You can name your variables whatever you like, but we recommend that you never use the actual color name as a variable name. It would be best if you used some generic variable name."}),"\n",(0,o.jsx)(n.p,{children:"For example, you can call blue color r2d2-color. With this approach, if your designer chooses to change the project's color scheme at any point, you only need to change one variable value and you're done."}),"\n",(0,o.jsxs)(n.p,{children:["We like to use ",(0,o.jsx)(n.a,{href:"https://chir.ag/projects/name-that-color",children:"this site"})," for our color names. Also, we recommend using simple names. For instance, Cornflower Blue color would have ",(0,o.jsx)(n.code,{children:"$base-corn-color"})," or ",(0,o.jsx)(n.code,{children:"$base-flower-color"})," variable name."]}),"\n",(0,o.jsx)(n.h3,{id:"all-external-variables-must-go-to-a-components-map",children:"All external variables must go to a components map"}),"\n",(0,o.jsx)(n.p,{children:"We use maps for a lot of stuff in our boilerplate. The reason is that:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"maps can contain multiple variables in one place,"}),"\n",(0,o.jsx)(n.li,{children:"you don't need to write multiple variables at the top,"}),"\n",(0,o.jsx)(n.li,{children:"you can nest functionalities,"}),"\n",(0,o.jsx)(n.li,{children:"you can have multiple values with the same name and just change the top-level map,"}),"\n",(0,o.jsx)(n.li,{children:"etc."}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["We also have many helpers, which you can check in our ",(0,o.jsx)(n.a,{href:"/sass",children:"SASS docs"}),"."]}),"\n",(0,o.jsx)(n.p,{children:"In the component map, you should only add things that you will reuse in your component."}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Examples:"})}),"\n",(0,o.jsx)(n.p,{children:"A simple variable in a map:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-scss",children:"$social-links: (\n icon-color: global-settings(colors, black),\n);\n\n.social-links {\n color: map-get-strict($social-links, icon-color);\n}\n"})}),"\n",(0,o.jsx)(n.p,{children:"Nested variables in a map:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-scss",children:"$social-links: (\n colors: (\n dark: global-settings(colors, black),\n light: global-settings(colors, white),\n ),\n sizes: (\n small: 10px,\n big: 20px,\n )\n);\n\n.social-links {\n color: map-get-deep($social-links, colors, dark);\n\n &--light {\n color: map-get-deep($social-links, colors, light);\n }\n\n &__sizes {\n font-size: map-get-deep($social-links, sizes, small);\n\n\n &--big {\n font-size: map-get-deep($social-links, sizes, big);\n }\n }\n}\n"})}),"\n",(0,o.jsx)(n.h3,{id:"never-mix-multiple-maps-in-a-single-component",children:"Never mix multiple maps in a single component"}),"\n",(0,o.jsx)(n.p,{children:"You want all your styles to be contained to a single component and not dependent on external components. Sometimes this can't be avoided."}),"\n",(0,o.jsx)(n.p,{children:"In that case, you should define a key in the component variable for the external map and define it like this:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Example:"})}),"\n",(0,o.jsxs)(n.p,{children:["External map in ",(0,o.jsx)(n.code,{children:"assets/styles/parts/utils/_z-index.scss"}),":"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-scss",children:"$zindex: (\n header: 100,\n drawer: 99,\n overlay: 98,\n);\n"})}),"\n",(0,o.jsx)(n.p,{children:"Your component:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-scss",children:"$header: (\n index: map-get-strict($zindex, header),\n);\n\n.header {\n z-index: map-get-strict($header, index);\n}\n"})}),"\n",(0,o.jsx)(n.h3,{id:"where-can-i-define-global-typography-for-all-my-blockscomponents",children:"Where can I define global typography for all my blocks/components?"}),"\n",(0,o.jsx)(n.p,{children:"Well, nowhere. Try to move your way of thinking from Bootstrap or any other front-end framework where you define global typography in one place."}),"\n",(0,o.jsx)(n.p,{children:"Why is that? Because we use component-based development and you should think in that way. Each component is responsible for its own styles."}),"\n",(0,o.jsx)(n.p,{children:"You should define styles with all sizes, colors, and variations for the heading component and reuse that component wherever you need any kind of heading. The same applies to any other component. This is why you don't need global typography, styles, etc."}),"\n",(0,o.jsx)(n.p,{children:"Global styles and variables are only used for things you want to share across components (that should be reduced to a minimum)."})]})}function d(e={}){const{wrapper:n}={...(0,a.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(h,{...e})}):h(e)}},11151:(e,n,s)=>{s.d(n,{Z:()=>i,a:()=>t});var o=s(67294);const a={},l=o.createContext(a);function t(e){const n=o.useContext(l);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:t(e.components),o.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/41aa949a.378f4eac.js b/assets/js/41aa949a.378f4eac.js deleted file mode 100644 index f6fc1dbc8..000000000 --- a/assets/js/41aa949a.378f4eac.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[15388],{31555:(e,s,r)=>{r.r(s),r.d(s,{assets:()=>a,contentTitle:()=>i,default:()=>h,frontMatter:()=>c,metadata:()=>o,toc:()=>l});var t=r(85893),n=r(11151);const c={id:"helpers",title:"Helpers"},i=void 0,o={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:",source:"@site/docs/legacy/v6/basics/helpers.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/helpers",permalink:"/docs/legacy/v6/basics/helpers",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"helpers",title:"Helpers"},sidebar:"docs",previous:{title:"Storybook",permalink:"/docs/legacy/v6/basics/blocks-storybook"},next:{title:"JavaScript",permalink:"/docs/legacy/v6/basics/helpers-javascript"}},a={},l=[];function p(e){const s={a:"a",li:"li",p:"p",ul:"ul",...(0,n.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:"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:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"helpers-javascript",children:"JavaScript Helpers"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"helpers-scss",children:"Scss Helpers"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"helpers-php",children:"Php Helpers"})}),"\n"]}),"\n",(0,t.jsx)(s.p,{children:"We especially like our helpers in the block editor, because we need to have the same features in JavaScript and PHP. This can be easily done using helpers."})]})}function h(e={}){const{wrapper:s}={...(0,n.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(p,{...e})}):p(e)}},11151:(e,s,r)=>{r.d(s,{Z:()=>o,a:()=>i});var t=r(67294);const n={},c=t.createContext(n);function i(e){const s=t.useContext(c);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),t.createElement(c.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/41aa949a.7636d5e6.js b/assets/js/41aa949a.7636d5e6.js new file mode 100644 index 000000000..d0b2add7d --- /dev/null +++ b/assets/js/41aa949a.7636d5e6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[90192],{35916:(e,s,r)=>{r.r(s),r.d(s,{assets:()=>a,contentTitle:()=>i,default:()=>h,frontMatter:()=>c,metadata:()=>o,toc:()=>l});var t=r(17624),n=r(4552);const c={id:"helpers",title:"Helpers"},i=void 0,o={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:",source:"@site/docs/legacy/v6/basics/helpers.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/helpers",permalink:"/docs/legacy/v6/basics/helpers",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"helpers",title:"Helpers"},sidebar:"docs",previous:{title:"Storybook",permalink:"/docs/legacy/v6/basics/blocks-storybook"},next:{title:"JavaScript",permalink:"/docs/legacy/v6/basics/helpers-javascript"}},a={},l=[];function p(e){const s={a:"a",li:"li",p:"p",ul:"ul",...(0,n.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:"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:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"helpers-javascript",children:"JavaScript Helpers"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"helpers-scss",children:"Scss Helpers"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"helpers-php",children:"Php Helpers"})}),"\n"]}),"\n",(0,t.jsx)(s.p,{children:"We especially like our helpers in the block editor, because we need to have the same features in JavaScript and PHP. This can be easily done using helpers."})]})}function h(e={}){const{wrapper:s}={...(0,n.M)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(p,{...e})}):p(e)}},4552:(e,s,r)=>{r.d(s,{I:()=>o,M:()=>i});var t=r(11504);const n={},c=t.createContext(n);function i(e){const s=t.useContext(c);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),t.createElement(c.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/41bc8270.43da1cbf.js b/assets/js/41bc8270.43da1cbf.js new file mode 100644 index 000000000..92e672bc8 --- /dev/null +++ b/assets/js/41bc8270.43da1cbf.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[75532],{9540:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>s,default:()=>p,frontMatter:()=>r,metadata:()=>a,toc:()=>l});var o=t(17624),i=t(4552);const r={id:"webpack",title:"Webpack"},s=void 0,a={id:"legacy/v4/advanced/webpack",title:"Webpack",description:"docs-source",source:"@site/docs/legacy/v4/advanced/webpack.md",sourceDirName:"legacy/v4/advanced",slug:"/legacy/v4/advanced/webpack",permalink:"/docs/legacy/v4/advanced/webpack",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"webpack",title:"Webpack"},sidebar:"docs",previous:{title:"Sass",permalink:"/docs/legacy/v4/advanced/docs-sass"},next:{title:"Browsersync",permalink:"/docs/legacy/v4/advanced/browsersync"}},c={},l=[{value:"Override built-in functionality",id:"override-built-in-functionality",level:2},{value:"Add Custom build",id:"add-custom-build",level:2}];function d(e){const n={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",...(0,i.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-boilerplate/tree/v4.0.0/webpack.config.js",children:(0,o.jsx)(n.img,{src:"https://img.shields.io/badge/source-eigthshift--boilerplate-red?style=for-the-badge&logo=wordpress&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsxs)(n.p,{children:["At its core, webpack is a static module bundler for modern JavaScript applications. When webpack processes your application, it internally builds a dependency graph which maps every module your project needs and generates one or more bundles. Learn more about webpack ",(0,o.jsx)(n.a,{href:"https://webpack.js.org/concepts/",children:"here"}),"."]}),"\n",(0,o.jsxs)(n.p,{children:["Look at how the config is set up on ",(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-boilerplate/tree/v4.0.0/webpack.config.js",children:"Eightshift Boilerplate repo"}),"."]}),"\n",(0,o.jsxs)(n.p,{children:["In order to use this library, you'll need to have a ",(0,o.jsx)(n.code,{children:"webpack.config.js"})," file in the root of your project."]}),"\n",(0,o.jsx)(n.p,{children:"This file holds basic configuration that will build your assets correctly and provide browsersync functionality."}),"\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.code,{children:"webpack.config.js"})," is a main entrypoint for webpack config and looks like this:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"/* eslint-disable import/no-dynamic-require, global-require */\n\nmodule.exports = (env, argv) => {\n\n const projectConfig = {\n config: {\n projectDir: __dirname, // Current project directory absolute path.\n projectUrl: 'local-url.test', // Used for providing browsersync functionality.\n projectPath: 'wp-content/themes/your-theme-name', // Project path relative to project root.\n assetsPath: 'src/blocks/assets', // Assets path after projectPath location. (add this key only to override the default value.)\n blocksAssetsPathConfig: 'src/blocks/assets', // Blocks assets path after projectPath location. (add this key only to override the default value.)\n outputPath: 'public', // Public output path after projectPath location. (add this key only to override the default value.)\n },\n };\n\n // Generate webpack config for this project using options object.\n const project = require('./node_modules/@eightshift/frontend-libs/webpack')(argv.mode, projectConfig);\n\n return {\n ...project,\n };\n};\n"})}),"\n",(0,o.jsx)(n.h2,{id:"override-built-in-functionality",children:"Override built-in functionality"}),"\n",(0,o.jsxs)(n.p,{children:["To remove built-in functionality, add a new array to the config called ",(0,o.jsx)(n.code,{children:"overrides"}),".\nIf you provide any of the ",(0,o.jsx)(n.code,{children:"overrides keys"}),", it will remove that config from the build.\nHere is a list of all the features that we use and how to remove them."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"\nconst projectConfig = {\n config: {\n ...\n },\n overrides: [\n 'application',\n 'applicationAdmin',\n 'applicationBlocks',\n 'applicationBlocksEditor',\n 'filename',\n 'cleanWebpackPlugin',\n 'terserPlugin',\n 'browserSyncPlugin',\n 'providePlugin',\n 'manifestPlugin',\n 'miniCssExtractPlugin',\n 'copyWebpackPlugin',\n 'optimizeCSSAssetsPlugin',\n 'js',\n 'scss',\n 'images',\n 'fonts',\n 'runtimeChunk',\n ],\n}\n"})}),"\n",(0,o.jsx)(n.h2,{id:"add-custom-build",children:"Add Custom build"}),"\n",(0,o.jsxs)(n.p,{children:["If you want to add something custom to your build, you can simply use all the native ",(0,o.jsx)(n.a,{href:"https://webpack.js.org/guides/",children:"webpack features"})," by providing it like in the example:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"/* eslint-disable import/no-dynamic-require, global-require */\n\nconst HtmlWebpackPlugin = require('html-webpack-plugin');\n\nmodule.exports = (env, argv) => {\n\n ...\n\n return {\n ...project,\n plugins: [\n ...project.plugins,\n new HtmlWebpackPlugin(),\n ],\n };\n};\n"})}),"\n",(0,o.jsxs)(n.p,{children:["If you want to override the defaults from the libs, first put it in the ",(0,o.jsx)(n.code,{children:"overrides"})," array, then provide your own config as described above."]})]})}function p(e={}){const{wrapper:n}={...(0,i.M)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},4552:(e,n,t)=>{t.d(n,{I:()=>a,M:()=>s});var o=t(11504);const i={},r=o.createContext(i);function s(e){const n=o.useContext(r);return o.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(i):e.components||i:s(e.components),o.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/41bc8270.b88bd7e5.js b/assets/js/41bc8270.b88bd7e5.js deleted file mode 100644 index 6570f845a..000000000 --- a/assets/js/41bc8270.b88bd7e5.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[82452],{92132:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>s,default:()=>p,frontMatter:()=>r,metadata:()=>a,toc:()=>l});var o=t(85893),i=t(11151);const r={id:"webpack",title:"Webpack"},s=void 0,a={id:"legacy/v4/advanced/webpack",title:"Webpack",description:"docs-source",source:"@site/docs/legacy/v4/advanced/webpack.md",sourceDirName:"legacy/v4/advanced",slug:"/legacy/v4/advanced/webpack",permalink:"/docs/legacy/v4/advanced/webpack",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"webpack",title:"Webpack"},sidebar:"docs",previous:{title:"Sass",permalink:"/docs/legacy/v4/advanced/docs-sass"},next:{title:"Browsersync",permalink:"/docs/legacy/v4/advanced/browsersync"}},c={},l=[{value:"Override built-in functionality",id:"override-built-in-functionality",level:2},{value:"Add Custom build",id:"add-custom-build",level:2}];function d(e){const n={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",...(0,i.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-boilerplate/tree/v4.0.0/webpack.config.js",children:(0,o.jsx)(n.img,{src:"https://img.shields.io/badge/source-eigthshift--boilerplate-red?style=for-the-badge&logo=wordpress&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsxs)(n.p,{children:["At its core, webpack is a static module bundler for modern JavaScript applications. When webpack processes your application, it internally builds a dependency graph which maps every module your project needs and generates one or more bundles. Learn more about webpack ",(0,o.jsx)(n.a,{href:"https://webpack.js.org/concepts/",children:"here"}),"."]}),"\n",(0,o.jsxs)(n.p,{children:["Look at how the config is set up on ",(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-boilerplate/tree/v4.0.0/webpack.config.js",children:"Eightshift Boilerplate repo"}),"."]}),"\n",(0,o.jsxs)(n.p,{children:["In order to use this library, you'll need to have a ",(0,o.jsx)(n.code,{children:"webpack.config.js"})," file in the root of your project."]}),"\n",(0,o.jsx)(n.p,{children:"This file holds basic configuration that will build your assets correctly and provide browsersync functionality."}),"\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.code,{children:"webpack.config.js"})," is a main entrypoint for webpack config and looks like this:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"/* eslint-disable import/no-dynamic-require, global-require */\n\nmodule.exports = (env, argv) => {\n\n const projectConfig = {\n config: {\n projectDir: __dirname, // Current project directory absolute path.\n projectUrl: 'local-url.test', // Used for providing browsersync functionality.\n projectPath: 'wp-content/themes/your-theme-name', // Project path relative to project root.\n assetsPath: 'src/blocks/assets', // Assets path after projectPath location. (add this key only to override the default value.)\n blocksAssetsPathConfig: 'src/blocks/assets', // Blocks assets path after projectPath location. (add this key only to override the default value.)\n outputPath: 'public', // Public output path after projectPath location. (add this key only to override the default value.)\n },\n };\n\n // Generate webpack config for this project using options object.\n const project = require('./node_modules/@eightshift/frontend-libs/webpack')(argv.mode, projectConfig);\n\n return {\n ...project,\n };\n};\n"})}),"\n",(0,o.jsx)(n.h2,{id:"override-built-in-functionality",children:"Override built-in functionality"}),"\n",(0,o.jsxs)(n.p,{children:["To remove built-in functionality, add a new array to the config called ",(0,o.jsx)(n.code,{children:"overrides"}),".\nIf you provide any of the ",(0,o.jsx)(n.code,{children:"overrides keys"}),", it will remove that config from the build.\nHere is a list of all the features that we use and how to remove them."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"\nconst projectConfig = {\n config: {\n ...\n },\n overrides: [\n 'application',\n 'applicationAdmin',\n 'applicationBlocks',\n 'applicationBlocksEditor',\n 'filename',\n 'cleanWebpackPlugin',\n 'terserPlugin',\n 'browserSyncPlugin',\n 'providePlugin',\n 'manifestPlugin',\n 'miniCssExtractPlugin',\n 'copyWebpackPlugin',\n 'optimizeCSSAssetsPlugin',\n 'js',\n 'scss',\n 'images',\n 'fonts',\n 'runtimeChunk',\n ],\n}\n"})}),"\n",(0,o.jsx)(n.h2,{id:"add-custom-build",children:"Add Custom build"}),"\n",(0,o.jsxs)(n.p,{children:["If you want to add something custom to your build, you can simply use all the native ",(0,o.jsx)(n.a,{href:"https://webpack.js.org/guides/",children:"webpack features"})," by providing it like in the example:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"/* eslint-disable import/no-dynamic-require, global-require */\n\nconst HtmlWebpackPlugin = require('html-webpack-plugin');\n\nmodule.exports = (env, argv) => {\n\n ...\n\n return {\n ...project,\n plugins: [\n ...project.plugins,\n new HtmlWebpackPlugin(),\n ],\n };\n};\n"})}),"\n",(0,o.jsxs)(n.p,{children:["If you want to override the defaults from the libs, first put it in the ",(0,o.jsx)(n.code,{children:"overrides"})," array, then provide your own config as described above."]})]})}function p(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},11151:(e,n,t)=>{t.d(n,{Z:()=>a,a:()=>s});var o=t(67294);const i={},r=o.createContext(i);function s(e){const n=o.useContext(r);return o.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(i):e.components||i:s(e.components),o.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/42478870.81614351.js b/assets/js/42478870.81614351.js deleted file mode 100644 index 03a173fee..000000000 --- a/assets/js/42478870.81614351.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[72908],{27707: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/42478870.cef76100.js b/assets/js/42478870.cef76100.js new file mode 100644 index 000000000..a96525e95 --- /dev/null +++ b/assets/js/42478870.cef76100.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[13144],{59128: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/426b1138.329cf2ce.js b/assets/js/426b1138.329cf2ce.js deleted file mode 100644 index 52be4dfe9..000000000 --- a/assets/js/426b1138.329cf2ce.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[62847],{48640:(i,t,e)=>{e.r(t),e.d(t,{assets:()=>a,contentTitle:()=>s,default:()=>d,frontMatter:()=>r,metadata:()=>o,toc:()=>u});var n=e(85893),l=e(11151);const r={id:"boilerplate-plugin",title:"Eightshift Boilerplate Plugin"},s=void 0,o={id:"additional-libraries/boilerplate-plugin",title:"Eightshift Boilerplate Plugin",description:"GitHub tag",source:"@site/docs/additional-libraries/boilerplate-plugin.md",sourceDirName:"additional-libraries",slug:"/additional-libraries/boilerplate-plugin",permalink:"/docs/additional-libraries/boilerplate-plugin",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"boilerplate-plugin",title:"Eightshift Boilerplate Plugin"},sidebar:"docs",previous:{title:"Eightshift Boilerplate",permalink:"/docs/additional-libraries/boilerplate"},next:{title:"Eightshift Frontend Libs",permalink:"/docs/additional-libraries/frontend-libs"}},a={},u=[];function c(i){const t={a:"a",img:"img",li:"li",p:"p",ul:"ul",...(0,l.a)(),...i.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-boilerplate-plugin",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/github/tag/infinum/eightshift-boilerplate-plugin.svg?style=for-the-badge",alt:"GitHub tag"})})}),"\n",(0,n.jsx)(t.p,{children:"The same as Eightshift Boilerplate but if you need plugin setup in your project."}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/welcome",children:"Documentation"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-boilerplate-plugin",children:"Github"})}),"\n"]})]})}function d(i={}){const{wrapper:t}={...(0,l.a)(),...i.components};return t?(0,n.jsx)(t,{...i,children:(0,n.jsx)(c,{...i})}):c(i)}},11151:(i,t,e)=>{e.d(t,{Z:()=>o,a:()=>s});var n=e(67294);const l={},r=n.createContext(l);function s(i){const t=n.useContext(r);return n.useMemo((function(){return"function"==typeof i?i(t):{...t,...i}}),[t,i])}function o(i){let t;return t=i.disableParentContext?"function"==typeof i.components?i.components(l):i.components||l:s(i.components),n.createElement(r.Provider,{value:t},i.children)}}}]); \ No newline at end of file diff --git a/assets/js/426b1138.870e05c6.js b/assets/js/426b1138.870e05c6.js new file mode 100644 index 000000000..3d2e6c644 --- /dev/null +++ b/assets/js/426b1138.870e05c6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[79808],{54832:(i,t,e)=>{e.r(t),e.d(t,{assets:()=>a,contentTitle:()=>s,default:()=>d,frontMatter:()=>r,metadata:()=>o,toc:()=>u});var n=e(17624),l=e(4552);const r={id:"boilerplate-plugin",title:"Eightshift Boilerplate Plugin"},s=void 0,o={id:"additional-libraries/boilerplate-plugin",title:"Eightshift Boilerplate Plugin",description:"GitHub tag",source:"@site/docs/additional-libraries/boilerplate-plugin.md",sourceDirName:"additional-libraries",slug:"/additional-libraries/boilerplate-plugin",permalink:"/docs/additional-libraries/boilerplate-plugin",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"boilerplate-plugin",title:"Eightshift Boilerplate Plugin"},sidebar:"docs",previous:{title:"Eightshift Boilerplate",permalink:"/docs/additional-libraries/boilerplate"},next:{title:"Eightshift Frontend Libs",permalink:"/docs/additional-libraries/frontend-libs"}},a={},u=[];function c(i){const t={a:"a",img:"img",li:"li",p:"p",ul:"ul",...(0,l.M)(),...i.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-boilerplate-plugin",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/github/tag/infinum/eightshift-boilerplate-plugin.svg?style=for-the-badge",alt:"GitHub tag"})})}),"\n",(0,n.jsx)(t.p,{children:"The same as Eightshift Boilerplate but if you need plugin setup in your project."}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/welcome",children:"Documentation"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-boilerplate-plugin",children:"Github"})}),"\n"]})]})}function d(i={}){const{wrapper:t}={...(0,l.M)(),...i.components};return t?(0,n.jsx)(t,{...i,children:(0,n.jsx)(c,{...i})}):c(i)}},4552:(i,t,e)=>{e.d(t,{I:()=>o,M:()=>s});var n=e(11504);const l={},r=n.createContext(l);function s(i){const t=n.useContext(r);return n.useMemo((function(){return"function"==typeof i?i(t):{...t,...i}}),[t,i])}function o(i){let t;return t=i.disableParentContext?"function"==typeof i.components?i.components(l):i.components||l:s(i.components),n.createElement(r.Provider,{value:t},i.children)}}}]); \ No newline at end of file diff --git a/assets/js/4293ef56.3102a347.js b/assets/js/4293ef56.3102a347.js deleted file mode 100644 index 4f7ea0d08..000000000 --- a/assets/js/4293ef56.3102a347.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[45249],{10477: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/4293ef56.ed1ac885.js b/assets/js/4293ef56.ed1ac885.js new file mode 100644 index 000000000..a092ae84d --- /dev/null +++ b/assets/js/4293ef56.ed1ac885.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[81938],{23884: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/42d5a18c.9c96bc1b.js b/assets/js/42d5a18c.9c96bc1b.js deleted file mode 100644 index e958046c3..000000000 --- a/assets/js/42d5a18c.9c96bc1b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[78393],{15306:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>l,frontMatter:()=>s,metadata:()=>r,toc:()=>h});var i=t(85893),o=t(11151);const s={id:"show-as",title:"Show As"},a=void 0,r={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.",source:"@site/forms/features/show-as.md",sourceDirName:"features",slug:"/features/show-as",permalink:"/forms/features/show-as",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"show-as",title:"Show As"},sidebar:"forms",previous:{title:"Entries",permalink:"/forms/features/entries"},next:{title:"Intro",permalink:"/forms/integrations/intro"}},c={},h=[];function d(e){const n={admonition:"admonition",code:"code",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,o.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(n.p,{children:["When using the ",(0,i.jsx)(n.code,{children:"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."]}),"\n",(0,i.jsx)(n.admonition,{type:"note",children:(0,i.jsx)(n.p,{children:"This feature is available on the Block editor."})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Supported fields:"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"checkbox"}),"\n",(0,i.jsx)(n.li,{children:"radio"}),"\n",(0,i.jsx)(n.li,{children:"select"}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Show as screen",src:t(81774).Z+"",width:"299",height:"187"})})]})}function l(e={}){const{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},81774:(e,n,t)=>{t.d(n,{Z:()=>i});const i="data:image/webp;base64,UklGRrYUAABXRUJQVlA4IKoUAABQXACdASorAbsAPjEWikOiISET6HV4IAMEtLd+DWoGi9aUeO3+cdu/O2m+cA4AD9K/S59nz7QPZ41aTyX/RPxm76f6D+N39S/83q3+FfGf1n8dOWNz55j/w/60fWv7H+zv94/b34g/rXg78T/3H8efgC/F/43/V/yn/sf7jepz21+if2H+t/kz8AXpr8a/tP9v/tv+l/ufoD/nn46fv/8kfjH9A/qH46fQD/Ff5L/Wv7H+039a///0T/XPBM+t/3j9evgB/jv8s/vH9//b7/L///7UP2j/O/3H91/8t7SvyX+wf7j/A/4P/mf4n///gH/HP5b/g/7N+6P+E////e+5H11/sp7GH6tf9n8/zKyM4nET6iFMRVdVRfcNFVVEVg35GoR8SM1OsDpuK/OnSECSBuAHiDKot80utHuTvaYuvIBHi2ZapTaI0kHi0p/z/Pi8MWRc/dFBoMmTkgGxyQDY3f1X8tlVN2Gw2Gw0l57CopB2XEQmC+kjtp1nsMQmYGZuHCgHu03UFz0urh5nJvYbbmksKJGjMKHwyHcEbxDgZdzH6d1x4JapQ6MmGfqhNLqAv79YusSCcjHAHsEA+xRW3EyJkZc8s/mLpswF7NnODuc6kK/sFHfaL2uXOkD7YV/QxYYRjD0Mw0u9BoMvrSKo7/IKDss6xM4U+6LSQWLKdeKDugH0gCEt5bkqG/lgDxI0dHa1Cq+lNMhtSy0TRS7S2kOvu6FjN5v8QyD+vQyHTgo56TxXI9ih/P6kPfvNWjaUIcNErkvhYg6M3W2VUiIaQXbdGSM2vByG7HCjVdH6cyozkup034k81TSK6Rfs6+HR56iUcn7ctgl04OHQIRX1fTIhqidIGaXwQZfVNsng9ggX6swbrqPW1vJ/arohcv4E6uobsNhsP79PufmvAc1VD9FftnN5L5SpMnw1I3Lss8vGjl5QCLZ5wB/SL8eI613H5Gi6RMcyoTgLXYA5ib0kko7jqFQCLc6VcWAA/v+tgorclCGQ2cCT1rd0UtR18QhCQbW4yzXIvbOTsdnjuVFVkyIQSMUIzW/z28FckV6IvVIXaN4cTOJdct7y1oW/y4vBmP9h/ZIkjNmTOo9Lo6H6XDO8Db5WOdQ1D0GC44fV0CA5sD7m2tYfDBz5miHd/xWM5R1RxCXvsc3rJTWGqro9ELPnL6Q4hd56fOh3WlC65n7f+mbKLpRUozmGIWkiLz8cyRh0ptjFDp+Z//MkM3Vgr+o3rm/yUWWSLSOnNTyr7gteiOwkjCHYyQjJSupg5cTbsYZrU9C/Du/Q2dOk9sc3J8BxL+r+BSqNWlGKTC9TQ9iyeiG/VmZrGr6jtWI71rTUZ5rx3r/hRcisIkgZLKkaXX+hoAQ+Emhx3PN1fBpWWNRphF/yqcZDV9qNWO9JLlnQTObaKBWqjPSEQT6l74LUIv4+nQ52Bo+9OyXFn98VoIbbe9q3elXTQLTjuaQDOY0oKFVKMhwgwS/B8JX+aQH6pkxIWDzTVrH/FqBEBBiDfuZ8eZUpxYLBj3I5XSgOuDVpmnhM9G1CHLUHLfdEXLTQeLzOCWWHGnUPnQ052uNfR7/Cr62mi/djk7T+mz20HncsIiajIrZN6Hz1beG/+N8xZu+eFGmFgNokRB1G6FeR72fQtTay+ovW9vlPKVsLLNzqd/2S9doOP3+smpMFv++lkwyy66zDm5edfXjsJC/M936/ekUQ/7+4IEWZ70givbxZCyLzScHLyvgSBjyzDaDIRST2AuczWBi2w5MPFVmlmO06fFCVp7BXED/QXA0PVcVhV+D0OL9K9GZs4WcieRj/iyMbFQjYSXireV3FRV9N+n7KBZhrebTmAAKyOB6lGBPx7NAxfDTzZbu9+wA+8/lUHjZBPXv9Etuxg5MCacE589XSdi6aBdNimJIpFyZfc6dxVNmVMaWPQhS495srNZaP29UzYO/tWYzkTmSqIbHgRHSUc19wyuYFj8KQNj2LCJ0GzieK1x8La7Ws7xCeYEUiFwQ0mIeB16UsyFN+j2IPRMpGzznomadDkrsQ5ZtKtJ5nLsyryt1U8DbuE591Ce6j+YoSQnIFCJYKGj6FzHwgzONDyszp2Sda0ga/Qhcgt7ADqkk0qg93+gKBCZgG++n6py/PZuuaLLr64gVP+yjRZ16ovLbZPOvhMsjUGlFttcuzBoL2OttkALvAqpTlPoY51RTH0uoSln5QBl/nqEAtc/j/mlx1bCRULyENr/gpqVK5As4FdQh5OTWDwMv3Uph/xfW3yxX29/CCt//e99z4/323m1Njqb/rv/NuPI4o7j65Ia2LGiwG+qZ3F9a8HCtR0nl/Sn9ggA5c/9CqfCbwtlklECgut+srXhdOEtmZlbXOnZHT+isD6hAJo44aUmw1Cto1Nt1BjJAPqzPuzB3+zz90hx5XUy58EPlwZfrNOTFlkC+EpSQ8nGt3BYMTG4R2Ee6MqPkf2lm9UhLaD8z6FJmvqa9+C3rpQZoSe8m83uGHmeVmvEpAFKL43gh8roFb9VxFK2kN0Ag+ZDLfPtoRWhUiN9qP9aljOWqrg0rmnjt7cBxViKnUPPj0fF8hdPIh5iaacWn2Dwoifd5pKdewFJi/EvY+xCi27P7n+NpTH4N1TF4jStFWv2/RZoNKHj36VCOq163goYwNa4Ix7EUp37acxaOH/YETDiS2loJffORwLYE7kLwES0lXoiBKqw9I5A19j5iyW21nnznffv7SbUeGeN+LNQWwhq/2myOOqsGK27zGyaPi1I8A+iQHbtxo84tPc0ipv5kjm4zeo0nKSwLzOg/xHdfFsC/6r4O7W3q9T5gvYVxMY+RBfHMPh2kZUnTNWEu/SjKQqU68DqhjiOPtRa4SNB70vKS4bpH1CH0bBCt2SNUK5arvIt8A1wQlDuTSxbJ0zF0uBcEUMr/xpK7YcN4OTh7JYQ0Wd8/s7v4ShFpoJYuFtaJVV5vVw8cnO46A2XHcXsn8uAoUIBmPVKg5WKyhv22zbRDRiNUw5k0Jw66E8XYUFior2CQpZ7AwJS1EEiUtXvlcau/SHWjyz5AsIjWHvqktqBnDIlMybfe3ixt358/WbPn3aXOkUqpQBcuBYJ3ukyy28OAy7M54v3XBCieHWEXaEIKUefZu5yuD4pp8huPJzpGaSqUHA20dq/XiXmJUtQqg0aRN+sVWdnWSmEF4RkCtoifZ5WqoSMvMcMYNT3pv+Zjy11dgt+kdW8durEVB2NcnaEpWDhacnE7H0KknAkdHXPxiVu0pBipm3QBrW9fWq707+N0bWjIck1F12Rz4u6/d+1BvREqEPgJ7+EvACf+su0ELCDzBAuv+ZCHAt0uGs1z7hMopRQo94i8P9ijJmQZRG1sI8uj48/YgvSVp8S7YwhXkalM1LdFuKYJxioyUFXPJvzR9OCQ2/GIjakDLgEHWWSHtuuM4sKVa6bDvvW8yzNpiQsYP94pZaP9g9Kz0Dn+qapVndNKbBjwXzuPkVdqnOBjVRfEgHIHc0xrefVGlUDVJ8BoA4RU0fBMbADiKRx0SzwnUAUphH5hO7gZH8zURJv1GZkKIMQBYa8CaVKi4HY2Ue6Q5zgqc2QlH17TodKzE3umQJadPkM8KcryfaSPZ7prIVMiwirTMUAkt8/FVq0DLAY1NFQ2FXT+CAnHE3jMm3+KMKUk6dzLk10Aq98/6Od9MO7j3+TxHIB8pIEmwYmm18iAiDUo5KukvEkMWwXU8qVsTxL9ajNiBugvoOsb84WaUv+R0AjtvR60mwVc8SAwi3vnV4JPwOOgUyLZfvJxX3WJZqoNJAK9vcs1PphSkOGEFUVGbtPgDUjSY1DvnLF2jC8bPUjcExMokhwDqVC64wrSEASP/yIInL3K340/U6vLzi5kOixUk8Iflz5Z7S6HjiMYvOnntIEuSzwS2O0I/jTE15SGNBJ4ovyKGcWmJF5wF1LgmOVan6bTmLZuYRHJHfM0LQlPz9IWnWMl8HQIXa7ZHpa7zyAxbSn3o51PYGw3ZuOwHDLJseoGWz7pPj7f8q7WRYdcEQHNR/AuYLLvVyHfNl7sdBmyMSXFFzOK05M9Ed9ly/R+Pg9/l/mjorIzsmCXm+/nS3YOAofmTf4RaB9NaQ2gjmvml2xAQr1lS4Rw6V2oWgDbCuCTIWx3ureOnF5O7XQnLDCfBaDB4RJGd4OUtQ0CBxXhOB95H00pyzAnvGM91jRn9vjumvSa7bmBTNgNpgSxvHqcjFsOJUC21RT0GREAz07WuKN+NyGRYIJNZQpP5XAAB0sDxxDJBiutKn3fQrKp2WkAoy3DEc3qCpzLz8r2xcOOi6JkGB6fEgo914P37UFHPLqeBDNNbevGyb6oL+lYthMoDrtx8kuXiG0X7isS6KyOmYt9C1VD/Nmbbpo/hW5azIv87JkYA/kfHn0cKvcNLIUl6nNyF3Z/Ce9HqtTzGgEdEnkAKb+YMDHOQRvEVTgj9pCbae60ItLK0C2ZWeE0YxVOpDe7IbALySqyeRZDacoqjh46SiYxy6kSjtzIs27HAJX7FrSDkeRbdHYLazN1w90YIfQdvekZLyekcOsYPYisOvJvqQrRR7BZ6rgQ30dginISXhISTCq/qyCkHBalQYTl9xoY9MMk2Ji8OPaPt8zlfrZd1vfAGiaawKP18jqzSJXbwbgWwQgJZX6g7t4Ml2Ib72Xon0e/oWozmxfVCM/9OT7HQx0PerkHerQhG4WqDP4uyAE9aeFAc1LapBaWi3y9FhsjR9EhQgxK09EPx7GQOqAaY/ZwcN0kGSEXdzZaLE8IhVKoZihm9iy9+t0L0aXmy5ukrsshM5iF08Isq0M8fUWW+3FUXZG0z29DbMAc2Z5IASPIcgam/EAAKFy0osLwLWGYc7zqFAeoNo4rqLve/mZvNEdNQLS/XP3XhOXyyUU4oSFYZFCn6sohHiJBOlbD4ri1cz+00HuewkasqAzZ1jT54HozB/LBhP9E7+H5SfC7s5KFHmgZSIsRl/BAw/7N+kmKL+VGc0DBfW/BN1no2etb1s03fcMujZ0GWFmSjNqhDBWmq2sEdlrF5k31to9+Mm+IUq3dpdkK/CsZH3nYyh6olNcJ+xGjAxiVMWK5hTehSg5MoRzOWHaCKZDHqXkAB+78Mf0GAh22/fAZwnSoDToQ2YYiK0O9u8C833FdGIFORWKh3eG2OIA+sIMi947GvOh/iiR1AcfC1/FLdQdXR3vM6WZY/0hIhwf6LaGgpmATbuHhEBJFkoesnEbv6oXY8tiTgenD+vIIlIQUEEoLkJ0SSPGP60xH//Yd0bl8tWTQHQBcggNt+gspJTlbI9WrOeyRdVmtv3DcTla+f0z3N2r97Gi6GPYj7+/LiOYImY+E4ocNn1zPrgal4qHM2Ic4vGydGRiRxe2XrGebpuhnNMGR+pWxWj1cE4G1jbds6t2V3ciGXdlALmagkiMq2+SZXavohvoDA72ArXfkYAqLw5gqi6oZqhq/kLDpAkh6jnw8z7E8VhZXyj/83kLGbZZSBbqePngMf3pzO1IRZkVOQ2v7CiDZkEvt6jK1lUPB7+Fx+uVQPbBRUe8LaqiIsbN8bIY2QbnQZLcaBJMJGlvPLQZkt1/mzrjLj5u3rglgrw2wLG/azR+fnPhmnsFDAi6QyeazUgYqoE0cGYvcN998SaQxI4u7gQ2UARDUxuq1EyLp+ao9khpoF9/Fr1bp3hY4oQ133xcBzPgcAvU/V5v3VPYAg2MWSFKQx8kYaPeOZ/uBE8t+XM5D1heRXUPB/xKfiRhjiS7qfbTHYBj959JsqV/ie1FQhSH00mbBjR8KjCtslv/JS5X4i+WWPETp7s8pq9Clj8+MDSt7BBhOSGF0YmFkIfqr6QAeFc8EQM3yuLDuUlHp0wb/85vlpulVXQ8ENS2UxO8AV06kZGJkIglzRMuKw59muqakbxzNoTeh20n0S7D3cxyz//CHa5HBzpgbSAtO1qXgePxbD0SaRqMT0ggpCn46TXQySmx7y9xFvxhvbF5GlxbVMI6+No9offSwair8PEZCIwlwtcKINU/BTl9ZG4ep8H2JdhrJ5TDmvnTkitUb+1Mk4iFtCJmGMknkrhX/JjeVk7z+FKVC64ru4benaBB4dBN872OiWiQAGVXuOmOq4gmmbzhU9fDXFyFXxHn0j23ecL836/gMpUQ57INHGSWGpYEAB611itngelrrFCOFS9v8hDoe9w/zozmMjXCYN8lI5mb/pvWJnTzSAf2k9AC8zHtc7g1tay0hiVImu6Co+sSTqtsk/osFc/E1pLbcjQnlcFtNEnnF0/qGy775K7Ns1YaIl54QFcanspZhj/J3aCbyJMcBzp7f9/yFnlJeSt9430a2rCN6hlgLihOQG74TpjuZjUjsrXkdBTqsBy+8SI8ZJeFiKKjMYk9Yyokwp/wi0kPPht7ex7+g2Q7Lpcj5kSdoIrnxGMF/ZLaqJZc79L25L6ZsHlVeFFO7Kc0ep5X2F+R5Y9cILvKPiShtU71ijfImyjtUSBUHs59Dp4aZrQWSSEEYdwIN7CufCwm6CX6yBs0XumjTJfWIaK5MJbcXLDl1nbFSwTwNbX1Ih2HvD9idjmJU5eoMYq6uQpFgnif80OdMB0+WNFAEJtaAGdJmfwu7/stzPHKhmacA5470AR6eNqIsg9A8NVOP+RcJfyWfxswnoxWihInb/h0hjAqTxjCpyDtAyR5QMcU83OtQ+3EtCNxzbZ3KuVcq5VyrqWc2C5zD/vqMrGr3zdiP+tBy3IHnqoArnqBb5RNTS+bSstRu/pmi1xj9CdhQlY9ddg+CdTU2LGV0Y3ekRK5eu5VoyBSDd4uIwoBE4kBvPlQG7hgHVOgm6akvilgHVo3CU0HL2m2nH27HL578h1MV+8j4s/4H2OlNT7ULZ6EVdh16jpdmxPEI6focUD3oWSI3VeZZALTtPXt+XpIboukFh0zgI2jAfd2SMi2UhhkU8QpLy+/RkBFbNkH4OMiBo7s62bk/+xDupDU9GUEfd4JwECPFe8b/VUSCvvq+p/h4RRZzKjkZFCdFk/BmnnSIpQPAAAAAA"},11151:(e,n,t)=>{t.d(n,{Z:()=>r,a:()=>a});var i=t(67294);const o={},s=i.createContext(o);function a(e){const n=i.useContext(s);return i.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(o):e.components||o:a(e.components),i.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/42d5a18c.b4c27fbf.js b/assets/js/42d5a18c.b4c27fbf.js new file mode 100644 index 000000000..1839cdc5f --- /dev/null +++ b/assets/js/42d5a18c.b4c27fbf.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[99088],{49016:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>l,frontMatter:()=>s,metadata:()=>r,toc:()=>h});var i=t(17624),o=t(4552);const s={id:"show-as",title:"Show As"},a=void 0,r={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.",source:"@site/forms/features/show-as.md",sourceDirName:"features",slug:"/features/show-as",permalink:"/forms/features/show-as",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"show-as",title:"Show As"},sidebar:"forms",previous:{title:"Entries",permalink:"/forms/features/entries"},next:{title:"Intro",permalink:"/forms/integrations/intro"}},c={},h=[];function d(e){const n={admonition:"admonition",code:"code",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,o.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(n.p,{children:["When using the ",(0,i.jsx)(n.code,{children:"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."]}),"\n",(0,i.jsx)(n.admonition,{type:"note",children:(0,i.jsx)(n.p,{children:"This feature is available on the Block editor."})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Supported fields:"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"checkbox"}),"\n",(0,i.jsx)(n.li,{children:"radio"}),"\n",(0,i.jsx)(n.li,{children:"select"}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Show as screen",src:t(45560).c+"",width:"299",height:"187"})})]})}function l(e={}){const{wrapper:n}={...(0,o.M)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},45560:(e,n,t)=>{t.d(n,{c:()=>i});const i="data:image/webp;base64,UklGRrYUAABXRUJQVlA4IKoUAABQXACdASorAbsAPjEWikOiISET6HV4IAMEtLd+DWoGi9aUeO3+cdu/O2m+cA4AD9K/S59nz7QPZ41aTyX/RPxm76f6D+N39S/83q3+FfGf1n8dOWNz55j/w/60fWv7H+zv94/b34g/rXg78T/3H8efgC/F/43/V/yn/sf7jepz21+if2H+t/kz8AXpr8a/tP9v/tv+l/ufoD/nn46fv/8kfjH9A/qH46fQD/Ff5L/Wv7H+039a///0T/XPBM+t/3j9evgB/jv8s/vH9//b7/L///7UP2j/O/3H91/8t7SvyX+wf7j/A/4P/mf4n///gH/HP5b/g/7N+6P+E////e+5H11/sp7GH6tf9n8/zKyM4nET6iFMRVdVRfcNFVVEVg35GoR8SM1OsDpuK/OnSECSBuAHiDKot80utHuTvaYuvIBHi2ZapTaI0kHi0p/z/Pi8MWRc/dFBoMmTkgGxyQDY3f1X8tlVN2Gw2Gw0l57CopB2XEQmC+kjtp1nsMQmYGZuHCgHu03UFz0urh5nJvYbbmksKJGjMKHwyHcEbxDgZdzH6d1x4JapQ6MmGfqhNLqAv79YusSCcjHAHsEA+xRW3EyJkZc8s/mLpswF7NnODuc6kK/sFHfaL2uXOkD7YV/QxYYRjD0Mw0u9BoMvrSKo7/IKDss6xM4U+6LSQWLKdeKDugH0gCEt5bkqG/lgDxI0dHa1Cq+lNMhtSy0TRS7S2kOvu6FjN5v8QyD+vQyHTgo56TxXI9ih/P6kPfvNWjaUIcNErkvhYg6M3W2VUiIaQXbdGSM2vByG7HCjVdH6cyozkup034k81TSK6Rfs6+HR56iUcn7ctgl04OHQIRX1fTIhqidIGaXwQZfVNsng9ggX6swbrqPW1vJ/arohcv4E6uobsNhsP79PufmvAc1VD9FftnN5L5SpMnw1I3Lss8vGjl5QCLZ5wB/SL8eI613H5Gi6RMcyoTgLXYA5ib0kko7jqFQCLc6VcWAA/v+tgorclCGQ2cCT1rd0UtR18QhCQbW4yzXIvbOTsdnjuVFVkyIQSMUIzW/z28FckV6IvVIXaN4cTOJdct7y1oW/y4vBmP9h/ZIkjNmTOo9Lo6H6XDO8Db5WOdQ1D0GC44fV0CA5sD7m2tYfDBz5miHd/xWM5R1RxCXvsc3rJTWGqro9ELPnL6Q4hd56fOh3WlC65n7f+mbKLpRUozmGIWkiLz8cyRh0ptjFDp+Z//MkM3Vgr+o3rm/yUWWSLSOnNTyr7gteiOwkjCHYyQjJSupg5cTbsYZrU9C/Du/Q2dOk9sc3J8BxL+r+BSqNWlGKTC9TQ9iyeiG/VmZrGr6jtWI71rTUZ5rx3r/hRcisIkgZLKkaXX+hoAQ+Emhx3PN1fBpWWNRphF/yqcZDV9qNWO9JLlnQTObaKBWqjPSEQT6l74LUIv4+nQ52Bo+9OyXFn98VoIbbe9q3elXTQLTjuaQDOY0oKFVKMhwgwS/B8JX+aQH6pkxIWDzTVrH/FqBEBBiDfuZ8eZUpxYLBj3I5XSgOuDVpmnhM9G1CHLUHLfdEXLTQeLzOCWWHGnUPnQ052uNfR7/Cr62mi/djk7T+mz20HncsIiajIrZN6Hz1beG/+N8xZu+eFGmFgNokRB1G6FeR72fQtTay+ovW9vlPKVsLLNzqd/2S9doOP3+smpMFv++lkwyy66zDm5edfXjsJC/M936/ekUQ/7+4IEWZ70givbxZCyLzScHLyvgSBjyzDaDIRST2AuczWBi2w5MPFVmlmO06fFCVp7BXED/QXA0PVcVhV+D0OL9K9GZs4WcieRj/iyMbFQjYSXireV3FRV9N+n7KBZhrebTmAAKyOB6lGBPx7NAxfDTzZbu9+wA+8/lUHjZBPXv9Etuxg5MCacE589XSdi6aBdNimJIpFyZfc6dxVNmVMaWPQhS495srNZaP29UzYO/tWYzkTmSqIbHgRHSUc19wyuYFj8KQNj2LCJ0GzieK1x8La7Ws7xCeYEUiFwQ0mIeB16UsyFN+j2IPRMpGzznomadDkrsQ5ZtKtJ5nLsyryt1U8DbuE591Ce6j+YoSQnIFCJYKGj6FzHwgzONDyszp2Sda0ga/Qhcgt7ADqkk0qg93+gKBCZgG++n6py/PZuuaLLr64gVP+yjRZ16ovLbZPOvhMsjUGlFttcuzBoL2OttkALvAqpTlPoY51RTH0uoSln5QBl/nqEAtc/j/mlx1bCRULyENr/gpqVK5As4FdQh5OTWDwMv3Uph/xfW3yxX29/CCt//e99z4/323m1Njqb/rv/NuPI4o7j65Ia2LGiwG+qZ3F9a8HCtR0nl/Sn9ggA5c/9CqfCbwtlklECgut+srXhdOEtmZlbXOnZHT+isD6hAJo44aUmw1Cto1Nt1BjJAPqzPuzB3+zz90hx5XUy58EPlwZfrNOTFlkC+EpSQ8nGt3BYMTG4R2Ee6MqPkf2lm9UhLaD8z6FJmvqa9+C3rpQZoSe8m83uGHmeVmvEpAFKL43gh8roFb9VxFK2kN0Ag+ZDLfPtoRWhUiN9qP9aljOWqrg0rmnjt7cBxViKnUPPj0fF8hdPIh5iaacWn2Dwoifd5pKdewFJi/EvY+xCi27P7n+NpTH4N1TF4jStFWv2/RZoNKHj36VCOq163goYwNa4Ix7EUp37acxaOH/YETDiS2loJffORwLYE7kLwES0lXoiBKqw9I5A19j5iyW21nnznffv7SbUeGeN+LNQWwhq/2myOOqsGK27zGyaPi1I8A+iQHbtxo84tPc0ipv5kjm4zeo0nKSwLzOg/xHdfFsC/6r4O7W3q9T5gvYVxMY+RBfHMPh2kZUnTNWEu/SjKQqU68DqhjiOPtRa4SNB70vKS4bpH1CH0bBCt2SNUK5arvIt8A1wQlDuTSxbJ0zF0uBcEUMr/xpK7YcN4OTh7JYQ0Wd8/s7v4ShFpoJYuFtaJVV5vVw8cnO46A2XHcXsn8uAoUIBmPVKg5WKyhv22zbRDRiNUw5k0Jw66E8XYUFior2CQpZ7AwJS1EEiUtXvlcau/SHWjyz5AsIjWHvqktqBnDIlMybfe3ixt358/WbPn3aXOkUqpQBcuBYJ3ukyy28OAy7M54v3XBCieHWEXaEIKUefZu5yuD4pp8huPJzpGaSqUHA20dq/XiXmJUtQqg0aRN+sVWdnWSmEF4RkCtoifZ5WqoSMvMcMYNT3pv+Zjy11dgt+kdW8durEVB2NcnaEpWDhacnE7H0KknAkdHXPxiVu0pBipm3QBrW9fWq707+N0bWjIck1F12Rz4u6/d+1BvREqEPgJ7+EvACf+su0ELCDzBAuv+ZCHAt0uGs1z7hMopRQo94i8P9ijJmQZRG1sI8uj48/YgvSVp8S7YwhXkalM1LdFuKYJxioyUFXPJvzR9OCQ2/GIjakDLgEHWWSHtuuM4sKVa6bDvvW8yzNpiQsYP94pZaP9g9Kz0Dn+qapVndNKbBjwXzuPkVdqnOBjVRfEgHIHc0xrefVGlUDVJ8BoA4RU0fBMbADiKRx0SzwnUAUphH5hO7gZH8zURJv1GZkKIMQBYa8CaVKi4HY2Ue6Q5zgqc2QlH17TodKzE3umQJadPkM8KcryfaSPZ7prIVMiwirTMUAkt8/FVq0DLAY1NFQ2FXT+CAnHE3jMm3+KMKUk6dzLk10Aq98/6Od9MO7j3+TxHIB8pIEmwYmm18iAiDUo5KukvEkMWwXU8qVsTxL9ajNiBugvoOsb84WaUv+R0AjtvR60mwVc8SAwi3vnV4JPwOOgUyLZfvJxX3WJZqoNJAK9vcs1PphSkOGEFUVGbtPgDUjSY1DvnLF2jC8bPUjcExMokhwDqVC64wrSEASP/yIInL3K340/U6vLzi5kOixUk8Iflz5Z7S6HjiMYvOnntIEuSzwS2O0I/jTE15SGNBJ4ovyKGcWmJF5wF1LgmOVan6bTmLZuYRHJHfM0LQlPz9IWnWMl8HQIXa7ZHpa7zyAxbSn3o51PYGw3ZuOwHDLJseoGWz7pPj7f8q7WRYdcEQHNR/AuYLLvVyHfNl7sdBmyMSXFFzOK05M9Ed9ly/R+Pg9/l/mjorIzsmCXm+/nS3YOAofmTf4RaB9NaQ2gjmvml2xAQr1lS4Rw6V2oWgDbCuCTIWx3ureOnF5O7XQnLDCfBaDB4RJGd4OUtQ0CBxXhOB95H00pyzAnvGM91jRn9vjumvSa7bmBTNgNpgSxvHqcjFsOJUC21RT0GREAz07WuKN+NyGRYIJNZQpP5XAAB0sDxxDJBiutKn3fQrKp2WkAoy3DEc3qCpzLz8r2xcOOi6JkGB6fEgo914P37UFHPLqeBDNNbevGyb6oL+lYthMoDrtx8kuXiG0X7isS6KyOmYt9C1VD/Nmbbpo/hW5azIv87JkYA/kfHn0cKvcNLIUl6nNyF3Z/Ce9HqtTzGgEdEnkAKb+YMDHOQRvEVTgj9pCbae60ItLK0C2ZWeE0YxVOpDe7IbALySqyeRZDacoqjh46SiYxy6kSjtzIs27HAJX7FrSDkeRbdHYLazN1w90YIfQdvekZLyekcOsYPYisOvJvqQrRR7BZ6rgQ30dginISXhISTCq/qyCkHBalQYTl9xoY9MMk2Ji8OPaPt8zlfrZd1vfAGiaawKP18jqzSJXbwbgWwQgJZX6g7t4Ml2Ib72Xon0e/oWozmxfVCM/9OT7HQx0PerkHerQhG4WqDP4uyAE9aeFAc1LapBaWi3y9FhsjR9EhQgxK09EPx7GQOqAaY/ZwcN0kGSEXdzZaLE8IhVKoZihm9iy9+t0L0aXmy5ukrsshM5iF08Isq0M8fUWW+3FUXZG0z29DbMAc2Z5IASPIcgam/EAAKFy0osLwLWGYc7zqFAeoNo4rqLve/mZvNEdNQLS/XP3XhOXyyUU4oSFYZFCn6sohHiJBOlbD4ri1cz+00HuewkasqAzZ1jT54HozB/LBhP9E7+H5SfC7s5KFHmgZSIsRl/BAw/7N+kmKL+VGc0DBfW/BN1no2etb1s03fcMujZ0GWFmSjNqhDBWmq2sEdlrF5k31to9+Mm+IUq3dpdkK/CsZH3nYyh6olNcJ+xGjAxiVMWK5hTehSg5MoRzOWHaCKZDHqXkAB+78Mf0GAh22/fAZwnSoDToQ2YYiK0O9u8C833FdGIFORWKh3eG2OIA+sIMi947GvOh/iiR1AcfC1/FLdQdXR3vM6WZY/0hIhwf6LaGgpmATbuHhEBJFkoesnEbv6oXY8tiTgenD+vIIlIQUEEoLkJ0SSPGP60xH//Yd0bl8tWTQHQBcggNt+gspJTlbI9WrOeyRdVmtv3DcTla+f0z3N2r97Gi6GPYj7+/LiOYImY+E4ocNn1zPrgal4qHM2Ic4vGydGRiRxe2XrGebpuhnNMGR+pWxWj1cE4G1jbds6t2V3ciGXdlALmagkiMq2+SZXavohvoDA72ArXfkYAqLw5gqi6oZqhq/kLDpAkh6jnw8z7E8VhZXyj/83kLGbZZSBbqePngMf3pzO1IRZkVOQ2v7CiDZkEvt6jK1lUPB7+Fx+uVQPbBRUe8LaqiIsbN8bIY2QbnQZLcaBJMJGlvPLQZkt1/mzrjLj5u3rglgrw2wLG/azR+fnPhmnsFDAi6QyeazUgYqoE0cGYvcN998SaQxI4u7gQ2UARDUxuq1EyLp+ao9khpoF9/Fr1bp3hY4oQ133xcBzPgcAvU/V5v3VPYAg2MWSFKQx8kYaPeOZ/uBE8t+XM5D1heRXUPB/xKfiRhjiS7qfbTHYBj959JsqV/ie1FQhSH00mbBjR8KjCtslv/JS5X4i+WWPETp7s8pq9Clj8+MDSt7BBhOSGF0YmFkIfqr6QAeFc8EQM3yuLDuUlHp0wb/85vlpulVXQ8ENS2UxO8AV06kZGJkIglzRMuKw59muqakbxzNoTeh20n0S7D3cxyz//CHa5HBzpgbSAtO1qXgePxbD0SaRqMT0ggpCn46TXQySmx7y9xFvxhvbF5GlxbVMI6+No9offSwair8PEZCIwlwtcKINU/BTl9ZG4ep8H2JdhrJ5TDmvnTkitUb+1Mk4iFtCJmGMknkrhX/JjeVk7z+FKVC64ru4benaBB4dBN872OiWiQAGVXuOmOq4gmmbzhU9fDXFyFXxHn0j23ecL836/gMpUQ57INHGSWGpYEAB611itngelrrFCOFS9v8hDoe9w/zozmMjXCYN8lI5mb/pvWJnTzSAf2k9AC8zHtc7g1tay0hiVImu6Co+sSTqtsk/osFc/E1pLbcjQnlcFtNEnnF0/qGy775K7Ns1YaIl54QFcanspZhj/J3aCbyJMcBzp7f9/yFnlJeSt9430a2rCN6hlgLihOQG74TpjuZjUjsrXkdBTqsBy+8SI8ZJeFiKKjMYk9Yyokwp/wi0kPPht7ex7+g2Q7Lpcj5kSdoIrnxGMF/ZLaqJZc79L25L6ZsHlVeFFO7Kc0ep5X2F+R5Y9cILvKPiShtU71ijfImyjtUSBUHs59Dp4aZrQWSSEEYdwIN7CufCwm6CX6yBs0XumjTJfWIaK5MJbcXLDl1nbFSwTwNbX1Ih2HvD9idjmJU5eoMYq6uQpFgnif80OdMB0+WNFAEJtaAGdJmfwu7/stzPHKhmacA5470AR6eNqIsg9A8NVOP+RcJfyWfxswnoxWihInb/h0hjAqTxjCpyDtAyR5QMcU83OtQ+3EtCNxzbZ3KuVcq5VyrqWc2C5zD/vqMrGr3zdiP+tBy3IHnqoArnqBb5RNTS+bSstRu/pmi1xj9CdhQlY9ddg+CdTU2LGV0Y3ekRK5eu5VoyBSDd4uIwoBE4kBvPlQG7hgHVOgm6akvilgHVo3CU0HL2m2nH27HL578h1MV+8j4s/4H2OlNT7ULZ6EVdh16jpdmxPEI6focUD3oWSI3VeZZALTtPXt+XpIboukFh0zgI2jAfd2SMi2UhhkU8QpLy+/RkBFbNkH4OMiBo7s62bk/+xDupDU9GUEfd4JwECPFe8b/VUSCvvq+p/h4RRZzKjkZFCdFk/BmnnSIpQPAAAAAA"},4552:(e,n,t)=>{t.d(n,{I:()=>r,M:()=>a});var i=t(11504);const o={},s=i.createContext(o);function a(e){const n=i.useContext(s);return i.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(o):e.components||o:a(e.components),i.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/43052.73999299.js b/assets/js/43052.73999299.js new file mode 100644 index 000000000..5d83b65ba --- /dev/null +++ b/assets/js/43052.73999299.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[43052],{9452:(e,t,s)=>{s.d(t,{c:()=>b});var n=s(11504),a=s(65456),r=s(520),i=s(11432),l=s(10867),o=s(84357),c=s(55592),m=s(13376);function d(e){const{pathname:t}=(0,c.IT)();return(0,n.useMemo)((()=>e.filter((e=>function(e,t){return!(e.unlisted&&!(0,m.Sc)(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(17624);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.c)(u.sidebar,"thin-scrollbar"),"aria-label":(0,o.G)({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.c)(u.sidebarItemTitle,"margin-bottom--md"),children:t.title}),(0,h.jsx)("ul",{className:(0,a.c)(u.sidebarItemList,"clean-list"),children:s.map((e=>(0,h.jsx)("li",{className:u.sidebarItem,children:(0,h.jsx)(l.c,{isNavLink:!0,to:e.permalink,className:u.sidebarItemLink,activeClassName:u.sidebarItemLinkActive,children:e.title})},e.permalink)))})]})})}var p=s(45168);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.c,{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.Mx,{component:x,props:e})}function f(e){let{sidebar:t}=e;const s=(0,i.U)();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.c,{...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.c)("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})]})})})}},57792:(e,t,s)=>{s.d(t,{c:()=>F});s(11504);var n=s(65456),a=s(83152),r=s(70964),i=s(17624);function l(e){let{children:t,className:s}=e;const{frontMatter:n,assets:l,metadata:{description:o}}=(0,a.g)(),{withBaseUrl:c}=(0,r.E)(),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(10867);const c={title:"title_f1Hy"};function m(e){let{className:t}=e;const{metadata:s,isBlogPostPage:r}=(0,a.g)(),{permalink:l,title:m}=s,d=r?"h1":"h2";return(0,i.jsx)(d,{className:(0,n.c)(c.title,t),itemProp:"headline",children:r?m:(0,i.jsx)(o.c,{itemProp:"url",to:l,children:m})})}var d=s(84357),u=s(95944);const h={container:"container_mt6G"};function g(e){let{readingTime:t}=e;const s=function(){const{selectMessage:e}=(0,u.A)();return t=>{const s=Math.ceil(t);return e(s,(0,d.G)({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.g)(),{date:r,formattedDate:l,readingTime:o}=s;return(0,i.jsxs)("div",{className:(0,n.c)(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.c,{...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.c)("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 N(e){let{className:t}=e;const{metadata:{authors:s},assets:r}=(0,a.g)();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.c)("margin-top--md margin-bottom--sm",l?v.imageOnlyAuthorRow:"row",t),children:s.map(((e,t)=>(0,i.jsx)("div",{className:(0,n.c)(!l&&"col col--6",l?v.imageOnlyAuthorCol:v.authorCol),children:(0,i.jsx)(b,{author:{...e,imageURL:r.authorsImageUrls[t]??e.imageURL}})},t)))})}function _(){return(0,i.jsxs)("header",{children:[(0,i.jsx)(m,{}),(0,i.jsx)(j,{}),(0,i.jsx)(N,{})]})}var P=s(15684),k=s(5840);function y(e){let{children:t,className:s}=e;const{isBlogPostPage:r}=(0,a.g)();return(0,i.jsx)("div",{id:r?P.blogPostContainerID:void 0,className:(0,n.c)("markdown",s),itemProp:"articleBody",children:(0,i.jsx)(k.c,{children:t})})}var T=s(47790),w=s(1096);function C(){return(0,i.jsx)("b",{children:(0,i.jsx)(d.c,{id:"theme.blog.post.readMore",description:"The label used in blog post item excerpts to link to full blog posts",children:"Read More"})})}function I(e){const{blogPostTitle:t,...s}=e;return(0,i.jsx)(o.c,{"aria-label":(0,d.G)({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)(C,{})})}const L={blogPostFooterDetailsFull:"blogPostFooterDetailsFull_mRVl"};function A(){const{metadata:e,isBlogPostPage:t}=(0,a.g)(),{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.c)("row docusaurus-mt-lg",t&&L.blogPostFooterDetailsFull),children:[m&&(0,i.jsx)("div",{className:(0,n.c)("col",{"col--9":c}),children:(0,i.jsx)(w.c,{tags:s})}),t&&l&&(0,i.jsx)("div",{className:"col margin-top--sm",children:(0,i.jsx)(T.c,{editUrl:l})}),c&&(0,i.jsx)("div",{className:(0,n.c)("col text--right",{"col--3":m}),children:(0,i.jsx)(I,{blogPostTitle:r,to:e.permalink})})]}):null}function F(e){let{children:t,className:s}=e;const r=function(){const{isBlogPostPage:e}=(0,a.g)();return e?void 0:"margin-bottom--xl"}();return(0,i.jsxs)(l,{className:(0,n.c)(r,s),children:[(0,i.jsx)(_,{}),(0,i.jsx)(y,{children:t}),(0,i.jsx)(A,{})]})}},47790:(e,t,s)=>{s.d(t,{c:()=>m});s(11504);var n=s(84357),a=s(45864),r=s(10867),i=s(65456);const l={iconEdit:"iconEdit_Z9Sw"};var o=s(17624);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.c)(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.c,{to:t,className:a.W.common.editThisPage,children:[(0,o.jsx)(c,{}),(0,o.jsx)(n.c,{id:"theme.common.editThisPage",description:"The link label to edit the current page",children:"Edit this page"})]})}},5840:(e,t,s)=>{s.d(t,{c:()=>I});var n=s(11504),a=s(4552),r=s(56952),i=s(1608),l=s(17624);function o(e){return(0,l.jsx)("code",{...e})}var c=s(10867);var m=s(65456),d=s(5976),u=s(93664),h=s(58448);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.c)().collectAnchor(a.id);const r=(0,u.c)(),i=(0,n.useRef)(null),{collapsed:o,setCollapsed:c}=(0,h.a)({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.c)(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.U,{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.c)(b,f.details,t.className)})}function N(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 _=s(56448);function P(e){return(0,l.jsx)(_.c,{...e})}const k={containsTaskList:"containsTaskList_mC6p"};function y(e){if(void 0!==e)return(0,m.c)(e,e?.includes("contains-task-list")&&k.containsTaskList)}const T={img:"img_ev3q"};var w=s(28952);const C={Head:r.c,details:N,Details:N,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.c,{...e})},a:function(e){return(0,l.jsx)(c.c,{...e})},pre:function(e){return(0,l.jsx)(l.Fragment,{children:e.children})},ul:function(e){return(0,l.jsx)("ul",{...e,className:y(e.className)})},li:function(e){return(0,d.c)().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.c)(t,T.img))});var t},h1:e=>(0,l.jsx)(P,{as:"h1",...e}),h2:e=>(0,l.jsx)(P,{as:"h2",...e}),h3:e=>(0,l.jsx)(P,{as:"h3",...e}),h4:e=>(0,l.jsx)(P,{as:"h4",...e}),h5:e=>(0,l.jsx)(P,{as:"h5",...e}),h6:e=>(0,l.jsx)(P,{as:"h6",...e}),admonition:w.c,mermaid:()=>null};function I(e){let{children:t}=e;return(0,l.jsx)(a.I,{components:C,children:t})}},70308:(e,t,s)=>{s.d(t,{c:()=>i});s(11504);var n=s(65456),a=s(10867),r=s(17624);function i(e){const{permalink:t,title:s,subLabel:i,isNext:l}=e;return(0,r.jsxs)(a.c,{className:(0,n.c)("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})]})}},83020:(e,t,s)=>{s.d(t,{c:()=>l});s(11504);var n=s(65456),a=s(10867);const r={tag:"tag_zVej",tagRegular:"tagRegular_sFm0",tagWithCount:"tagWithCount_h2kH"};var i=s(17624);function l(e){let{permalink:t,label:s,count:l}=e;return(0,i.jsxs)(a.c,{href:t,className:(0,n.c)(r.tag,l?r.tagWithCount:r.tagRegular),children:[s,l&&(0,i.jsx)("span",{children:l})]})}},1096:(e,t,s)=>{s.d(t,{c:()=>o});s(11504);var n=s(65456),a=s(84357),r=s(83020);const i={tags:"tags_jXut",tag:"tag_QGVx"};var l=s(17624);function o(e){let{tags:t}=e;return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("b",{children:(0,l.jsx)(a.c,{id:"theme.tags.tagsListLabel",description:"The label alongside a tag list",children:"Tags:"})}),(0,l.jsx)("ul",{className:(0,n.c)(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.c,{label:t,permalink:s})},s)}))})]})}},83152:(e,t,s)=>{s.d(t,{E:()=>l,g:()=>o});var n=s(11504),a=s(91100),r=s(17624);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.AH("BlogPostProvider");return e}},95944:(e,t,s)=>{s.d(t,{A:()=>c});var n=s(11504),a=s(28264);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.c)();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/435e79fb.13b37035.js b/assets/js/435e79fb.13b37035.js new file mode 100644 index 000000000..63ad417a2 --- /dev/null +++ b/assets/js/435e79fb.13b37035.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[88184],{43316:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>p,frontMatter:()=>a,metadata:()=>c,toc:()=>d});var r=s(17624),n=s(4552),o=s(13536);const a={id:"store",title:"Store"},i=void 0,c={id:"javascript/state/store",title:"Store",description:"The store object contains all getters and setters for managing the application's state.",source:"@site/forms/javascript/state/store.mdx",sourceDirName:"javascript/state",slug:"/javascript/state/store",permalink:"/forms/javascript/state/store",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"store",title:"Store"},sidebar:"forms",previous:{title:"State",permalink:"/forms/javascript/state/"},next:{title:"Form",permalink:"/forms/javascript/state/form"}},l={},d=[{value:"Example",id:"example",level:3}];function h(e){const t={code:"code",h3:"h3",p:"p",pre:"pre",...(0,n.M)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(t.p,{children:["The ",(0,r.jsx)(t.code,{children:"store"})," object contains all getters and setters for managing the application's state."]}),"\n",(0,r.jsx)(t.p,{children:"We highly recommend using these helpers instead of directly accessing the state object to avoid unexpected behavior and prevent future breaking changes."}),"\n",(0,r.jsx)(o.g,{name:"Store",filter:"store",url:"state"}),"\n",(0,r.jsx)(t.h3,{id:"example",children:"Example"}),"\n",(0,r.jsxs)(t.p,{children:["This example will return DOM element of the form assigned to the ",(0,r.jsx)(t.code,{children:"formId"}),"."]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-js",children:"window?.esForms?.store?.getStateFormElement('');\n"})})]})}function p(e={}){const{wrapper:t}={...(0,n.M)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(h,{...e})}):h(e)}},13536:(e,t,s)=>{s.d(t,{g:()=>a});s(11504);var r=s(1608),n=s(96616),o=s(17624);function a(e){const{name:t,filter:s,url:a}=e,i=`https://github.com/infinum/eightshift-forms/blob/develop/src/Blocks/components/form/assets/${a}.js`;return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("h3",{children:"Usage"}),(0,o.jsxs)("p",{children:["To access ",t," object and all its customization options use your browsers console and type:"]}),(0,o.jsx)(r.c,{language:"js",children:(0,n.c)(`\n\t\t\t\twindow?.esForms?.${s}\n\t\t\t`)}),a&&(0,o.jsxs)("p",{children:["You can find all methods and their documentation on this ",(0,o.jsx)("a",{href:i,target:"_blank",rel:"noopener noreferrer",children:"link"}),"."]})]})}},96616:(e,t,s)=>{function r(e){const t=e.split(/\n/g);for(;0===t[0]?.replace(/\s/g,"").length;)t.shift();for(;0===t[t.length-1]?.replace(/\s/g,"").length;)t.pop();const s=e.split(/\n/g).filter((e=>e.replace(/\s/g,"").length>0)).map((e=>e.match(/^\s*/)?.[0]?.length??0)),r=Math.min(...s);return t.map((e=>e.slice(r))).join("\n")}s.d(t,{c:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/435e79fb.4803e223.js b/assets/js/435e79fb.4803e223.js deleted file mode 100644 index 3950c4900..000000000 --- a/assets/js/435e79fb.4803e223.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[49594],{91058:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>h,frontMatter:()=>o,metadata:()=>l,toc:()=>d});var r=s(85893),n=s(11151),a=s(22130);const o={id:"store",title:"Store"},i=void 0,l={id:"javascript/state/store",title:"Store",description:"The store object contains all getters and setters for managing the application's state.",source:"@site/forms/javascript/state/store.mdx",sourceDirName:"javascript/state",slug:"/javascript/state/store",permalink:"/forms/javascript/state/store",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"store",title:"Store"},sidebar:"forms",previous:{title:"State",permalink:"/forms/javascript/state/"},next:{title:"Form",permalink:"/forms/javascript/state/form"}},c={},d=[{value:"Example",id:"example",level:3}];function p(e){const t={code:"code",h3:"h3",p:"p",pre:"pre",...(0,n.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(t.p,{children:["The ",(0,r.jsx)(t.code,{children:"store"})," object contains all getters and setters for managing the application's state."]}),"\n",(0,r.jsx)(t.p,{children:"We highly recommend using these helpers instead of directly accessing the state object to avoid unexpected behavior and prevent future breaking changes."}),"\n",(0,r.jsx)(a.D,{name:"Store",filter:"store",url:"state"}),"\n",(0,r.jsx)(t.h3,{id:"example",children:"Example"}),"\n",(0,r.jsxs)(t.p,{children:["This example will return DOM element of the form assigned to the ",(0,r.jsx)(t.code,{children:"formId"}),"."]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-js",children:"window?.esForms?.store?.getStateFormElement('');\n"})})]})}function h(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(p,{...e})}):p(e)}},22130:(e,t,s)=>{s.d(t,{D:()=>o});s(67294);var r=s(9286),n=s(61684),a=s(85893);function o(e){const{name:t,filter:s,url:o}=e,i="https://github.com/infinum/eightshift-forms/blob/develop/src/Blocks/components/form/assets/"+o+".js";return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h3",{children:"Usage"}),(0,a.jsxs)("p",{children:["To access ",t," object and all its customization options use your browsers console and type:"]}),(0,a.jsx)(r.Z,{language:"js",children:(0,n.p)("\n\t\t\t\twindow?.esForms?."+s+"\n\t\t\t")}),o&&(0,a.jsxs)("p",{children:["You can find all methods and their documentation on this ",(0,a.jsx)("a",{href:i,target:"_blank",rel:"noopener noreferrer",children:"link"}),"."]})]})}},61684:(e,t,s)=>{function r(e){const t=e.split(/\n/g);for(;0===(null==(s=t[0])?void 0:s.replace(/\s/g,"").length);){var s;t.shift()}for(;0===(null==(r=t[t.length-1])?void 0:r.replace(/\s/g,"").length);){var r;t.pop()}const n=e.split(/\n/g).filter((e=>e.replace(/\s/g,"").length>0)).map((e=>{var t,s;return null!=(t=null==(s=e.match(/^\s*/))||null==(s=s[0])?void 0:s.length)?t:0})),a=Math.min(...n);return t.map((e=>e.slice(a))).join("\n")}s.d(t,{p:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/43ab2c5c.47f3f340.js b/assets/js/43ab2c5c.47f3f340.js new file mode 100644 index 000000000..23f6b2166 --- /dev/null +++ b/assets/js/43ab2c5c.47f3f340.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[29348],{90896:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>l,default:()=>h,frontMatter:()=>s,metadata:()=>a,toc:()=>d});var n=i(17624),o=i(4552),r=i(57848);const s={id:"welcome",title:"Welcome"},l=void 0,a={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.",source:"@site/forms/welcome.mdx",sourceDirName:".",slug:"/welcome",permalink:"/forms/welcome",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"welcome",title:"Welcome"},sidebar:"forms",next:{title:"Basics",permalink:"/forms/basics"}},c={},d=[];function u(e){const t={li:"li",p:"p",ul:"ul",...(0,o.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:"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."}),"\n",(0,n.jsx)(t.p,{children:"Eightshift Forms were crafted to streamline the process of creating and managing forms for your websites or web applications. Whether you're building a simple contact form or a complex multi-step survey, this package offers the flexibility and tools you need to achieve your goals with ease."}),"\n",(0,n.jsx)(t.p,{children:"Here's a glimpse of what Eightshift Forms brings to the table:"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsx)(t.p,{children:"Seamless Integration: Integrate this package into your existing WordPress projects without hassle, but it works best with our Eightshift Boilerplate."}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsx)(t.p,{children:"User-Friendly: Enjoy an intuitive and developer-friendly interface that simplifies the form setup and configuration process using native WordPress Block Editor."}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsx)(t.p,{children:"Customization: Tailor your forms to match your project's unique design and branding requirements using customizable templates and themes."}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsx)(t.p,{children:"Conditional Logic: Implement dynamic form behavior using conditional logic, making your forms more interactive and engaging."}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsx)(t.p,{children:"Extensibility: Take advantage of the plugin's extendable architecture, allowing you to integrate additional functionalities as per your project's needs. We develop for developers by providing a solid foundation for you to build upon."}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsx)(t.p,{children:"Multi-Language Support: Create multilingual forms effortlessly with our built-in support for WPML or any other multilingual plugin."}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsx)(t.p,{children:"Third-Party Integrations: Seamlessly integrate with various third-party services, enhancing the functionality and power of your forms like Hubspot, Mailchimp, Greenhouse, and many others."}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsx)(t.p,{children:"Multi-Step Forms: Create multi-step forms with ease, allowing you to break down complex forms into smaller, more manageable chunks."}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsx)(t.p,{children:"Multi-flow Forms: Create multi-flow forms with ease, allowing you to create multiple forms with different fields and conditions."}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsx)(t.p,{children:"Accessibility: Create accessible forms with ease, allowing you to create forms that are accessible to all users."}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsx)(t.p,{children:"Security and performance: Uses nonce verification, sanitization and escaping to ensure your forms are secure. It also uses AJAX to submit forms without reloading the page, improving user experience and speed."}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:"Whether you're a seasoned developer seeking to optimize your form-building process or a beginner looking for a reliable and feature-rich solution, Eightshift Forms has something to offer for everyone."}),"\n",(0,n.jsx)(r.E7,{type:"forms",video:"intro",useTitle:!1})]})}function h(e={}){const{wrapper:t}={...(0,o.M)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(u,{...e})}):u(e)}},57848:(e,t,i)=>{i.d(t,{g7:()=>s,gd:()=>l,E7:()=>r});i(11504);const n=JSON.parse('{"forms":{"playlist":{"video":"https://www.youtube.com/playlist?list=PLFjp6yaGpZJvzqWGi3y9vZ3prra0h5Emx","label":"Eightshift Forms playlist"},"videos":{"intro":{"video":"3jPVuGjh488","label":"Introduction to Eightshift Forms"},"basics":{"video":"4BnTXHviZkI","label":"Getting familiar with Eightshift forms"},"firstForm":{"video":"qcsr7QGFmV4","label":"Step-by-step guide to creating your first form"},"integrations":{"video":"r2KEVIkNt04","label":"Integrating third-party services"},"integrationsSync":{"video":"JyfO328bq08","label":"Syncing your forms with third-party integrations"},"cache":{"video":"gX997f3fUcI","label":"Don\'t be afraid of caching"}}}}');var o=i(17624);function r(e){const{type:t,isPlaylist:i=!1,useTitle:r=!0,title:s="Tutorials",video:l,subtitlePrefix:a=""}=e;let c="",d="";i?(d=n[t].playlist.label,c=n[t].playlist.video):(d=n[t].videos[l].label,c=n[t].videos[l].video),a&&(d=`${a} ${d}`);const u=`https://www.youtube.com/embed/${c}`;return(0,o.jsxs)(o.Fragment,{children:[r&&(0,o.jsx)("h2",{children:s}),d&&(0,o.jsx)("h3",{children:d}),(0,o.jsx)("iframe",{width:"560",height:"315",src:u,title:"YouTube video player",frameBorder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",allowFullScreen:!0})]})}function s(e){const{type:t}=e;return(0,o.jsx)(o.Fragment,{children:Object.keys(n[t].videos).map(((e,i)=>{const n=`${String(i+1).padStart(2,"0")} - `;return(0,o.jsx)(r,{type:t,video:e,useTitle:0===i,subtitlePrefix:n},i)}))})}function l(e){const{type:t,label:i,link:r}=e;let s=i??n[t].playlist.label,l=r??n[t].playlist.video;return(0,o.jsx)(o.Fragment,{children:(0,o.jsx)("a",{href:l,target:"_blank",rel:"noopener noreferrer",children:s})})}},4552:(e,t,i)=>{i.d(t,{I:()=>l,M:()=>s});var n=i(11504);const o={},r=n.createContext(o);function s(e){const t=n.useContext(r);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(o):e.components||o:s(e.components),n.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/43ab2c5c.95fb156e.js b/assets/js/43ab2c5c.95fb156e.js deleted file mode 100644 index 25af963e5..000000000 --- a/assets/js/43ab2c5c.95fb156e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[11852],{17244:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>l,default:()=>h,frontMatter:()=>s,metadata:()=>a,toc:()=>d});var n=i(85893),o=i(11151),r=i(12987);const s={id:"welcome",title:"Welcome"},l=void 0,a={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.",source:"@site/forms/welcome.mdx",sourceDirName:".",slug:"/welcome",permalink:"/forms/welcome",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"welcome",title:"Welcome"},sidebar:"forms",next:{title:"Basics",permalink:"/forms/basics"}},c={},d=[];function u(e){const t={li:"li",p:"p",ul:"ul",...(0,o.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:"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."}),"\n",(0,n.jsx)(t.p,{children:"Eightshift Forms were crafted to streamline the process of creating and managing forms for your websites or web applications. Whether you're building a simple contact form or a complex multi-step survey, this package offers the flexibility and tools you need to achieve your goals with ease."}),"\n",(0,n.jsx)(t.p,{children:"Here's a glimpse of what Eightshift Forms brings to the table:"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsx)(t.p,{children:"Seamless Integration: Integrate this package into your existing WordPress projects without hassle, but it works best with our Eightshift Boilerplate."}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsx)(t.p,{children:"User-Friendly: Enjoy an intuitive and developer-friendly interface that simplifies the form setup and configuration process using native WordPress Block Editor."}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsx)(t.p,{children:"Customization: Tailor your forms to match your project's unique design and branding requirements using customizable templates and themes."}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsx)(t.p,{children:"Conditional Logic: Implement dynamic form behavior using conditional logic, making your forms more interactive and engaging."}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsx)(t.p,{children:"Extensibility: Take advantage of the plugin's extendable architecture, allowing you to integrate additional functionalities as per your project's needs. We develop for developers by providing a solid foundation for you to build upon."}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsx)(t.p,{children:"Multi-Language Support: Create multilingual forms effortlessly with our built-in support for WPML or any other multilingual plugin."}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsx)(t.p,{children:"Third-Party Integrations: Seamlessly integrate with various third-party services, enhancing the functionality and power of your forms like Hubspot, Mailchimp, Greenhouse, and many others."}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsx)(t.p,{children:"Multi-Step Forms: Create multi-step forms with ease, allowing you to break down complex forms into smaller, more manageable chunks."}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsx)(t.p,{children:"Multi-flow Forms: Create multi-flow forms with ease, allowing you to create multiple forms with different fields and conditions."}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsx)(t.p,{children:"Accessibility: Create accessible forms with ease, allowing you to create forms that are accessible to all users."}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsx)(t.p,{children:"Security and performance: Uses nonce verification, sanitization and escaping to ensure your forms are secure. It also uses AJAX to submit forms without reloading the page, improving user experience and speed."}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:"Whether you're a seasoned developer seeking to optimize your form-building process or a beginner looking for a reliable and feature-rich solution, Eightshift Forms has something to offer for everyone."}),"\n",(0,n.jsx)(r.nk,{type:"forms",video:"intro",useTitle:!1})]})}function h(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(u,{...e})}):u(e)}},12987:(e,t,i)=>{i.d(t,{pE:()=>s,BY:()=>l,nk:()=>r});i(67294);const n=JSON.parse('{"forms":{"playlist":{"video":"https://www.youtube.com/playlist?list=PLFjp6yaGpZJvzqWGi3y9vZ3prra0h5Emx","label":"Eightshift Forms playlist"},"videos":{"intro":{"video":"3jPVuGjh488","label":"Introduction to Eightshift Forms"},"basics":{"video":"4BnTXHviZkI","label":"Getting familiar with Eightshift forms"},"firstForm":{"video":"qcsr7QGFmV4","label":"Step-by-step guide to creating your first form"},"integrations":{"video":"r2KEVIkNt04","label":"Integrating third-party services"},"integrationsSync":{"video":"JyfO328bq08","label":"Syncing your forms with third-party integrations"},"cache":{"video":"gX997f3fUcI","label":"Don\'t be afraid of caching"}}}}');var o=i(85893);function r(e){const{type:t,isPlaylist:i=!1,useTitle:r=!0,title:s="Tutorials",video:l,subtitlePrefix:a=""}=e;let c="",d="";i?(d=n[t].playlist.label,c=n[t].playlist.video):(d=n[t].videos[l].label,c=n[t].videos[l].video),a&&(d=a+" "+d);const u="https://www.youtube.com/embed/"+c;return(0,o.jsxs)(o.Fragment,{children:[r&&(0,o.jsx)("h2",{children:s}),d&&(0,o.jsx)("h3",{children:d}),(0,o.jsx)("iframe",{width:"560",height:"315",src:u,title:"YouTube video player",frameBorder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",allowFullScreen:!0})]})}function s(e){const{type:t}=e;return(0,o.jsx)(o.Fragment,{children:Object.keys(n[t].videos).map(((e,i)=>{const n=String(i+1).padStart(2,"0")+" - ";return(0,o.jsx)(r,{type:t,video:e,useTitle:0===i,subtitlePrefix:n},i)}))})}function l(e){const{type:t,label:i,link:r}=e;let s=null!=i?i:n[t].playlist.label,l=null!=r?r:n[t].playlist.video;return(0,o.jsx)(o.Fragment,{children:(0,o.jsx)("a",{href:l,target:"_blank",rel:"noopener noreferrer",children:s})})}},11151:(e,t,i)=>{i.d(t,{Z:()=>l,a:()=>s});var n=i(67294);const o={},r=n.createContext(o);function s(e){const t=n.useContext(r);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(o):e.components||o:s(e.components),n.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/43ac2fb4.0c057e6b.js b/assets/js/43ac2fb4.0c057e6b.js new file mode 100644 index 000000000..8ed01a1c5 --- /dev/null +++ b/assets/js/43ac2fb4.0c057e6b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[54196],{62184:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>d,frontMatter:()=>o,metadata:()=>c,toc:()=>h});var i=s(17624),n=s(4552);const o={id:"versions",title:"Versions"},r=void 0,c={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.",source:"@site/docs/legacy/v4/versions.md",sourceDirName:"legacy/v4",slug:"/legacy/v4/versions",permalink:"/docs/legacy/v4/versions",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"versions",title:"Versions"},sidebar:"docs",previous:{title:"PHP",permalink:"/docs/legacy/v5/basics/helpers-php"},next:{title:"Extending Classes",permalink:"/docs/legacy/v4/guides/extending-classes"}},a={},h=[];function l(e){const t={a:"a",img:"img",p:"p",...(0,n.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"Now that you understand what makes Eightshift tick, here is a quick reminder about what library versions this documentation refers to."}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-boilerplate/tree/v4.0.0",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/version--4.0.0-eigthshift--boilerplate-red?style=for-the-badge&logo=",alt:"docs-source"})})}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-boilerplate/tree/v4.0.0",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/version--4.0.0-eigthshift--boilerplate--plugin-important?style=for-the-badge&logo=",alt:"docs-source"})})}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/v2.0.0",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/version--2.0.0-eigthshift--libs-blue?style=for-the-badge&logo=",alt:"docs-source"})})}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/v2.0.0",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/version--2.0.0-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=",alt:"docs-source"})})})]})}function d(e={}){const{wrapper:t}={...(0,n.M)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},4552:(e,t,s)=>{s.d(t,{I:()=>c,M:()=>r});var i=s(11504);const n={},o=i.createContext(n);function r(e){const t=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),i.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/43ac2fb4.4055e6cc.js b/assets/js/43ac2fb4.4055e6cc.js deleted file mode 100644 index 7b9190b12..000000000 --- a/assets/js/43ac2fb4.4055e6cc.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[98195],{11586:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>d,frontMatter:()=>o,metadata:()=>a,toc:()=>h});var i=s(85893),n=s(11151);const o={id:"versions",title:"Versions"},r=void 0,a={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.",source:"@site/docs/legacy/v4/versions.md",sourceDirName:"legacy/v4",slug:"/legacy/v4/versions",permalink:"/docs/legacy/v4/versions",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"versions",title:"Versions"},sidebar:"docs",previous:{title:"PHP",permalink:"/docs/legacy/v5/basics/helpers-php"},next:{title:"Extending Classes",permalink:"/docs/legacy/v4/guides/extending-classes"}},c={},h=[];function l(e){const t={a:"a",img:"img",p:"p",...(0,n.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"Now that you understand what makes Eightshift tick, here is a quick reminder about what library versions this documentation refers to."}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-boilerplate/tree/v4.0.0",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/version--4.0.0-eigthshift--boilerplate-red?style=for-the-badge&logo=",alt:"docs-source"})})}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-boilerplate/tree/v4.0.0",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/version--4.0.0-eigthshift--boilerplate--plugin-important?style=for-the-badge&logo=",alt:"docs-source"})})}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/v2.0.0",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/version--2.0.0-eigthshift--libs-blue?style=for-the-badge&logo=",alt:"docs-source"})})}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/v2.0.0",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/version--2.0.0-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=",alt:"docs-source"})})})]})}function d(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},11151:(e,t,s)=>{s.d(t,{Z:()=>a,a:()=>r});var i=s(67294);const n={},o=i.createContext(n);function r(e){const t=i.useContext(o);return i.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:r(e.components),i.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/43adcc08.47435da4.js b/assets/js/43adcc08.47435da4.js new file mode 100644 index 000000000..569996b94 --- /dev/null +++ b/assets/js/43adcc08.47435da4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[32012],{19420:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>r,contentTitle:()=>o,default:()=>h,frontMatter:()=>a,metadata:()=>c,toc:()=>l});var t=s(17624),i=s(4552);const a={id:"extending-classes",title:"Extending Classes"},o=void 0,c={id:"legacy/v4/guides/extending-classes",title:"Extending Classes",description:"docs-source",source:"@site/docs/legacy/v4/guides/extending-classes.md",sourceDirName:"legacy/v4/guides",slug:"/legacy/v4/guides/extending-classes",permalink:"/docs/legacy/v4/guides/extending-classes",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"extending-classes",title:"Extending Classes"},sidebar:"docs",previous:{title:"Versions",permalink:"/docs/legacy/v4/versions"},next:{title:"Dependency injection container",permalink:"/docs/legacy/v4/guides/di-container"}},r={},l=[{value:"Important notes",id:"important-notes",level:2},{value:"Example",id:"example",level:2}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",h2:"h2",img:"img",li:"li",p:"p",pre:"pre",ul:"ul",...(0,i.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/tree/v2.0.0",children:(0,t.jsx)(n.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsx)(n.p,{children:"We are providing abstract classes, interfaces, helpers, dependency injection and namespaces for your project. In general, you can use anything as-is from the vendor library, or you can modify/add the functionality of existing classes by extending them in your project."}),"\n",(0,t.jsx)(n.p,{children:"If you are familiar with the extending classes (object inheritance) in PHP language then you can just skip this chapter but for the rest of you here is an awesome description on how it works:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://www.php.net/manual/en/language.oop5.interfaces.php",children:"Interfaces"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://en.wikipedia.org/wiki/Dependency_injection",children:"Dependency Injection"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://www.php.net/manual/en/language.oop5.abstract.php",children:"Abstract Classes"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://www.php.net/manual/en/language.oop5.inheritance.php",children:"Object Inheritance"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://www.php.net/manual/en/language.namespaces.php",children:"Namespaces"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://www.php.net/manual/en/language.oop5.traits.php",children:"Traits"})}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Please get acquainted with these concepts before you continue because they will help you in the later chapters."}),"\n",(0,t.jsx)(n.h2,{id:"important-notes",children:"Important notes"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:["PHP part of this project lives in ",(0,t.jsx)(n.code,{children:"Eightshift_Libs"})," namespace."]}),"\n"]}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:["When adding a new class, changing the class name or changing the class file name, don't forget to run ",(0,t.jsx)(n.code,{children:"composer dump-autoload"})," to rebuild the autoload map."]}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"example",children:"Example"}),"\n",(0,t.jsx)(n.p,{children:"Every class in the lib can be extended and certain parts of it can be overriden or removed. For example, let's look at a way to remove loading of the admin style CSS assets."}),"\n",(0,t.jsxs)(n.p,{children:["In order to override the ",(0,t.jsx)(n.code,{children:"Eightshift_Lib\\Enqueue_Admin"})," class, you should create a new class, preferably in the ",(0,t.jsx)(n.code,{children:"enqueue"})," folder in your project.\nIn your ",(0,t.jsx)(n.code,{children:"enqueue\\class-admin-enqueue.php"})," file you'd do:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-js",children:"{s.d(n,{I:()=>c,M:()=>o});var t=s(11504);const i={},a=t.createContext(i);function o(e){const n=t.useContext(a);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),t.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/43adcc08.89acebf4.js b/assets/js/43adcc08.89acebf4.js deleted file mode 100644 index 69e1edea6..000000000 --- a/assets/js/43adcc08.89acebf4.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[82209],{76373:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>r,contentTitle:()=>o,default:()=>h,frontMatter:()=>a,metadata:()=>c,toc:()=>l});var t=s(85893),i=s(11151);const a={id:"extending-classes",title:"Extending Classes"},o=void 0,c={id:"legacy/v4/guides/extending-classes",title:"Extending Classes",description:"docs-source",source:"@site/docs/legacy/v4/guides/extending-classes.md",sourceDirName:"legacy/v4/guides",slug:"/legacy/v4/guides/extending-classes",permalink:"/docs/legacy/v4/guides/extending-classes",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"extending-classes",title:"Extending Classes"},sidebar:"docs",previous:{title:"Versions",permalink:"/docs/legacy/v4/versions"},next:{title:"Dependency injection container",permalink:"/docs/legacy/v4/guides/di-container"}},r={},l=[{value:"Important notes",id:"important-notes",level:2},{value:"Example",id:"example",level:2}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",h2:"h2",img:"img",li:"li",p:"p",pre:"pre",ul:"ul",...(0,i.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/tree/v2.0.0",children:(0,t.jsx)(n.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsx)(n.p,{children:"We are providing abstract classes, interfaces, helpers, dependency injection and namespaces for your project. In general, you can use anything as-is from the vendor library, or you can modify/add the functionality of existing classes by extending them in your project."}),"\n",(0,t.jsx)(n.p,{children:"If you are familiar with the extending classes (object inheritance) in PHP language then you can just skip this chapter but for the rest of you here is an awesome description on how it works:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://www.php.net/manual/en/language.oop5.interfaces.php",children:"Interfaces"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://en.wikipedia.org/wiki/Dependency_injection",children:"Dependency Injection"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://www.php.net/manual/en/language.oop5.abstract.php",children:"Abstract Classes"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://www.php.net/manual/en/language.oop5.inheritance.php",children:"Object Inheritance"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://www.php.net/manual/en/language.namespaces.php",children:"Namespaces"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://www.php.net/manual/en/language.oop5.traits.php",children:"Traits"})}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Please get acquainted with these concepts before you continue because they will help you in the later chapters."}),"\n",(0,t.jsx)(n.h2,{id:"important-notes",children:"Important notes"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:["PHP part of this project lives in ",(0,t.jsx)(n.code,{children:"Eightshift_Libs"})," namespace."]}),"\n"]}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:["When adding a new class, changing the class name or changing the class file name, don't forget to run ",(0,t.jsx)(n.code,{children:"composer dump-autoload"})," to rebuild the autoload map."]}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"example",children:"Example"}),"\n",(0,t.jsx)(n.p,{children:"Every class in the lib can be extended and certain parts of it can be overriden or removed. For example, let's look at a way to remove loading of the admin style CSS assets."}),"\n",(0,t.jsxs)(n.p,{children:["In order to override the ",(0,t.jsx)(n.code,{children:"Eightshift_Lib\\Enqueue_Admin"})," class, you should create a new class, preferably in the ",(0,t.jsx)(n.code,{children:"enqueue"})," folder in your project.\nIn your ",(0,t.jsx)(n.code,{children:"enqueue\\class-admin-enqueue.php"})," file you'd do:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-js",children:"{s.d(n,{Z:()=>c,a:()=>o});var t=s(67294);const i={},a=t.createContext(i);function o(e){const n=t.useContext(a);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),t.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/43d76b0c.2c5253dc.js b/assets/js/43d76b0c.2c5253dc.js deleted file mode 100644 index ad4739cad..000000000 --- a/assets/js/43d76b0c.2c5253dc.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[60710],{35075:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>d,frontMatter:()=>o,metadata:()=>l,toc:()=>r});var n=s(85893),i=s(11151);const o={id:"manifest",title:"Assets Manifest"},a=void 0,l={id:"legacy/v6/basics/manifest",title:"Assets Manifest",description:"docs-source",source:"@site/docs/legacy/v6/basics/manifest.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/manifest",permalink:"/docs/legacy/v6/basics/manifest",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"manifest",title:"Assets Manifest"},sidebar:"docs",previous:{title:"Example Class",permalink:"/docs/legacy/v6/basics/example-class"},next:{title:"REST Intro",permalink:"/docs/legacy/v6/basics/rest"}},c={},r=[{value:"How to use it",id:"how-to-use-it",level:2},{value:"Why not just fetch the asset the old-fashioned way?",id:"why-not-just-fetch-the-asset-the-old-fashioned-way",level:2}];function h(e){const t={a:"a",blockquote:"blockquote",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/4.0.0",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsxs)(t.blockquote,{children:["\n",(0,n.jsxs)(t.p,{children:["This ",(0,n.jsx)(t.code,{children:"manifest.json"})," file is generated by Webpack, and is different from the rest of Eightshift manifests described elsewhere in the documentation."]}),"\n"]}),"\n",(0,n.jsxs)(t.p,{children:["In the build process, Webpack creates all the static files from your assets folder and a ",(0,n.jsx)(t.code,{children:"manifest.json"})," file inside the public folder. The manifest file contains a list of key/value pairs that we use to set the location of the assets dynamically."]}),"\n",(0,n.jsxs)(t.p,{children:["This class provides the location of the ",(0,n.jsx)(t.code,{children:"manifest.json"})," file and helpers to return the full path for a specific asset."]}),"\n",(0,n.jsx)(t.h2,{id:"how-to-use-it",children:"How to use it"}),"\n",(0,n.jsx)(t.p,{children:"First, install the manifest class using this command:"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"wp boilerplate create_manifest"})}),"\n",(0,n.jsx)(t.p,{children:"You will see a custom filter you can use to fetch an item from the public folder in your class. This is the custom filter:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"/**\n * Manifest item filter name constant.\n *\n * @var string\n */\npublic const MANIFEST_ITEM = 'manifest-item';\n\n/**\n * Register all hooks. Changed filter name to manifest.\n *\n * @return void\n */\npublic function register(): void\n{\n\t\\add_filter(static::MANIFEST_ITEM, [ $this, 'getAssetsManifestItem' ]);\n}\n"})}),"\n",(0,n.jsx)(t.p,{children:"To use this filter to fetch asset URLs, add the following code and provide the correct name of your asset:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"use CoolProject\\Manifest\\Manifest;\n\n$logo = \\apply_filters(Manifest::MANIFEST_ITEM, 'logo.svg');\n"})}),"\n",(0,n.jsxs)(t.p,{children:["And that's it. This filter will check the public folder for the ",(0,n.jsx)(t.code,{children:"manifest.json"})," file, parse it, and return the value of the provided key."]}),"\n",(0,n.jsxs)(t.p,{children:["If there is no ",(0,n.jsx)(t.code,{children:"manifest.json"})," file or you provided the wrong asset name, there will be a descriptive message for you."]}),"\n",(0,n.jsxs)(t.blockquote,{children:["\n",(0,n.jsxs)(t.p,{children:["If you are using multiple boilerplates in one project don't forget to change the filter name defined in the ",(0,n.jsx)(t.code,{children:"MANIFEST_ITEM"})," constant."]}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"why-not-just-fetch-the-asset-the-old-fashioned-way",children:"Why not just fetch the asset the old-fashioned way?"}),"\n",(0,n.jsx)(t.p,{children:"By the old-fashioned way, we mean doing something like this:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"$logo = get_template_directory_uri() . 'public/logo.svg';\n"})}),"\n",(0,n.jsx)(t.p,{children:"You can definitely do this. However, using the manifest approach, if you want to change the public folder location or public folder name for some reason, you can change it in one place and you're done."}),"\n",(0,n.jsx)(t.p,{children:"If you are using the old-fashioned way, you would need to search and replace the whole project and implement the change. There is always a chance you will miss something and somehow break the project."})]})}function d(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(h,{...e})}):h(e)}},11151:(e,t,s)=>{s.d(t,{Z:()=>l,a:()=>a});var n=s(67294);const i={},o=n.createContext(i);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(i):e.components||i:a(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/43d76b0c.a26d7bc1.js b/assets/js/43d76b0c.a26d7bc1.js new file mode 100644 index 000000000..aa5322e62 --- /dev/null +++ b/assets/js/43d76b0c.a26d7bc1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[75544],{12260:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>d,frontMatter:()=>o,metadata:()=>l,toc:()=>r});var n=s(17624),i=s(4552);const o={id:"manifest",title:"Assets Manifest"},a=void 0,l={id:"legacy/v6/basics/manifest",title:"Assets Manifest",description:"docs-source",source:"@site/docs/legacy/v6/basics/manifest.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/manifest",permalink:"/docs/legacy/v6/basics/manifest",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"manifest",title:"Assets Manifest"},sidebar:"docs",previous:{title:"Example Class",permalink:"/docs/legacy/v6/basics/example-class"},next:{title:"REST Intro",permalink:"/docs/legacy/v6/basics/rest"}},c={},r=[{value:"How to use it",id:"how-to-use-it",level:2},{value:"Why not just fetch the asset the old-fashioned way?",id:"why-not-just-fetch-the-asset-the-old-fashioned-way",level:2}];function h(e){const t={a:"a",blockquote:"blockquote",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",...(0,i.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/4.0.0",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsxs)(t.blockquote,{children:["\n",(0,n.jsxs)(t.p,{children:["This ",(0,n.jsx)(t.code,{children:"manifest.json"})," file is generated by Webpack, and is different from the rest of Eightshift manifests described elsewhere in the documentation."]}),"\n"]}),"\n",(0,n.jsxs)(t.p,{children:["In the build process, Webpack creates all the static files from your assets folder and a ",(0,n.jsx)(t.code,{children:"manifest.json"})," file inside the public folder. The manifest file contains a list of key/value pairs that we use to set the location of the assets dynamically."]}),"\n",(0,n.jsxs)(t.p,{children:["This class provides the location of the ",(0,n.jsx)(t.code,{children:"manifest.json"})," file and helpers to return the full path for a specific asset."]}),"\n",(0,n.jsx)(t.h2,{id:"how-to-use-it",children:"How to use it"}),"\n",(0,n.jsx)(t.p,{children:"First, install the manifest class using this command:"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"wp boilerplate create_manifest"})}),"\n",(0,n.jsx)(t.p,{children:"You will see a custom filter you can use to fetch an item from the public folder in your class. This is the custom filter:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"/**\n * Manifest item filter name constant.\n *\n * @var string\n */\npublic const MANIFEST_ITEM = 'manifest-item';\n\n/**\n * Register all hooks. Changed filter name to manifest.\n *\n * @return void\n */\npublic function register(): void\n{\n\t\\add_filter(static::MANIFEST_ITEM, [ $this, 'getAssetsManifestItem' ]);\n}\n"})}),"\n",(0,n.jsx)(t.p,{children:"To use this filter to fetch asset URLs, add the following code and provide the correct name of your asset:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"use CoolProject\\Manifest\\Manifest;\n\n$logo = \\apply_filters(Manifest::MANIFEST_ITEM, 'logo.svg');\n"})}),"\n",(0,n.jsxs)(t.p,{children:["And that's it. This filter will check the public folder for the ",(0,n.jsx)(t.code,{children:"manifest.json"})," file, parse it, and return the value of the provided key."]}),"\n",(0,n.jsxs)(t.p,{children:["If there is no ",(0,n.jsx)(t.code,{children:"manifest.json"})," file or you provided the wrong asset name, there will be a descriptive message for you."]}),"\n",(0,n.jsxs)(t.blockquote,{children:["\n",(0,n.jsxs)(t.p,{children:["If you are using multiple boilerplates in one project don't forget to change the filter name defined in the ",(0,n.jsx)(t.code,{children:"MANIFEST_ITEM"})," constant."]}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"why-not-just-fetch-the-asset-the-old-fashioned-way",children:"Why not just fetch the asset the old-fashioned way?"}),"\n",(0,n.jsx)(t.p,{children:"By the old-fashioned way, we mean doing something like this:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"$logo = get_template_directory_uri() . 'public/logo.svg';\n"})}),"\n",(0,n.jsx)(t.p,{children:"You can definitely do this. However, using the manifest approach, if you want to change the public folder location or public folder name for some reason, you can change it in one place and you're done."}),"\n",(0,n.jsx)(t.p,{children:"If you are using the old-fashioned way, you would need to search and replace the whole project and implement the change. There is always a chance you will miss something and somehow break the project."})]})}function d(e={}){const{wrapper:t}={...(0,i.M)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(h,{...e})}):h(e)}},4552:(e,t,s)=>{s.d(t,{I:()=>l,M:()=>a});var n=s(11504);const i={},o=n.createContext(i);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(i):e.components||i:a(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/44b117b5.02fc28b3.js b/assets/js/44b117b5.02fc28b3.js new file mode 100644 index 000000000..76e0396d0 --- /dev/null +++ b/assets/js/44b117b5.02fc28b3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[25756],{50464:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>c,contentTitle:()=>i,default:()=>m,frontMatter:()=>s,metadata:()=>p,toc:()=>l});var o=n(17624),r=n(4552);const s={id:"component-prev",title:'Multi-step form "Previous" button'},i=void 0,p={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.',source:"@site/forms/php/filters/block/step/component-prev.md",sourceDirName:"php/filters/block/step",slug:"/php/filters/block/step/component-prev",permalink:"/forms/php/filters/block/step/component-prev",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"component-prev",title:'Multi-step form "Previous" button'},sidebar:"forms",previous:{title:"Additional content",permalink:"/forms/php/filters/block/submit/additional-content"},next:{title:'Multi-step form "Next" button',permalink:"/forms/php/filters/block/step/component-next"}},c={},l=[];function u(t){const e={admonition:"admonition",code:"code",p:"p",pre:"pre",...(0,r.M)(),...t.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.p,{children:'This filter allows you to provide custom markup for the multi-step form "Previous" button.'}),"\n",(0,o.jsx)(e.pre,{children:(0,o.jsx)(e.code,{className:"language-php",children:"\\add_filter('es_forms_block_step_component_prev', [$this, 'getBlockStepComponentPrev']);\n\n/**\n * Changing the default custom prev button for the multi-step form.\n *\n * @param array $data Block attributes.\n *\n * @return string\n */\npublic function getBlockStepComponentPrev(array $data): string\n{\n\treturn '';\n}\n"})}),"\n",(0,o.jsx)(e.admonition,{type:"note",children:(0,o.jsx)(e.p,{children:"The custom button will not show in Form settings pages."})})]})}function m(t={}){const{wrapper:e}={...(0,r.M)(),...t.components};return e?(0,o.jsx)(e,{...t,children:(0,o.jsx)(u,{...t})}):u(t)}},4552:(t,e,n)=>{n.d(e,{I:()=>p,M:()=>i});var o=n(11504);const r={},s=o.createContext(r);function i(t){const e=o.useContext(s);return o.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function p(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(r):t.components||r:i(t.components),o.createElement(s.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/44b117b5.ff284632.js b/assets/js/44b117b5.ff284632.js deleted file mode 100644 index 261b0ad1f..000000000 --- a/assets/js/44b117b5.ff284632.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[54178],{86314:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>c,contentTitle:()=>i,default:()=>a,frontMatter:()=>s,metadata:()=>p,toc:()=>l});var o=n(85893),r=n(11151);const s={id:"component-prev",title:'Multi-step form "Previous" button'},i=void 0,p={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.',source:"@site/forms/php/filters/block/step/component-prev.md",sourceDirName:"php/filters/block/step",slug:"/php/filters/block/step/component-prev",permalink:"/forms/php/filters/block/step/component-prev",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"component-prev",title:'Multi-step form "Previous" button'},sidebar:"forms",previous:{title:"Additional content",permalink:"/forms/php/filters/block/submit/additional-content"},next:{title:'Multi-step form "Next" button',permalink:"/forms/php/filters/block/step/component-next"}},c={},l=[];function u(t){const e={admonition:"admonition",code:"code",p:"p",pre:"pre",...(0,r.a)(),...t.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.p,{children:'This filter allows you to provide custom markup for the multi-step form "Previous" button.'}),"\n",(0,o.jsx)(e.pre,{children:(0,o.jsx)(e.code,{className:"language-php",children:"\\add_filter('es_forms_block_step_component_prev', [$this, 'getBlockStepComponentPrev']);\n\n/**\n * Changing the default custom prev button for the multi-step form.\n *\n * @param array $data Block attributes.\n *\n * @return string\n */\npublic function getBlockStepComponentPrev(array $data): string\n{\n\treturn '';\n}\n"})}),"\n",(0,o.jsx)(e.admonition,{type:"note",children:(0,o.jsx)(e.p,{children:"The custom button will not show in Form settings pages."})})]})}function a(t={}){const{wrapper:e}={...(0,r.a)(),...t.components};return e?(0,o.jsx)(e,{...t,children:(0,o.jsx)(u,{...t})}):u(t)}},11151:(t,e,n)=>{n.d(e,{Z:()=>p,a:()=>i});var o=n(67294);const r={},s=o.createContext(r);function i(t){const e=o.useContext(s);return o.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function p(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(r):t.components||r:i(t.components),o.createElement(s.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/44c6aa62.93429933.js b/assets/js/44c6aa62.93429933.js deleted file mode 100644 index 8a318b95b..000000000 --- a/assets/js/44c6aa62.93429933.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[40653],{67633:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>o,contentTitle:()=>l,default:()=>h,frontMatter:()=>c,metadata:()=>d,toc:()=>a});var i=s(85893),t=s(11151);const c={id:"enqueue",title:"Enqueue"},l=void 0,d={id:"legacy/v4/guides/enqueue",title:"Enqueue",description:"docs-source",source:"@site/docs/legacy/v4/guides/enqueue.md",sourceDirName:"legacy/v4/guides",slug:"/legacy/v4/guides/enqueue",permalink:"/docs/legacy/v4/guides/enqueue",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"enqueue",title:"Enqueue"},sidebar:"docs",previous:{title:"Manifest",permalink:"/docs/legacy/v4/guides/manifest"},next:{title:"Post Type",permalink:"/docs/legacy/v4/guides/post-type"}},o={},a=[{value:"Enqueue_Admin",id:"enqueue_admin",level:2},{value:"Enqueue_Blocks",id:"enqueue_blocks",level:2},{value:"Enqueue_Theme",id:"enqueue_theme",level:2},{value:"Additional",id:"additional",level:2}];function r(e){const n={a:"a",code:"code",h2:"h2",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/enqueue",children:(0,i.jsx)(n.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsx)(n.p,{children:"When enqueuing assets you can either use ready made classes from the libs:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"Eightshift_Libs\\Enqueue\\Enqueue_Admin"})," class."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"Eightshift_Libs\\Enqueue\\Enqueue_Blocks"})," class."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"Eightshift_Libs\\Enqueue\\Enqueue_Theme"})," class."]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"or you can modify their functionalities by extending them."}),"\n",(0,i.jsx)(n.p,{children:"These classes will handle JavaScript and CSS files of the project for different parts like: Admin area, Block Editor area of Theme area (front end)."}),"\n",(0,i.jsx)(n.p,{children:"The usage of any of these classes is optional, and you can use only what you need. Eightshift Boilerplate comes with all three classes already implemented."}),"\n",(0,i.jsxs)(n.p,{children:["Each of these classes implement actions that can be deregistered using the standard ",(0,i.jsx)(n.a,{href:"https://developer.wordpress.org/reference/functions/remove_action/",children:"WordPress way"}),"."]}),"\n",(0,i.jsxs)(n.p,{children:["Enqueue classes work in combination with ",(0,i.jsx)(n.a,{href:"/docs/legacy/v4/advanced/webpack",children:"webpack build"})," of your project."]}),"\n",(0,i.jsx)(n.p,{children:"File names are defined inside class constants that can be changed by extending the class and providing the overrides for the constants. If you change the file names, you must provide changes to the webpack build process as well."}),"\n",(0,i.jsx)(n.h2,{id:"enqueue_admin",children:"Enqueue_Admin"}),"\n",(0,i.jsxs)(n.p,{children:["This class provides way to enqueue assets for the ",(0,i.jsx)(n.strong,{children:"Admin"})," part of the project."]}),"\n",(0,i.jsx)(n.p,{children:"It implements these hooks in the register method:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"\n// Login only style.\nadd_action( 'login_enqueue_scripts', [ $this, 'enqueue_styles' ] );\n\n// Admin only style.\nadd_action( 'admin_enqueue_scripts', [ $this, 'enqueue_styles' ], 50 );\n\n// Admin only script.\nadd_action( 'admin_enqueue_scripts', [ $this, 'enqueue_scripts' ] );\n"})}),"\n",(0,i.jsx)(n.p,{children:"Class constants:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"\n const ADMIN_SCRIPT_URI = 'applicationAdmin.js';\n\n const ADMIN_STYLE_URI = 'applicationAdmin.css';\n"})}),"\n",(0,i.jsx)(n.h2,{id:"enqueue_blocks",children:"Enqueue_Blocks"}),"\n",(0,i.jsxs)(n.p,{children:["This class provides assets for ",(0,i.jsx)(n.strong,{children:"Block Editor"})," part of the project."]}),"\n",(0,i.jsx)(n.p,{children:"It implements these hooks:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"\n// Editor only script.\nadd_action( 'enqueue_block_editor_assets', [ $this, 'enqueue_block_editor_script' ] );\n\n// Editor only style.\nadd_action( 'enqueue_block_editor_assets', [ $this, 'enqueue_block_editor_style' ], 50 );\n\n// Editor and front-end style.\nadd_action( 'enqueue_block_assets', [ $this, 'enqueue_block_style' ], 50 );\n\n// Frontend only script.\nadd_action( 'wp_enqueue_scripts', [ $this, 'enqueue_block_script' ] );\n"})}),"\n",(0,i.jsx)(n.p,{children:"Class constants:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"\n const BLOCKS_EDITOR_SCRIPT_URI = 'applicationBlocksEditor.js';\n const BLOCKS_EDITOR_STYLE_URI = 'applicationBlocksEditor.css';\n\n const BLOCKS_STYLE_URI = 'applicationBlocks.css';\n const BLOCKS_SCRIPT_URI = 'applicationBlocks.js';\n"})}),"\n",(0,i.jsx)(n.h2,{id:"enqueue_theme",children:"Enqueue_Theme"}),"\n",(0,i.jsxs)(n.p,{children:["This class provides assets for ",(0,i.jsx)(n.strong,{children:"Theme"})," part of the project."]}),"\n",(0,i.jsx)(n.p,{children:"It implements these hooks:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"\n// Theme only style.\nadd_action( 'wp_enqueue_scripts', [ $this, 'enqueue_styles' ], 10 );\n\n// Theme only script.\nadd_action( 'wp_enqueue_scripts', [ $this, 'enqueue_scripts' ] );\n"})}),"\n",(0,i.jsx)(n.p,{children:"Class constants:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"\n const THEME_SCRIPT_URI = 'application.js';\n const THEME_STYLE_URI = 'application.css';\n"})}),"\n",(0,i.jsx)(n.h2,{id:"additional",children:"Additional"}),"\n",(0,i.jsxs)(n.p,{children:["Each of these 3 classes extends ",(0,i.jsx)(n.code,{children:"Eightshift_Libs\\Enqueue\\Assets"})," class that holds some useful methods that you can extend. These methods can be used in all enqueue classes."]}),"\n",(0,i.jsxs)(n.p,{children:["You can find the Assets class ",(0,i.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/enqueue",children:"here"}),"."]}),"\n",(0,i.jsx)(n.p,{children:"Provided methods:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"get_frontend_script_dependencies()"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"get_admin_script_dependencies()"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"get_localizations()"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"get_frontend_style_dependencies()"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"get_admin_style_dependencies()"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"get_media()"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"script_in_footer()"})}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(r,{...e})}):r(e)}},11151:(e,n,s)=>{s.d(n,{Z:()=>d,a:()=>l});var i=s(67294);const t={},c=i.createContext(t);function l(e){const n=i.useContext(c);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:l(e.components),i.createElement(c.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/44c6aa62.e4616d44.js b/assets/js/44c6aa62.e4616d44.js new file mode 100644 index 000000000..e790943d9 --- /dev/null +++ b/assets/js/44c6aa62.e4616d44.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[86084],{29904:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>o,contentTitle:()=>l,default:()=>h,frontMatter:()=>c,metadata:()=>d,toc:()=>r});var i=s(17624),t=s(4552);const c={id:"enqueue",title:"Enqueue"},l=void 0,d={id:"legacy/v4/guides/enqueue",title:"Enqueue",description:"docs-source",source:"@site/docs/legacy/v4/guides/enqueue.md",sourceDirName:"legacy/v4/guides",slug:"/legacy/v4/guides/enqueue",permalink:"/docs/legacy/v4/guides/enqueue",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"enqueue",title:"Enqueue"},sidebar:"docs",previous:{title:"Manifest",permalink:"/docs/legacy/v4/guides/manifest"},next:{title:"Post Type",permalink:"/docs/legacy/v4/guides/post-type"}},o={},r=[{value:"Enqueue_Admin",id:"enqueue_admin",level:2},{value:"Enqueue_Blocks",id:"enqueue_blocks",level:2},{value:"Enqueue_Theme",id:"enqueue_theme",level:2},{value:"Additional",id:"additional",level:2}];function a(e){const n={a:"a",code:"code",h2:"h2",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/enqueue",children:(0,i.jsx)(n.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsx)(n.p,{children:"When enqueuing assets you can either use ready made classes from the libs:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"Eightshift_Libs\\Enqueue\\Enqueue_Admin"})," class."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"Eightshift_Libs\\Enqueue\\Enqueue_Blocks"})," class."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"Eightshift_Libs\\Enqueue\\Enqueue_Theme"})," class."]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"or you can modify their functionalities by extending them."}),"\n",(0,i.jsx)(n.p,{children:"These classes will handle JavaScript and CSS files of the project for different parts like: Admin area, Block Editor area of Theme area (front end)."}),"\n",(0,i.jsx)(n.p,{children:"The usage of any of these classes is optional, and you can use only what you need. Eightshift Boilerplate comes with all three classes already implemented."}),"\n",(0,i.jsxs)(n.p,{children:["Each of these classes implement actions that can be deregistered using the standard ",(0,i.jsx)(n.a,{href:"https://developer.wordpress.org/reference/functions/remove_action/",children:"WordPress way"}),"."]}),"\n",(0,i.jsxs)(n.p,{children:["Enqueue classes work in combination with ",(0,i.jsx)(n.a,{href:"/docs/legacy/v4/advanced/webpack",children:"webpack build"})," of your project."]}),"\n",(0,i.jsx)(n.p,{children:"File names are defined inside class constants that can be changed by extending the class and providing the overrides for the constants. If you change the file names, you must provide changes to the webpack build process as well."}),"\n",(0,i.jsx)(n.h2,{id:"enqueue_admin",children:"Enqueue_Admin"}),"\n",(0,i.jsxs)(n.p,{children:["This class provides way to enqueue assets for the ",(0,i.jsx)(n.strong,{children:"Admin"})," part of the project."]}),"\n",(0,i.jsx)(n.p,{children:"It implements these hooks in the register method:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"\n// Login only style.\nadd_action( 'login_enqueue_scripts', [ $this, 'enqueue_styles' ] );\n\n// Admin only style.\nadd_action( 'admin_enqueue_scripts', [ $this, 'enqueue_styles' ], 50 );\n\n// Admin only script.\nadd_action( 'admin_enqueue_scripts', [ $this, 'enqueue_scripts' ] );\n"})}),"\n",(0,i.jsx)(n.p,{children:"Class constants:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"\n const ADMIN_SCRIPT_URI = 'applicationAdmin.js';\n\n const ADMIN_STYLE_URI = 'applicationAdmin.css';\n"})}),"\n",(0,i.jsx)(n.h2,{id:"enqueue_blocks",children:"Enqueue_Blocks"}),"\n",(0,i.jsxs)(n.p,{children:["This class provides assets for ",(0,i.jsx)(n.strong,{children:"Block Editor"})," part of the project."]}),"\n",(0,i.jsx)(n.p,{children:"It implements these hooks:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"\n// Editor only script.\nadd_action( 'enqueue_block_editor_assets', [ $this, 'enqueue_block_editor_script' ] );\n\n// Editor only style.\nadd_action( 'enqueue_block_editor_assets', [ $this, 'enqueue_block_editor_style' ], 50 );\n\n// Editor and front-end style.\nadd_action( 'enqueue_block_assets', [ $this, 'enqueue_block_style' ], 50 );\n\n// Frontend only script.\nadd_action( 'wp_enqueue_scripts', [ $this, 'enqueue_block_script' ] );\n"})}),"\n",(0,i.jsx)(n.p,{children:"Class constants:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"\n const BLOCKS_EDITOR_SCRIPT_URI = 'applicationBlocksEditor.js';\n const BLOCKS_EDITOR_STYLE_URI = 'applicationBlocksEditor.css';\n\n const BLOCKS_STYLE_URI = 'applicationBlocks.css';\n const BLOCKS_SCRIPT_URI = 'applicationBlocks.js';\n"})}),"\n",(0,i.jsx)(n.h2,{id:"enqueue_theme",children:"Enqueue_Theme"}),"\n",(0,i.jsxs)(n.p,{children:["This class provides assets for ",(0,i.jsx)(n.strong,{children:"Theme"})," part of the project."]}),"\n",(0,i.jsx)(n.p,{children:"It implements these hooks:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"\n// Theme only style.\nadd_action( 'wp_enqueue_scripts', [ $this, 'enqueue_styles' ], 10 );\n\n// Theme only script.\nadd_action( 'wp_enqueue_scripts', [ $this, 'enqueue_scripts' ] );\n"})}),"\n",(0,i.jsx)(n.p,{children:"Class constants:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"\n const THEME_SCRIPT_URI = 'application.js';\n const THEME_STYLE_URI = 'application.css';\n"})}),"\n",(0,i.jsx)(n.h2,{id:"additional",children:"Additional"}),"\n",(0,i.jsxs)(n.p,{children:["Each of these 3 classes extends ",(0,i.jsx)(n.code,{children:"Eightshift_Libs\\Enqueue\\Assets"})," class that holds some useful methods that you can extend. These methods can be used in all enqueue classes."]}),"\n",(0,i.jsxs)(n.p,{children:["You can find the Assets class ",(0,i.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/enqueue",children:"here"}),"."]}),"\n",(0,i.jsx)(n.p,{children:"Provided methods:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"get_frontend_script_dependencies()"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"get_admin_script_dependencies()"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"get_localizations()"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"get_frontend_style_dependencies()"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"get_admin_style_dependencies()"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"get_media()"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"script_in_footer()"})}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,t.M)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(a,{...e})}):a(e)}},4552:(e,n,s)=>{s.d(n,{I:()=>d,M:()=>l});var i=s(11504);const t={},c=i.createContext(t);function l(e){const n=i.useContext(c);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:l(e.components),i.createElement(c.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/44ef7d31.a42a95eb.js b/assets/js/44ef7d31.a42a95eb.js new file mode 100644 index 000000000..2e11f1ff1 --- /dev/null +++ b/assets/js/44ef7d31.a42a95eb.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[99864],{6320:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>s,default:()=>m,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var r=n(17624),i=n(4552),a=n(80148);const o={id:"additional-content",title:"Additional content"},s=void 0,l={id:"php/filters/block/checkboxes/additional-content",title:"Additional content",description:"",source:"@site/forms/php/filters/block/checkboxes/additional-content.mdx",sourceDirName:"php/filters/block/checkboxes",slug:"/php/filters/block/checkboxes/additional-content",permalink:"/forms/php/filters/block/checkboxes/additional-content",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"additional-content",title:"Additional content"},sidebar:"forms",previous:{title:"Additional content",permalink:"/forms/php/filters/block/file/additional-content"},next:{title:"Additional content",permalink:"/forms/php/filters/block/radios/additional-content"}},d={},c=[];function f(t){return(0,r.jsx)(a.g,{filter:"checkboxes"})}function m(t={}){const{wrapper:e}={...(0,i.M)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(f,{...t})}):f()}},80148:(t,e,n)=>{n.d(e,{g:()=>s,y:()=>o});n(11504);var r=n(1608),i=n(96616),a=n(17624);function o(t){let{filter:e,onlyUse:n=["dataFilter","orderFilter","prePostIdFilter","prePostParamsFilter"]}=t;return(0,a.jsxs)(a.Fragment,{children:[n.includes("dataFilter")&&(0,a.jsx)(l,{filter:e}),n.includes("orderFilter")&&(0,a.jsx)(d,{filter:e}),n.includes("prePostIdFilter")&&(0,a.jsx)(c,{filter:e}),n.includes("prePostParamsFilter")&&(0,a.jsx)(f,{filter:e})]})}function s(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{children:"Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc."}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\tadd_filter('es_forms_block_${e}_additional_content', function(): string {\n\t\t\t\treturn '';\n\t\t\t})\n\t\t\t`)})]})}function l(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Data filter"}),(0,a.jsx)("p",{children:"Allows modifying form field data before it's shown in the Block Editor or output on the frontend."}),(0,a.jsx)("p",{children:"Useful if, for example, you want to ensure that all fields fit into a 2-column layout."}),(0,a.jsx)("p",{children:"Overrides any Block Editor changes!"}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\tadd_filter('es_forms_integrations_${e}_data', 'getIntegrationFilterData', 10, 2);\n\n\t\t\t/**\n\t\t\t * Manipulate form fields data before it is sent to the Block Editor.\n\t\t\t *\n\t\t\t * @param array $data Form fields data.\n\t\t\t * @param string $formId Form ID.\n\t\t\t *\n\t\t\t * @return array\n\t\t\t */\n\t\t\tfunction getIntegrationFilterData(array $data, string $formId): array\n\t\t\t{\n\t\t\t\tforeach ($data as $index => $field) {\n\t\t\t\t\t$component = $field['component'] ?? '';\n\n\t\t\t\t\tif (!$component) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t$name = $field["{$component}Name"] ?? '';\n\n\t\t\t\t\tif (!$name) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch ($name) {\n\t\t\t\t\t\tcase 'firstname':\n\t\t\t\t\t\tcase 'lastname':\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthMobile"] = 12;\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthLarge"] = 6;\n\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"] = array_merge(\n\t\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthMobile",\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthLarge",\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t`)})]})}function d(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Order filter"}),(0,a.jsx)("p",{children:"Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor."}),(0,a.jsxs)("p",{children:["Not all fields need to have an order defined. For example, you may want to make sure ",(0,a.jsx)("code",{children:"firstname"}),", ",(0,a.jsx)("code",{children:"lastname"})," and ",(0,a.jsx)("code",{children:"email"})," are displayed first, but other fields follow their Block editor order."]}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_order', 'getIntegrationOrder');\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Forces form field order for the provided fields. For other fields, Block editor order is used.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationOrder(): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t'firstname',\n\t\t\t\t\t\t\t'lastname',\n\t\t\t\t\t\t\t'email',\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t`)})]})}function c(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post ID filter"}),(0,a.jsx)("p",{children:"Allows updating item IDs sent to external integrations to which the form data is sent."}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_pre_post_id', 'getIntegrationPrePostId', 10, 3);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies integration item ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @param string $itemId Integration item ID.\n\t\t\t\t\t * @param array $params Params to be sent to the integration.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostId(string $itemId, array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn $itemId;\n\t\t\t\t\t}\n\t\t\t\t`)})]})}function f(t){let{filter:e}=t,n="";if("mailer"===e)n="mailer system";else n="external integration";return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post parameters filter"}),(0,a.jsxs)("p",{children:["Allows modifying form field data before it's sent to ",n,". Useful if you want to make values derived from the sent data, or add new fields."]}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_pre_post_params', 'getIntegrationPrePostParams', 10, 2);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies form field data before it's sent to ${n}.\n\t\t\t\t\t *\n\t\t\t\t\t * @param array $params Array of params.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostParams(array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\t$formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? '';\n\n\t\t\t\t\t\tif ($formSubmissionPageLt) {\n\t\t\t\t\t\t\t$params['ib-submission-source'] = [\n\t\t\t\t\t\t\t\t'name' => 'ib-submission-source',\n\t\t\t\t\t\t\t\t'value' => $formSubmissionPageLt,\n\t\t\t\t\t\t\t\t'type' => 'text',\n\t\t\t\t\t\t\t\t'internalType' => '',\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn $params;\n\t\t\t\t\t}\n\t\t\t\t`)})]})}},96616:(t,e,n)=>{function r(t){const e=t.split(/\n/g);for(;0===e[0]?.replace(/\s/g,"").length;)e.shift();for(;0===e[e.length-1]?.replace(/\s/g,"").length;)e.pop();const n=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>t.match(/^\s*/)?.[0]?.length??0)),r=Math.min(...n);return e.map((t=>t.slice(r))).join("\n")}n.d(e,{c:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/44ef7d31.c05ac4f2.js b/assets/js/44ef7d31.c05ac4f2.js deleted file mode 100644 index 45bc1d0d0..000000000 --- a/assets/js/44ef7d31.c05ac4f2.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[11792],{42168:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>s,default:()=>m,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var r=n(85893),i=n(11151),a=n(8122);const o={id:"additional-content",title:"Additional content"},s=void 0,l={id:"php/filters/block/checkboxes/additional-content",title:"Additional content",description:"",source:"@site/forms/php/filters/block/checkboxes/additional-content.mdx",sourceDirName:"php/filters/block/checkboxes",slug:"/php/filters/block/checkboxes/additional-content",permalink:"/forms/php/filters/block/checkboxes/additional-content",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"additional-content",title:"Additional content"},sidebar:"forms",previous:{title:"Additional content",permalink:"/forms/php/filters/block/file/additional-content"},next:{title:"Additional content",permalink:"/forms/php/filters/block/radios/additional-content"}},d={},c=[];function f(t){return(0,r.jsx)(a.F,{filter:"checkboxes"})}function m(t={}){const{wrapper:e}={...(0,i.a)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(f,{...t})}):f()}},8122:(t,e,n)=>{n.d(e,{F:()=>s,k:()=>o});n(67294);var r=n(9286),i=n(61684),a=n(85893);function o(t){let{filter:e,onlyUse:n=["dataFilter","orderFilter","prePostIdFilter","prePostParamsFilter"]}=t;return(0,a.jsxs)(a.Fragment,{children:[n.includes("dataFilter")&&(0,a.jsx)(l,{filter:e}),n.includes("orderFilter")&&(0,a.jsx)(d,{filter:e}),n.includes("prePostIdFilter")&&(0,a.jsx)(c,{filter:e}),n.includes("prePostParamsFilter")&&(0,a.jsx)(f,{filter:e})]})}function s(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{children:"Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc."}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\tadd_filter('es_forms_block_"+e+"_additional_content', function(): string {\n\t\t\t\treturn '';\n\t\t\t})\n\t\t\t")})]})}function l(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Data filter"}),(0,a.jsx)("p",{children:"Allows modifying form field data before it's shown in the Block Editor or output on the frontend."}),(0,a.jsx)("p",{children:"Useful if, for example, you want to ensure that all fields fit into a 2-column layout."}),(0,a.jsx)("p",{children:"Overrides any Block Editor changes!"}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\tadd_filter('es_forms_integrations_"+e+'_data\', \'getIntegrationFilterData\', 10, 2);\n\n\t\t\t/**\n\t\t\t * Manipulate form fields data before it is sent to the Block Editor.\n\t\t\t *\n\t\t\t * @param array $data Form fields data.\n\t\t\t * @param string $formId Form ID.\n\t\t\t *\n\t\t\t * @return array\n\t\t\t */\n\t\t\tfunction getIntegrationFilterData(array $data, string $formId): array\n\t\t\t{\n\t\t\t\tforeach ($data as $index => $field) {\n\t\t\t\t\t$component = $field[\'component\'] ?? \'\';\n\n\t\t\t\t\tif (!$component) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t$name = $field["{$component}Name"] ?? \'\';\n\n\t\t\t\t\tif (!$name) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch ($name) {\n\t\t\t\t\t\tcase \'firstname\':\n\t\t\t\t\t\tcase \'lastname\':\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthMobile"] = 12;\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthLarge"] = 6;\n\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"] = array_merge(\n\t\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthMobile",\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthLarge",\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t')})]})}function d(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Order filter"}),(0,a.jsx)("p",{children:"Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor."}),(0,a.jsxs)("p",{children:["Not all fields need to have an order defined. For example, you may want to make sure ",(0,a.jsx)("code",{children:"firstname"}),", ",(0,a.jsx)("code",{children:"lastname"})," and ",(0,a.jsx)("code",{children:"email"})," are displayed first, but other fields follow their Block editor order."]}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_order', 'getIntegrationOrder');\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Forces form field order for the provided fields. For other fields, Block editor order is used.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationOrder(): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t'firstname',\n\t\t\t\t\t\t\t'lastname',\n\t\t\t\t\t\t\t'email',\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t")})]})}function c(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post ID filter"}),(0,a.jsx)("p",{children:"Allows updating item IDs sent to external integrations to which the form data is sent."}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_pre_post_id', 'getIntegrationPrePostId', 10, 3);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies integration item ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @param string $itemId Integration item ID.\n\t\t\t\t\t * @param array $params Params to be sent to the integration.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostId(string $itemId, array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn $itemId;\n\t\t\t\t\t}\n\t\t\t\t")})]})}function f(t){let{filter:e}=t,n="";if("mailer"===e)n="mailer system";else n="external integration";return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post parameters filter"}),(0,a.jsxs)("p",{children:["Allows modifying form field data before it's sent to ",n,". Useful if you want to make values derived from the sent data, or add new fields."]}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_pre_post_params', 'getIntegrationPrePostParams', 10, 2);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies form field data before it's sent to "+n+".\n\t\t\t\t\t *\n\t\t\t\t\t * @param array $params Array of params.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostParams(array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\t$formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? '';\n\n\t\t\t\t\t\tif ($formSubmissionPageLt) {\n\t\t\t\t\t\t\t$params['ib-submission-source'] = [\n\t\t\t\t\t\t\t\t'name' => 'ib-submission-source',\n\t\t\t\t\t\t\t\t'value' => $formSubmissionPageLt,\n\t\t\t\t\t\t\t\t'type' => 'text',\n\t\t\t\t\t\t\t\t'internalType' => '',\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn $params;\n\t\t\t\t\t}\n\t\t\t\t")})]})}},61684:(t,e,n)=>{function r(t){const e=t.split(/\n/g);for(;0===(null==(n=e[0])?void 0:n.replace(/\s/g,"").length);){var n;e.shift()}for(;0===(null==(r=e[e.length-1])?void 0:r.replace(/\s/g,"").length);){var r;e.pop()}const i=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>{var e,n;return null!=(e=null==(n=t.match(/^\s*/))||null==(n=n[0])?void 0:n.length)?e:0})),a=Math.min(...i);return e.map((t=>t.slice(a))).join("\n")}n.d(e,{p:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/44f6c623.c6b37097.js b/assets/js/44f6c623.c6b37097.js deleted file mode 100644 index 96f6d5558..000000000 --- a/assets/js/44f6c623.c6b37097.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[683],{37295:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>r,contentTitle:()=>i,default:()=>d,frontMatter:()=>o,metadata:()=>a,toc:()=>c});var t=n(85893),l=n(11151);const o={id:"global-settings",title:"Global Settings",sidebar_label:"Global Settings"},i=void 0,a={id:"legacy/v5/basics/global-settings",title:"Global Settings",description:"docs-source",source:"@site/docs/legacy/v5/basics/global-settings.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/global-settings",permalink:"/docs/legacy/v5/basics/global-settings",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"global-settings",title:"Global Settings",sidebar_label:"Global Settings"},sidebar:"docs",previous:{title:"Library",permalink:"/docs/legacy/v5/basics/library"},next:{title:"Writing Styles",permalink:"/docs/legacy/v5/basics/writing-styles"}},r={},c=[{value:"Why do we use this?",id:"why-do-we-use-this",level:2},{value:"How does this work?",id:"how-does-this-work",level:2},{value:"Scenario 1:",id:"scenario-1",level:3},{value:"Scenario 2:",id:"scenario-2",level:3},{value:"Scenario 3:",id:"scenario-3",level:3}];function h(e){const s={a:"a",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",strong:"strong",...(0,l.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0",children:(0,t.jsx)(s.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:["This chapter is only relevant in setups that don't use CSS variables. If you are using CSS variables please skip to the ",(0,t.jsx)(s.a,{href:"./blocks-styles",children:"Blocks Styles chapter"})," chapter."]}),"\n"]}),"\n",(0,t.jsx)(s.p,{children:"Ok, this is the part that we are incredibly proud of. Did you know that you can pass values from the JSON manifest or some other file directly to SCSS? Yes, we had the same facial expression when we found out. For this to work, we used Webpack and its excellent features."}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsx)(s.p,{children:"This feature comes only with the block setup."}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["If you used the ",(0,t.jsx)(s.code,{children:"setup_theme"})," setup, you are all set. If not, please visit the ",(0,t.jsx)(s.a,{href:"./blocks",children:"blocks chapter"})," for more details."]}),"\n",(0,t.jsx)(s.h2,{id:"why-do-we-use-this",children:"Why do we use this?"}),"\n",(0,t.jsx)(s.p,{children:"Because, with dynamic blocks, you must create your blocks. We got tired of copy/pasting styles from JavaScript/PHP/SCSS files. That is why we created this feature to define some global styles in one spot and use them in all three places."}),"\n",(0,t.jsx)(s.h2,{id:"how-does-this-work",children:"How does this work?"}),"\n",(0,t.jsxs)(s.p,{children:["You have the file ",(0,t.jsx)(s.code,{children:"src/Blocks/manifest.json"})," that has a key called ",(0,t.jsx)(s.code,{children:"globalVariables"}),". We use this key and build the SCSS maps that you can use in your style files."]}),"\n",(0,t.jsx)(s.p,{children:"Mind-blowing, right?"}),"\n",(0,t.jsxs)(s.p,{children:["To use it, write your style in the ",(0,t.jsx)(s.code,{children:"manifest.json"})," under the ",(0,t.jsx)(s.code,{children:"globalVariables"})," key, and you can use that variable in your style files like this:"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"$base-col-number: global-settings(maxCols);\n"})}),"\n",(0,t.jsxs)(s.p,{children:["Keep in mind that the ",(0,t.jsx)(s.code,{children:"global-settings"})," is a function that checks the ",(0,t.jsx)(s.code,{children:"globalVariables"})," map and returns the value depending on the key provided."]}),"\n",(0,t.jsxs)(s.p,{children:["For example, if you have something like this in your ",(0,t.jsx)(s.code,{children:"manifest.json"}),":"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-json",children:'{\n "globalVariables": {\n "maxCols": 12,\n "gutters": {\n "none": "0",\n "default": "25px",\n "big": "50px"\n },\n "colors": [\n {\n "name": "Primary",\n "slug": "primary",\n "color": "#3E3E3E"\n },\n {\n "name": "Black",\n "slug": "black",\n "color": "#000000"\n },\n ]\n }\n}\n'})}),"\n",(0,t.jsx)(s.h3,{id:"scenario-1",children:"Scenario 1:"}),"\n",(0,t.jsx)(s.p,{children:"You type this in you SCSS files:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"$base-col-number: global-settings(maxCols);\n"})}),"\n",(0,t.jsxs)(s.p,{children:["the output will be: ",(0,t.jsx)(s.strong,{children:"12"})]}),"\n",(0,t.jsx)(s.h3,{id:"scenario-2",children:"Scenario 2:"}),"\n",(0,t.jsx)(s.p,{children:"You type this in you SCSS files:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"$gutters: global-settings(gutters);\n"})}),"\n",(0,t.jsxs)(s.p,{children:["the output will be a map that you need to loop or fetch individual files using ",(0,t.jsx)(s.code,{children:"get-map-strict"})," or ",(0,t.jsx)(s.code,{children:"get-map-deep"})," function:"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:'$gutters: (\n "none": "0",\n "default": "25px",\n "big": "50px"\n);\n'})}),"\n",(0,t.jsx)(s.p,{children:"so you can call it like this:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"width: get-map-strict($gutters, default);\n"})}),"\n",(0,t.jsx)(s.h3,{id:"scenario-3",children:"Scenario 3:"}),"\n",(0,t.jsx)(s.p,{children:'"I want to output colors, but they don\'t follow the structure you mentioned before. Why is that?"'}),"\n",(0,t.jsx)(s.p,{children:"Yes, colors are different because we use this manifest to output the colors to the block editors' color palette. Only the colors are like this."}),"\n",(0,t.jsx)(s.p,{children:"Type this into your SCSS files:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"$primary-color: global-settings(colors, primary),\n$black-color: global-settings(colors, black),\n"})}),"\n",(0,t.jsx)(s.p,{children:"The output will be:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"$primary-color: #3E3E3E;\n$black-color: #000000;\n"})}),"\n",(0,t.jsx)(s.p,{children:"so you use it the normal SCSS way:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"color: $primary-color;\nbackground-color: $black-color;\n"})}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:["If you add/remove/change any value in the ",(0,t.jsx)(s.code,{children:"manifest.json"})," file, please restart your Webpack watch because it won't recognize that change."]}),"\n"]})]})}function d(e={}){const{wrapper:s}={...(0,l.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(h,{...e})}):h(e)}},11151:(e,s,n)=>{n.d(s,{Z:()=>a,a:()=>i});var t=n(67294);const l={},o=t.createContext(l);function i(e){const s=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:i(e.components),t.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/44f6c623.db268283.js b/assets/js/44f6c623.db268283.js new file mode 100644 index 000000000..367de9977 --- /dev/null +++ b/assets/js/44f6c623.db268283.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[88592],{78996:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>r,contentTitle:()=>i,default:()=>d,frontMatter:()=>o,metadata:()=>a,toc:()=>c});var t=n(17624),l=n(4552);const o={id:"global-settings",title:"Global Settings",sidebar_label:"Global Settings"},i=void 0,a={id:"legacy/v5/basics/global-settings",title:"Global Settings",description:"docs-source",source:"@site/docs/legacy/v5/basics/global-settings.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/global-settings",permalink:"/docs/legacy/v5/basics/global-settings",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"global-settings",title:"Global Settings",sidebar_label:"Global Settings"},sidebar:"docs",previous:{title:"Library",permalink:"/docs/legacy/v5/basics/library"},next:{title:"Writing Styles",permalink:"/docs/legacy/v5/basics/writing-styles"}},r={},c=[{value:"Why do we use this?",id:"why-do-we-use-this",level:2},{value:"How does this work?",id:"how-does-this-work",level:2},{value:"Scenario 1:",id:"scenario-1",level:3},{value:"Scenario 2:",id:"scenario-2",level:3},{value:"Scenario 3:",id:"scenario-3",level:3}];function h(e){const s={a:"a",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",strong:"strong",...(0,l.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0",children:(0,t.jsx)(s.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:["This chapter is only relevant in setups that don't use CSS variables. If you are using CSS variables please skip to the ",(0,t.jsx)(s.a,{href:"./blocks-styles",children:"Blocks Styles chapter"})," chapter."]}),"\n"]}),"\n",(0,t.jsx)(s.p,{children:"Ok, this is the part that we are incredibly proud of. Did you know that you can pass values from the JSON manifest or some other file directly to SCSS? Yes, we had the same facial expression when we found out. For this to work, we used Webpack and its excellent features."}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsx)(s.p,{children:"This feature comes only with the block setup."}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["If you used the ",(0,t.jsx)(s.code,{children:"setup_theme"})," setup, you are all set. If not, please visit the ",(0,t.jsx)(s.a,{href:"./blocks",children:"blocks chapter"})," for more details."]}),"\n",(0,t.jsx)(s.h2,{id:"why-do-we-use-this",children:"Why do we use this?"}),"\n",(0,t.jsx)(s.p,{children:"Because, with dynamic blocks, you must create your blocks. We got tired of copy/pasting styles from JavaScript/PHP/SCSS files. That is why we created this feature to define some global styles in one spot and use them in all three places."}),"\n",(0,t.jsx)(s.h2,{id:"how-does-this-work",children:"How does this work?"}),"\n",(0,t.jsxs)(s.p,{children:["You have the file ",(0,t.jsx)(s.code,{children:"src/Blocks/manifest.json"})," that has a key called ",(0,t.jsx)(s.code,{children:"globalVariables"}),". We use this key and build the SCSS maps that you can use in your style files."]}),"\n",(0,t.jsx)(s.p,{children:"Mind-blowing, right?"}),"\n",(0,t.jsxs)(s.p,{children:["To use it, write your style in the ",(0,t.jsx)(s.code,{children:"manifest.json"})," under the ",(0,t.jsx)(s.code,{children:"globalVariables"})," key, and you can use that variable in your style files like this:"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"$base-col-number: global-settings(maxCols);\n"})}),"\n",(0,t.jsxs)(s.p,{children:["Keep in mind that the ",(0,t.jsx)(s.code,{children:"global-settings"})," is a function that checks the ",(0,t.jsx)(s.code,{children:"globalVariables"})," map and returns the value depending on the key provided."]}),"\n",(0,t.jsxs)(s.p,{children:["For example, if you have something like this in your ",(0,t.jsx)(s.code,{children:"manifest.json"}),":"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-json",children:'{\n "globalVariables": {\n "maxCols": 12,\n "gutters": {\n "none": "0",\n "default": "25px",\n "big": "50px"\n },\n "colors": [\n {\n "name": "Primary",\n "slug": "primary",\n "color": "#3E3E3E"\n },\n {\n "name": "Black",\n "slug": "black",\n "color": "#000000"\n },\n ]\n }\n}\n'})}),"\n",(0,t.jsx)(s.h3,{id:"scenario-1",children:"Scenario 1:"}),"\n",(0,t.jsx)(s.p,{children:"You type this in you SCSS files:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"$base-col-number: global-settings(maxCols);\n"})}),"\n",(0,t.jsxs)(s.p,{children:["the output will be: ",(0,t.jsx)(s.strong,{children:"12"})]}),"\n",(0,t.jsx)(s.h3,{id:"scenario-2",children:"Scenario 2:"}),"\n",(0,t.jsx)(s.p,{children:"You type this in you SCSS files:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"$gutters: global-settings(gutters);\n"})}),"\n",(0,t.jsxs)(s.p,{children:["the output will be a map that you need to loop or fetch individual files using ",(0,t.jsx)(s.code,{children:"get-map-strict"})," or ",(0,t.jsx)(s.code,{children:"get-map-deep"})," function:"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:'$gutters: (\n "none": "0",\n "default": "25px",\n "big": "50px"\n);\n'})}),"\n",(0,t.jsx)(s.p,{children:"so you can call it like this:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"width: get-map-strict($gutters, default);\n"})}),"\n",(0,t.jsx)(s.h3,{id:"scenario-3",children:"Scenario 3:"}),"\n",(0,t.jsx)(s.p,{children:'"I want to output colors, but they don\'t follow the structure you mentioned before. Why is that?"'}),"\n",(0,t.jsx)(s.p,{children:"Yes, colors are different because we use this manifest to output the colors to the block editors' color palette. Only the colors are like this."}),"\n",(0,t.jsx)(s.p,{children:"Type this into your SCSS files:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"$primary-color: global-settings(colors, primary),\n$black-color: global-settings(colors, black),\n"})}),"\n",(0,t.jsx)(s.p,{children:"The output will be:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"$primary-color: #3E3E3E;\n$black-color: #000000;\n"})}),"\n",(0,t.jsx)(s.p,{children:"so you use it the normal SCSS way:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"color: $primary-color;\nbackground-color: $black-color;\n"})}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:["If you add/remove/change any value in the ",(0,t.jsx)(s.code,{children:"manifest.json"})," file, please restart your Webpack watch because it won't recognize that change."]}),"\n"]})]})}function d(e={}){const{wrapper:s}={...(0,l.M)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(h,{...e})}):h(e)}},4552:(e,s,n)=>{n.d(s,{I:()=>a,M:()=>i});var t=n(11504);const l={},o=t.createContext(l);function i(e){const s=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:i(e.components),t.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/45159772.2907a66a.js b/assets/js/45159772.2907a66a.js deleted file mode 100644 index 49f53116f..000000000 --- a/assets/js/45159772.2907a66a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[67175],{6437:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>c,contentTitle:()=>s,default:()=>d,frontMatter:()=>r,metadata:()=>a,toc:()=>l});var i=n(85893),o=n(11151);const r={id:"countries",title:"Countries"},s=void 0,a={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.",source:"@site/forms/php/filters/geolocation/countries.md",sourceDirName:"php/filters/geolocation",slug:"/php/filters/geolocation/countries",permalink:"/forms/php/filters/geolocation/countries",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"countries",title:"Countries"},sidebar:"forms",previous:{title:"Phar location",permalink:"/forms/php/filters/geolocation/phar-location"},next:{title:"ActiveCampaign",permalink:"/forms/php/filters/integrations/active-campaign"}},c={},l=[];function u(t){const e={admonition:"admonition",code:"code",li:"li",p:"p",pre:"pre",ul:"ul",...(0,o.a)(),...t.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(e.p,{children:"This filter provides you with the ability to add/remove/edit countries list and countries groups used to filter forms."}),"\n",(0,i.jsx)(e.pre,{children:(0,i.jsx)(e.code,{className:"language-php",children:"\\add_filter('es_forms_geolocation_countries_list', [$this, 'getGeolocationCountriesList']);\n\n/**\n * Change default countries list.\n *\n * This filter provides you with the ability to add/remove/edit countries list and countries groups.\n *\n * @param array $countries Countries list from internal db.\n *\n * @return array\n */\npublic function getGeolocationCountriesList(array $countries): array\n{\n\treturn \\array_merge(\n\t\t$countries,\n\t\t[\n\t\t\t[\n\t\t\t\t'label' => \\__('', 'text-domain'),\n\t\t\t\t'value' => '',\n\t\t\t\t'group' => [\n\t\t\t\t\t'',\n\t\t\t\t],\n\t\t\t],\n\t\t],\n\t);\n}\n"})}),"\n",(0,i.jsxs)(e.admonition,{type:"tip",children:[(0,i.jsx)(e.p,{children:"This list can also be found in the rest route:"}),(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.code,{children:"/wp-json/eightshift-forms/v1/geolocation-countries"}),"."]}),"\n"]})]})]})}function d(t={}){const{wrapper:e}={...(0,o.a)(),...t.components};return e?(0,i.jsx)(e,{...t,children:(0,i.jsx)(u,{...t})}):u(t)}},11151:(t,e,n)=>{n.d(e,{Z:()=>a,a:()=>s});var i=n(67294);const o={},r=i.createContext(o);function s(t){const e=i.useContext(r);return i.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(o):t.components||o:s(t.components),i.createElement(r.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/45159772.71690a12.js b/assets/js/45159772.71690a12.js new file mode 100644 index 000000000..674dee2f8 --- /dev/null +++ b/assets/js/45159772.71690a12.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[12384],{39944:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>a,contentTitle:()=>s,default:()=>d,frontMatter:()=>r,metadata:()=>c,toc:()=>l});var i=n(17624),o=n(4552);const r={id:"countries",title:"Countries"},s=void 0,c={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.",source:"@site/forms/php/filters/geolocation/countries.md",sourceDirName:"php/filters/geolocation",slug:"/php/filters/geolocation/countries",permalink:"/forms/php/filters/geolocation/countries",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"countries",title:"Countries"},sidebar:"forms",previous:{title:"Phar location",permalink:"/forms/php/filters/geolocation/phar-location"},next:{title:"ActiveCampaign",permalink:"/forms/php/filters/integrations/active-campaign"}},a={},l=[];function u(t){const e={admonition:"admonition",code:"code",li:"li",p:"p",pre:"pre",ul:"ul",...(0,o.M)(),...t.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(e.p,{children:"This filter provides you with the ability to add/remove/edit countries list and countries groups used to filter forms."}),"\n",(0,i.jsx)(e.pre,{children:(0,i.jsx)(e.code,{className:"language-php",children:"\\add_filter('es_forms_geolocation_countries_list', [$this, 'getGeolocationCountriesList']);\n\n/**\n * Change default countries list.\n *\n * This filter provides you with the ability to add/remove/edit countries list and countries groups.\n *\n * @param array $countries Countries list from internal db.\n *\n * @return array\n */\npublic function getGeolocationCountriesList(array $countries): array\n{\n\treturn \\array_merge(\n\t\t$countries,\n\t\t[\n\t\t\t[\n\t\t\t\t'label' => \\__('', 'text-domain'),\n\t\t\t\t'value' => '',\n\t\t\t\t'group' => [\n\t\t\t\t\t'',\n\t\t\t\t],\n\t\t\t],\n\t\t],\n\t);\n}\n"})}),"\n",(0,i.jsxs)(e.admonition,{type:"tip",children:[(0,i.jsx)(e.p,{children:"This list can also be found in the rest route:"}),(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.code,{children:"/wp-json/eightshift-forms/v1/geolocation-countries"}),"."]}),"\n"]})]})]})}function d(t={}){const{wrapper:e}={...(0,o.M)(),...t.components};return e?(0,i.jsx)(e,{...t,children:(0,i.jsx)(u,{...t})}):u(t)}},4552:(t,e,n)=>{n.d(e,{I:()=>c,M:()=>s});var i=n(11504);const o={},r=i.createContext(o);function s(t){const e=i.useContext(r);return i.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function c(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(o):t.components||o:s(t.components),i.createElement(r.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/45276.85ba7617.js b/assets/js/45276.85ba7617.js new file mode 100644 index 000000000..aab8bc9d5 --- /dev/null +++ b/assets/js/45276.85ba7617.js @@ -0,0 +1 @@ +(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[45276],{1608:(e,t,n)=>{"use strict";n.d(t,{c:()=>P});var o=n(11504),s=n(93664),c=n(65456),r=n(66528),a=n(21824);function l(){const{prism:e}=(0,a.y)(),{colorMode:t}=(0,r.U)(),n=e.theme,o=e.darkTheme||n;return"dark"===t?o:n}var i=n(45864),u=n(46504),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"}},h={...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:""}},f=Object.keys(b);function g(e,t){const n=e.map((e=>{const{start:n,end:o}=h[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(f,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(17624);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.c)(n.className,x.codeBlockContainer,i.W.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.c)(y.codeBlockStandalone,"thin-scrollbar",n),children:(0,B.jsx)("code",{className:y.codeBlockLines,children:t})})}var C=n(91100);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.yA)(t),c=(0,C.Mh)(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(35720);const L={codeLine:"codeLine_lJS_",codeLineNumber:"codeLineNumber_Tfdd",codeLineContent:"codeLineContent_feaV"};function _(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.c)(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 S=n(84357);function A(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 I(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 T={copyButtonCopied:"copyButtonCopied_obH4",copyButtonIcons:"copyButtonIcons_eSgA",copyButtonIcon:"copyButtonIcon_y97N",copyButtonSuccessIcon:"copyButtonSuccessIcon_LjdS"};function M(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,S.G)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,S.G)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,S.G)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,c.c)("clean-btn",n,T.copyButton,s&&T.copyButtonCopied),onClick:l,children:(0,B.jsxs)("span",{className:T.copyButtonIcons,"aria-hidden":"true",children:[(0,B.jsx)(A,{className:T.copyButtonIcon}),(0,B.jsx)(I,{className:T.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 $={wordWrapButtonIcon:"wordWrapButtonIcon_Bwma",wordWrapButtonEnabled:"wordWrapButtonEnabled_EoeP"};function H(e){let{className:t,onClick:n,isEnabled:o}=e;const s=(0,S.G)({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.c)("clean-btn",t,o&&$.wordWrapButtonEnabled),"aria-label":s,title:s,children:(0,B.jsx)(W,{className:$.wordWrapButtonIcon,"aria-hidden":"true"})})}function V(e){let{children:t,className:n="",metastring:s,title:r,showLineNumbers:i,language:u}=e;const{prism:{defaultLanguage:d,magicComments:p}}=(0,a.y)(),b=function(e){return e?.toLowerCase()}(u??function(e){const t=e.split(" ").find((e=>e.startsWith("language-")));return t?.replace(/language-/,"")}(n)??d),h=l(),f=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.c)(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.gl,{theme:h,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:f.codeBlockRef,className:(0,c.c)(t,y.codeBlock,"thin-scrollbar"),style:n,children:(0,B.jsx)("code",{className:(0,c.c)(y.codeBlockLines,C&&y.codeBlockLinesWithNumbering),children:o.map(((e,t)=>(0,B.jsx)(_,{line:e,getLineProps:s,getTokenProps:r,classNames:x[t],showLineNumbers:C},t)))})})}}),(0,B.jsxs)("div",{className:y.buttonGroup,children:[(f.isEnabled||f.isCodeScrollable)&&(0,B.jsx)(H,{className:y.codeButton,onClick:()=>f.toggle(),isEnabled:f.isEnabled}),(0,B.jsx)(M,{className:y.codeButton,code:v})]})]})]})}function P(e){let{children:t,...n}=e;const c=(0,s.c)(),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?V:v;return(0,B.jsx)(a,{...n,children:r},String(c))}},46504:(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},4552:(e,t,n)=>{"use strict";n.d(t,{I:()=>a,M:()=>r});var o=n(11504);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/45a57db1.215efd0d.js b/assets/js/45a57db1.215efd0d.js new file mode 100644 index 000000000..79e44d9d3 --- /dev/null +++ b/assets/js/45a57db1.215efd0d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[81228],{90428:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>u,frontMatter:()=>s,metadata:()=>a,toc:()=>l});var n=i(17624),r=i(4552);const s={id:"mailer",title:"Mailer"},o=void 0,a={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.",source:"@site/forms/integrations/mailer.md",sourceDirName:"integrations",slug:"/integrations/mailer",permalink:"/forms/integrations/mailer",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"mailer",title:"Mailer"},sidebar:"forms",previous:{title:"Mailchimp",permalink:"/forms/integrations/mailchimp"},next:{title:"MailerLite",permalink:"/forms/integrations/mailerlite"}},c={},l=[];function m(e){const t={p:"p",...(0,r.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:"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."}),"\n",(0,n.jsx)(t.p,{children:"Forms can also use mailer to provide fallback email service for the forms."}),"\n",(0,n.jsx)(t.p,{children:"With mailer you can use simple Markdown syntax to create your emails."})]})}function u(e={}){const{wrapper:t}={...(0,r.M)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(m,{...e})}):m(e)}},4552:(e,t,i)=>{i.d(t,{I:()=>a,M:()=>o});var n=i(11504);const r={},s=n.createContext(r);function o(e){const t=n.useContext(s);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(r):e.components||r:o(e.components),n.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/45a57db1.2e0ee51e.js b/assets/js/45a57db1.2e0ee51e.js deleted file mode 100644 index e05ee8d43..000000000 --- a/assets/js/45a57db1.2e0ee51e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[59441],{12593:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>u,frontMatter:()=>s,metadata:()=>a,toc:()=>l});var n=i(85893),r=i(11151);const s={id:"mailer",title:"Mailer"},o=void 0,a={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.",source:"@site/forms/integrations/mailer.md",sourceDirName:"integrations",slug:"/integrations/mailer",permalink:"/forms/integrations/mailer",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"mailer",title:"Mailer"},sidebar:"forms",previous:{title:"Mailchimp",permalink:"/forms/integrations/mailchimp"},next:{title:"MailerLite",permalink:"/forms/integrations/mailerlite"}},c={},l=[];function m(e){const t={p:"p",...(0,r.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:"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."}),"\n",(0,n.jsx)(t.p,{children:"Forms can also use mailer to provide fallback email service for the forms."}),"\n",(0,n.jsx)(t.p,{children:"With mailer you can use simple Markdown syntax to create your emails."})]})}function u(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(m,{...e})}):m(e)}},11151:(e,t,i)=>{i.d(t,{Z:()=>a,a:()=>o});var n=i(67294);const r={},s=n.createContext(r);function o(e){const t=n.useContext(s);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(r):e.components||r:o(e.components),n.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4619ca6c.5b7e0b5b.js b/assets/js/4619ca6c.5b7e0b5b.js new file mode 100644 index 000000000..bf29c916d --- /dev/null +++ b/assets/js/4619ca6c.5b7e0b5b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[25008],{54928:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>a,metadata:()=>i,toc:()=>l});var n=o(17624),s=o(4552);const a={id:"how-to-use",title:"How to use?"},r=void 0,i={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.",source:"@site/forms/php/global-variables/how-to-use.md",sourceDirName:"php/global-variables",slug:"/php/global-variables/how-to-use",permalink:"/forms/php/global-variables/how-to-use",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"how-to-use",title:"How to use?"},sidebar:"forms",previous:{title:"Intro",permalink:"/forms/php/intro"},next:{title:"Geolocation",permalink:"/forms/php/global-variables/geolocation"}},c={},l=[];function u(e){const t={admonition:"admonition",code:"code",p:"p",...(0,s.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:"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."}),"\n",(0,n.jsx)(t.admonition,{type:"note",children:(0,n.jsxs)(t.p,{children:["It is important to note that these global constants must be set in your project's ",(0,n.jsx)(t.code,{children:"wp-config.php"})," file."]})}),"\n",(0,n.jsx)(t.p,{children:"Typically, these constants are used for storing sensitive data such as API keys, passwords, etc. Therefore, it is recommended to use secrets or any other secure method to store them."}),"\n",(0,n.jsx)(t.admonition,{type:"caution",children:(0,n.jsx)(t.p,{children:"If you set a global constants you will not be able to change it from the WordPress admin."})})]})}function h(e={}){const{wrapper:t}={...(0,s.M)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(u,{...e})}):u(e)}},4552:(e,t,o)=>{o.d(t,{I:()=>i,M:()=>r});var n=o(11504);const s={},a=n.createContext(s);function r(e){const t=n.useContext(a);return n.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:r(e.components),n.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4619ca6c.e589dfd6.js b/assets/js/4619ca6c.e589dfd6.js deleted file mode 100644 index 00994a3e1..000000000 --- a/assets/js/4619ca6c.e589dfd6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[63452],{69086:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>a,metadata:()=>i,toc:()=>l});var n=o(85893),s=o(11151);const a={id:"how-to-use",title:"How to use?"},r=void 0,i={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.",source:"@site/forms/php/global-variables/how-to-use.md",sourceDirName:"php/global-variables",slug:"/php/global-variables/how-to-use",permalink:"/forms/php/global-variables/how-to-use",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"how-to-use",title:"How to use?"},sidebar:"forms",previous:{title:"Intro",permalink:"/forms/php/intro"},next:{title:"Geolocation",permalink:"/forms/php/global-variables/geolocation"}},c={},l=[];function u(e){const t={admonition:"admonition",code:"code",p:"p",...(0,s.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:"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."}),"\n",(0,n.jsx)(t.admonition,{type:"note",children:(0,n.jsxs)(t.p,{children:["It is important to note that these global constants must be set in your project's ",(0,n.jsx)(t.code,{children:"wp-config.php"})," file."]})}),"\n",(0,n.jsx)(t.p,{children:"Typically, these constants are used for storing sensitive data such as API keys, passwords, etc. Therefore, it is recommended to use secrets or any other secure method to store them."}),"\n",(0,n.jsx)(t.admonition,{type:"caution",children:(0,n.jsx)(t.p,{children:"If you set a global constants you will not be able to change it from the WordPress admin."})})]})}function h(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(u,{...e})}):u(e)}},11151:(e,t,o)=>{o.d(t,{Z:()=>i,a:()=>r});var n=o(67294);const s={},a=n.createContext(s);function r(e){const t=n.useContext(a);return n.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:r(e.components),n.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/46540e82.ea981ba9.js b/assets/js/46540e82.ea981ba9.js deleted file mode 100644 index 382508897..000000000 --- a/assets/js/46540e82.ea981ba9.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[98280],{87105:(s,e,i)=>{i.r(e),i.d(e,{default:()=>c});i(67294);var t=i(52263),l=i(44996),r=i(22189),a=i(85893);function c(){const s=(0,t.Z)(),{siteConfig:e={}}=s;return(0,a.jsx)(r.Z,{title:"SCSS",description:e.tagline,keywords:e.customFields.keywords,metaImage:(0,l.Z)("img/"+e.customFields.image),wrapperClassName:"es-single-full-screen-child es-has-t-border",children:(0,a.jsx)("iframe",{className:"es-full-size",src:"https://infinum.github.io/eightshift-frontend-libs/sassdocs/",allow:"clipboard-read; clipboard-write"})})}}}]); \ No newline at end of file diff --git a/assets/js/46604707.303a32f0.js b/assets/js/46604707.303a32f0.js new file mode 100644 index 000000000..5062fd44e --- /dev/null +++ b/assets/js/46604707.303a32f0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[63900],{75012:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>d,frontMatter:()=>i,metadata:()=>r,toc:()=>c});var s=o(17624),n=o(4552);const i={id:"blocks",title:"Blocks"},a=void 0,r={id:"basics/blocks",title:"Blocks",description:"docs-source",source:"@site/docs/basics/blocks.md",sourceDirName:"basics",slug:"/basics/blocks",permalink:"/docs/basics/blocks",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks",title:"Blocks"},sidebar:"docs",previous:{title:"Dynamic Import",permalink:"/docs/basics/dynamic-import"},next:{title:"Important",permalink:"/docs/basics/blocks-important"}},l={},c=[{value:"Types of blocks",id:"types-of-blocks",level:2},{value:"Static blocks",id:"static-blocks",level:3},{value:"Dynamic blocks",id:"dynamic-blocks",level:3},{value:"Eightshift blocks",id:"eightshift-blocks",level:2}];function h(e){const t={a:"a",admonition:"admonition",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,n.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,s.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(t.p,{children:"Since WordPress 5.0, we were introduced to the new editing experience using the so-called Gutenberg blocks. With blocks, the idea is to have the same look and feel in the editor as on the front end. As a developer, you just got a new technology that you should know if you want to build a great project on WordPress. That new technology is React because everything regarding blocks is done using React."}),"\n",(0,s.jsx)(t.p,{children:"Don't get discouraged just yet, because the WordPress team has made the process of creating blocks relatively easy. But we are not here to talk about the simple stuff. We want to do more complex projects with custom blocks, so follow along and see what we have prepared here."}),"\n",(0,s.jsx)(t.admonition,{title:":es-hide-title:",type:"info",children:(0,s.jsxs)(t.p,{children:["You can read everything regarding blocks in the ",(0,s.jsx)(t.a,{href:"https://developer.wordpress.org/block-editor/tutorials/block-tutorial/",children:"WordPress documentation"}),". We will not be explaining how everything natively works in this documentation. Instead, we will only describe how to use our setup and how it correlates with the native one. Everything that you can't find here, please look up in the WordPress Handbook."]})}),"\n",(0,s.jsx)(t.h2,{id:"types-of-blocks",children:"Types of blocks"}),"\n",(0,s.jsx)(t.p,{children:"WordPress Core Editor team has provided us with two different kinds of blocks:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Static blocks"}),"\n",(0,s.jsx)(t.li,{children:"Dynamic blocks"}),"\n"]}),"\n",(0,s.jsx)(t.h3,{id:"static-blocks",children:"Static blocks"}),"\n",(0,s.jsx)(t.p,{children:"These are the blocks that you can see in the core. Almost every block from WordPress comes this way. With static blocks, you have the same content on the front end as you do in the editor. This was accomplished by providing the same layout in the save callback as in the edit callback."}),"\n",(0,s.jsx)(t.p,{children:"The drawback of building blocks this way is that you must also provide the HTML markup that you will use on the front-end, inside the save callback. That method saves everything to the database, and you can't just change the HTML markup without some transformations or deprecation methods. If you change the markup while working on it, you'll get an error in the editor screen, and you'll have to add the content again."}),"\n",(0,s.jsx)(t.p,{children:"We don't like this approach because of how it stores the HTML content in the database. Lucky for us, WordPress has provided a different kind of blocks for this matter. They are called dynamic blocks."}),"\n",(0,s.jsx)(t.h3,{id:"dynamic-blocks",children:"Dynamic blocks"}),"\n",(0,s.jsx)(t.p,{children:"As you already saw in the previous chapter, the main difference between static and dynamic blocks is storing content in the database. For many dynamic blocks, the save callback function should be returned as null, which tells the editor to save only the block attributes to the database. These attributes are then passed into the server-side rendering callback, so you can decide how to display the block on the front end of your site."}),"\n",(0,s.jsx)(t.p,{children:"This means that you write code using React and JSX in the editor, and you must provide the same code in the PHP for the front-end. Yes, it is a lot of work because you must switch technologies and do the same thing multiple times, but we tried to make this process as simple as possible."}),"\n",(0,s.jsx)(t.p,{children:"Follow along and see what we prepared. From now on, we'll be talking only about dynamic blocks in this documentation."}),"\n",(0,s.jsx)(t.h2,{id:"eightshift-blocks",children:"Eightshift blocks"}),"\n",(0,s.jsx)(t.p,{children:"Our setup's main advantage is that you don't need to do a bunch of boilerplate every time you want to create a new block for your project. Also, we have a bunch of cool features we think you might like:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Separated blocks from components."}),"\n",(0,s.jsx)(t.li,{children:"You have a predefined structure for everything."}),"\n",(0,s.jsx)(t.li,{children:"If you follow the structure we provided, everything is registered and called automatically."}),"\n",(0,s.jsx)(t.li,{children:'You don\'t have to worry: "did I register this the right way?", "what style goes where?", etc.'}),"\n",(0,s.jsx)(t.li,{children:"Storybook for your project."}),"\n",(0,s.jsx)(t.li,{children:"A dozen of the pre-created blocks from our end. Once we create a new block in some of our projects, we make it available in the libs."}),"\n",(0,s.jsxs)(t.li,{children:["Easy usage of blocks and components with our ",(0,s.jsx)(t.a,{href:"wp-cli",children:"WP-CLI"})," commands."]}),"\n",(0,s.jsx)(t.li,{children:"Setup that shares configuration between JS, PHP, and SCSS files."}),"\n",(0,s.jsx)(t.li,{children:"Wrapper that comes with every block and allows you to control how a block behaves in the layout entirely."}),"\n",(0,s.jsx)(t.li,{children:"Everything is responsive. Yes, you read that correctly; we created options that you can control on multiple breakpoints."}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.strong,{children:"Everything is configurable and editable from your project."})}),"\n",(0,s.jsx)(t.li,{children:"Linting standards."}),"\n",(0,s.jsx)(t.li,{children:"Multiple helpers work the same on JS and PHP side, so it is easy to copy code from one language to another."}),"\n",(0,s.jsx)(t.li,{children:"And much, much more."}),"\n"]})]})}function d(e={}){const{wrapper:t}={...(0,n.M)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},4552:(e,t,o)=>{o.d(t,{I:()=>r,M:()=>a});var s=o(11504);const n={},i=s.createContext(n);function a(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/46604707.c41def5c.js b/assets/js/46604707.c41def5c.js deleted file mode 100644 index 341e69f19..000000000 --- a/assets/js/46604707.c41def5c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[2864],{85919:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>d,frontMatter:()=>i,metadata:()=>r,toc:()=>c});var s=o(85893),n=o(11151);const i={id:"blocks",title:"Blocks"},a=void 0,r={id:"basics/blocks",title:"Blocks",description:"docs-source",source:"@site/docs/basics/blocks.md",sourceDirName:"basics",slug:"/basics/blocks",permalink:"/docs/basics/blocks",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks",title:"Blocks"},sidebar:"docs",previous:{title:"Dynamic Import",permalink:"/docs/basics/dynamic-import"},next:{title:"Important",permalink:"/docs/basics/blocks-important"}},l={},c=[{value:"Types of blocks",id:"types-of-blocks",level:2},{value:"Static blocks",id:"static-blocks",level:3},{value:"Dynamic blocks",id:"dynamic-blocks",level:3},{value:"Eightshift blocks",id:"eightshift-blocks",level:2}];function h(e){const t={a:"a",admonition:"admonition",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,n.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,s.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(t.p,{children:"Since WordPress 5.0, we were introduced to the new editing experience using the so-called Gutenberg blocks. With blocks, the idea is to have the same look and feel in the editor as on the front end. As a developer, you just got a new technology that you should know if you want to build a great project on WordPress. That new technology is React because everything regarding blocks is done using React."}),"\n",(0,s.jsx)(t.p,{children:"Don't get discouraged just yet, because the WordPress team has made the process of creating blocks relatively easy. But we are not here to talk about the simple stuff. We want to do more complex projects with custom blocks, so follow along and see what we have prepared here."}),"\n",(0,s.jsx)(t.admonition,{title:":es-hide-title:",type:"info",children:(0,s.jsxs)(t.p,{children:["You can read everything regarding blocks in the ",(0,s.jsx)(t.a,{href:"https://developer.wordpress.org/block-editor/tutorials/block-tutorial/",children:"WordPress documentation"}),". We will not be explaining how everything natively works in this documentation. Instead, we will only describe how to use our setup and how it correlates with the native one. Everything that you can't find here, please look up in the WordPress Handbook."]})}),"\n",(0,s.jsx)(t.h2,{id:"types-of-blocks",children:"Types of blocks"}),"\n",(0,s.jsx)(t.p,{children:"WordPress Core Editor team has provided us with two different kinds of blocks:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Static blocks"}),"\n",(0,s.jsx)(t.li,{children:"Dynamic blocks"}),"\n"]}),"\n",(0,s.jsx)(t.h3,{id:"static-blocks",children:"Static blocks"}),"\n",(0,s.jsx)(t.p,{children:"These are the blocks that you can see in the core. Almost every block from WordPress comes this way. With static blocks, you have the same content on the front end as you do in the editor. This was accomplished by providing the same layout in the save callback as in the edit callback."}),"\n",(0,s.jsx)(t.p,{children:"The drawback of building blocks this way is that you must also provide the HTML markup that you will use on the front-end, inside the save callback. That method saves everything to the database, and you can't just change the HTML markup without some transformations or deprecation methods. If you change the markup while working on it, you'll get an error in the editor screen, and you'll have to add the content again."}),"\n",(0,s.jsx)(t.p,{children:"We don't like this approach because of how it stores the HTML content in the database. Lucky for us, WordPress has provided a different kind of blocks for this matter. They are called dynamic blocks."}),"\n",(0,s.jsx)(t.h3,{id:"dynamic-blocks",children:"Dynamic blocks"}),"\n",(0,s.jsx)(t.p,{children:"As you already saw in the previous chapter, the main difference between static and dynamic blocks is storing content in the database. For many dynamic blocks, the save callback function should be returned as null, which tells the editor to save only the block attributes to the database. These attributes are then passed into the server-side rendering callback, so you can decide how to display the block on the front end of your site."}),"\n",(0,s.jsx)(t.p,{children:"This means that you write code using React and JSX in the editor, and you must provide the same code in the PHP for the front-end. Yes, it is a lot of work because you must switch technologies and do the same thing multiple times, but we tried to make this process as simple as possible."}),"\n",(0,s.jsx)(t.p,{children:"Follow along and see what we prepared. From now on, we'll be talking only about dynamic blocks in this documentation."}),"\n",(0,s.jsx)(t.h2,{id:"eightshift-blocks",children:"Eightshift blocks"}),"\n",(0,s.jsx)(t.p,{children:"Our setup's main advantage is that you don't need to do a bunch of boilerplate every time you want to create a new block for your project. Also, we have a bunch of cool features we think you might like:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Separated blocks from components."}),"\n",(0,s.jsx)(t.li,{children:"You have a predefined structure for everything."}),"\n",(0,s.jsx)(t.li,{children:"If you follow the structure we provided, everything is registered and called automatically."}),"\n",(0,s.jsx)(t.li,{children:'You don\'t have to worry: "did I register this the right way?", "what style goes where?", etc.'}),"\n",(0,s.jsx)(t.li,{children:"Storybook for your project."}),"\n",(0,s.jsx)(t.li,{children:"A dozen of the pre-created blocks from our end. Once we create a new block in some of our projects, we make it available in the libs."}),"\n",(0,s.jsxs)(t.li,{children:["Easy usage of blocks and components with our ",(0,s.jsx)(t.a,{href:"wp-cli",children:"WP-CLI"})," commands."]}),"\n",(0,s.jsx)(t.li,{children:"Setup that shares configuration between JS, PHP, and SCSS files."}),"\n",(0,s.jsx)(t.li,{children:"Wrapper that comes with every block and allows you to control how a block behaves in the layout entirely."}),"\n",(0,s.jsx)(t.li,{children:"Everything is responsive. Yes, you read that correctly; we created options that you can control on multiple breakpoints."}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.strong,{children:"Everything is configurable and editable from your project."})}),"\n",(0,s.jsx)(t.li,{children:"Linting standards."}),"\n",(0,s.jsx)(t.li,{children:"Multiple helpers work the same on JS and PHP side, so it is easy to copy code from one language to another."}),"\n",(0,s.jsx)(t.li,{children:"And much, much more."}),"\n"]})]})}function d(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},11151:(e,t,o)=>{o.d(t,{Z:()=>r,a:()=>a});var s=o(67294);const n={},i=s.createContext(n);function a(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/46945.ecbe0d45.js b/assets/js/46945.ecbe0d45.js deleted file mode 100644 index cc7bd438a..000000000 --- a/assets/js/46945.ecbe0d45.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[46945],{46945:(s,e,h)=>{h.r(e)}}]); \ No newline at end of file diff --git a/assets/js/46ddaac3.494c7d5d.js b/assets/js/46ddaac3.494c7d5d.js new file mode 100644 index 000000000..548a4f70c --- /dev/null +++ b/assets/js/46ddaac3.494c7d5d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[58400],{46788:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>i,metadata:()=>c,toc:()=>l});var n=s(17624),o=s(4552);const i={id:"fonts",title:"Fonts"},r=void 0,c={id:"legacy/v7/basics/fonts",title:"Fonts",description:"docs-source",source:"@site/docs/legacy/v7/basics/fonts.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/fonts",permalink:"/docs/legacy/v7/basics/fonts",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"fonts",title:"Fonts"},sidebar:"docs",previous:{title:"Writing Styles",permalink:"/docs/legacy/v7/basics/writing-styles"},next:{title:"Browsersync",permalink:"/docs/legacy/v7/basics/browser-sync"}},a={},l=[];function d(e){const t={a:"a",code:"code",img:"img",li:"li",p:"p",ul:"ul",...(0,o.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(t.p,{children:"Fonts can be added to your project in multiple ways, depending on your project's needs. In general, if you can use fonts from an external source like Google Fonts, use that approach because the fonts are loaded smartly. On the other hand, if you have fonts that are added to your project, below are the steps to follow to make them available in the project."}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["Put your font files in this folder: ",(0,n.jsx)(t.code,{children:"assets/fonts"}),"."]}),"\n",(0,n.jsxs)(t.li,{children:["Import each file in the ",(0,n.jsx)(t.code,{children:"assets/fonts/index.js"})," so that Webpack knows how to process these files in its build process."]}),"\n",(0,n.jsxs)(t.li,{children:["In your project, load the font family using font-face ",(0,n.jsx)(t.a,{href:"/docs/basics/library",children:"method"}),". We recommend that you create a new file ",(0,n.jsx)(t.code,{children:"assets/styles/parts/utils/_defaults.scss"})," and put everything in that file."]}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,o.M)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},4552:(e,t,s)=>{s.d(t,{I:()=>c,M:()=>r});var n=s(11504);const o={},i=n.createContext(o);function r(e){const t=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),n.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/46ddaac3.cb5ef1b8.js b/assets/js/46ddaac3.cb5ef1b8.js deleted file mode 100644 index 238ed1eea..000000000 --- a/assets/js/46ddaac3.cb5ef1b8.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[85526],{78326:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>i,metadata:()=>c,toc:()=>l});var n=s(85893),o=s(11151);const i={id:"fonts",title:"Fonts"},r=void 0,c={id:"legacy/v7/basics/fonts",title:"Fonts",description:"docs-source",source:"@site/docs/legacy/v7/basics/fonts.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/fonts",permalink:"/docs/legacy/v7/basics/fonts",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"fonts",title:"Fonts"},sidebar:"docs",previous:{title:"Writing Styles",permalink:"/docs/legacy/v7/basics/writing-styles"},next:{title:"Browsersync",permalink:"/docs/legacy/v7/basics/browser-sync"}},a={},l=[];function d(e){const t={a:"a",code:"code",img:"img",li:"li",p:"p",ul:"ul",...(0,o.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(t.p,{children:"Fonts can be added to your project in multiple ways, depending on your project's needs. In general, if you can use fonts from an external source like Google Fonts, use that approach because the fonts are loaded smartly. On the other hand, if you have fonts that are added to your project, below are the steps to follow to make them available in the project."}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["Put your font files in this folder: ",(0,n.jsx)(t.code,{children:"assets/fonts"}),"."]}),"\n",(0,n.jsxs)(t.li,{children:["Import each file in the ",(0,n.jsx)(t.code,{children:"assets/fonts/index.js"})," so that Webpack knows how to process these files in its build process."]}),"\n",(0,n.jsxs)(t.li,{children:["In your project, load the font family using font-face ",(0,n.jsx)(t.a,{href:"/sass",children:"method"}),". We recommend that you create a new file ",(0,n.jsx)(t.code,{children:"assets/styles/parts/utils/_defaults.scss"})," and put everything in that file."]}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},11151:(e,t,s)=>{s.d(t,{Z:()=>c,a:()=>r});var n=s(67294);const o={},i=n.createContext(o);function r(e){const t=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),n.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/47a776f2.1796b29b.js b/assets/js/47a776f2.1796b29b.js new file mode 100644 index 000000000..b065e3f67 --- /dev/null +++ b/assets/js/47a776f2.1796b29b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[57208],{37716:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>d,frontMatter:()=>r,metadata:()=>a,toc:()=>h});var s=n(17624),i=n(4552);const r={id:"theme",title:"Create a new WordPress theme",sidebar_label:"Create New Theme"},o=void 0,a={id:"theme",title:"Create a new WordPress theme",description:"Let's create a new theme!",source:"@site/docs/theme.md",sourceDirName:".",slug:"/theme",permalink:"/docs/theme",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"theme",title:"Create a new WordPress theme",sidebar_label:"Create New Theme"},sidebar:"docs",previous:{title:"Versions",permalink:"/docs/versions"},next:{title:"Create New Plugin",permalink:"/docs/plugin"}},c={},h=[{value:"Specify version to create",id:"specify-version-to-create",level:2},{value:"Example:",id:"example",level:4},{value:"What is next?",id:"what-is-next",level:2}];function l(e){const t={a:"a",admonition:"admonition",code:"code",h2:"h2",h4:"h4",img:"img",li:"li",p:"p",pre:"pre",ul:"ul",...(0,i.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:"Let's create a new theme!"}),"\n",(0,s.jsx)(t.p,{children:"Navigate to your WordPress theme folder and run the following command:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-bash",children:"npx create-wp-project\n"})}),"\n",(0,s.jsx)(t.p,{children:"The script will prompt you for a theme name and local development URL (used for BrowserSync). After that, your new theme will be installed:"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{src:n(86026).c+"",width:"911",height:"550"})}),"\n",(0,s.jsx)(t.p,{children:"After the script is finished, your new theme will be set up and activated."}),"\n",(0,s.jsx)(t.h2,{id:"specify-version-to-create",children:"Specify version to create"}),"\n",(0,s.jsx)(t.p,{children:"If you want to specify a version of Eightshift Libs or Frontend Libs to use, you can use add two additional attributes to this command to specify a branch or release to use:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.code,{children:"--eightshiftLibsBranch"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.code,{children:"--eightshiftFrontendLibsBranch"})}),"\n"]}),"\n",(0,s.jsx)(t.h4,{id:"example",children:"Example:"}),"\n",(0,s.jsxs)(t.p,{children:["If you want to pull the ",(0,s.jsx)(t.code,{children:"develop"})," branch of the Eightshift Frontend Libs and a specific release of the Eightshift Libs:"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-bash",children:'npx create-wp-project --eightshiftLibsBranch="release/3.1.0" --eightshiftFrontendLibsBranch="develop"\n'})}),"\n",(0,s.jsxs)(t.p,{children:["You can also specify the version of the ",(0,s.jsx)(t.code,{children:"create-wp-project"})," script like this:"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-bash",children:'npx create-wp-project@2.0.12 --eightshiftLibsBranch="release/3.1.0" --eightshiftFrontendLibsBranch="develop"\n'})}),"\n",(0,s.jsx)(t.p,{children:"You can get a list of available script arguments by running:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-bash",children:"npx create-wp-project --help\n"})}),"\n",(0,s.jsx)(t.admonition,{type:"tip",children:(0,s.jsx)(t.p,{children:"You can specify both libraries at once or only one."})}),"\n",(0,s.jsx)(t.h2,{id:"what-is-next",children:"What is next?"}),"\n",(0,s.jsx)(t.p,{children:"Now that we've set the theme up on your local environment, let's do something with it."}),"\n",(0,s.jsxs)(t.p,{children:["Please make sure you read the ",(0,s.jsx)(t.a,{href:"/docs/basics/basics-intro",children:"Basics chapter"})," to understand better how the project is set and what is included to make your developing experience as smooth as possible."]})]})}function d(e={}){const{wrapper:t}={...(0,i.M)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},86026:(e,t,n)=>{n.d(t,{c:()=>s});const s=n.p+"assets/images/setup-39fe95633dd527d11fd90285558b5a5c.gif"},4552:(e,t,n)=>{n.d(t,{I:()=>a,M:()=>o});var s=n(11504);const i={},r=s.createContext(i);function o(e){const t=s.useContext(r);return s.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:o(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/47a776f2.192fa5e6.js b/assets/js/47a776f2.192fa5e6.js deleted file mode 100644 index 1117872e2..000000000 --- a/assets/js/47a776f2.192fa5e6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[15954],{68268:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>d,frontMatter:()=>r,metadata:()=>o,toc:()=>h});var s=n(85893),i=n(11151);const r={id:"theme",title:"Create a new WordPress theme",sidebar_label:"Create New Theme"},a=void 0,o={id:"theme",title:"Create a new WordPress theme",description:"Let's create a new theme!",source:"@site/docs/theme.md",sourceDirName:".",slug:"/theme",permalink:"/docs/theme",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"theme",title:"Create a new WordPress theme",sidebar_label:"Create New Theme"},sidebar:"docs",previous:{title:"Versions",permalink:"/docs/versions"},next:{title:"Create New Plugin",permalink:"/docs/plugin"}},c={},h=[{value:"Specify version to create",id:"specify-version-to-create",level:2},{value:"Example:",id:"example",level:4},{value:"What is next?",id:"what-is-next",level:2}];function l(e){const t={a:"a",admonition:"admonition",code:"code",h2:"h2",h4:"h4",img:"img",li:"li",p:"p",pre:"pre",ul:"ul",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:"Let's create a new theme!"}),"\n",(0,s.jsx)(t.p,{children:"Navigate to your WordPress theme folder and run the following command:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-bash",children:"npx create-wp-project\n"})}),"\n",(0,s.jsx)(t.p,{children:"The script will prompt you for a theme name and local development URL (used for BrowserSync). After that, your new theme will be installed:"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{src:n(89995).Z+"",width:"911",height:"550"})}),"\n",(0,s.jsx)(t.p,{children:"After the script is finished, your new theme will be set up and activated."}),"\n",(0,s.jsx)(t.h2,{id:"specify-version-to-create",children:"Specify version to create"}),"\n",(0,s.jsx)(t.p,{children:"If you want to specify a version of Eightshift Libs or Frontend Libs to use, you can use add two additional attributes to this command to specify a branch or release to use:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.code,{children:"--eightshiftLibsBranch"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.code,{children:"--eightshiftFrontendLibsBranch"})}),"\n"]}),"\n",(0,s.jsx)(t.h4,{id:"example",children:"Example:"}),"\n",(0,s.jsxs)(t.p,{children:["If you want to pull the ",(0,s.jsx)(t.code,{children:"develop"})," branch of the Eightshift Frontend Libs and a specific release of the Eightshift Libs:"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-bash",children:'npx create-wp-project --eightshiftLibsBranch="release/3.1.0" --eightshiftFrontendLibsBranch="develop"\n'})}),"\n",(0,s.jsxs)(t.p,{children:["You can also specify the version of the ",(0,s.jsx)(t.code,{children:"create-wp-project"})," script like this:"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-bash",children:'npx create-wp-project@2.0.12 --eightshiftLibsBranch="release/3.1.0" --eightshiftFrontendLibsBranch="develop"\n'})}),"\n",(0,s.jsx)(t.p,{children:"You can get a list of available script arguments by running:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-bash",children:"npx create-wp-project --help\n"})}),"\n",(0,s.jsx)(t.admonition,{type:"tip",children:(0,s.jsx)(t.p,{children:"You can specify both libraries at once or only one."})}),"\n",(0,s.jsx)(t.h2,{id:"what-is-next",children:"What is next?"}),"\n",(0,s.jsx)(t.p,{children:"Now that we've set the theme up on your local environment, let's do something with it."}),"\n",(0,s.jsxs)(t.p,{children:["Please make sure you read the ",(0,s.jsx)(t.a,{href:"/docs/basics/basics-intro",children:"Basics chapter"})," to understand better how the project is set and what is included to make your developing experience as smooth as possible."]})]})}function d(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},89995:(e,t,n)=>{n.d(t,{Z:()=>s});const s=n.p+"assets/images/setup-39fe95633dd527d11fd90285558b5a5c.gif"},11151:(e,t,n)=>{n.d(t,{Z:()=>o,a:()=>a});var s=n(67294);const i={},r=s.createContext(i);function a(e){const t=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/49403d8c.be159bad.js b/assets/js/49403d8c.be159bad.js new file mode 100644 index 000000000..4c12444ec --- /dev/null +++ b/assets/js/49403d8c.be159bad.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[90260],{58376:(o,e,t)=>{t.r(e),t.d(e,{assets:()=>r,contentTitle:()=>a,default:()=>p,frontMatter:()=>i,metadata:()=>l,toc:()=>c});var n=t(17624),s=t(4552);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.M)(),...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:"/storybook",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.M)(),...o.components};return e?(0,n.jsx)(e,{...o,children:(0,n.jsx)(d,{...o})}):d(o)}},4552:(o,e,t)=>{t.d(e,{I:()=>l,M:()=>a});var n=t(11504);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.cb88ed31.js b/assets/js/49403d8c.cb88ed31.js deleted file mode 100644 index 3faba6801..000000000 --- a/assets/js/49403d8c.cb88ed31.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[30385],{23437:(o,e,t)=>{t.r(e),t.d(e,{assets:()=>r,contentTitle:()=>i,default:()=>p,frontMatter:()=>a,metadata:()=>l,toc:()=>c});var n=t(85893),s=t(11151);const a={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},i=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.a)(),...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:"/storybook",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.a)(),...o.components};return e?(0,n.jsx)(e,{...o,children:(0,n.jsx)(d,{...o})}):d(o)}},11151:(o,e,t)=>{t.d(e,{Z:()=>l,a:()=>i});var n=t(67294);const s={},a=n.createContext(s);function i(o){const e=n.useContext(a);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:i(o.components),n.createElement(a.Provider,{value:e},o.children)}}}]); \ No newline at end of file diff --git a/assets/js/499ba0c7.a07b757c.js b/assets/js/499ba0c7.a07b757c.js deleted file mode 100644 index 6d24eacfa..000000000 --- a/assets/js/499ba0c7.a07b757c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[73590],{69385: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/499ba0c7.a0e3445e.js b/assets/js/499ba0c7.a0e3445e.js new file mode 100644 index 000000000..2138e9b5b --- /dev/null +++ b/assets/js/499ba0c7.a0e3445e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[36124],{80416: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/4aad33a5.417fc2e7.js b/assets/js/4aad33a5.417fc2e7.js deleted file mode 100644 index 441c4ae67..000000000 --- a/assets/js/4aad33a5.417fc2e7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[55338],{29341:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>d,frontMatter:()=>n,metadata:()=>a,toc:()=>u});var r=s(85893),i=s(11151);const n={id:"security",title:"Security"},o=void 0,a={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.",source:"@site/forms/features/security.md",sourceDirName:"features",slug:"/features/security",permalink:"/forms/features/security",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"security",title:"Security"},sidebar:"forms",previous:{title:"Tracking",permalink:"/forms/features/tracking"},next:{title:"Labels",permalink:"/forms/features/labels"}},c={},u=[{value:"How to use it?",id:"how-to-use-it",level:2},{value:"Is this feature GDPR compliant?",id:"is-this-feature-gdpr-compliant",level:2},{value:"Cloudflare",id:"cloudflare",level:2}];function l(e){const t={a:"a",code:"code",h2:"h2",img:"img",p:"p",...(0,i.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.p,{children:"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."}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"Security screen",src:s(52686).Z+"",width:"624",height:"559"})}),"\n",(0,r.jsx)(t.h2,{id:"how-to-use-it",children:"How to use it?"}),"\n",(0,r.jsxs)(t.p,{children:["To use this feature, you can set the ",(0,r.jsx)(t.code,{children:"number of requests (per minute)"})," and a ",(0,r.jsx)(t.code,{children:"time limit (in seconds)"})," on the global settings page."]}),"\n",(0,r.jsx)(t.p,{children:"We monitor each request and will display an error message if the limit is exceeded. Once the time limit has passed, the user can submit the form again."}),"\n",(0,r.jsx)(t.h2,{id:"is-this-feature-gdpr-compliant",children:"Is this feature GDPR compliant?"}),"\n",(0,r.jsx)(t.p,{children:"The user's IP address determines the rate limit. However, we hash each stored IP address with the md5 method to comply with GDPR."}),"\n",(0,r.jsx)(t.h2,{id:"cloudflare",children:"Cloudflare"}),"\n",(0,r.jsxs)(t.p,{children:["If you have Cloudflare turned on for your project, please make sure that you read the ",(0,r.jsx)(t.a,{href:"cloudflare",children:"Cloudflare documentation"})," to make sure that the security feature works as expected."]})]})}function d(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},52686:(e,t,s)=>{s.d(t,{Z:()=>r});const r=s.p+"assets/images/security-900316a8079df6c61a06830558c1413f.webp"},11151:(e,t,s)=>{s.d(t,{Z:()=>a,a:()=>o});var r=s(67294);const i={},n=r.createContext(i);function o(e){const t=r.useContext(n);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),r.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4aad33a5.576152e7.js b/assets/js/4aad33a5.576152e7.js new file mode 100644 index 000000000..fd9be8a11 --- /dev/null +++ b/assets/js/4aad33a5.576152e7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[9244],{87056:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>d,frontMatter:()=>n,metadata:()=>a,toc:()=>u});var r=s(17624),i=s(4552);const n={id:"security",title:"Security"},o=void 0,a={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.",source:"@site/forms/features/security.md",sourceDirName:"features",slug:"/features/security",permalink:"/forms/features/security",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"security",title:"Security"},sidebar:"forms",previous:{title:"Tracking",permalink:"/forms/features/tracking"},next:{title:"Labels",permalink:"/forms/features/labels"}},c={},u=[{value:"How to use it?",id:"how-to-use-it",level:2},{value:"Is this feature GDPR compliant?",id:"is-this-feature-gdpr-compliant",level:2},{value:"Cloudflare",id:"cloudflare",level:2}];function l(e){const t={a:"a",code:"code",h2:"h2",img:"img",p:"p",...(0,i.M)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.p,{children:"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."}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"Security screen",src:s(60232).c+"",width:"624",height:"559"})}),"\n",(0,r.jsx)(t.h2,{id:"how-to-use-it",children:"How to use it?"}),"\n",(0,r.jsxs)(t.p,{children:["To use this feature, you can set the ",(0,r.jsx)(t.code,{children:"number of requests (per minute)"})," and a ",(0,r.jsx)(t.code,{children:"time limit (in seconds)"})," on the global settings page."]}),"\n",(0,r.jsx)(t.p,{children:"We monitor each request and will display an error message if the limit is exceeded. Once the time limit has passed, the user can submit the form again."}),"\n",(0,r.jsx)(t.h2,{id:"is-this-feature-gdpr-compliant",children:"Is this feature GDPR compliant?"}),"\n",(0,r.jsx)(t.p,{children:"The user's IP address determines the rate limit. However, we hash each stored IP address with the md5 method to comply with GDPR."}),"\n",(0,r.jsx)(t.h2,{id:"cloudflare",children:"Cloudflare"}),"\n",(0,r.jsxs)(t.p,{children:["If you have Cloudflare turned on for your project, please make sure that you read the ",(0,r.jsx)(t.a,{href:"cloudflare",children:"Cloudflare documentation"})," to make sure that the security feature works as expected."]})]})}function d(e={}){const{wrapper:t}={...(0,i.M)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},60232:(e,t,s)=>{s.d(t,{c:()=>r});const r=s.p+"assets/images/security-900316a8079df6c61a06830558c1413f.webp"},4552:(e,t,s)=>{s.d(t,{I:()=>a,M:()=>o});var r=s(11504);const i={},n=r.createContext(i);function o(e){const t=r.useContext(n);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),r.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4b8950e9.b3d137ed.js b/assets/js/4b8950e9.b3d137ed.js deleted file mode 100644 index 2c4a95c71..000000000 --- a/assets/js/4b8950e9.b3d137ed.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[67759],{93436:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>c,default:()=>h,frontMatter:()=>r,metadata:()=>i,toc:()=>l});var o=n(85893),s=n(11151);const r={id:"browser-sync",title:"Browsersync"},c=void 0,i={id:"legacy/v6/basics/browser-sync",title:"Browsersync",description:"docs-source",source:"@site/docs/legacy/v6/basics/browser-sync.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/browser-sync",permalink:"/docs/legacy/v6/basics/browser-sync",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"browser-sync",title:"Browsersync"},sidebar:"docs",previous:{title:"Fonts",permalink:"/docs/legacy/v6/basics/fonts"},next:{title:"Dynamic Import",permalink:"/docs/legacy/v6/basics/dynamic-import"}},a={},l=[{value:"Using SSL for local development",id:"using-ssl-for-local-development",level:2}];function d(e){const t={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",...(0,s.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0",children:(0,o.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.a,{href:"https://browsersync.io/docs",children:"Browsersync"})," is a Node module that enables you to develop sites faster. It will react to any code change and 'refresh' the site without you needing to refresh it. In the background, it runs a small local server. When configured, it will inject a script on your web page to react to any code change."]}),"\n",(0,o.jsx)(t.p,{children:"Besides that, you can test your site on various devices on the same network."}),"\n",(0,o.jsx)(t.p,{children:"It's part of the Eightshift Development Kit by default. When you run:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-bash",children:"npm start\n"})}),"\n",(0,o.jsxs)(t.p,{children:["it will proxy the page you've specified in the ",(0,o.jsx)(t.code,{children:"projectUrl"})," to your local server."]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-bash",children:"[Browsersync] Proxying: https://local-url.test\n[Browsersync] Access URLs:\n--------------------------------------\nLocal: https://localhost:3000\nExternal: https://192.168.0.25:3000\n--------------------------------------\nUI: http://localhost:3001\nUI External: http://localhost:3001\n--------------------------------------\n"})}),"\n",(0,o.jsx)(t.p,{children:"Using the IP address, you can open it on any device (mobile phone or tablet) that is connected to the same network, and see how your site looks on that device."}),"\n",(0,o.jsx)(t.h2,{id:"using-ssl-for-local-development",children:"Using SSL for local development"}),"\n",(0,o.jsx)(t.p,{children:"By default, BrowserSync does not work with HTTPS URLs. If you use HTTPS in your local environment you can simply provide an additional key in the Webpack config to make it work."}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-js",children:"module.exports = (env, argv) => {\n\tconst projectConfig = {\n\t\tconfig: {\n\t\t\tprojectDir: __dirname, // Current project directory absolute path.\n\t\t\tprojectUrl: 'local-url.test', // Used for providing browsersync functionality.\n\t\t\tprojectPath: 'wp-content/themes/your-theme-name', // Project path relative to project root.\n\t\t\tuseSsl: true,\n\t\t},\n\t};\n\n\t// Generate webpack config for this project using options object.\n\treturn require('./node_modules/@eightshift/frontend-libs/webpack')(argv.mode, projectConfig);\n};\n"})})]})}function h(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},11151:(e,t,n)=>{n.d(t,{Z:()=>i,a:()=>c});var o=n(67294);const s={},r=o.createContext(s);function c(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:c(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4b8950e9.c8e2dc03.js b/assets/js/4b8950e9.c8e2dc03.js new file mode 100644 index 000000000..54f08757d --- /dev/null +++ b/assets/js/4b8950e9.c8e2dc03.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[56601],{87100:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>c,default:()=>h,frontMatter:()=>r,metadata:()=>i,toc:()=>l});var o=n(17624),s=n(4552);const r={id:"browser-sync",title:"Browsersync"},c=void 0,i={id:"legacy/v6/basics/browser-sync",title:"Browsersync",description:"docs-source",source:"@site/docs/legacy/v6/basics/browser-sync.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/browser-sync",permalink:"/docs/legacy/v6/basics/browser-sync",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"browser-sync",title:"Browsersync"},sidebar:"docs",previous:{title:"Fonts",permalink:"/docs/legacy/v6/basics/fonts"},next:{title:"Dynamic Import",permalink:"/docs/legacy/v6/basics/dynamic-import"}},a={},l=[{value:"Using SSL for local development",id:"using-ssl-for-local-development",level:2}];function d(e){const t={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",...(0,s.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0",children:(0,o.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.a,{href:"https://browsersync.io/docs",children:"Browsersync"})," is a Node module that enables you to develop sites faster. It will react to any code change and 'refresh' the site without you needing to refresh it. In the background, it runs a small local server. When configured, it will inject a script on your web page to react to any code change."]}),"\n",(0,o.jsx)(t.p,{children:"Besides that, you can test your site on various devices on the same network."}),"\n",(0,o.jsx)(t.p,{children:"It's part of the Eightshift Development Kit by default. When you run:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-bash",children:"npm start\n"})}),"\n",(0,o.jsxs)(t.p,{children:["it will proxy the page you've specified in the ",(0,o.jsx)(t.code,{children:"projectUrl"})," to your local server."]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-bash",children:"[Browsersync] Proxying: https://local-url.test\n[Browsersync] Access URLs:\n--------------------------------------\nLocal: https://localhost:3000\nExternal: https://192.168.0.25:3000\n--------------------------------------\nUI: http://localhost:3001\nUI External: http://localhost:3001\n--------------------------------------\n"})}),"\n",(0,o.jsx)(t.p,{children:"Using the IP address, you can open it on any device (mobile phone or tablet) that is connected to the same network, and see how your site looks on that device."}),"\n",(0,o.jsx)(t.h2,{id:"using-ssl-for-local-development",children:"Using SSL for local development"}),"\n",(0,o.jsx)(t.p,{children:"By default, BrowserSync does not work with HTTPS URLs. If you use HTTPS in your local environment you can simply provide an additional key in the Webpack config to make it work."}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-js",children:"module.exports = (env, argv) => {\n\tconst projectConfig = {\n\t\tconfig: {\n\t\t\tprojectDir: __dirname, // Current project directory absolute path.\n\t\t\tprojectUrl: 'local-url.test', // Used for providing browsersync functionality.\n\t\t\tprojectPath: 'wp-content/themes/your-theme-name', // Project path relative to project root.\n\t\t\tuseSsl: true,\n\t\t},\n\t};\n\n\t// Generate webpack config for this project using options object.\n\treturn require('./node_modules/@eightshift/frontend-libs/webpack')(argv.mode, projectConfig);\n};\n"})})]})}function h(e={}){const{wrapper:t}={...(0,s.M)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},4552:(e,t,n)=>{n.d(t,{I:()=>i,M:()=>c});var o=n(11504);const s={},r=o.createContext(s);function c(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:c(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4cfcdd67.a0c419b2.js b/assets/js/4cfcdd67.a0c419b2.js deleted file mode 100644 index ac8625dd1..000000000 --- a/assets/js/4cfcdd67.a0c419b2.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[16106],{49976:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>l,contentTitle:()=>c,default:()=>h,frontMatter:()=>i,metadata:()=>r,toc:()=>d});var t=n(85893),o=n(11151);const i={id:"blocks-component-structure",title:"Component Structure"},c=void 0,r={id:"legacy/v8/basics/blocks-component-structure",title:"Component Structure",description:"docs-source",source:"@site/docs/legacy/v8/basics/blocks-component-structure.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/blocks-component-structure",permalink:"/docs/legacy/v8/basics/blocks-component-structure",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-component-structure",title:"Component Structure"},sidebar:"docs",previous:{title:"Block Structure",permalink:"/docs/legacy/v8/basics/block-structure"},next:{title:"Block Manifest",permalink:"/docs/legacy/v8/basics/block-manifest"}},l={},d=[{value:"assets",id:"assets",level:3},{value:"components",id:"components",level:3},{value:"docs",id:"docs",level:3},{value:"heading.php",id:"headingphp",level:3},{value:"heading-editor.scss",id:"heading-editorscss",level:3},{value:"heading-style.scss",id:"heading-stylescss",level:3},{value:"manifest.json",id:"manifestjson",level:3}];function a(e){const s={a:"a",blockquote:"blockquote",code:"code",h3:"h3",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,o.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,t.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsxs)(s.p,{children:["Your custom components are placed in the ",(0,t.jsx)(s.code,{children:"src/Blocks/components"})," folder."]}),"\n",(0,t.jsx)(s.p,{children:"For example, let's take the heading component (just replace the heading with your component name)."}),"\n",(0,t.jsx)(s.p,{children:"We suggest you always use the full name and never abbreviate for the component name. If your component has multiple words, you should separate them by a dash; for example, featured-post-block.js."}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Block structure should look like this:"})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["heading","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["assets","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"index.js"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["components","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"heading-editor.js"}),"\n",(0,t.jsx)(s.li,{children:"heading-options.js"}),"\n",(0,t.jsx)(s.li,{children:"heading-toolbar.js"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["docs","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"story.js"}),"\n",(0,t.jsx)(s.li,{children:"readme.mdx"}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(s.li,{children:"heading.php"}),"\n",(0,t.jsx)(s.li,{children:"heading-editor.scss"}),"\n",(0,t.jsx)(s.li,{children:"heading-style.scss"}),"\n",(0,t.jsx)(s.li,{children:"manifest.json"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["For example, you can check the ",(0,t.jsx)(s.a,{href:"/storybook",children:"storybook"}),"."]}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsx)(s.p,{children:"All files in components are optional."}),"\n"]}),"\n",(0,t.jsx)(s.h3,{id:"assets",children:"assets"}),"\n",(0,t.jsxs)(s.p,{children:["This folder behaves the same as the blocks assets folder. Please check the ",(0,t.jsx)(s.a,{href:"block-structure#assets",children:"block structure"})," chapter for more details."]}),"\n",(0,t.jsx)(s.h3,{id:"components",children:"components"}),"\n",(0,t.jsxs)(s.p,{children:["Components folder holds three files: ",(0,t.jsx)(s.code,{children:"heading-options.js"}),", ",(0,t.jsx)(s.code,{children:"heading-editor.js"}),", and ",(0,t.jsx)(s.code,{children:"heading-toolbars.js"}),". They are used the same way as in blocks to provide functionality based on the location used. The main difference in components is that these files are used inside other blocks to implement functionality from the component."]}),"\n",(0,t.jsx)(s.h3,{id:"docs",children:"docs"}),"\n",(0,t.jsx)(s.p,{children:"Docs folder contains everything a component needs to be run inside the Storybook. This part is optional but it will speed up your development time and provide you with the much-needed documentation."}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"story.js"})," - Storybook entry point for your component. Since components are not blocks, you must provide the mocked data for your component in this file."]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"readme.mdx"})," - README that describes your component and provides the documentation."]}),"\n"]}),"\n",(0,t.jsx)(s.h3,{id:"headingphp",children:"heading.php"}),"\n",(0,t.jsx)(s.p,{children:"This file contains the front-end part (the view) of the component used in your project when the page renders. This file shouldn't contain any business logic, just present the passed attributes. The main difference from block view is that you only have attributes that you passed from a block or a top-level component in this file."}),"\n",(0,t.jsx)(s.h3,{id:"heading-editorscss",children:"heading-editor.scss"}),"\n",(0,t.jsxs)(s.p,{children:["This file behaves the same as in blocks. Please check the ",(0,t.jsx)(s.a,{href:"block-structure#heading-editorscss",children:"block structure"})," chapter for more details."]}),"\n",(0,t.jsx)(s.h3,{id:"heading-stylescss",children:"heading-style.scss"}),"\n",(0,t.jsxs)(s.p,{children:["This file behaves the same as in blocks. Please check the ",(0,t.jsx)(s.a,{href:"block-structure#heading-stylescss",children:"block structure"})," chapter for more details."]}),"\n",(0,t.jsx)(s.h3,{id:"manifestjson",children:"manifest.json"}),"\n",(0,t.jsx)(s.p,{children:"This file contains all the configuration for a component."}),"\n",(0,t.jsxs)(s.p,{children:["For more details, check the ",(0,t.jsx)(s.a,{href:"blocks-component-manifest",children:"component manifest"})," chapter."]})]})}function h(e={}){const{wrapper:s}={...(0,o.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(a,{...e})}):a(e)}},11151:(e,s,n)=>{n.d(s,{Z:()=>r,a:()=>c});var t=n(67294);const o={},i=t.createContext(o);function c(e){const s=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:c(e.components),t.createElement(i.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4cfcdd67.d732c1ff.js b/assets/js/4cfcdd67.d732c1ff.js new file mode 100644 index 000000000..942fae86d --- /dev/null +++ b/assets/js/4cfcdd67.d732c1ff.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[79220],{81252:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>l,contentTitle:()=>c,default:()=>h,frontMatter:()=>i,metadata:()=>r,toc:()=>d});var t=n(17624),o=n(4552);const i={id:"blocks-component-structure",title:"Component Structure"},c=void 0,r={id:"legacy/v8/basics/blocks-component-structure",title:"Component Structure",description:"docs-source",source:"@site/docs/legacy/v8/basics/blocks-component-structure.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/blocks-component-structure",permalink:"/docs/legacy/v8/basics/blocks-component-structure",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-component-structure",title:"Component Structure"},sidebar:"docs",previous:{title:"Block Structure",permalink:"/docs/legacy/v8/basics/block-structure"},next:{title:"Block Manifest",permalink:"/docs/legacy/v8/basics/block-manifest"}},l={},d=[{value:"assets",id:"assets",level:3},{value:"components",id:"components",level:3},{value:"docs",id:"docs",level:3},{value:"heading.php",id:"headingphp",level:3},{value:"heading-editor.scss",id:"heading-editorscss",level:3},{value:"heading-style.scss",id:"heading-stylescss",level:3},{value:"manifest.json",id:"manifestjson",level:3}];function a(e){const s={a:"a",blockquote:"blockquote",code:"code",h3:"h3",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,o.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,t.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsxs)(s.p,{children:["Your custom components are placed in the ",(0,t.jsx)(s.code,{children:"src/Blocks/components"})," folder."]}),"\n",(0,t.jsx)(s.p,{children:"For example, let's take the heading component (just replace the heading with your component name)."}),"\n",(0,t.jsx)(s.p,{children:"We suggest you always use the full name and never abbreviate for the component name. If your component has multiple words, you should separate them by a dash; for example, featured-post-block.js."}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Block structure should look like this:"})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["heading","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["assets","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"index.js"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["components","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"heading-editor.js"}),"\n",(0,t.jsx)(s.li,{children:"heading-options.js"}),"\n",(0,t.jsx)(s.li,{children:"heading-toolbar.js"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["docs","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"story.js"}),"\n",(0,t.jsx)(s.li,{children:"readme.mdx"}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(s.li,{children:"heading.php"}),"\n",(0,t.jsx)(s.li,{children:"heading-editor.scss"}),"\n",(0,t.jsx)(s.li,{children:"heading-style.scss"}),"\n",(0,t.jsx)(s.li,{children:"manifest.json"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["For example, you can check the ",(0,t.jsx)(s.a,{href:"/storybook",children:"storybook"}),"."]}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsx)(s.p,{children:"All files in components are optional."}),"\n"]}),"\n",(0,t.jsx)(s.h3,{id:"assets",children:"assets"}),"\n",(0,t.jsxs)(s.p,{children:["This folder behaves the same as the blocks assets folder. Please check the ",(0,t.jsx)(s.a,{href:"block-structure#assets",children:"block structure"})," chapter for more details."]}),"\n",(0,t.jsx)(s.h3,{id:"components",children:"components"}),"\n",(0,t.jsxs)(s.p,{children:["Components folder holds three files: ",(0,t.jsx)(s.code,{children:"heading-options.js"}),", ",(0,t.jsx)(s.code,{children:"heading-editor.js"}),", and ",(0,t.jsx)(s.code,{children:"heading-toolbars.js"}),". They are used the same way as in blocks to provide functionality based on the location used. The main difference in components is that these files are used inside other blocks to implement functionality from the component."]}),"\n",(0,t.jsx)(s.h3,{id:"docs",children:"docs"}),"\n",(0,t.jsx)(s.p,{children:"Docs folder contains everything a component needs to be run inside the Storybook. This part is optional but it will speed up your development time and provide you with the much-needed documentation."}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"story.js"})," - Storybook entry point for your component. Since components are not blocks, you must provide the mocked data for your component in this file."]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"readme.mdx"})," - README that describes your component and provides the documentation."]}),"\n"]}),"\n",(0,t.jsx)(s.h3,{id:"headingphp",children:"heading.php"}),"\n",(0,t.jsx)(s.p,{children:"This file contains the front-end part (the view) of the component used in your project when the page renders. This file shouldn't contain any business logic, just present the passed attributes. The main difference from block view is that you only have attributes that you passed from a block or a top-level component in this file."}),"\n",(0,t.jsx)(s.h3,{id:"heading-editorscss",children:"heading-editor.scss"}),"\n",(0,t.jsxs)(s.p,{children:["This file behaves the same as in blocks. Please check the ",(0,t.jsx)(s.a,{href:"block-structure#heading-editorscss",children:"block structure"})," chapter for more details."]}),"\n",(0,t.jsx)(s.h3,{id:"heading-stylescss",children:"heading-style.scss"}),"\n",(0,t.jsxs)(s.p,{children:["This file behaves the same as in blocks. Please check the ",(0,t.jsx)(s.a,{href:"block-structure#heading-stylescss",children:"block structure"})," chapter for more details."]}),"\n",(0,t.jsx)(s.h3,{id:"manifestjson",children:"manifest.json"}),"\n",(0,t.jsx)(s.p,{children:"This file contains all the configuration for a component."}),"\n",(0,t.jsxs)(s.p,{children:["For more details, check the ",(0,t.jsx)(s.a,{href:"blocks-component-manifest",children:"component manifest"})," chapter."]})]})}function h(e={}){const{wrapper:s}={...(0,o.M)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(a,{...e})}):a(e)}},4552:(e,s,n)=>{n.d(s,{I:()=>r,M:()=>c});var t=n(11504);const o={},i=t.createContext(o);function c(e){const s=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:c(e.components),t.createElement(i.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4dad0b95.2881bf0b.js b/assets/js/4dad0b95.2881bf0b.js deleted file mode 100644 index ec48a31a8..000000000 --- a/assets/js/4dad0b95.2881bf0b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[60614],{1110:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>a,contentTitle:()=>l,default:()=>u,frontMatter:()=>s,metadata:()=>r,toc:()=>c});var n=o(85893),i=o(11151);const s={id:"additional-blocks",title:"Additional blocks"},l=void 0,r={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.",source:"@site/forms/php/filters/blocks/additional-blocks.md",sourceDirName:"php/filters/blocks",slug:"/php/filters/blocks/additional-blocks",permalink:"/forms/php/filters/blocks/additional-blocks",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"additional-blocks",title:"Additional blocks"},sidebar:"forms",previous:{title:"Allowed blocks",permalink:"/forms/php/filters/blocks/allowed-blocks"},next:{title:"Media breakpoints",permalink:"/forms/php/filters/blocks/media-breakpoints"}},a={},c=[];function d(e){const t={admonition:"admonition",code:"code",em:"em",p:"p",pre:"pre",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:"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."}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"\\add_filter('es_forms_blocks_additional_blocks', [$this, 'getAdditionalBlocks']);\n\n/**\n * Adding additional blocks in the custom forms block.\n *\n * This filter is used if you want to add your custom or core blocks to the custom form builder.\n *\n * @return array<int, string>\n */\npublic function getAdditionalBlocks(): array\n{\n\treturn [\n\t\t'core/heading',\n\t\t'core/paragraph',\n\t];\n}\n"})}),"\n",(0,n.jsx)(t.admonition,{type:"note",children:(0,n.jsxs)(t.p,{children:["Blocks should be listed with their ",(0,n.jsx)(t.em,{children:"fully qualified"})," names, e.g. ",(0,n.jsx)(t.code,{children:"eightshift-boilerplate/heading"}),"."]})})]})}function u(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},11151:(e,t,o)=>{o.d(t,{Z:()=>r,a:()=>l});var n=o(67294);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/4dad0b95.56cb7301.js b/assets/js/4dad0b95.56cb7301.js new file mode 100644 index 000000000..c218e1989 --- /dev/null +++ b/assets/js/4dad0b95.56cb7301.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[41092],{48180:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>c,contentTitle:()=>l,default:()=>u,frontMatter:()=>s,metadata:()=>r,toc:()=>a});var n=o(17624),i=o(4552);const s={id:"additional-blocks",title:"Additional blocks"},l=void 0,r={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.",source:"@site/forms/php/filters/blocks/additional-blocks.md",sourceDirName:"php/filters/blocks",slug:"/php/filters/blocks/additional-blocks",permalink:"/forms/php/filters/blocks/additional-blocks",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"additional-blocks",title:"Additional blocks"},sidebar:"forms",previous:{title:"Allowed blocks",permalink:"/forms/php/filters/blocks/allowed-blocks"},next:{title:"Media breakpoints",permalink:"/forms/php/filters/blocks/media-breakpoints"}},c={},a=[];function d(e){const t={admonition:"admonition",code:"code",em:"em",p:"p",pre:"pre",...(0,i.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:"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."}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"\\add_filter('es_forms_blocks_additional_blocks', [$this, 'getAdditionalBlocks']);\n\n/**\n * Adding additional blocks in the custom forms block.\n *\n * This filter is used if you want to add your custom or core blocks to the custom form builder.\n *\n * @return array<int, string>\n */\npublic function getAdditionalBlocks(): array\n{\n\treturn [\n\t\t'core/heading',\n\t\t'core/paragraph',\n\t];\n}\n"})}),"\n",(0,n.jsx)(t.admonition,{type:"note",children:(0,n.jsxs)(t.p,{children:["Blocks should be listed with their ",(0,n.jsx)(t.em,{children:"fully qualified"})," names, e.g. ",(0,n.jsx)(t.code,{children:"eightshift-boilerplate/heading"}),"."]})})]})}function u(e={}){const{wrapper:t}={...(0,i.M)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},4552:(e,t,o)=>{o.d(t,{I:()=>r,M:()=>l});var n=o(11504);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/4e418365.41fd0787.js b/assets/js/4e418365.41fd0787.js deleted file mode 100644 index 07abbe01b..000000000 --- a/assets/js/4e418365.41fd0787.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[78294],{68861:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>r,contentTitle:()=>n,default:()=>u,frontMatter:()=>s,metadata:()=>o,toc:()=>c});var l=t(85893),i=t(11151);const s={id:"fallback-emails",title:"Fallback e-mails"},n=void 0,o={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.",source:"@site/forms/features/fallback-emails.md",sourceDirName:"features",slug:"/features/fallback-emails",permalink:"/forms/features/fallback-emails",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"fallback-emails",title:"Fallback e-mails"},sidebar:"forms",previous:{title:"Debugging",permalink:"/forms/features/debug"},next:{title:"Import/Export",permalink:"/forms/features/import-export"}},r={},c=[{value:"Global settings fallback email",id:"global-settings-fallback-email",level:2},{value:"Global integration fallback email",id:"global-integration-fallback-email",level:2}];function m(e){const a={h2:"h2",img:"img",p:"p",...(0,i.a)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(a.p,{children:"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."}),"\n",(0,l.jsx)(a.p,{children:(0,l.jsx)(a.img,{alt:"Fallback screen",src:t(47643).Z+"",width:"756",height:"534"})}),"\n",(0,l.jsx)(a.h2,{id:"global-settings-fallback-email",children:"Global settings fallback email"}),"\n",(0,l.jsx)(a.p,{children:"This setting is used to set the fallback email for all forms, no mater the integration and type. This is useful for developers to debug issues with the forms and to make sure that data is never lost."}),"\n",(0,l.jsx)(a.h2,{id:"global-integration-fallback-email",children:"Global integration fallback email"}),"\n",(0,l.jsx)(a.p,{children:"You can set the fallback email for each integration. This is useful if you have multiple integrations and you want to make sure that the fallback data is also sent to the additional email."})]})}function u(e={}){const{wrapper:a}={...(0,i.a)(),...e.components};return a?(0,l.jsx)(a,{...e,children:(0,l.jsx)(m,{...e})}):m(e)}},47643:(e,a,t)=>{t.d(a,{Z:()=>l});const l=t.p+"assets/images/fallback-f1de29be8de40d9131658757e745ac8a.webp"},11151:(e,a,t)=>{t.d(a,{Z:()=>o,a:()=>n});var l=t(67294);const i={},s=l.createContext(i);function n(e){const a=l.useContext(s);return l.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function o(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:n(e.components),l.createElement(s.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4e418365.e7e23418.js b/assets/js/4e418365.e7e23418.js new file mode 100644 index 000000000..e179ea35e --- /dev/null +++ b/assets/js/4e418365.e7e23418.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[87300],{32124:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>r,contentTitle:()=>n,default:()=>u,frontMatter:()=>s,metadata:()=>o,toc:()=>c});var l=t(17624),i=t(4552);const s={id:"fallback-emails",title:"Fallback e-mails"},n=void 0,o={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.",source:"@site/forms/features/fallback-emails.md",sourceDirName:"features",slug:"/features/fallback-emails",permalink:"/forms/features/fallback-emails",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"fallback-emails",title:"Fallback e-mails"},sidebar:"forms",previous:{title:"Debugging",permalink:"/forms/features/debug"},next:{title:"Import/Export",permalink:"/forms/features/import-export"}},r={},c=[{value:"Global settings fallback email",id:"global-settings-fallback-email",level:2},{value:"Global integration fallback email",id:"global-integration-fallback-email",level:2}];function m(e){const a={h2:"h2",img:"img",p:"p",...(0,i.M)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(a.p,{children:"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."}),"\n",(0,l.jsx)(a.p,{children:(0,l.jsx)(a.img,{alt:"Fallback screen",src:t(41560).c+"",width:"756",height:"534"})}),"\n",(0,l.jsx)(a.h2,{id:"global-settings-fallback-email",children:"Global settings fallback email"}),"\n",(0,l.jsx)(a.p,{children:"This setting is used to set the fallback email for all forms, no mater the integration and type. This is useful for developers to debug issues with the forms and to make sure that data is never lost."}),"\n",(0,l.jsx)(a.h2,{id:"global-integration-fallback-email",children:"Global integration fallback email"}),"\n",(0,l.jsx)(a.p,{children:"You can set the fallback email for each integration. This is useful if you have multiple integrations and you want to make sure that the fallback data is also sent to the additional email."})]})}function u(e={}){const{wrapper:a}={...(0,i.M)(),...e.components};return a?(0,l.jsx)(a,{...e,children:(0,l.jsx)(m,{...e})}):m(e)}},41560:(e,a,t)=>{t.d(a,{c:()=>l});const l=t.p+"assets/images/fallback-f1de29be8de40d9131658757e745ac8a.webp"},4552:(e,a,t)=>{t.d(a,{I:()=>o,M:()=>n});var l=t(11504);const i={},s=l.createContext(i);function n(e){const a=l.useContext(s);return l.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function o(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:n(e.components),l.createElement(s.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4e946086.ae370b77.js b/assets/js/4e946086.ae370b77.js deleted file mode 100644 index 2e24dc1d9..000000000 --- a/assets/js/4e946086.ae370b77.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[26079],{41252:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>d,frontMatter:()=>i,metadata:()=>l,toc:()=>a});var o=s(85893),t=s(11151);const i={id:"block-manifest",title:"Block Manifest"},r=void 0,l={id:"legacy/v8/basics/block-manifest",title:"Block Manifest",description:"docs-source",source:"@site/docs/legacy/v8/basics/block-manifest.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/block-manifest",permalink:"/docs/legacy/v8/basics/block-manifest",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"block-manifest",title:"Block Manifest"},sidebar:"docs",previous:{title:"Component Structure",permalink:"/docs/legacy/v8/basics/blocks-component-structure"},next:{title:"Component Manifest",permalink:"/docs/legacy/v8/basics/blocks-component-manifest"}},c={},a=[{value:"Example",id:"example",level:3},{value:"namespace",id:"namespace",level:3},{value:"icon.background & icon.foreground",id:"iconbackground--iconforeground",level:3},{value:"example",id:"example-1",level:3},{value:"attributes",id:"attributes",level:3},{value:"hasInnerBlocks",id:"hasinnerblocks",level:3},{value:"components",id:"components",level:3},{value:"responsiveAttributes",id:"responsiveattributes",level:3},{value:"variables",id:"variables",level:3},{value:"options",id:"options",level:3},{value:"The power of manifest.json",id:"the-power-of-manifestjson",level:2}];function h(e){const n={a:"a",blockquote:"blockquote",code:"code",em:"em",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,o.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsxs)(n.p,{children:["This file contains all the configuration required for a block to work. It's used in WordPress ",(0,o.jsx)(n.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-registration/",children:(0,o.jsx)(n.code,{children:"registerBlockType"})})," method to register a block. Using ",(0,o.jsx)(n.code,{children:"manifest.json"}),", we can provide a configuration in JavaScript and PHP part of the block in one file."]}),"\n",(0,o.jsx)(n.h3,{id:"example",children:"Example"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n "namespace": "custom-namespace",\n "blockName": "heading",\n "title": "Heading",\n "description": "Heading block with custom settings.",\n "category": "common",\n "icon": {\n "background": "#900",\n "foreground": "#500",\n "src": "heading"\n },\n "keywords": [\n "Header",\n "Title"\n ],\n "example": {\n "attributes": {\n "content": "New content",\n "level": 2\n }\n },\n "attributes": {\n "content": {\n "type": "string"\n },\n "level": {\n "type": "integer",\n "default": 2\n }\n },\n "hasInnerBlocks": false,\n "components": {},\n "responsiveAttributes": {},\n "variables": {},\n "options": {}\n}\n'})}),"\n",(0,o.jsxs)(n.p,{children:["Most of the keys are the same as in the ",(0,o.jsx)(n.a,{href:"https://developer.wordpress.org/block-editor/reference-guides/block-api/block-metadata/",children:"block.json metadata"}),". If you can't find the description here, please check the ",(0,o.jsx)(n.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-registration/",children:"official documentation"}),". We also have some custom features here, not present in the ",(0,o.jsx)(n.code,{children:"block.json"})," file:"]}),"\n",(0,o.jsx)(n.h3,{id:"namespace",children:"namespace"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"custom feature"})}),"\n",(0,o.jsx)(n.p,{children:"The block's namespace is set globally in the global manifest for all your custom blocks, but you can override them on each block if you need to."}),"\n",(0,o.jsx)(n.h3,{id:"iconbackground--iconforeground",children:"icon.background & icon.foreground"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"native feature"})}),"\n",(0,o.jsx)(n.p,{children:"The icon background and foreground is set globally in the global manifest for all your custom blocks, but you can override them on each block if you need to."}),"\n",(0,o.jsx)(n.h3,{id:"example-1",children:"example"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"native feature"})}),"\n",(0,o.jsxs)(n.p,{children:["This key provides you the ability to give an example mockup of your attributes. When you try to add a block to the editor using the button in the main toolbar, you will have a preview image on the right. The image generated here will actually be a rendered block with the attributes from the example key. We also use it in the storybook to mock attributes. More on this in the ",(0,o.jsx)(n.a,{href:"blocks-storybook",children:"storybook chapter"}),"."]}),"\n",(0,o.jsx)(n.h3,{id:"attributes",children:"attributes"}),"\n",(0,o.jsxs)(n.p,{children:["Attributes key is an object of attributes where you define and set up default values for a block. These attributes are then passed in the editor as props, and the PHP view part in the ",(0,o.jsx)(n.code,{children:"$attributes"})," variable.\nWe are using the same structure as described in the ",(0,o.jsx)(n.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-attributes/",children:"block editor documentation"}),". For more details please check ",(0,o.jsx)(n.a,{href:"blocks-attributes",children:"this chapter"}),"."]}),"\n",(0,o.jsx)(n.h3,{id:"hasinnerblocks",children:"hasInnerBlocks"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"default: false"})}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"custom feature"})}),"\n",(0,o.jsxs)(n.p,{children:["If the ",(0,o.jsx)(n.code,{children:"hasInnerBlocks"})," key is set to true, the block's ",(0,o.jsx)(n.code,{children:"save"})," method for inner blocks will be used. This method is used when the block has ",(0,o.jsx)(n.a,{href:"https://github.com/WordPress/gutenberg/tree/master/packages/block-editor/src/components/inner-blocks",children:(0,o.jsx)(n.code,{children:"InnerBlocks"})}),". In the PHP view file, you will have the ",(0,o.jsx)(n.code,{children:"$innerBlockContent"})," variable available. Here is an example of what happens in the back:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:" save = () => createElement(InnerBlocks.Content);\n"})}),"\n",(0,o.jsx)(n.h3,{id:"components",children:"components"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"custom feature"})}),"\n",(0,o.jsxs)(n.p,{children:["This key gives you the ability to use component attributes in your block without mapping all the component's attributes every time. Please check ",(0,o.jsx)(n.a,{href:"blocks-component-in-block",children:"this chapter"})," for more details."]}),"\n",(0,o.jsx)(n.h3,{id:"responsiveattributes",children:"responsiveAttributes"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"custom feature"})}),"\n",(0,o.jsxs)(n.p,{children:["This key is used to combine multiple attributes with the similar name for the responsive breakpoints. Please check ",(0,o.jsx)(n.a,{href:"blocks-styles",children:"this chapter"})," for more details."]}),"\n",(0,o.jsx)(n.h3,{id:"variables",children:"variables"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"custom feature"})}),"\n",(0,o.jsxs)(n.p,{children:["This key is used to provide output for CSS variables. Please check ",(0,o.jsx)(n.a,{href:"blocks-styles",children:"this chapter"})," for more details."]}),"\n",(0,o.jsx)(n.h3,{id:"options",children:"options"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"custom feature"})}),"\n",(0,o.jsxs)(n.p,{children:["This key is used to provide options used in the Block Editor options for components like SelectControl or RangeControl. With this key, you can pass options and change them depending on the component used. Please check ",(0,o.jsx)(n.a,{href:"blocks-component-in-block",children:"this chapter"})," for more details."]}),"\n",(0,o.jsx)(n.h2,{id:"the-power-of-manifestjson",children:"The power of manifest.json"}),"\n",(0,o.jsxs)(n.p,{children:["As described before we use ",(0,o.jsx)(n.code,{children:"manifest.json"})," to share stuff across PHP / JS / SCSS so you can easily see its power."]}),"\n",(0,o.jsxs)(n.p,{children:["For example, you can use ",(0,o.jsx)(n.code,{children:"manifest.json"})," to store SVG files that you will use on the front-end (PHP) and in the editor / backend (JS) files. Or you can store block options so it is easier to find and add items."]}),"\n",(0,o.jsx)(n.p,{children:"Let's see how you would share SVG icon across multiple languages:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"manifest.json"})}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsxs)(n.p,{children:["Note: because this is a ",(0,o.jsx)(n.code,{children:"JSON"})," file you must convert all double quotes to single because otherwise, you will get a fatal error."]}),"\n"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:"{\n ...\n \"icon\": \"<svg xmlns='http://www.w3.org/2000/svg' width='7' height='12' viewBox='0 0 320 512'><path fill='currentColor' d='M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z'></path></svg>\",\n ...\n}\n"})}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"block-name.php"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-php",children:"$manifest = Components::getManifest(__DIR__);\n\necho wp_kses_post($manifest['icon']); // Make sure you have allowed filters for all SVG attributes.\n"})}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"block-name-editor.js"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-jsx",children:"import manifest from 'manifest.json';\n\n<span dangerouslySetInnerHTML={{ __html: manifest.icon }}></span>\n"})}),"\n",(0,o.jsx)(n.p,{children:"As you can see, you can share anything this way. Here are some additional examples:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/components/social-links/manifest.json",children:"Social Links"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/components/button/manifest.json",children:"Button"})}),"\n"]})]})}function d(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(h,{...e})}):h(e)}},11151:(e,n,s)=>{s.d(n,{Z:()=>l,a:()=>r});var o=s(67294);const t={},i=o.createContext(t);function r(e){const n=o.useContext(i);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(t):e.components||t:r(e.components),o.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4e946086.d75da28d.js b/assets/js/4e946086.d75da28d.js new file mode 100644 index 000000000..e4a525e94 --- /dev/null +++ b/assets/js/4e946086.d75da28d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[91160],{43376:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>d,frontMatter:()=>i,metadata:()=>l,toc:()=>a});var o=s(17624),t=s(4552);const i={id:"block-manifest",title:"Block Manifest"},r=void 0,l={id:"legacy/v8/basics/block-manifest",title:"Block Manifest",description:"docs-source",source:"@site/docs/legacy/v8/basics/block-manifest.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/block-manifest",permalink:"/docs/legacy/v8/basics/block-manifest",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"block-manifest",title:"Block Manifest"},sidebar:"docs",previous:{title:"Component Structure",permalink:"/docs/legacy/v8/basics/blocks-component-structure"},next:{title:"Component Manifest",permalink:"/docs/legacy/v8/basics/blocks-component-manifest"}},c={},a=[{value:"Example",id:"example",level:3},{value:"namespace",id:"namespace",level:3},{value:"icon.background & icon.foreground",id:"iconbackground--iconforeground",level:3},{value:"example",id:"example-1",level:3},{value:"attributes",id:"attributes",level:3},{value:"hasInnerBlocks",id:"hasinnerblocks",level:3},{value:"components",id:"components",level:3},{value:"responsiveAttributes",id:"responsiveattributes",level:3},{value:"variables",id:"variables",level:3},{value:"options",id:"options",level:3},{value:"The power of manifest.json",id:"the-power-of-manifestjson",level:2}];function h(e){const n={a:"a",blockquote:"blockquote",code:"code",em:"em",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,o.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsxs)(n.p,{children:["This file contains all the configuration required for a block to work. It's used in WordPress ",(0,o.jsx)(n.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-registration/",children:(0,o.jsx)(n.code,{children:"registerBlockType"})})," method to register a block. Using ",(0,o.jsx)(n.code,{children:"manifest.json"}),", we can provide a configuration in JavaScript and PHP part of the block in one file."]}),"\n",(0,o.jsx)(n.h3,{id:"example",children:"Example"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n "namespace": "custom-namespace",\n "blockName": "heading",\n "title": "Heading",\n "description": "Heading block with custom settings.",\n "category": "common",\n "icon": {\n "background": "#900",\n "foreground": "#500",\n "src": "heading"\n },\n "keywords": [\n "Header",\n "Title"\n ],\n "example": {\n "attributes": {\n "content": "New content",\n "level": 2\n }\n },\n "attributes": {\n "content": {\n "type": "string"\n },\n "level": {\n "type": "integer",\n "default": 2\n }\n },\n "hasInnerBlocks": false,\n "components": {},\n "responsiveAttributes": {},\n "variables": {},\n "options": {}\n}\n'})}),"\n",(0,o.jsxs)(n.p,{children:["Most of the keys are the same as in the ",(0,o.jsx)(n.a,{href:"https://developer.wordpress.org/block-editor/reference-guides/block-api/block-metadata/",children:"block.json metadata"}),". If you can't find the description here, please check the ",(0,o.jsx)(n.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-registration/",children:"official documentation"}),". We also have some custom features here, not present in the ",(0,o.jsx)(n.code,{children:"block.json"})," file:"]}),"\n",(0,o.jsx)(n.h3,{id:"namespace",children:"namespace"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"custom feature"})}),"\n",(0,o.jsx)(n.p,{children:"The block's namespace is set globally in the global manifest for all your custom blocks, but you can override them on each block if you need to."}),"\n",(0,o.jsx)(n.h3,{id:"iconbackground--iconforeground",children:"icon.background & icon.foreground"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"native feature"})}),"\n",(0,o.jsx)(n.p,{children:"The icon background and foreground is set globally in the global manifest for all your custom blocks, but you can override them on each block if you need to."}),"\n",(0,o.jsx)(n.h3,{id:"example-1",children:"example"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"native feature"})}),"\n",(0,o.jsxs)(n.p,{children:["This key provides you the ability to give an example mockup of your attributes. When you try to add a block to the editor using the button in the main toolbar, you will have a preview image on the right. The image generated here will actually be a rendered block with the attributes from the example key. We also use it in the storybook to mock attributes. More on this in the ",(0,o.jsx)(n.a,{href:"blocks-storybook",children:"storybook chapter"}),"."]}),"\n",(0,o.jsx)(n.h3,{id:"attributes",children:"attributes"}),"\n",(0,o.jsxs)(n.p,{children:["Attributes key is an object of attributes where you define and set up default values for a block. These attributes are then passed in the editor as props, and the PHP view part in the ",(0,o.jsx)(n.code,{children:"$attributes"})," variable.\nWe are using the same structure as described in the ",(0,o.jsx)(n.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-attributes/",children:"block editor documentation"}),". For more details please check ",(0,o.jsx)(n.a,{href:"blocks-attributes",children:"this chapter"}),"."]}),"\n",(0,o.jsx)(n.h3,{id:"hasinnerblocks",children:"hasInnerBlocks"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"default: false"})}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"custom feature"})}),"\n",(0,o.jsxs)(n.p,{children:["If the ",(0,o.jsx)(n.code,{children:"hasInnerBlocks"})," key is set to true, the block's ",(0,o.jsx)(n.code,{children:"save"})," method for inner blocks will be used. This method is used when the block has ",(0,o.jsx)(n.a,{href:"https://github.com/WordPress/gutenberg/tree/master/packages/block-editor/src/components/inner-blocks",children:(0,o.jsx)(n.code,{children:"InnerBlocks"})}),". In the PHP view file, you will have the ",(0,o.jsx)(n.code,{children:"$innerBlockContent"})," variable available. Here is an example of what happens in the back:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:" save = () => createElement(InnerBlocks.Content);\n"})}),"\n",(0,o.jsx)(n.h3,{id:"components",children:"components"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"custom feature"})}),"\n",(0,o.jsxs)(n.p,{children:["This key gives you the ability to use component attributes in your block without mapping all the component's attributes every time. Please check ",(0,o.jsx)(n.a,{href:"blocks-component-in-block",children:"this chapter"})," for more details."]}),"\n",(0,o.jsx)(n.h3,{id:"responsiveattributes",children:"responsiveAttributes"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"custom feature"})}),"\n",(0,o.jsxs)(n.p,{children:["This key is used to combine multiple attributes with the similar name for the responsive breakpoints. Please check ",(0,o.jsx)(n.a,{href:"blocks-styles",children:"this chapter"})," for more details."]}),"\n",(0,o.jsx)(n.h3,{id:"variables",children:"variables"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"custom feature"})}),"\n",(0,o.jsxs)(n.p,{children:["This key is used to provide output for CSS variables. Please check ",(0,o.jsx)(n.a,{href:"blocks-styles",children:"this chapter"})," for more details."]}),"\n",(0,o.jsx)(n.h3,{id:"options",children:"options"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"custom feature"})}),"\n",(0,o.jsxs)(n.p,{children:["This key is used to provide options used in the Block Editor options for components like SelectControl or RangeControl. With this key, you can pass options and change them depending on the component used. Please check ",(0,o.jsx)(n.a,{href:"blocks-component-in-block",children:"this chapter"})," for more details."]}),"\n",(0,o.jsx)(n.h2,{id:"the-power-of-manifestjson",children:"The power of manifest.json"}),"\n",(0,o.jsxs)(n.p,{children:["As described before we use ",(0,o.jsx)(n.code,{children:"manifest.json"})," to share stuff across PHP / JS / SCSS so you can easily see its power."]}),"\n",(0,o.jsxs)(n.p,{children:["For example, you can use ",(0,o.jsx)(n.code,{children:"manifest.json"})," to store SVG files that you will use on the front-end (PHP) and in the editor / backend (JS) files. Or you can store block options so it is easier to find and add items."]}),"\n",(0,o.jsx)(n.p,{children:"Let's see how you would share SVG icon across multiple languages:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"manifest.json"})}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsxs)(n.p,{children:["Note: because this is a ",(0,o.jsx)(n.code,{children:"JSON"})," file you must convert all double quotes to single because otherwise, you will get a fatal error."]}),"\n"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:"{\n ...\n \"icon\": \"<svg xmlns='http://www.w3.org/2000/svg' width='7' height='12' viewBox='0 0 320 512'><path fill='currentColor' d='M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z'></path></svg>\",\n ...\n}\n"})}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"block-name.php"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-php",children:"$manifest = Components::getManifest(__DIR__);\n\necho wp_kses_post($manifest['icon']); // Make sure you have allowed filters for all SVG attributes.\n"})}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"block-name-editor.js"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-jsx",children:"import manifest from 'manifest.json';\n\n<span dangerouslySetInnerHTML={{ __html: manifest.icon }}></span>\n"})}),"\n",(0,o.jsx)(n.p,{children:"As you can see, you can share anything this way. Here are some additional examples:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/components/social-links/manifest.json",children:"Social Links"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/components/button/manifest.json",children:"Button"})}),"\n"]})]})}function d(e={}){const{wrapper:n}={...(0,t.M)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(h,{...e})}):h(e)}},4552:(e,n,s)=>{s.d(n,{I:()=>l,M:()=>r});var o=s(11504);const t={},i=o.createContext(t);function r(e){const n=o.useContext(i);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(t):e.components||t:r(e.components),o.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4eaf1272.ea9b7d48.js b/assets/js/4eaf1272.ea9b7d48.js deleted file mode 100644 index 3f2132d6e..000000000 --- a/assets/js/4eaf1272.ea9b7d48.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[43118],{45358:(e,s,r)=>{r.r(s),r.d(s,{assets:()=>a,contentTitle:()=>i,default:()=>h,frontMatter:()=>c,metadata:()=>o,toc:()=>l});var t=r(85893),n=r(11151);const c={id:"helpers",title:"Helpers"},i=void 0,o={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:",source:"@site/docs/legacy/v7/basics/helpers.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/helpers",permalink:"/docs/legacy/v7/basics/helpers",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"helpers",title:"Helpers"},sidebar:"docs",previous:{title:"Storybook",permalink:"/docs/legacy/v7/basics/blocks-storybook"},next:{title:"JavaScript",permalink:"/docs/legacy/v7/basics/helpers-javascript"}},a={},l=[];function p(e){const s={a:"a",li:"li",p:"p",ul:"ul",...(0,n.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:"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:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"helpers-javascript",children:"JavaScript Helpers"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"helpers-scss",children:"Scss Helpers"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"helpers-php",children:"Php Helpers"})}),"\n"]}),"\n",(0,t.jsx)(s.p,{children:"We especially like our helpers in the block editor, because we need to have the same features in JavaScript and PHP. This can be easily done using helpers."})]})}function h(e={}){const{wrapper:s}={...(0,n.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(p,{...e})}):p(e)}},11151:(e,s,r)=>{r.d(s,{Z:()=>o,a:()=>i});var t=r(67294);const n={},c=t.createContext(n);function i(e){const s=t.useContext(c);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),t.createElement(c.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4eaf1272.f8bf19ce.js b/assets/js/4eaf1272.f8bf19ce.js new file mode 100644 index 000000000..a5ff44226 --- /dev/null +++ b/assets/js/4eaf1272.f8bf19ce.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[38774],{10524:(e,s,r)=>{r.r(s),r.d(s,{assets:()=>a,contentTitle:()=>i,default:()=>h,frontMatter:()=>c,metadata:()=>o,toc:()=>l});var t=r(17624),n=r(4552);const c={id:"helpers",title:"Helpers"},i=void 0,o={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:",source:"@site/docs/legacy/v7/basics/helpers.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/helpers",permalink:"/docs/legacy/v7/basics/helpers",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"helpers",title:"Helpers"},sidebar:"docs",previous:{title:"Storybook",permalink:"/docs/legacy/v7/basics/blocks-storybook"},next:{title:"JavaScript",permalink:"/docs/legacy/v7/basics/helpers-javascript"}},a={},l=[];function p(e){const s={a:"a",li:"li",p:"p",ul:"ul",...(0,n.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:"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:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"helpers-javascript",children:"JavaScript Helpers"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"helpers-scss",children:"Scss Helpers"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"helpers-php",children:"Php Helpers"})}),"\n"]}),"\n",(0,t.jsx)(s.p,{children:"We especially like our helpers in the block editor, because we need to have the same features in JavaScript and PHP. This can be easily done using helpers."})]})}function h(e={}){const{wrapper:s}={...(0,n.M)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(p,{...e})}):p(e)}},4552:(e,s,r)=>{r.d(s,{I:()=>o,M:()=>i});var t=r(11504);const n={},c=t.createContext(n);function i(e){const s=t.useContext(c);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),t.createElement(c.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4ec5858e.7d5da6d3.js b/assets/js/4ec5858e.7d5da6d3.js new file mode 100644 index 000000000..b449e8761 --- /dev/null +++ b/assets/js/4ec5858e.7d5da6d3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[42352],{51308:(e,r,s)=>{s.r(r),s.d(r,{assets:()=>a,contentTitle:()=>l,default:()=>h,frontMatter:()=>o,metadata:()=>i,toc:()=>c});var n=s(17624),t=s(4552);const o={id:"helpers-error-logger-helpers",title:"Error Logger"},l=void 0,i={id:"legacy/v4/advanced/helpers-error-logger-helpers",title:"Error Logger",description:"docs-source",source:"@site/docs/legacy/v4/advanced/helpers-error-logger.md",sourceDirName:"legacy/v4/advanced",slug:"/legacy/v4/advanced/helpers-error-logger-helpers",permalink:"/docs/legacy/v4/advanced/helpers-error-logger-helpers",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"helpers-error-logger-helpers",title:"Error Logger"},sidebar:"docs",previous:{title:"Shortcode",permalink:"/docs/legacy/v4/advanced/helpers-shortcode-helpers"},next:{title:"Color Palette",permalink:"/docs/legacy/v4/advanced/components-color-palette"}},a={},c=[{value:"rest_response_handler",id:"rest_response_handler",level:2}];function d(e){const r={a:"a",code:"code",h2:"h2",img:"img",li:"li",p:"p",ul:"ul",...(0,t.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r.p,{children:(0,n.jsx)(r.a,{href:"https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/helpers/trait-error-logger.php",children:(0,n.jsx)(r.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsxs)(r.p,{children:["Object trait is located in ",(0,n.jsx)(r.code,{children:"Eightshift Libs"}),". To extend it, use ",(0,n.jsx)(r.code,{children:"Eightshift_Libs\\Helpers\\Error_Logger"})," class."]}),"\n",(0,n.jsxs)(r.p,{children:["If you are working with Ajax or REST API in your project, this logger will come in handy. We have created this simple trait helper that you can use in any PHP class as a ",(0,n.jsx)(r.a,{href:"/docs/legacy/v4/guides/extending-classes",children:"trait"}),"."]}),"\n",(0,n.jsx)(r.h2,{id:"rest_response_handler",children:"rest_response_handler"}),"\n",(0,n.jsx)(r.p,{children:"Ensure correct response for rest using the handler function."}),"\n",(0,n.jsxs)(r.ul,{children:["\n",(0,n.jsxs)(r.li,{children:["\n",(0,n.jsx)(r.p,{children:"@param integer $code Response Status code."}),"\n"]}),"\n",(0,n.jsxs)(r.li,{children:["\n",(0,n.jsx)(r.p,{children:"@param string $status Response Status name. (success/error)."}),"\n"]}),"\n",(0,n.jsxs)(r.li,{children:["\n",(0,n.jsx)(r.p,{children:"@param string|null $msg Response Message."}),"\n"]}),"\n",(0,n.jsxs)(r.li,{children:["\n",(0,n.jsx)(r.p,{children:"@param array|null $data Response additional data."}),"\n"]}),"\n",(0,n.jsxs)(r.li,{children:["\n",(0,n.jsx)(r.p,{children:"@return \\WP_Error|array \\WP_Error instance with error message and status or array."}),"\n"]}),"\n"]})]})}function h(e={}){const{wrapper:r}={...(0,t.M)(),...e.components};return r?(0,n.jsx)(r,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},4552:(e,r,s)=>{s.d(r,{I:()=>i,M:()=>l});var n=s(11504);const t={},o=n.createContext(t);function l(e){const r=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function i(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:l(e.components),n.createElement(o.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4ec5858e.9f3b451e.js b/assets/js/4ec5858e.9f3b451e.js deleted file mode 100644 index 02ef61cce..000000000 --- a/assets/js/4ec5858e.9f3b451e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[17993],{21583:(e,r,s)=>{s.r(r),s.d(r,{assets:()=>i,contentTitle:()=>l,default:()=>h,frontMatter:()=>o,metadata:()=>a,toc:()=>c});var n=s(85893),t=s(11151);const o={id:"helpers-error-logger-helpers",title:"Error Logger"},l=void 0,a={id:"legacy/v4/advanced/helpers-error-logger-helpers",title:"Error Logger",description:"docs-source",source:"@site/docs/legacy/v4/advanced/helpers-error-logger.md",sourceDirName:"legacy/v4/advanced",slug:"/legacy/v4/advanced/helpers-error-logger-helpers",permalink:"/docs/legacy/v4/advanced/helpers-error-logger-helpers",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"helpers-error-logger-helpers",title:"Error Logger"},sidebar:"docs",previous:{title:"Shortcode",permalink:"/docs/legacy/v4/advanced/helpers-shortcode-helpers"},next:{title:"Color Palette",permalink:"/docs/legacy/v4/advanced/components-color-palette"}},i={},c=[{value:"rest_response_handler",id:"rest_response_handler",level:2}];function d(e){const r={a:"a",code:"code",h2:"h2",img:"img",li:"li",p:"p",ul:"ul",...(0,t.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r.p,{children:(0,n.jsx)(r.a,{href:"https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/helpers/trait-error-logger.php",children:(0,n.jsx)(r.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsxs)(r.p,{children:["Object trait is located in ",(0,n.jsx)(r.code,{children:"Eightshift Libs"}),". To extend it, use ",(0,n.jsx)(r.code,{children:"Eightshift_Libs\\Helpers\\Error_Logger"})," class."]}),"\n",(0,n.jsxs)(r.p,{children:["If you are working with Ajax or REST API in your project, this logger will come in handy. We have created this simple trait helper that you can use in any PHP class as a ",(0,n.jsx)(r.a,{href:"/docs/legacy/v4/guides/extending-classes",children:"trait"}),"."]}),"\n",(0,n.jsx)(r.h2,{id:"rest_response_handler",children:"rest_response_handler"}),"\n",(0,n.jsx)(r.p,{children:"Ensure correct response for rest using the handler function."}),"\n",(0,n.jsxs)(r.ul,{children:["\n",(0,n.jsxs)(r.li,{children:["\n",(0,n.jsx)(r.p,{children:"@param integer $code Response Status code."}),"\n"]}),"\n",(0,n.jsxs)(r.li,{children:["\n",(0,n.jsx)(r.p,{children:"@param string $status Response Status name. (success/error)."}),"\n"]}),"\n",(0,n.jsxs)(r.li,{children:["\n",(0,n.jsx)(r.p,{children:"@param string|null $msg Response Message."}),"\n"]}),"\n",(0,n.jsxs)(r.li,{children:["\n",(0,n.jsx)(r.p,{children:"@param array|null $data Response additional data."}),"\n"]}),"\n",(0,n.jsxs)(r.li,{children:["\n",(0,n.jsx)(r.p,{children:"@return \\WP_Error|array \\WP_Error instance with error message and status or array."}),"\n"]}),"\n"]})]})}function h(e={}){const{wrapper:r}={...(0,t.a)(),...e.components};return r?(0,n.jsx)(r,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},11151:(e,r,s)=>{s.d(r,{Z:()=>a,a:()=>l});var n=s(67294);const t={},o=n.createContext(t);function l(e){const r=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function a(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:l(e.components),n.createElement(o.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4ece2ef5.917afc4a.js b/assets/js/4ece2ef5.917afc4a.js new file mode 100644 index 000000000..53af9a22f --- /dev/null +++ b/assets/js/4ece2ef5.917afc4a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[34616],{69948:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>s,default:()=>m,frontMatter:()=>n,metadata:()=>a,toc:()=>c});var i=r(17624),o=r(4552);const n={id:"import-export",title:"Import/Export"},s=void 0,a={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.",source:"@site/forms/features/import-export.md",sourceDirName:"features",slug:"/features/import-export",permalink:"/forms/features/import-export",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"import-export",title:"Import/Export"},sidebar:"forms",previous:{title:"Fallback e-mails",permalink:"/forms/features/fallback-emails"},next:{title:"Migrations",permalink:"/forms/features/migrations"}},l={},c=[{value:"Export",id:"export",level:2},{value:"Import",id:"import",level:2},{value:"Import manual",id:"import-manual",level:2}];function p(e){const t={h2:"h2",img:"img",li:"li",p:"p",ul:"ul",...(0,o.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"The import/export feature enables forms to be easily transferred between projects, allowing for efficient creation and modification across different environments."}),"\n",(0,i.jsx)(t.h2,{id:"export",children:"Export"}),"\n",(0,i.jsx)(t.p,{children:"You can choose to export:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"global settings"}),"\n",(0,i.jsx)(t.li,{children:"everything (global settings and all forms)"}),"\n",(0,i.jsx)(t.li,{children:"individual forms (form and form settings)"}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:"Export data will be provided in JSON format, compatible with our import feature."}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"Export screen",src:r(9504).c+"",width:"627",height:"523"})}),"\n",(0,i.jsx)(t.h2,{id:"import",children:"Import"}),"\n",(0,i.jsx)(t.p,{children:'You must upload the JSON export file to import data in the designated field on the import screen. The importer will automatically create a new form with the addition of a "copy" suffix and import all data from the export file.'}),"\n",(0,i.jsx)(t.p,{children:'If you wish to replace an existing form, enable the "Override existing form" option. This function will overwrite any forms with identical form IDs, making it helpful for transferring forms between different environments.'}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"Import screen",src:r(84072).c+"",width:"655",height:"732"})}),"\n",(0,i.jsx)(t.h2,{id:"import-manual",children:"Import manual"}),"\n",(0,i.jsx)(t.p,{children:"The Import Manual feature enables you to import forms from a JSON file you receive via email. This happens when you use the fallback emails feature or turn off integration. By using the JSON file, you can directly import your data into the integration tool you are using. This feature ensures that you don't lose any data if you decide to turn off integration or encounter any issues."}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"Import manual screen",src:r(59008).c+"",width:"631",height:"812"})})]})}function m(e={}){const{wrapper:t}={...(0,o.M)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}},9504:(e,t,r)=>{r.d(t,{c:()=>i});const i=r.p+"assets/images/export-73c4a01d5cf1b0c3504b770bcba992be.webp"},59008:(e,t,r)=>{r.d(t,{c:()=>i});const i=r.p+"assets/images/import-manual-de050c1366e71bba42a084cfef107925.webp"},84072:(e,t,r)=>{r.d(t,{c:()=>i});const i=r.p+"assets/images/import-60472d55bd790c8d1667f987272f991a.webp"},4552:(e,t,r)=>{r.d(t,{I:()=>a,M:()=>s});var i=r(11504);const o={},n=i.createContext(o);function s(e){const t=i.useContext(n);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),i.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4ece2ef5.a346d153.js b/assets/js/4ece2ef5.a346d153.js deleted file mode 100644 index 4e1c73f4c..000000000 --- a/assets/js/4ece2ef5.a346d153.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[50618],{84148:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>s,default:()=>c,frontMatter:()=>n,metadata:()=>a,toc:()=>p});var i=r(85893),o=r(11151);const n={id:"import-export",title:"Import/Export"},s=void 0,a={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.",source:"@site/forms/features/import-export.md",sourceDirName:"features",slug:"/features/import-export",permalink:"/forms/features/import-export",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"import-export",title:"Import/Export"},sidebar:"forms",previous:{title:"Fallback e-mails",permalink:"/forms/features/fallback-emails"},next:{title:"Migrations",permalink:"/forms/features/migrations"}},l={},p=[{value:"Export",id:"export",level:2},{value:"Import",id:"import",level:2},{value:"Import manual",id:"import-manual",level:2}];function m(e){const t={h2:"h2",img:"img",li:"li",p:"p",ul:"ul",...(0,o.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"The import/export feature enables forms to be easily transferred between projects, allowing for efficient creation and modification across different environments."}),"\n",(0,i.jsx)(t.h2,{id:"export",children:"Export"}),"\n",(0,i.jsx)(t.p,{children:"You can choose to export:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"global settings"}),"\n",(0,i.jsx)(t.li,{children:"everything (global settings and all forms)"}),"\n",(0,i.jsx)(t.li,{children:"individual forms (form and form settings)"}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:"Export data will be provided in JSON format, compatible with our import feature."}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"Export screen",src:r(92026).Z+"",width:"627",height:"523"})}),"\n",(0,i.jsx)(t.h2,{id:"import",children:"Import"}),"\n",(0,i.jsx)(t.p,{children:'You must upload the JSON export file to import data in the designated field on the import screen. The importer will automatically create a new form with the addition of a "copy" suffix and import all data from the export file.'}),"\n",(0,i.jsx)(t.p,{children:'If you wish to replace an existing form, enable the "Override existing form" option. This function will overwrite any forms with identical form IDs, making it helpful for transferring forms between different environments.'}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"Import screen",src:r(86655).Z+"",width:"655",height:"732"})}),"\n",(0,i.jsx)(t.h2,{id:"import-manual",children:"Import manual"}),"\n",(0,i.jsx)(t.p,{children:"The Import Manual feature enables you to import forms from a JSON file you receive via email. This happens when you use the fallback emails feature or turn off integration. By using the JSON file, you can directly import your data into the integration tool you are using. This feature ensures that you don't lose any data if you decide to turn off integration or encounter any issues."}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"Import manual screen",src:r(23811).Z+"",width:"631",height:"812"})})]})}function c(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(m,{...e})}):m(e)}},92026:(e,t,r)=>{r.d(t,{Z:()=>i});const i=r.p+"assets/images/export-73c4a01d5cf1b0c3504b770bcba992be.webp"},23811:(e,t,r)=>{r.d(t,{Z:()=>i});const i=r.p+"assets/images/import-manual-de050c1366e71bba42a084cfef107925.webp"},86655:(e,t,r)=>{r.d(t,{Z:()=>i});const i=r.p+"assets/images/import-60472d55bd790c8d1667f987272f991a.webp"},11151:(e,t,r)=>{r.d(t,{Z:()=>a,a:()=>s});var i=r(67294);const o={},n=i.createContext(o);function s(e){const t=i.useContext(n);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),i.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4f057d99.64d258b3.js b/assets/js/4f057d99.64d258b3.js deleted file mode 100644 index ec229c803..000000000 --- a/assets/js/4f057d99.64d258b3.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[42709],{10899:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>r,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>l});var t=n(85893),i=n(11151);const o={id:"namespaces",title:"Namespaces"},a=void 0,c={id:"legacy/v8/basics/namespaces",title:"Namespaces",description:"docs-source",source:"@site/docs/legacy/v8/basics/namespaces.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/namespaces",permalink:"/docs/legacy/v8/basics/namespaces",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"namespaces",title:"Namespaces"},sidebar:"docs",previous:{title:"General",permalink:"/docs/legacy/v8/basics/backend"},next:{title:"Extending Classes",permalink:"/docs/legacy/v8/basics/extending-classes"}},r={},l=[{value:"Important note",id:"important-note",level:3}];function d(e){const s={a:"a",admonition:"admonition",code:"code",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/infinum/eightshift-libs",children:(0,t.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsx)(s.admonition,{type:"note",children:(0,t.jsxs)(s.p,{children:["The PHP codebase of this project lives in ",(0,t.jsx)(s.code,{children:"EightshiftLibs"})," namespace."]})}),"\n",(0,t.jsxs)(s.p,{children:["Because WordPress lives in a global namespace, we had to provide the way for your project to be unique. That is why we implemented ",(0,t.jsx)(s.a,{href:"https://github.com/infinum/imposter-plugin",children:(0,t.jsx)(s.strong,{children:"Imposter"})})," in ",(0,t.jsx)(s.code,{children:"composer.json"}),". Imposter adds a namespace prefix to all the packages inside the ",(0,t.jsx)(s.code,{children:"vendor"})," folder that use namespacing."]}),"\n",(0,t.jsxs)(s.p,{children:["You can change the vendor prefix in your ",(0,t.jsx)(s.code,{children:"composer.json"})," file. If you do this, make sure you delete the ",(0,t.jsx)(s.code,{children:"vendor"})," folder and re-run ",(0,t.jsx)(s.code,{children:"composer install"}),"."]}),"\n",(0,t.jsx)(s.p,{children:"Using the default setup, your project will have the namespace you defined in the setup process."}),"\n",(0,t.jsxs)(s.p,{children:["However, let's say you change your ",(0,t.jsx)(s.code,{children:"composer.json"})," file to contain this snippet:"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-json",children:'"autoload": {\n "psr-4": {\n "CustomProject\\\\": "src/"\n }\n},\n"extra": {\n "imposter": {\n "namespace": "EightshiftBoilerplateVendor"\n }\n}\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Your current namespace is: ",(0,t.jsx)(s.code,{children:"CustomProject"}),"."]}),"\n",(0,t.jsxs)(s.li,{children:["Namespace for Eightshift Libs becomes: ",(0,t.jsx)(s.code,{children:"EightshiftBoilerplateVendor\\EightshiftLibs"}),"."]}),"\n",(0,t.jsxs)(s.li,{children:["Every package you additionally install will follow the same convention: ",(0,t.jsx)(s.code,{children:"EightshiftBoilerplateVendor\\SomePackageNamespace"}),"."]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"To sum it up"}),": you don't need to change the default vendor prefix if you only run one theme or one plugin with Eightshift Development Kit. If you have multiple Eightshift Development Kit-powered themes or plugins installed, please change the vendor prefix on each of the projects."]}),"\n",(0,t.jsx)(s.h3,{id:"important-note",children:"Important note"}),"\n",(0,t.jsxs)(s.p,{children:["If you are installing additional composer packages, make sure that they don't have any inline namespace usage. All referenced classes should be imported with ",(0,t.jsx)(s.code,{children:"use"})," statements, which must be defined at the top of files."]}),"\n",(0,t.jsx)(s.p,{children:"The Imposter plugin is not able to replace inline namespaces, which will cause issues with classname resolution and result in a fatal error getting thrown."}),"\n",(0,t.jsx)(s.p,{children:"To fix these issues, either create a PR on the package and fix this for everyone, or exclude this package from imposter script. Keep in mind that can have some unexpected side effects that we can't predict."})]})}function h(e={}){const{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},11151:(e,s,n)=>{n.d(s,{Z:()=>c,a:()=>a});var t=n(67294);const i={},o=t.createContext(i);function a(e){const s=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),t.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4f057d99.d8418a7f.js b/assets/js/4f057d99.d8418a7f.js new file mode 100644 index 000000000..1be152702 --- /dev/null +++ b/assets/js/4f057d99.d8418a7f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[12590],{26900:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>r,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>l});var t=n(17624),i=n(4552);const o={id:"namespaces",title:"Namespaces"},a=void 0,c={id:"legacy/v8/basics/namespaces",title:"Namespaces",description:"docs-source",source:"@site/docs/legacy/v8/basics/namespaces.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/namespaces",permalink:"/docs/legacy/v8/basics/namespaces",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"namespaces",title:"Namespaces"},sidebar:"docs",previous:{title:"General",permalink:"/docs/legacy/v8/basics/backend"},next:{title:"Extending Classes",permalink:"/docs/legacy/v8/basics/extending-classes"}},r={},l=[{value:"Important note",id:"important-note",level:3}];function d(e){const s={a:"a",admonition:"admonition",code:"code",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/infinum/eightshift-libs",children:(0,t.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsx)(s.admonition,{type:"note",children:(0,t.jsxs)(s.p,{children:["The PHP codebase of this project lives in ",(0,t.jsx)(s.code,{children:"EightshiftLibs"})," namespace."]})}),"\n",(0,t.jsxs)(s.p,{children:["Because WordPress lives in a global namespace, we had to provide the way for your project to be unique. That is why we implemented ",(0,t.jsx)(s.a,{href:"https://github.com/infinum/imposter-plugin",children:(0,t.jsx)(s.strong,{children:"Imposter"})})," in ",(0,t.jsx)(s.code,{children:"composer.json"}),". Imposter adds a namespace prefix to all the packages inside the ",(0,t.jsx)(s.code,{children:"vendor"})," folder that use namespacing."]}),"\n",(0,t.jsxs)(s.p,{children:["You can change the vendor prefix in your ",(0,t.jsx)(s.code,{children:"composer.json"})," file. If you do this, make sure you delete the ",(0,t.jsx)(s.code,{children:"vendor"})," folder and re-run ",(0,t.jsx)(s.code,{children:"composer install"}),"."]}),"\n",(0,t.jsx)(s.p,{children:"Using the default setup, your project will have the namespace you defined in the setup process."}),"\n",(0,t.jsxs)(s.p,{children:["However, let's say you change your ",(0,t.jsx)(s.code,{children:"composer.json"})," file to contain this snippet:"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-json",children:'"autoload": {\n "psr-4": {\n "CustomProject\\\\": "src/"\n }\n},\n"extra": {\n "imposter": {\n "namespace": "EightshiftBoilerplateVendor"\n }\n}\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Your current namespace is: ",(0,t.jsx)(s.code,{children:"CustomProject"}),"."]}),"\n",(0,t.jsxs)(s.li,{children:["Namespace for Eightshift Libs becomes: ",(0,t.jsx)(s.code,{children:"EightshiftBoilerplateVendor\\EightshiftLibs"}),"."]}),"\n",(0,t.jsxs)(s.li,{children:["Every package you additionally install will follow the same convention: ",(0,t.jsx)(s.code,{children:"EightshiftBoilerplateVendor\\SomePackageNamespace"}),"."]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"To sum it up"}),": you don't need to change the default vendor prefix if you only run one theme or one plugin with Eightshift Development Kit. If you have multiple Eightshift Development Kit-powered themes or plugins installed, please change the vendor prefix on each of the projects."]}),"\n",(0,t.jsx)(s.h3,{id:"important-note",children:"Important note"}),"\n",(0,t.jsxs)(s.p,{children:["If you are installing additional composer packages, make sure that they don't have any inline namespace usage. All referenced classes should be imported with ",(0,t.jsx)(s.code,{children:"use"})," statements, which must be defined at the top of files."]}),"\n",(0,t.jsx)(s.p,{children:"The Imposter plugin is not able to replace inline namespaces, which will cause issues with classname resolution and result in a fatal error getting thrown."}),"\n",(0,t.jsx)(s.p,{children:"To fix these issues, either create a PR on the package and fix this for everyone, or exclude this package from imposter script. Keep in mind that can have some unexpected side effects that we can't predict."})]})}function h(e={}){const{wrapper:s}={...(0,i.M)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},4552:(e,s,n)=>{n.d(s,{I:()=>c,M:()=>a});var t=n(11504);const i={},o=t.createContext(i);function a(e){const s=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),t.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4f6e5aff.39a7624f.js b/assets/js/4f6e5aff.39a7624f.js deleted file mode 100644 index a6e21981c..000000000 --- a/assets/js/4f6e5aff.39a7624f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[14047],{8495:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>a,contentTitle:()=>s,default:()=>h,frontMatter:()=>l,metadata:()=>o,toc:()=>c});var t=n(85893),r=n(11151);const l={id:"mailchimp",title:"Mailchimp"},s=void 0,o={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.",source:"@site/forms/integrations/mailchimp.md",sourceDirName:"integrations",slug:"/integrations/mailchimp",permalink:"/forms/integrations/mailchimp",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"mailchimp",title:"Mailchimp"},sidebar:"forms",previous:{title:"Jira",permalink:"/forms/integrations/jira"},next:{title:"Mailer",permalink:"/forms/integrations/mailer"}},a={},c=[{value:"Website",id:"website",level:3},{value:"API Version",id:"api-version",level:3},{value:"API Documentation",id:"api-documentation",level:3},{value:"Integration type",id:"integration-type",level:3},{value:"Supported fields:",id:"supported-fields",level:3}];function d(e){const i={a:"a",h3:"h3",li:"li",p:"p",ul:"ul",...(0,r.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.p,{children:"Mailchimp is an comprehensive email marketing platform that fulfills all your requirements of email correspondence with customers, affiliates, and more."}),"\n",(0,t.jsx)(i.h3,{id:"website",children:"Website"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:(0,t.jsx)(i.a,{href:"https://mailchimp.com/",children:"Visit website"})}),"\n"]}),"\n",(0,t.jsx)(i.h3,{id:"api-version",children:"API Version"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"V3"}),"\n"]}),"\n",(0,t.jsx)(i.h3,{id:"api-documentation",children:"API Documentation"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:(0,t.jsx)(i.a,{href:"https://mailchimp.com/developer/marketing/api/",children:"Documentation"})}),"\n"]}),"\n",(0,t.jsx)(i.h3,{id:"integration-type",children:"Integration type"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"Form builder provided by the service."}),"\n"]}),"\n",(0,t.jsx)(i.h3,{id:"supported-fields",children:"Supported fields:"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"Text"}),"\n",(0,t.jsx)(i.li,{children:"Url"}),"\n",(0,t.jsx)(i.li,{children:"Address - partially"}),"\n",(0,t.jsx)(i.li,{children:"Zip"}),"\n",(0,t.jsx)(i.li,{children:"Number"}),"\n",(0,t.jsx)(i.li,{children:"Birthday"}),"\n",(0,t.jsx)(i.li,{children:"Date"}),"\n",(0,t.jsx)(i.li,{children:"Phone"}),"\n",(0,t.jsx)(i.li,{children:"Radio"}),"\n",(0,t.jsx)(i.li,{children:"Dropdown"}),"\n"]})]})}function h(e={}){const{wrapper:i}={...(0,r.a)(),...e.components};return i?(0,t.jsx)(i,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},11151:(e,i,n)=>{n.d(i,{Z:()=>o,a:()=>s});var t=n(67294);const r={},l=t.createContext(r);function s(e){const i=t.useContext(l);return t.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function o(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:s(e.components),t.createElement(l.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4f6e5aff.86ed82f3.js b/assets/js/4f6e5aff.86ed82f3.js new file mode 100644 index 000000000..815cfd101 --- /dev/null +++ b/assets/js/4f6e5aff.86ed82f3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[36824],{16640:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>a,contentTitle:()=>s,default:()=>h,frontMatter:()=>l,metadata:()=>o,toc:()=>c});var t=n(17624),r=n(4552);const l={id:"mailchimp",title:"Mailchimp"},s=void 0,o={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.",source:"@site/forms/integrations/mailchimp.md",sourceDirName:"integrations",slug:"/integrations/mailchimp",permalink:"/forms/integrations/mailchimp",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"mailchimp",title:"Mailchimp"},sidebar:"forms",previous:{title:"Jira",permalink:"/forms/integrations/jira"},next:{title:"Mailer",permalink:"/forms/integrations/mailer"}},a={},c=[{value:"Website",id:"website",level:3},{value:"API Version",id:"api-version",level:3},{value:"API Documentation",id:"api-documentation",level:3},{value:"Integration type",id:"integration-type",level:3},{value:"Supported fields:",id:"supported-fields",level:3}];function d(e){const i={a:"a",h3:"h3",li:"li",p:"p",ul:"ul",...(0,r.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.p,{children:"Mailchimp is an comprehensive email marketing platform that fulfills all your requirements of email correspondence with customers, affiliates, and more."}),"\n",(0,t.jsx)(i.h3,{id:"website",children:"Website"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:(0,t.jsx)(i.a,{href:"https://mailchimp.com/",children:"Visit website"})}),"\n"]}),"\n",(0,t.jsx)(i.h3,{id:"api-version",children:"API Version"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"V3"}),"\n"]}),"\n",(0,t.jsx)(i.h3,{id:"api-documentation",children:"API Documentation"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:(0,t.jsx)(i.a,{href:"https://mailchimp.com/developer/marketing/api/",children:"Documentation"})}),"\n"]}),"\n",(0,t.jsx)(i.h3,{id:"integration-type",children:"Integration type"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"Form builder provided by the service."}),"\n"]}),"\n",(0,t.jsx)(i.h3,{id:"supported-fields",children:"Supported fields:"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"Text"}),"\n",(0,t.jsx)(i.li,{children:"Url"}),"\n",(0,t.jsx)(i.li,{children:"Address - partially"}),"\n",(0,t.jsx)(i.li,{children:"Zip"}),"\n",(0,t.jsx)(i.li,{children:"Number"}),"\n",(0,t.jsx)(i.li,{children:"Birthday"}),"\n",(0,t.jsx)(i.li,{children:"Date"}),"\n",(0,t.jsx)(i.li,{children:"Phone"}),"\n",(0,t.jsx)(i.li,{children:"Radio"}),"\n",(0,t.jsx)(i.li,{children:"Dropdown"}),"\n"]})]})}function h(e={}){const{wrapper:i}={...(0,r.M)(),...e.components};return i?(0,t.jsx)(i,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},4552:(e,i,n)=>{n.d(i,{I:()=>o,M:()=>s});var t=n(11504);const r={},l=t.createContext(r);function s(e){const i=t.useContext(l);return t.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function o(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:s(e.components),t.createElement(l.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4f8601bc.7510502f.js b/assets/js/4f8601bc.7510502f.js deleted file mode 100644 index b6bc6650c..000000000 --- a/assets/js/4f8601bc.7510502f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[55178],{34540:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>c,default:()=>b,frontMatter:()=>s,metadata:()=>i,toc:()=>r});var o=n(85893),a=n(11151);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.a)(),...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.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(p,{...e})}):p(e)}},11151:(e,t,n)=>{n.d(t,{Z:()=>i,a:()=>c});var o=n(67294);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.7b100090.js b/assets/js/4f8601bc.7b100090.js new file mode 100644 index 000000000..f2d514599 --- /dev/null +++ b/assets/js/4f8601bc.7b100090.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[47560],{44824:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>c,default:()=>b,frontMatter:()=>s,metadata:()=>i,toc:()=>r});var o=n(17624),a=n(4552);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.M)(),...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.M)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(p,{...e})}):p(e)}},4552:(e,t,n)=>{n.d(t,{I:()=>i,M:()=>c});var o=n(11504);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/5024c8a9.a2cc38a3.js b/assets/js/5024c8a9.a2cc38a3.js new file mode 100644 index 000000000..510d49216 --- /dev/null +++ b/assets/js/5024c8a9.a2cc38a3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[64598],{10804:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var i=t(17624),n=t(4552);const o={id:"helpers-scss",title:"Scss",sidebar_label:"Scss"},r=void 0,l={id:"legacy/v5/basics/helpers-scss",title:"Scss",description:"docs-source",source:"@site/docs/legacy/v5/basics/helpers-scss.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/helpers-scss",permalink:"/docs/legacy/v5/basics/helpers-scss",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"helpers-scss",title:"Scss",sidebar_label:"Scss"},sidebar:"docs",previous:{title:"JavaScript",permalink:"/docs/legacy/v5/basics/helpers-javascript"},next:{title:"PHP",permalink:"/docs/legacy/v5/basics/helpers-php"}},a={},c=[{value:"Default usage",id:"default-usage",level:2},{value:"Usage outside of Eightshift Boilerplate",id:"usage-outside-of-eightshift-boilerplate",level:2}];function d(e){const s={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",strong:"strong",...(0,n.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/",children:(0,i.jsx)(s.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsx)(s.p,{children:"For years, we have collected a list of useful SASS mixins, placeholders, and functions you can use in a project. You don't need to have all of this in your project. Check out our documentation and see what we have in store for you."}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsxs)(s.strong,{children:["Visit ",(0,i.jsx)(s.a,{href:"/docs/basics/library",children:"SassDocs"})," for more details."]})}),"\n",(0,i.jsx)(s.h2,{id:"default-usage",children:"Default usage"}),"\n",(0,i.jsx)(s.p,{children:"Eightshift Frontend Libs styles library is already implemented in your WordPress project, so you don't need to worry about implementation."}),"\n",(0,i.jsxs)(s.p,{children:["All our sass mixing, functions and helpers are located in ",(0,i.jsx)(s.code,{children:"node_modules/@eighshift/frontent-libs/styles/scss/eightshift-frontend-libs.scss"})," file."]}),"\n",(0,i.jsxs)(s.p,{children:["We imported that library into this file: ",(0,i.jsx)(s.code,{children:"/assets/styles/parts/_shared.scss"}),"."]}),"\n",(0,i.jsx)(s.h2,{id:"usage-outside-of-eightshift-boilerplate",children:"Usage outside of Eightshift Boilerplate"}),"\n",(0,i.jsx)(s.p,{children:"If you want to use it outside of the Eightshift Boilerplate, you can. It is only a matter of installing the package and importing it into your project's style file."}),"\n",(0,i.jsx)(s.p,{children:"In your terminal, install Eightshift Frontend Libs package:"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-bash",children:"npm install @eightshift/frontend-libs\n"})}),"\n",(0,i.jsx)(s.p,{children:"and add this import in your project:"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-scss",children:"@import '@eightshift/frontend-libs/styles/index.scss';\n"})})]})}function h(e={}){const{wrapper:s}={...(0,n.M)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},4552:(e,s,t)=>{t.d(s,{I:()=>l,M:()=>r});var i=t(11504);const n={},o=i.createContext(n);function r(e){const s=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),i.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5024c8a9.fcee0973.js b/assets/js/5024c8a9.fcee0973.js deleted file mode 100644 index 3e1b42c2f..000000000 --- a/assets/js/5024c8a9.fcee0973.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[57780],{7507:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>l,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>a,toc:()=>c});var i=t(85893),n=t(11151);const o={id:"helpers-scss",title:"Scss",sidebar_label:"Scss"},r=void 0,a={id:"legacy/v5/basics/helpers-scss",title:"Scss",description:"docs-source",source:"@site/docs/legacy/v5/basics/helpers-scss.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/helpers-scss",permalink:"/docs/legacy/v5/basics/helpers-scss",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"helpers-scss",title:"Scss",sidebar_label:"Scss"},sidebar:"docs",previous:{title:"JavaScript",permalink:"/docs/legacy/v5/basics/helpers-javascript"},next:{title:"PHP",permalink:"/docs/legacy/v5/basics/helpers-php"}},l={},c=[{value:"Default usage",id:"default-usage",level:2},{value:"Usage outside of Eightshift Boilerplate",id:"usage-outside-of-eightshift-boilerplate",level:2}];function d(e){const s={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",strong:"strong",...(0,n.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/",children:(0,i.jsx)(s.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsx)(s.p,{children:"For years, we have collected a list of useful SASS mixins, placeholders, and functions you can use in a project. You don't need to have all of this in your project. Check out our documentation and see what we have in store for you."}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsxs)(s.strong,{children:["Visit ",(0,i.jsx)(s.a,{href:"/sass",children:"SassDocs"})," for more details."]})}),"\n",(0,i.jsx)(s.h2,{id:"default-usage",children:"Default usage"}),"\n",(0,i.jsx)(s.p,{children:"Eightshift Frontend Libs styles library is already implemented in your WordPress project, so you don't need to worry about implementation."}),"\n",(0,i.jsxs)(s.p,{children:["All our sass mixing, functions and helpers are located in ",(0,i.jsx)(s.code,{children:"node_modules/@eighshift/frontent-libs/styles/scss/eightshift-frontend-libs.scss"})," file."]}),"\n",(0,i.jsxs)(s.p,{children:["We imported that library into this file: ",(0,i.jsx)(s.code,{children:"/assets/styles/parts/_shared.scss"}),"."]}),"\n",(0,i.jsx)(s.h2,{id:"usage-outside-of-eightshift-boilerplate",children:"Usage outside of Eightshift Boilerplate"}),"\n",(0,i.jsx)(s.p,{children:"If you want to use it outside of the Eightshift Boilerplate, you can. It is only a matter of installing the package and importing it into your project's style file."}),"\n",(0,i.jsx)(s.p,{children:"In your terminal, install Eightshift Frontend Libs package:"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-bash",children:"npm install @eightshift/frontend-libs\n"})}),"\n",(0,i.jsx)(s.p,{children:"and add this import in your project:"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-scss",children:"@import '@eightshift/frontend-libs/styles/index.scss';\n"})})]})}function h(e={}){const{wrapper:s}={...(0,n.a)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},11151:(e,s,t)=>{t.d(s,{Z:()=>a,a:()=>r});var i=t(67294);const n={},o=i.createContext(n);function r(e){const s=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),i.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5025c75d.9113ec7c.js b/assets/js/5025c75d.9113ec7c.js new file mode 100644 index 000000000..038d77d50 --- /dev/null +++ b/assets/js/5025c75d.9113ec7c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[64928],{85876:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>c,contentTitle:()=>o,default:()=>p,frontMatter:()=>l,metadata:()=>a,toc:()=>d});var i=t(17624),n=t(4552),r=t(13536);const l={id:"utils",title:"Utils"},o=void 0,a={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.",source:"@site/forms/javascript/state/utils.mdx",sourceDirName:"javascript/state",slug:"/javascript/state/utils",permalink:"/forms/javascript/state/utils",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"utils",title:"Utils"},sidebar:"forms",previous:{title:"Form",permalink:"/forms/javascript/state/form"},next:{title:"Conditional tags",permalink:"/forms/javascript/state/conditional-tags"}},c={},d=[{value:"Example",id:"example",level:3}];function h(e){const s={code:"code",h3:"h3",p:"p",pre:"pre",...(0,n.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(s.p,{children:["The ",(0,i.jsx)(s.code,{children:"utils"})," object contains helper methods for miscellaneous functionalities such as showing/hiding loaders and setting/unsetting errors."]}),"\n",(0,i.jsx)(r.g,{name:"Utils",filter:"utils",url:"utilities"}),"\n",(0,i.jsx)(s.h3,{id:"example",children:"Example"}),"\n",(0,i.jsx)(s.p,{children:"This example will reset all errors to its original state."}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-js",children:"window?.esForms?.utils?.resetErrors('<formId>');\n"})}),"\n",(0,i.jsx)(s.p,{children:"This example will show a loader element."}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-js",children:"window?.esForms?.utils?.showLoader('<formId>');\n"})})]})}function p(e={}){const{wrapper:s}={...(0,n.M)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}},13536:(e,s,t)=>{t.d(s,{g:()=>l});t(11504);var i=t(1608),n=t(96616),r=t(17624);function l(e){const{name:s,filter:t,url:l}=e,o=`https://github.com/infinum/eightshift-forms/blob/develop/src/Blocks/components/form/assets/${l}.js`;return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("h3",{children:"Usage"}),(0,r.jsxs)("p",{children:["To access ",s," object and all its customization options use your browsers console and type:"]}),(0,r.jsx)(i.c,{language:"js",children:(0,n.c)(`\n\t\t\t\twindow?.esForms?.${t}\n\t\t\t`)}),l&&(0,r.jsxs)("p",{children:["You can find all methods and their documentation on this ",(0,r.jsx)("a",{href:o,target:"_blank",rel:"noopener noreferrer",children:"link"}),"."]})]})}},96616:(e,s,t)=>{function i(e){const s=e.split(/\n/g);for(;0===s[0]?.replace(/\s/g,"").length;)s.shift();for(;0===s[s.length-1]?.replace(/\s/g,"").length;)s.pop();const t=e.split(/\n/g).filter((e=>e.replace(/\s/g,"").length>0)).map((e=>e.match(/^\s*/)?.[0]?.length??0)),i=Math.min(...t);return s.map((e=>e.slice(i))).join("\n")}t.d(s,{c:()=>i})}}]); \ No newline at end of file diff --git a/assets/js/5025c75d.f5456093.js b/assets/js/5025c75d.f5456093.js deleted file mode 100644 index e7cdc0881..000000000 --- a/assets/js/5025c75d.f5456093.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[17343],{49474:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>c,contentTitle:()=>a,default:()=>u,frontMatter:()=>l,metadata:()=>o,toc:()=>d});var n=t(85893),i=t(11151),r=t(22130);const l={id:"utils",title:"Utils"},a=void 0,o={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.",source:"@site/forms/javascript/state/utils.mdx",sourceDirName:"javascript/state",slug:"/javascript/state/utils",permalink:"/forms/javascript/state/utils",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"utils",title:"Utils"},sidebar:"forms",previous:{title:"Form",permalink:"/forms/javascript/state/form"},next:{title:"Conditional tags",permalink:"/forms/javascript/state/conditional-tags"}},c={},d=[{value:"Example",id:"example",level:3}];function h(e){const s={code:"code",h3:"h3",p:"p",pre:"pre",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(s.p,{children:["The ",(0,n.jsx)(s.code,{children:"utils"})," object contains helper methods for miscellaneous functionalities such as showing/hiding loaders and setting/unsetting errors."]}),"\n",(0,n.jsx)(r.D,{name:"Utils",filter:"utils",url:"utilities"}),"\n",(0,n.jsx)(s.h3,{id:"example",children:"Example"}),"\n",(0,n.jsx)(s.p,{children:"This example will reset all errors to its original state."}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-js",children:"window?.esForms?.utils?.resetErrors('<formId>');\n"})}),"\n",(0,n.jsx)(s.p,{children:"This example will show a loader element."}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-js",children:"window?.esForms?.utils?.showLoader('<formId>');\n"})})]})}function u(e={}){const{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(h,{...e})}):h(e)}},22130:(e,s,t)=>{t.d(s,{D:()=>l});t(67294);var n=t(9286),i=t(61684),r=t(85893);function l(e){const{name:s,filter:t,url:l}=e,a="https://github.com/infinum/eightshift-forms/blob/develop/src/Blocks/components/form/assets/"+l+".js";return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("h3",{children:"Usage"}),(0,r.jsxs)("p",{children:["To access ",s," object and all its customization options use your browsers console and type:"]}),(0,r.jsx)(n.Z,{language:"js",children:(0,i.p)("\n\t\t\t\twindow?.esForms?."+t+"\n\t\t\t")}),l&&(0,r.jsxs)("p",{children:["You can find all methods and their documentation on this ",(0,r.jsx)("a",{href:a,target:"_blank",rel:"noopener noreferrer",children:"link"}),"."]})]})}},61684:(e,s,t)=>{function n(e){const s=e.split(/\n/g);for(;0===(null==(t=s[0])?void 0:t.replace(/\s/g,"").length);){var t;s.shift()}for(;0===(null==(n=s[s.length-1])?void 0:n.replace(/\s/g,"").length);){var n;s.pop()}const i=e.split(/\n/g).filter((e=>e.replace(/\s/g,"").length>0)).map((e=>{var s,t;return null!=(s=null==(t=e.match(/^\s*/))||null==(t=t[0])?void 0:t.length)?s:0})),r=Math.min(...i);return s.map((e=>e.slice(r))).join("\n")}t.d(s,{p:()=>n})}}]); \ No newline at end of file diff --git a/assets/js/50c94cd7.1098728d.js b/assets/js/50c94cd7.1098728d.js new file mode 100644 index 000000000..eb12d8040 --- /dev/null +++ b/assets/js/50c94cd7.1098728d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[19276],{6504:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>u,frontMatter:()=>o,metadata:()=>r,toc:()=>d});var n=i(17624),s=i(4552);const o={id:"debug",title:"Debugging"},a=void 0,r={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.",source:"@site/forms/features/debug.md",sourceDirName:"features",slug:"/features/debug",permalink:"/forms/features/debug",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"debug",title:"Debugging"},sidebar:"forms",previous:{title:"Cache",permalink:"/forms/features/cache"},next:{title:"Fallback e-mails",permalink:"/forms/features/fallback-emails"}},l={},d=[{value:"Bypass validation",id:"bypass-validation",level:2},{value:"Bypass captcha",id:"bypass-captcha",level:2},{value:"Don\u2019t clear form after submission",id:"dont-clear-form-after-submission",level:2},{value:"Developer mode",id:"developer-mode",level:2},{value:"Stop form syncing",id:"stop-form-syncing",level:2},{value:"Skip internal cache",id:"skip-internal-cache",level:2},{value:"Output Query Monitor log",id:"output-query-monitor-log",level:2},{value:"Enable disabled fields admin overrides",id:"enable-disabled-fields-admin-overrides",level:2},{value:"Debug Encrypt",id:"debug-encrypt",level:2}];function c(e){const t={code:"code",h2:"h2",img:"img",p:"p",strong:"strong",...(0,s.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:"The debugging screen provides configuration options and overrides default functionalities for developers, but caution should be used as these options can break form functionality."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Debug screen",src:i(16456).c+"",width:"601",height:"893"})}),"\n",(0,n.jsx)(t.h2,{id:"bypass-validation",children:"Bypass validation"}),"\n",(0,n.jsx)(t.p,{children:"When a form is submitted, an internal validator is triggered to validate the form. Once all internal validations are successfully passed, the form data is sent to the integration. With this toggle, you have the option to bypass internal validation for all forms and directly send the data to the integration."}),"\n",(0,n.jsx)(t.h2,{id:"bypass-captcha",children:"Bypass captcha"}),"\n",(0,n.jsx)(t.p,{children:"This toggle allows sending the form without CAPTCHA validation while enabling the feature. It is helpful for testing or running automated tests."}),"\n",(0,n.jsx)(t.h2,{id:"dont-clear-form-after-submission",children:"Don\u2019t clear form after submission"}),"\n",(0,n.jsx)(t.p,{children:"After the form is successfully submitted, all fields will be reset to their original state. This toggle will prevent that from happening, allowing multiple submissions with the same data."}),"\n",(0,n.jsx)(t.h2,{id:"developer-mode",children:"Developer mode"}),"\n",(0,n.jsx)(t.p,{children:"Enabling the developer mode will provide various small yet helpful features to simplify the debugging process. List of all features is available on the plugin settings page."}),"\n",(0,n.jsx)(t.h2,{id:"stop-form-syncing",children:"Stop form syncing"}),"\n",(0,n.jsx)(t.p,{children:"When editing integration-based forms, a synchronization happens every time the form editor is opened. This ensures that the form is always up-to-date with the external integrations. If you prefer syncing forms manually, you can use enable this option to prevent automatic synchronization."}),"\n",(0,n.jsx)(t.h2,{id:"skip-internal-cache",children:"Skip internal cache"}),"\n",(0,n.jsxs)(t.p,{children:["This option disables storage of integration data in a temporary internal storage (cache), which optimizes load time and prevents too many API calls. Turning on this option will bypass the cache and directly call APIs, which may cause a lot of API calls in short time, which can lead to a temporary suspension on some platforms. ",(0,n.jsx)(t.strong,{children:"Use with caution."})]}),"\n",(0,n.jsx)(t.h2,{id:"output-query-monitor-log",children:"Output Query Monitor log"}),"\n",(0,n.jsx)(t.p,{children:"If you encounter issues with PHP functions, you can debug them using the Query Monitor plugin (3rd-party). This plugin allows you to log API data without the user being able to see it. Make sure Query Monitor is installed and enabled before enabling this option."}),"\n",(0,n.jsx)(t.h2,{id:"enable-disabled-fields-admin-overrides",children:"Enable disabled fields admin overrides"}),"\n",(0,n.jsxs)(t.p,{children:["Administrators usually cannot modify global constants stored in ",(0,n.jsx)(t.code,{children:"wp-config.php"}),". However, enabling this toggle will bypass this restriction, allowing easier debugging."]}),"\n",(0,n.jsx)(t.h2,{id:"debug-encrypt",children:"Debug Encrypt"}),"\n",(0,n.jsx)(t.p,{children:"We have implemented a custom encryption/decryption debug tool for sensitive data. This toggle will allow you to see the encrypted data in the browser console. This is useful for debugging and testing purposes when using variations on the success redirect pages."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Debug encrypt screen",src:i(39400).c+"",width:"647",height:"856"})})]})}function u(e={}){const{wrapper:t}={...(0,s.M)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},39400:(e,t,i)=>{i.d(t,{c:()=>n});const n=i.p+"assets/images/debug-encrypt-d2d87ca25492d9409fef92facb192ed8.webp"},16456:(e,t,i)=>{i.d(t,{c:()=>n});const n=i.p+"assets/images/debug-1a0b738ebfb0940aff4838aac7bd8a0a.webp"},4552:(e,t,i)=>{i.d(t,{I:()=>r,M:()=>a});var n=i(11504);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/50c94cd7.2f6a82bc.js b/assets/js/50c94cd7.2f6a82bc.js deleted file mode 100644 index 2047a7000..000000000 --- a/assets/js/50c94cd7.2f6a82bc.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[69867],{96667:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>u,frontMatter:()=>a,metadata:()=>r,toc:()=>d});var n=i(85893),s=i(11151);const a={id:"debug",title:"Debugging"},o=void 0,r={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.",source:"@site/forms/features/debug.md",sourceDirName:"features",slug:"/features/debug",permalink:"/forms/features/debug",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"debug",title:"Debugging"},sidebar:"forms",previous:{title:"Cache",permalink:"/forms/features/cache"},next:{title:"Fallback e-mails",permalink:"/forms/features/fallback-emails"}},l={},d=[{value:"Bypass validation",id:"bypass-validation",level:2},{value:"Bypass captcha",id:"bypass-captcha",level:2},{value:"Don\u2019t clear form after submission",id:"dont-clear-form-after-submission",level:2},{value:"Developer mode",id:"developer-mode",level:2},{value:"Stop form syncing",id:"stop-form-syncing",level:2},{value:"Skip internal cache",id:"skip-internal-cache",level:2},{value:"Output Query Monitor log",id:"output-query-monitor-log",level:2},{value:"Enable disabled fields admin overrides",id:"enable-disabled-fields-admin-overrides",level:2},{value:"Debug Encrypt",id:"debug-encrypt",level:2}];function c(e){const t={code:"code",h2:"h2",img:"img",p:"p",strong:"strong",...(0,s.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:"The debugging screen provides configuration options and overrides default functionalities for developers, but caution should be used as these options can break form functionality."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Debug screen",src:i(15774).Z+"",width:"601",height:"893"})}),"\n",(0,n.jsx)(t.h2,{id:"bypass-validation",children:"Bypass validation"}),"\n",(0,n.jsx)(t.p,{children:"When a form is submitted, an internal validator is triggered to validate the form. Once all internal validations are successfully passed, the form data is sent to the integration. With this toggle, you have the option to bypass internal validation for all forms and directly send the data to the integration."}),"\n",(0,n.jsx)(t.h2,{id:"bypass-captcha",children:"Bypass captcha"}),"\n",(0,n.jsx)(t.p,{children:"This toggle allows sending the form without CAPTCHA validation while enabling the feature. It is helpful for testing or running automated tests."}),"\n",(0,n.jsx)(t.h2,{id:"dont-clear-form-after-submission",children:"Don\u2019t clear form after submission"}),"\n",(0,n.jsx)(t.p,{children:"After the form is successfully submitted, all fields will be reset to their original state. This toggle will prevent that from happening, allowing multiple submissions with the same data."}),"\n",(0,n.jsx)(t.h2,{id:"developer-mode",children:"Developer mode"}),"\n",(0,n.jsx)(t.p,{children:"Enabling the developer mode will provide various small yet helpful features to simplify the debugging process. List of all features is available on the plugin settings page."}),"\n",(0,n.jsx)(t.h2,{id:"stop-form-syncing",children:"Stop form syncing"}),"\n",(0,n.jsx)(t.p,{children:"When editing integration-based forms, a synchronization happens every time the form editor is opened. This ensures that the form is always up-to-date with the external integrations. If you prefer syncing forms manually, you can use enable this option to prevent automatic synchronization."}),"\n",(0,n.jsx)(t.h2,{id:"skip-internal-cache",children:"Skip internal cache"}),"\n",(0,n.jsxs)(t.p,{children:["This option disables storage of integration data in a temporary internal storage (cache), which optimizes load time and prevents too many API calls. Turning on this option will bypass the cache and directly call APIs, which may cause a lot of API calls in short time, which can lead to a temporary suspension on some platforms. ",(0,n.jsx)(t.strong,{children:"Use with caution."})]}),"\n",(0,n.jsx)(t.h2,{id:"output-query-monitor-log",children:"Output Query Monitor log"}),"\n",(0,n.jsx)(t.p,{children:"If you encounter issues with PHP functions, you can debug them using the Query Monitor plugin (3rd-party). This plugin allows you to log API data without the user being able to see it. Make sure Query Monitor is installed and enabled before enabling this option."}),"\n",(0,n.jsx)(t.h2,{id:"enable-disabled-fields-admin-overrides",children:"Enable disabled fields admin overrides"}),"\n",(0,n.jsxs)(t.p,{children:["Administrators usually cannot modify global constants stored in ",(0,n.jsx)(t.code,{children:"wp-config.php"}),". However, enabling this toggle will bypass this restriction, allowing easier debugging."]}),"\n",(0,n.jsx)(t.h2,{id:"debug-encrypt",children:"Debug Encrypt"}),"\n",(0,n.jsx)(t.p,{children:"We have implemented a custom encryption/decryption debug tool for sensitive data. This toggle will allow you to see the encrypted data in the browser console. This is useful for debugging and testing purposes when using variations on the success redirect pages."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Debug encrypt screen",src:i(7741).Z+"",width:"647",height:"856"})})]})}function u(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},7741:(e,t,i)=>{i.d(t,{Z:()=>n});const n=i.p+"assets/images/debug-encrypt-d2d87ca25492d9409fef92facb192ed8.webp"},15774:(e,t,i)=>{i.d(t,{Z:()=>n});const n=i.p+"assets/images/debug-1a0b738ebfb0940aff4838aac7bd8a0a.webp"},11151:(e,t,i)=>{i.d(t,{Z:()=>r,a:()=>o});var n=i(67294);const s={},a=n.createContext(s);function o(e){const t=n.useContext(a);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:o(e.components),n.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/51772.1f02e670.js b/assets/js/51772.1f02e670.js deleted file mode 100644 index 2f11bf02d..000000000 --- a/assets/js/51772.1f02e670.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[51772],{5658:(e,t,i)=>{i.d(t,{Z:()=>r});i(67294);var n=i(36905),s=i(95999),o=i(92503),h=i(85893);function r(e){let{className:t}=e;return(0,h.jsx)("main",{className:(0,n.Z)("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.Z,{as:"h1",className:"hero__title",children:(0,h.jsx)(s.Z,{id:"theme.NotFound.title",description:"The title of the 404 page",children:"Page Not Found"})}),(0,h.jsx)("p",{children:(0,h.jsx)(s.Z,{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.Z,{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."})})]})})})}},51772:(e,t,i)=>{i.r(t),i.d(t,{default:()=>a});i(67294);var n=i(95999),s=i(10833),o=i(22189),h=i(5658),r=i(85893);function a(){const e=(0,n.I)({id:"theme.NotFound.title",message:"Page Not Found"});return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.d,{title:e}),(0,r.jsx)(o.Z,{children:(0,r.jsx)(h.Z,{})})]})}}}]); \ No newline at end of file diff --git a/assets/js/518baa20.92543ff6.js b/assets/js/518baa20.92543ff6.js deleted file mode 100644 index abebbecad..000000000 --- a/assets/js/518baa20.92543ff6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[68330],{62772:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>r,contentTitle:()=>o,default:()=>h,frontMatter:()=>i,metadata:()=>c,toc:()=>l});var t=s(85893),a=s(11151);const i={id:"autowiring",title:"Autowiring"},o=void 0,c={id:"legacy/v7/basics/autowiring",title:"Autowiring",description:"docs-source",source:"@site/docs/legacy/v7/basics/autowiring.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/autowiring",permalink:"/docs/legacy/v7/basics/autowiring",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"autowiring",title:"Autowiring"},sidebar:"docs",previous:{title:"Extending Classes",permalink:"/docs/legacy/v7/basics/extending-classes"},next:{title:"Example Class",permalink:"/docs/legacy/v7/basics/example-class"}},r={},l=[{value:"How it works",id:"how-it-works",level:2},{value:"What if I have to mock or manually call a class?",id:"what-if-i-have-to-mock-or-manually-call-a-class",level:3},{value:"What if my class doesn't have anything inside a constructor method? (no dependencies)",id:"what-if-my-class-doesnt-have-anything-inside-a-constructor-method-no-dependencies",level:3},{value:"What if my class has a <strong>primitive parameter</strong> (<code>string</code>, <code>int</code>, etc.) inside a constructor method?",id:"what-if-my-class-has-a-primitive-parameter-string-int-etc-inside-a-constructor-method",level:3},{value:"What if my class does have another class as a parameter inside a constructor method?",id:"what-if-my-class-does-have-another-class-as-a-parameter-inside-a-constructor-method",level:3},{value:"What if my class has an interface parameter inside the constructor method?",id:"what-if-my-class-has-an-interface-parameter-inside-the-constructor-method",level:3},{value:"Example",id:"example",level:4},{value:"To sum it up",id:"to-sum-it-up",level:2}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",em:"em",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/tree/5.0.0",children:(0,t.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsx)(n.p,{children:"What is autowiring?"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.em,{children:"Autowiring is an exotic word that represents something very simple: the container's ability to create and inject dependencies automatically."})}),"\n",(0,t.jsxs)(n.p,{children:["The quote is taken from the ",(0,t.jsx)(n.a,{href:"https://php-di.org/doc/autowiring.html",children:"PHP-DI"})," library that we use."]}),"\n",(0,t.jsx)(n.p,{children:"In a nutshell, we use a dependency injection (DI) container to load all your service classes. Alongside the DI container, we also use the PSR-4 coding standard for autoloading. That allows us to predict what your file/folder structure will look like in correlation to the namespace. With that in mind, you don't have to worry about requiring your classes. Our autoloading takes care of everything. All you need to do is follow a few coding standards so that you can automatically inject other classes as dependencies."}),"\n",(0,t.jsxs)(n.p,{children:["Autowiring runs inside the ",(0,t.jsx)(n.code,{children:"Main"})," service class as an extended class of our ",(0,t.jsx)(n.code,{children:"AbstractMain"})," class. You can install the main class using this command:"]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"wp boilerplate create_main"})}),"\n",(0,t.jsx)(n.h2,{id:"how-it-works",children:"How it works"}),"\n",(0,t.jsx)(n.p,{children:"Here is a quick overview of how this works:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"You create a new class manually or using the WP-CLI command."}),"\n",(0,t.jsx)(n.li,{children:"PSR-4 should detect your new class if you followed the PSR-4 naming standard."}),"\n",(0,t.jsxs)(n.li,{children:["The new class is added to the ",(0,t.jsx)(n.code,{children:"classmap"})," array inside the ",(0,t.jsx)(n.code,{children:"vendor"})," folder."]}),"\n",(0,t.jsx)(n.li,{children:"Autowiring class reads the new class, checks if your class has any class dependencies, and injects them."}),"\n",(0,t.jsx)(n.li,{children:"And it just works."}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"To put it shortly"}),": just add a new class (that is PSR-4 compliant) with or without some class dependencies and everything will be automatically resolved/injected."]}),"\n",(0,t.jsx)(n.h3,{id:"what-if-i-have-to-mock-or-manually-call-a-class",children:"What if I have to mock or manually call a class?"}),"\n",(0,t.jsx)(n.p,{children:"Before we start with the automatization and autowiring, let's see how service classes are called manually."}),"\n",(0,t.jsx)(n.p,{children:"We can think of these scenarios where you want to load a class manually:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"You have to write tests and manually provide mocked classes."}),"\n",(0,t.jsx)(n.li,{children:"Your classes have a custom structure and autowiring can't resolve it."}),"\n",(0,t.jsxs)(n.li,{children:["You want to provide a primitive parameter (",(0,t.jsx)(n.code,{children:"string"}),", ",(0,t.jsx)(n.code,{children:"int"}),", etc.) inside a constructor method."]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["In those cases, you can manually provide your DI container with the implementation using the ",(0,t.jsx)(n.code,{children:"getServiceClasses"})," method inside the ",(0,t.jsx)(n.code,{children:"src>Main>Main.php"})," class."]}),"\n",(0,t.jsx)(n.p,{children:"Provide the method and add your custom implementation like this:"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"src>Main>Main.php"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:" /**\n * Get the list of services to register.\n *\n * A list of classes which contain hooks.\n *\n * @return array<class-string, string|string[]> Array of fully qualified service class names.\n */\n protected function getServiceClasses(): array\n {\n return [\n\n // If you are using a class as a DI.\n ProjectNamespace\\Rest\\Routes\\DocumentsRoute::class => [\n ProjectNamespace\\Query\\Documents\\QueryDocuments::class\n ],\n\n // If you just want to include a simple class with no DI.\n ProjectNamespace\\CoolFolder\\CoolClass::class,\n ];\n }\n"})}),"\n",(0,t.jsx)(n.h3,{id:"what-if-my-class-doesnt-have-anything-inside-a-constructor-method-no-dependencies",children:"What if my class doesn't have anything inside a constructor method? (no dependencies)"}),"\n",(0,t.jsxs)(n.p,{children:["If your class ",(0,t.jsx)(n.strong,{children:"doesn't have"})," anything defined in the constructor method, autoloading will require your class.\nThis just means that you are not using dependency injection (since you have nothing to inject)."]}),"\n",(0,t.jsxs)(n.h3,{id:"what-if-my-class-has-a-primitive-parameter-string-int-etc-inside-a-constructor-method",children:["What if my class has a ",(0,t.jsx)(n.strong,{children:"primitive parameter"})," (",(0,t.jsx)(n.code,{children:"string"}),", ",(0,t.jsx)(n.code,{children:"int"}),", etc.) inside a constructor method?"]}),"\n",(0,t.jsxs)(n.p,{children:["If your class ",(0,t.jsx)(n.strong,{children:"has"})," a primitive parameter defined in the constructor method, autowiring will ",(0,t.jsx)(n.strong,{children:"not know"})," how to handle this so you must manually provide the primitive parameters at the point of usage. You can find more information about that ",(0,t.jsx)(n.a,{href:"#what-if-i-have-to-mock-or-manually-call-a-class",children:"here"}),"."]}),"\n",(0,t.jsx)(n.h3,{id:"what-if-my-class-does-have-another-class-as-a-parameter-inside-a-constructor-method",children:"What if my class does have another class as a parameter inside a constructor method?"}),"\n",(0,t.jsx)(n.p,{children:"This works out of the box, but you shouldn't really do this."}),"\n",(0,t.jsx)(n.p,{children:"A good coding practice is that your class should never depend on the concrete class implementation because you have tightly coupled your class to another class. This makes it hard to test and your code becomes hard to modify. Imagine that you have put a concrete implementation as a dependency, only to get feedback from the client that you need to change that implementation for a completely different one. Making the changes means that you'll need to track all the places in your codebase where you have used some functionality from this class, and change it completely."}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsx)(n.p,{children:"You should always code against interfaces and not implementation."}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["We can't stress this enough because as your project grows, so will your headaches. Also, when you start testing your code, that is when your hair will begin to fall off. We recommend reading Uncle Bob Martin's ",(0,t.jsx)(n.a,{href:"http://cleancoder.com/products",children:"Clean Code"}),". That will save you a lot of sleepless nights, and you'll learn tons of tips and tricks for writing clean code."]}),"\n",(0,t.jsx)(n.h3,{id:"what-if-my-class-has-an-interface-parameter-inside-the-constructor-method",children:"What if my class has an interface parameter inside the constructor method?"}),"\n",(0,t.jsx)(n.p,{children:"This will automatically be resolved (same as with class parameters) if you follow one simple rule:"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsx)(n.p,{children:"Variable name in your constructor method needs to match the class name (which implements the interface) in camelCase."}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["For example, let's say you have a ",(0,t.jsx)(n.code,{children:"SteeringWheel"})," class:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"class SteeringWheel implements CarPartInterface\n"})}),"\n",(0,t.jsx)(n.p,{children:"and you want to have this as a dependency in Car class. Your Car class has the following constructor:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"public function __construct(CarPartInterface $steeringWheel)\n{\n $this->steeringWheel = $steeringWheel;\n}\n"})}),"\n",(0,t.jsxs)(n.p,{children:["Since the injected variable name ",(0,t.jsx)(n.code,{children:"$steeringWheel"})," is the camelCase version of the class name ",(0,t.jsx)(n.code,{children:"SteeringWheel"})," which implements ",(0,t.jsx)(n.code,{children:"CarPartInterface"}),", autowiring will know to inject the correct class and everything will work fine."]}),"\n",(0,t.jsx)(n.p,{children:"If you understand everything from the upper example, you can just skip the next one. However, we recommend checking out the following example for a more detailed overview."}),"\n",(0,t.jsx)(n.h4,{id:"example",children:"Example"}),"\n",(0,t.jsxs)(n.p,{children:["Let's set a scene. You have created a ",(0,t.jsx)(n.code,{children:"DocumentsRoute"})," class and it needs some functionality from the ",(0,t.jsx)(n.code,{children:"QueryDocuments"})," class."]}),"\n",(0,t.jsx)(n.p,{children:"Steps you need to follow are:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["You should create an interface with all the methods you need in the ",(0,t.jsx)(n.code,{children:"DocumentsRoute"})," class. Let's call it ",(0,t.jsx)(n.code,{children:"QueryDocumentsInterface"}),". We'll put it inside the ",(0,t.jsx)(n.code,{children:"src/Query/Documents"})," folder."]}),"\n",(0,t.jsxs)(n.li,{children:["Your ",(0,t.jsx)(n.code,{children:"QueryDocuments"})," class should implement your new ",(0,t.jsx)(n.code,{children:"QueryDocumentsInterface"})," class and have all the methods from the interface implemented."]}),"\n",(0,t.jsxs)(n.li,{children:["In your ",(0,t.jsx)(n.code,{children:"DocumentsRoute"})," class, provide the ",(0,t.jsx)(n.code,{children:"QueryDocumentsInterface"})," interface as a parameter inside the ",(0,t.jsx)(n.code,{children:"__construct"})," method with the name of the argument ",(0,t.jsx)(n.code,{children:"$queryDocuments"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:["You can now use the methods defined in the ",(0,t.jsx)(n.code,{children:"QueryDocuments"})," class."]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Let us provide you with some code examples:"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Structure:"})}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["src","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Query","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Documents","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"QueryDocumentsInterface.class"}),"\n",(0,t.jsx)(n.li,{children:"QueryDocuments.class"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["Rest","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Routes","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"DocumentsRoute.class"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"src/Query/Documents/QueryDocumentsInterface.php"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"/**\n * The file that holds a QueryDocuments interface.\n *\n * @package ProjectNamespace\\Query\\Documents;\n */\n\ndeclare(strict_types=1);\n\nnamespace ProjectNamespace\\Query\\Documents;\n\n/**\n * Interface for querying documents\n */\ninterface QueryDocumentsInterface\n{\n\n /**\n * Get structured documents data for documents section.\n *\n * @param int $id Id for data.\n *\n * @return string\n */\n public function getDocumentsData(int $id = 0): string;\n}\n"})}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"src/Query/Documents/QueryDocuments.php"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"/**\n * The file for querying all the documents\n *\n * @package ProjectNamespace\\Query\\Documents\n */\n\ndeclare(strict_types=1);\n\nnamespace ProjectNamespace\\Query\\Documents;\n\nuse ProjectNamespaceVendor\\EightshiftLibs\\Services\\ServiceInterface;\n\n/**\n * QueryDocuments class.\n */\nclass QueryDocuments implements ServiceInterface, QueryDocumentsInterface\n{\n /**\n * Get structured documents data for documents section.\n *\n * @param int $id Id for data.\n *\n * @return string\n */\n public function getDocumentsData(int $id = 0): string\n {\n // here goes the implementation of getDocumentsData method.\n }\n}\n"})}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"src/Rest/Routes/DocumentsRoute.php"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"/**\n * The class register route for DocumentsRoute endpoint\n *\n * @package ProjectNamespace\\Rest\\Routes\n */\n\ndeclare(strict_types=1);\n\nnamespace ProjectNamespace\\Rest\\Routes;\n\nuse ProjectNamespace\\Query\\Documents\\QueryDocumentsInterface;\nuse ProjectNamespaceVendor\\EightshiftLibs\\Rest\\Routes\\AbstractRoute;\nuse ProjectNamespaceVendor\\EightshiftLibs\\Rest\\CallableRouteInterface;\n\n/**\n * Class DocumentsRoute\n */\nclass DocumentsRoute extends AbstractRoute implements CallableRouteInterface\n{\n\n /**\n * Instance variable of documents data.\n *\n * @var QueryDocumentsInterface\n */\n protected $queryDocuments;\n\n /**\n * Create a new instance.\n *\n * @param QueryDocumentsInterface $queryDocuments Inject documentsData which holds data for documents.\n */\n public function __construct(QueryDocumentsInterface $queryDocuments)\n {\n $this->queryDocuments = $queryDocuments;\n }\n\n // here goes the rest of the DocumentsRoute implementation.\n}\n"})}),"\n",(0,t.jsx)(n.p,{children:"And that's it. Autowiring knows how to resolve the dependencies, you didn't tightly couple the code, and you're all set."}),"\n",(0,t.jsx)(n.h2,{id:"to-sum-it-up",children:"To sum it up"}),"\n",(0,t.jsx)(n.p,{children:"This chapter may be a bit long, but we wanted to make sure you understand our motivation behind it. We often work on large projects with lots of third-party integrations, and having a good project structure and architecture makes the projects more durable. It makes them less prone to bugs (if you write tests) and makes implementing new features and removing obsolete ones a lot easier."}),"\n",(0,t.jsx)(n.p,{children:"Do you need to use it? Not really. Especially on really simple projects. Should you? We think you'll benefit from it in the long run."})]})}function h(e={}){const{wrapper:n}={...(0,a.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},11151:(e,n,s)=>{s.d(n,{Z:()=>c,a:()=>o});var t=s(67294);const a={},i=t.createContext(a);function o(e){const n=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:o(e.components),t.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/518baa20.db8efa4f.js b/assets/js/518baa20.db8efa4f.js new file mode 100644 index 000000000..54e4268a2 --- /dev/null +++ b/assets/js/518baa20.db8efa4f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[842],{65572:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>r,contentTitle:()=>o,default:()=>h,frontMatter:()=>i,metadata:()=>c,toc:()=>l});var t=s(17624),a=s(4552);const i={id:"autowiring",title:"Autowiring"},o=void 0,c={id:"legacy/v7/basics/autowiring",title:"Autowiring",description:"docs-source",source:"@site/docs/legacy/v7/basics/autowiring.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/autowiring",permalink:"/docs/legacy/v7/basics/autowiring",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"autowiring",title:"Autowiring"},sidebar:"docs",previous:{title:"Extending Classes",permalink:"/docs/legacy/v7/basics/extending-classes"},next:{title:"Example Class",permalink:"/docs/legacy/v7/basics/example-class"}},r={},l=[{value:"How it works",id:"how-it-works",level:2},{value:"What if I have to mock or manually call a class?",id:"what-if-i-have-to-mock-or-manually-call-a-class",level:3},{value:"What if my class doesn't have anything inside a constructor method? (no dependencies)",id:"what-if-my-class-doesnt-have-anything-inside-a-constructor-method-no-dependencies",level:3},{value:"What if my class has a <strong>primitive parameter</strong> (<code>string</code>, <code>int</code>, etc.) inside a constructor method?",id:"what-if-my-class-has-a-primitive-parameter-string-int-etc-inside-a-constructor-method",level:3},{value:"What if my class does have another class as a parameter inside a constructor method?",id:"what-if-my-class-does-have-another-class-as-a-parameter-inside-a-constructor-method",level:3},{value:"What if my class has an interface parameter inside the constructor method?",id:"what-if-my-class-has-an-interface-parameter-inside-the-constructor-method",level:3},{value:"Example",id:"example",level:4},{value:"To sum it up",id:"to-sum-it-up",level:2}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",em:"em",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/tree/5.0.0",children:(0,t.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsx)(n.p,{children:"What is autowiring?"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.em,{children:"Autowiring is an exotic word that represents something very simple: the container's ability to create and inject dependencies automatically."})}),"\n",(0,t.jsxs)(n.p,{children:["The quote is taken from the ",(0,t.jsx)(n.a,{href:"https://php-di.org/doc/autowiring.html",children:"PHP-DI"})," library that we use."]}),"\n",(0,t.jsx)(n.p,{children:"In a nutshell, we use a dependency injection (DI) container to load all your service classes. Alongside the DI container, we also use the PSR-4 coding standard for autoloading. That allows us to predict what your file/folder structure will look like in correlation to the namespace. With that in mind, you don't have to worry about requiring your classes. Our autoloading takes care of everything. All you need to do is follow a few coding standards so that you can automatically inject other classes as dependencies."}),"\n",(0,t.jsxs)(n.p,{children:["Autowiring runs inside the ",(0,t.jsx)(n.code,{children:"Main"})," service class as an extended class of our ",(0,t.jsx)(n.code,{children:"AbstractMain"})," class. You can install the main class using this command:"]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"wp boilerplate create_main"})}),"\n",(0,t.jsx)(n.h2,{id:"how-it-works",children:"How it works"}),"\n",(0,t.jsx)(n.p,{children:"Here is a quick overview of how this works:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"You create a new class manually or using the WP-CLI command."}),"\n",(0,t.jsx)(n.li,{children:"PSR-4 should detect your new class if you followed the PSR-4 naming standard."}),"\n",(0,t.jsxs)(n.li,{children:["The new class is added to the ",(0,t.jsx)(n.code,{children:"classmap"})," array inside the ",(0,t.jsx)(n.code,{children:"vendor"})," folder."]}),"\n",(0,t.jsx)(n.li,{children:"Autowiring class reads the new class, checks if your class has any class dependencies, and injects them."}),"\n",(0,t.jsx)(n.li,{children:"And it just works."}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"To put it shortly"}),": just add a new class (that is PSR-4 compliant) with or without some class dependencies and everything will be automatically resolved/injected."]}),"\n",(0,t.jsx)(n.h3,{id:"what-if-i-have-to-mock-or-manually-call-a-class",children:"What if I have to mock or manually call a class?"}),"\n",(0,t.jsx)(n.p,{children:"Before we start with the automatization and autowiring, let's see how service classes are called manually."}),"\n",(0,t.jsx)(n.p,{children:"We can think of these scenarios where you want to load a class manually:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"You have to write tests and manually provide mocked classes."}),"\n",(0,t.jsx)(n.li,{children:"Your classes have a custom structure and autowiring can't resolve it."}),"\n",(0,t.jsxs)(n.li,{children:["You want to provide a primitive parameter (",(0,t.jsx)(n.code,{children:"string"}),", ",(0,t.jsx)(n.code,{children:"int"}),", etc.) inside a constructor method."]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["In those cases, you can manually provide your DI container with the implementation using the ",(0,t.jsx)(n.code,{children:"getServiceClasses"})," method inside the ",(0,t.jsx)(n.code,{children:"src>Main>Main.php"})," class."]}),"\n",(0,t.jsx)(n.p,{children:"Provide the method and add your custom implementation like this:"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"src>Main>Main.php"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:" /**\n * Get the list of services to register.\n *\n * A list of classes which contain hooks.\n *\n * @return array<class-string, string|string[]> Array of fully qualified service class names.\n */\n protected function getServiceClasses(): array\n {\n return [\n\n // If you are using a class as a DI.\n ProjectNamespace\\Rest\\Routes\\DocumentsRoute::class => [\n ProjectNamespace\\Query\\Documents\\QueryDocuments::class\n ],\n\n // If you just want to include a simple class with no DI.\n ProjectNamespace\\CoolFolder\\CoolClass::class,\n ];\n }\n"})}),"\n",(0,t.jsx)(n.h3,{id:"what-if-my-class-doesnt-have-anything-inside-a-constructor-method-no-dependencies",children:"What if my class doesn't have anything inside a constructor method? (no dependencies)"}),"\n",(0,t.jsxs)(n.p,{children:["If your class ",(0,t.jsx)(n.strong,{children:"doesn't have"})," anything defined in the constructor method, autoloading will require your class.\nThis just means that you are not using dependency injection (since you have nothing to inject)."]}),"\n",(0,t.jsxs)(n.h3,{id:"what-if-my-class-has-a-primitive-parameter-string-int-etc-inside-a-constructor-method",children:["What if my class has a ",(0,t.jsx)(n.strong,{children:"primitive parameter"})," (",(0,t.jsx)(n.code,{children:"string"}),", ",(0,t.jsx)(n.code,{children:"int"}),", etc.) inside a constructor method?"]}),"\n",(0,t.jsxs)(n.p,{children:["If your class ",(0,t.jsx)(n.strong,{children:"has"})," a primitive parameter defined in the constructor method, autowiring will ",(0,t.jsx)(n.strong,{children:"not know"})," how to handle this so you must manually provide the primitive parameters at the point of usage. You can find more information about that ",(0,t.jsx)(n.a,{href:"#what-if-i-have-to-mock-or-manually-call-a-class",children:"here"}),"."]}),"\n",(0,t.jsx)(n.h3,{id:"what-if-my-class-does-have-another-class-as-a-parameter-inside-a-constructor-method",children:"What if my class does have another class as a parameter inside a constructor method?"}),"\n",(0,t.jsx)(n.p,{children:"This works out of the box, but you shouldn't really do this."}),"\n",(0,t.jsx)(n.p,{children:"A good coding practice is that your class should never depend on the concrete class implementation because you have tightly coupled your class to another class. This makes it hard to test and your code becomes hard to modify. Imagine that you have put a concrete implementation as a dependency, only to get feedback from the client that you need to change that implementation for a completely different one. Making the changes means that you'll need to track all the places in your codebase where you have used some functionality from this class, and change it completely."}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsx)(n.p,{children:"You should always code against interfaces and not implementation."}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["We can't stress this enough because as your project grows, so will your headaches. Also, when you start testing your code, that is when your hair will begin to fall off. We recommend reading Uncle Bob Martin's ",(0,t.jsx)(n.a,{href:"http://cleancoder.com/products",children:"Clean Code"}),". That will save you a lot of sleepless nights, and you'll learn tons of tips and tricks for writing clean code."]}),"\n",(0,t.jsx)(n.h3,{id:"what-if-my-class-has-an-interface-parameter-inside-the-constructor-method",children:"What if my class has an interface parameter inside the constructor method?"}),"\n",(0,t.jsx)(n.p,{children:"This will automatically be resolved (same as with class parameters) if you follow one simple rule:"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsx)(n.p,{children:"Variable name in your constructor method needs to match the class name (which implements the interface) in camelCase."}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["For example, let's say you have a ",(0,t.jsx)(n.code,{children:"SteeringWheel"})," class:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"class SteeringWheel implements CarPartInterface\n"})}),"\n",(0,t.jsx)(n.p,{children:"and you want to have this as a dependency in Car class. Your Car class has the following constructor:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"public function __construct(CarPartInterface $steeringWheel)\n{\n $this->steeringWheel = $steeringWheel;\n}\n"})}),"\n",(0,t.jsxs)(n.p,{children:["Since the injected variable name ",(0,t.jsx)(n.code,{children:"$steeringWheel"})," is the camelCase version of the class name ",(0,t.jsx)(n.code,{children:"SteeringWheel"})," which implements ",(0,t.jsx)(n.code,{children:"CarPartInterface"}),", autowiring will know to inject the correct class and everything will work fine."]}),"\n",(0,t.jsx)(n.p,{children:"If you understand everything from the upper example, you can just skip the next one. However, we recommend checking out the following example for a more detailed overview."}),"\n",(0,t.jsx)(n.h4,{id:"example",children:"Example"}),"\n",(0,t.jsxs)(n.p,{children:["Let's set a scene. You have created a ",(0,t.jsx)(n.code,{children:"DocumentsRoute"})," class and it needs some functionality from the ",(0,t.jsx)(n.code,{children:"QueryDocuments"})," class."]}),"\n",(0,t.jsx)(n.p,{children:"Steps you need to follow are:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["You should create an interface with all the methods you need in the ",(0,t.jsx)(n.code,{children:"DocumentsRoute"})," class. Let's call it ",(0,t.jsx)(n.code,{children:"QueryDocumentsInterface"}),". We'll put it inside the ",(0,t.jsx)(n.code,{children:"src/Query/Documents"})," folder."]}),"\n",(0,t.jsxs)(n.li,{children:["Your ",(0,t.jsx)(n.code,{children:"QueryDocuments"})," class should implement your new ",(0,t.jsx)(n.code,{children:"QueryDocumentsInterface"})," class and have all the methods from the interface implemented."]}),"\n",(0,t.jsxs)(n.li,{children:["In your ",(0,t.jsx)(n.code,{children:"DocumentsRoute"})," class, provide the ",(0,t.jsx)(n.code,{children:"QueryDocumentsInterface"})," interface as a parameter inside the ",(0,t.jsx)(n.code,{children:"__construct"})," method with the name of the argument ",(0,t.jsx)(n.code,{children:"$queryDocuments"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:["You can now use the methods defined in the ",(0,t.jsx)(n.code,{children:"QueryDocuments"})," class."]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Let us provide you with some code examples:"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Structure:"})}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["src","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Query","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Documents","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"QueryDocumentsInterface.class"}),"\n",(0,t.jsx)(n.li,{children:"QueryDocuments.class"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["Rest","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Routes","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"DocumentsRoute.class"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"src/Query/Documents/QueryDocumentsInterface.php"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"/**\n * The file that holds a QueryDocuments interface.\n *\n * @package ProjectNamespace\\Query\\Documents;\n */\n\ndeclare(strict_types=1);\n\nnamespace ProjectNamespace\\Query\\Documents;\n\n/**\n * Interface for querying documents\n */\ninterface QueryDocumentsInterface\n{\n\n /**\n * Get structured documents data for documents section.\n *\n * @param int $id Id for data.\n *\n * @return string\n */\n public function getDocumentsData(int $id = 0): string;\n}\n"})}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"src/Query/Documents/QueryDocuments.php"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"/**\n * The file for querying all the documents\n *\n * @package ProjectNamespace\\Query\\Documents\n */\n\ndeclare(strict_types=1);\n\nnamespace ProjectNamespace\\Query\\Documents;\n\nuse ProjectNamespaceVendor\\EightshiftLibs\\Services\\ServiceInterface;\n\n/**\n * QueryDocuments class.\n */\nclass QueryDocuments implements ServiceInterface, QueryDocumentsInterface\n{\n /**\n * Get structured documents data for documents section.\n *\n * @param int $id Id for data.\n *\n * @return string\n */\n public function getDocumentsData(int $id = 0): string\n {\n // here goes the implementation of getDocumentsData method.\n }\n}\n"})}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"src/Rest/Routes/DocumentsRoute.php"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"/**\n * The class register route for DocumentsRoute endpoint\n *\n * @package ProjectNamespace\\Rest\\Routes\n */\n\ndeclare(strict_types=1);\n\nnamespace ProjectNamespace\\Rest\\Routes;\n\nuse ProjectNamespace\\Query\\Documents\\QueryDocumentsInterface;\nuse ProjectNamespaceVendor\\EightshiftLibs\\Rest\\Routes\\AbstractRoute;\nuse ProjectNamespaceVendor\\EightshiftLibs\\Rest\\CallableRouteInterface;\n\n/**\n * Class DocumentsRoute\n */\nclass DocumentsRoute extends AbstractRoute implements CallableRouteInterface\n{\n\n /**\n * Instance variable of documents data.\n *\n * @var QueryDocumentsInterface\n */\n protected $queryDocuments;\n\n /**\n * Create a new instance.\n *\n * @param QueryDocumentsInterface $queryDocuments Inject documentsData which holds data for documents.\n */\n public function __construct(QueryDocumentsInterface $queryDocuments)\n {\n $this->queryDocuments = $queryDocuments;\n }\n\n // here goes the rest of the DocumentsRoute implementation.\n}\n"})}),"\n",(0,t.jsx)(n.p,{children:"And that's it. Autowiring knows how to resolve the dependencies, you didn't tightly couple the code, and you're all set."}),"\n",(0,t.jsx)(n.h2,{id:"to-sum-it-up",children:"To sum it up"}),"\n",(0,t.jsx)(n.p,{children:"This chapter may be a bit long, but we wanted to make sure you understand our motivation behind it. We often work on large projects with lots of third-party integrations, and having a good project structure and architecture makes the projects more durable. It makes them less prone to bugs (if you write tests) and makes implementing new features and removing obsolete ones a lot easier."}),"\n",(0,t.jsx)(n.p,{children:"Do you need to use it? Not really. Especially on really simple projects. Should you? We think you'll benefit from it in the long run."})]})}function h(e={}){const{wrapper:n}={...(0,a.M)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},4552:(e,n,s)=>{s.d(n,{I:()=>c,M:()=>o});var t=s(11504);const a={},i=t.createContext(a);function o(e){const n=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:o(e.components),t.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/51f93b96.3bc87e7f.js b/assets/js/51f93b96.3bc87e7f.js deleted file mode 100644 index 4a1585f08..000000000 --- a/assets/js/51f93b96.3bc87e7f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[22086],{46879:(n,e,t)=>{t.r(e),t.d(e,{assets:()=>i,contentTitle:()=>l,default:()=>u,frontMatter:()=>a,metadata:()=>c,toc:()=>r});var o=t(85893),s=t(11151);const a={id:"columns-taxonomy",title:"Taxonomy"},l=void 0,c={id:"legacy/v4/guides/columns-taxonomy",title:"Taxonomy",description:"docs-source",source:"@site/docs/legacy/v4/guides/columns-taxonomy.md",sourceDirName:"legacy/v4/guides",slug:"/legacy/v4/guides/columns-taxonomy",permalink:"/docs/legacy/v4/guides/columns-taxonomy",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"columns-taxonomy",title:"Taxonomy"},sidebar:"docs",previous:{title:"Post Type",permalink:"/docs/legacy/v4/guides/columns-post-type"},next:{title:"User",permalink:"/docs/legacy/v4/guides/columns-user"}},i={},r=[{value:"Example:",id:"example",level:2}];function m(n){const e={a:"a",code:"code",h2:"h2",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",...(0,s.a)(),...n.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.p,{children:(0,o.jsx)(e.a,{href:"https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/columns/class-base-taxonomy-columns.php",children:(0,o.jsx)(e.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsxs)(e.p,{children:["Taxonomy Column class is located in ",(0,o.jsx)(e.code,{children:"Eightshift Libs"}),". To extend it use ",(0,o.jsx)(e.code,{children:"Eightshift_Libs\\Columns\\Base_Taxonomy_Columns"})," class."]}),"\n",(0,o.jsx)(e.h2,{id:"example",children:"Example:"}),"\n",(0,o.jsx)(e.p,{children:"To create custom taxonomy column:"}),"\n",(0,o.jsxs)(e.ol,{children:["\n",(0,o.jsxs)(e.li,{children:["make a new class ",(0,o.jsx)(e.code,{children:"src/columns/class-example-taxonomy-column.php"}),"."]}),"\n",(0,o.jsx)(e.li,{children:"implement all the methods provided in the example."}),"\n",(0,o.jsxs)(e.li,{children:["register the class inside the ",(0,o.jsx)(e.code,{children:"class-main.php"})," file."]}),"\n",(0,o.jsx)(e.li,{children:"dump autoload."}),"\n"]}),"\n",(0,o.jsx)(e.pre,{children:(0,o.jsx)(e.code,{className:"language-js",children:"<?php\n/**\n * Example_Taxonomy_Column class file\n *\n * @since 1.1.0\n * @package Eightshift_Boilerplate\\Columns\n */\n\ndeclare( strict_types=1 );\n\nnamespace Eightshift_Boilerplate\\Columns;\n\n/**\n * Class Example_Taxonomy_Column.\n */\nclass Example_Taxonomy_Column extends Base_Taxonomy_Columns {\n\n /**\n * Column name constant name.\n *\n * @var string\n */\n const COLUMN_NAME = 'example';\n\n /**\n * Get the slug of the taxonomy where the additional column should appear.\n *\n * @return array The name of the taxonomy.\n *\n * @since 2.0.5\n */\n protected function get_taxonomy_slug() : array {\n return [ 'category' ];\n }\n\n /**\n * Add additional taxonomy columns to the columns array.\n *\n * @param array $columns The existing column names array with default taxonomy columns (title, author, date etc.).\n *\n * @return array Modified column names array.\n *\n * @since 2.0.5\n */\n public function add_column_name( array $columns ) : array {\n $columns[ static::COLUMN_NAME ] = esc_html__( 'Example', 'eightshift-boilerplate' );\n\n return $columns;\n }\n\n /**\n * Render the taxonomy column content in the custom taxonomy column\n *\n * @param string $string Blank string.\n * @param string $column_name Name of the column.\n * @param int $term_id Term ID.\n *\n * @return string The contetnt to display in the custom column.\n *\n * @since 2.0.5\n */\n public function render_column_content( string $string, string $column_name, int $term_id ) : string {\n if ( $column_name === static::COLUMN_NAME ) {\n echo 'column value';\n }\n }\n}\n"})})]})}function u(n={}){const{wrapper:e}={...(0,s.a)(),...n.components};return e?(0,o.jsx)(e,{...n,children:(0,o.jsx)(m,{...n})}):m(n)}},11151:(n,e,t)=>{t.d(e,{Z:()=>c,a:()=>l});var o=t(67294);const s={},a=o.createContext(s);function l(n){const e=o.useContext(a);return o.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function c(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(s):n.components||s:l(n.components),o.createElement(a.Provider,{value:e},n.children)}}}]); \ No newline at end of file diff --git a/assets/js/51f93b96.b182af07.js b/assets/js/51f93b96.b182af07.js new file mode 100644 index 000000000..e4f568cc5 --- /dev/null +++ b/assets/js/51f93b96.b182af07.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[33472],{1584:(n,e,t)=>{t.r(e),t.d(e,{assets:()=>i,contentTitle:()=>l,default:()=>u,frontMatter:()=>a,metadata:()=>c,toc:()=>r});var o=t(17624),s=t(4552);const a={id:"columns-taxonomy",title:"Taxonomy"},l=void 0,c={id:"legacy/v4/guides/columns-taxonomy",title:"Taxonomy",description:"docs-source",source:"@site/docs/legacy/v4/guides/columns-taxonomy.md",sourceDirName:"legacy/v4/guides",slug:"/legacy/v4/guides/columns-taxonomy",permalink:"/docs/legacy/v4/guides/columns-taxonomy",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"columns-taxonomy",title:"Taxonomy"},sidebar:"docs",previous:{title:"Post Type",permalink:"/docs/legacy/v4/guides/columns-post-type"},next:{title:"User",permalink:"/docs/legacy/v4/guides/columns-user"}},i={},r=[{value:"Example:",id:"example",level:2}];function m(n){const e={a:"a",code:"code",h2:"h2",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",...(0,s.M)(),...n.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.p,{children:(0,o.jsx)(e.a,{href:"https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/columns/class-base-taxonomy-columns.php",children:(0,o.jsx)(e.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsxs)(e.p,{children:["Taxonomy Column class is located in ",(0,o.jsx)(e.code,{children:"Eightshift Libs"}),". To extend it use ",(0,o.jsx)(e.code,{children:"Eightshift_Libs\\Columns\\Base_Taxonomy_Columns"})," class."]}),"\n",(0,o.jsx)(e.h2,{id:"example",children:"Example:"}),"\n",(0,o.jsx)(e.p,{children:"To create custom taxonomy column:"}),"\n",(0,o.jsxs)(e.ol,{children:["\n",(0,o.jsxs)(e.li,{children:["make a new class ",(0,o.jsx)(e.code,{children:"src/columns/class-example-taxonomy-column.php"}),"."]}),"\n",(0,o.jsx)(e.li,{children:"implement all the methods provided in the example."}),"\n",(0,o.jsxs)(e.li,{children:["register the class inside the ",(0,o.jsx)(e.code,{children:"class-main.php"})," file."]}),"\n",(0,o.jsx)(e.li,{children:"dump autoload."}),"\n"]}),"\n",(0,o.jsx)(e.pre,{children:(0,o.jsx)(e.code,{className:"language-js",children:"<?php\n/**\n * Example_Taxonomy_Column class file\n *\n * @since 1.1.0\n * @package Eightshift_Boilerplate\\Columns\n */\n\ndeclare( strict_types=1 );\n\nnamespace Eightshift_Boilerplate\\Columns;\n\n/**\n * Class Example_Taxonomy_Column.\n */\nclass Example_Taxonomy_Column extends Base_Taxonomy_Columns {\n\n /**\n * Column name constant name.\n *\n * @var string\n */\n const COLUMN_NAME = 'example';\n\n /**\n * Get the slug of the taxonomy where the additional column should appear.\n *\n * @return array The name of the taxonomy.\n *\n * @since 2.0.5\n */\n protected function get_taxonomy_slug() : array {\n return [ 'category' ];\n }\n\n /**\n * Add additional taxonomy columns to the columns array.\n *\n * @param array $columns The existing column names array with default taxonomy columns (title, author, date etc.).\n *\n * @return array Modified column names array.\n *\n * @since 2.0.5\n */\n public function add_column_name( array $columns ) : array {\n $columns[ static::COLUMN_NAME ] = esc_html__( 'Example', 'eightshift-boilerplate' );\n\n return $columns;\n }\n\n /**\n * Render the taxonomy column content in the custom taxonomy column\n *\n * @param string $string Blank string.\n * @param string $column_name Name of the column.\n * @param int $term_id Term ID.\n *\n * @return string The contetnt to display in the custom column.\n *\n * @since 2.0.5\n */\n public function render_column_content( string $string, string $column_name, int $term_id ) : string {\n if ( $column_name === static::COLUMN_NAME ) {\n echo 'column value';\n }\n }\n}\n"})})]})}function u(n={}){const{wrapper:e}={...(0,s.M)(),...n.components};return e?(0,o.jsx)(e,{...n,children:(0,o.jsx)(m,{...n})}):m(n)}},4552:(n,e,t)=>{t.d(e,{I:()=>c,M:()=>l});var o=t(11504);const s={},a=o.createContext(s);function l(n){const e=o.useContext(a);return o.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function c(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(s):n.components||s:l(n.components),o.createElement(a.Provider,{value:e},n.children)}}}]); \ No newline at end of file diff --git a/assets/js/5215d6a1.0b6c3f35.js b/assets/js/5215d6a1.0b6c3f35.js new file mode 100644 index 000000000..ad5371427 --- /dev/null +++ b/assets/js/5215d6a1.0b6c3f35.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[66476],{42496:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>c,contentTitle:()=>i,default:()=>u,frontMatter:()=>d,metadata:()=>r,toc:()=>l});var o=t(17624),n=t(4552);const d={id:"blocks",title:"Blocks"},i=void 0,r={id:"addons/premium/computed-fields/blocks",title:"Blocks",description:"Computed fields results block",source:"@site/forms/addons/premium/computed-fields/blocks.md",sourceDirName:"addons/premium/computed-fields",slug:"/addons/premium/computed-fields/blocks",permalink:"/forms/addons/premium/computed-fields/blocks",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks",title:"Blocks"},sidebar:"forms",previous:{title:"Settings",permalink:"/forms/addons/premium/computed-fields/settings"},next:{title:"Data flow",permalink:"/forms/addons/premium/computed-fields/data-flow"}},c={},l=[{value:"Computed fields results block",id:"computed-fields-results-block",level:2}];function a(e){const s={a:"a",admonition:"admonition",code:"code",em:"em",h2:"h2",img:"img",p:"p",...(0,n.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s.h2,{id:"computed-fields-results-block",children:"Computed fields results block"}),"\n",(0,o.jsxs)(s.p,{children:["Once you create your valid program and populate output variables, you should provide a ",(0,o.jsx)(s.a,{href:"/forms/features/success-redirect",children:"thank you"})," page in the ",(0,o.jsx)(s.code,{children:"General settings"}),"."]}),"\n",(0,o.jsxs)(s.p,{children:["You can add a new ",(0,o.jsx)(s.code,{children:"computed fields results"})," block on the ",(0,o.jsx)(s.em,{children:"Thank you"})," page and provide condition options."]}),"\n",(0,o.jsxs)(s.p,{children:["Under ",(0,o.jsx)(s.code,{children:"variable name"}),", you can provide the name of any variable defined in the ",(0,o.jsx)(s.code,{children:"output variables"}),"."]}),"\n",(0,o.jsxs)(s.p,{children:["Under ",(0,o.jsx)(s.code,{children:"variable value"}),", you can define the value of the selected variable."]}),"\n",(0,o.jsxs)(s.p,{children:["When the results block is used, you can ",(0,o.jsx)(s.code,{children:"show"})," any block or multiple blocks when the ",(0,o.jsx)(s.code,{children:"computed fields program"})," returns a value for the selected variable."]}),"\n",(0,o.jsx)(s.p,{children:(0,o.jsx)(s.img,{alt:"Computed Fields screen",src:t(38512).c+"",width:"972",height:"467"})}),"\n",(0,o.jsx)(s.admonition,{type:"note",children:(0,o.jsxs)(s.p,{children:["Computed fields program result is passed to the thank you page using the ",(0,o.jsx)(s.code,{children:"es-data"})," GET parameter.\nThe passed value is encrypted and can be decrypted using the ",(0,o.jsx)(s.code,{children:"esFormsDecryptor"})," function."]})})]})}function u(e={}){const{wrapper:s}={...(0,n.M)(),...e.components};return s?(0,o.jsx)(s,{...e,children:(0,o.jsx)(a,{...e})}):a(e)}},38512:(e,s,t)=>{t.d(s,{c:()=>o});const o=t.p+"assets/images/addon-computed-fields-results-247c10c923578fff5fca10e10915bda1.webp"},4552:(e,s,t)=>{t.d(s,{I:()=>r,M:()=>i});var o=t(11504);const n={},d=o.createContext(n);function i(e){const s=o.useContext(d);return o.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),o.createElement(d.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5215d6a1.20634e24.js b/assets/js/5215d6a1.20634e24.js deleted file mode 100644 index 5538a0555..000000000 --- a/assets/js/5215d6a1.20634e24.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[76401],{97429:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>c,contentTitle:()=>i,default:()=>u,frontMatter:()=>d,metadata:()=>r,toc:()=>l});var o=t(85893),n=t(11151);const d={id:"blocks",title:"Blocks"},i=void 0,r={id:"addons/premium/computed-fields/blocks",title:"Blocks",description:"Computed fields results block",source:"@site/forms/addons/premium/computed-fields/blocks.md",sourceDirName:"addons/premium/computed-fields",slug:"/addons/premium/computed-fields/blocks",permalink:"/forms/addons/premium/computed-fields/blocks",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks",title:"Blocks"},sidebar:"forms",previous:{title:"Settings",permalink:"/forms/addons/premium/computed-fields/settings"},next:{title:"Data flow",permalink:"/forms/addons/premium/computed-fields/data-flow"}},c={},l=[{value:"Computed fields results block",id:"computed-fields-results-block",level:2}];function a(e){const s={a:"a",admonition:"admonition",code:"code",em:"em",h2:"h2",img:"img",p:"p",...(0,n.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s.h2,{id:"computed-fields-results-block",children:"Computed fields results block"}),"\n",(0,o.jsxs)(s.p,{children:["Once you create your valid program and populate output variables, you should provide a ",(0,o.jsx)(s.a,{href:"/forms/features/success-redirect",children:"thank you"})," page in the ",(0,o.jsx)(s.code,{children:"General settings"}),"."]}),"\n",(0,o.jsxs)(s.p,{children:["You can add a new ",(0,o.jsx)(s.code,{children:"computed fields results"})," block on the ",(0,o.jsx)(s.em,{children:"Thank you"})," page and provide condition options."]}),"\n",(0,o.jsxs)(s.p,{children:["Under ",(0,o.jsx)(s.code,{children:"variable name"}),", you can provide the name of any variable defined in the ",(0,o.jsx)(s.code,{children:"output variables"}),"."]}),"\n",(0,o.jsxs)(s.p,{children:["Under ",(0,o.jsx)(s.code,{children:"variable value"}),", you can define the value of the selected variable."]}),"\n",(0,o.jsxs)(s.p,{children:["When the results block is used, you can ",(0,o.jsx)(s.code,{children:"show"})," any block or multiple blocks when the ",(0,o.jsx)(s.code,{children:"computed fields program"})," returns a value for the selected variable."]}),"\n",(0,o.jsx)(s.p,{children:(0,o.jsx)(s.img,{alt:"Computed Fields screen",src:t(29636).Z+"",width:"972",height:"467"})}),"\n",(0,o.jsx)(s.admonition,{type:"note",children:(0,o.jsxs)(s.p,{children:["Computed fields program result is passed to the thank you page using the ",(0,o.jsx)(s.code,{children:"es-data"})," GET parameter.\nThe passed value is encrypted and can be decrypted using the ",(0,o.jsx)(s.code,{children:"esFormsDecryptor"})," function."]})})]})}function u(e={}){const{wrapper:s}={...(0,n.a)(),...e.components};return s?(0,o.jsx)(s,{...e,children:(0,o.jsx)(a,{...e})}):a(e)}},29636:(e,s,t)=>{t.d(s,{Z:()=>o});const o=t.p+"assets/images/addon-computed-fields-results-247c10c923578fff5fca10e10915bda1.webp"},11151:(e,s,t)=>{t.d(s,{Z:()=>r,a:()=>i});var o=t(67294);const n={},d=o.createContext(n);function i(e){const s=o.useContext(d);return o.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),o.createElement(d.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/52c25d1c.a5a00ca8.js b/assets/js/52c25d1c.a5a00ca8.js deleted file mode 100644 index 9d0372a11..000000000 --- a/assets/js/52c25d1c.a5a00ca8.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[44280],{83355:(t,e,a)=>{a.r(e),a.d(e,{assets:()=>s,contentTitle:()=>l,default:()=>p,frontMatter:()=>i,metadata:()=>r,toc:()=>u});var n=a(85893),o=a(11151);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,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.a)(),...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.a)(),...t.components};return e?(0,n.jsx)(e,{...t,children:(0,n.jsx)(c,{...t})}):c(t)}},11151:(t,e,a)=>{a.d(e,{Z:()=>r,a:()=>l});var n=a(67294);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/52c25d1c.ed0dce00.js b/assets/js/52c25d1c.ed0dce00.js new file mode 100644 index 000000000..f7b57d49d --- /dev/null +++ b/assets/js/52c25d1c.ed0dce00.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[54572],{29890:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>s,contentTitle:()=>l,default:()=>p,frontMatter:()=>i,metadata:()=>r,toc:()=>u});var a=n(17624),o=n(4552);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,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.M)(),...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.M)(),...t.components};return e?(0,a.jsx)(e,{...t,children:(0,a.jsx)(c,{...t})}):c(t)}},4552:(t,e,n)=>{n.d(e,{I:()=>r,M:()=>l});var a=n(11504);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/533d3ffb.8465c723.js b/assets/js/533d3ffb.8465c723.js new file mode 100644 index 000000000..1e534dca3 --- /dev/null +++ b/assets/js/533d3ffb.8465c723.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[3344],{78248:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>d,frontMatter:()=>o,metadata:()=>l,toc:()=>r});var n=s(17624),i=s(4552);const o={id:"manifest",title:"Assets Manifest"},a=void 0,l={id:"legacy/v8/basics/manifest",title:"Assets Manifest",description:"docs-source",source:"@site/docs/legacy/v8/basics/manifest.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/manifest",permalink:"/docs/legacy/v8/basics/manifest",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"manifest",title:"Assets Manifest"},sidebar:"docs",previous:{title:"Example Class",permalink:"/docs/legacy/v8/basics/example-class"},next:{title:"REST Intro",permalink:"/docs/legacy/v8/basics/rest"}},c={},r=[{value:"How to use it",id:"how-to-use-it",level:2},{value:"Why not just fetch the asset the old-fashioned way?",id:"why-not-just-fetch-the-asset-the-old-fashioned-way",level:2}];function h(e){const t={a:"a",admonition:"admonition",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",...(0,i.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(t.admonition,{title:":es-hide-title:",type:"info",children:(0,n.jsxs)(t.p,{children:["This ",(0,n.jsx)(t.code,{children:"manifest.json"})," file is generated by Webpack, and is different from the rest of Eightshift manifests described elsewhere in the documentation."]})}),"\n",(0,n.jsxs)(t.p,{children:["In the build process, Webpack creates all the static files from your assets folder and a ",(0,n.jsx)(t.code,{children:"manifest.json"})," file inside the public folder. The manifest file contains a list of key/value pairs that we use to set the location of the assets dynamically."]}),"\n",(0,n.jsxs)(t.p,{children:["This class provides the location of the ",(0,n.jsx)(t.code,{children:"manifest.json"})," file and helpers to return the full path for a specific asset."]}),"\n",(0,n.jsx)(t.h2,{id:"how-to-use-it",children:"How to use it"}),"\n",(0,n.jsx)(t.p,{children:"First, install the manifest class using this command:"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"wp boilerplate create manifest"})}),"\n",(0,n.jsx)(t.p,{children:"You will see a custom filter you can use to fetch an item from the public folder in your class. This is the custom filter:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"/**\n * Manifest item filter name constant.\n *\n * @var string\n */\npublic const MANIFEST_ITEM = 'manifest-item';\n\n/**\n * Register all hooks. Changed filter name to manifest.\n *\n * @return void\n */\npublic function register(): void\n{\n\t\\add_filter(static::MANIFEST_ITEM, [ $this, 'getAssetsManifestItem' ]);\n}\n"})}),"\n",(0,n.jsx)(t.p,{children:"To use this filter to fetch asset URLs, add the following code and provide the correct name of your asset:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"use CoolProject\\Manifest\\Manifest;\n\n$logo = \\apply_filters(Manifest::MANIFEST_ITEM, 'logo.svg');\n"})}),"\n",(0,n.jsxs)(t.p,{children:["And that's it. This filter will check the public folder for the ",(0,n.jsx)(t.code,{children:"manifest.json"})," file, parse it, and return the value of the provided key."]}),"\n",(0,n.jsxs)(t.p,{children:["If there is no ",(0,n.jsx)(t.code,{children:"manifest.json"})," file or you provided the wrong asset name, there will be a descriptive message for you."]}),"\n",(0,n.jsx)(t.admonition,{title:":es-hide-title:",type:"caution",children:(0,n.jsxs)(t.p,{children:["If you are using multiple boilerplates in one project don't forget to change the filter name defined in the ",(0,n.jsx)(t.code,{children:"MANIFEST_ITEM"})," constant."]})}),"\n",(0,n.jsx)(t.h2,{id:"why-not-just-fetch-the-asset-the-old-fashioned-way",children:"Why not just fetch the asset the old-fashioned way?"}),"\n",(0,n.jsx)(t.p,{children:"By the old-fashioned way, we mean doing something like this:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"$logo = get_template_directory_uri() . 'public/logo.svg';\n"})}),"\n",(0,n.jsx)(t.p,{children:"You can definitely do this. However, using the manifest approach, if you want to change the public folder location or public folder name for some reason, you can change it in one place and you're done."}),"\n",(0,n.jsx)(t.p,{children:"If you are using the old-fashioned way, you would need to search and replace the whole project and implement the change. There is always a chance you will miss something and somehow break the project."})]})}function d(e={}){const{wrapper:t}={...(0,i.M)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(h,{...e})}):h(e)}},4552:(e,t,s)=>{s.d(t,{I:()=>l,M:()=>a});var n=s(11504);const i={},o=n.createContext(i);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(i):e.components||i:a(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/533d3ffb.b841e645.js b/assets/js/533d3ffb.b841e645.js deleted file mode 100644 index 50c0bef83..000000000 --- a/assets/js/533d3ffb.b841e645.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[78171],{14454:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>d,frontMatter:()=>o,metadata:()=>l,toc:()=>r});var n=s(85893),i=s(11151);const o={id:"manifest",title:"Assets Manifest"},a=void 0,l={id:"legacy/v8/basics/manifest",title:"Assets Manifest",description:"docs-source",source:"@site/docs/legacy/v8/basics/manifest.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/manifest",permalink:"/docs/legacy/v8/basics/manifest",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"manifest",title:"Assets Manifest"},sidebar:"docs",previous:{title:"Example Class",permalink:"/docs/legacy/v8/basics/example-class"},next:{title:"REST Intro",permalink:"/docs/legacy/v8/basics/rest"}},c={},r=[{value:"How to use it",id:"how-to-use-it",level:2},{value:"Why not just fetch the asset the old-fashioned way?",id:"why-not-just-fetch-the-asset-the-old-fashioned-way",level:2}];function h(e){const t={a:"a",admonition:"admonition",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(t.admonition,{title:":es-hide-title:",type:"info",children:(0,n.jsxs)(t.p,{children:["This ",(0,n.jsx)(t.code,{children:"manifest.json"})," file is generated by Webpack, and is different from the rest of Eightshift manifests described elsewhere in the documentation."]})}),"\n",(0,n.jsxs)(t.p,{children:["In the build process, Webpack creates all the static files from your assets folder and a ",(0,n.jsx)(t.code,{children:"manifest.json"})," file inside the public folder. The manifest file contains a list of key/value pairs that we use to set the location of the assets dynamically."]}),"\n",(0,n.jsxs)(t.p,{children:["This class provides the location of the ",(0,n.jsx)(t.code,{children:"manifest.json"})," file and helpers to return the full path for a specific asset."]}),"\n",(0,n.jsx)(t.h2,{id:"how-to-use-it",children:"How to use it"}),"\n",(0,n.jsx)(t.p,{children:"First, install the manifest class using this command:"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"wp boilerplate create manifest"})}),"\n",(0,n.jsx)(t.p,{children:"You will see a custom filter you can use to fetch an item from the public folder in your class. This is the custom filter:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"/**\n * Manifest item filter name constant.\n *\n * @var string\n */\npublic const MANIFEST_ITEM = 'manifest-item';\n\n/**\n * Register all hooks. Changed filter name to manifest.\n *\n * @return void\n */\npublic function register(): void\n{\n\t\\add_filter(static::MANIFEST_ITEM, [ $this, 'getAssetsManifestItem' ]);\n}\n"})}),"\n",(0,n.jsx)(t.p,{children:"To use this filter to fetch asset URLs, add the following code and provide the correct name of your asset:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"use CoolProject\\Manifest\\Manifest;\n\n$logo = \\apply_filters(Manifest::MANIFEST_ITEM, 'logo.svg');\n"})}),"\n",(0,n.jsxs)(t.p,{children:["And that's it. This filter will check the public folder for the ",(0,n.jsx)(t.code,{children:"manifest.json"})," file, parse it, and return the value of the provided key."]}),"\n",(0,n.jsxs)(t.p,{children:["If there is no ",(0,n.jsx)(t.code,{children:"manifest.json"})," file or you provided the wrong asset name, there will be a descriptive message for you."]}),"\n",(0,n.jsx)(t.admonition,{title:":es-hide-title:",type:"caution",children:(0,n.jsxs)(t.p,{children:["If you are using multiple boilerplates in one project don't forget to change the filter name defined in the ",(0,n.jsx)(t.code,{children:"MANIFEST_ITEM"})," constant."]})}),"\n",(0,n.jsx)(t.h2,{id:"why-not-just-fetch-the-asset-the-old-fashioned-way",children:"Why not just fetch the asset the old-fashioned way?"}),"\n",(0,n.jsx)(t.p,{children:"By the old-fashioned way, we mean doing something like this:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"$logo = get_template_directory_uri() . 'public/logo.svg';\n"})}),"\n",(0,n.jsx)(t.p,{children:"You can definitely do this. However, using the manifest approach, if you want to change the public folder location or public folder name for some reason, you can change it in one place and you're done."}),"\n",(0,n.jsx)(t.p,{children:"If you are using the old-fashioned way, you would need to search and replace the whole project and implement the change. There is always a chance you will miss something and somehow break the project."})]})}function d(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(h,{...e})}):h(e)}},11151:(e,t,s)=>{s.d(t,{Z:()=>l,a:()=>a});var n=s(67294);const i={},o=n.createContext(i);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(i):e.components||i:a(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/536309bb.58aaf7bf.js b/assets/js/536309bb.58aaf7bf.js deleted file mode 100644 index b0ffe9020..000000000 --- a/assets/js/536309bb.58aaf7bf.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[87888],{60620:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>f,contentTitle:()=>s,default:()=>m,frontMatter:()=>r,metadata:()=>a,toc:()=>l});var o=i(85893),n=i(11151);const r={id:"force-mimetype-from-fs",title:"Force mimetype from FS"},s=void 0,a={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.",source:"@site/forms/php/filters/validation/force-mimetype-from-fs.md",sourceDirName:"php/filters/validation",slug:"/php/filters/validation/force-mimetype-from-fs",permalink:"/forms/php/filters/validation/force-mimetype-from-fs",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"force-mimetype-from-fs",title:"Force mimetype from FS"},sidebar:"forms",previous:{title:"Manual map",permalink:"/forms/php/filters/enrichment/manual-map"},next:{title:"Settings data",permalink:"/forms/php/filters/admin/settings-data"}},f={},l=[];function c(e){const t={code:"code",p:"p",pre:"pre",...(0,n.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:"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."}),"\n",(0,o.jsxs)(t.p,{children:["If ",(0,o.jsx)(t.code,{children:"true"})," is returned from this filter, the Forms file upload will fail if the MIME type cannot be matched from the filesystem."]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-php",children:"\\add_filter('es_forms_validation_force_mimetype_from_fs', [$this, 'forceMimetypeFs']);\n\n/**\n * Force MIME type validation based on the filesystem values.\n *\n * @return bool\n */\npublic function forceMimetypeFs(): bool\n{\n\treturn true;\n}\n"})})]})}function m(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(c,{...e})}):c(e)}},11151:(e,t,i)=>{i.d(t,{Z:()=>a,a:()=>s});var o=i(67294);const n={},r=o.createContext(n);function s(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:s(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/536309bb.f097b64a.js b/assets/js/536309bb.f097b64a.js new file mode 100644 index 000000000..07623849e --- /dev/null +++ b/assets/js/536309bb.f097b64a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[92404],{52008:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>f,contentTitle:()=>s,default:()=>m,frontMatter:()=>r,metadata:()=>a,toc:()=>l});var o=i(17624),n=i(4552);const r={id:"force-mimetype-from-fs",title:"Force mimetype from FS"},s=void 0,a={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.",source:"@site/forms/php/filters/validation/force-mimetype-from-fs.md",sourceDirName:"php/filters/validation",slug:"/php/filters/validation/force-mimetype-from-fs",permalink:"/forms/php/filters/validation/force-mimetype-from-fs",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"force-mimetype-from-fs",title:"Force mimetype from FS"},sidebar:"forms",previous:{title:"Manual map",permalink:"/forms/php/filters/enrichment/manual-map"},next:{title:"Settings data",permalink:"/forms/php/filters/admin/settings-data"}},f={},l=[];function c(e){const t={code:"code",p:"p",pre:"pre",...(0,n.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:"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."}),"\n",(0,o.jsxs)(t.p,{children:["If ",(0,o.jsx)(t.code,{children:"true"})," is returned from this filter, the Forms file upload will fail if the MIME type cannot be matched from the filesystem."]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-php",children:"\\add_filter('es_forms_validation_force_mimetype_from_fs', [$this, 'forceMimetypeFs']);\n\n/**\n * Force MIME type validation based on the filesystem values.\n *\n * @return bool\n */\npublic function forceMimetypeFs(): bool\n{\n\treturn true;\n}\n"})})]})}function m(e={}){const{wrapper:t}={...(0,n.M)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(c,{...e})}):c(e)}},4552:(e,t,i)=>{i.d(t,{I:()=>a,M:()=>s});var o=i(11504);const n={},r=o.createContext(n);function s(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:s(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/53a1ff94.b8512e71.js b/assets/js/53a1ff94.b8512e71.js deleted file mode 100644 index 054a3fd32..000000000 --- a/assets/js/53a1ff94.b8512e71.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[34111],{65670:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>l,contentTitle:()=>n,default:()=>d,frontMatter:()=>a,metadata:()=>r,toc:()=>c});var o=s(85893),i=s(11151);const a={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},n=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.935,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.a)(),...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.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(g,{...e})}):g(e)}},11151:(e,t,s)=>{s.d(t,{Z:()=>r,a:()=>n});var o=s(67294);const i={},a=o.createContext(i);function n(e){const t=o.useContext(a);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:n(e.components),o.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/53a1ff94.c723ce36.js b/assets/js/53a1ff94.c723ce36.js new file mode 100644 index 000000000..3e1aa3648 --- /dev/null +++ b/assets/js/53a1ff94.c723ce36.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[540],{74748:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>d,frontMatter:()=>n,metadata:()=>r,toc:()=>c});var o=s(17624),i=s(4552);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.935,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.M)(),...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.M)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(g,{...e})}):g(e)}},4552:(e,t,s)=>{s.d(t,{I:()=>r,M:()=>a});var o=s(11504);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/541d824c.127f329b.js b/assets/js/541d824c.127f329b.js deleted file mode 100644 index 99388ea09..000000000 --- a/assets/js/541d824c.127f329b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[88005],{41257:(s,e,t)=>{t.r(e),t.d(e,{assets:()=>a,contentTitle:()=>i,default:()=>h,frontMatter:()=>r,metadata:()=>c,toc:()=>l});var o=t(85893),n=t(11151);const r={id:"blocks-transforms",title:"Transforms"},i=void 0,c={id:"basics/blocks-transforms",title:"Transforms",description:"docs-source",source:"@site/docs/basics/blocks-transforms.md",sourceDirName:"basics",slug:"/basics/blocks-transforms",permalink:"/docs/basics/blocks-transforms",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-transforms",title:"Transforms"},sidebar:"docs",previous:{title:"Patterns",permalink:"/docs/basics/blocks-patterns"},next:{title:"Hooks",permalink:"/docs/basics/blocks-hooks"}},a={},l=[];function d(s){const e={a:"a",img:"img",p:"p",...(0,n.a)(),...s.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.p,{children:(0,o.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,o.jsx)(e.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(e.p,{children:"Block Transforms is an API that allows a block to be transformed from and to other blocks, as well as from other entities."}),"\n",(0,o.jsxs)(e.p,{children:["You can check the ",(0,o.jsx)(e.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-transforms/",children:"WordPress documentation"})," on this subject."]}),"\n",(0,o.jsx)(e.p,{children:"We didn't change anything regarding the original documentation; we simply provided you with the structured file where you can write all your transformations."}),"\n",(0,o.jsxs)(e.p,{children:["Please follow this ",(0,o.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/custom/heading/heading-transforms.js",children:"example"})," for more inspiration."]})]})}function h(s={}){const{wrapper:e}={...(0,n.a)(),...s.components};return e?(0,o.jsx)(e,{...s,children:(0,o.jsx)(d,{...s})}):d(s)}},11151:(s,e,t)=>{t.d(e,{Z:()=>c,a:()=>i});var o=t(67294);const n={},r=o.createContext(n);function i(s){const e=o.useContext(r);return o.useMemo((function(){return"function"==typeof s?s(e):{...e,...s}}),[e,s])}function c(s){let e;return e=s.disableParentContext?"function"==typeof s.components?s.components(n):s.components||n:i(s.components),o.createElement(r.Provider,{value:e},s.children)}}}]); \ No newline at end of file diff --git a/assets/js/541d824c.d08234ab.js b/assets/js/541d824c.d08234ab.js new file mode 100644 index 000000000..f0a4475a0 --- /dev/null +++ b/assets/js/541d824c.d08234ab.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[24648],{27e3:(s,e,t)=>{t.r(e),t.d(e,{assets:()=>a,contentTitle:()=>i,default:()=>h,frontMatter:()=>r,metadata:()=>c,toc:()=>l});var o=t(17624),n=t(4552);const r={id:"blocks-transforms",title:"Transforms"},i=void 0,c={id:"basics/blocks-transforms",title:"Transforms",description:"docs-source",source:"@site/docs/basics/blocks-transforms.md",sourceDirName:"basics",slug:"/basics/blocks-transforms",permalink:"/docs/basics/blocks-transforms",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-transforms",title:"Transforms"},sidebar:"docs",previous:{title:"Patterns",permalink:"/docs/basics/blocks-patterns"},next:{title:"Hooks",permalink:"/docs/basics/blocks-hooks"}},a={},l=[];function d(s){const e={a:"a",img:"img",p:"p",...(0,n.M)(),...s.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.p,{children:(0,o.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,o.jsx)(e.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(e.p,{children:"Block Transforms is an API that allows a block to be transformed from and to other blocks, as well as from other entities."}),"\n",(0,o.jsxs)(e.p,{children:["You can check the ",(0,o.jsx)(e.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-transforms/",children:"WordPress documentation"})," on this subject."]}),"\n",(0,o.jsx)(e.p,{children:"We didn't change anything regarding the original documentation; we simply provided you with the structured file where you can write all your transformations."}),"\n",(0,o.jsxs)(e.p,{children:["Please follow this ",(0,o.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/custom/heading/heading-transforms.js",children:"example"})," for more inspiration."]})]})}function h(s={}){const{wrapper:e}={...(0,n.M)(),...s.components};return e?(0,o.jsx)(e,{...s,children:(0,o.jsx)(d,{...s})}):d(s)}},4552:(s,e,t)=>{t.d(e,{I:()=>c,M:()=>i});var o=t(11504);const n={},r=o.createContext(n);function i(s){const e=o.useContext(r);return o.useMemo((function(){return"function"==typeof s?s(e):{...e,...s}}),[e,s])}function c(s){let e;return e=s.disableParentContext?"function"==typeof s.components?s.components(n):s.components||n:i(s.components),o.createElement(r.Provider,{value:e},s.children)}}}]); \ No newline at end of file diff --git a/assets/js/54305ae0.322d6a13.js b/assets/js/54305ae0.322d6a13.js deleted file mode 100644 index b6d8f764d..000000000 --- a/assets/js/54305ae0.322d6a13.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[76288],{42216: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/54305ae0.d5bc8caa.js b/assets/js/54305ae0.d5bc8caa.js new file mode 100644 index 000000000..9509c2235 --- /dev/null +++ b/assets/js/54305ae0.d5bc8caa.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[38056],{69632: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/54552.ed20c03a.js b/assets/js/54552.ed20c03a.js new file mode 100644 index 000000000..bfd233122 --- /dev/null +++ b/assets/js/54552.ed20c03a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[54552],{96592:(e,t,i)=>{i.d(t,{c:()=>h});i(11504);var n=i(65456),s=i(84357),o=i(56448),c=i(17624);function h(e){let{className:t}=e;return(0,c.jsx)("main",{className:(0,n.c)("container margin-vert--xl",t),children:(0,c.jsx)("div",{className:"row",children:(0,c.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,c.jsx)(o.c,{as:"h1",className:"hero__title",children:(0,c.jsx)(s.c,{id:"theme.NotFound.title",description:"The title of the 404 page",children:"Page Not Found"})}),(0,c.jsx)("p",{children:(0,c.jsx)(s.c,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page",children:"We could not find what you were looking for."})}),(0,c.jsx)("p",{children:(0,c.jsx)(s.c,{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."})})]})})})}},54552:(e,t,i)=>{i.r(t),i.d(t,{default:()=>r});i(11504);var n=i(84357),s=i(85008),o=i(520),c=i(96592),h=i(17624);function r(){const e=(0,n.G)({id:"theme.NotFound.title",message:"Page Not Found"});return(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(s.U7,{title:e}),(0,h.jsx)(o.c,{children:(0,h.jsx)(c.c,{})})]})}}}]); \ No newline at end of file diff --git a/assets/js/548faf69.755f4ea9.js b/assets/js/548faf69.755f4ea9.js new file mode 100644 index 000000000..b2f8d5841 --- /dev/null +++ b/assets/js/548faf69.755f4ea9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[52852],{49564:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>n,metadata:()=>r,toc:()=>l});var a=t(17624),o=t(4552);const n={id:"example-class",title:"Example Class"},i=void 0,r={id:"basics/example-class",title:"Example Class",description:"docs-source",source:"@site/docs/basics/example-class.md",sourceDirName:"basics",slug:"/basics/example-class",permalink:"/docs/basics/example-class",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"example-class",title:"Example Class"},sidebar:"docs",previous:{title:"Autowiring",permalink:"/docs/basics/autowiring"},next:{title:"Assets Manifest",permalink:"/docs/basics/manifest"}},c={},l=[];function d(e){const s={a:"a",code:"code",img:"img",p:"p",...(0,o.M)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(s.p,{children:(0,a.jsx)(s.a,{href:"https://github.com/infinum/eightshift-libs",children:(0,a.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,a.jsxs)(s.p,{children:["As you've already seen in the ",(0,a.jsx)(s.a,{href:"wp-cli",children:"WP-CLI"})," chapter, we have many finished features prepared for you. However, we want to make things even easier for you, so we created an example service class for you to use."]}),"\n",(0,a.jsx)(s.p,{children:"If you want to add a new service class to your project but don't want to write all the code manually, just use the WP-CLI command:"}),"\n",(0,a.jsx)(s.p,{children:(0,a.jsx)(s.code,{children:"wp boilerplate create service-example --prompt"})}),"\n",(0,a.jsxs)(s.p,{children:["The output will ask you to input the correct folder path relative to the ",(0,a.jsx)(s.code,{children:"src"})," folder and specify the class name.\nEverything else will be done for you like setting the namespace, package, vendor prefixes, class and folder name, and you will be set to write your class."]}),"\n",(0,a.jsx)(s.p,{children:"After that, add your WordPress hooks to the register method, provide its callback, and let the magic happen."})]})}function p(e={}){const{wrapper:s}={...(0,o.M)(),...e.components};return s?(0,a.jsx)(s,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},4552:(e,s,t)=>{t.d(s,{I:()=>r,M:()=>i});var a=t(11504);const o={},n=a.createContext(o);function i(e){const s=a.useContext(n);return a.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),a.createElement(n.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/548faf69.85fce851.js b/assets/js/548faf69.85fce851.js deleted file mode 100644 index 6f5df06f5..000000000 --- a/assets/js/548faf69.85fce851.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[14422],{90054:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>n,metadata:()=>r,toc:()=>l});var a=t(85893),o=t(11151);const n={id:"example-class",title:"Example Class"},i=void 0,r={id:"basics/example-class",title:"Example Class",description:"docs-source",source:"@site/docs/basics/example-class.md",sourceDirName:"basics",slug:"/basics/example-class",permalink:"/docs/basics/example-class",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"example-class",title:"Example Class"},sidebar:"docs",previous:{title:"Autowiring",permalink:"/docs/basics/autowiring"},next:{title:"Assets Manifest",permalink:"/docs/basics/manifest"}},c={},l=[];function d(e){const s={a:"a",code:"code",img:"img",p:"p",...(0,o.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(s.p,{children:(0,a.jsx)(s.a,{href:"https://github.com/infinum/eightshift-libs",children:(0,a.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,a.jsxs)(s.p,{children:["As you've already seen in the ",(0,a.jsx)(s.a,{href:"wp-cli",children:"WP-CLI"})," chapter, we have many finished features prepared for you. However, we want to make things even easier for you, so we created an example service class for you to use."]}),"\n",(0,a.jsx)(s.p,{children:"If you want to add a new service class to your project but don't want to write all the code manually, just use the WP-CLI command:"}),"\n",(0,a.jsx)(s.p,{children:(0,a.jsx)(s.code,{children:"wp boilerplate create service-example --prompt"})}),"\n",(0,a.jsxs)(s.p,{children:["The output will ask you to input the correct folder path relative to the ",(0,a.jsx)(s.code,{children:"src"})," folder and specify the class name.\nEverything else will be done for you like setting the namespace, package, vendor prefixes, class and folder name, and you will be set to write your class."]}),"\n",(0,a.jsx)(s.p,{children:"After that, add your WordPress hooks to the register method, provide its callback, and let the magic happen."})]})}function p(e={}){const{wrapper:s}={...(0,o.a)(),...e.components};return s?(0,a.jsx)(s,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},11151:(e,s,t)=>{t.d(s,{Z:()=>r,a:()=>i});var a=t(67294);const o={},n=a.createContext(o);function i(e){const s=a.useContext(n);return a.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),a.createElement(n.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/54b7d866.5e861f4a.js b/assets/js/54b7d866.5e861f4a.js new file mode 100644 index 000000000..2849a2b7c --- /dev/null +++ b/assets/js/54b7d866.5e861f4a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[17316],{6792:s=>{s.exports=JSON.parse('{"name":"docusaurus-plugin-content-blog","id":"default"}')}}]); \ No newline at end of file diff --git a/assets/js/54b7d866.a25e11be.js b/assets/js/54b7d866.a25e11be.js deleted file mode 100644 index d5feb7153..000000000 --- a/assets/js/54b7d866.a25e11be.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[87823],{24469:s=>{s.exports=JSON.parse('{"name":"docusaurus-plugin-content-blog","id":"default"}')}}]); \ No newline at end of file diff --git a/assets/js/56802612.f283ecb4.js b/assets/js/56802612.f283ecb4.js deleted file mode 100644 index 2c578049d..000000000 --- a/assets/js/56802612.f283ecb4.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[19722],{23990:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>l,contentTitle:()=>r,default:()=>u,frontMatter:()=>o,metadata:()=>c,toc:()=>a});var n=t(85893),i=t(11151);const o={id:"blocks-registration",title:"Registration"},r=void 0,c={id:"basics/blocks-registration",title:"Registration",description:"docs-source",source:"@site/docs/basics/blocks-registration.md",sourceDirName:"basics",slug:"/basics/blocks-registration",permalink:"/docs/basics/blocks-registration",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-registration",title:"Registration"},sidebar:"docs",previous:{title:"Faq",permalink:"/docs/basics/blocks-faq"},next:{title:"Structure",permalink:"/docs/basics/blocks-structure"}},l={},a=[];function d(e){const s={a:"a",code:"code",img:"img",li:"li",p:"p",ul:"ul",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,n.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(s.p,{children:"Our setup works if you follow our naming convention and strict folder structure for all blocks, components, variations, patterns, and wrapper."}),"\n",(0,n.jsxs)(s.p,{children:["By following our structure, we can find all files using the ",(0,n.jsx)(s.code,{children:"require.context"})," regular expression inside the ",(0,n.jsx)(s.code,{children:"Blocks"})," folder. Alongside some JavaScript magic, we have been able to leave out all those unnecessary steps when creating new blocks like:"]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"providing style files;"}),"\n",(0,n.jsx)(s.li,{children:"writing register method;"}),"\n",(0,n.jsx)(s.li,{children:"setting PHP method for registering dynamic blocks; and"}),"\n",(0,n.jsx)(s.li,{children:"including files when adding new components."}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["You can check out how this works inside the ",(0,n.jsx)(s.code,{children:"src/Blocks/assets/scripts/application-blocks-editor.js"})," file."]}),"\n",(0,n.jsxs)(s.p,{children:["Please follow our ",(0,n.jsx)(s.a,{href:"blocks-structure",children:"blocks structure folder"})," to see the naming standard and how blocks are set."]})]})}function u(e={}){const{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},11151:(e,s,t)=>{t.d(s,{Z:()=>c,a:()=>r});var n=t(67294);const i={},o=n.createContext(i);function r(e){const s=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),n.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/56802612.fc8dda78.js b/assets/js/56802612.fc8dda78.js new file mode 100644 index 000000000..435289ec3 --- /dev/null +++ b/assets/js/56802612.fc8dda78.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[98296],{63432:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>l,contentTitle:()=>r,default:()=>u,frontMatter:()=>o,metadata:()=>c,toc:()=>a});var n=t(17624),i=t(4552);const o={id:"blocks-registration",title:"Registration"},r=void 0,c={id:"basics/blocks-registration",title:"Registration",description:"docs-source",source:"@site/docs/basics/blocks-registration.md",sourceDirName:"basics",slug:"/basics/blocks-registration",permalink:"/docs/basics/blocks-registration",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-registration",title:"Registration"},sidebar:"docs",previous:{title:"Faq",permalink:"/docs/basics/blocks-faq"},next:{title:"Structure",permalink:"/docs/basics/blocks-structure"}},l={},a=[];function d(e){const s={a:"a",code:"code",img:"img",li:"li",p:"p",ul:"ul",...(0,i.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,n.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(s.p,{children:"Our setup works if you follow our naming convention and strict folder structure for all blocks, components, variations, patterns, and wrapper."}),"\n",(0,n.jsxs)(s.p,{children:["By following our structure, we can find all files using the ",(0,n.jsx)(s.code,{children:"require.context"})," regular expression inside the ",(0,n.jsx)(s.code,{children:"Blocks"})," folder. Alongside some JavaScript magic, we have been able to leave out all those unnecessary steps when creating new blocks like:"]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"providing style files;"}),"\n",(0,n.jsx)(s.li,{children:"writing register method;"}),"\n",(0,n.jsx)(s.li,{children:"setting PHP method for registering dynamic blocks; and"}),"\n",(0,n.jsx)(s.li,{children:"including files when adding new components."}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["You can check out how this works inside the ",(0,n.jsx)(s.code,{children:"src/Blocks/assets/scripts/application-blocks-editor.js"})," file."]}),"\n",(0,n.jsxs)(s.p,{children:["Please follow our ",(0,n.jsx)(s.a,{href:"blocks-structure",children:"blocks structure folder"})," to see the naming standard and how blocks are set."]})]})}function u(e={}){const{wrapper:s}={...(0,i.M)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},4552:(e,s,t)=>{t.d(s,{I:()=>c,M:()=>r});var n=t(11504);const i={},o=n.createContext(i);function r(e){const s=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),n.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/56b8c1aa.7d5e008e.js b/assets/js/56b8c1aa.7d5e008e.js new file mode 100644 index 000000000..b2100e42d --- /dev/null +++ b/assets/js/56b8c1aa.7d5e008e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[23692],{1756:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>r,contentTitle:()=>c,default:()=>h,frontMatter:()=>o,metadata:()=>l,toc:()=>d});var i=s(17624),n=s(4552);const o={id:"rest-field",title:"Rest Field",sidebar_label:"Rest Field"},c=void 0,l={id:"legacy/v5/basics/rest-field",title:"Rest Field",description:"docs-source",source:"@site/docs/legacy/v5/basics/rest-field.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/rest-field",permalink:"/docs/legacy/v5/basics/rest-field",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"rest-field",title:"Rest Field",sidebar_label:"Rest Field"},sidebar:"docs",previous:{title:"Rest Intro",permalink:"/docs/legacy/v5/basics/rest"},next:{title:"Rest Route",permalink:"/docs/legacy/v5/basics/rest-route"}},r={},d=[{value:"Test it in action",id:"test-it-in-action",level:2}];function a(e){const t={a:"a",blockquote:"blockquote",code:"code",h2:"h2",img:"img",p:"p",...(0,n.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/3.0.0/",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsx)(t.p,{children:"This class is used to update the existing Rest API Field or provide a new field to the existing Rest API."}),"\n",(0,i.jsx)(t.p,{children:"To create a new class for extending the Rest API field, run this command:"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.code,{children:"wp boilerplate create_rest_field"})}),"\n",(0,i.jsxs)(t.p,{children:["The output will ask you to input the correct field name and object type (post, get, etc.). Everything else will be done for you, setting the namespace, package, vendor prefixes, class, and folder name, and you will be set to write your field implementation in the ",(0,i.jsx)(t.code,{children:"fieldCallback"})," method."]}),"\n",(0,i.jsx)(t.h2,{id:"test-it-in-action",children:"Test it in action"}),"\n",(0,i.jsxs)(t.p,{children:["To test it in action, you should check the ",(0,i.jsx)(t.code,{children:"wp-json"})," path in your browser. You can do something like this:"]}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.code,{children:"domain.ext/wp-json/routeNamespace/routeVersion/routeName"})}),"\n",(0,i.jsx)(t.p,{children:"and find the field name."}),"\n",(0,i.jsxs)(t.blockquote,{children:["\n",(0,i.jsx)(t.p,{children:"This link will be different based on your project implementation."}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,n.M)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(a,{...e})}):a(e)}},4552:(e,t,s)=>{s.d(t,{I:()=>l,M:()=>c});var i=s(11504);const n={},o=i.createContext(n);function c(e){const t=i.useContext(o);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(n):e.components||n:c(e.components),i.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/56b8c1aa.be2cc16e.js b/assets/js/56b8c1aa.be2cc16e.js deleted file mode 100644 index 9163948aa..000000000 --- a/assets/js/56b8c1aa.be2cc16e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[21594],{24888:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>r,contentTitle:()=>c,default:()=>h,frontMatter:()=>o,metadata:()=>l,toc:()=>a});var i=s(85893),n=s(11151);const o={id:"rest-field",title:"Rest Field",sidebar_label:"Rest Field"},c=void 0,l={id:"legacy/v5/basics/rest-field",title:"Rest Field",description:"docs-source",source:"@site/docs/legacy/v5/basics/rest-field.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/rest-field",permalink:"/docs/legacy/v5/basics/rest-field",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"rest-field",title:"Rest Field",sidebar_label:"Rest Field"},sidebar:"docs",previous:{title:"Rest Intro",permalink:"/docs/legacy/v5/basics/rest"},next:{title:"Rest Route",permalink:"/docs/legacy/v5/basics/rest-route"}},r={},a=[{value:"Test it in action",id:"test-it-in-action",level:2}];function d(e){const t={a:"a",blockquote:"blockquote",code:"code",h2:"h2",img:"img",p:"p",...(0,n.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/3.0.0/",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsx)(t.p,{children:"This class is used to update the existing Rest API Field or provide a new field to the existing Rest API."}),"\n",(0,i.jsx)(t.p,{children:"To create a new class for extending the Rest API field, run this command:"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.code,{children:"wp boilerplate create_rest_field"})}),"\n",(0,i.jsxs)(t.p,{children:["The output will ask you to input the correct field name and object type (post, get, etc.). Everything else will be done for you, setting the namespace, package, vendor prefixes, class, and folder name, and you will be set to write your field implementation in the ",(0,i.jsx)(t.code,{children:"fieldCallback"})," method."]}),"\n",(0,i.jsx)(t.h2,{id:"test-it-in-action",children:"Test it in action"}),"\n",(0,i.jsxs)(t.p,{children:["To test it in action, you should check the ",(0,i.jsx)(t.code,{children:"wp-json"})," path in your browser. You can do something like this:"]}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.code,{children:"domain.ext/wp-json/routeNamespace/routeVersion/routeName"})}),"\n",(0,i.jsx)(t.p,{children:"and find the field name."}),"\n",(0,i.jsxs)(t.blockquote,{children:["\n",(0,i.jsx)(t.p,{children:"This link will be different based on your project implementation."}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},11151:(e,t,s)=>{s.d(t,{Z:()=>l,a:()=>c});var i=s(67294);const n={},o=i.createContext(n);function c(e){const t=i.useContext(o);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(n):e.components||n:c(e.components),i.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/56f8d3dd.ae3970f6.js b/assets/js/56f8d3dd.ae3970f6.js new file mode 100644 index 000000000..7bed6948d --- /dev/null +++ b/assets/js/56f8d3dd.ae3970f6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[39624],{84300:(e,i,t)=>{t.r(i),t.d(i,{assets:()=>o,contentTitle:()=>s,default:()=>u,frontMatter:()=>l,metadata:()=>a,toc:()=>c});var n=t(17624),r=t(4552);const l={id:"airtable",title:"Airtable"},s=void 0,a={id:"integrations/airtable",title:"Airtable",description:"Airtable is an platform that makes it easy to build powerful, custom applications.",source:"@site/forms/integrations/airtable.md",sourceDirName:"integrations",slug:"/integrations/airtable",permalink:"/forms/integrations/airtable",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"airtable",title:"Airtable"},sidebar:"forms",previous:{title:"ActiveCampaign",permalink:"/forms/integrations/active-campaign"},next:{title:"Clearbit",permalink:"/forms/integrations/clearbit"}},o={},c=[{value:"Website",id:"website",level:3},{value:"API Version",id:"api-version",level:3},{value:"API Documentation",id:"api-documentation",level:3},{value:"Integration type",id:"integration-type",level:3},{value:"Supported fields:",id:"supported-fields",level:3}];function d(e){const i={a:"a",h3:"h3",li:"li",p:"p",ul:"ul",...(0,r.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(i.p,{children:"Airtable is an platform that makes it easy to build powerful, custom applications."}),"\n",(0,n.jsx)(i.h3,{id:"website",children:"Website"}),"\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"https://airtable.com/",children:"Visit website"})}),"\n"]}),"\n",(0,n.jsx)(i.h3,{id:"api-version",children:"API Version"}),"\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsx)(i.li,{children:"V0 - beta"}),"\n"]}),"\n",(0,n.jsx)(i.h3,{id:"api-documentation",children:"API Documentation"}),"\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"https://airtable.com/developers/web/api/introduction",children:"Documentation"})}),"\n"]}),"\n",(0,n.jsx)(i.h3,{id:"integration-type",children:"Integration type"}),"\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsx)(i.li,{children:"Form builder provided by the service."}),"\n"]}),"\n",(0,n.jsx)(i.h3,{id:"supported-fields",children:"Supported fields:"}),"\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsx)(i.li,{children:"Input"}),"\n",(0,n.jsx)(i.li,{children:"Email"}),"\n",(0,n.jsx)(i.li,{children:"Url"}),"\n",(0,n.jsx)(i.li,{children:"Number"}),"\n",(0,n.jsx)(i.li,{children:"Date"}),"\n",(0,n.jsx)(i.li,{children:"Phone number"}),"\n",(0,n.jsx)(i.li,{children:"Textarea"}),"\n",(0,n.jsx)(i.li,{children:"Single Select"}),"\n",(0,n.jsx)(i.li,{children:"Multiple Choices"}),"\n",(0,n.jsx)(i.li,{children:"Checkbox"}),"\n"]})]})}function u(e={}){const{wrapper:i}={...(0,r.M)(),...e.components};return i?(0,n.jsx)(i,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},4552:(e,i,t)=>{t.d(i,{I:()=>a,M:()=>s});var n=t(11504);const r={},l=n.createContext(r);function s(e){const i=n.useContext(l);return n.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function a(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:s(e.components),n.createElement(l.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/56f8d3dd.f0741411.js b/assets/js/56f8d3dd.f0741411.js deleted file mode 100644 index 2642b5d64..000000000 --- a/assets/js/56f8d3dd.f0741411.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[3530],{12994:(e,i,t)=>{t.r(i),t.d(i,{assets:()=>o,contentTitle:()=>s,default:()=>u,frontMatter:()=>l,metadata:()=>a,toc:()=>c});var n=t(85893),r=t(11151);const l={id:"airtable",title:"Airtable"},s=void 0,a={id:"integrations/airtable",title:"Airtable",description:"Airtable is an platform that makes it easy to build powerful, custom applications.",source:"@site/forms/integrations/airtable.md",sourceDirName:"integrations",slug:"/integrations/airtable",permalink:"/forms/integrations/airtable",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"airtable",title:"Airtable"},sidebar:"forms",previous:{title:"ActiveCampaign",permalink:"/forms/integrations/active-campaign"},next:{title:"Clearbit",permalink:"/forms/integrations/clearbit"}},o={},c=[{value:"Website",id:"website",level:3},{value:"API Version",id:"api-version",level:3},{value:"API Documentation",id:"api-documentation",level:3},{value:"Integration type",id:"integration-type",level:3},{value:"Supported fields:",id:"supported-fields",level:3}];function d(e){const i={a:"a",h3:"h3",li:"li",p:"p",ul:"ul",...(0,r.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(i.p,{children:"Airtable is an platform that makes it easy to build powerful, custom applications."}),"\n",(0,n.jsx)(i.h3,{id:"website",children:"Website"}),"\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"https://airtable.com/",children:"Visit website"})}),"\n"]}),"\n",(0,n.jsx)(i.h3,{id:"api-version",children:"API Version"}),"\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsx)(i.li,{children:"V0 - beta"}),"\n"]}),"\n",(0,n.jsx)(i.h3,{id:"api-documentation",children:"API Documentation"}),"\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"https://airtable.com/developers/web/api/introduction",children:"Documentation"})}),"\n"]}),"\n",(0,n.jsx)(i.h3,{id:"integration-type",children:"Integration type"}),"\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsx)(i.li,{children:"Form builder provided by the service."}),"\n"]}),"\n",(0,n.jsx)(i.h3,{id:"supported-fields",children:"Supported fields:"}),"\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsx)(i.li,{children:"Input"}),"\n",(0,n.jsx)(i.li,{children:"Email"}),"\n",(0,n.jsx)(i.li,{children:"Url"}),"\n",(0,n.jsx)(i.li,{children:"Number"}),"\n",(0,n.jsx)(i.li,{children:"Date"}),"\n",(0,n.jsx)(i.li,{children:"Phone number"}),"\n",(0,n.jsx)(i.li,{children:"Textarea"}),"\n",(0,n.jsx)(i.li,{children:"Single Select"}),"\n",(0,n.jsx)(i.li,{children:"Multiple Choices"}),"\n",(0,n.jsx)(i.li,{children:"Checkbox"}),"\n"]})]})}function u(e={}){const{wrapper:i}={...(0,r.a)(),...e.components};return i?(0,n.jsx)(i,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},11151:(e,i,t)=>{t.d(i,{Z:()=>a,a:()=>s});var n=t(67294);const r={},l=n.createContext(r);function s(e){const i=n.useContext(l);return n.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function a(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:s(e.components),n.createElement(l.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/590322ab.6301176f.js b/assets/js/590322ab.6301176f.js deleted file mode 100644 index 568e8419f..000000000 --- a/assets/js/590322ab.6301176f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[17905],{33380:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>i,metadata:()=>r,toc:()=>c});var o=n(85893),s=n(11151);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.a)(),...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:"/sass",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(96285).Z+"",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.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},96285:(e,t,n)=>{n.d(t,{Z:()=>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=="},11151:(e,t,n)=>{n.d(t,{Z:()=>r,a:()=>a});var o=n(67294);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.fa6e2dd5.js b/assets/js/590322ab.fa6e2dd5.js new file mode 100644 index 000000000..74071e570 --- /dev/null +++ b/assets/js/590322ab.fa6e2dd5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[97504],{97136:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>i,metadata:()=>r,toc:()=>c});var o=n(17624),s=n(4552);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.M)(),...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(57496).c+"",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.M)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},57496:(e,t,n)=>{n.d(t,{c:()=>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=="},4552:(e,t,n)=>{n.d(t,{I:()=>r,M:()=>a});var o=n(11504);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/59c340d8.20a43dd4.js b/assets/js/59c340d8.20a43dd4.js new file mode 100644 index 000000000..eb2722134 --- /dev/null +++ b/assets/js/59c340d8.20a43dd4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[69276],{30860:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>i,metadata:()=>a,toc:()=>l});var s=n(17624),o=n(4552);const i={id:"blocks-attributes",title:"Attributes"},r=void 0,a={id:"legacy/v7/basics/blocks-attributes",title:"Attributes",description:"docs-source",source:"@site/docs/legacy/v7/basics/blocks-attributes.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/blocks-attributes",permalink:"/docs/legacy/v7/basics/blocks-attributes",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-attributes",title:"Attributes"},sidebar:"docs",previous:{title:"Component Manifest",permalink:"/docs/legacy/v7/basics/blocks-component-manifest"},next:{title:"Component in a Block",permalink:"/docs/legacy/v7/basics/blocks-component-in-block"}},c={},l=[{value:"Structure",id:"structure",level:3}];function d(e){const t={a:"a",code:"code",h3:"h3",img:"img",p:"p",pre:"pre",...(0,o.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/",children:(0,s.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsxs)(t.p,{children:["If you were to reference the native ",(0,s.jsx)(t.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-attributes/",children:"WordPress documentation"})," about attributes in blocks, you can see that they support different types of attributes. In this chapter, we want to point out that you should avoid using objects for your attributes."]}),"\n",(0,s.jsxs)(t.p,{children:["The reason for this is that you can't control what key of that object is stored in the database once the attribute changes. When you change one key, the ",(0,s.jsx)(t.code,{children:"setAttributes"})," method will store the entire object in the database and you'll lose the best feature of block editor - the default attributes."]}),"\n",(0,s.jsx)(t.p,{children:"You can also look at this from the Reacts perspective: setting the entire object every time the key changes is bad for performance."}),"\n",(0,s.jsx)(t.p,{children:"Yes, you can use objects, but we recommend using them only when you want to store multiple keys simultaneously."}),"\n",(0,s.jsx)(t.h3,{id:"structure",children:"Structure"}),"\n",(0,s.jsxs)(t.p,{children:["All attributes in the block/component must begin with the exact same prefix as it is defined in the ",(0,s.jsx)(t.code,{children:"blockName"})," or ",(0,s.jsx)(t.code,{children:"componentName"}),". The reason behind this naming standard is that our helpers can automatically resolve and know what prefix to use when renaming the component name in the dependency tree. For more details about this feature please check ",(0,s.jsx)(t.a,{href:"blocks-component-in-block",children:"this chapter"}),"."]}),"\n",(0,s.jsx)(t.p,{children:"Block example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-json",children:'{\n "blockName": "heading",\n "attributes": {\n "headingContent": {\n "type": "string"\n },\n "headingLevel": {\n "type": "integer",\n "default": 2\n }\n }\n}\n'})}),"\n",(0,s.jsx)(t.p,{children:"or"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-json",children:'{\n "blockName": "intro",\n "attributes": {\n "introContent": {\n "type": "string"\n },\n "introLevel": {\n "type": "integer",\n "default": 2\n }\n }\n}\n'})}),"\n",(0,s.jsx)(t.p,{children:"Component example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-json",children:'{\n "componentName": "heading",\n "attributes": {\n "headingContent": {\n "type": "string"\n },\n "headingLevel": {\n "type": "integer",\n "default": 2\n }\n }\n}\n'})}),"\n",(0,s.jsx)(t.p,{children:"or"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-json",children:'{\n "componentName": "description",\n "attributes": {\n "descriptionContent": {\n "type": "string"\n },\n "descriptionLevel": {\n "type": "integer",\n "default": 2\n }\n }\n}\n'})}),"\n",(0,s.jsxs)(t.p,{children:["If you have a block/component that contains multiple words you should name it with a dash just like the block/component folder name, but the attributes must follow the ",(0,s.jsx)(t.code,{children:"camelCase"})," naming standard like this:"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-json",children:'{\n "componentName": "intro-heading",\n "attributes": {\n "introHeadingContent": {\n "type": "string"\n },\n "introHeadingLevel": {\n "type": "integer",\n "default": 2\n }\n }\n}\n'})})]})}function h(e={}){const{wrapper:t}={...(0,o.M)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},4552:(e,t,n)=>{n.d(t,{I:()=>a,M:()=>r});var s=n(11504);const o={},i=s.createContext(o);function r(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/59c340d8.4a2dde3d.js b/assets/js/59c340d8.4a2dde3d.js deleted file mode 100644 index 4bc1d88f3..000000000 --- a/assets/js/59c340d8.4a2dde3d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[33304],{56655:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>i,metadata:()=>a,toc:()=>l});var s=n(85893),o=n(11151);const i={id:"blocks-attributes",title:"Attributes"},r=void 0,a={id:"legacy/v7/basics/blocks-attributes",title:"Attributes",description:"docs-source",source:"@site/docs/legacy/v7/basics/blocks-attributes.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/blocks-attributes",permalink:"/docs/legacy/v7/basics/blocks-attributes",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-attributes",title:"Attributes"},sidebar:"docs",previous:{title:"Component Manifest",permalink:"/docs/legacy/v7/basics/blocks-component-manifest"},next:{title:"Component in a Block",permalink:"/docs/legacy/v7/basics/blocks-component-in-block"}},c={},l=[{value:"Structure",id:"structure",level:3}];function d(e){const t={a:"a",code:"code",h3:"h3",img:"img",p:"p",pre:"pre",...(0,o.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/",children:(0,s.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsxs)(t.p,{children:["If you were to reference the native ",(0,s.jsx)(t.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-attributes/",children:"WordPress documentation"})," about attributes in blocks, you can see that they support different types of attributes. In this chapter, we want to point out that you should avoid using objects for your attributes."]}),"\n",(0,s.jsxs)(t.p,{children:["The reason for this is that you can't control what key of that object is stored in the database once the attribute changes. When you change one key, the ",(0,s.jsx)(t.code,{children:"setAttributes"})," method will store the entire object in the database and you'll lose the best feature of block editor - the default attributes."]}),"\n",(0,s.jsx)(t.p,{children:"You can also look at this from the Reacts perspective: setting the entire object every time the key changes is bad for performance."}),"\n",(0,s.jsx)(t.p,{children:"Yes, you can use objects, but we recommend using them only when you want to store multiple keys simultaneously."}),"\n",(0,s.jsx)(t.h3,{id:"structure",children:"Structure"}),"\n",(0,s.jsxs)(t.p,{children:["All attributes in the block/component must begin with the exact same prefix as it is defined in the ",(0,s.jsx)(t.code,{children:"blockName"})," or ",(0,s.jsx)(t.code,{children:"componentName"}),". The reason behind this naming standard is that our helpers can automatically resolve and know what prefix to use when renaming the component name in the dependency tree. For more details about this feature please check ",(0,s.jsx)(t.a,{href:"blocks-component-in-block",children:"this chapter"}),"."]}),"\n",(0,s.jsx)(t.p,{children:"Block example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-json",children:'{\n "blockName": "heading",\n "attributes": {\n "headingContent": {\n "type": "string"\n },\n "headingLevel": {\n "type": "integer",\n "default": 2\n }\n }\n}\n'})}),"\n",(0,s.jsx)(t.p,{children:"or"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-json",children:'{\n "blockName": "intro",\n "attributes": {\n "introContent": {\n "type": "string"\n },\n "introLevel": {\n "type": "integer",\n "default": 2\n }\n }\n}\n'})}),"\n",(0,s.jsx)(t.p,{children:"Component example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-json",children:'{\n "componentName": "heading",\n "attributes": {\n "headingContent": {\n "type": "string"\n },\n "headingLevel": {\n "type": "integer",\n "default": 2\n }\n }\n}\n'})}),"\n",(0,s.jsx)(t.p,{children:"or"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-json",children:'{\n "componentName": "description",\n "attributes": {\n "descriptionContent": {\n "type": "string"\n },\n "descriptionLevel": {\n "type": "integer",\n "default": 2\n }\n }\n}\n'})}),"\n",(0,s.jsxs)(t.p,{children:["If you have a block/component that contains multiple words you should name it with a dash just like the block/component folder name, but the attributes must follow the ",(0,s.jsx)(t.code,{children:"camelCase"})," naming standard like this:"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-json",children:'{\n "componentName": "intro-heading",\n "attributes": {\n "introHeadingContent": {\n "type": "string"\n },\n "introHeadingLevel": {\n "type": "integer",\n "default": 2\n }\n }\n}\n'})})]})}function h(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},11151:(e,t,n)=>{n.d(t,{Z:()=>a,a:()=>r});var s=n(67294);const o={},i=s.createContext(o);function r(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5add9946.0c28af07.js b/assets/js/5add9946.0c28af07.js new file mode 100644 index 000000000..21fec5828 --- /dev/null +++ b/assets/js/5add9946.0c28af07.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[42424],{47548:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>a,contentTitle:()=>c,default:()=>d,frontMatter:()=>o,metadata:()=>n,toc:()=>u});var s=r(17624),i=r(4552);const o={id:"success-redirect-variation",title:"Success redirect variation"},c=void 0,n={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.",source:"@site/forms/php/filters/block/form/success-redirect-variation.md",sourceDirName:"php/filters/block/form",slug:"/php/filters/block/form/success-redirect-variation",permalink:"/forms/php/filters/block/form/success-redirect-variation",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"success-redirect-variation",title:"Success redirect variation"},sidebar:"forms",previous:{title:"Success redirect URL",permalink:"/forms/php/filters/block/form/success-redirect-url"},next:{title:"Success redirect variation options",permalink:"/forms/php/filters/block/form/success-redirect-variation-options"}},a={},u=[];function l(e){const t={code:"code",p:"p",pre:"pre",...(0,i.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:"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."}),"\n",(0,s.jsxs)(t.p,{children:["This filter allows you to override the success redirect variation and have it set fixed for all or some of your forms. With the ",(0,s.jsx)(t.code,{children:"$formType"})," parameter you can customize the variation for each form type."]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-php",children:"\\add_filter('es_forms_block_form_success_redirect_variation', [$this, 'getBlockFormSuccessRedirectVariation'], 10, 2);\n\n/**\n * Set success redirect variation value.\n *\n * This filter will override settings for success redirect variation.\n *\n * @param string $formType Type of form used like greenhouse, hubspot, etc.\n * @param string $formId Form ID.\n *\n * @return string\n */\npublic function getBlockFormSuccessRedirectVariation(string $formType, string $formId): string\n{\n\treturn '<variation>';\n}\n"})})]})}function d(e={}){const{wrapper:t}={...(0,i.M)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},4552:(e,t,r)=>{r.d(t,{I:()=>n,M:()=>c});var s=r(11504);const i={},o=s.createContext(i);function c(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function n(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:c(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5add9946.8bf5231a.js b/assets/js/5add9946.8bf5231a.js deleted file mode 100644 index c317826c5..000000000 --- a/assets/js/5add9946.8bf5231a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[14236],{13943:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>a,contentTitle:()=>c,default:()=>d,frontMatter:()=>o,metadata:()=>n,toc:()=>u});var s=r(85893),i=r(11151);const o={id:"success-redirect-variation",title:"Success redirect variation"},c=void 0,n={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.",source:"@site/forms/php/filters/block/form/success-redirect-variation.md",sourceDirName:"php/filters/block/form",slug:"/php/filters/block/form/success-redirect-variation",permalink:"/forms/php/filters/block/form/success-redirect-variation",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"success-redirect-variation",title:"Success redirect variation"},sidebar:"forms",previous:{title:"Success redirect URL",permalink:"/forms/php/filters/block/form/success-redirect-url"},next:{title:"Success redirect variation options",permalink:"/forms/php/filters/block/form/success-redirect-variation-options"}},a={},u=[];function l(e){const t={code:"code",p:"p",pre:"pre",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:"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."}),"\n",(0,s.jsxs)(t.p,{children:["This filter allows you to override the success redirect variation and have it set fixed for all or some of your forms. With the ",(0,s.jsx)(t.code,{children:"$formType"})," parameter you can customize the variation for each form type."]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-php",children:"\\add_filter('es_forms_block_form_success_redirect_variation', [$this, 'getBlockFormSuccessRedirectVariation'], 10, 2);\n\n/**\n * Set success redirect variation value.\n *\n * This filter will override settings for success redirect variation.\n *\n * @param string $formType Type of form used like greenhouse, hubspot, etc.\n * @param string $formId Form ID.\n *\n * @return string\n */\npublic function getBlockFormSuccessRedirectVariation(string $formType, string $formId): string\n{\n\treturn '<variation>';\n}\n"})})]})}function d(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},11151:(e,t,r)=>{r.d(t,{Z:()=>n,a:()=>c});var s=r(67294);const i={},o=s.createContext(i);function c(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function n(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:c(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5b027e06.3eabbed9.js b/assets/js/5b027e06.3eabbed9.js new file mode 100644 index 000000000..a7090ed7e --- /dev/null +++ b/assets/js/5b027e06.3eabbed9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[40024],{82678: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/5b027e06.a9beeeea.js b/assets/js/5b027e06.a9beeeea.js deleted file mode 100644 index 3f7cf73cb..000000000 --- a/assets/js/5b027e06.a9beeeea.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[71128],{27579: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/5b767225.5ed4acdc.js b/assets/js/5b767225.5ed4acdc.js new file mode 100644 index 000000000..a830e7a48 --- /dev/null +++ b/assets/js/5b767225.5ed4acdc.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[37840],{71092:(e,n,l)=>{l.r(n),l.d(n,{assets:()=>c,contentTitle:()=>s,default:()=>r,frontMatter:()=>o,metadata:()=>a,toc:()=>d});var t=l(17624),i=l(4552);const o={id:"components-heading-level",title:"Heading Level"},s=void 0,a={id:"legacy/v4/advanced/components-heading-level",title:"Heading Level",description:"docs-source",source:"@site/docs/legacy/v4/advanced/components-heading-level.md",sourceDirName:"legacy/v4/advanced",slug:"/legacy/v4/advanced/components-heading-level",permalink:"/docs/legacy/v4/advanced/components-heading-level",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"components-heading-level",title:"Heading Level"},sidebar:"docs",previous:{title:"Color Palette",permalink:"/docs/legacy/v4/advanced/components-color-palette"},next:{title:"Intro",permalink:"/docs/crash-course/intro"}},c={},d=[{value:"Usage",id:"usage",level:2},{value:"Options",id:"options",level:3},{value:"minLevel",id:"minlevel",level:4},{value:"maxLevel",id:"maxlevel",level:4},{value:"selectedLevel",id:"selectedlevel",level:4},{value:"onChange",id:"onchange",level:4}];function h(e){const n={a:"a",code:"code",h2:"h2",h3:"h3",h4:"h4",img:"img",p:"p",pre:"pre",...(0,i.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/v2.0.0/components/heading-level/heading-level.js",children:(0,t.jsx)(n.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsxs)(n.p,{children:["This is a custom React component that renders a custom heading level (",(0,t.jsx)(n.code,{children:"<h1>"})," to ",(0,t.jsx)(n.code,{children:"<h6>"}),"). It is used in the heading component or block."]}),"\n",(0,t.jsx)(n.h2,{id:"usage",children:"Usage"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-js",children:"import { HeadingLevel } from 'EightshiftComponentHeadingLevel';\n\n{onChangeLevel &&\n <HeadingLevel\n selectedLevel={level}\n onChange={onChangeLevel}\n />\n}\n"})}),"\n",(0,t.jsx)(n.h3,{id:"options",children:"Options"}),"\n",(0,t.jsx)(n.h4,{id:"minlevel",children:"minLevel"}),"\n",(0,t.jsx)(n.p,{children:"Defines the minimum value to show in a heading."}),"\n",(0,t.jsx)(n.p,{children:"Default: 1"}),"\n",(0,t.jsx)(n.h4,{id:"maxlevel",children:"maxLevel"}),"\n",(0,t.jsx)(n.p,{children:"Defines the maximum value to show in a heading."}),"\n",(0,t.jsx)(n.p,{children:"Default: 6"}),"\n",(0,t.jsx)(n.h4,{id:"selectedlevel",children:"selectedLevel"}),"\n",(0,t.jsx)(n.p,{children:"Defines the selected level value to show in a heading."}),"\n",(0,t.jsx)(n.h4,{id:"onchange",children:"onChange"}),"\n",(0,t.jsx)(n.p,{children:"On Change callback method for saving the attributes of the component."})]})}function r(e={}){const{wrapper:n}={...(0,i.M)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(h,{...e})}):h(e)}},4552:(e,n,l)=>{l.d(n,{I:()=>a,M:()=>s});var t=l(11504);const i={},o=t.createContext(i);function s(e){const n=t.useContext(o);return t.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(i):e.components||i:s(e.components),t.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5b767225.d3781cd4.js b/assets/js/5b767225.d3781cd4.js deleted file mode 100644 index 0bc62b9d4..000000000 --- a/assets/js/5b767225.d3781cd4.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[87954],{59757:(e,n,l)=>{l.r(n),l.d(n,{assets:()=>c,contentTitle:()=>s,default:()=>r,frontMatter:()=>o,metadata:()=>a,toc:()=>d});var t=l(85893),i=l(11151);const o={id:"components-heading-level",title:"Heading Level"},s=void 0,a={id:"legacy/v4/advanced/components-heading-level",title:"Heading Level",description:"docs-source",source:"@site/docs/legacy/v4/advanced/components-heading-level.md",sourceDirName:"legacy/v4/advanced",slug:"/legacy/v4/advanced/components-heading-level",permalink:"/docs/legacy/v4/advanced/components-heading-level",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"components-heading-level",title:"Heading Level"},sidebar:"docs",previous:{title:"Color Palette",permalink:"/docs/legacy/v4/advanced/components-color-palette"},next:{title:"Intro",permalink:"/docs/crash-course/intro"}},c={},d=[{value:"Usage",id:"usage",level:2},{value:"Options",id:"options",level:3},{value:"minLevel",id:"minlevel",level:4},{value:"maxLevel",id:"maxlevel",level:4},{value:"selectedLevel",id:"selectedlevel",level:4},{value:"onChange",id:"onchange",level:4}];function h(e){const n={a:"a",code:"code",h2:"h2",h3:"h3",h4:"h4",img:"img",p:"p",pre:"pre",...(0,i.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/v2.0.0/components/heading-level/heading-level.js",children:(0,t.jsx)(n.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsxs)(n.p,{children:["This is a custom React component that renders a custom heading level (",(0,t.jsx)(n.code,{children:"<h1>"})," to ",(0,t.jsx)(n.code,{children:"<h6>"}),"). It is used in the heading component or block."]}),"\n",(0,t.jsx)(n.h2,{id:"usage",children:"Usage"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-js",children:"import { HeadingLevel } from 'EightshiftComponentHeadingLevel';\n\n{onChangeLevel &&\n <HeadingLevel\n selectedLevel={level}\n onChange={onChangeLevel}\n />\n}\n"})}),"\n",(0,t.jsx)(n.h3,{id:"options",children:"Options"}),"\n",(0,t.jsx)(n.h4,{id:"minlevel",children:"minLevel"}),"\n",(0,t.jsx)(n.p,{children:"Defines the minimum value to show in a heading."}),"\n",(0,t.jsx)(n.p,{children:"Default: 1"}),"\n",(0,t.jsx)(n.h4,{id:"maxlevel",children:"maxLevel"}),"\n",(0,t.jsx)(n.p,{children:"Defines the maximum value to show in a heading."}),"\n",(0,t.jsx)(n.p,{children:"Default: 6"}),"\n",(0,t.jsx)(n.h4,{id:"selectedlevel",children:"selectedLevel"}),"\n",(0,t.jsx)(n.p,{children:"Defines the selected level value to show in a heading."}),"\n",(0,t.jsx)(n.h4,{id:"onchange",children:"onChange"}),"\n",(0,t.jsx)(n.p,{children:"On Change callback method for saving the attributes of the component."})]})}function r(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(h,{...e})}):h(e)}},11151:(e,n,l)=>{l.d(n,{Z:()=>a,a:()=>s});var t=l(67294);const i={},o=t.createContext(i);function s(e){const n=t.useContext(o);return t.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(i):e.components||i:s(e.components),t.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5ba3e239.71daf983.js b/assets/js/5ba3e239.71daf983.js new file mode 100644 index 000000000..984a35121 --- /dev/null +++ b/assets/js/5ba3e239.71daf983.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[30156],{6972:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>a,toc:()=>c});var i=t(17624),s=t(4552);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,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.M)(),...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.M)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},4552:(e,n,t)=>{t.d(n,{I:()=>a,M:()=>r});var i=t(11504);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.f5273366.js b/assets/js/5ba3e239.f5273366.js deleted file mode 100644 index 68d18779b..000000000 --- a/assets/js/5ba3e239.f5273366.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[47829],{15856:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>a,toc:()=>c});var i=t(85893),s=t(11151);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,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.a)(),...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.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},11151:(e,n,t)=>{t.d(n,{Z:()=>a,a:()=>r});var i=t(67294);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/5bd755c4.385bddae.js b/assets/js/5bd755c4.385bddae.js deleted file mode 100644 index 1e0a1fdb2..000000000 --- a/assets/js/5bd755c4.385bddae.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[39252],{92983:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>s,default:()=>c,frontMatter:()=>o,metadata:()=>l,toc:()=>m});var r=n(85893),i=n(11151),a=n(8122);const o={id:"additional-content",title:"Additional content"},s=void 0,l={id:"php/filters/block/date/additional-content",title:"Additional content",description:"",source:"@site/forms/php/filters/block/date/additional-content.mdx",sourceDirName:"php/filters/block/date",slug:"/php/filters/block/date/additional-content",permalink:"/forms/php/filters/block/date/additional-content",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"additional-content",title:"Additional content"},sidebar:"forms",previous:{title:"Additional content",permalink:"/forms/php/filters/block/country/additional-content"},next:{title:"Custom form submit button",permalink:"/forms/php/filters/block/submit/component"}},d={},m=[];function f(t){return(0,r.jsx)(a.F,{filter:"date"})}function c(t={}){const{wrapper:e}={...(0,i.a)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(f,{...t})}):f()}},8122:(t,e,n)=>{n.d(e,{F:()=>s,k:()=>o});n(67294);var r=n(9286),i=n(61684),a=n(85893);function o(t){let{filter:e,onlyUse:n=["dataFilter","orderFilter","prePostIdFilter","prePostParamsFilter"]}=t;return(0,a.jsxs)(a.Fragment,{children:[n.includes("dataFilter")&&(0,a.jsx)(l,{filter:e}),n.includes("orderFilter")&&(0,a.jsx)(d,{filter:e}),n.includes("prePostIdFilter")&&(0,a.jsx)(m,{filter:e}),n.includes("prePostParamsFilter")&&(0,a.jsx)(f,{filter:e})]})}function s(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{children:"Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc."}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\tadd_filter('es_forms_block_"+e+"_additional_content', function(): string {\n\t\t\t\treturn '<custom-string>';\n\t\t\t})\n\t\t\t")})]})}function l(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Data filter"}),(0,a.jsx)("p",{children:"Allows modifying form field data before it's shown in the Block Editor or output on the frontend."}),(0,a.jsx)("p",{children:"Useful if, for example, you want to ensure that all fields fit into a 2-column layout."}),(0,a.jsx)("p",{children:"Overrides any Block Editor changes!"}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\tadd_filter('es_forms_integrations_"+e+'_data\', \'getIntegrationFilterData\', 10, 2);\n\n\t\t\t/**\n\t\t\t * Manipulate form fields data before it is sent to the Block Editor.\n\t\t\t *\n\t\t\t * @param array<mixed> $data Form fields data.\n\t\t\t * @param string $formId Form ID.\n\t\t\t *\n\t\t\t * @return array<mixed>\n\t\t\t */\n\t\t\tfunction getIntegrationFilterData(array $data, string $formId): array\n\t\t\t{\n\t\t\t\tforeach ($data as $index => $field) {\n\t\t\t\t\t$component = $field[\'component\'] ?? \'\';\n\n\t\t\t\t\tif (!$component) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t$name = $field["{$component}Name"] ?? \'\';\n\n\t\t\t\t\tif (!$name) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch ($name) {\n\t\t\t\t\t\tcase \'firstname\':\n\t\t\t\t\t\tcase \'lastname\':\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthMobile"] = 12;\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthLarge"] = 6;\n\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"] = array_merge(\n\t\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthMobile",\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthLarge",\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t')})]})}function d(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Order filter"}),(0,a.jsx)("p",{children:"Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor."}),(0,a.jsxs)("p",{children:["Not all fields need to have an order defined. For example, you may want to make sure ",(0,a.jsx)("code",{children:"firstname"}),", ",(0,a.jsx)("code",{children:"lastname"})," and ",(0,a.jsx)("code",{children:"email"})," are displayed first, but other fields follow their Block editor order."]}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_order', 'getIntegrationOrder');\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Forces form field order for the provided fields. For other fields, Block editor order is used.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationOrder(): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t'firstname',\n\t\t\t\t\t\t\t'lastname',\n\t\t\t\t\t\t\t'email',\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t")})]})}function m(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post ID filter"}),(0,a.jsx)("p",{children:"Allows updating item IDs sent to external integrations to which the form data is sent."}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_pre_post_id', 'getIntegrationPrePostId', 10, 3);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies integration item ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @param string $itemId Integration item ID.\n\t\t\t\t\t * @param array<mixed> $params Params to be sent to the integration.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @return array<mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostId(string $itemId, array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn $itemId;\n\t\t\t\t\t}\n\t\t\t\t")})]})}function f(t){let{filter:e}=t,n="";if("mailer"===e)n="mailer system";else n="external integration";return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post parameters filter"}),(0,a.jsxs)("p",{children:["Allows modifying form field data before it's sent to ",n,". Useful if you want to make values derived from the sent data, or add new fields."]}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_pre_post_params', 'getIntegrationPrePostParams', 10, 2);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies form field data before it's sent to "+n+".\n\t\t\t\t\t *\n\t\t\t\t\t * @param array<string, mixed> $params Array of params.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string, mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostParams(array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\t$formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? '';\n\n\t\t\t\t\t\tif ($formSubmissionPageLt) {\n\t\t\t\t\t\t\t$params['ib-submission-source'] = [\n\t\t\t\t\t\t\t\t'name' => 'ib-submission-source',\n\t\t\t\t\t\t\t\t'value' => $formSubmissionPageLt,\n\t\t\t\t\t\t\t\t'type' => 'text',\n\t\t\t\t\t\t\t\t'internalType' => '',\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn $params;\n\t\t\t\t\t}\n\t\t\t\t")})]})}},61684:(t,e,n)=>{function r(t){const e=t.split(/\n/g);for(;0===(null==(n=e[0])?void 0:n.replace(/\s/g,"").length);){var n;e.shift()}for(;0===(null==(r=e[e.length-1])?void 0:r.replace(/\s/g,"").length);){var r;e.pop()}const i=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>{var e,n;return null!=(e=null==(n=t.match(/^\s*/))||null==(n=n[0])?void 0:n.length)?e:0})),a=Math.min(...i);return e.map((t=>t.slice(a))).join("\n")}n.d(e,{p:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/5bd755c4.7f24b49c.js b/assets/js/5bd755c4.7f24b49c.js new file mode 100644 index 000000000..d557492c7 --- /dev/null +++ b/assets/js/5bd755c4.7f24b49c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[22604],{67196:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>l,contentTitle:()=>s,default:()=>f,frontMatter:()=>o,metadata:()=>d,toc:()=>c});var r=n(17624),i=n(4552),a=n(80148);const o={id:"additional-content",title:"Additional content"},s=void 0,d={id:"php/filters/block/date/additional-content",title:"Additional content",description:"",source:"@site/forms/php/filters/block/date/additional-content.mdx",sourceDirName:"php/filters/block/date",slug:"/php/filters/block/date/additional-content",permalink:"/forms/php/filters/block/date/additional-content",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"additional-content",title:"Additional content"},sidebar:"forms",previous:{title:"Additional content",permalink:"/forms/php/filters/block/country/additional-content"},next:{title:"Custom form submit button",permalink:"/forms/php/filters/block/submit/component"}},l={},c=[];function m(t){return(0,r.jsx)(a.g,{filter:"date"})}function f(t={}){const{wrapper:e}={...(0,i.M)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(m,{...t})}):m()}},80148:(t,e,n)=>{n.d(e,{g:()=>s,y:()=>o});n(11504);var r=n(1608),i=n(96616),a=n(17624);function o(t){let{filter:e,onlyUse:n=["dataFilter","orderFilter","prePostIdFilter","prePostParamsFilter"]}=t;return(0,a.jsxs)(a.Fragment,{children:[n.includes("dataFilter")&&(0,a.jsx)(d,{filter:e}),n.includes("orderFilter")&&(0,a.jsx)(l,{filter:e}),n.includes("prePostIdFilter")&&(0,a.jsx)(c,{filter:e}),n.includes("prePostParamsFilter")&&(0,a.jsx)(m,{filter:e})]})}function s(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{children:"Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc."}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\tadd_filter('es_forms_block_${e}_additional_content', function(): string {\n\t\t\t\treturn '<custom-string>';\n\t\t\t})\n\t\t\t`)})]})}function d(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Data filter"}),(0,a.jsx)("p",{children:"Allows modifying form field data before it's shown in the Block Editor or output on the frontend."}),(0,a.jsx)("p",{children:"Useful if, for example, you want to ensure that all fields fit into a 2-column layout."}),(0,a.jsx)("p",{children:"Overrides any Block Editor changes!"}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\tadd_filter('es_forms_integrations_${e}_data', 'getIntegrationFilterData', 10, 2);\n\n\t\t\t/**\n\t\t\t * Manipulate form fields data before it is sent to the Block Editor.\n\t\t\t *\n\t\t\t * @param array<mixed> $data Form fields data.\n\t\t\t * @param string $formId Form ID.\n\t\t\t *\n\t\t\t * @return array<mixed>\n\t\t\t */\n\t\t\tfunction getIntegrationFilterData(array $data, string $formId): array\n\t\t\t{\n\t\t\t\tforeach ($data as $index => $field) {\n\t\t\t\t\t$component = $field['component'] ?? '';\n\n\t\t\t\t\tif (!$component) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t$name = $field["{$component}Name"] ?? '';\n\n\t\t\t\t\tif (!$name) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch ($name) {\n\t\t\t\t\t\tcase 'firstname':\n\t\t\t\t\t\tcase 'lastname':\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthMobile"] = 12;\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthLarge"] = 6;\n\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"] = array_merge(\n\t\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthMobile",\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthLarge",\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t`)})]})}function l(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Order filter"}),(0,a.jsx)("p",{children:"Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor."}),(0,a.jsxs)("p",{children:["Not all fields need to have an order defined. For example, you may want to make sure ",(0,a.jsx)("code",{children:"firstname"}),", ",(0,a.jsx)("code",{children:"lastname"})," and ",(0,a.jsx)("code",{children:"email"})," are displayed first, but other fields follow their Block editor order."]}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_order', 'getIntegrationOrder');\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Forces form field order for the provided fields. For other fields, Block editor order is used.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationOrder(): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t'firstname',\n\t\t\t\t\t\t\t'lastname',\n\t\t\t\t\t\t\t'email',\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t`)})]})}function c(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post ID filter"}),(0,a.jsx)("p",{children:"Allows updating item IDs sent to external integrations to which the form data is sent."}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_pre_post_id', 'getIntegrationPrePostId', 10, 3);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies integration item ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @param string $itemId Integration item ID.\n\t\t\t\t\t * @param array<mixed> $params Params to be sent to the integration.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @return array<mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostId(string $itemId, array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn $itemId;\n\t\t\t\t\t}\n\t\t\t\t`)})]})}function m(t){let{filter:e}=t,n="";if("mailer"===e)n="mailer system";else n="external integration";return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post parameters filter"}),(0,a.jsxs)("p",{children:["Allows modifying form field data before it's sent to ",n,". Useful if you want to make values derived from the sent data, or add new fields."]}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_pre_post_params', 'getIntegrationPrePostParams', 10, 2);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies form field data before it's sent to ${n}.\n\t\t\t\t\t *\n\t\t\t\t\t * @param array<string, mixed> $params Array of params.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string, mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostParams(array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\t$formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? '';\n\n\t\t\t\t\t\tif ($formSubmissionPageLt) {\n\t\t\t\t\t\t\t$params['ib-submission-source'] = [\n\t\t\t\t\t\t\t\t'name' => 'ib-submission-source',\n\t\t\t\t\t\t\t\t'value' => $formSubmissionPageLt,\n\t\t\t\t\t\t\t\t'type' => 'text',\n\t\t\t\t\t\t\t\t'internalType' => '',\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn $params;\n\t\t\t\t\t}\n\t\t\t\t`)})]})}},96616:(t,e,n)=>{function r(t){const e=t.split(/\n/g);for(;0===e[0]?.replace(/\s/g,"").length;)e.shift();for(;0===e[e.length-1]?.replace(/\s/g,"").length;)e.pop();const n=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>t.match(/^\s*/)?.[0]?.length??0)),r=Math.min(...n);return e.map((t=>t.slice(r))).join("\n")}n.d(e,{c:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/5be441ac.0aee3e30.js b/assets/js/5be441ac.0aee3e30.js new file mode 100644 index 000000000..4e3cb633e --- /dev/null +++ b/assets/js/5be441ac.0aee3e30.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[61432],{18820:(e,o,t)=>{t.r(o),t.d(o,{assets:()=>p,contentTitle:()=>r,default:()=>d,frontMatter:()=>i,metadata:()=>a,toc:()=>l});var s=t(17624),n=t(4552);const i={id:"blocks-wrapper",title:"Wrapper"},r=void 0,a={id:"legacy/v8/basics/blocks-wrapper",title:"Wrapper",description:"docs-source",source:"@site/docs/legacy/v8/basics/blocks-wrapper.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/blocks-wrapper",permalink:"/docs/legacy/v8/basics/blocks-wrapper",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-wrapper",title:"Wrapper"},sidebar:"docs",previous:{title:"Component in a Block",permalink:"/docs/legacy/v8/basics/blocks-component-in-block"},next:{title:"Variations",permalink:"/docs/legacy/v8/basics/blocks-variations"}},p={},l=[{value:"Where can I find wrapper options?",id:"where-can-i-find-wrapper-options",level:2},{value:"Additional development options",id:"additional-development-options",level:2},{value:"wrapperUse",id:"wrapperuse",level:3},{value:"wrapperUseShowControl",id:"wrapperuseshowcontrol",level:3},{value:"wrapperUseSimple",id:"wrapperusesimple",level:3},{value:"wrapperUseSimpleShowControl",id:"wrapperusesimpleshowcontrol",level:3},{value:"wrapperDisable",id:"wrapperdisable",level:3},{value:"wrapperParentClass",id:"wrapperparentclass",level:3},{value:"Wrapper limitations",id:"wrapper-limitations",level:2}];function c(e){const o={a:"a",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",strong:"strong",...(0,n.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(o.p,{children:(0,s.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,s.jsx)(o.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(o.p,{children:"The wrapper is our best and most powerful feature. In a nutshell, the wrapper is nothing more than a high order component (parent component)."}),"\n",(0,s.jsx)(o.p,{children:"When setting up block registration, we made it so that every block view (PHP part) passes through the wrapper component before it is registered. This gives us the ability to set multiple shared attributes in one component."}),"\n",(0,s.jsx)(o.p,{children:"The wrapper is designed to be the ultimate top-level component that controls how your block behaves in the website layout. The wrapper is a sort of a 'section' in traditional builders. By default, you can control a whole lot of stuff, but there is an ability to add your custom attributes and fine-tune the wrapper to your project's needs."}),"\n",(0,s.jsx)(o.h2,{id:"where-can-i-find-wrapper-options",children:"Where can I find wrapper options?"}),"\n",(0,s.jsxs)(o.p,{children:["When you open your block editor in the sidebar before every blocks options you will see a ",(0,s.jsx)(o.code,{children:"layout"})," panel that controls the wrapper options:"]}),"\n",(0,s.jsx)(o.p,{children:(0,s.jsx)(o.img,{alt:"Wrapper Closed",src:t(35424).c+"",width:"770",height:"664"})}),"\n",(0,s.jsx)(o.p,{children:"We also made a helper button that describes what each wrapper options does when the layout panel is open:"}),"\n",(0,s.jsx)(o.p,{children:(0,s.jsx)(o.img,{alt:"Wrapper Help Button",src:t(2568).c+"",width:"315",height:"187"})}),"\n",(0,s.jsxs)(o.p,{children:["Here are some of the descriptions that we created but you can add your own icons and options to this modal by providing the additions properties to the ",(0,s.jsx)(o.code,{children:"HelpModal"})," component:"]}),"\n",(0,s.jsx)(o.p,{children:(0,s.jsx)(o.img,{alt:"Wrapper Modal",src:t(8832).c+"",width:"764",height:"740"})}),"\n",(0,s.jsx)(o.h2,{id:"additional-development-options",children:"Additional development options"}),"\n",(0,s.jsxs)(o.p,{children:["Along with the provided details and descriptions for the standard options in the ",(0,s.jsx)(o.code,{children:"HelpModal"})," we have some development specific options for you to check."]}),"\n",(0,s.jsx)(o.h3,{id:"wrapperuse",children:"wrapperUse"}),"\n",(0,s.jsxs)(o.p,{children:["This attribute controls the usage of the wrapper component. It behaves the same way as described in ",(0,s.jsx)(o.a,{href:"blocks-component-in-block#i-dont-need-all-the-component-options-in-my-block",children:"this chapter"}),"."]}),"\n",(0,s.jsx)(o.h3,{id:"wrapperuseshowcontrol",children:"wrapperUseShowControl"}),"\n",(0,s.jsxs)(o.p,{children:["This attribute controls whether you will see the options for block use in the block editor. It behaves the same way as described in ",(0,s.jsx)(o.a,{href:"blocks-component-in-block#i-dont-want-my-editor-to-be-able-to-change-component-options-in-my-block",children:"this chapter"}),"."]}),"\n",(0,s.jsx)(o.h3,{id:"wrapperusesimple",children:"wrapperUseSimple"}),"\n",(0,s.jsxs)(o.p,{children:["We wrapped some options in a specific condition and we call it ",(0,s.jsx)(o.code,{children:"wrapperUseSimple"}),". In general, this attribute is set to ",(0,s.jsx)(o.code,{children:"true"})," when you only want the simplified options on your block. Natively, it is used inside all the inner blocks in the column block because we don't need wrappers inside wrappers inside wrappers (and so on). It's a good rule of thumb to use a simple wrapper in all the inner blocks."]}),"\n",(0,s.jsx)(o.h3,{id:"wrapperusesimpleshowcontrol",children:"wrapperUseSimpleShowControl"}),"\n",(0,s.jsxs)(o.p,{children:["This attribute controls whether you are going to see options in the block editor to use the simple option. It behaves the same way as described in ",(0,s.jsx)(o.a,{href:"blocks-component-in-block#i-dont-want-my-editor-to-be-able-to-change-component-options-in-my-block",children:"this chapter"}),"."]}),"\n",(0,s.jsx)(o.h3,{id:"wrapperdisable",children:"wrapperDisable"}),"\n",(0,s.jsxs)(o.p,{children:["This attribute disables the wrapper completely. When this attribute is set to ",(0,s.jsx)(o.code,{children:"true"}),", you will not have any wrapper options in your block."]}),"\n",(0,s.jsx)(o.h3,{id:"wrapperparentclass",children:"wrapperParentClass"}),"\n",(0,s.jsx)(o.p,{children:"This attribute is interesting to use if, for example, you have a carousel block with inner blocks. To provide the markup necessary for the carousel script to work, you need to add some items selector (a div). With this key, you can pass a parent item class, and all of your items will be wrapped with this selector and a class."}),"\n",(0,s.jsx)(o.h2,{id:"wrapper-limitations",children:"Wrapper limitations"}),"\n",(0,s.jsxs)(o.p,{children:["In wrapper you ",(0,s.jsx)(o.strong,{children:"can't"})," use ",(0,s.jsx)(o.code,{children:"components"})," key in the manifest to automaticity add additional components like you can in the blocks or components. If you want to add component to a wrapper you must manually add it the old fashion way."]})]})}function d(e={}){const{wrapper:o}={...(0,n.M)(),...e.components};return o?(0,s.jsx)(o,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},35424:(e,o,t)=>{t.d(o,{c:()=>s});const s=t.p+"assets/images/wrapper-closed-6d555371a14a7f0576d2334e591904f4.webp"},2568:(e,o,t)=>{t.d(o,{c:()=>s});const s="data:image/webp;base64,UklGRtgVAABXRUJQVlA4IMwVAAAQXACdASo7AbsAPjEYikOiIaESKMUYIAMEs7dwuPCEDq7UjT3jOR/BP4T5k/2/3Ie8T/cexL86+wR+o/+A6iX68eoD9gv9R/lPdb/zP6ze5P0Bv5t/h///62/sQf3j/eewN/I/9F6ZP7kfBl/a/9n+73s8/+TWCupva//PPxk/cT2D8MncL1w/djfl/4D0I/h/0v+of2X9dv65+zn3u+478YPxm9w/Tt+N3wBfin8U/nn5C/3j9nuP8AB+MfxP+0/17+3/7P+2fuf7Zv6r+OHup9Xf8B7gH8K/iP9Q/Hv+4f/r6t/UDyzaAH8d/mP9v/wf7af2L///MR/J/4T9rv7r///fp+Z/2H/Tf4r94P8h9gn8Y/lf9+/uX+X/4P96////c+4D15ftz7Ff6tf8f8/yQoVBvzgagVWFNY1vLAsSnSHeycQ+D/JGbc77TzFKIWIN+gAo7ltWIjJ4+RLf5FiCtpa9MVspned9p8wbZ06N+JHLBOgkbhVeIkZLFt4JgYoQ41o56D3A62k32+RhtzvsVQm9I6uROE74bc77T5g25gtgPkfCByLnDKMOxsWWh1gQ0XISCOuVNYWJChsCDuSa7WOHKG4ZjEz0F59ozAI4KUuP6cEOYisTjQK59nxm9v+A2n60vhc/x2O86psMgNNIa37jYWXqcrGqtS9WMQEhnyybuBeTld0SSz/67e/JJ++Kdxopt9486Xge5ats1QYbPzXnL4TrVZDpGOo0s8EekbCDf6/ZJBtjpTRalzLH25ZoWQi7OGhUuGU1qF4VaeVVmHQqlUptsSIrdMmmZ3lu4gljfALmU4TxxW9EBdVT1JoAKs4hpS68KAqExHTVKSUfb/pH7h7zP0BzTS2c2O3XHtcdfAHODV5Vm0q5QPdhrKzutkR9YC8I5Wz3TRi2rVXHXw3pxMBoJ87dgW4vlIUn+gWKl0ProyF36QPNJEa3lRdfKGPjsKKQhFbjMIIeo8M51NwhMuS/BogAAP7/w3Cn3D+KXMCYP8HTRYzD1jZpcPJSv4M+hgP0IlDmgf+SEci33X0n+cSYwKcsXgwCQhg8pa6mHmuh2ZW8A5mdvVBNCo+xk+/T4qfLR+XWrOwUwnElcfsBdXSqqIkGLp3qXQtpqrajRzDpBx+5kwamUsvMkQxeYwBrRCz0m4T3Xsn6qKqVrfh6EdGthX//k86sgmk9ICnoAL8f+LYb5Q7TckVYYNmmlqwZie79cPnETrvEB+5+csUsYr2IEe9/CcdV3aXliEZLw4HxKzl52hBs4B8P0FgC0ey4cmSzbX//KGGfyyBlAWreJ6CkFccnzYwcVcbaY04WwZzoXXYj2H/7nbB3lh5erb8di2stWa1Uf+f/jYgekgRMdfbWkJ4VkCZ1JjVJwYg7FuBjKU9yp2YrFkCPBGZ9ATTVEYwXOjoYhmR3LfMCvkxJxb//rmId3P9K6Pj1uRr04hOvVM5vzlysExhbjwDHLZSowQNF4bPhWUKNpov/4NvonBNWVPhdpVHRBi/uqHsUgjJ7+XZmf60nX5Hf/+aiXk+R209lRp86YCyuCgqN2JKmZzWtb8LBwGVwCUZLKDF8vOvip1IkylnyG+2MkK8lm+g7VJzPj7I7I2dwbLe5u//415ZcFZkJDY+wJkwsm9b77mcP/5km0kfwSx7mjqHrqFWfPJN+QROdwKcRWWTb9+bSxPy8VVybTcthMZi5f//jSGEcVJwWhWDjzIShsXr7EGmePsYajVNJmQj0lZSutT2C+oO/bNyqolAEDt1LWSlCzeC2OXqplewuzpm2niD7G+RurQqjRpi8Px9BP5uTjUQ6y1g72pKsvkzV2yfyA/t1Bp8k8OwV9ZgtBL6cC+nao3jPi+hCLu67jCGRQeY/sIg2bXqkJXcFeAerw80IjQ9oI9qsDgd2rdzFBdiOC7Yz/wrRBl39SWEWHbyR4uUhAIsJmB+TEa05deNhWy1GXIqpPYQI90zHomicNzFae812Rf3DZKii+Aae1UoTDfe3wsz/ZVHdfTjEG4ku+8+YS+gB+FQV5X9Y5NpCVxhJI7T6Mel8qoNAJBj/wlK4k87mcLliYxN29tGEpZIwUhgARx3ySZwECRK8IiqXEtD3569CZ8yG8O/Lr8rJVSnhXMp5cVBnbhp2ZlR09VtkbhojnV/G/uwfIweCtfG+brys585640oz9QomiLJF0Lw4rSAhMAI/DRgseeTALrwDHEA0Sv5uPMhsebm48yGx5ubjzIbHmylqjz0dFhd2bQGIkFBRtKAAMtu1HSmFkEW5i53i7VhyFgTUevuKANN63olz4Pyizof/7R14K4F+MvOM9w4MXlXpmz2pJFFxYj8KUBtiDqAV3G8aQcsh6Wz8WPxi4YFHIdy0fhXQ64mF6KqgAGGCgipwWQV7js38LsHqUBjIHNK3KCAWHMQtd//yia7HRvAJKKDn7j//i/jn1pELa17xC8bBwmvPH1OxBXepR5iup8yBzrKef4+Itl3wBkpNv4QIVddVYv7b6XYz0AEuFVXx9HAFrO9X4LYoGhbaCB2LQbgBXNydhf3NkPcSrql/T9U97KycnugYH69p5JESyxNbdQt/gV16i536l2oVT74pT/ZnI+HkN7kH0ouigexUsy2znwE0S8JHkCWHfaXnxpvoz/eMv/D98ytbgdj1adQ6Xky1PEf4h7fn+1Kt2eTZ0GzUxhTm2whjD5fwqy3kDcCRyiWM7XS/ivPw0wzoS1GFirjNYt60x8fRrK2X5e1fddjFu6rHzf67jZ/G/G3bDXyGZXfVV3UdncfixWSNPGaPELWWqNM4LKHbDliRWPViX3onphpAgxjaH0o78Rc+zu+o+VilVQ23Ewlo0rQl90wCbmhNaJ7lAhi64R1GzHvrYndnakEjGxFSQDNwNYO34d4Npfh7g2uFQme2aodcz3DeqMqSozwdQaE/cuxYakyPQIxIDvXJPOou66umYRolThh9VlA1HNaGZcS+Irfw594JQGTzienZ9rJkljHdu1RBuWVKnQZcful/bhjvLz2w/++vZ5L3JmjsFM4Qoa/7z99Epp597YLeepzbbxyj8a+zgq9+mswWWh4cjBrqOx+tHFeAmivdqEVTbb1dJlJEww8b0CcobB35/tB6/KwiUTggAORCdCBuW6n+XOwqocZK+strOMDfDxwvzJJXLHbPt6+ST0dPIfIVw+rD4UsET6uaXw2UJfS3tdu1CltUjnxUNRXvLgjVG6LRR+hBZz0P/o99swHD7lIwurEaOUG8DrGC/fne8zWVl0r5vcT/GP/6bGB79d7gYrZca0yxnCM0S1gyxRezcIIFs9pglKCB9OSkUX98cQwiJdKYyF8jXI1Hnl1T0cnJapnscwTlRKJVgBT3PHb2U3OB/ILfGJXwxeb6OkdfiVeznhE1cOYAKQ+9eyw1E9ikuVpM25NHHcSuwifwav2tfwo5mMNsNhStVVnA+cqbTjxGLJ7aCgaCT0trOw/NVcocBgWez5sS1n7w0xjk6bhudE2zs9j/nPxHfianMITUBk2neCN79E7dEkBM8YtEA06FfQOjjAVSdlmzgA4XbA+DJQ7ocg+Wyt5VF3qMALZYPBsQLRhBE3GroyOgEVX4Fd8GN815wlZMN6QXPn7DBa9cKrpAqRCJqfQruQsssMsjZFblZ7jpSUvJFxDXuOdk8SGnMqcKGsvjboXWVsXtfx1Lgql3PW8WQloEFNQ8KZToRnGhClFlDx7asCyR0esGSqSpB/NsteMUN6LZdmeNOTQtuHaepTKkx2GgJCS73JmuD3DViqWr2pWU3yhPjPp+6i5De+krJY+D2USwyNDjcv/9vPKlMSzznKHNI3rCOO+R93C9u6Yav5heNcEo6gvXLtqHJo5VRLMRTDGd1ZigY15UKded/EF7v2wr+zL/cJoXgHoxNak1YIw9f/iFH0tFBtKonfdZMq+wwxB9r83q9oTZRybi1zc1ZJ5YwI0sXGXUxRSdFDQG5GcLliVLYTUEFUTIS/MBHQSzzzdEHNUF2MWw/NVl22vPJR8TqvOI2C1IMRd2xIHKygUAFMhsCfHqfgTE8Qa5C5s2nP1bod45vSbtyOhclsyE2XTlLnrn9Rjatp5Z+vgnxS9RTDEw2EMaV1HRY5d75qstLB9x5EC7ua4kuR4uz3YhDlBsTaercEtHZMjQfr+AKh3RTKZnhRhp16dk3Ib/wKKot6W4UiYfCcev1Z3BS+aKDgZIo4BmUay486IGUSegitCvnZApaZ/+zgVgNdSx5LX3A/03qMoUwbKWV//iIuq0HCvemrziyScM+S106OQwGxMnpzIC587e8Aytz9sv/Cm7m32dyJz2hcqfV/igZCzkwHeMBFws5zm7+pkjwxYWM81Y63TNN+mptY1xPX9jayWiRW5mZgqLQXIk4UjXBP70d3/UAVYBDNc8oDQbAhYhbZrO3+o7XEZXSODmtCYcgg2Ho0qPzB7DBlDNYk7AF5hWTRMXbM0tm9dvWEB6JXS+eG4BSZhDhX6abMwDPiQG0Ro8mcmZ4j4YdwFCi2t4hzAqnS8rQjnFnBq6dXnixiHAa+65zxSkpRWA3sTBZggky6YGcQlOTT7omwGZGNEZsJCuebmyrbdCR/wAKSWWHCVmf8BOJVBBg2TLWnFUyzlmUJDaVvDrfBzsnZ6b73hFZiqWWCOO2NQFLOGJjcFGF+uKA4QGyOV4BQWZXjQjJ/gWyYmNRRz5nDxgyalSGy7gJIa0vcA+fuZ7RGQDnMLFx3xrQWL/Pwn9RQKnsPMl+KQPpu07cymfopVgHeow1BL5gJHe8c2Kt6Ctoao83PPp7SnLiKr15Prz3W0rSABScKe+1hjX3YN5eUGO1ToFRmRx9RDZswm3XJjeJYIarM394qfQbjCIqT16UeX8qs7eT43IBqUdG/l6671YTKjVV2wqkH1cD0jXbjECfkSJHnnqF5IVY+Od97Azh4jWuW3GJ3yqxyMJR+Zktw3p6H/+yvydoCfwPcpY+XHkwqobRzwG7U2vX0R71FceQUP1T9+Vv1x92Vi0SYissbJlB5ZWfQEcW6ULBHyw00qIMrbmBdrKD/wZo3yeg9TSU7qXNHgp5pl0ACFnL0UFeL6MmmMLeu4LKkoKJ2hUsrosFmJa1qX+wVAzqms7BPHsPFsIMq8ldtvm7Kyh5Md+lpYd5RL7bhkgD6dDluf5oxjUMtRwPpT0VkvJOywywpv5ciymBQimjlfmT2Nb0SGs7Gx8KOZt8UopYj8BzYGlBzJB/48+gW9aZUYT/LWgxBuiSDDQABNJn9Vx0n1bpO6L11akNwABZKyab5cGdw0CRNPLQYIU73+IMasmZcC8NIml4XmDMAAf0bNeUWnIJLc2MMPO6OSmJXZVS4yI5xRjGLjJqcXXlz3pAdVMNg//DQ34MgeK6jWmq2FdHFubd/as6mJZ1BUIuBzdQ1gaVlU2n5gNS3JsYCweZgWSKMrWzVHlS97SP+XCFs7swjmFpj1IpnG5PO5HR0Gj1KCR1o7B5Nn94y0O5Sy8cfftERhPGmMPruLzE9IVpAqb9W2mwl2aB5TiDIQy0UUIIvPTuts4G5ElVg/9jCtipqVOmof/cmVf6f6kLm5yQannJ83QeQ1B5/66U3klN78eKPpGBMwj/LrPojsHD/M2Wa/e6Cj37Fi4MmFKkcbHqRzm+KLjQj+vkwGKJ37YU8GKKcdpoQU9weaZgHrEANeDnq+5NZGdTWDLkxv8w6+povwEO4kNdZ3EyOJWQbGMBfQgJOgzPnQzHHD+jeAmqG//j2jHxYZRWh55+gfueW0SER2rd9IW3kNegKJ7TtdhIgjdHtXfVjEjZf4wts/XOVKKLaKns2bNUo2VPIvAh+4o7dbE9Jf/zqOzPwpBtXNXUCERnDgCsLRZTxipdaTUlNPLL64oQrT3UY5q1CBNJROF4HIvOqH4evWve79ddD0ICHGGQQu/HoWN7JaLN/4H8BtD8+KI51k+jeR1fFXUbJzvWOyXMr0zyoEEwiC9lxfmYbPxlc+CLEp/WESmuQxZ80pcpQc04zXFBathqjHroMLSNup4xvjNPgl8RIPrqilH0fPBJA/d/aR6mdMyO7Xb49MQaSwR7wlz08q+YmbuC9Cs6GewGuZvMBaODsdFynKsgG1LjvqA06rVc2wrQwixiebhwp9eU8xEoesn7LJBER73J/C1kR4u8I2dVuh1nm18Bkux/jHvstoQB/CK6oUT21mS+d9W3Fp/zYpjo8mUP7E7dim5TvB4NP+6C59EqYUsjalW5Keznrc9qhldWu7gF3pMy1SAcw2eqpLL1ukuAJopVxaExPTG4goiV6Pu4/+Lk3t3AZ3aVdupT3EfIZDbqk0UdTtK3g4zvcwi3POUra1JvIRKRNH1b87EEFqi/rq0zsiDCLJll/7vdYDxQwiMBLaZsYEe8MXagSt107i9pOj2hEZEDV1B0hGP5vp5OBG6o9dVPu/8RZUyBP6PbDsqto+d8sqErIjy/NnyAV3kITM49fEdXoeaK9MMR8lap/75VWfbDl9IUNkO67YkCtl+z0zmo+mAamrLY/VULMaK9K3G1IVcteB7SiG+QHYDSLUiDzBIp3yEAAABWtNl/ZNAxz7DNhs5TMRfaHh5xs5HfeSSbVMP22KDXXLcKBsXpam4KNZ445Awb4/UgulHkP3WxJMxpFtSL68J0kVGlXEMjduyG0ayjWwylZycm5BUQKv93/wagwobFtef9FDG7C8jtni9Hv3FKlo/b3ynRWMejczT/XvIk9ruwHvGi02chE0jZ6DIeICqXO7RQoHvVFFpAjl7JVZpqsOl2L8anSMQQFPlNt7zvgORzyZUd3zoWVvkAl9eZM4whrGoTHReLWWFZi2Y0nxGG8M4WMyDgwt2P5EJAI29c5G/HQ8+KPWm0SwXtz02UaLm4Y9jnwQjUWj5ZhtUUE2AXFnyA07QQDoENFhRpNZfd8IUtFDBnQ3IRJSzZchEgduiIJ4DWPG7ScRHUaVVOOmCS90Eni044htHJuI6JxOzvowSqa0oIFVRE1iK1tQooyxzxyFInkWCNGv+WHGUnvz9jRwWnEuduLLDPbp7B2KKvYcqxpUR3/lf09ZmJoHBKhIAVYRvA5MIEFyZSUcGyF7fQODkFg1pYM4pDxy17gm0BgiDCe7ItiTCEX/Y51MjMtwkeXxH2r24bvNympZi0ML0gbO8YM4skFmKZv7haKYCa6fzERrFyJZocPi+HKR7pe6AdgwAoypHD+hpbouDOCTo6BVJKNcz8Nq8AnXZOr+q++e9N72AGass3S2bqIT9EGTD6j9fHM91Jn071aOffNDbEZS+taM1NavisF/m9IPOVfa0DMlrJvYYeBPcaJM9A/RfF6MzCbAf9I1FfYNbcg+6RqwiUVOnXfbURec9vDmum+sh/kRuiAFX+eV+WY9hFdvRm9xEiqDY1WxOmoF/5vXZRVWAAAA="},8832:(e,o,t)=>{t.d(o,{c:()=>s});const s=t.p+"assets/images/wrapper-modal-7e522af5e936b203331d1ab5808fb70d.webp"},4552:(e,o,t)=>{t.d(o,{I:()=>a,M:()=>r});var s=t(11504);const n={},i=s.createContext(n);function r(e){const o=s.useContext(i);return s.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(n):e.components||n:r(e.components),s.createElement(i.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5be441ac.290b1fd3.js b/assets/js/5be441ac.290b1fd3.js deleted file mode 100644 index 8b7a325bc..000000000 --- a/assets/js/5be441ac.290b1fd3.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[34339],{77022:(e,o,t)=>{t.r(o),t.d(o,{assets:()=>p,contentTitle:()=>r,default:()=>d,frontMatter:()=>i,metadata:()=>a,toc:()=>l});var s=t(85893),n=t(11151);const i={id:"blocks-wrapper",title:"Wrapper"},r=void 0,a={id:"legacy/v8/basics/blocks-wrapper",title:"Wrapper",description:"docs-source",source:"@site/docs/legacy/v8/basics/blocks-wrapper.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/blocks-wrapper",permalink:"/docs/legacy/v8/basics/blocks-wrapper",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-wrapper",title:"Wrapper"},sidebar:"docs",previous:{title:"Component in a Block",permalink:"/docs/legacy/v8/basics/blocks-component-in-block"},next:{title:"Variations",permalink:"/docs/legacy/v8/basics/blocks-variations"}},p={},l=[{value:"Where can I find wrapper options?",id:"where-can-i-find-wrapper-options",level:2},{value:"Additional development options",id:"additional-development-options",level:2},{value:"wrapperUse",id:"wrapperuse",level:3},{value:"wrapperUseShowControl",id:"wrapperuseshowcontrol",level:3},{value:"wrapperUseSimple",id:"wrapperusesimple",level:3},{value:"wrapperUseSimpleShowControl",id:"wrapperusesimpleshowcontrol",level:3},{value:"wrapperDisable",id:"wrapperdisable",level:3},{value:"wrapperParentClass",id:"wrapperparentclass",level:3},{value:"Wrapper limitations",id:"wrapper-limitations",level:2}];function c(e){const o={a:"a",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",strong:"strong",...(0,n.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(o.p,{children:(0,s.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,s.jsx)(o.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(o.p,{children:"The wrapper is our best and most powerful feature. In a nutshell, the wrapper is nothing more than a high order component (parent component)."}),"\n",(0,s.jsx)(o.p,{children:"When setting up block registration, we made it so that every block view (PHP part) passes through the wrapper component before it is registered. This gives us the ability to set multiple shared attributes in one component."}),"\n",(0,s.jsx)(o.p,{children:"The wrapper is designed to be the ultimate top-level component that controls how your block behaves in the website layout. The wrapper is a sort of a 'section' in traditional builders. By default, you can control a whole lot of stuff, but there is an ability to add your custom attributes and fine-tune the wrapper to your project's needs."}),"\n",(0,s.jsx)(o.h2,{id:"where-can-i-find-wrapper-options",children:"Where can I find wrapper options?"}),"\n",(0,s.jsxs)(o.p,{children:["When you open your block editor in the sidebar before every blocks options you will see a ",(0,s.jsx)(o.code,{children:"layout"})," panel that controls the wrapper options:"]}),"\n",(0,s.jsx)(o.p,{children:(0,s.jsx)(o.img,{alt:"Wrapper Closed",src:t(40701).Z+"",width:"770",height:"664"})}),"\n",(0,s.jsx)(o.p,{children:"We also made a helper button that describes what each wrapper options does when the layout panel is open:"}),"\n",(0,s.jsx)(o.p,{children:(0,s.jsx)(o.img,{alt:"Wrapper Help Button",src:t(58964).Z+"",width:"315",height:"187"})}),"\n",(0,s.jsxs)(o.p,{children:["Here are some of the descriptions that we created but you can add your own icons and options to this modal by providing the additions properties to the ",(0,s.jsx)(o.code,{children:"HelpModal"})," component:"]}),"\n",(0,s.jsx)(o.p,{children:(0,s.jsx)(o.img,{alt:"Wrapper Modal",src:t(66348).Z+"",width:"764",height:"740"})}),"\n",(0,s.jsx)(o.h2,{id:"additional-development-options",children:"Additional development options"}),"\n",(0,s.jsxs)(o.p,{children:["Along with the provided details and descriptions for the standard options in the ",(0,s.jsx)(o.code,{children:"HelpModal"})," we have some development specific options for you to check."]}),"\n",(0,s.jsx)(o.h3,{id:"wrapperuse",children:"wrapperUse"}),"\n",(0,s.jsxs)(o.p,{children:["This attribute controls the usage of the wrapper component. It behaves the same way as described in ",(0,s.jsx)(o.a,{href:"blocks-component-in-block#i-dont-need-all-the-component-options-in-my-block",children:"this chapter"}),"."]}),"\n",(0,s.jsx)(o.h3,{id:"wrapperuseshowcontrol",children:"wrapperUseShowControl"}),"\n",(0,s.jsxs)(o.p,{children:["This attribute controls whether you will see the options for block use in the block editor. It behaves the same way as described in ",(0,s.jsx)(o.a,{href:"blocks-component-in-block#i-dont-want-my-editor-to-be-able-to-change-component-options-in-my-block",children:"this chapter"}),"."]}),"\n",(0,s.jsx)(o.h3,{id:"wrapperusesimple",children:"wrapperUseSimple"}),"\n",(0,s.jsxs)(o.p,{children:["We wrapped some options in a specific condition and we call it ",(0,s.jsx)(o.code,{children:"wrapperUseSimple"}),". In general, this attribute is set to ",(0,s.jsx)(o.code,{children:"true"})," when you only want the simplified options on your block. Natively, it is used inside all the inner blocks in the column block because we don't need wrappers inside wrappers inside wrappers (and so on). It's a good rule of thumb to use a simple wrapper in all the inner blocks."]}),"\n",(0,s.jsx)(o.h3,{id:"wrapperusesimpleshowcontrol",children:"wrapperUseSimpleShowControl"}),"\n",(0,s.jsxs)(o.p,{children:["This attribute controls whether you are going to see options in the block editor to use the simple option. It behaves the same way as described in ",(0,s.jsx)(o.a,{href:"blocks-component-in-block#i-dont-want-my-editor-to-be-able-to-change-component-options-in-my-block",children:"this chapter"}),"."]}),"\n",(0,s.jsx)(o.h3,{id:"wrapperdisable",children:"wrapperDisable"}),"\n",(0,s.jsxs)(o.p,{children:["This attribute disables the wrapper completely. When this attribute is set to ",(0,s.jsx)(o.code,{children:"true"}),", you will not have any wrapper options in your block."]}),"\n",(0,s.jsx)(o.h3,{id:"wrapperparentclass",children:"wrapperParentClass"}),"\n",(0,s.jsx)(o.p,{children:"This attribute is interesting to use if, for example, you have a carousel block with inner blocks. To provide the markup necessary for the carousel script to work, you need to add some items selector (a div). With this key, you can pass a parent item class, and all of your items will be wrapped with this selector and a class."}),"\n",(0,s.jsx)(o.h2,{id:"wrapper-limitations",children:"Wrapper limitations"}),"\n",(0,s.jsxs)(o.p,{children:["In wrapper you ",(0,s.jsx)(o.strong,{children:"can't"})," use ",(0,s.jsx)(o.code,{children:"components"})," key in the manifest to automaticity add additional components like you can in the blocks or components. If you want to add component to a wrapper you must manually add it the old fashion way."]})]})}function d(e={}){const{wrapper:o}={...(0,n.a)(),...e.components};return o?(0,s.jsx)(o,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},40701:(e,o,t)=>{t.d(o,{Z:()=>s});const s=t.p+"assets/images/wrapper-closed-6d555371a14a7f0576d2334e591904f4.webp"},58964:(e,o,t)=>{t.d(o,{Z:()=>s});const s="data:image/webp;base64,UklGRtgVAABXRUJQVlA4IMwVAAAQXACdASo7AbsAPjEYikOiIaESKMUYIAMEs7dwuPCEDq7UjT3jOR/BP4T5k/2/3Ie8T/cexL86+wR+o/+A6iX68eoD9gv9R/lPdb/zP6ze5P0Bv5t/h///62/sQf3j/eewN/I/9F6ZP7kfBl/a/9n+73s8/+TWCupva//PPxk/cT2D8MncL1w/djfl/4D0I/h/0v+of2X9dv65+zn3u+478YPxm9w/Tt+N3wBfin8U/nn5C/3j9nuP8AB+MfxP+0/17+3/7P+2fuf7Zv6r+OHup9Xf8B7gH8K/iP9Q/Hv+4f/r6t/UDyzaAH8d/mP9v/wf7af2L///MR/J/4T9rv7r///fp+Z/2H/Tf4r94P8h9gn8Y/lf9+/uX+X/4P96////c+4D15ftz7Ff6tf8f8/yQoVBvzgagVWFNY1vLAsSnSHeycQ+D/JGbc77TzFKIWIN+gAo7ltWIjJ4+RLf5FiCtpa9MVspned9p8wbZ06N+JHLBOgkbhVeIkZLFt4JgYoQ41o56D3A62k32+RhtzvsVQm9I6uROE74bc77T5g25gtgPkfCByLnDKMOxsWWh1gQ0XISCOuVNYWJChsCDuSa7WOHKG4ZjEz0F59ozAI4KUuP6cEOYisTjQK59nxm9v+A2n60vhc/x2O86psMgNNIa37jYWXqcrGqtS9WMQEhnyybuBeTld0SSz/67e/JJ++Kdxopt9486Xge5ats1QYbPzXnL4TrVZDpGOo0s8EekbCDf6/ZJBtjpTRalzLH25ZoWQi7OGhUuGU1qF4VaeVVmHQqlUptsSIrdMmmZ3lu4gljfALmU4TxxW9EBdVT1JoAKs4hpS68KAqExHTVKSUfb/pH7h7zP0BzTS2c2O3XHtcdfAHODV5Vm0q5QPdhrKzutkR9YC8I5Wz3TRi2rVXHXw3pxMBoJ87dgW4vlIUn+gWKl0ProyF36QPNJEa3lRdfKGPjsKKQhFbjMIIeo8M51NwhMuS/BogAAP7/w3Cn3D+KXMCYP8HTRYzD1jZpcPJSv4M+hgP0IlDmgf+SEci33X0n+cSYwKcsXgwCQhg8pa6mHmuh2ZW8A5mdvVBNCo+xk+/T4qfLR+XWrOwUwnElcfsBdXSqqIkGLp3qXQtpqrajRzDpBx+5kwamUsvMkQxeYwBrRCz0m4T3Xsn6qKqVrfh6EdGthX//k86sgmk9ICnoAL8f+LYb5Q7TckVYYNmmlqwZie79cPnETrvEB+5+csUsYr2IEe9/CcdV3aXliEZLw4HxKzl52hBs4B8P0FgC0ey4cmSzbX//KGGfyyBlAWreJ6CkFccnzYwcVcbaY04WwZzoXXYj2H/7nbB3lh5erb8di2stWa1Uf+f/jYgekgRMdfbWkJ4VkCZ1JjVJwYg7FuBjKU9yp2YrFkCPBGZ9ATTVEYwXOjoYhmR3LfMCvkxJxb//rmId3P9K6Pj1uRr04hOvVM5vzlysExhbjwDHLZSowQNF4bPhWUKNpov/4NvonBNWVPhdpVHRBi/uqHsUgjJ7+XZmf60nX5Hf/+aiXk+R209lRp86YCyuCgqN2JKmZzWtb8LBwGVwCUZLKDF8vOvip1IkylnyG+2MkK8lm+g7VJzPj7I7I2dwbLe5u//415ZcFZkJDY+wJkwsm9b77mcP/5km0kfwSx7mjqHrqFWfPJN+QROdwKcRWWTb9+bSxPy8VVybTcthMZi5f//jSGEcVJwWhWDjzIShsXr7EGmePsYajVNJmQj0lZSutT2C+oO/bNyqolAEDt1LWSlCzeC2OXqplewuzpm2niD7G+RurQqjRpi8Px9BP5uTjUQ6y1g72pKsvkzV2yfyA/t1Bp8k8OwV9ZgtBL6cC+nao3jPi+hCLu67jCGRQeY/sIg2bXqkJXcFeAerw80IjQ9oI9qsDgd2rdzFBdiOC7Yz/wrRBl39SWEWHbyR4uUhAIsJmB+TEa05deNhWy1GXIqpPYQI90zHomicNzFae812Rf3DZKii+Aae1UoTDfe3wsz/ZVHdfTjEG4ku+8+YS+gB+FQV5X9Y5NpCVxhJI7T6Mel8qoNAJBj/wlK4k87mcLliYxN29tGEpZIwUhgARx3ySZwECRK8IiqXEtD3569CZ8yG8O/Lr8rJVSnhXMp5cVBnbhp2ZlR09VtkbhojnV/G/uwfIweCtfG+brys585640oz9QomiLJF0Lw4rSAhMAI/DRgseeTALrwDHEA0Sv5uPMhsebm48yGx5ubjzIbHmylqjz0dFhd2bQGIkFBRtKAAMtu1HSmFkEW5i53i7VhyFgTUevuKANN63olz4Pyizof/7R14K4F+MvOM9w4MXlXpmz2pJFFxYj8KUBtiDqAV3G8aQcsh6Wz8WPxi4YFHIdy0fhXQ64mF6KqgAGGCgipwWQV7js38LsHqUBjIHNK3KCAWHMQtd//yia7HRvAJKKDn7j//i/jn1pELa17xC8bBwmvPH1OxBXepR5iup8yBzrKef4+Itl3wBkpNv4QIVddVYv7b6XYz0AEuFVXx9HAFrO9X4LYoGhbaCB2LQbgBXNydhf3NkPcSrql/T9U97KycnugYH69p5JESyxNbdQt/gV16i536l2oVT74pT/ZnI+HkN7kH0ouigexUsy2znwE0S8JHkCWHfaXnxpvoz/eMv/D98ytbgdj1adQ6Xky1PEf4h7fn+1Kt2eTZ0GzUxhTm2whjD5fwqy3kDcCRyiWM7XS/ivPw0wzoS1GFirjNYt60x8fRrK2X5e1fddjFu6rHzf67jZ/G/G3bDXyGZXfVV3UdncfixWSNPGaPELWWqNM4LKHbDliRWPViX3onphpAgxjaH0o78Rc+zu+o+VilVQ23Ewlo0rQl90wCbmhNaJ7lAhi64R1GzHvrYndnakEjGxFSQDNwNYO34d4Npfh7g2uFQme2aodcz3DeqMqSozwdQaE/cuxYakyPQIxIDvXJPOou66umYRolThh9VlA1HNaGZcS+Irfw594JQGTzienZ9rJkljHdu1RBuWVKnQZcful/bhjvLz2w/++vZ5L3JmjsFM4Qoa/7z99Epp597YLeepzbbxyj8a+zgq9+mswWWh4cjBrqOx+tHFeAmivdqEVTbb1dJlJEww8b0CcobB35/tB6/KwiUTggAORCdCBuW6n+XOwqocZK+strOMDfDxwvzJJXLHbPt6+ST0dPIfIVw+rD4UsET6uaXw2UJfS3tdu1CltUjnxUNRXvLgjVG6LRR+hBZz0P/o99swHD7lIwurEaOUG8DrGC/fne8zWVl0r5vcT/GP/6bGB79d7gYrZca0yxnCM0S1gyxRezcIIFs9pglKCB9OSkUX98cQwiJdKYyF8jXI1Hnl1T0cnJapnscwTlRKJVgBT3PHb2U3OB/ILfGJXwxeb6OkdfiVeznhE1cOYAKQ+9eyw1E9ikuVpM25NHHcSuwifwav2tfwo5mMNsNhStVVnA+cqbTjxGLJ7aCgaCT0trOw/NVcocBgWez5sS1n7w0xjk6bhudE2zs9j/nPxHfianMITUBk2neCN79E7dEkBM8YtEA06FfQOjjAVSdlmzgA4XbA+DJQ7ocg+Wyt5VF3qMALZYPBsQLRhBE3GroyOgEVX4Fd8GN815wlZMN6QXPn7DBa9cKrpAqRCJqfQruQsssMsjZFblZ7jpSUvJFxDXuOdk8SGnMqcKGsvjboXWVsXtfx1Lgql3PW8WQloEFNQ8KZToRnGhClFlDx7asCyR0esGSqSpB/NsteMUN6LZdmeNOTQtuHaepTKkx2GgJCS73JmuD3DViqWr2pWU3yhPjPp+6i5De+krJY+D2USwyNDjcv/9vPKlMSzznKHNI3rCOO+R93C9u6Yav5heNcEo6gvXLtqHJo5VRLMRTDGd1ZigY15UKded/EF7v2wr+zL/cJoXgHoxNak1YIw9f/iFH0tFBtKonfdZMq+wwxB9r83q9oTZRybi1zc1ZJ5YwI0sXGXUxRSdFDQG5GcLliVLYTUEFUTIS/MBHQSzzzdEHNUF2MWw/NVl22vPJR8TqvOI2C1IMRd2xIHKygUAFMhsCfHqfgTE8Qa5C5s2nP1bod45vSbtyOhclsyE2XTlLnrn9Rjatp5Z+vgnxS9RTDEw2EMaV1HRY5d75qstLB9x5EC7ua4kuR4uz3YhDlBsTaercEtHZMjQfr+AKh3RTKZnhRhp16dk3Ib/wKKot6W4UiYfCcev1Z3BS+aKDgZIo4BmUay486IGUSegitCvnZApaZ/+zgVgNdSx5LX3A/03qMoUwbKWV//iIuq0HCvemrziyScM+S106OQwGxMnpzIC587e8Aytz9sv/Cm7m32dyJz2hcqfV/igZCzkwHeMBFws5zm7+pkjwxYWM81Y63TNN+mptY1xPX9jayWiRW5mZgqLQXIk4UjXBP70d3/UAVYBDNc8oDQbAhYhbZrO3+o7XEZXSODmtCYcgg2Ho0qPzB7DBlDNYk7AF5hWTRMXbM0tm9dvWEB6JXS+eG4BSZhDhX6abMwDPiQG0Ro8mcmZ4j4YdwFCi2t4hzAqnS8rQjnFnBq6dXnixiHAa+65zxSkpRWA3sTBZggky6YGcQlOTT7omwGZGNEZsJCuebmyrbdCR/wAKSWWHCVmf8BOJVBBg2TLWnFUyzlmUJDaVvDrfBzsnZ6b73hFZiqWWCOO2NQFLOGJjcFGF+uKA4QGyOV4BQWZXjQjJ/gWyYmNRRz5nDxgyalSGy7gJIa0vcA+fuZ7RGQDnMLFx3xrQWL/Pwn9RQKnsPMl+KQPpu07cymfopVgHeow1BL5gJHe8c2Kt6Ctoao83PPp7SnLiKr15Prz3W0rSABScKe+1hjX3YN5eUGO1ToFRmRx9RDZswm3XJjeJYIarM394qfQbjCIqT16UeX8qs7eT43IBqUdG/l6671YTKjVV2wqkH1cD0jXbjECfkSJHnnqF5IVY+Od97Azh4jWuW3GJ3yqxyMJR+Zktw3p6H/+yvydoCfwPcpY+XHkwqobRzwG7U2vX0R71FceQUP1T9+Vv1x92Vi0SYissbJlB5ZWfQEcW6ULBHyw00qIMrbmBdrKD/wZo3yeg9TSU7qXNHgp5pl0ACFnL0UFeL6MmmMLeu4LKkoKJ2hUsrosFmJa1qX+wVAzqms7BPHsPFsIMq8ldtvm7Kyh5Md+lpYd5RL7bhkgD6dDluf5oxjUMtRwPpT0VkvJOywywpv5ciymBQimjlfmT2Nb0SGs7Gx8KOZt8UopYj8BzYGlBzJB/48+gW9aZUYT/LWgxBuiSDDQABNJn9Vx0n1bpO6L11akNwABZKyab5cGdw0CRNPLQYIU73+IMasmZcC8NIml4XmDMAAf0bNeUWnIJLc2MMPO6OSmJXZVS4yI5xRjGLjJqcXXlz3pAdVMNg//DQ34MgeK6jWmq2FdHFubd/as6mJZ1BUIuBzdQ1gaVlU2n5gNS3JsYCweZgWSKMrWzVHlS97SP+XCFs7swjmFpj1IpnG5PO5HR0Gj1KCR1o7B5Nn94y0O5Sy8cfftERhPGmMPruLzE9IVpAqb9W2mwl2aB5TiDIQy0UUIIvPTuts4G5ElVg/9jCtipqVOmof/cmVf6f6kLm5yQannJ83QeQ1B5/66U3klN78eKPpGBMwj/LrPojsHD/M2Wa/e6Cj37Fi4MmFKkcbHqRzm+KLjQj+vkwGKJ37YU8GKKcdpoQU9weaZgHrEANeDnq+5NZGdTWDLkxv8w6+povwEO4kNdZ3EyOJWQbGMBfQgJOgzPnQzHHD+jeAmqG//j2jHxYZRWh55+gfueW0SER2rd9IW3kNegKJ7TtdhIgjdHtXfVjEjZf4wts/XOVKKLaKns2bNUo2VPIvAh+4o7dbE9Jf/zqOzPwpBtXNXUCERnDgCsLRZTxipdaTUlNPLL64oQrT3UY5q1CBNJROF4HIvOqH4evWve79ddD0ICHGGQQu/HoWN7JaLN/4H8BtD8+KI51k+jeR1fFXUbJzvWOyXMr0zyoEEwiC9lxfmYbPxlc+CLEp/WESmuQxZ80pcpQc04zXFBathqjHroMLSNup4xvjNPgl8RIPrqilH0fPBJA/d/aR6mdMyO7Xb49MQaSwR7wlz08q+YmbuC9Cs6GewGuZvMBaODsdFynKsgG1LjvqA06rVc2wrQwixiebhwp9eU8xEoesn7LJBER73J/C1kR4u8I2dVuh1nm18Bkux/jHvstoQB/CK6oUT21mS+d9W3Fp/zYpjo8mUP7E7dim5TvB4NP+6C59EqYUsjalW5Keznrc9qhldWu7gF3pMy1SAcw2eqpLL1ukuAJopVxaExPTG4goiV6Pu4/+Lk3t3AZ3aVdupT3EfIZDbqk0UdTtK3g4zvcwi3POUra1JvIRKRNH1b87EEFqi/rq0zsiDCLJll/7vdYDxQwiMBLaZsYEe8MXagSt107i9pOj2hEZEDV1B0hGP5vp5OBG6o9dVPu/8RZUyBP6PbDsqto+d8sqErIjy/NnyAV3kITM49fEdXoeaK9MMR8lap/75VWfbDl9IUNkO67YkCtl+z0zmo+mAamrLY/VULMaK9K3G1IVcteB7SiG+QHYDSLUiDzBIp3yEAAABWtNl/ZNAxz7DNhs5TMRfaHh5xs5HfeSSbVMP22KDXXLcKBsXpam4KNZ445Awb4/UgulHkP3WxJMxpFtSL68J0kVGlXEMjduyG0ayjWwylZycm5BUQKv93/wagwobFtef9FDG7C8jtni9Hv3FKlo/b3ynRWMejczT/XvIk9ruwHvGi02chE0jZ6DIeICqXO7RQoHvVFFpAjl7JVZpqsOl2L8anSMQQFPlNt7zvgORzyZUd3zoWVvkAl9eZM4whrGoTHReLWWFZi2Y0nxGG8M4WMyDgwt2P5EJAI29c5G/HQ8+KPWm0SwXtz02UaLm4Y9jnwQjUWj5ZhtUUE2AXFnyA07QQDoENFhRpNZfd8IUtFDBnQ3IRJSzZchEgduiIJ4DWPG7ScRHUaVVOOmCS90Eni044htHJuI6JxOzvowSqa0oIFVRE1iK1tQooyxzxyFInkWCNGv+WHGUnvz9jRwWnEuduLLDPbp7B2KKvYcqxpUR3/lf09ZmJoHBKhIAVYRvA5MIEFyZSUcGyF7fQODkFg1pYM4pDxy17gm0BgiDCe7ItiTCEX/Y51MjMtwkeXxH2r24bvNympZi0ML0gbO8YM4skFmKZv7haKYCa6fzERrFyJZocPi+HKR7pe6AdgwAoypHD+hpbouDOCTo6BVJKNcz8Nq8AnXZOr+q++e9N72AGass3S2bqIT9EGTD6j9fHM91Jn071aOffNDbEZS+taM1NavisF/m9IPOVfa0DMlrJvYYeBPcaJM9A/RfF6MzCbAf9I1FfYNbcg+6RqwiUVOnXfbURec9vDmum+sh/kRuiAFX+eV+WY9hFdvRm9xEiqDY1WxOmoF/5vXZRVWAAAA="},66348:(e,o,t)=>{t.d(o,{Z:()=>s});const s=t.p+"assets/images/wrapper-modal-7e522af5e936b203331d1ab5808fb70d.webp"},11151:(e,o,t)=>{t.d(o,{Z:()=>a,a:()=>r});var s=t(67294);const n={},i=s.createContext(n);function r(e){const o=s.useContext(i);return s.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(n):e.components||n:r(e.components),s.createElement(i.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5bf26d11.46d169a4.js b/assets/js/5bf26d11.46d169a4.js new file mode 100644 index 000000000..1db71e202 --- /dev/null +++ b/assets/js/5bf26d11.46d169a4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[89712],{92308:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>r,contentTitle:()=>o,default:()=>h,frontMatter:()=>i,metadata:()=>c,toc:()=>l});var t=s(17624),a=s(4552);const i={id:"autowiring",title:"Autowiring"},o=void 0,c={id:"legacy/v6/basics/autowiring",title:"Autowiring",description:"docs-source",source:"@site/docs/legacy/v6/basics/autowiring.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/autowiring",permalink:"/docs/legacy/v6/basics/autowiring",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"autowiring",title:"Autowiring"},sidebar:"docs",previous:{title:"Extending Classes",permalink:"/docs/legacy/v6/basics/extending-classes"},next:{title:"Example Class",permalink:"/docs/legacy/v6/basics/example-class"}},r={},l=[{value:"How it works",id:"how-it-works",level:2},{value:"What if I have to mock or manually call a class?",id:"what-if-i-have-to-mock-or-manually-call-a-class",level:3},{value:"What if my class doesn't have anything inside a constructor method? (no dependencies)",id:"what-if-my-class-doesnt-have-anything-inside-a-constructor-method-no-dependencies",level:3},{value:"What if my class has a <strong>primitive parameter</strong> (<code>string</code>, <code>int</code>, etc.) inside a constructor method?",id:"what-if-my-class-has-a-primitive-parameter-string-int-etc-inside-a-constructor-method",level:3},{value:"What if my class does have another class as a parameter inside a constructor method?",id:"what-if-my-class-does-have-another-class-as-a-parameter-inside-a-constructor-method",level:3},{value:"What if my class has an interface parameter inside the constructor method?",id:"what-if-my-class-has-an-interface-parameter-inside-the-constructor-method",level:3},{value:"Example",id:"example",level:4},{value:"To sum it up",id:"to-sum-it-up",level:2}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",em:"em",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/tree/4.0.0",children:(0,t.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsx)(n.p,{children:"What is autowiring?"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.em,{children:"Autowiring is an exotic word that represents something very simple: the container's ability to create and inject dependencies automatically."})}),"\n",(0,t.jsxs)(n.p,{children:["The quote is taken from the ",(0,t.jsx)(n.a,{href:"https://php-di.org/doc/autowiring.html",children:"PHP-DI"})," library that we use."]}),"\n",(0,t.jsx)(n.p,{children:"In a nutshell, we use a dependency injection (DI) container to load all your service classes. Alongside the DI container, we also use the PSR-4 coding standard for autoloading. That allows us to predict what your file/folder structure will look like in correlation to the namespace. With that in mind, you don't have to worry about requiring your classes. Our autoloading takes care of everything. All you need to do is follow a few coding standards so that you can automatically inject other classes as dependencies."}),"\n",(0,t.jsxs)(n.p,{children:["Autowiring runs inside the ",(0,t.jsx)(n.code,{children:"Main"})," service class as an extended class of our ",(0,t.jsx)(n.code,{children:"AbstractMain"})," class. You can install the main class using this command:"]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"wp boilerplate create_main"})}),"\n",(0,t.jsx)(n.h2,{id:"how-it-works",children:"How it works"}),"\n",(0,t.jsx)(n.p,{children:"Here is a quick overview of how this works:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"You create a new class manually or using the WP-CLI command."}),"\n",(0,t.jsx)(n.li,{children:"PSR-4 should detect your new class if you followed the PSR-4 naming standard."}),"\n",(0,t.jsxs)(n.li,{children:["The new class is added to the ",(0,t.jsx)(n.code,{children:"classmap"})," array inside the ",(0,t.jsx)(n.code,{children:"vendor"})," folder."]}),"\n",(0,t.jsx)(n.li,{children:"Autowiring class reads the new class, checks if your class has any class dependencies, and injects them."}),"\n",(0,t.jsx)(n.li,{children:"And it just works."}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"To put it shortly"}),": just add a new class (that is PSR-4 compliant) with or without some class dependencies and everything will be automatically resolved/injected."]}),"\n",(0,t.jsx)(n.h3,{id:"what-if-i-have-to-mock-or-manually-call-a-class",children:"What if I have to mock or manually call a class?"}),"\n",(0,t.jsx)(n.p,{children:"Before we start with the automatization and autowiring, let's see how service classes are called manually."}),"\n",(0,t.jsx)(n.p,{children:"We can think of these scenarios where you want to load a class manually:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"You have to write tests and manually provide mocked classes."}),"\n",(0,t.jsx)(n.li,{children:"Your classes have a custom structure and autowiring can't resolve it."}),"\n",(0,t.jsxs)(n.li,{children:["You want to provide a primitive parameter (",(0,t.jsx)(n.code,{children:"string"}),", ",(0,t.jsx)(n.code,{children:"int"}),", etc.) inside a constructor method."]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["In those cases, you can manually provide your DI container with the implementation using the ",(0,t.jsx)(n.code,{children:"getServiceClasses"})," method inside the ",(0,t.jsx)(n.code,{children:"src>Main>Main.php"})," class."]}),"\n",(0,t.jsx)(n.p,{children:"Provide the method and add your custom implementation like this:"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"src>Main>Main.php"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:" /**\n * Get the list of services to register.\n *\n * A list of classes which contain hooks.\n *\n * @return array<class-string, string|string[]> Array of fully qualified service class names.\n */\n protected function getServiceClasses(): array\n {\n return [\n\n // If you are using a class as a DI.\n ProjectNamespace\\Rest\\Routes\\DocumentsRoute::class => [\n ProjectNamespace\\Query\\Documents\\QueryDocuments::class\n ],\n\n // If you just want to include a simple class with no DI.\n ProjectNamespace\\CoolFolder\\CoolClass::class,\n ];\n }\n"})}),"\n",(0,t.jsx)(n.h3,{id:"what-if-my-class-doesnt-have-anything-inside-a-constructor-method-no-dependencies",children:"What if my class doesn't have anything inside a constructor method? (no dependencies)"}),"\n",(0,t.jsxs)(n.p,{children:["If your class ",(0,t.jsx)(n.strong,{children:"doesn't have"})," anything defined in the constructor method, autoloading will require your class.\nThis just means that you are not using dependency injection (since you have nothing to inject)."]}),"\n",(0,t.jsxs)(n.h3,{id:"what-if-my-class-has-a-primitive-parameter-string-int-etc-inside-a-constructor-method",children:["What if my class has a ",(0,t.jsx)(n.strong,{children:"primitive parameter"})," (",(0,t.jsx)(n.code,{children:"string"}),", ",(0,t.jsx)(n.code,{children:"int"}),", etc.) inside a constructor method?"]}),"\n",(0,t.jsxs)(n.p,{children:["If your class ",(0,t.jsx)(n.strong,{children:"has"})," a primitive parameter defined in the constructor method, autowiring will ",(0,t.jsx)(n.strong,{children:"not know"})," how to handle this so you must manually provide the primitive parameters at the point of usage. You can find more information about that ",(0,t.jsx)(n.a,{href:"#what-if-i-have-to-mock-or-manually-call-a-class",children:"here"}),"."]}),"\n",(0,t.jsx)(n.h3,{id:"what-if-my-class-does-have-another-class-as-a-parameter-inside-a-constructor-method",children:"What if my class does have another class as a parameter inside a constructor method?"}),"\n",(0,t.jsx)(n.p,{children:"This works out of the box, but you shouldn't really do this."}),"\n",(0,t.jsx)(n.p,{children:"A good coding practice is that your class should never depend on the concrete class implementation because you have tightly coupled your class to another class. This makes it hard to test and your code becomes hard to modify. Imagine that you have put a concrete implementation as a dependency, only to get feedback from the client that you need to change that implementation for a completely different one. Making the changes means that you'll need to track all the places in your codebase where you have used some functionality from this class, and change it completely."}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsx)(n.p,{children:"You should always code against interfaces and not implementation."}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["We can't stress this enough because as your project grows, so will your headaches. Also, when you start testing your code, that is when your hair will begin to fall off. We recommend reading Uncle Bob Martin's ",(0,t.jsx)(n.a,{href:"http://cleancoder.com/products",children:"Clean Code"}),". That will save you a lot of sleepless nights, and you'll learn tons of tips and tricks for writing clean code."]}),"\n",(0,t.jsx)(n.h3,{id:"what-if-my-class-has-an-interface-parameter-inside-the-constructor-method",children:"What if my class has an interface parameter inside the constructor method?"}),"\n",(0,t.jsx)(n.p,{children:"This will automatically be resolved (same as with class parameters) if you follow one simple rule:"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsx)(n.p,{children:"Variable name in your constructor method needs to match the class name (which implements the interface) in camelCase."}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["For example, let's say you have a ",(0,t.jsx)(n.code,{children:"SteeringWheel"})," class:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"class SteeringWheel implements CarPartInterface\n"})}),"\n",(0,t.jsx)(n.p,{children:"and you want to have this as a dependency in Car class. Your Car class has the following constructor:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"public function __construct(CarPartInterface $steeringWheel)\n{\n $this->steeringWheel = $steeringWheel;\n}\n"})}),"\n",(0,t.jsxs)(n.p,{children:["Since the injected variable name ",(0,t.jsx)(n.code,{children:"$steeringWheel"})," is the camelCase version of the class name ",(0,t.jsx)(n.code,{children:"SteeringWheel"})," which implements ",(0,t.jsx)(n.code,{children:"CarPartInterface"}),", autowiring will know to inject the correct class and everything will work fine."]}),"\n",(0,t.jsx)(n.p,{children:"If you understand everything from the upper example, you can just skip the next one. However, we recommend checking out the following example for a more detailed overview."}),"\n",(0,t.jsx)(n.h4,{id:"example",children:"Example"}),"\n",(0,t.jsxs)(n.p,{children:["Let's set a scene. You have created a ",(0,t.jsx)(n.code,{children:"DocumentsRoute"})," class and it needs some functionality from the ",(0,t.jsx)(n.code,{children:"QueryDocuments"})," class."]}),"\n",(0,t.jsx)(n.p,{children:"Steps you need to follow are:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["You should create an interface with all the methods you need in the ",(0,t.jsx)(n.code,{children:"DocumentsRoute"})," class. Let's call it ",(0,t.jsx)(n.code,{children:"QueryDocumentsInterface"}),". We'll put it inside the ",(0,t.jsx)(n.code,{children:"src/Query/Documents"})," folder."]}),"\n",(0,t.jsxs)(n.li,{children:["Your ",(0,t.jsx)(n.code,{children:"QueryDocuments"})," class should implement your new ",(0,t.jsx)(n.code,{children:"QueryDocumentsInterface"})," class and have all the methods from the interface implemented."]}),"\n",(0,t.jsxs)(n.li,{children:["In your ",(0,t.jsx)(n.code,{children:"DocumentsRoute"})," class, provide the ",(0,t.jsx)(n.code,{children:"QueryDocumentsInterface"})," interface as a parameter inside the ",(0,t.jsx)(n.code,{children:"__construct"})," method with the name of the argument ",(0,t.jsx)(n.code,{children:"$queryDocuments"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:["You can now use the methods defined in the ",(0,t.jsx)(n.code,{children:"QueryDocuments"})," class."]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Let us provide you with some code examples:"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Structure:"})}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["src","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Query","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Documents","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"QueryDocumentsInterface.class"}),"\n",(0,t.jsx)(n.li,{children:"QueryDocuments.class"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["Rest","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Routes","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"DocumentsRoute.class"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"src/Query/Documents/QueryDocumentsInterface.php"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"/**\n * The file that holds a QueryDocuments interface.\n *\n * @package ProjectNamespace\\Query\\Documents;\n */\n\ndeclare(strict_types=1);\n\nnamespace ProjectNamespace\\Query\\Documents;\n\n/**\n * Interface for querying documents\n */\ninterface QueryDocumentsInterface\n{\n\n /**\n * Get structured documents data for documents section.\n *\n * @param int $id Id for data.\n *\n * @return string\n */\n public function getDocumentsData(int $id = 0): string;\n}\n"})}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"src/Query/Documents/QueryDocuments.php"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"/**\n * The file for querying all the documents\n *\n * @package ProjectNamespace\\Query\\Documents\n */\n\ndeclare(strict_types=1);\n\nnamespace ProjectNamespace\\Query\\Documents;\n\nuse ProjectNamespaceVendor\\EightshiftLibs\\Services\\ServiceInterface;\n\n/**\n * QueryDocuments class.\n */\nclass QueryDocuments implements ServiceInterface, QueryDocumentsInterface\n{\n /**\n * Get structured documents data for documents section.\n *\n * @param int $id Id for data.\n *\n * @return string\n */\n public function getDocumentsData(int $id = 0): string\n {\n // here goes the implementation of getDocumentsData method.\n }\n}\n"})}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"src/Rest/Routes/DocumentsRoute.php"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"/**\n * The class register route for DocumentsRoute endpoint\n *\n * @package ProjectNamespace\\Rest\\Routes\n */\n\ndeclare(strict_types=1);\n\nnamespace ProjectNamespace\\Rest\\Routes;\n\nuse ProjectNamespace\\Query\\Documents\\QueryDocumentsInterface;\nuse ProjectNamespaceVendor\\EightshiftLibs\\Rest\\Routes\\AbstractRoute;\nuse ProjectNamespaceVendor\\EightshiftLibs\\Rest\\CallableRouteInterface;\n\n/**\n * Class DocumentsRoute\n */\nclass DocumentsRoute extends AbstractRoute implements CallableRouteInterface\n{\n\n /**\n * Instance variable of documents data.\n *\n * @var QueryDocumentsInterface\n */\n protected $queryDocuments;\n\n /**\n * Create a new instance.\n *\n * @param QueryDocumentsInterface $queryDocuments Inject documentsData which holds data for documents.\n */\n public function __construct(QueryDocumentsInterface $queryDocuments)\n {\n $this->queryDocuments = $queryDocuments;\n }\n\n // here goes the rest of the DocumentsRoute implementation.\n}\n"})}),"\n",(0,t.jsx)(n.p,{children:"And that's it. Autowiring knows how to resolve the dependencies, you didn't tightly couple the code, and you're all set."}),"\n",(0,t.jsx)(n.h2,{id:"to-sum-it-up",children:"To sum it up"}),"\n",(0,t.jsx)(n.p,{children:"This chapter may be a bit long, but we wanted to make sure you understand our motivation behind it. We often work on large projects with lots of third-party integrations, and having a good project structure and architecture makes the projects more durable. It makes them less prone to bugs (if you write tests) and makes implementing new features and removing obsolete ones a lot easier."}),"\n",(0,t.jsx)(n.p,{children:"Do you need to use it? Not really. Especially on really simple projects. Should you? We think you'll benefit from it in the long run."})]})}function h(e={}){const{wrapper:n}={...(0,a.M)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},4552:(e,n,s)=>{s.d(n,{I:()=>c,M:()=>o});var t=s(11504);const a={},i=t.createContext(a);function o(e){const n=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:o(e.components),t.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5bf26d11.ce9938dc.js b/assets/js/5bf26d11.ce9938dc.js deleted file mode 100644 index 2953bb74d..000000000 --- a/assets/js/5bf26d11.ce9938dc.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[19555],{46387:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>r,contentTitle:()=>o,default:()=>h,frontMatter:()=>i,metadata:()=>c,toc:()=>l});var t=s(85893),a=s(11151);const i={id:"autowiring",title:"Autowiring"},o=void 0,c={id:"legacy/v6/basics/autowiring",title:"Autowiring",description:"docs-source",source:"@site/docs/legacy/v6/basics/autowiring.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/autowiring",permalink:"/docs/legacy/v6/basics/autowiring",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"autowiring",title:"Autowiring"},sidebar:"docs",previous:{title:"Extending Classes",permalink:"/docs/legacy/v6/basics/extending-classes"},next:{title:"Example Class",permalink:"/docs/legacy/v6/basics/example-class"}},r={},l=[{value:"How it works",id:"how-it-works",level:2},{value:"What if I have to mock or manually call a class?",id:"what-if-i-have-to-mock-or-manually-call-a-class",level:3},{value:"What if my class doesn't have anything inside a constructor method? (no dependencies)",id:"what-if-my-class-doesnt-have-anything-inside-a-constructor-method-no-dependencies",level:3},{value:"What if my class has a <strong>primitive parameter</strong> (<code>string</code>, <code>int</code>, etc.) inside a constructor method?",id:"what-if-my-class-has-a-primitive-parameter-string-int-etc-inside-a-constructor-method",level:3},{value:"What if my class does have another class as a parameter inside a constructor method?",id:"what-if-my-class-does-have-another-class-as-a-parameter-inside-a-constructor-method",level:3},{value:"What if my class has an interface parameter inside the constructor method?",id:"what-if-my-class-has-an-interface-parameter-inside-the-constructor-method",level:3},{value:"Example",id:"example",level:4},{value:"To sum it up",id:"to-sum-it-up",level:2}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",em:"em",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/tree/4.0.0",children:(0,t.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsx)(n.p,{children:"What is autowiring?"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.em,{children:"Autowiring is an exotic word that represents something very simple: the container's ability to create and inject dependencies automatically."})}),"\n",(0,t.jsxs)(n.p,{children:["The quote is taken from the ",(0,t.jsx)(n.a,{href:"https://php-di.org/doc/autowiring.html",children:"PHP-DI"})," library that we use."]}),"\n",(0,t.jsx)(n.p,{children:"In a nutshell, we use a dependency injection (DI) container to load all your service classes. Alongside the DI container, we also use the PSR-4 coding standard for autoloading. That allows us to predict what your file/folder structure will look like in correlation to the namespace. With that in mind, you don't have to worry about requiring your classes. Our autoloading takes care of everything. All you need to do is follow a few coding standards so that you can automatically inject other classes as dependencies."}),"\n",(0,t.jsxs)(n.p,{children:["Autowiring runs inside the ",(0,t.jsx)(n.code,{children:"Main"})," service class as an extended class of our ",(0,t.jsx)(n.code,{children:"AbstractMain"})," class. You can install the main class using this command:"]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"wp boilerplate create_main"})}),"\n",(0,t.jsx)(n.h2,{id:"how-it-works",children:"How it works"}),"\n",(0,t.jsx)(n.p,{children:"Here is a quick overview of how this works:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"You create a new class manually or using the WP-CLI command."}),"\n",(0,t.jsx)(n.li,{children:"PSR-4 should detect your new class if you followed the PSR-4 naming standard."}),"\n",(0,t.jsxs)(n.li,{children:["The new class is added to the ",(0,t.jsx)(n.code,{children:"classmap"})," array inside the ",(0,t.jsx)(n.code,{children:"vendor"})," folder."]}),"\n",(0,t.jsx)(n.li,{children:"Autowiring class reads the new class, checks if your class has any class dependencies, and injects them."}),"\n",(0,t.jsx)(n.li,{children:"And it just works."}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"To put it shortly"}),": just add a new class (that is PSR-4 compliant) with or without some class dependencies and everything will be automatically resolved/injected."]}),"\n",(0,t.jsx)(n.h3,{id:"what-if-i-have-to-mock-or-manually-call-a-class",children:"What if I have to mock or manually call a class?"}),"\n",(0,t.jsx)(n.p,{children:"Before we start with the automatization and autowiring, let's see how service classes are called manually."}),"\n",(0,t.jsx)(n.p,{children:"We can think of these scenarios where you want to load a class manually:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"You have to write tests and manually provide mocked classes."}),"\n",(0,t.jsx)(n.li,{children:"Your classes have a custom structure and autowiring can't resolve it."}),"\n",(0,t.jsxs)(n.li,{children:["You want to provide a primitive parameter (",(0,t.jsx)(n.code,{children:"string"}),", ",(0,t.jsx)(n.code,{children:"int"}),", etc.) inside a constructor method."]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["In those cases, you can manually provide your DI container with the implementation using the ",(0,t.jsx)(n.code,{children:"getServiceClasses"})," method inside the ",(0,t.jsx)(n.code,{children:"src>Main>Main.php"})," class."]}),"\n",(0,t.jsx)(n.p,{children:"Provide the method and add your custom implementation like this:"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"src>Main>Main.php"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:" /**\n * Get the list of services to register.\n *\n * A list of classes which contain hooks.\n *\n * @return array<class-string, string|string[]> Array of fully qualified service class names.\n */\n protected function getServiceClasses(): array\n {\n return [\n\n // If you are using a class as a DI.\n ProjectNamespace\\Rest\\Routes\\DocumentsRoute::class => [\n ProjectNamespace\\Query\\Documents\\QueryDocuments::class\n ],\n\n // If you just want to include a simple class with no DI.\n ProjectNamespace\\CoolFolder\\CoolClass::class,\n ];\n }\n"})}),"\n",(0,t.jsx)(n.h3,{id:"what-if-my-class-doesnt-have-anything-inside-a-constructor-method-no-dependencies",children:"What if my class doesn't have anything inside a constructor method? (no dependencies)"}),"\n",(0,t.jsxs)(n.p,{children:["If your class ",(0,t.jsx)(n.strong,{children:"doesn't have"})," anything defined in the constructor method, autoloading will require your class.\nThis just means that you are not using dependency injection (since you have nothing to inject)."]}),"\n",(0,t.jsxs)(n.h3,{id:"what-if-my-class-has-a-primitive-parameter-string-int-etc-inside-a-constructor-method",children:["What if my class has a ",(0,t.jsx)(n.strong,{children:"primitive parameter"})," (",(0,t.jsx)(n.code,{children:"string"}),", ",(0,t.jsx)(n.code,{children:"int"}),", etc.) inside a constructor method?"]}),"\n",(0,t.jsxs)(n.p,{children:["If your class ",(0,t.jsx)(n.strong,{children:"has"})," a primitive parameter defined in the constructor method, autowiring will ",(0,t.jsx)(n.strong,{children:"not know"})," how to handle this so you must manually provide the primitive parameters at the point of usage. You can find more information about that ",(0,t.jsx)(n.a,{href:"#what-if-i-have-to-mock-or-manually-call-a-class",children:"here"}),"."]}),"\n",(0,t.jsx)(n.h3,{id:"what-if-my-class-does-have-another-class-as-a-parameter-inside-a-constructor-method",children:"What if my class does have another class as a parameter inside a constructor method?"}),"\n",(0,t.jsx)(n.p,{children:"This works out of the box, but you shouldn't really do this."}),"\n",(0,t.jsx)(n.p,{children:"A good coding practice is that your class should never depend on the concrete class implementation because you have tightly coupled your class to another class. This makes it hard to test and your code becomes hard to modify. Imagine that you have put a concrete implementation as a dependency, only to get feedback from the client that you need to change that implementation for a completely different one. Making the changes means that you'll need to track all the places in your codebase where you have used some functionality from this class, and change it completely."}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsx)(n.p,{children:"You should always code against interfaces and not implementation."}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["We can't stress this enough because as your project grows, so will your headaches. Also, when you start testing your code, that is when your hair will begin to fall off. We recommend reading Uncle Bob Martin's ",(0,t.jsx)(n.a,{href:"http://cleancoder.com/products",children:"Clean Code"}),". That will save you a lot of sleepless nights, and you'll learn tons of tips and tricks for writing clean code."]}),"\n",(0,t.jsx)(n.h3,{id:"what-if-my-class-has-an-interface-parameter-inside-the-constructor-method",children:"What if my class has an interface parameter inside the constructor method?"}),"\n",(0,t.jsx)(n.p,{children:"This will automatically be resolved (same as with class parameters) if you follow one simple rule:"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsx)(n.p,{children:"Variable name in your constructor method needs to match the class name (which implements the interface) in camelCase."}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["For example, let's say you have a ",(0,t.jsx)(n.code,{children:"SteeringWheel"})," class:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"class SteeringWheel implements CarPartInterface\n"})}),"\n",(0,t.jsx)(n.p,{children:"and you want to have this as a dependency in Car class. Your Car class has the following constructor:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"public function __construct(CarPartInterface $steeringWheel)\n{\n $this->steeringWheel = $steeringWheel;\n}\n"})}),"\n",(0,t.jsxs)(n.p,{children:["Since the injected variable name ",(0,t.jsx)(n.code,{children:"$steeringWheel"})," is the camelCase version of the class name ",(0,t.jsx)(n.code,{children:"SteeringWheel"})," which implements ",(0,t.jsx)(n.code,{children:"CarPartInterface"}),", autowiring will know to inject the correct class and everything will work fine."]}),"\n",(0,t.jsx)(n.p,{children:"If you understand everything from the upper example, you can just skip the next one. However, we recommend checking out the following example for a more detailed overview."}),"\n",(0,t.jsx)(n.h4,{id:"example",children:"Example"}),"\n",(0,t.jsxs)(n.p,{children:["Let's set a scene. You have created a ",(0,t.jsx)(n.code,{children:"DocumentsRoute"})," class and it needs some functionality from the ",(0,t.jsx)(n.code,{children:"QueryDocuments"})," class."]}),"\n",(0,t.jsx)(n.p,{children:"Steps you need to follow are:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["You should create an interface with all the methods you need in the ",(0,t.jsx)(n.code,{children:"DocumentsRoute"})," class. Let's call it ",(0,t.jsx)(n.code,{children:"QueryDocumentsInterface"}),". We'll put it inside the ",(0,t.jsx)(n.code,{children:"src/Query/Documents"})," folder."]}),"\n",(0,t.jsxs)(n.li,{children:["Your ",(0,t.jsx)(n.code,{children:"QueryDocuments"})," class should implement your new ",(0,t.jsx)(n.code,{children:"QueryDocumentsInterface"})," class and have all the methods from the interface implemented."]}),"\n",(0,t.jsxs)(n.li,{children:["In your ",(0,t.jsx)(n.code,{children:"DocumentsRoute"})," class, provide the ",(0,t.jsx)(n.code,{children:"QueryDocumentsInterface"})," interface as a parameter inside the ",(0,t.jsx)(n.code,{children:"__construct"})," method with the name of the argument ",(0,t.jsx)(n.code,{children:"$queryDocuments"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:["You can now use the methods defined in the ",(0,t.jsx)(n.code,{children:"QueryDocuments"})," class."]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Let us provide you with some code examples:"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Structure:"})}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["src","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Query","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Documents","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"QueryDocumentsInterface.class"}),"\n",(0,t.jsx)(n.li,{children:"QueryDocuments.class"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["Rest","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Routes","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"DocumentsRoute.class"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"src/Query/Documents/QueryDocumentsInterface.php"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"/**\n * The file that holds a QueryDocuments interface.\n *\n * @package ProjectNamespace\\Query\\Documents;\n */\n\ndeclare(strict_types=1);\n\nnamespace ProjectNamespace\\Query\\Documents;\n\n/**\n * Interface for querying documents\n */\ninterface QueryDocumentsInterface\n{\n\n /**\n * Get structured documents data for documents section.\n *\n * @param int $id Id for data.\n *\n * @return string\n */\n public function getDocumentsData(int $id = 0): string;\n}\n"})}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"src/Query/Documents/QueryDocuments.php"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"/**\n * The file for querying all the documents\n *\n * @package ProjectNamespace\\Query\\Documents\n */\n\ndeclare(strict_types=1);\n\nnamespace ProjectNamespace\\Query\\Documents;\n\nuse ProjectNamespaceVendor\\EightshiftLibs\\Services\\ServiceInterface;\n\n/**\n * QueryDocuments class.\n */\nclass QueryDocuments implements ServiceInterface, QueryDocumentsInterface\n{\n /**\n * Get structured documents data for documents section.\n *\n * @param int $id Id for data.\n *\n * @return string\n */\n public function getDocumentsData(int $id = 0): string\n {\n // here goes the implementation of getDocumentsData method.\n }\n}\n"})}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"src/Rest/Routes/DocumentsRoute.php"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"/**\n * The class register route for DocumentsRoute endpoint\n *\n * @package ProjectNamespace\\Rest\\Routes\n */\n\ndeclare(strict_types=1);\n\nnamespace ProjectNamespace\\Rest\\Routes;\n\nuse ProjectNamespace\\Query\\Documents\\QueryDocumentsInterface;\nuse ProjectNamespaceVendor\\EightshiftLibs\\Rest\\Routes\\AbstractRoute;\nuse ProjectNamespaceVendor\\EightshiftLibs\\Rest\\CallableRouteInterface;\n\n/**\n * Class DocumentsRoute\n */\nclass DocumentsRoute extends AbstractRoute implements CallableRouteInterface\n{\n\n /**\n * Instance variable of documents data.\n *\n * @var QueryDocumentsInterface\n */\n protected $queryDocuments;\n\n /**\n * Create a new instance.\n *\n * @param QueryDocumentsInterface $queryDocuments Inject documentsData which holds data for documents.\n */\n public function __construct(QueryDocumentsInterface $queryDocuments)\n {\n $this->queryDocuments = $queryDocuments;\n }\n\n // here goes the rest of the DocumentsRoute implementation.\n}\n"})}),"\n",(0,t.jsx)(n.p,{children:"And that's it. Autowiring knows how to resolve the dependencies, you didn't tightly couple the code, and you're all set."}),"\n",(0,t.jsx)(n.h2,{id:"to-sum-it-up",children:"To sum it up"}),"\n",(0,t.jsx)(n.p,{children:"This chapter may be a bit long, but we wanted to make sure you understand our motivation behind it. We often work on large projects with lots of third-party integrations, and having a good project structure and architecture makes the projects more durable. It makes them less prone to bugs (if you write tests) and makes implementing new features and removing obsolete ones a lot easier."}),"\n",(0,t.jsx)(n.p,{children:"Do you need to use it? Not really. Especially on really simple projects. Should you? We think you'll benefit from it in the long run."})]})}function h(e={}){const{wrapper:n}={...(0,a.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},11151:(e,n,s)=>{s.d(n,{Z:()=>c,a:()=>o});var t=s(67294);const a={},i=t.createContext(a);function o(e){const n=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:o(e.components),t.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5c125432.be34af4d.js b/assets/js/5c125432.be34af4d.js deleted file mode 100644 index 4054fdf77..000000000 --- a/assets/js/5c125432.be34af4d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[68243],{57326:(e,o,t)=>{t.r(o),t.d(o,{assets:()=>p,contentTitle:()=>r,default:()=>d,frontMatter:()=>i,metadata:()=>a,toc:()=>l});var s=t(85893),n=t(11151);const i={id:"blocks-wrapper",title:"Wrapper"},r=void 0,a={id:"legacy/v7/basics/blocks-wrapper",title:"Wrapper",description:"docs-source",source:"@site/docs/legacy/v7/basics/blocks-wrapper.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/blocks-wrapper",permalink:"/docs/legacy/v7/basics/blocks-wrapper",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-wrapper",title:"Wrapper"},sidebar:"docs",previous:{title:"Component in a Block",permalink:"/docs/legacy/v7/basics/blocks-component-in-block"},next:{title:"Variations",permalink:"/docs/legacy/v7/basics/blocks-variations"}},p={},l=[{value:"Where can I find wrapper options?",id:"where-can-i-find-wrapper-options",level:2},{value:"Additional development options",id:"additional-development-options",level:2},{value:"wrapperUse",id:"wrapperuse",level:3},{value:"wrapperUseShowControl",id:"wrapperuseshowcontrol",level:3},{value:"wrapperUseSimple",id:"wrapperusesimple",level:3},{value:"wrapperUseSimpleShowControl",id:"wrapperusesimpleshowcontrol",level:3},{value:"wrapperDisable",id:"wrapperdisable",level:3},{value:"wrapperParentClass",id:"wrapperparentclass",level:3},{value:"Wrapper limitations",id:"wrapper-limitations",level:2}];function c(e){const o={a:"a",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",strong:"strong",...(0,n.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(o.p,{children:(0,s.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/",children:(0,s.jsx)(o.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(o.p,{children:"The wrapper is our best and most powerful feature. In a nutshell, the wrapper is nothing more than a high order component (parent component)."}),"\n",(0,s.jsx)(o.p,{children:"When setting up block registration, we made it so that every block view (PHP part) passes through the wrapper component before it is registered. This gives us the ability to set multiple shared attributes in one component."}),"\n",(0,s.jsx)(o.p,{children:"The wrapper is designed to be the ultimate top-level component that controls how your block behaves in the website layout. The wrapper is a sort of a 'section' in traditional builders. By default, you can control a whole lot of stuff, but there is an ability to add your custom attributes and fine-tune the wrapper to your project's needs."}),"\n",(0,s.jsx)(o.h2,{id:"where-can-i-find-wrapper-options",children:"Where can I find wrapper options?"}),"\n",(0,s.jsxs)(o.p,{children:["When you open your block editor in the sidebar before every blocks options you will see a ",(0,s.jsx)(o.code,{children:"layout"})," panel that controls the wrapper options:"]}),"\n",(0,s.jsx)(o.p,{children:(0,s.jsx)(o.img,{alt:"Wrapper Closed",src:t(40701).Z+"",width:"770",height:"664"})}),"\n",(0,s.jsx)(o.p,{children:"We also made a helper button that describes what each wrapper options does when the layout panel is open:"}),"\n",(0,s.jsx)(o.p,{children:(0,s.jsx)(o.img,{alt:"Wrapper Help Button",src:t(58964).Z+"",width:"315",height:"187"})}),"\n",(0,s.jsxs)(o.p,{children:["Here are some of the descriptions that we created but you can add your own icons and options to this modal by providing the additions properties to the ",(0,s.jsx)(o.code,{children:"HelpModal"})," component:"]}),"\n",(0,s.jsx)(o.p,{children:(0,s.jsx)(o.img,{alt:"Wrapper Modal",src:t(66348).Z+"",width:"764",height:"740"})}),"\n",(0,s.jsx)(o.h2,{id:"additional-development-options",children:"Additional development options"}),"\n",(0,s.jsxs)(o.p,{children:["Along with the provided details and descriptions for the standard options in the ",(0,s.jsx)(o.code,{children:"HelpModal"})," we have some development specific options for you to check."]}),"\n",(0,s.jsx)(o.h3,{id:"wrapperuse",children:"wrapperUse"}),"\n",(0,s.jsxs)(o.p,{children:["This attribute controls the usage of the wrapper component. It behaves the same way as described in ",(0,s.jsx)(o.a,{href:"blocks-component-in-block#i-dont-need-all-the-component-options-in-my-block",children:"this chapter"}),"."]}),"\n",(0,s.jsx)(o.h3,{id:"wrapperuseshowcontrol",children:"wrapperUseShowControl"}),"\n",(0,s.jsxs)(o.p,{children:["This attribute controls whether you will see the options for block use in the block editor. It behaves the same way as described in ",(0,s.jsx)(o.a,{href:"blocks-component-in-block#i-dont-want-my-editor-to-be-able-to-change-component-options-in-my-block",children:"this chapter"}),"."]}),"\n",(0,s.jsx)(o.h3,{id:"wrapperusesimple",children:"wrapperUseSimple"}),"\n",(0,s.jsxs)(o.p,{children:["We wrapped some of the options in a specific condition and we call it ",(0,s.jsx)(o.code,{children:"wrapperUseSimple"}),". In general, this attribute is set to ",(0,s.jsx)(o.code,{children:"true"})," when you only want the simplified options on your block. Natively, it is used inside all of the inner blocks in the column block because we don't need wrappers inside wrappers inside wrappers (and so on). It's a good rule of thumb to use a simple wrapper in all of the inner blocks."]}),"\n",(0,s.jsx)(o.h3,{id:"wrapperusesimpleshowcontrol",children:"wrapperUseSimpleShowControl"}),"\n",(0,s.jsxs)(o.p,{children:["This attribute controls whether you are going to see options in the block editor to use the simple option. It behaves the same way as described in ",(0,s.jsx)(o.a,{href:"blocks-component-in-block#i-dont-want-my-editor-to-be-able-to-change-component-options-in-my-block",children:"this chapter"}),"."]}),"\n",(0,s.jsx)(o.h3,{id:"wrapperdisable",children:"wrapperDisable"}),"\n",(0,s.jsxs)(o.p,{children:["This attribute disables the wrapper completely. When this attribute is set to ",(0,s.jsx)(o.code,{children:"true"}),", you will not have any wrapper options in your block."]}),"\n",(0,s.jsx)(o.h3,{id:"wrapperparentclass",children:"wrapperParentClass"}),"\n",(0,s.jsx)(o.p,{children:"This attribute is interesting to use if, for example, you have a carousel block with inner blocks. To provide the markup necessary for the carousel script to work, you need to add some items selector (a div). With this key, you can pass a parent item class, and all of your items will be wrapped with this selector and a class."}),"\n",(0,s.jsx)(o.h2,{id:"wrapper-limitations",children:"Wrapper limitations"}),"\n",(0,s.jsxs)(o.p,{children:["In wrapper you ",(0,s.jsx)(o.strong,{children:"can't"})," use ",(0,s.jsx)(o.code,{children:"components"})," key in the manifest to automaticity add additional components like you can in the blocks or components. If you want to add component to a wrapper you must manually add it the old fashion way."]})]})}function d(e={}){const{wrapper:o}={...(0,n.a)(),...e.components};return o?(0,s.jsx)(o,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},40701:(e,o,t)=>{t.d(o,{Z:()=>s});const s=t.p+"assets/images/wrapper-closed-6d555371a14a7f0576d2334e591904f4.webp"},58964:(e,o,t)=>{t.d(o,{Z:()=>s});const s="data:image/webp;base64,UklGRtgVAABXRUJQVlA4IMwVAAAQXACdASo7AbsAPjEYikOiIaESKMUYIAMEs7dwuPCEDq7UjT3jOR/BP4T5k/2/3Ie8T/cexL86+wR+o/+A6iX68eoD9gv9R/lPdb/zP6ze5P0Bv5t/h///62/sQf3j/eewN/I/9F6ZP7kfBl/a/9n+73s8/+TWCupva//PPxk/cT2D8MncL1w/djfl/4D0I/h/0v+of2X9dv65+zn3u+478YPxm9w/Tt+N3wBfin8U/nn5C/3j9nuP8AB+MfxP+0/17+3/7P+2fuf7Zv6r+OHup9Xf8B7gH8K/iP9Q/Hv+4f/r6t/UDyzaAH8d/mP9v/wf7af2L///MR/J/4T9rv7r///fp+Z/2H/Tf4r94P8h9gn8Y/lf9+/uX+X/4P96////c+4D15ftz7Ff6tf8f8/yQoVBvzgagVWFNY1vLAsSnSHeycQ+D/JGbc77TzFKIWIN+gAo7ltWIjJ4+RLf5FiCtpa9MVspned9p8wbZ06N+JHLBOgkbhVeIkZLFt4JgYoQ41o56D3A62k32+RhtzvsVQm9I6uROE74bc77T5g25gtgPkfCByLnDKMOxsWWh1gQ0XISCOuVNYWJChsCDuSa7WOHKG4ZjEz0F59ozAI4KUuP6cEOYisTjQK59nxm9v+A2n60vhc/x2O86psMgNNIa37jYWXqcrGqtS9WMQEhnyybuBeTld0SSz/67e/JJ++Kdxopt9486Xge5ats1QYbPzXnL4TrVZDpGOo0s8EekbCDf6/ZJBtjpTRalzLH25ZoWQi7OGhUuGU1qF4VaeVVmHQqlUptsSIrdMmmZ3lu4gljfALmU4TxxW9EBdVT1JoAKs4hpS68KAqExHTVKSUfb/pH7h7zP0BzTS2c2O3XHtcdfAHODV5Vm0q5QPdhrKzutkR9YC8I5Wz3TRi2rVXHXw3pxMBoJ87dgW4vlIUn+gWKl0ProyF36QPNJEa3lRdfKGPjsKKQhFbjMIIeo8M51NwhMuS/BogAAP7/w3Cn3D+KXMCYP8HTRYzD1jZpcPJSv4M+hgP0IlDmgf+SEci33X0n+cSYwKcsXgwCQhg8pa6mHmuh2ZW8A5mdvVBNCo+xk+/T4qfLR+XWrOwUwnElcfsBdXSqqIkGLp3qXQtpqrajRzDpBx+5kwamUsvMkQxeYwBrRCz0m4T3Xsn6qKqVrfh6EdGthX//k86sgmk9ICnoAL8f+LYb5Q7TckVYYNmmlqwZie79cPnETrvEB+5+csUsYr2IEe9/CcdV3aXliEZLw4HxKzl52hBs4B8P0FgC0ey4cmSzbX//KGGfyyBlAWreJ6CkFccnzYwcVcbaY04WwZzoXXYj2H/7nbB3lh5erb8di2stWa1Uf+f/jYgekgRMdfbWkJ4VkCZ1JjVJwYg7FuBjKU9yp2YrFkCPBGZ9ATTVEYwXOjoYhmR3LfMCvkxJxb//rmId3P9K6Pj1uRr04hOvVM5vzlysExhbjwDHLZSowQNF4bPhWUKNpov/4NvonBNWVPhdpVHRBi/uqHsUgjJ7+XZmf60nX5Hf/+aiXk+R209lRp86YCyuCgqN2JKmZzWtb8LBwGVwCUZLKDF8vOvip1IkylnyG+2MkK8lm+g7VJzPj7I7I2dwbLe5u//415ZcFZkJDY+wJkwsm9b77mcP/5km0kfwSx7mjqHrqFWfPJN+QROdwKcRWWTb9+bSxPy8VVybTcthMZi5f//jSGEcVJwWhWDjzIShsXr7EGmePsYajVNJmQj0lZSutT2C+oO/bNyqolAEDt1LWSlCzeC2OXqplewuzpm2niD7G+RurQqjRpi8Px9BP5uTjUQ6y1g72pKsvkzV2yfyA/t1Bp8k8OwV9ZgtBL6cC+nao3jPi+hCLu67jCGRQeY/sIg2bXqkJXcFeAerw80IjQ9oI9qsDgd2rdzFBdiOC7Yz/wrRBl39SWEWHbyR4uUhAIsJmB+TEa05deNhWy1GXIqpPYQI90zHomicNzFae812Rf3DZKii+Aae1UoTDfe3wsz/ZVHdfTjEG4ku+8+YS+gB+FQV5X9Y5NpCVxhJI7T6Mel8qoNAJBj/wlK4k87mcLliYxN29tGEpZIwUhgARx3ySZwECRK8IiqXEtD3569CZ8yG8O/Lr8rJVSnhXMp5cVBnbhp2ZlR09VtkbhojnV/G/uwfIweCtfG+brys585640oz9QomiLJF0Lw4rSAhMAI/DRgseeTALrwDHEA0Sv5uPMhsebm48yGx5ubjzIbHmylqjz0dFhd2bQGIkFBRtKAAMtu1HSmFkEW5i53i7VhyFgTUevuKANN63olz4Pyizof/7R14K4F+MvOM9w4MXlXpmz2pJFFxYj8KUBtiDqAV3G8aQcsh6Wz8WPxi4YFHIdy0fhXQ64mF6KqgAGGCgipwWQV7js38LsHqUBjIHNK3KCAWHMQtd//yia7HRvAJKKDn7j//i/jn1pELa17xC8bBwmvPH1OxBXepR5iup8yBzrKef4+Itl3wBkpNv4QIVddVYv7b6XYz0AEuFVXx9HAFrO9X4LYoGhbaCB2LQbgBXNydhf3NkPcSrql/T9U97KycnugYH69p5JESyxNbdQt/gV16i536l2oVT74pT/ZnI+HkN7kH0ouigexUsy2znwE0S8JHkCWHfaXnxpvoz/eMv/D98ytbgdj1adQ6Xky1PEf4h7fn+1Kt2eTZ0GzUxhTm2whjD5fwqy3kDcCRyiWM7XS/ivPw0wzoS1GFirjNYt60x8fRrK2X5e1fddjFu6rHzf67jZ/G/G3bDXyGZXfVV3UdncfixWSNPGaPELWWqNM4LKHbDliRWPViX3onphpAgxjaH0o78Rc+zu+o+VilVQ23Ewlo0rQl90wCbmhNaJ7lAhi64R1GzHvrYndnakEjGxFSQDNwNYO34d4Npfh7g2uFQme2aodcz3DeqMqSozwdQaE/cuxYakyPQIxIDvXJPOou66umYRolThh9VlA1HNaGZcS+Irfw594JQGTzienZ9rJkljHdu1RBuWVKnQZcful/bhjvLz2w/++vZ5L3JmjsFM4Qoa/7z99Epp597YLeepzbbxyj8a+zgq9+mswWWh4cjBrqOx+tHFeAmivdqEVTbb1dJlJEww8b0CcobB35/tB6/KwiUTggAORCdCBuW6n+XOwqocZK+strOMDfDxwvzJJXLHbPt6+ST0dPIfIVw+rD4UsET6uaXw2UJfS3tdu1CltUjnxUNRXvLgjVG6LRR+hBZz0P/o99swHD7lIwurEaOUG8DrGC/fne8zWVl0r5vcT/GP/6bGB79d7gYrZca0yxnCM0S1gyxRezcIIFs9pglKCB9OSkUX98cQwiJdKYyF8jXI1Hnl1T0cnJapnscwTlRKJVgBT3PHb2U3OB/ILfGJXwxeb6OkdfiVeznhE1cOYAKQ+9eyw1E9ikuVpM25NHHcSuwifwav2tfwo5mMNsNhStVVnA+cqbTjxGLJ7aCgaCT0trOw/NVcocBgWez5sS1n7w0xjk6bhudE2zs9j/nPxHfianMITUBk2neCN79E7dEkBM8YtEA06FfQOjjAVSdlmzgA4XbA+DJQ7ocg+Wyt5VF3qMALZYPBsQLRhBE3GroyOgEVX4Fd8GN815wlZMN6QXPn7DBa9cKrpAqRCJqfQruQsssMsjZFblZ7jpSUvJFxDXuOdk8SGnMqcKGsvjboXWVsXtfx1Lgql3PW8WQloEFNQ8KZToRnGhClFlDx7asCyR0esGSqSpB/NsteMUN6LZdmeNOTQtuHaepTKkx2GgJCS73JmuD3DViqWr2pWU3yhPjPp+6i5De+krJY+D2USwyNDjcv/9vPKlMSzznKHNI3rCOO+R93C9u6Yav5heNcEo6gvXLtqHJo5VRLMRTDGd1ZigY15UKded/EF7v2wr+zL/cJoXgHoxNak1YIw9f/iFH0tFBtKonfdZMq+wwxB9r83q9oTZRybi1zc1ZJ5YwI0sXGXUxRSdFDQG5GcLliVLYTUEFUTIS/MBHQSzzzdEHNUF2MWw/NVl22vPJR8TqvOI2C1IMRd2xIHKygUAFMhsCfHqfgTE8Qa5C5s2nP1bod45vSbtyOhclsyE2XTlLnrn9Rjatp5Z+vgnxS9RTDEw2EMaV1HRY5d75qstLB9x5EC7ua4kuR4uz3YhDlBsTaercEtHZMjQfr+AKh3RTKZnhRhp16dk3Ib/wKKot6W4UiYfCcev1Z3BS+aKDgZIo4BmUay486IGUSegitCvnZApaZ/+zgVgNdSx5LX3A/03qMoUwbKWV//iIuq0HCvemrziyScM+S106OQwGxMnpzIC587e8Aytz9sv/Cm7m32dyJz2hcqfV/igZCzkwHeMBFws5zm7+pkjwxYWM81Y63TNN+mptY1xPX9jayWiRW5mZgqLQXIk4UjXBP70d3/UAVYBDNc8oDQbAhYhbZrO3+o7XEZXSODmtCYcgg2Ho0qPzB7DBlDNYk7AF5hWTRMXbM0tm9dvWEB6JXS+eG4BSZhDhX6abMwDPiQG0Ro8mcmZ4j4YdwFCi2t4hzAqnS8rQjnFnBq6dXnixiHAa+65zxSkpRWA3sTBZggky6YGcQlOTT7omwGZGNEZsJCuebmyrbdCR/wAKSWWHCVmf8BOJVBBg2TLWnFUyzlmUJDaVvDrfBzsnZ6b73hFZiqWWCOO2NQFLOGJjcFGF+uKA4QGyOV4BQWZXjQjJ/gWyYmNRRz5nDxgyalSGy7gJIa0vcA+fuZ7RGQDnMLFx3xrQWL/Pwn9RQKnsPMl+KQPpu07cymfopVgHeow1BL5gJHe8c2Kt6Ctoao83PPp7SnLiKr15Prz3W0rSABScKe+1hjX3YN5eUGO1ToFRmRx9RDZswm3XJjeJYIarM394qfQbjCIqT16UeX8qs7eT43IBqUdG/l6671YTKjVV2wqkH1cD0jXbjECfkSJHnnqF5IVY+Od97Azh4jWuW3GJ3yqxyMJR+Zktw3p6H/+yvydoCfwPcpY+XHkwqobRzwG7U2vX0R71FceQUP1T9+Vv1x92Vi0SYissbJlB5ZWfQEcW6ULBHyw00qIMrbmBdrKD/wZo3yeg9TSU7qXNHgp5pl0ACFnL0UFeL6MmmMLeu4LKkoKJ2hUsrosFmJa1qX+wVAzqms7BPHsPFsIMq8ldtvm7Kyh5Md+lpYd5RL7bhkgD6dDluf5oxjUMtRwPpT0VkvJOywywpv5ciymBQimjlfmT2Nb0SGs7Gx8KOZt8UopYj8BzYGlBzJB/48+gW9aZUYT/LWgxBuiSDDQABNJn9Vx0n1bpO6L11akNwABZKyab5cGdw0CRNPLQYIU73+IMasmZcC8NIml4XmDMAAf0bNeUWnIJLc2MMPO6OSmJXZVS4yI5xRjGLjJqcXXlz3pAdVMNg//DQ34MgeK6jWmq2FdHFubd/as6mJZ1BUIuBzdQ1gaVlU2n5gNS3JsYCweZgWSKMrWzVHlS97SP+XCFs7swjmFpj1IpnG5PO5HR0Gj1KCR1o7B5Nn94y0O5Sy8cfftERhPGmMPruLzE9IVpAqb9W2mwl2aB5TiDIQy0UUIIvPTuts4G5ElVg/9jCtipqVOmof/cmVf6f6kLm5yQannJ83QeQ1B5/66U3klN78eKPpGBMwj/LrPojsHD/M2Wa/e6Cj37Fi4MmFKkcbHqRzm+KLjQj+vkwGKJ37YU8GKKcdpoQU9weaZgHrEANeDnq+5NZGdTWDLkxv8w6+povwEO4kNdZ3EyOJWQbGMBfQgJOgzPnQzHHD+jeAmqG//j2jHxYZRWh55+gfueW0SER2rd9IW3kNegKJ7TtdhIgjdHtXfVjEjZf4wts/XOVKKLaKns2bNUo2VPIvAh+4o7dbE9Jf/zqOzPwpBtXNXUCERnDgCsLRZTxipdaTUlNPLL64oQrT3UY5q1CBNJROF4HIvOqH4evWve79ddD0ICHGGQQu/HoWN7JaLN/4H8BtD8+KI51k+jeR1fFXUbJzvWOyXMr0zyoEEwiC9lxfmYbPxlc+CLEp/WESmuQxZ80pcpQc04zXFBathqjHroMLSNup4xvjNPgl8RIPrqilH0fPBJA/d/aR6mdMyO7Xb49MQaSwR7wlz08q+YmbuC9Cs6GewGuZvMBaODsdFynKsgG1LjvqA06rVc2wrQwixiebhwp9eU8xEoesn7LJBER73J/C1kR4u8I2dVuh1nm18Bkux/jHvstoQB/CK6oUT21mS+d9W3Fp/zYpjo8mUP7E7dim5TvB4NP+6C59EqYUsjalW5Keznrc9qhldWu7gF3pMy1SAcw2eqpLL1ukuAJopVxaExPTG4goiV6Pu4/+Lk3t3AZ3aVdupT3EfIZDbqk0UdTtK3g4zvcwi3POUra1JvIRKRNH1b87EEFqi/rq0zsiDCLJll/7vdYDxQwiMBLaZsYEe8MXagSt107i9pOj2hEZEDV1B0hGP5vp5OBG6o9dVPu/8RZUyBP6PbDsqto+d8sqErIjy/NnyAV3kITM49fEdXoeaK9MMR8lap/75VWfbDl9IUNkO67YkCtl+z0zmo+mAamrLY/VULMaK9K3G1IVcteB7SiG+QHYDSLUiDzBIp3yEAAABWtNl/ZNAxz7DNhs5TMRfaHh5xs5HfeSSbVMP22KDXXLcKBsXpam4KNZ445Awb4/UgulHkP3WxJMxpFtSL68J0kVGlXEMjduyG0ayjWwylZycm5BUQKv93/wagwobFtef9FDG7C8jtni9Hv3FKlo/b3ynRWMejczT/XvIk9ruwHvGi02chE0jZ6DIeICqXO7RQoHvVFFpAjl7JVZpqsOl2L8anSMQQFPlNt7zvgORzyZUd3zoWVvkAl9eZM4whrGoTHReLWWFZi2Y0nxGG8M4WMyDgwt2P5EJAI29c5G/HQ8+KPWm0SwXtz02UaLm4Y9jnwQjUWj5ZhtUUE2AXFnyA07QQDoENFhRpNZfd8IUtFDBnQ3IRJSzZchEgduiIJ4DWPG7ScRHUaVVOOmCS90Eni044htHJuI6JxOzvowSqa0oIFVRE1iK1tQooyxzxyFInkWCNGv+WHGUnvz9jRwWnEuduLLDPbp7B2KKvYcqxpUR3/lf09ZmJoHBKhIAVYRvA5MIEFyZSUcGyF7fQODkFg1pYM4pDxy17gm0BgiDCe7ItiTCEX/Y51MjMtwkeXxH2r24bvNympZi0ML0gbO8YM4skFmKZv7haKYCa6fzERrFyJZocPi+HKR7pe6AdgwAoypHD+hpbouDOCTo6BVJKNcz8Nq8AnXZOr+q++e9N72AGass3S2bqIT9EGTD6j9fHM91Jn071aOffNDbEZS+taM1NavisF/m9IPOVfa0DMlrJvYYeBPcaJM9A/RfF6MzCbAf9I1FfYNbcg+6RqwiUVOnXfbURec9vDmum+sh/kRuiAFX+eV+WY9hFdvRm9xEiqDY1WxOmoF/5vXZRVWAAAA="},66348:(e,o,t)=>{t.d(o,{Z:()=>s});const s=t.p+"assets/images/wrapper-modal-7e522af5e936b203331d1ab5808fb70d.webp"},11151:(e,o,t)=>{t.d(o,{Z:()=>a,a:()=>r});var s=t(67294);const n={},i=s.createContext(n);function r(e){const o=s.useContext(i);return s.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(n):e.components||n:r(e.components),s.createElement(i.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5c125432.d6cc368a.js b/assets/js/5c125432.d6cc368a.js new file mode 100644 index 000000000..e0ccff92b --- /dev/null +++ b/assets/js/5c125432.d6cc368a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[87318],{95908:(e,o,t)=>{t.r(o),t.d(o,{assets:()=>p,contentTitle:()=>r,default:()=>d,frontMatter:()=>i,metadata:()=>a,toc:()=>l});var s=t(17624),n=t(4552);const i={id:"blocks-wrapper",title:"Wrapper"},r=void 0,a={id:"legacy/v7/basics/blocks-wrapper",title:"Wrapper",description:"docs-source",source:"@site/docs/legacy/v7/basics/blocks-wrapper.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/blocks-wrapper",permalink:"/docs/legacy/v7/basics/blocks-wrapper",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-wrapper",title:"Wrapper"},sidebar:"docs",previous:{title:"Component in a Block",permalink:"/docs/legacy/v7/basics/blocks-component-in-block"},next:{title:"Variations",permalink:"/docs/legacy/v7/basics/blocks-variations"}},p={},l=[{value:"Where can I find wrapper options?",id:"where-can-i-find-wrapper-options",level:2},{value:"Additional development options",id:"additional-development-options",level:2},{value:"wrapperUse",id:"wrapperuse",level:3},{value:"wrapperUseShowControl",id:"wrapperuseshowcontrol",level:3},{value:"wrapperUseSimple",id:"wrapperusesimple",level:3},{value:"wrapperUseSimpleShowControl",id:"wrapperusesimpleshowcontrol",level:3},{value:"wrapperDisable",id:"wrapperdisable",level:3},{value:"wrapperParentClass",id:"wrapperparentclass",level:3},{value:"Wrapper limitations",id:"wrapper-limitations",level:2}];function c(e){const o={a:"a",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",strong:"strong",...(0,n.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(o.p,{children:(0,s.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/",children:(0,s.jsx)(o.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(o.p,{children:"The wrapper is our best and most powerful feature. In a nutshell, the wrapper is nothing more than a high order component (parent component)."}),"\n",(0,s.jsx)(o.p,{children:"When setting up block registration, we made it so that every block view (PHP part) passes through the wrapper component before it is registered. This gives us the ability to set multiple shared attributes in one component."}),"\n",(0,s.jsx)(o.p,{children:"The wrapper is designed to be the ultimate top-level component that controls how your block behaves in the website layout. The wrapper is a sort of a 'section' in traditional builders. By default, you can control a whole lot of stuff, but there is an ability to add your custom attributes and fine-tune the wrapper to your project's needs."}),"\n",(0,s.jsx)(o.h2,{id:"where-can-i-find-wrapper-options",children:"Where can I find wrapper options?"}),"\n",(0,s.jsxs)(o.p,{children:["When you open your block editor in the sidebar before every blocks options you will see a ",(0,s.jsx)(o.code,{children:"layout"})," panel that controls the wrapper options:"]}),"\n",(0,s.jsx)(o.p,{children:(0,s.jsx)(o.img,{alt:"Wrapper Closed",src:t(35424).c+"",width:"770",height:"664"})}),"\n",(0,s.jsx)(o.p,{children:"We also made a helper button that describes what each wrapper options does when the layout panel is open:"}),"\n",(0,s.jsx)(o.p,{children:(0,s.jsx)(o.img,{alt:"Wrapper Help Button",src:t(2568).c+"",width:"315",height:"187"})}),"\n",(0,s.jsxs)(o.p,{children:["Here are some of the descriptions that we created but you can add your own icons and options to this modal by providing the additions properties to the ",(0,s.jsx)(o.code,{children:"HelpModal"})," component:"]}),"\n",(0,s.jsx)(o.p,{children:(0,s.jsx)(o.img,{alt:"Wrapper Modal",src:t(8832).c+"",width:"764",height:"740"})}),"\n",(0,s.jsx)(o.h2,{id:"additional-development-options",children:"Additional development options"}),"\n",(0,s.jsxs)(o.p,{children:["Along with the provided details and descriptions for the standard options in the ",(0,s.jsx)(o.code,{children:"HelpModal"})," we have some development specific options for you to check."]}),"\n",(0,s.jsx)(o.h3,{id:"wrapperuse",children:"wrapperUse"}),"\n",(0,s.jsxs)(o.p,{children:["This attribute controls the usage of the wrapper component. It behaves the same way as described in ",(0,s.jsx)(o.a,{href:"blocks-component-in-block#i-dont-need-all-the-component-options-in-my-block",children:"this chapter"}),"."]}),"\n",(0,s.jsx)(o.h3,{id:"wrapperuseshowcontrol",children:"wrapperUseShowControl"}),"\n",(0,s.jsxs)(o.p,{children:["This attribute controls whether you will see the options for block use in the block editor. It behaves the same way as described in ",(0,s.jsx)(o.a,{href:"blocks-component-in-block#i-dont-want-my-editor-to-be-able-to-change-component-options-in-my-block",children:"this chapter"}),"."]}),"\n",(0,s.jsx)(o.h3,{id:"wrapperusesimple",children:"wrapperUseSimple"}),"\n",(0,s.jsxs)(o.p,{children:["We wrapped some of the options in a specific condition and we call it ",(0,s.jsx)(o.code,{children:"wrapperUseSimple"}),". In general, this attribute is set to ",(0,s.jsx)(o.code,{children:"true"})," when you only want the simplified options on your block. Natively, it is used inside all of the inner blocks in the column block because we don't need wrappers inside wrappers inside wrappers (and so on). It's a good rule of thumb to use a simple wrapper in all of the inner blocks."]}),"\n",(0,s.jsx)(o.h3,{id:"wrapperusesimpleshowcontrol",children:"wrapperUseSimpleShowControl"}),"\n",(0,s.jsxs)(o.p,{children:["This attribute controls whether you are going to see options in the block editor to use the simple option. It behaves the same way as described in ",(0,s.jsx)(o.a,{href:"blocks-component-in-block#i-dont-want-my-editor-to-be-able-to-change-component-options-in-my-block",children:"this chapter"}),"."]}),"\n",(0,s.jsx)(o.h3,{id:"wrapperdisable",children:"wrapperDisable"}),"\n",(0,s.jsxs)(o.p,{children:["This attribute disables the wrapper completely. When this attribute is set to ",(0,s.jsx)(o.code,{children:"true"}),", you will not have any wrapper options in your block."]}),"\n",(0,s.jsx)(o.h3,{id:"wrapperparentclass",children:"wrapperParentClass"}),"\n",(0,s.jsx)(o.p,{children:"This attribute is interesting to use if, for example, you have a carousel block with inner blocks. To provide the markup necessary for the carousel script to work, you need to add some items selector (a div). With this key, you can pass a parent item class, and all of your items will be wrapped with this selector and a class."}),"\n",(0,s.jsx)(o.h2,{id:"wrapper-limitations",children:"Wrapper limitations"}),"\n",(0,s.jsxs)(o.p,{children:["In wrapper you ",(0,s.jsx)(o.strong,{children:"can't"})," use ",(0,s.jsx)(o.code,{children:"components"})," key in the manifest to automaticity add additional components like you can in the blocks or components. If you want to add component to a wrapper you must manually add it the old fashion way."]})]})}function d(e={}){const{wrapper:o}={...(0,n.M)(),...e.components};return o?(0,s.jsx)(o,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},35424:(e,o,t)=>{t.d(o,{c:()=>s});const s=t.p+"assets/images/wrapper-closed-6d555371a14a7f0576d2334e591904f4.webp"},2568:(e,o,t)=>{t.d(o,{c:()=>s});const s="data:image/webp;base64,UklGRtgVAABXRUJQVlA4IMwVAAAQXACdASo7AbsAPjEYikOiIaESKMUYIAMEs7dwuPCEDq7UjT3jOR/BP4T5k/2/3Ie8T/cexL86+wR+o/+A6iX68eoD9gv9R/lPdb/zP6ze5P0Bv5t/h///62/sQf3j/eewN/I/9F6ZP7kfBl/a/9n+73s8/+TWCupva//PPxk/cT2D8MncL1w/djfl/4D0I/h/0v+of2X9dv65+zn3u+478YPxm9w/Tt+N3wBfin8U/nn5C/3j9nuP8AB+MfxP+0/17+3/7P+2fuf7Zv6r+OHup9Xf8B7gH8K/iP9Q/Hv+4f/r6t/UDyzaAH8d/mP9v/wf7af2L///MR/J/4T9rv7r///fp+Z/2H/Tf4r94P8h9gn8Y/lf9+/uX+X/4P96////c+4D15ftz7Ff6tf8f8/yQoVBvzgagVWFNY1vLAsSnSHeycQ+D/JGbc77TzFKIWIN+gAo7ltWIjJ4+RLf5FiCtpa9MVspned9p8wbZ06N+JHLBOgkbhVeIkZLFt4JgYoQ41o56D3A62k32+RhtzvsVQm9I6uROE74bc77T5g25gtgPkfCByLnDKMOxsWWh1gQ0XISCOuVNYWJChsCDuSa7WOHKG4ZjEz0F59ozAI4KUuP6cEOYisTjQK59nxm9v+A2n60vhc/x2O86psMgNNIa37jYWXqcrGqtS9WMQEhnyybuBeTld0SSz/67e/JJ++Kdxopt9486Xge5ats1QYbPzXnL4TrVZDpGOo0s8EekbCDf6/ZJBtjpTRalzLH25ZoWQi7OGhUuGU1qF4VaeVVmHQqlUptsSIrdMmmZ3lu4gljfALmU4TxxW9EBdVT1JoAKs4hpS68KAqExHTVKSUfb/pH7h7zP0BzTS2c2O3XHtcdfAHODV5Vm0q5QPdhrKzutkR9YC8I5Wz3TRi2rVXHXw3pxMBoJ87dgW4vlIUn+gWKl0ProyF36QPNJEa3lRdfKGPjsKKQhFbjMIIeo8M51NwhMuS/BogAAP7/w3Cn3D+KXMCYP8HTRYzD1jZpcPJSv4M+hgP0IlDmgf+SEci33X0n+cSYwKcsXgwCQhg8pa6mHmuh2ZW8A5mdvVBNCo+xk+/T4qfLR+XWrOwUwnElcfsBdXSqqIkGLp3qXQtpqrajRzDpBx+5kwamUsvMkQxeYwBrRCz0m4T3Xsn6qKqVrfh6EdGthX//k86sgmk9ICnoAL8f+LYb5Q7TckVYYNmmlqwZie79cPnETrvEB+5+csUsYr2IEe9/CcdV3aXliEZLw4HxKzl52hBs4B8P0FgC0ey4cmSzbX//KGGfyyBlAWreJ6CkFccnzYwcVcbaY04WwZzoXXYj2H/7nbB3lh5erb8di2stWa1Uf+f/jYgekgRMdfbWkJ4VkCZ1JjVJwYg7FuBjKU9yp2YrFkCPBGZ9ATTVEYwXOjoYhmR3LfMCvkxJxb//rmId3P9K6Pj1uRr04hOvVM5vzlysExhbjwDHLZSowQNF4bPhWUKNpov/4NvonBNWVPhdpVHRBi/uqHsUgjJ7+XZmf60nX5Hf/+aiXk+R209lRp86YCyuCgqN2JKmZzWtb8LBwGVwCUZLKDF8vOvip1IkylnyG+2MkK8lm+g7VJzPj7I7I2dwbLe5u//415ZcFZkJDY+wJkwsm9b77mcP/5km0kfwSx7mjqHrqFWfPJN+QROdwKcRWWTb9+bSxPy8VVybTcthMZi5f//jSGEcVJwWhWDjzIShsXr7EGmePsYajVNJmQj0lZSutT2C+oO/bNyqolAEDt1LWSlCzeC2OXqplewuzpm2niD7G+RurQqjRpi8Px9BP5uTjUQ6y1g72pKsvkzV2yfyA/t1Bp8k8OwV9ZgtBL6cC+nao3jPi+hCLu67jCGRQeY/sIg2bXqkJXcFeAerw80IjQ9oI9qsDgd2rdzFBdiOC7Yz/wrRBl39SWEWHbyR4uUhAIsJmB+TEa05deNhWy1GXIqpPYQI90zHomicNzFae812Rf3DZKii+Aae1UoTDfe3wsz/ZVHdfTjEG4ku+8+YS+gB+FQV5X9Y5NpCVxhJI7T6Mel8qoNAJBj/wlK4k87mcLliYxN29tGEpZIwUhgARx3ySZwECRK8IiqXEtD3569CZ8yG8O/Lr8rJVSnhXMp5cVBnbhp2ZlR09VtkbhojnV/G/uwfIweCtfG+brys585640oz9QomiLJF0Lw4rSAhMAI/DRgseeTALrwDHEA0Sv5uPMhsebm48yGx5ubjzIbHmylqjz0dFhd2bQGIkFBRtKAAMtu1HSmFkEW5i53i7VhyFgTUevuKANN63olz4Pyizof/7R14K4F+MvOM9w4MXlXpmz2pJFFxYj8KUBtiDqAV3G8aQcsh6Wz8WPxi4YFHIdy0fhXQ64mF6KqgAGGCgipwWQV7js38LsHqUBjIHNK3KCAWHMQtd//yia7HRvAJKKDn7j//i/jn1pELa17xC8bBwmvPH1OxBXepR5iup8yBzrKef4+Itl3wBkpNv4QIVddVYv7b6XYz0AEuFVXx9HAFrO9X4LYoGhbaCB2LQbgBXNydhf3NkPcSrql/T9U97KycnugYH69p5JESyxNbdQt/gV16i536l2oVT74pT/ZnI+HkN7kH0ouigexUsy2znwE0S8JHkCWHfaXnxpvoz/eMv/D98ytbgdj1adQ6Xky1PEf4h7fn+1Kt2eTZ0GzUxhTm2whjD5fwqy3kDcCRyiWM7XS/ivPw0wzoS1GFirjNYt60x8fRrK2X5e1fddjFu6rHzf67jZ/G/G3bDXyGZXfVV3UdncfixWSNPGaPELWWqNM4LKHbDliRWPViX3onphpAgxjaH0o78Rc+zu+o+VilVQ23Ewlo0rQl90wCbmhNaJ7lAhi64R1GzHvrYndnakEjGxFSQDNwNYO34d4Npfh7g2uFQme2aodcz3DeqMqSozwdQaE/cuxYakyPQIxIDvXJPOou66umYRolThh9VlA1HNaGZcS+Irfw594JQGTzienZ9rJkljHdu1RBuWVKnQZcful/bhjvLz2w/++vZ5L3JmjsFM4Qoa/7z99Epp597YLeepzbbxyj8a+zgq9+mswWWh4cjBrqOx+tHFeAmivdqEVTbb1dJlJEww8b0CcobB35/tB6/KwiUTggAORCdCBuW6n+XOwqocZK+strOMDfDxwvzJJXLHbPt6+ST0dPIfIVw+rD4UsET6uaXw2UJfS3tdu1CltUjnxUNRXvLgjVG6LRR+hBZz0P/o99swHD7lIwurEaOUG8DrGC/fne8zWVl0r5vcT/GP/6bGB79d7gYrZca0yxnCM0S1gyxRezcIIFs9pglKCB9OSkUX98cQwiJdKYyF8jXI1Hnl1T0cnJapnscwTlRKJVgBT3PHb2U3OB/ILfGJXwxeb6OkdfiVeznhE1cOYAKQ+9eyw1E9ikuVpM25NHHcSuwifwav2tfwo5mMNsNhStVVnA+cqbTjxGLJ7aCgaCT0trOw/NVcocBgWez5sS1n7w0xjk6bhudE2zs9j/nPxHfianMITUBk2neCN79E7dEkBM8YtEA06FfQOjjAVSdlmzgA4XbA+DJQ7ocg+Wyt5VF3qMALZYPBsQLRhBE3GroyOgEVX4Fd8GN815wlZMN6QXPn7DBa9cKrpAqRCJqfQruQsssMsjZFblZ7jpSUvJFxDXuOdk8SGnMqcKGsvjboXWVsXtfx1Lgql3PW8WQloEFNQ8KZToRnGhClFlDx7asCyR0esGSqSpB/NsteMUN6LZdmeNOTQtuHaepTKkx2GgJCS73JmuD3DViqWr2pWU3yhPjPp+6i5De+krJY+D2USwyNDjcv/9vPKlMSzznKHNI3rCOO+R93C9u6Yav5heNcEo6gvXLtqHJo5VRLMRTDGd1ZigY15UKded/EF7v2wr+zL/cJoXgHoxNak1YIw9f/iFH0tFBtKonfdZMq+wwxB9r83q9oTZRybi1zc1ZJ5YwI0sXGXUxRSdFDQG5GcLliVLYTUEFUTIS/MBHQSzzzdEHNUF2MWw/NVl22vPJR8TqvOI2C1IMRd2xIHKygUAFMhsCfHqfgTE8Qa5C5s2nP1bod45vSbtyOhclsyE2XTlLnrn9Rjatp5Z+vgnxS9RTDEw2EMaV1HRY5d75qstLB9x5EC7ua4kuR4uz3YhDlBsTaercEtHZMjQfr+AKh3RTKZnhRhp16dk3Ib/wKKot6W4UiYfCcev1Z3BS+aKDgZIo4BmUay486IGUSegitCvnZApaZ/+zgVgNdSx5LX3A/03qMoUwbKWV//iIuq0HCvemrziyScM+S106OQwGxMnpzIC587e8Aytz9sv/Cm7m32dyJz2hcqfV/igZCzkwHeMBFws5zm7+pkjwxYWM81Y63TNN+mptY1xPX9jayWiRW5mZgqLQXIk4UjXBP70d3/UAVYBDNc8oDQbAhYhbZrO3+o7XEZXSODmtCYcgg2Ho0qPzB7DBlDNYk7AF5hWTRMXbM0tm9dvWEB6JXS+eG4BSZhDhX6abMwDPiQG0Ro8mcmZ4j4YdwFCi2t4hzAqnS8rQjnFnBq6dXnixiHAa+65zxSkpRWA3sTBZggky6YGcQlOTT7omwGZGNEZsJCuebmyrbdCR/wAKSWWHCVmf8BOJVBBg2TLWnFUyzlmUJDaVvDrfBzsnZ6b73hFZiqWWCOO2NQFLOGJjcFGF+uKA4QGyOV4BQWZXjQjJ/gWyYmNRRz5nDxgyalSGy7gJIa0vcA+fuZ7RGQDnMLFx3xrQWL/Pwn9RQKnsPMl+KQPpu07cymfopVgHeow1BL5gJHe8c2Kt6Ctoao83PPp7SnLiKr15Prz3W0rSABScKe+1hjX3YN5eUGO1ToFRmRx9RDZswm3XJjeJYIarM394qfQbjCIqT16UeX8qs7eT43IBqUdG/l6671YTKjVV2wqkH1cD0jXbjECfkSJHnnqF5IVY+Od97Azh4jWuW3GJ3yqxyMJR+Zktw3p6H/+yvydoCfwPcpY+XHkwqobRzwG7U2vX0R71FceQUP1T9+Vv1x92Vi0SYissbJlB5ZWfQEcW6ULBHyw00qIMrbmBdrKD/wZo3yeg9TSU7qXNHgp5pl0ACFnL0UFeL6MmmMLeu4LKkoKJ2hUsrosFmJa1qX+wVAzqms7BPHsPFsIMq8ldtvm7Kyh5Md+lpYd5RL7bhkgD6dDluf5oxjUMtRwPpT0VkvJOywywpv5ciymBQimjlfmT2Nb0SGs7Gx8KOZt8UopYj8BzYGlBzJB/48+gW9aZUYT/LWgxBuiSDDQABNJn9Vx0n1bpO6L11akNwABZKyab5cGdw0CRNPLQYIU73+IMasmZcC8NIml4XmDMAAf0bNeUWnIJLc2MMPO6OSmJXZVS4yI5xRjGLjJqcXXlz3pAdVMNg//DQ34MgeK6jWmq2FdHFubd/as6mJZ1BUIuBzdQ1gaVlU2n5gNS3JsYCweZgWSKMrWzVHlS97SP+XCFs7swjmFpj1IpnG5PO5HR0Gj1KCR1o7B5Nn94y0O5Sy8cfftERhPGmMPruLzE9IVpAqb9W2mwl2aB5TiDIQy0UUIIvPTuts4G5ElVg/9jCtipqVOmof/cmVf6f6kLm5yQannJ83QeQ1B5/66U3klN78eKPpGBMwj/LrPojsHD/M2Wa/e6Cj37Fi4MmFKkcbHqRzm+KLjQj+vkwGKJ37YU8GKKcdpoQU9weaZgHrEANeDnq+5NZGdTWDLkxv8w6+povwEO4kNdZ3EyOJWQbGMBfQgJOgzPnQzHHD+jeAmqG//j2jHxYZRWh55+gfueW0SER2rd9IW3kNegKJ7TtdhIgjdHtXfVjEjZf4wts/XOVKKLaKns2bNUo2VPIvAh+4o7dbE9Jf/zqOzPwpBtXNXUCERnDgCsLRZTxipdaTUlNPLL64oQrT3UY5q1CBNJROF4HIvOqH4evWve79ddD0ICHGGQQu/HoWN7JaLN/4H8BtD8+KI51k+jeR1fFXUbJzvWOyXMr0zyoEEwiC9lxfmYbPxlc+CLEp/WESmuQxZ80pcpQc04zXFBathqjHroMLSNup4xvjNPgl8RIPrqilH0fPBJA/d/aR6mdMyO7Xb49MQaSwR7wlz08q+YmbuC9Cs6GewGuZvMBaODsdFynKsgG1LjvqA06rVc2wrQwixiebhwp9eU8xEoesn7LJBER73J/C1kR4u8I2dVuh1nm18Bkux/jHvstoQB/CK6oUT21mS+d9W3Fp/zYpjo8mUP7E7dim5TvB4NP+6C59EqYUsjalW5Keznrc9qhldWu7gF3pMy1SAcw2eqpLL1ukuAJopVxaExPTG4goiV6Pu4/+Lk3t3AZ3aVdupT3EfIZDbqk0UdTtK3g4zvcwi3POUra1JvIRKRNH1b87EEFqi/rq0zsiDCLJll/7vdYDxQwiMBLaZsYEe8MXagSt107i9pOj2hEZEDV1B0hGP5vp5OBG6o9dVPu/8RZUyBP6PbDsqto+d8sqErIjy/NnyAV3kITM49fEdXoeaK9MMR8lap/75VWfbDl9IUNkO67YkCtl+z0zmo+mAamrLY/VULMaK9K3G1IVcteB7SiG+QHYDSLUiDzBIp3yEAAABWtNl/ZNAxz7DNhs5TMRfaHh5xs5HfeSSbVMP22KDXXLcKBsXpam4KNZ445Awb4/UgulHkP3WxJMxpFtSL68J0kVGlXEMjduyG0ayjWwylZycm5BUQKv93/wagwobFtef9FDG7C8jtni9Hv3FKlo/b3ynRWMejczT/XvIk9ruwHvGi02chE0jZ6DIeICqXO7RQoHvVFFpAjl7JVZpqsOl2L8anSMQQFPlNt7zvgORzyZUd3zoWVvkAl9eZM4whrGoTHReLWWFZi2Y0nxGG8M4WMyDgwt2P5EJAI29c5G/HQ8+KPWm0SwXtz02UaLm4Y9jnwQjUWj5ZhtUUE2AXFnyA07QQDoENFhRpNZfd8IUtFDBnQ3IRJSzZchEgduiIJ4DWPG7ScRHUaVVOOmCS90Eni044htHJuI6JxOzvowSqa0oIFVRE1iK1tQooyxzxyFInkWCNGv+WHGUnvz9jRwWnEuduLLDPbp7B2KKvYcqxpUR3/lf09ZmJoHBKhIAVYRvA5MIEFyZSUcGyF7fQODkFg1pYM4pDxy17gm0BgiDCe7ItiTCEX/Y51MjMtwkeXxH2r24bvNympZi0ML0gbO8YM4skFmKZv7haKYCa6fzERrFyJZocPi+HKR7pe6AdgwAoypHD+hpbouDOCTo6BVJKNcz8Nq8AnXZOr+q++e9N72AGass3S2bqIT9EGTD6j9fHM91Jn071aOffNDbEZS+taM1NavisF/m9IPOVfa0DMlrJvYYeBPcaJM9A/RfF6MzCbAf9I1FfYNbcg+6RqwiUVOnXfbURec9vDmum+sh/kRuiAFX+eV+WY9hFdvRm9xEiqDY1WxOmoF/5vXZRVWAAAA="},8832:(e,o,t)=>{t.d(o,{c:()=>s});const s=t.p+"assets/images/wrapper-modal-7e522af5e936b203331d1ab5808fb70d.webp"},4552:(e,o,t)=>{t.d(o,{I:()=>a,M:()=>r});var s=t(11504);const n={},i=s.createContext(n);function r(e){const o=s.useContext(i);return s.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(n):e.components||n:r(e.components),s.createElement(i.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5cda8f59.4315930f.js b/assets/js/5cda8f59.4315930f.js new file mode 100644 index 000000000..5e249d45a --- /dev/null +++ b/assets/js/5cda8f59.4315930f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[67516],{8100:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>u,frontMatter:()=>n,metadata:()=>c,toc:()=>l});var i=s(17624),o=s(4552);const n={id:"blocks-registration",title:"Registration"},r=void 0,c={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.",source:"@site/docs/legacy/v4/guides/blocks-registration.md",sourceDirName:"legacy/v4/guides",slug:"/legacy/v4/guides/blocks-registration",permalink:"/docs/legacy/v4/guides/blocks-registration",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-registration",title:"Registration"},sidebar:"docs",previous:{title:"Taxonomy",permalink:"/docs/legacy/v4/guides/taxonomy"},next:{title:"Blocks Structure",permalink:"/docs/legacy/v4/guides/blocks-structure"}},a={},l=[];function d(e){const t={a:"a",code:"code",p:"p",...(0,o.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"Block registration works using magic and being able to use them a specific folder structure and naming must be followed.\nIn general, we have created all block registration in the manifest.json file. We use that file in JavaScript part of the block and Php part of the block. You can read more details here in the Block Manifest Structure section."}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:"registerBlocks"})," function loops through all block manifest and registers all blocks in the Block Editor using the native ",(0,i.jsx)(t.code,{children:"registerBlockType"})," method."]}),"\n",(0,i.jsxs)(t.p,{children:["To be able to register all block, please check this ",(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/v2.0.0/blocks/init/src/blocks/assets/scripts/application-blocks-editor.js",children:"file"}),"."]})]})}function u(e={}){const{wrapper:t}={...(0,o.M)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},4552:(e,t,s)=>{s.d(t,{I:()=>c,M:()=>r});var i=s(11504);const o={},n=i.createContext(o);function r(e){const t=i.useContext(n);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),i.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5cda8f59.d25191a4.js b/assets/js/5cda8f59.d25191a4.js deleted file mode 100644 index bfd8bfe46..000000000 --- a/assets/js/5cda8f59.d25191a4.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[43374],{22352:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>u,frontMatter:()=>n,metadata:()=>c,toc:()=>l});var i=s(85893),o=s(11151);const n={id:"blocks-registration",title:"Registration"},r=void 0,c={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.",source:"@site/docs/legacy/v4/guides/blocks-registration.md",sourceDirName:"legacy/v4/guides",slug:"/legacy/v4/guides/blocks-registration",permalink:"/docs/legacy/v4/guides/blocks-registration",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-registration",title:"Registration"},sidebar:"docs",previous:{title:"Taxonomy",permalink:"/docs/legacy/v4/guides/taxonomy"},next:{title:"Blocks Structure",permalink:"/docs/legacy/v4/guides/blocks-structure"}},a={},l=[];function d(e){const t={a:"a",code:"code",p:"p",...(0,o.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"Block registration works using magic and being able to use them a specific folder structure and naming must be followed.\nIn general, we have created all block registration in the manifest.json file. We use that file in JavaScript part of the block and Php part of the block. You can read more details here in the Block Manifest Structure section."}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:"registerBlocks"})," function loops through all block manifest and registers all blocks in the Block Editor using the native ",(0,i.jsx)(t.code,{children:"registerBlockType"})," method."]}),"\n",(0,i.jsxs)(t.p,{children:["To be able to register all block, please check this ",(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/v2.0.0/blocks/init/src/blocks/assets/scripts/application-blocks-editor.js",children:"file"}),"."]})]})}function u(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},11151:(e,t,s)=>{s.d(t,{Z:()=>c,a:()=>r});var i=s(67294);const o={},n=i.createContext(o);function r(e){const t=i.useContext(n);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),i.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5d34a3e0.6952b531.js b/assets/js/5d34a3e0.6952b531.js new file mode 100644 index 000000000..90e1ce713 --- /dev/null +++ b/assets/js/5d34a3e0.6952b531.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[83644],{22964:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>r});var i=n(17624),t=n(4552);const o={id:"architecture-concepts",title:"Architecture concepts"},a=void 0,c={id:"basics/architecture-concepts",title:"Architecture concepts",description:"Project structure",source:"@site/docs/basics/architecture-concepts.md",sourceDirName:"basics",slug:"/basics/architecture-concepts",permalink:"/docs/basics/architecture-concepts",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"architecture-concepts",title:"Architecture concepts"},sidebar:"docs",previous:{title:"WP-CLI",permalink:"/docs/basics/wp-cli"},next:{title:"General",permalink:"/docs/basics/backend"}},l={},r=[{value:"Project structure",id:"project-structure",level:2},{value:"Object-oriented paradigms",id:"object-oriented-paradigms",level:2},{value:"Blocks and Components",id:"blocks-and-components",level:2},{value:"The Manifest",id:"the-manifest",level:2},{value:"The directory structure in detail",id:"the-directory-structure-in-detail",level:2},{value:"Blocks",id:"blocks",level:4},{value:"Columns",id:"columns",level:4},{value:"Config",id:"config",level:4},{value:"CustomMeta",id:"custommeta",level:4},{value:"CustomPostType",id:"customposttype",level:4},{value:"CustomTaxonomy",id:"customtaxonomy",level:4},{value:"Enqueue",id:"enqueue",level:4},{value:"Exception",id:"exception",level:4},{value:"Helpers",id:"helpers",level:4},{value:"I18n",id:"i18n",level:4},{value:"Main",id:"main",level:4},{value:"Manifest",id:"manifest",level:4},{value:"Media",id:"media",level:4},{value:"Menu",id:"menu",level:4},{value:"ModifyAdminAppearance",id:"modifyadminappearance",level:4},{value:"Plugin",id:"plugin",level:4},{value:"Rest",id:"rest",level:4},{value:"ThemeOptions",id:"themeoptions",level:4},{value:"View",id:"view",level:4},{value:".storybook",id:"storybook",level:4},{value:".gitignore",id:"gitignore",level:4},{value:".eslintignore",id:"eslintignore",level:4},{value:".eslintrc",id:"eslintrc",level:4},{value:".stylelintrc",id:"stylelintrc",level:4},{value:"babel.config.js",id:"babelconfigjs",level:4},{value:"composer.json",id:"composerjson",level:4},{value:"composer.lock",id:"composerlock",level:4},{value:"package-lock.json",id:"package-lockjson",level:4},{value:"package.json",id:"packagejson",level:4},{value:"phpcs.xml.dist",id:"phpcsxmldist",level:4},{value:"postcss.config.js",id:"postcssconfigjs",level:4},{value:"webpack.config.js",id:"webpackconfigjs",level:4}];function d(e){const s={a:"a",code:"code",em:"em",h2:"h2",h4:"h4",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,t.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.h2,{id:"project-structure",children:"Project structure"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/infinum/eightshift-libs",children:(0,i.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsxs)(s.p,{children:["Eightshift Development Kit follows a strict project structure to support autoloading, dependency injection and ",(0,i.jsx)(s.code,{children:"wp boilerplate"})," commands, as well as conventions to increase codebase understanding between developers. As an added benefit, following this structure and conventions makes your codebase more consistent and organized."]}),"\n",(0,i.jsxs)(s.p,{children:["While Eightshift Development Kit provides required theme files and common theme files such as ",(0,i.jsx)(s.code,{children:"style.css"})," and ",(0,i.jsx)(s.code,{children:"functions.php"}),", they're used differently to what you might expect if you've worked with WordPress themes previously. For instance, ",(0,i.jsx)(s.code,{children:"style.css"})," is used only to register theme metadata, and doesn't contain any actual styles, as they're built using Webpack and use cache busting. ",(0,i.jsx)(s.code,{children:"functions.php"})," simply bootstraps the execution lifecycle. We also provide very basic template partials, such as ",(0,i.jsx)(s.code,{children:"single.php"}),", which you can accommodate to your needs. An idea to consider is replacing some of them with pages that are editable in Gutenberg."]}),"\n",(0,i.jsxs)(s.p,{children:["While you'll find some additional configuration files such as ",(0,i.jsx)(s.code,{children:"webpack.config.js"})," in the project root, the majority of your projects codebase should live in the ",(0,i.jsx)(s.code,{children:"src"})," directory, which is autoloaded via Composer following PSR-4 conventions. This implies that every directory under ",(0,i.jsx)(s.code,{children:"src"})," is a namespace under your base namespace (which is your project name), and PHP files inside of those directories are classes in that namespace, with exceptions for filenames that aren't in ",(0,i.jsx)(s.code,{children:"StudlyCase"}),"."]}),"\n",(0,i.jsxs)(s.p,{children:["An Eightshift Development Kit convention is to structure namespaces around features and functionality, so for instance, all custom post types would be part of the ",(0,i.jsx)(s.code,{children:"ProjectName\\CustomPostType"})," namespace."]}),"\n",(0,i.jsx)(s.h2,{id:"object-oriented-paradigms",children:"Object-oriented paradigms"}),"\n",(0,i.jsx)(s.p,{children:"Eightshift Libs is entirely object-oriented, providing abstract classes for internal library functionality, interfaces you can use to implement certain classes to make use of Eightshift Development Kit features, as well as concrete class implementations for use in projects."}),"\n",(0,i.jsx)(s.p,{children:"Our use of OOP allows you to extend, modify or even replace Eightshift Development Kit functionality safely, without breaking compatibility or harming your project."}),"\n",(0,i.jsxs)(s.p,{children:["One of the most important interfaces in Eightshift Libs is the ",(0,i.jsx)(s.code,{children:"ServiceInterface"}),". Classes that implement it are called service classes. This isn't a common pattern in PHP OOP. In Eightshift Development Kit, a service class represents a part of the project's functionality and has a ",(0,i.jsx)(s.code,{children:"register"})," method that sets up the action and filter hooks for the service. If you need to add an action or a filter, you should do that in a service class. All your service classes are automatically loaded and can have dependencies injected using dependency injection."]}),"\n",(0,i.jsxs)(s.p,{children:["To ensure there are no naming collisions caused by Composer dependencies, we use the ",(0,i.jsx)(s.a,{href:"https://github.com/infinum/imposter-plugin",children:"Imposter Composer plugin"})," to contain them in the ",(0,i.jsx)(s.code,{children:"{ProjectName}Vendor"})," namespace. This comes with a few caveats which you should be aware of, and about which you can read more in the ",(0,i.jsx)(s.a,{href:"namespaces",children:"namespaces chapter"}),"."]}),"\n",(0,i.jsxs)(s.p,{children:["Read more about ",(0,i.jsx)(s.a,{href:"namespaces",children:"namespaces and Imposter"}),", ",(0,i.jsx)(s.a,{href:"extending-classes",children:"extending classes and service classes"}),", and ",(0,i.jsx)(s.a,{href:"autowiring",children:"dependency injection and autowiring"}),"."]}),"\n",(0,i.jsx)(s.h2,{id:"blocks-and-components",children:"Blocks and Components"}),"\n",(0,i.jsxs)(s.p,{children:["While Blocks and Components will be covered in much more detail in the ",(0,i.jsx)(s.a,{href:"blocks",children:"Blocks chapter"}),", it's worth getting acquainted with the concepts from the start."]}),"\n",(0,i.jsxs)(s.p,{children:["In Gutenberg, Blocks are an abstract unit for structuring content. The same applies in Eightshift, with an additional concept of ",(0,i.jsx)(s.em,{children:"Components"}),", which are abstract units for structuring blocks and layouts."]}),"\n",(0,i.jsx)(s.p,{children:"Components are mostly similar to Blocks, with a few key differences:"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"Components can not be inserted by users in Gutenberg, and are not registered as block types"}),"\n",(0,i.jsxs)(s.li,{children:["Components can be rendered in any context using the ",(0,i.jsx)(s.code,{children:"Components::render"})," method, with arbitrary attribute values passed to them"]}),"\n",(0,i.jsxs)(s.li,{children:["Blocks are usually only rendered using the render callback provided when registering the block","\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"Note that in the Eightshift Development Kit, the render callback is provided for you by Eightshift Libs. It automatically adds the wrapper if necessary and sets up your block view."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["Components don't implement the ",(0,i.jsx)(s.code,{children:"{blockName}-block.js"})," file"]}),"\n"]}),"\n",(0,i.jsx)(s.p,{children:"Blocks and Components have the same structure, which makes extracting components from existing blocks trivially easy."}),"\n",(0,i.jsxs)(s.p,{children:["Components can be ",(0,i.jsx)(s.em,{children:"composed"})," into a block. In other words, blocks can consist out of zero or more components. Component composition is handled in the block manifest, allows you to avoid using InnerBlocks to include functionality shared with other blocks, and serializes component attributes to the block using prefixed attributes for each component instance depending on your manifest definitions."]}),"\n",(0,i.jsxs)(s.p,{children:["To learn more about the differences between blocks and components, read ",(0,i.jsx)(s.a,{href:"/blog/components-and-blocks",children:"Igor's blog post on Components and blocks"}),". To learn how to use blocks and components to build your projects, read the ",(0,i.jsx)(s.a,{href:"blocks",children:"Blocks chapter"}),"."]}),"\n",(0,i.jsx)(s.h2,{id:"the-manifest",children:"The Manifest"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"manifest.json"})," files contain metadata, configurations and variables."]}),"\n",(0,i.jsxs)(s.p,{children:["Every Eightshift project has one global ",(0,i.jsx)(s.code,{children:"manifest.json"})," file stored in ",(0,i.jsx)(s.code,{children:"src/Blocks/manifest.json"}),", which contains global settings, properties, and variables."]}),"\n",(0,i.jsx)(s.p,{children:"Furthermore, every Eightshift block, component, and variation has its own manifest file which is used to provide data required for block registration, such as a list of attributes, the block name, and the template for the inserter example. These local manifest files allow you to define arrays of options for attribute values that your blocks or components can consume. Manifest files also allow you to define relationships between attribute values and CSS variable values, which allows you a great deal of power when styling your blocks and components, as well as saves time as you don't have to provide conditional CSS classes."}),"\n",(0,i.jsxs)(s.p,{children:["To learn more about the ",(0,i.jsx)(s.a,{href:"/docs/basics/blocks-global-manifest",children:"global manifest"}),", ",(0,i.jsx)(s.a,{href:"/docs/basics/block-manifest",children:"block manifest"}),", ",(0,i.jsx)(s.a,{href:"/docs/basics/blocks-component-manifest",children:"component manifest"})," and using ",(0,i.jsx)(s.a,{href:"/docs/basics/blocks-styles",children:"the manifest to provide CSS variables for use in block styling"}),", read the respective articles in the ",(0,i.jsx)(s.a,{href:"blocks-important",children:"Blocks chapter"}),". For information about manifest structure, refer to the manifest schemas available in Eightshift Frontend Libs and linked to in the manifest files."]}),"\n",(0,i.jsx)(s.h2,{id:"the-directory-structure-in-detail",children:"The directory structure in detail"}),"\n",(0,i.jsxs)(s.p,{children:["Your project might contain a different set of namespaces and classes in the ",(0,i.jsx)(s.code,{children:"src"})," folder, depending on what you've included using wp boilerplate commands.\nBy default, your project will include the ",(0,i.jsx)(s.code,{children:"Blocks"}),", ",(0,i.jsx)(s.code,{children:"Config"}),", ",(0,i.jsx)(s.code,{children:"Enqueue"}),", ",(0,i.jsx)(s.code,{children:"Main"}),", ",(0,i.jsx)(s.code,{children:"Manifest"})," and ",(0,i.jsx)(s.code,{children:"Menu"})," namespaces. You can include classes from Eightshift Libs to provide additional functionality manually or using wp boilerplate."]}),"\n",(0,i.jsx)(s.p,{children:"This chapter also doesn't cover all the namespaces and classes in Eightshift Libs, or their use. Check out the source code documentation for all available namespaces and classes."}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:["src","\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"Blocks"}),"\n",(0,i.jsx)(s.li,{children:"assets"}),"\n",(0,i.jsx)(s.li,{children:"components"}),"\n",(0,i.jsx)(s.li,{children:"custom"}),"\n",(0,i.jsx)(s.li,{children:"variations"}),"\n",(0,i.jsx)(s.li,{children:"wrapper"}),"\n",(0,i.jsx)(s.li,{children:"Columns"}),"\n",(0,i.jsx)(s.li,{children:"Config"}),"\n",(0,i.jsx)(s.li,{children:"CustomMeta"}),"\n",(0,i.jsx)(s.li,{children:"CustomPostType"}),"\n",(0,i.jsx)(s.li,{children:"CustomTaxonomy"}),"\n",(0,i.jsxs)(s.li,{children:["Enqueue","\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"Admin"}),"\n",(0,i.jsx)(s.li,{children:"Blocks"}),"\n",(0,i.jsx)(s.li,{children:"Theme"}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.li,{children:"Exception"}),"\n",(0,i.jsx)(s.li,{children:"Helpers"}),"\n",(0,i.jsx)(s.li,{children:"I18n"}),"\n",(0,i.jsx)(s.li,{children:"Main"}),"\n",(0,i.jsx)(s.li,{children:"Manifest"}),"\n",(0,i.jsx)(s.li,{children:"Media"}),"\n",(0,i.jsx)(s.li,{children:"Menu"}),"\n",(0,i.jsx)(s.li,{children:"ModifyAdminAppearance"}),"\n",(0,i.jsx)(s.li,{children:"Plugin"}),"\n",(0,i.jsx)(s.li,{children:"Rest"}),"\n",(0,i.jsx)(s.li,{children:"ThemeOptions"}),"\n",(0,i.jsx)(s.li,{children:"View"}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.li,{children:".storybook"}),"\n",(0,i.jsx)(s.li,{children:".gitignore"}),"\n",(0,i.jsx)(s.li,{children:".eslintignore"}),"\n",(0,i.jsx)(s.li,{children:".eslintrc"}),"\n",(0,i.jsx)(s.li,{children:".stylelintrc"}),"\n",(0,i.jsx)(s.li,{children:"babel.config.js"}),"\n",(0,i.jsx)(s.li,{children:"composer.json"}),"\n",(0,i.jsx)(s.li,{children:"composer.lock"}),"\n",(0,i.jsx)(s.li,{children:"package-lock.json"}),"\n",(0,i.jsx)(s.li,{children:"package.json"}),"\n",(0,i.jsx)(s.li,{children:"phpcs.xml.dist"}),"\n",(0,i.jsx)(s.li,{children:"postcss.config.js"}),"\n",(0,i.jsx)(s.li,{children:"README.md"}),"\n",(0,i.jsx)(s.li,{children:"webpack.config.js"}),"\n"]}),"\n",(0,i.jsx)(s.h4,{id:"blocks",children:"Blocks"}),"\n",(0,i.jsx)(s.p,{children:"The Blocks namespace contains the Blocks class used for block registration. This directory also contains shared assets, components, blocks, variations, and the wrapper."}),"\n",(0,i.jsxs)(s.p,{children:["Read about blocks in detail in the ",(0,i.jsx)(s.a,{href:"blocks",children:"Blocks chapter"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"columns",children:"Columns"}),"\n",(0,i.jsxs)(s.p,{children:["This namespace contains all the custom admin listing columns hooks in your project. These include listing column hooks for post types, taxonomy, and user lists, such as ",(0,i.jsx)(s.code,{children:"manage_{$post_type}_posts_columns"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"config",children:"Config"}),"\n",(0,i.jsxs)(s.p,{children:["The Config class provides getter methods for your project's configuration, such as ",(0,i.jsx)(s.code,{children:"getProjectName"})," or ",(0,i.jsx)(s.code,{children:"getProjectVersion"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"custommeta",children:"CustomMeta"}),"\n",(0,i.jsx)(s.p,{children:"This class contains all the custom meta hooks for your project."}),"\n",(0,i.jsx)(s.h4,{id:"customposttype",children:"CustomPostType"}),"\n",(0,i.jsxs)(s.p,{children:["This namespace contains classes that register all custom post type hooks for your project. For better code consistency and to save time on boilerplating, Eightshift Development Kit provides an example class implementation you can use with ",(0,i.jsx)(s.code,{children:"wp boilerplate create post-type"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"customtaxonomy",children:"CustomTaxonomy"}),"\n",(0,i.jsxs)(s.p,{children:["This namespace contains classes that register all custom taxonomy hooks for your project. For better code consistency and to save time on boilerplating, Eightshift Development Kit provides an example class implementation you can use with ",(0,i.jsx)(s.code,{children:"wp boilerplate create taxonomy"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"enqueue",children:"Enqueue"}),"\n",(0,i.jsx)(s.p,{children:"These Enqueue namespace classes handle loading JavaScript and CSS assets, depending on the location you want to use it:"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.strong,{children:"Admin"})," - Used in the admin (not block editor) panel. You can find the files inside the ",(0,i.jsx)(s.code,{children:"assets"})," folder with the ",(0,i.jsx)(s.code,{children:"-admin"})," suffix."]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.strong,{children:"Blocks"})," - Used in the block editor. You can find the files inside the ",(0,i.jsx)(s.code,{children:"src/Blocks/assets"})," folder. As blocks are complicated, we have files loaded only in the admin-editor part of the project, those files have an ",(0,i.jsx)(s.code,{children:"-editor"})," suffix. The rest of the files with no suffix load on the admin-editor part and the project's front end."]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.strong,{children:"Theme"})," - Used in the theme (frontend) part of your project. You can find the files inside the ",(0,i.jsx)(s.code,{children:"assets"})," folder with no suffix. You would use these files for the assets related to your project that is not associated with components and blocks. These files are rarely used, as styles and JavaScript functionality are usually provided at component, block, or wrapper levels."]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Using any of these classes is optional, and you can use only what you need. The ",(0,i.jsx)(s.code,{children:"wp boilerplate init theme"})," command will set up all the three classes already implemented. Keep in mind that Enqueue classes work in combination with the Webpack build of your project."]}),"\n",(0,i.jsxs)(s.p,{children:["All the asset files mentioned are prefixed with ",(0,i.jsx)(s.code,{children:"application"}),". If you don't like the prefix, you can change it by providing project overrides for constants used in Eightshift Libs. If you change the file names, you must make changes to the Webpack build process as well. For modifying the Webpack configuration, read the ",(0,i.jsx)(s.a,{href:"webpack",children:"Webpack chapter"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"exception",children:"Exception"}),"\n",(0,i.jsx)(s.p,{children:"This namespace contains all exceptions that can be thrown from the project."}),"\n",(0,i.jsx)(s.h4,{id:"helpers",children:"Helpers"}),"\n",(0,i.jsx)(s.p,{children:"All the backend helpers provided by Eightshift Libs are part of the Helpers namespace. Generally, you can use them from Eightshift Libs without extending or modifying them."}),"\n",(0,i.jsx)(s.h4,{id:"i18n",children:"I18n"}),"\n",(0,i.jsxs)(s.p,{children:["Classes in this namespace are used to define all hooks related to internationalization and localization. For more information about i18n and l10n, check out ",(0,i.jsx)(s.a,{href:"tips-tricks",children:"Tips and tricks"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"main",children:"Main"}),"\n",(0,i.jsxs)(s.p,{children:["The Main namespace contains the ",(0,i.jsx)(s.code,{children:"Main"})," class, which sets up the dependency injection container and autowiring using ",(0,i.jsx)(s.code,{children:"AbstractMain"})," and ",(0,i.jsx)(s.code,{children:"Autowiring"})," classes. For most projects, ",(0,i.jsx)(s.code,{children:"Main"})," can be used automagically without any work on your part, but as with all of the Eightshift Development Kit, you can extend it to suit your needs."]}),"\n",(0,i.jsxs)(s.p,{children:["You can provide manual service classes here as well. Learn more in the ",(0,i.jsx)(s.a,{href:"autowiring",children:"autowiring chapter"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"manifest",children:"Manifest"}),"\n",(0,i.jsxs)(s.p,{children:["The Manifest namespace provides the ",(0,i.jsx)(s.code,{children:"manifest.json"})," file location and helpers to return the full path for a specific asset. Learn more about the manifest in the ",(0,i.jsx)(s.a,{href:"manifest",children:"manifest chapter"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"media",children:"Media"}),"\n",(0,i.jsx)(s.p,{children:"The Media namespace is used to add custom implementations for media, such as adding custom image sizes, enabling SVG image support, etc. By default, it registers theme support for title tags, HTML5 and post thumbnails."}),"\n",(0,i.jsx)(s.h4,{id:"menu",children:"Menu"}),"\n",(0,i.jsx)(s.p,{children:"This class is used to register menu positions."}),"\n",(0,i.jsx)(s.h4,{id:"modifyadminappearance",children:"ModifyAdminAppearance"}),"\n",(0,i.jsx)(s.p,{children:"This class is used to change admin appearance. We use it to change the admin color palette depending on the environment."}),"\n",(0,i.jsx)(s.h4,{id:"plugin",children:"Plugin"}),"\n",(0,i.jsx)(s.p,{children:"This namespace is used only in the plugin boilerplate and holds classes required for activation and deactivation of the plugin."}),"\n",(0,i.jsx)(s.h4,{id:"rest",children:"Rest"}),"\n",(0,i.jsxs)(s.p,{children:["The Rest namespace provides classes for handling REST API fields and routes. This is covered in more detail in the ",(0,i.jsx)(s.a,{href:"rest",children:"REST chapter"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"themeoptions",children:"ThemeOptions"}),"\n",(0,i.jsxs)(s.p,{children:["This namespace is used to add admin menu configuration panels such as ",(0,i.jsx)(s.em,{children:"Theme Options"}),", usually using ACF."]}),"\n",(0,i.jsx)(s.h4,{id:"view",children:"View"}),"\n",(0,i.jsxs)(s.p,{children:["This namespace is used to add filters used when escaping unsafe tags using ",(0,i.jsx)(s.code,{children:"wp_kses_post"})," and ",(0,i.jsx)(s.code,{children:"wp_kses"})," functions."]}),"\n",(0,i.jsx)(s.h4,{id:"storybook",children:".storybook"}),"\n",(0,i.jsxs)(s.p,{children:["This folder contains all of the files necessary to run the storybook in your project. Read more ",(0,i.jsx)(s.a,{href:"https://storybook.js.org/",children:"about the Storybook project"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"gitignore",children:".gitignore"}),"\n",(0,i.jsxs)(s.p,{children:["As the name implies, this file is used to define restrictions to which files Git watches. Read more ",(0,i.jsx)(s.a,{href:"https://git-scm.com/",children:"about Git"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"eslintignore",children:".eslintignore"}),"\n",(0,i.jsx)(s.p,{children:"Defines files and folders which ESLint should ignore when linting."}),"\n",(0,i.jsx)(s.h4,{id:"eslintrc",children:".eslintrc"}),"\n",(0,i.jsxs)(s.p,{children:["Provides definitions used for linting JavaScript files. Read more ",(0,i.jsx)(s.a,{href:"https://eslint.org/",children:"about ESLint"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"stylelintrc",children:".stylelintrc"}),"\n",(0,i.jsxs)(s.p,{children:["Provides definitions used for linting SCSS/CSS stylesheets. Read more ",(0,i.jsx)(s.a,{href:"https://stylelint.io/",children:"about Stylelint"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"babelconfigjs",children:"babel.config.js"}),"\n",(0,i.jsxs)(s.p,{children:["Provides Babel configuration, which determines how your JavaScript code will be compiled, what standard you will use, and much more. Read more ",(0,i.jsx)(s.a,{href:"https://babeljs.io/",children:"about Babel"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"composerjson",children:"composer.json"}),"\n",(0,i.jsxs)(s.p,{children:["Contains a list of your project's Composer dependencies, as well as project metadata and configuration. Dependencies can be added and installed using ",(0,i.jsx)(s.code,{children:"composer install"}),". Read more ",(0,i.jsx)(s.a,{href:"https://getcomposer.org/",children:"about Composer"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"composerlock",children:"composer.lock"}),"\n",(0,i.jsx)(s.p,{children:"Lock files are used to set the package version to the exact release. This ensures that everyone has the same package version when installing."}),"\n",(0,i.jsx)(s.h4,{id:"package-lockjson",children:"package-lock.json"}),"\n",(0,i.jsxs)(s.p,{children:["The same as ",(0,i.jsx)(s.code,{children:"composer.lock"}),", but for node_modules."]}),"\n",(0,i.jsx)(s.h4,{id:"packagejson",children:"package.json"}),"\n",(0,i.jsxs)(s.p,{children:["Contains a list of your project's npm dependencies, as well as project metadata and configuration. Dependencies can be added and installed using ",(0,i.jsx)(s.code,{children:"npm install"}),". Read more ",(0,i.jsx)(s.a,{href:"https://nodejs.dev/",children:"about npm"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"phpcsxmldist",children:"phpcs.xml.dist"}),"\n",(0,i.jsxs)(s.p,{children:["Provides definitions used for linting PHP files. Read more ",(0,i.jsx)(s.a,{href:"https://github.com/squizlabs/PHP_CodeSniffer",children:"about PHPCS"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"postcssconfigjs",children:"postcss.config.js"}),"\n",(0,i.jsxs)(s.p,{children:["PostCSS works in collaboration with Webpack and defines what additional plugins you are going to use when building your CSS files. Read more ",(0,i.jsx)(s.a,{href:"https://postcss.org/",children:"about PostCSS"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"webpackconfigjs",children:"webpack.config.js"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"webpack.config.js"})," provides Webpack configuration, used when building your JavaScript and CSS files. This is covered in more detail in the ",(0,i.jsx)(s.a,{href:"webpack",children:"Webpack chapter"}),"."]})]})}function h(e={}){const{wrapper:s}={...(0,t.M)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},4552:(e,s,n)=>{n.d(s,{I:()=>c,M:()=>a});var i=n(11504);const t={},o=i.createContext(t);function a(e){const s=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:a(e.components),i.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5d34a3e0.838df7a8.js b/assets/js/5d34a3e0.838df7a8.js deleted file mode 100644 index 928d3eff3..000000000 --- a/assets/js/5d34a3e0.838df7a8.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[80843],{14233:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>r});var i=n(85893),t=n(11151);const o={id:"architecture-concepts",title:"Architecture concepts"},a=void 0,c={id:"basics/architecture-concepts",title:"Architecture concepts",description:"Project structure",source:"@site/docs/basics/architecture-concepts.md",sourceDirName:"basics",slug:"/basics/architecture-concepts",permalink:"/docs/basics/architecture-concepts",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"architecture-concepts",title:"Architecture concepts"},sidebar:"docs",previous:{title:"WP-CLI",permalink:"/docs/basics/wp-cli"},next:{title:"General",permalink:"/docs/basics/backend"}},l={},r=[{value:"Project structure",id:"project-structure",level:2},{value:"Object-oriented paradigms",id:"object-oriented-paradigms",level:2},{value:"Blocks and Components",id:"blocks-and-components",level:2},{value:"The Manifest",id:"the-manifest",level:2},{value:"The directory structure in detail",id:"the-directory-structure-in-detail",level:2},{value:"Blocks",id:"blocks",level:4},{value:"Columns",id:"columns",level:4},{value:"Config",id:"config",level:4},{value:"CustomMeta",id:"custommeta",level:4},{value:"CustomPostType",id:"customposttype",level:4},{value:"CustomTaxonomy",id:"customtaxonomy",level:4},{value:"Enqueue",id:"enqueue",level:4},{value:"Exception",id:"exception",level:4},{value:"Helpers",id:"helpers",level:4},{value:"I18n",id:"i18n",level:4},{value:"Main",id:"main",level:4},{value:"Manifest",id:"manifest",level:4},{value:"Media",id:"media",level:4},{value:"Menu",id:"menu",level:4},{value:"ModifyAdminAppearance",id:"modifyadminappearance",level:4},{value:"Plugin",id:"plugin",level:4},{value:"Rest",id:"rest",level:4},{value:"ThemeOptions",id:"themeoptions",level:4},{value:"View",id:"view",level:4},{value:".storybook",id:"storybook",level:4},{value:".gitignore",id:"gitignore",level:4},{value:".eslintignore",id:"eslintignore",level:4},{value:".eslintrc",id:"eslintrc",level:4},{value:".stylelintrc",id:"stylelintrc",level:4},{value:"babel.config.js",id:"babelconfigjs",level:4},{value:"composer.json",id:"composerjson",level:4},{value:"composer.lock",id:"composerlock",level:4},{value:"package-lock.json",id:"package-lockjson",level:4},{value:"package.json",id:"packagejson",level:4},{value:"phpcs.xml.dist",id:"phpcsxmldist",level:4},{value:"postcss.config.js",id:"postcssconfigjs",level:4},{value:"webpack.config.js",id:"webpackconfigjs",level:4}];function d(e){const s={a:"a",code:"code",em:"em",h2:"h2",h4:"h4",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,t.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.h2,{id:"project-structure",children:"Project structure"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/infinum/eightshift-libs",children:(0,i.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsxs)(s.p,{children:["Eightshift Development Kit follows a strict project structure to support autoloading, dependency injection and ",(0,i.jsx)(s.code,{children:"wp boilerplate"})," commands, as well as conventions to increase codebase understanding between developers. As an added benefit, following this structure and conventions makes your codebase more consistent and organized."]}),"\n",(0,i.jsxs)(s.p,{children:["While Eightshift Development Kit provides required theme files and common theme files such as ",(0,i.jsx)(s.code,{children:"style.css"})," and ",(0,i.jsx)(s.code,{children:"functions.php"}),", they're used differently to what you might expect if you've worked with WordPress themes previously. For instance, ",(0,i.jsx)(s.code,{children:"style.css"})," is used only to register theme metadata, and doesn't contain any actual styles, as they're built using Webpack and use cache busting. ",(0,i.jsx)(s.code,{children:"functions.php"})," simply bootstraps the execution lifecycle. We also provide very basic template partials, such as ",(0,i.jsx)(s.code,{children:"single.php"}),", which you can accommodate to your needs. An idea to consider is replacing some of them with pages that are editable in Gutenberg."]}),"\n",(0,i.jsxs)(s.p,{children:["While you'll find some additional configuration files such as ",(0,i.jsx)(s.code,{children:"webpack.config.js"})," in the project root, the majority of your projects codebase should live in the ",(0,i.jsx)(s.code,{children:"src"})," directory, which is autoloaded via Composer following PSR-4 conventions. This implies that every directory under ",(0,i.jsx)(s.code,{children:"src"})," is a namespace under your base namespace (which is your project name), and PHP files inside of those directories are classes in that namespace, with exceptions for filenames that aren't in ",(0,i.jsx)(s.code,{children:"StudlyCase"}),"."]}),"\n",(0,i.jsxs)(s.p,{children:["An Eightshift Development Kit convention is to structure namespaces around features and functionality, so for instance, all custom post types would be part of the ",(0,i.jsx)(s.code,{children:"ProjectName\\CustomPostType"})," namespace."]}),"\n",(0,i.jsx)(s.h2,{id:"object-oriented-paradigms",children:"Object-oriented paradigms"}),"\n",(0,i.jsx)(s.p,{children:"Eightshift Libs is entirely object-oriented, providing abstract classes for internal library functionality, interfaces you can use to implement certain classes to make use of Eightshift Development Kit features, as well as concrete class implementations for use in projects."}),"\n",(0,i.jsx)(s.p,{children:"Our use of OOP allows you to extend, modify or even replace Eightshift Development Kit functionality safely, without breaking compatibility or harming your project."}),"\n",(0,i.jsxs)(s.p,{children:["One of the most important interfaces in Eightshift Libs is the ",(0,i.jsx)(s.code,{children:"ServiceInterface"}),". Classes that implement it are called service classes. This isn't a common pattern in PHP OOP. In Eightshift Development Kit, a service class represents a part of the project's functionality and has a ",(0,i.jsx)(s.code,{children:"register"})," method that sets up the action and filter hooks for the service. If you need to add an action or a filter, you should do that in a service class. All your service classes are automatically loaded and can have dependencies injected using dependency injection."]}),"\n",(0,i.jsxs)(s.p,{children:["To ensure there are no naming collisions caused by Composer dependencies, we use the ",(0,i.jsx)(s.a,{href:"https://github.com/infinum/imposter-plugin",children:"Imposter Composer plugin"})," to contain them in the ",(0,i.jsx)(s.code,{children:"{ProjectName}Vendor"})," namespace. This comes with a few caveats which you should be aware of, and about which you can read more in the ",(0,i.jsx)(s.a,{href:"namespaces",children:"namespaces chapter"}),"."]}),"\n",(0,i.jsxs)(s.p,{children:["Read more about ",(0,i.jsx)(s.a,{href:"namespaces",children:"namespaces and Imposter"}),", ",(0,i.jsx)(s.a,{href:"extending-classes",children:"extending classes and service classes"}),", and ",(0,i.jsx)(s.a,{href:"autowiring",children:"dependency injection and autowiring"}),"."]}),"\n",(0,i.jsx)(s.h2,{id:"blocks-and-components",children:"Blocks and Components"}),"\n",(0,i.jsxs)(s.p,{children:["While Blocks and Components will be covered in much more detail in the ",(0,i.jsx)(s.a,{href:"blocks",children:"Blocks chapter"}),", it's worth getting acquainted with the concepts from the start."]}),"\n",(0,i.jsxs)(s.p,{children:["In Gutenberg, Blocks are an abstract unit for structuring content. The same applies in Eightshift, with an additional concept of ",(0,i.jsx)(s.em,{children:"Components"}),", which are abstract units for structuring blocks and layouts."]}),"\n",(0,i.jsx)(s.p,{children:"Components are mostly similar to Blocks, with a few key differences:"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"Components can not be inserted by users in Gutenberg, and are not registered as block types"}),"\n",(0,i.jsxs)(s.li,{children:["Components can be rendered in any context using the ",(0,i.jsx)(s.code,{children:"Components::render"})," method, with arbitrary attribute values passed to them"]}),"\n",(0,i.jsxs)(s.li,{children:["Blocks are usually only rendered using the render callback provided when registering the block","\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"Note that in the Eightshift Development Kit, the render callback is provided for you by Eightshift Libs. It automatically adds the wrapper if necessary and sets up your block view."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["Components don't implement the ",(0,i.jsx)(s.code,{children:"{blockName}-block.js"})," file"]}),"\n"]}),"\n",(0,i.jsx)(s.p,{children:"Blocks and Components have the same structure, which makes extracting components from existing blocks trivially easy."}),"\n",(0,i.jsxs)(s.p,{children:["Components can be ",(0,i.jsx)(s.em,{children:"composed"})," into a block. In other words, blocks can consist out of zero or more components. Component composition is handled in the block manifest, allows you to avoid using InnerBlocks to include functionality shared with other blocks, and serializes component attributes to the block using prefixed attributes for each component instance depending on your manifest definitions."]}),"\n",(0,i.jsxs)(s.p,{children:["To learn more about the differences between blocks and components, read ",(0,i.jsx)(s.a,{href:"/blog/components-and-blocks",children:"Igor's blog post on Components and blocks"}),". To learn how to use blocks and components to build your projects, read the ",(0,i.jsx)(s.a,{href:"blocks",children:"Blocks chapter"}),"."]}),"\n",(0,i.jsx)(s.h2,{id:"the-manifest",children:"The Manifest"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"manifest.json"})," files contain metadata, configurations and variables."]}),"\n",(0,i.jsxs)(s.p,{children:["Every Eightshift project has one global ",(0,i.jsx)(s.code,{children:"manifest.json"})," file stored in ",(0,i.jsx)(s.code,{children:"src/Blocks/manifest.json"}),", which contains global settings, properties, and variables."]}),"\n",(0,i.jsx)(s.p,{children:"Furthermore, every Eightshift block, component, and variation has its own manifest file which is used to provide data required for block registration, such as a list of attributes, the block name, and the template for the inserter example. These local manifest files allow you to define arrays of options for attribute values that your blocks or components can consume. Manifest files also allow you to define relationships between attribute values and CSS variable values, which allows you a great deal of power when styling your blocks and components, as well as saves time as you don't have to provide conditional CSS classes."}),"\n",(0,i.jsxs)(s.p,{children:["To learn more about the ",(0,i.jsx)(s.a,{href:"/docs/basics/blocks-global-manifest",children:"global manifest"}),", ",(0,i.jsx)(s.a,{href:"/docs/basics/block-manifest",children:"block manifest"}),", ",(0,i.jsx)(s.a,{href:"/docs/basics/blocks-component-manifest",children:"component manifest"})," and using ",(0,i.jsx)(s.a,{href:"/docs/basics/blocks-styles",children:"the manifest to provide CSS variables for use in block styling"}),", read the respective articles in the ",(0,i.jsx)(s.a,{href:"blocks-important",children:"Blocks chapter"}),". For information about manifest structure, refer to the manifest schemas available in Eightshift Frontend Libs and linked to in the manifest files."]}),"\n",(0,i.jsx)(s.h2,{id:"the-directory-structure-in-detail",children:"The directory structure in detail"}),"\n",(0,i.jsxs)(s.p,{children:["Your project might contain a different set of namespaces and classes in the ",(0,i.jsx)(s.code,{children:"src"})," folder, depending on what you've included using wp boilerplate commands.\nBy default, your project will include the ",(0,i.jsx)(s.code,{children:"Blocks"}),", ",(0,i.jsx)(s.code,{children:"Config"}),", ",(0,i.jsx)(s.code,{children:"Enqueue"}),", ",(0,i.jsx)(s.code,{children:"Main"}),", ",(0,i.jsx)(s.code,{children:"Manifest"})," and ",(0,i.jsx)(s.code,{children:"Menu"})," namespaces. You can include classes from Eightshift Libs to provide additional functionality manually or using wp boilerplate."]}),"\n",(0,i.jsx)(s.p,{children:"This chapter also doesn't cover all the namespaces and classes in Eightshift Libs, or their use. Check out the source code documentation for all available namespaces and classes."}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:["src","\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"Blocks"}),"\n",(0,i.jsx)(s.li,{children:"assets"}),"\n",(0,i.jsx)(s.li,{children:"components"}),"\n",(0,i.jsx)(s.li,{children:"custom"}),"\n",(0,i.jsx)(s.li,{children:"variations"}),"\n",(0,i.jsx)(s.li,{children:"wrapper"}),"\n",(0,i.jsx)(s.li,{children:"Columns"}),"\n",(0,i.jsx)(s.li,{children:"Config"}),"\n",(0,i.jsx)(s.li,{children:"CustomMeta"}),"\n",(0,i.jsx)(s.li,{children:"CustomPostType"}),"\n",(0,i.jsx)(s.li,{children:"CustomTaxonomy"}),"\n",(0,i.jsxs)(s.li,{children:["Enqueue","\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"Admin"}),"\n",(0,i.jsx)(s.li,{children:"Blocks"}),"\n",(0,i.jsx)(s.li,{children:"Theme"}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.li,{children:"Exception"}),"\n",(0,i.jsx)(s.li,{children:"Helpers"}),"\n",(0,i.jsx)(s.li,{children:"I18n"}),"\n",(0,i.jsx)(s.li,{children:"Main"}),"\n",(0,i.jsx)(s.li,{children:"Manifest"}),"\n",(0,i.jsx)(s.li,{children:"Media"}),"\n",(0,i.jsx)(s.li,{children:"Menu"}),"\n",(0,i.jsx)(s.li,{children:"ModifyAdminAppearance"}),"\n",(0,i.jsx)(s.li,{children:"Plugin"}),"\n",(0,i.jsx)(s.li,{children:"Rest"}),"\n",(0,i.jsx)(s.li,{children:"ThemeOptions"}),"\n",(0,i.jsx)(s.li,{children:"View"}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.li,{children:".storybook"}),"\n",(0,i.jsx)(s.li,{children:".gitignore"}),"\n",(0,i.jsx)(s.li,{children:".eslintignore"}),"\n",(0,i.jsx)(s.li,{children:".eslintrc"}),"\n",(0,i.jsx)(s.li,{children:".stylelintrc"}),"\n",(0,i.jsx)(s.li,{children:"babel.config.js"}),"\n",(0,i.jsx)(s.li,{children:"composer.json"}),"\n",(0,i.jsx)(s.li,{children:"composer.lock"}),"\n",(0,i.jsx)(s.li,{children:"package-lock.json"}),"\n",(0,i.jsx)(s.li,{children:"package.json"}),"\n",(0,i.jsx)(s.li,{children:"phpcs.xml.dist"}),"\n",(0,i.jsx)(s.li,{children:"postcss.config.js"}),"\n",(0,i.jsx)(s.li,{children:"README.md"}),"\n",(0,i.jsx)(s.li,{children:"webpack.config.js"}),"\n"]}),"\n",(0,i.jsx)(s.h4,{id:"blocks",children:"Blocks"}),"\n",(0,i.jsx)(s.p,{children:"The Blocks namespace contains the Blocks class used for block registration. This directory also contains shared assets, components, blocks, variations, and the wrapper."}),"\n",(0,i.jsxs)(s.p,{children:["Read about blocks in detail in the ",(0,i.jsx)(s.a,{href:"blocks",children:"Blocks chapter"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"columns",children:"Columns"}),"\n",(0,i.jsxs)(s.p,{children:["This namespace contains all the custom admin listing columns hooks in your project. These include listing column hooks for post types, taxonomy, and user lists, such as ",(0,i.jsx)(s.code,{children:"manage_{$post_type}_posts_columns"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"config",children:"Config"}),"\n",(0,i.jsxs)(s.p,{children:["The Config class provides getter methods for your project's configuration, such as ",(0,i.jsx)(s.code,{children:"getProjectName"})," or ",(0,i.jsx)(s.code,{children:"getProjectVersion"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"custommeta",children:"CustomMeta"}),"\n",(0,i.jsx)(s.p,{children:"This class contains all the custom meta hooks for your project."}),"\n",(0,i.jsx)(s.h4,{id:"customposttype",children:"CustomPostType"}),"\n",(0,i.jsxs)(s.p,{children:["This namespace contains classes that register all custom post type hooks for your project. For better code consistency and to save time on boilerplating, Eightshift Development Kit provides an example class implementation you can use with ",(0,i.jsx)(s.code,{children:"wp boilerplate create post-type"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"customtaxonomy",children:"CustomTaxonomy"}),"\n",(0,i.jsxs)(s.p,{children:["This namespace contains classes that register all custom taxonomy hooks for your project. For better code consistency and to save time on boilerplating, Eightshift Development Kit provides an example class implementation you can use with ",(0,i.jsx)(s.code,{children:"wp boilerplate create taxonomy"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"enqueue",children:"Enqueue"}),"\n",(0,i.jsx)(s.p,{children:"These Enqueue namespace classes handle loading JavaScript and CSS assets, depending on the location you want to use it:"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.strong,{children:"Admin"})," - Used in the admin (not block editor) panel. You can find the files inside the ",(0,i.jsx)(s.code,{children:"assets"})," folder with the ",(0,i.jsx)(s.code,{children:"-admin"})," suffix."]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.strong,{children:"Blocks"})," - Used in the block editor. You can find the files inside the ",(0,i.jsx)(s.code,{children:"src/Blocks/assets"})," folder. As blocks are complicated, we have files loaded only in the admin-editor part of the project, those files have an ",(0,i.jsx)(s.code,{children:"-editor"})," suffix. The rest of the files with no suffix load on the admin-editor part and the project's front end."]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.strong,{children:"Theme"})," - Used in the theme (frontend) part of your project. You can find the files inside the ",(0,i.jsx)(s.code,{children:"assets"})," folder with no suffix. You would use these files for the assets related to your project that is not associated with components and blocks. These files are rarely used, as styles and JavaScript functionality are usually provided at component, block, or wrapper levels."]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Using any of these classes is optional, and you can use only what you need. The ",(0,i.jsx)(s.code,{children:"wp boilerplate init theme"})," command will set up all the three classes already implemented. Keep in mind that Enqueue classes work in combination with the Webpack build of your project."]}),"\n",(0,i.jsxs)(s.p,{children:["All the asset files mentioned are prefixed with ",(0,i.jsx)(s.code,{children:"application"}),". If you don't like the prefix, you can change it by providing project overrides for constants used in Eightshift Libs. If you change the file names, you must make changes to the Webpack build process as well. For modifying the Webpack configuration, read the ",(0,i.jsx)(s.a,{href:"webpack",children:"Webpack chapter"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"exception",children:"Exception"}),"\n",(0,i.jsx)(s.p,{children:"This namespace contains all exceptions that can be thrown from the project."}),"\n",(0,i.jsx)(s.h4,{id:"helpers",children:"Helpers"}),"\n",(0,i.jsx)(s.p,{children:"All the backend helpers provided by Eightshift Libs are part of the Helpers namespace. Generally, you can use them from Eightshift Libs without extending or modifying them."}),"\n",(0,i.jsx)(s.h4,{id:"i18n",children:"I18n"}),"\n",(0,i.jsxs)(s.p,{children:["Classes in this namespace are used to define all hooks related to internationalization and localization. For more information about i18n and l10n, check out ",(0,i.jsx)(s.a,{href:"tips-tricks",children:"Tips and tricks"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"main",children:"Main"}),"\n",(0,i.jsxs)(s.p,{children:["The Main namespace contains the ",(0,i.jsx)(s.code,{children:"Main"})," class, which sets up the dependency injection container and autowiring using ",(0,i.jsx)(s.code,{children:"AbstractMain"})," and ",(0,i.jsx)(s.code,{children:"Autowiring"})," classes. For most projects, ",(0,i.jsx)(s.code,{children:"Main"})," can be used automagically without any work on your part, but as with all of the Eightshift Development Kit, you can extend it to suit your needs."]}),"\n",(0,i.jsxs)(s.p,{children:["You can provide manual service classes here as well. Learn more in the ",(0,i.jsx)(s.a,{href:"autowiring",children:"autowiring chapter"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"manifest",children:"Manifest"}),"\n",(0,i.jsxs)(s.p,{children:["The Manifest namespace provides the ",(0,i.jsx)(s.code,{children:"manifest.json"})," file location and helpers to return the full path for a specific asset. Learn more about the manifest in the ",(0,i.jsx)(s.a,{href:"manifest",children:"manifest chapter"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"media",children:"Media"}),"\n",(0,i.jsx)(s.p,{children:"The Media namespace is used to add custom implementations for media, such as adding custom image sizes, enabling SVG image support, etc. By default, it registers theme support for title tags, HTML5 and post thumbnails."}),"\n",(0,i.jsx)(s.h4,{id:"menu",children:"Menu"}),"\n",(0,i.jsx)(s.p,{children:"This class is used to register menu positions."}),"\n",(0,i.jsx)(s.h4,{id:"modifyadminappearance",children:"ModifyAdminAppearance"}),"\n",(0,i.jsx)(s.p,{children:"This class is used to change admin appearance. We use it to change the admin color palette depending on the environment."}),"\n",(0,i.jsx)(s.h4,{id:"plugin",children:"Plugin"}),"\n",(0,i.jsx)(s.p,{children:"This namespace is used only in the plugin boilerplate and holds classes required for activation and deactivation of the plugin."}),"\n",(0,i.jsx)(s.h4,{id:"rest",children:"Rest"}),"\n",(0,i.jsxs)(s.p,{children:["The Rest namespace provides classes for handling REST API fields and routes. This is covered in more detail in the ",(0,i.jsx)(s.a,{href:"rest",children:"REST chapter"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"themeoptions",children:"ThemeOptions"}),"\n",(0,i.jsxs)(s.p,{children:["This namespace is used to add admin menu configuration panels such as ",(0,i.jsx)(s.em,{children:"Theme Options"}),", usually using ACF."]}),"\n",(0,i.jsx)(s.h4,{id:"view",children:"View"}),"\n",(0,i.jsxs)(s.p,{children:["This namespace is used to add filters used when escaping unsafe tags using ",(0,i.jsx)(s.code,{children:"wp_kses_post"})," and ",(0,i.jsx)(s.code,{children:"wp_kses"})," functions."]}),"\n",(0,i.jsx)(s.h4,{id:"storybook",children:".storybook"}),"\n",(0,i.jsxs)(s.p,{children:["This folder contains all of the files necessary to run the storybook in your project. Read more ",(0,i.jsx)(s.a,{href:"https://storybook.js.org/",children:"about the Storybook project"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"gitignore",children:".gitignore"}),"\n",(0,i.jsxs)(s.p,{children:["As the name implies, this file is used to define restrictions to which files Git watches. Read more ",(0,i.jsx)(s.a,{href:"https://git-scm.com/",children:"about Git"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"eslintignore",children:".eslintignore"}),"\n",(0,i.jsx)(s.p,{children:"Defines files and folders which ESLint should ignore when linting."}),"\n",(0,i.jsx)(s.h4,{id:"eslintrc",children:".eslintrc"}),"\n",(0,i.jsxs)(s.p,{children:["Provides definitions used for linting JavaScript files. Read more ",(0,i.jsx)(s.a,{href:"https://eslint.org/",children:"about ESLint"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"stylelintrc",children:".stylelintrc"}),"\n",(0,i.jsxs)(s.p,{children:["Provides definitions used for linting SCSS/CSS stylesheets. Read more ",(0,i.jsx)(s.a,{href:"https://stylelint.io/",children:"about Stylelint"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"babelconfigjs",children:"babel.config.js"}),"\n",(0,i.jsxs)(s.p,{children:["Provides Babel configuration, which determines how your JavaScript code will be compiled, what standard you will use, and much more. Read more ",(0,i.jsx)(s.a,{href:"https://babeljs.io/",children:"about Babel"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"composerjson",children:"composer.json"}),"\n",(0,i.jsxs)(s.p,{children:["Contains a list of your project's Composer dependencies, as well as project metadata and configuration. Dependencies can be added and installed using ",(0,i.jsx)(s.code,{children:"composer install"}),". Read more ",(0,i.jsx)(s.a,{href:"https://getcomposer.org/",children:"about Composer"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"composerlock",children:"composer.lock"}),"\n",(0,i.jsx)(s.p,{children:"Lock files are used to set the package version to the exact release. This ensures that everyone has the same package version when installing."}),"\n",(0,i.jsx)(s.h4,{id:"package-lockjson",children:"package-lock.json"}),"\n",(0,i.jsxs)(s.p,{children:["The same as ",(0,i.jsx)(s.code,{children:"composer.lock"}),", but for node_modules."]}),"\n",(0,i.jsx)(s.h4,{id:"packagejson",children:"package.json"}),"\n",(0,i.jsxs)(s.p,{children:["Contains a list of your project's npm dependencies, as well as project metadata and configuration. Dependencies can be added and installed using ",(0,i.jsx)(s.code,{children:"npm install"}),". Read more ",(0,i.jsx)(s.a,{href:"https://nodejs.dev/",children:"about npm"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"phpcsxmldist",children:"phpcs.xml.dist"}),"\n",(0,i.jsxs)(s.p,{children:["Provides definitions used for linting PHP files. Read more ",(0,i.jsx)(s.a,{href:"https://github.com/squizlabs/PHP_CodeSniffer",children:"about PHPCS"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"postcssconfigjs",children:"postcss.config.js"}),"\n",(0,i.jsxs)(s.p,{children:["PostCSS works in collaboration with Webpack and defines what additional plugins you are going to use when building your CSS files. Read more ",(0,i.jsx)(s.a,{href:"https://postcss.org/",children:"about PostCSS"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"webpackconfigjs",children:"webpack.config.js"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"webpack.config.js"})," provides Webpack configuration, used when building your JavaScript and CSS files. This is covered in more detail in the ",(0,i.jsx)(s.a,{href:"webpack",children:"Webpack chapter"}),"."]})]})}function h(e={}){const{wrapper:s}={...(0,t.a)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},11151:(e,s,n)=>{n.d(s,{Z:()=>c,a:()=>a});var i=n(67294);const t={},o=i.createContext(t);function a(e){const s=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:a(e.components),i.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5d41d0b6.909ac92b.js b/assets/js/5d41d0b6.909ac92b.js new file mode 100644 index 000000000..eacbaa9a2 --- /dev/null +++ b/assets/js/5d41d0b6.909ac92b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[17088],{98780:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>o,contentTitle:()=>l,default:()=>m,frontMatter:()=>a,metadata:()=>s,toc:()=>p});var n=i(17624),r=i(4552);const a={id:"mailerlite",title:"MailerLite"},l=void 0,s={id:"php/global-variables/integrations/mailerlite",title:"MailerLite",description:"ESAPIKEY_MAILERLITE",source:"@site/forms/php/global-variables/integrations/mailerlite.md",sourceDirName:"php/global-variables/integrations",slug:"/php/global-variables/integrations/mailerlite",permalink:"/forms/php/global-variables/integrations/mailerlite",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"mailerlite",title:"MailerLite"},sidebar:"forms",previous:{title:"Mailchimp",permalink:"/forms/php/global-variables/integrations/mailchimp"},next:{title:"Moments",permalink:"/forms/php/global-variables/integrations/moments"}},o={},p=[{value:"ES_API_KEY_MAILERLITE",id:"es_api_key_mailerlite",level:3}];function c(e){const t={code:"code",h3:"h3",p:"p",pre:"pre",...(0,r.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h3,{id:"es_api_key_mailerlite",children:"ES_API_KEY_MAILERLITE"}),"\n",(0,n.jsx)(t.p,{children:"This variable will set the MailerLite integration API key."}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"define('ES_API_KEY_MAILERLITE', '<api-key>');\n"})})]})}function m(e={}){const{wrapper:t}={...(0,r.M)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},4552:(e,t,i)=>{i.d(t,{I:()=>s,M:()=>l});var n=i(11504);const r={},a=n.createContext(r);function l(e){const t=n.useContext(a);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:l(e.components),n.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5d41d0b6.a4885715.js b/assets/js/5d41d0b6.a4885715.js deleted file mode 100644 index 33e409612..000000000 --- a/assets/js/5d41d0b6.a4885715.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[46738],{38323:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>o,contentTitle:()=>l,default:()=>m,frontMatter:()=>a,metadata:()=>s,toc:()=>p});var n=i(85893),r=i(11151);const a={id:"mailerlite",title:"MailerLite"},l=void 0,s={id:"php/global-variables/integrations/mailerlite",title:"MailerLite",description:"ESAPIKEY_MAILERLITE",source:"@site/forms/php/global-variables/integrations/mailerlite.md",sourceDirName:"php/global-variables/integrations",slug:"/php/global-variables/integrations/mailerlite",permalink:"/forms/php/global-variables/integrations/mailerlite",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"mailerlite",title:"MailerLite"},sidebar:"forms",previous:{title:"Mailchimp",permalink:"/forms/php/global-variables/integrations/mailchimp"},next:{title:"Moments",permalink:"/forms/php/global-variables/integrations/moments"}},o={},p=[{value:"ES_API_KEY_MAILERLITE",id:"es_api_key_mailerlite",level:3}];function c(e){const t={code:"code",h3:"h3",p:"p",pre:"pre",...(0,r.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h3,{id:"es_api_key_mailerlite",children:"ES_API_KEY_MAILERLITE"}),"\n",(0,n.jsx)(t.p,{children:"This variable will set the MailerLite integration API key."}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"define('ES_API_KEY_MAILERLITE', '<api-key>');\n"})})]})}function m(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},11151:(e,t,i)=>{i.d(t,{Z:()=>s,a:()=>l});var n=i(67294);const r={},a=n.createContext(r);function l(e){const t=n.useContext(a);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:l(e.components),n.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5e3b00c5.5126451d.js b/assets/js/5e3b00c5.5126451d.js new file mode 100644 index 000000000..7bca5ad6d --- /dev/null +++ b/assets/js/5e3b00c5.5126451d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[21e3],{20556:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>d,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>l,toc:()=>a});var t=i(17624),s=i(4552);const o={id:"greenhouse",title:"Greenhouse"},r=void 0,l={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.",source:"@site/forms/integrations/greenhouse.md",sourceDirName:"integrations",slug:"/integrations/greenhouse",permalink:"/forms/integrations/greenhouse",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"greenhouse",title:"Greenhouse"},sidebar:"forms",previous:{title:"Goodbits",permalink:"/forms/integrations/goodbits"},next:{title:"Hubspot",permalink:"/forms/integrations/hubspot"}},d={},a=[{value:"Website",id:"website",level:3},{value:"API Version",id:"api-version",level:3},{value:"API Documentation",id:"api-documentation",level:3},{value:"Integration type",id:"integration-type",level:3},{value:"Supported fields:",id:"supported-fields",level:3}];function c(e){const n={a:"a",h3:"h3",li:"li",p:"p",ul:"ul",...(0,s.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:"Greenhouse is an sourcing automation tool to help hiring teams find, reach and engage top talent quickly and effectively."}),"\n",(0,t.jsx)(n.h3,{id:"website",children:"Website"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://www.greenhouse.io/",children:"Visit website"})}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"api-version",children:"API Version"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"V1"}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"api-documentation",children:"API Documentation"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://developers.greenhouse.io/job-board.html",children:"Documentation"})}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"integration-type",children:"Integration type"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Form builder provided by the service."}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"supported-fields",children:"Supported fields:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Phone"}),"\n",(0,t.jsx)(n.li,{children:"Text"}),"\n",(0,t.jsx)(n.li,{children:"Email"}),"\n",(0,t.jsx)(n.li,{children:"File"}),"\n",(0,t.jsx)(n.li,{children:"Textarea"}),"\n",(0,t.jsx)(n.li,{children:"Select"}),"\n",(0,t.jsx)(n.li,{children:"Checkbox"}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,s.M)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},4552:(e,n,i)=>{i.d(n,{I:()=>l,M:()=>r});var t=i(11504);const s={},o=t.createContext(s);function r(e){const n=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),t.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5e3b00c5.a2a79fd0.js b/assets/js/5e3b00c5.a2a79fd0.js deleted file mode 100644 index 74266778f..000000000 --- a/assets/js/5e3b00c5.a2a79fd0.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[61823],{415:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>l,toc:()=>d});var t=i(85893),s=i(11151);const o={id:"greenhouse",title:"Greenhouse"},r=void 0,l={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.",source:"@site/forms/integrations/greenhouse.md",sourceDirName:"integrations",slug:"/integrations/greenhouse",permalink:"/forms/integrations/greenhouse",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"greenhouse",title:"Greenhouse"},sidebar:"forms",previous:{title:"Goodbits",permalink:"/forms/integrations/goodbits"},next:{title:"Hubspot",permalink:"/forms/integrations/hubspot"}},a={},d=[{value:"Website",id:"website",level:3},{value:"API Version",id:"api-version",level:3},{value:"API Documentation",id:"api-documentation",level:3},{value:"Integration type",id:"integration-type",level:3},{value:"Supported fields:",id:"supported-fields",level:3}];function c(e){const n={a:"a",h3:"h3",li:"li",p:"p",ul:"ul",...(0,s.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:"Greenhouse is an sourcing automation tool to help hiring teams find, reach and engage top talent quickly and effectively."}),"\n",(0,t.jsx)(n.h3,{id:"website",children:"Website"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://www.greenhouse.io/",children:"Visit website"})}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"api-version",children:"API Version"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"V1"}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"api-documentation",children:"API Documentation"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://developers.greenhouse.io/job-board.html",children:"Documentation"})}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"integration-type",children:"Integration type"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Form builder provided by the service."}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"supported-fields",children:"Supported fields:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Phone"}),"\n",(0,t.jsx)(n.li,{children:"Text"}),"\n",(0,t.jsx)(n.li,{children:"Email"}),"\n",(0,t.jsx)(n.li,{children:"File"}),"\n",(0,t.jsx)(n.li,{children:"Textarea"}),"\n",(0,t.jsx)(n.li,{children:"Select"}),"\n",(0,t.jsx)(n.li,{children:"Checkbox"}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},11151:(e,n,i)=>{i.d(n,{Z:()=>l,a:()=>r});var t=i(67294);const s={},o=t.createContext(s);function r(e){const n=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),t.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5e95c892.6755808b.js b/assets/js/5e95c892.6755808b.js deleted file mode 100644 index c137ced3a..000000000 --- a/assets/js/5e95c892.6755808b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[29661],{41892:(e,s,r)=>{r.r(s),r.d(s,{default:()=>d});r(67294);var t=r(36905),c=r(10833),h=r(35281),u=r(18790),a=r(22189),i=r(85893);function d(e){return(0,i.jsx)(c.FG,{className:(0,t.Z)(h.k.wrapper.docsPages),children:(0,i.jsx)(a.Z,{children:(0,u.H)(e.route.routes)})})}}}]); \ No newline at end of file diff --git a/assets/js/5e95c892.9864ada4.js b/assets/js/5e95c892.9864ada4.js new file mode 100644 index 000000000..cef76612e --- /dev/null +++ b/assets/js/5e95c892.9864ada4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[44304],{43564:(e,s,c)=>{c.r(s),c.d(s,{default:()=>d});c(11504);var r=c(65456),t=c(85008),h=c(45864),u=c(85464),a=c(520),i=c(17624);function d(e){return(0,i.jsx)(t.cr,{className:(0,r.c)(h.W.wrapper.docsPages),children:(0,i.jsx)(a.c,{children:(0,u.k)(e.route.routes)})})}}}]); \ No newline at end of file diff --git a/assets/js/5ed3387d.1371409d.js b/assets/js/5ed3387d.1371409d.js deleted file mode 100644 index fc425d332..000000000 --- a/assets/js/5ed3387d.1371409d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[52032],{62414:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>d});var s=n(85893),r=n(11151);const o={id:"requirements",title:"Requirements"},i=void 0,c={id:"requirements",title:"Requirements",description:"To have the smoothest development and setup experience, you need to install a few things on your computer.",source:"@site/docs/requirements.md",sourceDirName:".",slug:"/requirements",permalink:"/docs/requirements",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"requirements",title:"Requirements"},sidebar:"docs",previous:{title:"Eightshift Frontend Libs",permalink:"/docs/eightshift-frontend-libs"},next:{title:"Versions",permalink:"/docs/versions"}},l={},d=[];function a(e){const t={a:"a",code:"code",li:"li",ol:"ol",p:"p",ul:"ul",...(0,r.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:"To have the smoothest development and setup experience, you need to install a few things on your computer.\nPlease install these packages before you start the setup:"}),"\n",(0,s.jsxs)(t.ol,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"https://nodejs.org/en/",children:"Node.js"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"https://getcomposer.org/",children:"Composer"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"https://wp-cli.org/",children:"WP-CLI"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"https://git-scm.com/",children:"Git"})}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:"Make sure that you have all these packages installed and ready to use on your system. To make sure that they work, run these commands:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.code,{children:"node -v"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.code,{children:"composer -v"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.code,{children:"wp --info"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.code,{children:"git --version"})}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:"If it doesn't return any errors, you are good to go."})]})}function h(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},11151:(e,t,n)=>{n.d(t,{Z:()=>c,a:()=>i});var s=n(67294);const r={},o=s.createContext(r);function i(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5ed3387d.5ed64fc2.js b/assets/js/5ed3387d.5ed64fc2.js new file mode 100644 index 000000000..5c8add15f --- /dev/null +++ b/assets/js/5ed3387d.5ed64fc2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[63732],{53216:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>a,frontMatter:()=>o,metadata:()=>c,toc:()=>d});var s=n(17624),r=n(4552);const o={id:"requirements",title:"Requirements"},i=void 0,c={id:"requirements",title:"Requirements",description:"To have the smoothest development and setup experience, you need to install a few things on your computer.",source:"@site/docs/requirements.md",sourceDirName:".",slug:"/requirements",permalink:"/docs/requirements",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"requirements",title:"Requirements"},sidebar:"docs",previous:{title:"Eightshift Frontend Libs",permalink:"/docs/eightshift-frontend-libs"},next:{title:"Versions",permalink:"/docs/versions"}},l={},d=[];function h(e){const t={a:"a",code:"code",li:"li",ol:"ol",p:"p",ul:"ul",...(0,r.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:"To have the smoothest development and setup experience, you need to install a few things on your computer.\nPlease install these packages before you start the setup:"}),"\n",(0,s.jsxs)(t.ol,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"https://nodejs.org/en/",children:"Node.js"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"https://getcomposer.org/",children:"Composer"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"https://wp-cli.org/",children:"WP-CLI"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"https://git-scm.com/",children:"Git"})}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:"Make sure that you have all these packages installed and ready to use on your system. To make sure that they work, run these commands:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.code,{children:"node -v"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.code,{children:"composer -v"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.code,{children:"wp --info"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.code,{children:"git --version"})}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:"If it doesn't return any errors, you are good to go."})]})}function a(e={}){const{wrapper:t}={...(0,r.M)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},4552:(e,t,n)=>{n.d(t,{I:()=>c,M:()=>i});var s=n(11504);const r={},o=s.createContext(r);function i(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5f22e924.1b7cb3cf.js b/assets/js/5f22e924.1b7cb3cf.js deleted file mode 100644 index 89578cf30..000000000 --- a/assets/js/5f22e924.1b7cb3cf.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[96781],{77628:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>o,contentTitle:()=>c,default:()=>p,frontMatter:()=>i,metadata:()=>r,toc:()=>l});var s=t(85893),a=t(11151);const i={id:"backend",title:"General"},c=void 0,r={id:"legacy/v6/basics/backend",title:"General",description:"docs-source",source:"@site/docs/legacy/v6/basics/backend.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/backend",permalink:"/docs/legacy/v6/basics/backend",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"backend",title:"General"},sidebar:"docs",previous:{title:"Architecture concepts",permalink:"/docs/legacy/v6/basics/architecture-concepts"},next:{title:"Namespaces",permalink:"/docs/legacy/v6/basics/namespaces"}},o={},l=[];function h(e){const n={a:"a",img:"img",li:"li",p:"p",ul:"ul",...(0,a.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/tree/4.0.0",children:(0,s.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(n.p,{children:"In general, you can use anything as-is from the vendor library, or you can modify/add the functionality of existing classes by extending them in your project."}),"\n",(0,s.jsx)(n.p,{children:"If you are familiar with the extending classes (class inheritance) in PHP language, you can skip this chapter. For the rest, here are some awesome descriptions of how it works:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.php.net/manual/en/language.oop5.interfaces.php",children:"Interfaces"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://en.wikipedia.org/wiki/Dependency_injection",children:"Dependency Injection"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.php.net/manual/en/language.oop5.abstract.php",children:"Abstract Classes"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.php.net/manual/en/language.oop5.inheritance.php",children:"Object Inheritance"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.php.net/manual/en/language.namespaces.php",children:"Namespaces"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.php.net/manual/en/language.oop5.traits.php",children:"Traits"})}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Please get acquainted with these concepts before you continue because they will help you in the later chapters."})]})}function p(e={}){const{wrapper:n}={...(0,a.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},11151:(e,n,t)=>{t.d(n,{Z:()=>r,a:()=>c});var s=t(67294);const a={},i=s.createContext(a);function c(e){const n=s.useContext(i);return s.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(a):e.components||a:c(e.components),s.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5f22e924.951115e2.js b/assets/js/5f22e924.951115e2.js new file mode 100644 index 000000000..e592b4efb --- /dev/null +++ b/assets/js/5f22e924.951115e2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[14068],{22020:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>o,contentTitle:()=>c,default:()=>p,frontMatter:()=>i,metadata:()=>r,toc:()=>l});var s=t(17624),a=t(4552);const i={id:"backend",title:"General"},c=void 0,r={id:"legacy/v6/basics/backend",title:"General",description:"docs-source",source:"@site/docs/legacy/v6/basics/backend.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/backend",permalink:"/docs/legacy/v6/basics/backend",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"backend",title:"General"},sidebar:"docs",previous:{title:"Architecture concepts",permalink:"/docs/legacy/v6/basics/architecture-concepts"},next:{title:"Namespaces",permalink:"/docs/legacy/v6/basics/namespaces"}},o={},l=[];function h(e){const n={a:"a",img:"img",li:"li",p:"p",ul:"ul",...(0,a.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/tree/4.0.0",children:(0,s.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(n.p,{children:"In general, you can use anything as-is from the vendor library, or you can modify/add the functionality of existing classes by extending them in your project."}),"\n",(0,s.jsx)(n.p,{children:"If you are familiar with the extending classes (class inheritance) in PHP language, you can skip this chapter. For the rest, here are some awesome descriptions of how it works:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.php.net/manual/en/language.oop5.interfaces.php",children:"Interfaces"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://en.wikipedia.org/wiki/Dependency_injection",children:"Dependency Injection"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.php.net/manual/en/language.oop5.abstract.php",children:"Abstract Classes"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.php.net/manual/en/language.oop5.inheritance.php",children:"Object Inheritance"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.php.net/manual/en/language.namespaces.php",children:"Namespaces"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.php.net/manual/en/language.oop5.traits.php",children:"Traits"})}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Please get acquainted with these concepts before you continue because they will help you in the later chapters."})]})}function p(e={}){const{wrapper:n}={...(0,a.M)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},4552:(e,n,t)=>{t.d(n,{I:()=>r,M:()=>c});var s=t(11504);const a={},i=s.createContext(a);function c(e){const n=s.useContext(i);return s.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(a):e.components||a:c(e.components),s.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5fbdd67a.79911f2d.js b/assets/js/5fbdd67a.79911f2d.js new file mode 100644 index 000000000..bf0242aa6 --- /dev/null +++ b/assets/js/5fbdd67a.79911f2d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[47704],{74696:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>l,metadata:()=>o,toc:()=>a});var s=i(17624),n=i(4552);const l={id:"helpers-javascript",title:"JavaScript"},r="Editor helpers",o={id:"legacy/v6/basics/helpers-javascript",title:"JavaScript",description:"docs-source",source:"@site/docs/legacy/v6/basics/helpers-javascript.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/helpers-javascript",permalink:"/docs/legacy/v6/basics/helpers-javascript",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"helpers-javascript",title:"JavaScript"},sidebar:"docs",previous:{title:"Helpers",permalink:"/docs/legacy/v6/basics/helpers"},next:{title:"Scss",permalink:"/docs/legacy/v6/basics/helpers-scss"}},c={},a=[{value:"icons",id:"icons",level:3},{value:"illustrations",id:"illustrations",level:3},{value:"blockIcons",id:"blockicons",level:3},{value:"getActions",id:"getactions",level:3},{value:"getOption",id:"getoption",level:3},{value:"getOptionColors",id:"getoptioncolors",level:3},{value:"getOptions",id:"getoptions",level:3},{value:"getPaletteColors",id:"getpalettecolors",level:3},{value:"inserter",id:"inserter",level:3},{value:"outputCssVariablesGlobal",id:"outputcssvariablesglobal",level:3},{value:"outputCssVariables",id:"outputcssvariables",level:3},{value:"getUnique",id:"getunique",level:3},{value:"overrideInnerBlockAttributes",id:"overrideinnerblockattributes",level:3},{value:"overrideInnerBlockSimpleWrapperAttributes",id:"overrideinnerblocksimplewrapperattributes",level:3},{value:"pasteInto",id:"pasteinto",level:3},{value:"props",id:"props",level:3},{value:"getAttributes",id:"getattributes",level:3},{value:"getExample",id:"getexample",level:3},{value:"registerBlocks",id:"registerblocks",level:3},{value:"registerVariations",id:"registervariations",level:3},{value:"ucfirst",id:"ucfirst",level:3},{value:"camelize",id:"camelize",level:3},{value:"checkAttr",id:"checkattr",level:3},{value:"checkAttrResponsive",id:"checkattrresponsive",level:3},{value:"cookies",id:"cookies",level:3},{value:"debounce",id:"debounce",level:3},{value:"devices",id:"devices",level:3},{value:"dynamicImport",id:"dynamicimport",level:3},{value:"elementChildrenHeight",id:"elementchildrenheight",level:3},{value:"escape-string",id:"escape-string",level:3},{value:"navigator",id:"navigator",level:3},{value:"responsiveSelectors",id:"responsiveselectors",level:3},{value:"selector",id:"selector",level:3},{value:"truncateMiddle",id:"truncatemiddle",level:3},{value:"yoastSeo",id:"yoastseo",level:3},{value:"blockDetails",id:"blockdetails",level:3},{value:"Gutenberg",id:"gutenberg",level:3},{value:"storybookDefaultMocksCategories",id:"storybookdefaultmockscategories",level:3},{value:"storybookDefaultMocksColorPalette",id:"storybookdefaultmockscolorpalette",level:3},{value:"storybookWindowObjects,",id:"storybookwindowobjects",level:3},{value:"storybookWpStyles",id:"storybookwpstyles",level:3}];function d(e){const t={a:"a",code:"code",h1:"h1",h3:"h3",img:"img",p:"p",pre:"pre",...(0,n.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/",children:(0,s.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsxs)(t.p,{children:["All JavaScript helpers can be imported from the ",(0,s.jsx)(t.code,{children:"@eightshift/frontend-libs/scripts"})," folder, so you don't need to think about the internal folder structure of Eightshift Frontend Libs. If you want multiple functions imported just concatenate them in the import like this:"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"import {\n\tcamelize,\n\tcheckAttr,\n\tprops,\n\t...\n} from '@eightshift/frontend-libs/scripts';\n"})}),"\n",(0,s.jsx)(t.h1,{id:"editor-helpers",children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/scripts/editor",children:"Editor helpers"})}),"\n",(0,s.jsx)(t.p,{children:"All of these helpers are generally only used in the Block Editor."}),"\n",(0,s.jsx)(t.h3,{id:"icons",children:"icons"}),"\n",(0,s.jsx)(t.p,{children:"All UI icons."}),"\n",(0,s.jsx)(t.h3,{id:"illustrations",children:"illustrations"}),"\n",(0,s.jsx)(t.p,{children:"Illustrations for helper modals."}),"\n",(0,s.jsx)(t.h3,{id:"blockicons",children:"blockIcons"}),"\n",(0,s.jsx)(t.p,{children:"Block icons, primarily used in block manifests."}),"\n",(0,s.jsx)(t.h3,{id:"getactions",children:"getActions"}),"\n",(0,s.jsx)(t.p,{children:"Create attributes actions from blocks manifest.json.\nThis helper is deprecated and should not be used anymore."}),"\n",(0,s.jsx)(t.h3,{id:"getoption",children:"getOption"}),"\n",(0,s.jsx)(t.p,{children:"Provides ability to override component options from the parent block/component."}),"\n",(0,s.jsx)(t.h3,{id:"getoptioncolors",children:"getOptionColors"}),"\n",(0,s.jsx)(t.p,{children:"Use this hook to filter the global colors out of the component or block manifest.\nThis function is deprecated and getOption should be used."}),"\n",(0,s.jsx)(t.h3,{id:"getoptions",children:"getOptions"}),"\n",(0,s.jsx)(t.p,{children:"Combines two objects of options, one from current component and the other from the parent component."}),"\n",(0,s.jsx)(t.h3,{id:"getpalettecolors",children:"getPaletteColors"}),"\n",(0,s.jsx)(t.p,{children:"Use this hook to read editor-color-palette colors directly from WP built in store."}),"\n",(0,s.jsx)(t.h3,{id:"inserter",children:"inserter"}),"\n",(0,s.jsx)(t.p,{children:"Development inserter made to insert one or multiple blocks in the dom using console."}),"\n",(0,s.jsx)(t.h3,{id:"outputcssvariablesglobal",children:"outputCssVariablesGlobal"}),"\n",(0,s.jsx)(t.p,{children:"Get Global manifest.json and return global variables as CSS variables."}),"\n",(0,s.jsx)(t.h3,{id:"outputcssvariables",children:"outputCssVariables"}),"\n",(0,s.jsx)(t.p,{children:"Get component/block options and process them in CSS variables."}),"\n",(0,s.jsx)(t.h3,{id:"getunique",children:"getUnique"}),"\n",(0,s.jsx)(t.p,{children:"Returns a unique ID generally used for css variables."}),"\n",(0,s.jsx)(t.h3,{id:"overrideinnerblockattributes",children:"overrideInnerBlockAttributes"}),"\n",(0,s.jsx)(t.p,{children:"Used to set attributes on all innerBlocks. This value will be stored in the block editor store and set to a block."}),"\n",(0,s.jsx)(t.h3,{id:"overrideinnerblocksimplewrapperattributes",children:"overrideInnerBlockSimpleWrapperAttributes"}),"\n",(0,s.jsx)(t.p,{children:"Used to set attributes on all innerBlocks preset only for simple wrapper setup. This value will be stored in the block editor store and set to a block."}),"\n",(0,s.jsx)(t.h3,{id:"pasteinto",children:"pasteInto"}),"\n",(0,s.jsx)(t.p,{children:"Paste event handler."}),"\n",(0,s.jsx)(t.h3,{id:"props",children:"props"}),"\n",(0,s.jsx)(t.p,{children:"Output only attributes that are used in the component and remove everything else."}),"\n",(0,s.jsx)(t.h3,{id:"getattributes",children:"getAttributes"}),"\n",(0,s.jsx)(t.p,{children:'Get Block attributes combined in one: "shared, global, wrapper, components, block".'}),"\n",(0,s.jsx)(t.h3,{id:"getexample",children:"getExample"}),"\n",(0,s.jsx)(t.p,{children:'Get Block example attributes combined in one: "components and block".'}),"\n",(0,s.jsx)(t.h3,{id:"registerblocks",children:"registerBlocks"}),"\n",(0,s.jsxs)(t.p,{children:["Register all Block Editor blocks using WP ",(0,s.jsx)(t.code,{children:"registerBlockType"})," method."]}),"\n",(0,s.jsx)(t.h3,{id:"registervariations",children:"registerVariations"}),"\n",(0,s.jsxs)(t.p,{children:["Register all Variations Editor blocks using WP ",(0,s.jsx)(t.code,{children:"registerBlockVariation"})," method."]}),"\n",(0,s.jsx)(t.h3,{id:"ucfirst",children:"ucfirst"}),"\n",(0,s.jsx)(t.p,{children:"Convert the first letter of a string to uppercase."}),"\n",(0,s.jsx)(t.h1,{id:"general-helpers",children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/scripts/helpers",children:"General helpers"})}),"\n",(0,s.jsx)(t.p,{children:"These are all helpers generally used anywhere."}),"\n",(0,s.jsx)(t.h3,{id:"camelize",children:"camelize"}),"\n",(0,s.jsx)(t.p,{children:"Returns a camelCase-formatted string."}),"\n",(0,s.jsx)(t.h3,{id:"checkattr",children:"checkAttr"}),"\n",(0,s.jsx)(t.p,{children:"Check if attribute exist in attributes list and add default value if not."}),"\n",(0,s.jsx)(t.h3,{id:"checkattrresponsive",children:"checkAttrResponsive"}),"\n",(0,s.jsx)(t.p,{children:"Map and check attributes for responsive object."}),"\n",(0,s.jsx)(t.h3,{id:"cookies",children:"cookies"}),"\n",(0,s.jsx)(t.p,{children:"Helper to set and unset cookies."}),"\n",(0,s.jsx)(t.h3,{id:"debounce",children:"debounce"}),"\n",(0,s.jsx)(t.p,{children:"Debounces the provided function."}),"\n",(0,s.jsx)(t.h3,{id:"devices",children:"devices"}),"\n",(0,s.jsx)(t.p,{children:"Detect a certain device, so specific functionality can be implemented for it."}),"\n",(0,s.jsx)(t.h3,{id:"dynamicimport",children:"dynamicImport"}),"\n",(0,s.jsx)(t.p,{children:"Loop all paths required using require.context method."}),"\n",(0,s.jsx)(t.h3,{id:"elementchildrenheight",children:"elementChildrenHeight"}),"\n",(0,s.jsx)(t.p,{children:"Returns height of the element measured by height of its children."}),"\n",(0,s.jsx)(t.h3,{id:"escape-string",children:"escape-string"}),"\n",(0,s.jsx)(t.p,{children:"Takes the provided string and removes special characters"}),"\n",(0,s.jsx)(t.h3,{id:"navigator",children:"navigator"}),"\n",(0,s.jsxs)(t.p,{children:["The ",(0,s.jsx)(t.code,{children:"Navigator.vibrate()"})," method pulses the vibration hardware on the device, if such hardware exists."]}),"\n",(0,s.jsx)(t.h3,{id:"responsiveselectors",children:"responsiveSelectors"}),"\n",(0,s.jsx)(t.p,{children:"Create responsive selectors used for responsive attributes."}),"\n",(0,s.jsx)(t.h3,{id:"selector",children:"selector"}),"\n",(0,s.jsx)(t.p,{children:"Returns BEM selector for HTML class and checks if the condition part is set."}),"\n",(0,s.jsx)(t.h3,{id:"truncatemiddle",children:"truncateMiddle"}),"\n",(0,s.jsx)(t.p,{children:"Slices the string and inputs the provided separator after the specified characters."}),"\n",(0,s.jsx)(t.h1,{id:"plugins-helpers",children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/scripts/plugins",children:"Plugins helpers"})}),"\n",(0,s.jsx)(t.p,{children:"These are all helpers generally only in specific plugins."}),"\n",(0,s.jsx)(t.h3,{id:"yoastseo",children:"yoastSeo"}),"\n",(0,s.jsx)(t.p,{children:'This helper will search all blocks and components manifests and find attributes that have "seo": "true" key.\nThis key will be added in to the content and proceed by the YoastSeo Analysis plugin.'}),"\n",(0,s.jsx)(t.h1,{id:"storybook-helpers",children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/scripts/storybook",children:"Storybook helpers"})}),"\n",(0,s.jsx)(t.p,{children:"These are all helpers generally only in Storybook."}),"\n",(0,s.jsx)(t.h3,{id:"blockdetails",children:"blockDetails"}),"\n",(0,s.jsx)(t.p,{children:"Combine block details in one object."}),"\n",(0,s.jsx)(t.h3,{id:"gutenberg",children:"Gutenberg"}),"\n",(0,s.jsx)(t.p,{children:"Load actual Block Editor and all the magic."}),"\n",(0,s.jsx)(t.h3,{id:"storybookdefaultmockscategories",children:"storybookDefaultMocksCategories"}),"\n",(0,s.jsx)(t.p,{children:"Manually populate categories for blocks. This is generated in the PHP part of the real project."}),"\n",(0,s.jsx)(t.h3,{id:"storybookdefaultmockscolorpalette",children:"storybookDefaultMocksColorPalette"}),"\n",(0,s.jsx)(t.p,{children:"Manually populate blocks color palette. This is generated in the PHP part of the real project."}),"\n",(0,s.jsx)(t.h3,{id:"storybookwindowobjects",children:"storybookWindowObjects,"}),"\n",(0,s.jsx)(t.p,{children:"Loading WP build files."}),"\n",(0,s.jsx)(t.h3,{id:"storybookwpstyles",children:"storybookWpStyles"}),"\n",(0,s.jsx)(t.p,{children:"Loading styles for block editor."})]})}function h(e={}){const{wrapper:t}={...(0,n.M)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},4552:(e,t,i)=>{i.d(t,{I:()=>o,M:()=>r});var s=i(11504);const n={},l=s.createContext(n);function r(e){const t=s.useContext(l);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),s.createElement(l.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5fbdd67a.a65e7d6b.js b/assets/js/5fbdd67a.a65e7d6b.js deleted file mode 100644 index 5decd62b9..000000000 --- a/assets/js/5fbdd67a.a65e7d6b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[99731],{29410:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>l,metadata:()=>o,toc:()=>a});var s=i(85893),n=i(11151);const l={id:"helpers-javascript",title:"JavaScript"},r="Editor helpers",o={id:"legacy/v6/basics/helpers-javascript",title:"JavaScript",description:"docs-source",source:"@site/docs/legacy/v6/basics/helpers-javascript.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/helpers-javascript",permalink:"/docs/legacy/v6/basics/helpers-javascript",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"helpers-javascript",title:"JavaScript"},sidebar:"docs",previous:{title:"Helpers",permalink:"/docs/legacy/v6/basics/helpers"},next:{title:"Scss",permalink:"/docs/legacy/v6/basics/helpers-scss"}},c={},a=[{value:"icons",id:"icons",level:3},{value:"illustrations",id:"illustrations",level:3},{value:"blockIcons",id:"blockicons",level:3},{value:"getActions",id:"getactions",level:3},{value:"getOption",id:"getoption",level:3},{value:"getOptionColors",id:"getoptioncolors",level:3},{value:"getOptions",id:"getoptions",level:3},{value:"getPaletteColors",id:"getpalettecolors",level:3},{value:"inserter",id:"inserter",level:3},{value:"outputCssVariablesGlobal",id:"outputcssvariablesglobal",level:3},{value:"outputCssVariables",id:"outputcssvariables",level:3},{value:"getUnique",id:"getunique",level:3},{value:"overrideInnerBlockAttributes",id:"overrideinnerblockattributes",level:3},{value:"overrideInnerBlockSimpleWrapperAttributes",id:"overrideinnerblocksimplewrapperattributes",level:3},{value:"pasteInto",id:"pasteinto",level:3},{value:"props",id:"props",level:3},{value:"getAttributes",id:"getattributes",level:3},{value:"getExample",id:"getexample",level:3},{value:"registerBlocks",id:"registerblocks",level:3},{value:"registerVariations",id:"registervariations",level:3},{value:"ucfirst",id:"ucfirst",level:3},{value:"camelize",id:"camelize",level:3},{value:"checkAttr",id:"checkattr",level:3},{value:"checkAttrResponsive",id:"checkattrresponsive",level:3},{value:"cookies",id:"cookies",level:3},{value:"debounce",id:"debounce",level:3},{value:"devices",id:"devices",level:3},{value:"dynamicImport",id:"dynamicimport",level:3},{value:"elementChildrenHeight",id:"elementchildrenheight",level:3},{value:"escape-string",id:"escape-string",level:3},{value:"navigator",id:"navigator",level:3},{value:"responsiveSelectors",id:"responsiveselectors",level:3},{value:"selector",id:"selector",level:3},{value:"truncateMiddle",id:"truncatemiddle",level:3},{value:"yoastSeo",id:"yoastseo",level:3},{value:"blockDetails",id:"blockdetails",level:3},{value:"Gutenberg",id:"gutenberg",level:3},{value:"storybookDefaultMocksCategories",id:"storybookdefaultmockscategories",level:3},{value:"storybookDefaultMocksColorPalette",id:"storybookdefaultmockscolorpalette",level:3},{value:"storybookWindowObjects,",id:"storybookwindowobjects",level:3},{value:"storybookWpStyles",id:"storybookwpstyles",level:3}];function d(e){const t={a:"a",code:"code",h1:"h1",h3:"h3",img:"img",p:"p",pre:"pre",...(0,n.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/",children:(0,s.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsxs)(t.p,{children:["All JavaScript helpers can be imported from the ",(0,s.jsx)(t.code,{children:"@eightshift/frontend-libs/scripts"})," folder, so you don't need to think about the internal folder structure of Eightshift Frontend Libs. If you want multiple functions imported just concatenate them in the import like this:"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"import {\n\tcamelize,\n\tcheckAttr,\n\tprops,\n\t...\n} from '@eightshift/frontend-libs/scripts';\n"})}),"\n",(0,s.jsx)(t.h1,{id:"editor-helpers",children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/scripts/editor",children:"Editor helpers"})}),"\n",(0,s.jsx)(t.p,{children:"All of these helpers are generally only used in the Block Editor."}),"\n",(0,s.jsx)(t.h3,{id:"icons",children:"icons"}),"\n",(0,s.jsx)(t.p,{children:"All UI icons."}),"\n",(0,s.jsx)(t.h3,{id:"illustrations",children:"illustrations"}),"\n",(0,s.jsx)(t.p,{children:"Illustrations for helper modals."}),"\n",(0,s.jsx)(t.h3,{id:"blockicons",children:"blockIcons"}),"\n",(0,s.jsx)(t.p,{children:"Block icons, primarily used in block manifests."}),"\n",(0,s.jsx)(t.h3,{id:"getactions",children:"getActions"}),"\n",(0,s.jsx)(t.p,{children:"Create attributes actions from blocks manifest.json.\nThis helper is deprecated and should not be used anymore."}),"\n",(0,s.jsx)(t.h3,{id:"getoption",children:"getOption"}),"\n",(0,s.jsx)(t.p,{children:"Provides ability to override component options from the parent block/component."}),"\n",(0,s.jsx)(t.h3,{id:"getoptioncolors",children:"getOptionColors"}),"\n",(0,s.jsx)(t.p,{children:"Use this hook to filter the global colors out of the component or block manifest.\nThis function is deprecated and getOption should be used."}),"\n",(0,s.jsx)(t.h3,{id:"getoptions",children:"getOptions"}),"\n",(0,s.jsx)(t.p,{children:"Combines two objects of options, one from current component and the other from the parent component."}),"\n",(0,s.jsx)(t.h3,{id:"getpalettecolors",children:"getPaletteColors"}),"\n",(0,s.jsx)(t.p,{children:"Use this hook to read editor-color-palette colors directly from WP built in store."}),"\n",(0,s.jsx)(t.h3,{id:"inserter",children:"inserter"}),"\n",(0,s.jsx)(t.p,{children:"Development inserter made to insert one or multiple blocks in the dom using console."}),"\n",(0,s.jsx)(t.h3,{id:"outputcssvariablesglobal",children:"outputCssVariablesGlobal"}),"\n",(0,s.jsx)(t.p,{children:"Get Global manifest.json and return global variables as CSS variables."}),"\n",(0,s.jsx)(t.h3,{id:"outputcssvariables",children:"outputCssVariables"}),"\n",(0,s.jsx)(t.p,{children:"Get component/block options and process them in CSS variables."}),"\n",(0,s.jsx)(t.h3,{id:"getunique",children:"getUnique"}),"\n",(0,s.jsx)(t.p,{children:"Returns a unique ID generally used for css variables."}),"\n",(0,s.jsx)(t.h3,{id:"overrideinnerblockattributes",children:"overrideInnerBlockAttributes"}),"\n",(0,s.jsx)(t.p,{children:"Used to set attributes on all innerBlocks. This value will be stored in the block editor store and set to a block."}),"\n",(0,s.jsx)(t.h3,{id:"overrideinnerblocksimplewrapperattributes",children:"overrideInnerBlockSimpleWrapperAttributes"}),"\n",(0,s.jsx)(t.p,{children:"Used to set attributes on all innerBlocks preset only for simple wrapper setup. This value will be stored in the block editor store and set to a block."}),"\n",(0,s.jsx)(t.h3,{id:"pasteinto",children:"pasteInto"}),"\n",(0,s.jsx)(t.p,{children:"Paste event handler."}),"\n",(0,s.jsx)(t.h3,{id:"props",children:"props"}),"\n",(0,s.jsx)(t.p,{children:"Output only attributes that are used in the component and remove everything else."}),"\n",(0,s.jsx)(t.h3,{id:"getattributes",children:"getAttributes"}),"\n",(0,s.jsx)(t.p,{children:'Get Block attributes combined in one: "shared, global, wrapper, components, block".'}),"\n",(0,s.jsx)(t.h3,{id:"getexample",children:"getExample"}),"\n",(0,s.jsx)(t.p,{children:'Get Block example attributes combined in one: "components and block".'}),"\n",(0,s.jsx)(t.h3,{id:"registerblocks",children:"registerBlocks"}),"\n",(0,s.jsxs)(t.p,{children:["Register all Block Editor blocks using WP ",(0,s.jsx)(t.code,{children:"registerBlockType"})," method."]}),"\n",(0,s.jsx)(t.h3,{id:"registervariations",children:"registerVariations"}),"\n",(0,s.jsxs)(t.p,{children:["Register all Variations Editor blocks using WP ",(0,s.jsx)(t.code,{children:"registerBlockVariation"})," method."]}),"\n",(0,s.jsx)(t.h3,{id:"ucfirst",children:"ucfirst"}),"\n",(0,s.jsx)(t.p,{children:"Convert the first letter of a string to uppercase."}),"\n",(0,s.jsx)(t.h1,{id:"general-helpers",children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/scripts/helpers",children:"General helpers"})}),"\n",(0,s.jsx)(t.p,{children:"These are all helpers generally used anywhere."}),"\n",(0,s.jsx)(t.h3,{id:"camelize",children:"camelize"}),"\n",(0,s.jsx)(t.p,{children:"Returns a camelCase-formatted string."}),"\n",(0,s.jsx)(t.h3,{id:"checkattr",children:"checkAttr"}),"\n",(0,s.jsx)(t.p,{children:"Check if attribute exist in attributes list and add default value if not."}),"\n",(0,s.jsx)(t.h3,{id:"checkattrresponsive",children:"checkAttrResponsive"}),"\n",(0,s.jsx)(t.p,{children:"Map and check attributes for responsive object."}),"\n",(0,s.jsx)(t.h3,{id:"cookies",children:"cookies"}),"\n",(0,s.jsx)(t.p,{children:"Helper to set and unset cookies."}),"\n",(0,s.jsx)(t.h3,{id:"debounce",children:"debounce"}),"\n",(0,s.jsx)(t.p,{children:"Debounces the provided function."}),"\n",(0,s.jsx)(t.h3,{id:"devices",children:"devices"}),"\n",(0,s.jsx)(t.p,{children:"Detect a certain device, so specific functionality can be implemented for it."}),"\n",(0,s.jsx)(t.h3,{id:"dynamicimport",children:"dynamicImport"}),"\n",(0,s.jsx)(t.p,{children:"Loop all paths required using require.context method."}),"\n",(0,s.jsx)(t.h3,{id:"elementchildrenheight",children:"elementChildrenHeight"}),"\n",(0,s.jsx)(t.p,{children:"Returns height of the element measured by height of its children."}),"\n",(0,s.jsx)(t.h3,{id:"escape-string",children:"escape-string"}),"\n",(0,s.jsx)(t.p,{children:"Takes the provided string and removes special characters"}),"\n",(0,s.jsx)(t.h3,{id:"navigator",children:"navigator"}),"\n",(0,s.jsxs)(t.p,{children:["The ",(0,s.jsx)(t.code,{children:"Navigator.vibrate()"})," method pulses the vibration hardware on the device, if such hardware exists."]}),"\n",(0,s.jsx)(t.h3,{id:"responsiveselectors",children:"responsiveSelectors"}),"\n",(0,s.jsx)(t.p,{children:"Create responsive selectors used for responsive attributes."}),"\n",(0,s.jsx)(t.h3,{id:"selector",children:"selector"}),"\n",(0,s.jsx)(t.p,{children:"Returns BEM selector for HTML class and checks if the condition part is set."}),"\n",(0,s.jsx)(t.h3,{id:"truncatemiddle",children:"truncateMiddle"}),"\n",(0,s.jsx)(t.p,{children:"Slices the string and inputs the provided separator after the specified characters."}),"\n",(0,s.jsx)(t.h1,{id:"plugins-helpers",children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/scripts/plugins",children:"Plugins helpers"})}),"\n",(0,s.jsx)(t.p,{children:"These are all helpers generally only in specific plugins."}),"\n",(0,s.jsx)(t.h3,{id:"yoastseo",children:"yoastSeo"}),"\n",(0,s.jsx)(t.p,{children:'This helper will search all blocks and components manifests and find attributes that have "seo": "true" key.\nThis key will be added in to the content and proceed by the YoastSeo Analysis plugin.'}),"\n",(0,s.jsx)(t.h1,{id:"storybook-helpers",children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/scripts/storybook",children:"Storybook helpers"})}),"\n",(0,s.jsx)(t.p,{children:"These are all helpers generally only in Storybook."}),"\n",(0,s.jsx)(t.h3,{id:"blockdetails",children:"blockDetails"}),"\n",(0,s.jsx)(t.p,{children:"Combine block details in one object."}),"\n",(0,s.jsx)(t.h3,{id:"gutenberg",children:"Gutenberg"}),"\n",(0,s.jsx)(t.p,{children:"Load actual Block Editor and all the magic."}),"\n",(0,s.jsx)(t.h3,{id:"storybookdefaultmockscategories",children:"storybookDefaultMocksCategories"}),"\n",(0,s.jsx)(t.p,{children:"Manually populate categories for blocks. This is generated in the PHP part of the real project."}),"\n",(0,s.jsx)(t.h3,{id:"storybookdefaultmockscolorpalette",children:"storybookDefaultMocksColorPalette"}),"\n",(0,s.jsx)(t.p,{children:"Manually populate blocks color palette. This is generated in the PHP part of the real project."}),"\n",(0,s.jsx)(t.h3,{id:"storybookwindowobjects",children:"storybookWindowObjects,"}),"\n",(0,s.jsx)(t.p,{children:"Loading WP build files."}),"\n",(0,s.jsx)(t.h3,{id:"storybookwpstyles",children:"storybookWpStyles"}),"\n",(0,s.jsx)(t.p,{children:"Loading styles for block editor."})]})}function h(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},11151:(e,t,i)=>{i.d(t,{Z:()=>o,a:()=>r});var s=i(67294);const n={},l=s.createContext(n);function r(e){const t=s.useContext(l);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),s.createElement(l.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5fc994c2.94070f56.js b/assets/js/5fc994c2.94070f56.js deleted file mode 100644 index 9d4b356c6..000000000 --- a/assets/js/5fc994c2.94070f56.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[14274],{82465:(e,i,t)=>{t.r(i),t.d(i,{default:()=>l});t(67294);var s=t(52263),a=t(44996),o=t(22189),n=t(57051),r=t(85893);function l(){const e=(0,s.Z)(),{siteConfig:i={}}=e;return(0,r.jsx)(o.Z,{title:"Showcase",description:i.tagline,keywords:i.customFields.keywords,metaImage:(0,a.Z)("img/"+i.customFields.image),wrapperClassName:"es-navbar-white",children:(0,r.jsx)(n.Z,{})})}},61262:(e,i,t)=>{t.d(i,{D:()=>o});t(67294);var s=t(38970),a=t(85893);const o=e=>(0,a.jsx)(s.vm,{...e,title:"Start exploring",osProjectIcons:!0,cards:[{icon:s.pW.boilerplate,text:"Eightshift Boilerplate",url:"https://github.com/infinum/eightshift-boilerplate"},{icon:s.pW.boilerplate,text:"Eightshift Boilerplate Plugin",url:"https://github.com/infinum/eightshift-boilerplate-plugin"},{icon:s.pW.eightshiftLibs1,text:"Eightshift Libs",url:"https://github.com/infinum/eightshift-libs"},{icon:s.pW.eightshiftFrontendLibs,text:"Eightshift Frontend Libs",url:"https://github.com/infinum/eightshift-frontend-libs"},{icon:s.pW.eightshiftForms,text:"Eightshift Forms",url:"https://github.com/infinum/eightshift-forms"},{icon:s.pW.eightshiftDocs,text:"Eightshift Docs",url:"https://github.com/infinum/eightshift-docs"},{icon:s.pW.storybook,text:"Eightshift Storybook",url:"https://github.com/infinum/eightshift-storybook"},{icon:s.pW.eightshiftCodingStandard,text:"Eightshift Coding Standards for WordPress",url:"https://github.com/infinum/eightshift-coding-standards"}]})},57051:(e,i,t)=>{t.d(i,{Z:()=>c});var s=t(67294),a=t(44996),o=t(38970),n=t(61262),r=t(85893);const l=e=>e.map((e=>({value:e,sort:Math.random()}))).sort(((e,i)=>e.sort-i.sort)).map((e=>{let{value:i}=e;return i}));function c(e){const{privateType:i}=e,t=i?"Infinum showcase":"Showcase",c=i?"See all the awesome websites built by Infinum's WordPress team.":"See the awesome websites people are building with Eightshift Boilerplate.",h=i?"Let's get in touch":(0,r.jsxs)("span",{children:["Want to add your ",(0,r.jsx)("br",{})," project to the list?"]}),m=i?"Contact us":"Open an issue on GitHub",p=i?"https://infinum.com/contact/":"https://github.com/infinum/eightshift-docs/issues",u=[{image:(0,a.Z)("img/showcase/tarisio.webp"),label:"Tarisio",desc:"Tarisio is a web-based auction house specializing in stringed instruments and bows. Its online auctions provide a global marketplace for fine violin sales.",link:"https://tarisio.com/"},{image:(0,a.Z)("img/showcase/t2.webp"),label:"T2 auctions",desc:"Auctions for the Violin Trade.",link:"https://t2-auctions.com/"},{image:(0,a.Z)("img/showcase/rasco.webp"),label:"Rasco",desc:"One of the leading manufacturers of municipal equipment in Europe: we produce snow ploughs (snowplow), spreaders, crane mowers and vehicle upgrades.",link:"https://rasco.hr/"},{image:(0,a.Z)("img/showcase/lynx.webp"),label:"Lynx",desc:"LYNX is a 2m\xb3 vacuum road sweeper exceeding expectations. Modern design, functionality, power and ease of use for clean streets.",link:"https://lynx.rasco.hr/"},{image:(0,a.Z)("img/showcase/hak.webp"),label:"HAK Revija",desc:"HAK news portal.",link:"https://revijahak.hr/"},{image:(0,a.Z)("img/showcase/crveninosovi.webp"),label:"Crveni nosovi",desc:"Our mission is to restore the feeling of joy, happiness and optimism in difficult life circumstances.",link:"https://www.crveninosovi.hr/"},{image:(0,a.Z)("img/showcase/vcfa.webp"),label:"VCFA",desc:"Learn with accomplished teachers and artistic colleagues from around the world. You\u2019ll create new work, refine your vision, and enhance your critical and creative skills.",link:"https://vcfa.edu/"},{image:(0,a.Z)("img/showcase/go.webp"),label:"Malta Go",desc:"GO is Malta\u2019s leading communications services company. As the first quad play provider in Malta we provide mobile, fixed line, internet and TV services to more than 500,000 customers.",link:"https://www.go.com.mt/"}],d=[{image:(0,a.Z)("img/showcase/infinum-learn.webp"),label:"Infinum Learn",desc:"Courses that will make your onboarding and work at Infinum as easy as possible.",link:"https://learn.infinum.com/"},{image:(0,a.Z)("img/showcase/infinum.webp"),label:"Infinum Web",desc:"An independent design and development agency with offices in the US and Europe. We create beautiful apps people love to use.",link:"https://infinum.com/"},{image:(0,a.Z)("img/showcase/solplanet.webp"),label:"Solplanet",desc:"The power of the sun is the future of our planet. Solplanet makes solar for everybody. Easy-to-install, reliable and user-friendly inverters.",link:"https://solplanet.net/"},{image:(0,a.Z)("img/showcase/academy.webp"),label:"Infinum Academy",desc:"Learn how to build apps. For free. No practical experience? No problem. People who build apps every day are teaching how to create software from scratch. By the end of the course, you will have built your very own app.",link:"https://academy.infinum.com/"},{image:(0,a.Z)("img/showcase/raise-the-bar.webp"),label:"Raise The Bar",desc:"Coca-Cola HBC is helps to align the skills and knowledge in tourism and hospitality through Raise the Bar education program.",link:"https://raisethebar.hr/"},{image:(0,a.Z)("img/showcase/d66.webp"),label:"D66",desc:"Democrats 66 is a social-liberal political party in the Netherlands. Its name originates from the year in which it was founded.",link:"https://d66.nl/"},{image:(0,a.Z)("img/showcase/tvornica-snova.webp"),label:"Tvornica Snova",desc:"Personalized books will allow each child to become the protagonist of their own story.",link:"https://tvornicasnova.hr/"},{image:(0,a.Z)("img/showcase/cormeum.webp"),label:"Cormeum App",desc:"Heart failure management just got easier. The Cormeum app helps heart failure patients and their providers track what\u2019s important.",link:"https://cormeumapp.com/"},{image:(0,a.Z)("img/showcase/immunicom.webp"),label:"Immunicom",desc:"Immunicom\u2019s Immunopheresis\u2122 is designed to empower patients to best live their lives while receiving revolutionary cancer treatment.",link:"https://immunicom.com/"},{image:(0,a.Z)("img/showcase/productive.webp"),label:"Productive",desc:"Productive is a one-stop shop for agencies of all types and sizes. Start now and get a strong grip on operations and profitability.",link:"https://productive.io/"},{image:(0,a.Z)("img/showcase/saferinternet.webp"),label:"UK Safer Internet Centre",desc:"Welcome to the UK Safer Internet Centre, where you can find online safety tips, advice and resources to help children and young people stay safe online.",link:"https://saferinternet.org.uk/"},{image:(0,a.Z)("img/showcase/greenwichvillage.webp"),label:"Greenwich Village",desc:"The Village Alliance has been a leading advocate for the Greenwich Village community for nearly thirty years.",link:"https://greenwichvillage.nyc/"},{image:(0,a.Z)("img/showcase/biller.webp"),label:"Biller",desc:"Let's make buying easier, by empowering your business buyers to use Buy Now, Pay Later. Add Biller to your checkout and watch your conversion increase.",link:"https://biller.ai/"},{image:(0,a.Z)("img/showcase/dept.webp"),label:"DEPT\xae",desc:"Pioneering tech and marketing to help brands stay ahead.",link:"https://www.deptagency.com/"},{image:(0,a.Z)("img/showcase/infobip.webp"),label:"Infobip",desc:"Croatian IT and telecommunications company, offering omnichannel communications, contact center, chatbot, customer engagement, and customer data platforms as well as identity and security.",link:"https://www.infobip.com/"}],g=i?[...d,...u]:d,[b,w]=(0,s.useState)(!1);(0,s.useEffect)((()=>{w(!0)}),[]);const f=l(g).map(((e,i)=>{const{image:t,label:s,link:a,desc:n}=e;return(0,r.jsx)(o.ah,{url:a,imageUrl:t,imageAlt:s,title:s,description:n},i)}));return(0,r.jsxs)(s.Fragment,{children:[(0,r.jsx)("h1",{className:"es-big-title es-h-center",children:t}),(0,r.jsx)("p",{className:"es-big-subtitle es-text-center es-h-center",children:c}),(0,r.jsx)("div",{className:"es-showcase-grid",children:f}),(0,r.jsx)(o.xq,{title:h,buttonLabel:m,buttonUrl:p,imageUrl:"/img/showcase/cta.svg"}),(0,r.jsx)(n.D,{gray:!0})]},b?1:2)}}}]); \ No newline at end of file diff --git a/assets/js/5fc994c2.d2637078.js b/assets/js/5fc994c2.d2637078.js new file mode 100644 index 000000000..ebce1fd14 --- /dev/null +++ b/assets/js/5fc994c2.d2637078.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[52880],{32304:(e,i,t)=>{t.r(i),t.d(i,{default:()=>c});t(11504);var s=t(28264),a=t(70964),o=t(520),n=t(6843),r=t(17624);function c(){const e=(0,s.c)(),{siteConfig:i={}}=e;return(0,r.jsx)(o.c,{title:"Showcase",description:i.tagline,keywords:i.customFields.keywords,metaImage:(0,a.c)(`img/${i.customFields.image}`),wrapperClassName:"es-navbar-white",children:(0,r.jsx)(n.c,{})})}},69200:(e,i,t)=>{t.d(i,{m:()=>o});t(11504);var s=t(50236),a=t(17624);const o=e=>(0,a.jsx)(s.of,{...e,title:"Start exploring",osProjectIcons:!0,cards:[{icon:s.YR.boilerplate,text:"Eightshift Boilerplate",url:"https://github.com/infinum/eightshift-boilerplate"},{icon:s.YR.boilerplate,text:"Eightshift Boilerplate Plugin",url:"https://github.com/infinum/eightshift-boilerplate-plugin"},{icon:s.YR.eightshiftLibs1,text:"Eightshift Libs",url:"https://github.com/infinum/eightshift-libs"},{icon:s.YR.eightshiftFrontendLibs,text:"Eightshift Frontend Libs",url:"https://github.com/infinum/eightshift-frontend-libs"},{icon:s.YR.eightshiftForms,text:"Eightshift Forms",url:"https://github.com/infinum/eightshift-forms"},{icon:s.YR.eightshiftDocs,text:"Eightshift Docs",url:"https://github.com/infinum/eightshift-docs"},{icon:s.YR.storybook,text:"Eightshift Storybook",url:"https://github.com/infinum/eightshift-storybook"},{icon:s.YR.eightshiftCodingStandard,text:"Eightshift Coding Standards for WordPress",url:"https://github.com/infinum/eightshift-coding-standards"}]})},6843:(e,i,t)=>{t.d(i,{c:()=>l});var s=t(11504),a=t(70964),o=t(50236),n=t(69200),r=t(17624);const c=e=>e.map((e=>({value:e,sort:Math.random()}))).sort(((e,i)=>e.sort-i.sort)).map((e=>{let{value:i}=e;return i}));function l(e){const{privateType:i}=e,t=i?"Infinum showcase":"Showcase",l=i?"See all the awesome websites built by Infinum's WordPress team.":"See the awesome websites people are building with Eightshift Boilerplate.",h=i?"Let's get in touch":(0,r.jsxs)("span",{children:["Want to add your ",(0,r.jsx)("br",{})," project to the list?"]}),m=i?"Contact us":"Open an issue on GitHub",p=i?"https://infinum.com/contact/":"https://github.com/infinum/eightshift-docs/issues",u=[{image:(0,a.c)("img/showcase/tarisio.webp"),label:"Tarisio",desc:"Tarisio is a web-based auction house specializing in stringed instruments and bows. Its online auctions provide a global marketplace for fine violin sales.",link:"https://tarisio.com/"},{image:(0,a.c)("img/showcase/t2.webp"),label:"T2 auctions",desc:"Auctions for the Violin Trade.",link:"https://t2-auctions.com/"},{image:(0,a.c)("img/showcase/rasco.webp"),label:"Rasco",desc:"One of the leading manufacturers of municipal equipment in Europe: we produce snow ploughs (snowplow), spreaders, crane mowers and vehicle upgrades.",link:"https://rasco.hr/"},{image:(0,a.c)("img/showcase/lynx.webp"),label:"Lynx",desc:"LYNX is a 2m\xb3 vacuum road sweeper exceeding expectations. Modern design, functionality, power and ease of use for clean streets.",link:"https://lynx.rasco.hr/"},{image:(0,a.c)("img/showcase/hak.webp"),label:"HAK Revija",desc:"HAK news portal.",link:"https://revijahak.hr/"},{image:(0,a.c)("img/showcase/crveninosovi.webp"),label:"Crveni nosovi",desc:"Our mission is to restore the feeling of joy, happiness and optimism in difficult life circumstances.",link:"https://www.crveninosovi.hr/"},{image:(0,a.c)("img/showcase/vcfa.webp"),label:"VCFA",desc:"Learn with accomplished teachers and artistic colleagues from around the world. You\u2019ll create new work, refine your vision, and enhance your critical and creative skills.",link:"https://vcfa.edu/"},{image:(0,a.c)("img/showcase/go.webp"),label:"Malta Go",desc:"GO is Malta\u2019s leading communications services company. As the first quad play provider in Malta we provide mobile, fixed line, internet and TV services to more than 500,000 customers.",link:"https://www.go.com.mt/"}],d=[{image:(0,a.c)("img/showcase/infinum-learn.webp"),label:"Infinum Learn",desc:"Courses that will make your onboarding and work at Infinum as easy as possible.",link:"https://learn.infinum.com/"},{image:(0,a.c)("img/showcase/infinum.webp"),label:"Infinum Web",desc:"An independent design and development agency with offices in the US and Europe. We create beautiful apps people love to use.",link:"https://infinum.com/"},{image:(0,a.c)("img/showcase/solplanet.webp"),label:"Solplanet",desc:"The power of the sun is the future of our planet. Solplanet makes solar for everybody. Easy-to-install, reliable and user-friendly inverters.",link:"https://solplanet.net/"},{image:(0,a.c)("img/showcase/academy.webp"),label:"Infinum Academy",desc:"Learn how to build apps. For free. No practical experience? No problem. People who build apps every day are teaching how to create software from scratch. By the end of the course, you will have built your very own app.",link:"https://academy.infinum.com/"},{image:(0,a.c)("img/showcase/raise-the-bar.webp"),label:"Raise The Bar",desc:"Coca-Cola HBC is helps to align the skills and knowledge in tourism and hospitality through Raise the Bar education program.",link:"https://raisethebar.hr/"},{image:(0,a.c)("img/showcase/d66.webp"),label:"D66",desc:"Democrats 66 is a social-liberal political party in the Netherlands. Its name originates from the year in which it was founded.",link:"https://d66.nl/"},{image:(0,a.c)("img/showcase/tvornica-snova.webp"),label:"Tvornica Snova",desc:"Personalized books will allow each child to become the protagonist of their own story.",link:"https://tvornicasnova.hr/"},{image:(0,a.c)("img/showcase/cormeum.webp"),label:"Cormeum App",desc:"Heart failure management just got easier. The Cormeum app helps heart failure patients and their providers track what\u2019s important.",link:"https://cormeumapp.com/"},{image:(0,a.c)("img/showcase/immunicom.webp"),label:"Immunicom",desc:"Immunicom\u2019s Immunopheresis\u2122 is designed to empower patients to best live their lives while receiving revolutionary cancer treatment.",link:"https://immunicom.com/"},{image:(0,a.c)("img/showcase/productive.webp"),label:"Productive",desc:"Productive is a one-stop shop for agencies of all types and sizes. Start now and get a strong grip on operations and profitability.",link:"https://productive.io/"},{image:(0,a.c)("img/showcase/saferinternet.webp"),label:"UK Safer Internet Centre",desc:"Welcome to the UK Safer Internet Centre, where you can find online safety tips, advice and resources to help children and young people stay safe online.",link:"https://saferinternet.org.uk/"},{image:(0,a.c)("img/showcase/greenwichvillage.webp"),label:"Greenwich Village",desc:"The Village Alliance has been a leading advocate for the Greenwich Village community for nearly thirty years.",link:"https://greenwichvillage.nyc/"},{image:(0,a.c)("img/showcase/biller.webp"),label:"Biller",desc:"Let's make buying easier, by empowering your business buyers to use Buy Now, Pay Later. Add Biller to your checkout and watch your conversion increase.",link:"https://biller.ai/"},{image:(0,a.c)("img/showcase/dept.webp"),label:"DEPT\xae",desc:"Pioneering tech and marketing to help brands stay ahead.",link:"https://www.deptagency.com/"},{image:(0,a.c)("img/showcase/infobip.webp"),label:"Infobip",desc:"Croatian IT and telecommunications company, offering omnichannel communications, contact center, chatbot, customer engagement, and customer data platforms as well as identity and security.",link:"https://www.infobip.com/"}],g=i?[...d,...u]:d,[b,w]=(0,s.useState)(!1);(0,s.useEffect)((()=>{w(!0)}),[]);const f=c(g).map(((e,i)=>{const{image:t,label:s,link:a,desc:n}=e;return(0,r.jsx)(o.kl,{url:a,imageUrl:t,imageAlt:s,title:s,description:n},i)}));return(0,r.jsxs)(s.Fragment,{children:[(0,r.jsx)("h1",{className:"es-big-title es-h-center",children:t}),(0,r.jsx)("p",{className:"es-big-subtitle es-text-center es-h-center",children:l}),(0,r.jsx)("div",{className:"es-showcase-grid",children:f}),(0,r.jsx)(o.cz,{title:h,buttonLabel:m,buttonUrl:p,imageUrl:"/img/showcase/cta.svg"}),(0,r.jsx)(n.m,{gray:!0})]},b?1:2)}}}]); \ No newline at end of file diff --git a/assets/js/600a6af1.0347c3f7.js b/assets/js/600a6af1.0347c3f7.js deleted file mode 100644 index 1fbd3db7d..000000000 --- a/assets/js/600a6af1.0347c3f7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[36766],{54201:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>i,metadata:()=>a,toc:()=>d});var o=s(85893),n=s(11151);const i={id:"how-to-use",title:"How to use?"},r=void 0,a={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.",source:"@site/forms/javascript/state/how-to-use.md",sourceDirName:"javascript/state",slug:"/javascript/state/how-to-use",permalink:"/forms/javascript/state/how-to-use",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"how-to-use",title:"How to use?"},sidebar:"forms",previous:{title:"How to use?",permalink:"/forms/javascript/events/how-to-use"},next:{title:"State",permalink:"/forms/javascript/state/"}},c={},d=[{value:"Example",id:"example",level:2}];function l(e){const t={admonition:"admonition",code:"code",h2:"h2",p:"p",pre:"pre",...(0,n.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(t.p,{children:["As mentioned earlier, Eightshift Forms utilizes the ",(0,o.jsx)(t.code,{children:"esForms"})," global window object to manage the state. This approach ensures consistency across various functionalities and components."]}),"\n",(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"esForms"})," window object contains all the functions developers can use in their forms. Doing so makes all features available for your project, with minimal risk of future disruptions or changes."]}),"\n",(0,o.jsxs)(t.p,{children:["To utilize the ",(0,o.jsx)(t.code,{children:"esForms"})," object, call it directly from the window object:"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-js",children:"window.esForms\n"})}),"\n",(0,o.jsx)(t.p,{children:"or you can use built-in events which also contain all the state in the time of the event."}),"\n",(0,o.jsxs)(t.admonition,{type:"caution",children:[(0,o.jsxs)(t.p,{children:["Take caution when using state data outside of the ",(0,o.jsx)(t.code,{children:"esFormsJsFormLoaded"})," event, as it may not be available at the time of use. To be sure the data is available, run code after the DOM is ready (",(0,o.jsx)(t.code,{children:"DOMContentLoaded"})," event), together with the ",(0,o.jsx)(t.code,{children:"esFormsJsFormLoaded"})," event."]}),(0,o.jsx)(t.p,{children:"If your script is loaded before the main form script, you can use PHP hooks to make forms script dependent on you script to ensure that your script is loaded before the main form script and the events will fire."})]}),"\n",(0,o.jsx)(t.h2,{id:"example",children:"Example"}),"\n",(0,o.jsxs)(t.p,{children:["In this example we are using the ",(0,o.jsx)(t.code,{children:"esFormsJsFormLoaded"})," event to initialize our form in JavaScript."]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-js",children:"import domReady from '@wordpress/dom-ready';\n\ndomReady(() => {\n\tconst element = document.querySelector('.js-es-block-form');\n\n\tif (!element) {\n\t\treturn;\n\t}\n\n\telement?.addEventListener('esFormsJsFormLoaded', ({detail}) => {\n\t\tconst {\n\t\t\tformId,\n\t\t\tesForms = {\n\t\t\t\tstore,\n\t\t\t},\n\t\t} = detail;\n\n\t\t// Do some actions with the form.\n\t});\n});\n"})})]})}function h(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},11151:(e,t,s)=>{s.d(t,{Z:()=>a,a:()=>r});var o=s(67294);const n={},i=o.createContext(n);function r(e){const t=o.useContext(i);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:r(e.components),o.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/600a6af1.a2261fa2.js b/assets/js/600a6af1.a2261fa2.js new file mode 100644 index 000000000..725603667 --- /dev/null +++ b/assets/js/600a6af1.a2261fa2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[1268],{87996:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>i,metadata:()=>a,toc:()=>d});var o=s(17624),n=s(4552);const i={id:"how-to-use",title:"How to use?"},r=void 0,a={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.",source:"@site/forms/javascript/state/how-to-use.md",sourceDirName:"javascript/state",slug:"/javascript/state/how-to-use",permalink:"/forms/javascript/state/how-to-use",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"how-to-use",title:"How to use?"},sidebar:"forms",previous:{title:"How to use?",permalink:"/forms/javascript/events/how-to-use"},next:{title:"State",permalink:"/forms/javascript/state/"}},c={},d=[{value:"Example",id:"example",level:2}];function l(e){const t={admonition:"admonition",code:"code",h2:"h2",p:"p",pre:"pre",...(0,n.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(t.p,{children:["As mentioned earlier, Eightshift Forms utilizes the ",(0,o.jsx)(t.code,{children:"esForms"})," global window object to manage the state. This approach ensures consistency across various functionalities and components."]}),"\n",(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"esForms"})," window object contains all the functions developers can use in their forms. Doing so makes all features available for your project, with minimal risk of future disruptions or changes."]}),"\n",(0,o.jsxs)(t.p,{children:["To utilize the ",(0,o.jsx)(t.code,{children:"esForms"})," object, call it directly from the window object:"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-js",children:"window.esForms\n"})}),"\n",(0,o.jsx)(t.p,{children:"or you can use built-in events which also contain all the state in the time of the event."}),"\n",(0,o.jsxs)(t.admonition,{type:"caution",children:[(0,o.jsxs)(t.p,{children:["Take caution when using state data outside of the ",(0,o.jsx)(t.code,{children:"esFormsJsFormLoaded"})," event, as it may not be available at the time of use. To be sure the data is available, run code after the DOM is ready (",(0,o.jsx)(t.code,{children:"DOMContentLoaded"})," event), together with the ",(0,o.jsx)(t.code,{children:"esFormsJsFormLoaded"})," event."]}),(0,o.jsx)(t.p,{children:"If your script is loaded before the main form script, you can use PHP hooks to make forms script dependent on you script to ensure that your script is loaded before the main form script and the events will fire."})]}),"\n",(0,o.jsx)(t.h2,{id:"example",children:"Example"}),"\n",(0,o.jsxs)(t.p,{children:["In this example we are using the ",(0,o.jsx)(t.code,{children:"esFormsJsFormLoaded"})," event to initialize our form in JavaScript."]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-js",children:"import domReady from '@wordpress/dom-ready';\n\ndomReady(() => {\n\tconst element = document.querySelector('.js-es-block-form');\n\n\tif (!element) {\n\t\treturn;\n\t}\n\n\telement?.addEventListener('esFormsJsFormLoaded', ({detail}) => {\n\t\tconst {\n\t\t\tformId,\n\t\t\tesForms = {\n\t\t\t\tstore,\n\t\t\t},\n\t\t} = detail;\n\n\t\t// Do some actions with the form.\n\t});\n});\n"})})]})}function h(e={}){const{wrapper:t}={...(0,n.M)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},4552:(e,t,s)=>{s.d(t,{I:()=>a,M:()=>r});var o=s(11504);const n={},i=o.createContext(n);function r(e){const t=o.useContext(i);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:r(e.components),o.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6042c76a.9ec729ac.js b/assets/js/6042c76a.9ec729ac.js new file mode 100644 index 000000000..9c30af5e6 --- /dev/null +++ b/assets/js/6042c76a.9ec729ac.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[53840],{72416:(e,o,t)=>{t.r(o),t.d(o,{assets:()=>r,contentTitle:()=>i,default:()=>d,frontMatter:()=>s,metadata:()=>a,toc:()=>c});var n=t(17624),l=t(4552);const s={id:"geolocation",title:"Geolocation"},i=void 0,a={id:"php/global-variables/geolocation",title:"Geolocation",description:"ESGEOLOCATIONIP",source:"@site/forms/php/global-variables/geolocation.md",sourceDirName:"php/global-variables",slug:"/php/global-variables/geolocation",permalink:"/forms/php/global-variables/geolocation",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"geolocation",title:"Geolocation"},sidebar:"forms",previous:{title:"How to use?",permalink:"/forms/php/global-variables/how-to-use"},next:{title:"Google reCaptcha",permalink:"/forms/php/global-variables/google-recaptcha"}},r={},c=[{value:"ES_GEOLOCATION_IP",id:"es_geolocation_ip",level:3}];function p(e){const o={code:"code",h3:"h3",p:"p",pre:"pre",...(0,l.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.h3,{id:"es_geolocation_ip",children:"ES_GEOLOCATION_IP"}),"\n",(0,n.jsxs)(o.p,{children:["Setting this variable will force the geolocation system to use the provided IP address instead of the user's actual one. Can be useful for testing, especially in local setups where ",(0,n.jsx)(o.code,{children:"127.0.0.1"})," / ",(0,n.jsx)(o.code,{children:"localhost"})," will be ignored."]}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:"define('ES_GEOLOCATION_IP', '<xxx.xxx.xxx.xxx>');\n"})})]})}function d(e={}){const{wrapper:o}={...(0,l.M)(),...e.components};return o?(0,n.jsx)(o,{...e,children:(0,n.jsx)(p,{...e})}):p(e)}},4552:(e,o,t)=>{t.d(o,{I:()=>a,M:()=>i});var n=t(11504);const l={},s=n.createContext(l);function i(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(l):e.components||l:i(e.components),n.createElement(s.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6042c76a.fdaf9388.js b/assets/js/6042c76a.fdaf9388.js deleted file mode 100644 index d0e77975e..000000000 --- a/assets/js/6042c76a.fdaf9388.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[89659],{12005:(e,o,t)=>{t.r(o),t.d(o,{assets:()=>r,contentTitle:()=>s,default:()=>d,frontMatter:()=>l,metadata:()=>i,toc:()=>c});var n=t(85893),a=t(11151);const l={id:"geolocation",title:"Geolocation"},s=void 0,i={id:"php/global-variables/geolocation",title:"Geolocation",description:"ESGEOLOCATIONIP",source:"@site/forms/php/global-variables/geolocation.md",sourceDirName:"php/global-variables",slug:"/php/global-variables/geolocation",permalink:"/forms/php/global-variables/geolocation",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"geolocation",title:"Geolocation"},sidebar:"forms",previous:{title:"How to use?",permalink:"/forms/php/global-variables/how-to-use"},next:{title:"Google reCaptcha",permalink:"/forms/php/global-variables/google-recaptcha"}},r={},c=[{value:"ES_GEOLOCATION_IP",id:"es_geolocation_ip",level:3}];function p(e){const o={code:"code",h3:"h3",p:"p",pre:"pre",...(0,a.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.h3,{id:"es_geolocation_ip",children:"ES_GEOLOCATION_IP"}),"\n",(0,n.jsxs)(o.p,{children:["Setting this variable will force the geolocation system to use the provided IP address instead of the user's actual one. Can be useful for testing, especially in local setups where ",(0,n.jsx)(o.code,{children:"127.0.0.1"})," / ",(0,n.jsx)(o.code,{children:"localhost"})," will be ignored."]}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:"define('ES_GEOLOCATION_IP', '<xxx.xxx.xxx.xxx>');\n"})})]})}function d(e={}){const{wrapper:o}={...(0,a.a)(),...e.components};return o?(0,n.jsx)(o,{...e,children:(0,n.jsx)(p,{...e})}):p(e)}},11151:(e,o,t)=>{t.d(o,{Z:()=>i,a:()=>s});var n=t(67294);const a={},l=n.createContext(a);function s(e){const o=n.useContext(l);return n.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function i(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:s(e.components),n.createElement(l.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/60d85392.7b10d781.js b/assets/js/60d85392.7b10d781.js deleted file mode 100644 index 2f9bf0315..000000000 --- a/assets/js/60d85392.7b10d781.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[40360],{15745:s=>{s.exports=JSON.parse('{"name":"docusaurus-plugin-content-pages","id":"default"}')}}]); \ No newline at end of file diff --git a/assets/js/60d85392.e2ab5cb7.js b/assets/js/60d85392.e2ab5cb7.js new file mode 100644 index 000000000..3ab4f64c2 --- /dev/null +++ b/assets/js/60d85392.e2ab5cb7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[20992],{50590:s=>{s.exports=JSON.parse('{"name":"docusaurus-plugin-content-pages","id":"default"}')}}]); \ No newline at end of file diff --git a/assets/js/61426.ad11bab6.js b/assets/js/61426.ad11bab6.js deleted file mode 100644 index 7f39b1401..000000000 --- a/assets/js/61426.ad11bab6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[61426],{61426:(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(67294),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(20830),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=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:m},yt.createElement("label",mr({className:"DocSearch-MagnifierLabel"},n.getLabelProps()),yt.createElement(sr.W,null)),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&&0==~~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=>0!=(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=>0!=(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.5.2";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 diff --git a/assets/js/6156002b.01911e4d.js b/assets/js/6156002b.01911e4d.js deleted file mode 100644 index b92a1ec2e..000000000 --- a/assets/js/6156002b.01911e4d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[54005],{4290:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>d,contentTitle:()=>r,default:()=>h,frontMatter:()=>t,metadata:()=>l,toc:()=>c});var o=n(85893),i=n(11151);const t={id:"block-structure",title:"Block Structure"},r=void 0,l={id:"legacy/v8/basics/block-structure",title:"Block Structure",description:"docs-source",source:"@site/docs/legacy/v8/basics/block-structure.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/block-structure",permalink:"/docs/legacy/v8/basics/block-structure",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"block-structure",title:"Block Structure"},sidebar:"docs",previous:{title:"Global Manifest",permalink:"/docs/legacy/v8/basics/blocks-global-manifest"},next:{title:"Component Structure",permalink:"/docs/legacy/v8/basics/blocks-component-structure"}},d={},c=[{value:"assets",id:"assets",level:3},{value:"components",id:"components",level:3},{value:"docs",id:"docs",level:3},{value:"heading-block.js",id:"heading-blockjs",level:3},{value:"heading.php",id:"headingphp",level:3},{value:"heading-editor.scss",id:"heading-editorscss",level:3},{value:"heading-style.scss",id:"heading-stylescss",level:3},{value:"heading-hooks.js",id:"heading-hooksjs",level:3},{value:"heading-transforms.js",id:"heading-transformsjs",level:3},{value:"manifest.json",id:"manifestjson",level:3}];function a(e){const s={a:"a",code:"code",em:"em",h3:"h3",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s.p,{children:(0,o.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,o.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsxs)(s.p,{children:["Your custom blocks are placed in the ",(0,o.jsx)(s.code,{children:"src/Blocks/custom"})," folder."]}),"\n",(0,o.jsxs)(s.p,{children:["For example, let's take the heading block (just replace ",(0,o.jsx)(s.code,{children:"heading"})," with your block name)."]}),"\n",(0,o.jsxs)(s.p,{children:["We suggest you always use the full name and never abbreviate the block name. If your block has multiple words, you should separate them by a dash, for example, ",(0,o.jsx)(s.code,{children:"featured-post-block.js"}),"."]}),"\n",(0,o.jsx)(s.p,{children:(0,o.jsx)(s.strong,{children:"Block structure should look like this:"})}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:["heading","\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:["assets","\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsx)(s.li,{children:"index.js"}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(s.li,{children:["components","\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsx)(s.li,{children:"heading-editor.js"}),"\n",(0,o.jsx)(s.li,{children:"heading-options.js"}),"\n",(0,o.jsx)(s.li,{children:"heading-toolbar.js"}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(s.li,{children:["docs","\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsx)(s.li,{children:"story.js"}),"\n",(0,o.jsx)(s.li,{children:"readme.mdx"}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(s.li,{children:"heading-block.js"}),"\n",(0,o.jsx)(s.li,{children:"heading.php"}),"\n",(0,o.jsx)(s.li,{children:"heading-editor.scss"}),"\n",(0,o.jsx)(s.li,{children:"heading-style.scss"}),"\n",(0,o.jsx)(s.li,{children:"heading-hooks.js"}),"\n",(0,o.jsx)(s.li,{children:"heading-transforms.js"}),"\n",(0,o.jsx)(s.li,{children:"manifest.json"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(s.p,{children:["For example, you can check the ",(0,o.jsx)(s.a,{href:"/storybook",children:"storybook"}),"."]}),"\n",(0,o.jsx)(s.h3,{id:"assets",children:"assets"}),"\n",(0,o.jsxs)(s.p,{children:["In this folder, you'll define all the custom JavaScript functionality for your block that will only be used on the front end of the application. You must provide the ",(0,o.jsx)(s.code,{children:"index.js"})," file in this folder, as a starting point, and the rest is up to you. We recommend using ",(0,o.jsx)(s.a,{href:"dynamic-import",children:"JavaScript dynamic imports"})," for all your front-end scripts. This ensures that the JavaScript is only loaded in the application when it is used and not before. By using dynamic import, you optimize your application and make it load faster."]}),"\n",(0,o.jsx)(s.h3,{id:"components",children:"components"}),"\n",(0,o.jsxs)(s.p,{children:["The components folder holds three files: ",(0,o.jsx)(s.code,{children:"heading-options.js"}),", ",(0,o.jsx)(s.code,{children:"heading-editor.js"}),", and ",(0,o.jsx)(s.code,{children:"heading-toolbars.js"}),". Each of these files represents a part of the block editor block that is used in the editor. We have separated options, editor, and toolbar into separate components for readability and reusing components in different projects."]}),"\n",(0,o.jsx)(s.h3,{id:"docs",children:"docs"}),"\n",(0,o.jsx)(s.p,{children:"Contains everything a block needs to be run inside the Storybook. This part is optional. However, it will speed up your development time and provide you with much-needed documentation."}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"story.js"})," - Storybook entry point for your block. All blocks have the exact same story."]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"readme.mdx"})," - README document that describes your block and provides the documentation."]}),"\n"]}),"\n",(0,o.jsx)(s.h3,{id:"heading-blockjs",children:"heading-block.js"}),"\n",(0,o.jsxs)(s.p,{children:["This file represents the ",(0,o.jsx)(s.code,{children:"edit"})," callback method used in WordPress ",(0,o.jsx)(s.code,{children:"registerBlockType"})," method.\nWe are not using the ",(0,o.jsx)(s.code,{children:"save"})," callback method because we are creating dynamic blocks. The ",(0,o.jsx)(s.code,{children:"edit"})," method describes how your block will be rendered in the editor once the block is used. In this file, you can use more advanced stuff like hooks and all the top-level block features."]}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"heading-options.js"})," - must be wrapped with the ",(0,o.jsx)(s.code,{children:"InspectorControls"})," component from the core. This will ensure that options are shown in the proper place in the block editor (sidebar)."]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"heading-toolbar.js"})," - must be wrapped with the ",(0,o.jsx)(s.code,{children:"BlockControls"})," component from the core. This will ensure that the toolbar is shown in the proper place in the block editor (floating or fixed toolbar)."]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"heading-editor.js"})," - must ",(0,o.jsx)(s.strong,{children:"not"})," be wrapped with any top-level component. This will ensure that the editor component is shown in the proper place in the block editor (editor)."]}),"\n"]}),"\n",(0,o.jsx)(s.h3,{id:"headingphp",children:"heading.php"}),"\n",(0,o.jsxs)(s.p,{children:["This file is the front-end representation of a block. In this file, you will have all the attributes you defined in the ",(0,o.jsx)(s.code,{children:"manifest.json"})," file."]}),"\n",(0,o.jsx)(s.p,{children:"In the blocks PHP part, you always have these two properties (props) available:"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"$attributes"})," - This prop contains all the attributes you defined in the ",(0,o.jsx)(s.code,{children:"manifest.json"})," and all the attributes saved in the database."]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"$innerBlockContent"})," - This prop contains all the inner block details when you set your block to contain inner blocks."]}),"\n"]}),"\n",(0,o.jsx)(s.h3,{id:"heading-editorscss",children:"heading-editor.scss"}),"\n",(0,o.jsx)(s.p,{children:"Holds only the editor styling for the block. You should be using this file to override styles in the editor set by the component. In 90% of cases, you will not need to write any overrides here. But if you are using any column layout like a grid, flex, etc., you may need to add some corrections."}),"\n",(0,o.jsx)(s.p,{children:"Corrections in the grid layout are necessary because the block editor adds additional HTML and we can't change it."}),"\n",(0,o.jsxs)(s.p,{children:["Please read the ",(0,o.jsx)(s.a,{href:"blocks-styles",children:"block styles"})," chapter for more details."]}),"\n",(0,o.jsxs)(s.p,{children:[(0,o.jsx)(s.em,{children:"This file is optional"}),"."]}),"\n",(0,o.jsx)(s.h3,{id:"heading-stylescss",children:"heading-style.scss"}),"\n",(0,o.jsx)(s.p,{children:"Holds all the front-end and editor styling for the component."}),"\n",(0,o.jsxs)(s.p,{children:["Please read the ",(0,o.jsx)(s.a,{href:"blocks-styles",children:"block styles"})," chapter for more details."]}),"\n",(0,o.jsxs)(s.p,{children:[(0,o.jsx)(s.em,{children:"This file is optional"}),"."]}),"\n",(0,o.jsx)(s.h3,{id:"heading-hooksjs",children:"heading-hooks.js"}),"\n",(0,o.jsxs)(s.p,{children:["Here you can provide any custom block editor hook you need. For documentation, please refer to ",(0,o.jsx)(s.a,{href:"https://developer.wordpress.org/block-editor/developers/filters/block-filters/",children:"this link"}),". This file is going to be merged in the ",(0,o.jsx)(s.code,{children:"registerBlockType"})," method."]}),"\n",(0,o.jsx)(s.h3,{id:"heading-transformsjs",children:"heading-transforms.js"}),"\n",(0,o.jsxs)(s.p,{children:["Here you can provide any custom block transformation you need. For documentation, please refer to ",(0,o.jsx)(s.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-transforms/",children:"this link"}),". This file is going to be merged in the ",(0,o.jsx)(s.code,{children:"registerBlockType"})," method."]}),"\n",(0,o.jsx)(s.h3,{id:"manifestjson",children:"manifest.json"}),"\n",(0,o.jsxs)(s.p,{children:["This file contains all the configuration required for a block to work. It's used in WordPress ",(0,o.jsx)(s.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-registration/",children:(0,o.jsx)(s.code,{children:"registerBlockType"})})," method to register a block."]}),"\n",(0,o.jsxs)(s.p,{children:["For more details, check the ",(0,o.jsx)(s.a,{href:"block-manifest",children:"block manifest"})," chapter."]})]})}function h(e={}){const{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,o.jsx)(s,{...e,children:(0,o.jsx)(a,{...e})}):a(e)}},11151:(e,s,n)=>{n.d(s,{Z:()=>l,a:()=>r});var o=n(67294);const i={},t=o.createContext(i);function r(e){const s=o.useContext(t);return o.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),o.createElement(t.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6156002b.573e2d62.js b/assets/js/6156002b.573e2d62.js new file mode 100644 index 000000000..37ef9dc47 --- /dev/null +++ b/assets/js/6156002b.573e2d62.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[81372],{98432:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>d,contentTitle:()=>r,default:()=>a,frontMatter:()=>t,metadata:()=>l,toc:()=>c});var o=n(17624),i=n(4552);const t={id:"block-structure",title:"Block Structure"},r=void 0,l={id:"legacy/v8/basics/block-structure",title:"Block Structure",description:"docs-source",source:"@site/docs/legacy/v8/basics/block-structure.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/block-structure",permalink:"/docs/legacy/v8/basics/block-structure",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"block-structure",title:"Block Structure"},sidebar:"docs",previous:{title:"Global Manifest",permalink:"/docs/legacy/v8/basics/blocks-global-manifest"},next:{title:"Component Structure",permalink:"/docs/legacy/v8/basics/blocks-component-structure"}},d={},c=[{value:"assets",id:"assets",level:3},{value:"components",id:"components",level:3},{value:"docs",id:"docs",level:3},{value:"heading-block.js",id:"heading-blockjs",level:3},{value:"heading.php",id:"headingphp",level:3},{value:"heading-editor.scss",id:"heading-editorscss",level:3},{value:"heading-style.scss",id:"heading-stylescss",level:3},{value:"heading-hooks.js",id:"heading-hooksjs",level:3},{value:"heading-transforms.js",id:"heading-transformsjs",level:3},{value:"manifest.json",id:"manifestjson",level:3}];function h(e){const s={a:"a",code:"code",em:"em",h3:"h3",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s.p,{children:(0,o.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,o.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsxs)(s.p,{children:["Your custom blocks are placed in the ",(0,o.jsx)(s.code,{children:"src/Blocks/custom"})," folder."]}),"\n",(0,o.jsxs)(s.p,{children:["For example, let's take the heading block (just replace ",(0,o.jsx)(s.code,{children:"heading"})," with your block name)."]}),"\n",(0,o.jsxs)(s.p,{children:["We suggest you always use the full name and never abbreviate the block name. If your block has multiple words, you should separate them by a dash, for example, ",(0,o.jsx)(s.code,{children:"featured-post-block.js"}),"."]}),"\n",(0,o.jsx)(s.p,{children:(0,o.jsx)(s.strong,{children:"Block structure should look like this:"})}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:["heading","\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:["assets","\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsx)(s.li,{children:"index.js"}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(s.li,{children:["components","\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsx)(s.li,{children:"heading-editor.js"}),"\n",(0,o.jsx)(s.li,{children:"heading-options.js"}),"\n",(0,o.jsx)(s.li,{children:"heading-toolbar.js"}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(s.li,{children:["docs","\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsx)(s.li,{children:"story.js"}),"\n",(0,o.jsx)(s.li,{children:"readme.mdx"}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(s.li,{children:"heading-block.js"}),"\n",(0,o.jsx)(s.li,{children:"heading.php"}),"\n",(0,o.jsx)(s.li,{children:"heading-editor.scss"}),"\n",(0,o.jsx)(s.li,{children:"heading-style.scss"}),"\n",(0,o.jsx)(s.li,{children:"heading-hooks.js"}),"\n",(0,o.jsx)(s.li,{children:"heading-transforms.js"}),"\n",(0,o.jsx)(s.li,{children:"manifest.json"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(s.p,{children:["For example, you can check the ",(0,o.jsx)(s.a,{href:"/storybook",children:"storybook"}),"."]}),"\n",(0,o.jsx)(s.h3,{id:"assets",children:"assets"}),"\n",(0,o.jsxs)(s.p,{children:["In this folder, you'll define all the custom JavaScript functionality for your block that will only be used on the front end of the application. You must provide the ",(0,o.jsx)(s.code,{children:"index.js"})," file in this folder, as a starting point, and the rest is up to you. We recommend using ",(0,o.jsx)(s.a,{href:"dynamic-import",children:"JavaScript dynamic imports"})," for all your front-end scripts. This ensures that the JavaScript is only loaded in the application when it is used and not before. By using dynamic import, you optimize your application and make it load faster."]}),"\n",(0,o.jsx)(s.h3,{id:"components",children:"components"}),"\n",(0,o.jsxs)(s.p,{children:["The components folder holds three files: ",(0,o.jsx)(s.code,{children:"heading-options.js"}),", ",(0,o.jsx)(s.code,{children:"heading-editor.js"}),", and ",(0,o.jsx)(s.code,{children:"heading-toolbars.js"}),". Each of these files represents a part of the block editor block that is used in the editor. We have separated options, editor, and toolbar into separate components for readability and reusing components in different projects."]}),"\n",(0,o.jsx)(s.h3,{id:"docs",children:"docs"}),"\n",(0,o.jsx)(s.p,{children:"Contains everything a block needs to be run inside the Storybook. This part is optional. However, it will speed up your development time and provide you with much-needed documentation."}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"story.js"})," - Storybook entry point for your block. All blocks have the exact same story."]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"readme.mdx"})," - README document that describes your block and provides the documentation."]}),"\n"]}),"\n",(0,o.jsx)(s.h3,{id:"heading-blockjs",children:"heading-block.js"}),"\n",(0,o.jsxs)(s.p,{children:["This file represents the ",(0,o.jsx)(s.code,{children:"edit"})," callback method used in WordPress ",(0,o.jsx)(s.code,{children:"registerBlockType"})," method.\nWe are not using the ",(0,o.jsx)(s.code,{children:"save"})," callback method because we are creating dynamic blocks. The ",(0,o.jsx)(s.code,{children:"edit"})," method describes how your block will be rendered in the editor once the block is used. In this file, you can use more advanced stuff like hooks and all the top-level block features."]}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"heading-options.js"})," - must be wrapped with the ",(0,o.jsx)(s.code,{children:"InspectorControls"})," component from the core. This will ensure that options are shown in the proper place in the block editor (sidebar)."]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"heading-toolbar.js"})," - must be wrapped with the ",(0,o.jsx)(s.code,{children:"BlockControls"})," component from the core. This will ensure that the toolbar is shown in the proper place in the block editor (floating or fixed toolbar)."]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"heading-editor.js"})," - must ",(0,o.jsx)(s.strong,{children:"not"})," be wrapped with any top-level component. This will ensure that the editor component is shown in the proper place in the block editor (editor)."]}),"\n"]}),"\n",(0,o.jsx)(s.h3,{id:"headingphp",children:"heading.php"}),"\n",(0,o.jsxs)(s.p,{children:["This file is the front-end representation of a block. In this file, you will have all the attributes you defined in the ",(0,o.jsx)(s.code,{children:"manifest.json"})," file."]}),"\n",(0,o.jsx)(s.p,{children:"In the blocks PHP part, you always have these two properties (props) available:"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"$attributes"})," - This prop contains all the attributes you defined in the ",(0,o.jsx)(s.code,{children:"manifest.json"})," and all the attributes saved in the database."]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"$innerBlockContent"})," - This prop contains all the inner block details when you set your block to contain inner blocks."]}),"\n"]}),"\n",(0,o.jsx)(s.h3,{id:"heading-editorscss",children:"heading-editor.scss"}),"\n",(0,o.jsx)(s.p,{children:"Holds only the editor styling for the block. You should be using this file to override styles in the editor set by the component. In 90% of cases, you will not need to write any overrides here. But if you are using any column layout like a grid, flex, etc., you may need to add some corrections."}),"\n",(0,o.jsx)(s.p,{children:"Corrections in the grid layout are necessary because the block editor adds additional HTML and we can't change it."}),"\n",(0,o.jsxs)(s.p,{children:["Please read the ",(0,o.jsx)(s.a,{href:"blocks-styles",children:"block styles"})," chapter for more details."]}),"\n",(0,o.jsxs)(s.p,{children:[(0,o.jsx)(s.em,{children:"This file is optional"}),"."]}),"\n",(0,o.jsx)(s.h3,{id:"heading-stylescss",children:"heading-style.scss"}),"\n",(0,o.jsx)(s.p,{children:"Holds all the front-end and editor styling for the component."}),"\n",(0,o.jsxs)(s.p,{children:["Please read the ",(0,o.jsx)(s.a,{href:"blocks-styles",children:"block styles"})," chapter for more details."]}),"\n",(0,o.jsxs)(s.p,{children:[(0,o.jsx)(s.em,{children:"This file is optional"}),"."]}),"\n",(0,o.jsx)(s.h3,{id:"heading-hooksjs",children:"heading-hooks.js"}),"\n",(0,o.jsxs)(s.p,{children:["Here you can provide any custom block editor hook you need. For documentation, please refer to ",(0,o.jsx)(s.a,{href:"https://developer.wordpress.org/block-editor/developers/filters/block-filters/",children:"this link"}),". This file is going to be merged in the ",(0,o.jsx)(s.code,{children:"registerBlockType"})," method."]}),"\n",(0,o.jsx)(s.h3,{id:"heading-transformsjs",children:"heading-transforms.js"}),"\n",(0,o.jsxs)(s.p,{children:["Here you can provide any custom block transformation you need. For documentation, please refer to ",(0,o.jsx)(s.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-transforms/",children:"this link"}),". This file is going to be merged in the ",(0,o.jsx)(s.code,{children:"registerBlockType"})," method."]}),"\n",(0,o.jsx)(s.h3,{id:"manifestjson",children:"manifest.json"}),"\n",(0,o.jsxs)(s.p,{children:["This file contains all the configuration required for a block to work. It's used in WordPress ",(0,o.jsx)(s.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-registration/",children:(0,o.jsx)(s.code,{children:"registerBlockType"})})," method to register a block."]}),"\n",(0,o.jsxs)(s.p,{children:["For more details, check the ",(0,o.jsx)(s.a,{href:"block-manifest",children:"block manifest"})," chapter."]})]})}function a(e={}){const{wrapper:s}={...(0,i.M)(),...e.components};return s?(0,o.jsx)(s,{...e,children:(0,o.jsx)(h,{...e})}):h(e)}},4552:(e,s,n)=>{n.d(s,{I:()=>l,M:()=>r});var o=n(11504);const i={},t=o.createContext(i);function r(e){const s=o.useContext(t);return o.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),o.createElement(t.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/619eeade.f2737439.js b/assets/js/619eeade.f2737439.js new file mode 100644 index 000000000..5a18a24d0 --- /dev/null +++ b/assets/js/619eeade.f2737439.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[61776],{22084:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>d,frontMatter:()=>o,metadata:()=>c,toc:()=>h});var i=s(17624),n=s(4552);const o={id:"versions",title:"Versions"},r=void 0,c={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.",source:"@site/docs/legacy/v6/versions.md",sourceDirName:"legacy/v6",slug:"/legacy/v6/versions",permalink:"/docs/legacy/v6/versions",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"versions",title:"Versions"},sidebar:"docs",previous:{title:"Tips & Tricks",permalink:"/docs/legacy/v7/basics/tips-tricks"},next:{title:"Basics",permalink:"/docs/legacy/v6/basics/basics-intro"}},a={},h=[];function l(e){const t={a:"a",img:"img",p:"p",...(0,n.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"Now that you understand what makes the Eightshift Development Kit tick, here is a quick reminder about what library versions this documentation refers to."}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-boilerplate/tree/6.0.0",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/version--6.0.0-eightshift--boilerplate-red?style=for-the-badge&logo=",alt:"docs-source"})})}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-boilerplate/tree/6.0.0",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/version--6.0.0-eightshift--boilerplate--plugin-important?style=for-the-badge&logo=",alt:"docs-source"})})}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/4.0.0",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/version--4.0.0-eightshift--libs-blue?style=for-the-badge&logo=",alt:"docs-source"})})}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/version--5.0.0-eightshift--frontend--libs-yellow?style=for-the-badge&logo=",alt:"docs-source"})})})]})}function d(e={}){const{wrapper:t}={...(0,n.M)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},4552:(e,t,s)=>{s.d(t,{I:()=>c,M:()=>r});var i=s(11504);const n={},o=i.createContext(n);function r(e){const t=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),i.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/619eeade.f689e75b.js b/assets/js/619eeade.f689e75b.js deleted file mode 100644 index 870bc2804..000000000 --- a/assets/js/619eeade.f689e75b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[26736],{28341:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>d,frontMatter:()=>o,metadata:()=>c,toc:()=>h});var i=s(85893),n=s(11151);const o={id:"versions",title:"Versions"},r=void 0,c={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.",source:"@site/docs/legacy/v6/versions.md",sourceDirName:"legacy/v6",slug:"/legacy/v6/versions",permalink:"/docs/legacy/v6/versions",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"versions",title:"Versions"},sidebar:"docs",previous:{title:"Tips & Tricks",permalink:"/docs/legacy/v7/basics/tips-tricks"},next:{title:"Basics",permalink:"/docs/legacy/v6/basics/basics-intro"}},a={},h=[];function l(e){const t={a:"a",img:"img",p:"p",...(0,n.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"Now that you understand what makes the Eightshift Development Kit tick, here is a quick reminder about what library versions this documentation refers to."}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-boilerplate/tree/6.0.0",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/version--6.0.0-eightshift--boilerplate-red?style=for-the-badge&logo=",alt:"docs-source"})})}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-boilerplate/tree/6.0.0",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/version--6.0.0-eightshift--boilerplate--plugin-important?style=for-the-badge&logo=",alt:"docs-source"})})}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/4.0.0",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/version--4.0.0-eightshift--libs-blue?style=for-the-badge&logo=",alt:"docs-source"})})}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/version--5.0.0-eightshift--frontend--libs-yellow?style=for-the-badge&logo=",alt:"docs-source"})})})]})}function d(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},11151:(e,t,s)=>{s.d(t,{Z:()=>c,a:()=>r});var i=s(67294);const n={},o=i.createContext(n);function r(e){const t=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),i.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6203860c.7adaf292.js b/assets/js/6203860c.7adaf292.js new file mode 100644 index 000000000..8c614f9ad --- /dev/null +++ b/assets/js/6203860c.7adaf292.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[90252],{27480:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>d,frontMatter:()=>i,metadata:()=>r,toc:()=>c});var s=o(17624),n=o(4552);const i={id:"blocks",title:"Blocks"},a=void 0,r={id:"legacy/v8/basics/blocks",title:"Blocks",description:"docs-source",source:"@site/docs/legacy/v8/basics/blocks.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/blocks",permalink:"/docs/legacy/v8/basics/blocks",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks",title:"Blocks"},sidebar:"docs",previous:{title:"Dynamic Import",permalink:"/docs/legacy/v8/basics/dynamic-import"},next:{title:"Important",permalink:"/docs/legacy/v8/basics/blocks-important"}},l={},c=[{value:"Types of blocks",id:"types-of-blocks",level:2},{value:"Static blocks",id:"static-blocks",level:3},{value:"Dynamic blocks",id:"dynamic-blocks",level:3},{value:"Eightshift blocks",id:"eightshift-blocks",level:2}];function h(e){const t={a:"a",admonition:"admonition",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,n.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,s.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(t.p,{children:"Since WordPress 5.0, we were introduced to the new editing experience using the so-called Gutenberg blocks. With blocks, the idea is to have the same look and feel in the editor as on the front end. As a developer, you just got a new technology that you should know if you want to build a great project on WordPress. That new technology is React because everything regarding blocks is done using React."}),"\n",(0,s.jsx)(t.p,{children:"Don't get discouraged just yet, because the WordPress team has made the process of creating blocks relatively easy. But we are not here to talk about the simple stuff. We want to do more complex projects with custom blocks, so follow along and see what we have prepared here."}),"\n",(0,s.jsx)(t.admonition,{title:":es-hide-title:",type:"info",children:(0,s.jsxs)(t.p,{children:["You can read everything regarding blocks in the ",(0,s.jsx)(t.a,{href:"https://developer.wordpress.org/block-editor/tutorials/block-tutorial/",children:"WordPress documentation"}),". We will not be explaining how everything natively works in this documentation. Instead, we will only describe how to use our setup and how it correlates with the native one. Everything that you can't find here, please look up in the WordPress Handbook."]})}),"\n",(0,s.jsx)(t.h2,{id:"types-of-blocks",children:"Types of blocks"}),"\n",(0,s.jsx)(t.p,{children:"WordPress Core Editor team has provided us with two different kinds of blocks:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Static blocks"}),"\n",(0,s.jsx)(t.li,{children:"Dynamic blocks"}),"\n"]}),"\n",(0,s.jsx)(t.h3,{id:"static-blocks",children:"Static blocks"}),"\n",(0,s.jsx)(t.p,{children:"These are the blocks that you can see in the core. Almost every block from WordPress comes this way. With static blocks, you have the same content on the front end as you do in the editor. This was accomplished by providing the same layout in the save callback as in the edit callback."}),"\n",(0,s.jsx)(t.p,{children:"The drawback of building blocks this way is that you must also provide the HTML markup that you will use on the front-end, inside the save callback. That method saves everything to the database, and you can't just change the HTML markup without some transformations or deprecation methods. If you change the markup while working on it, you'll get an error in the editor screen, and you'll have to add the content again."}),"\n",(0,s.jsx)(t.p,{children:"We don't like this approach because of how it stores the HTML content in the database. Lucky for us, WordPress has provided a different kind of blocks for this matter. They are called dynamic blocks."}),"\n",(0,s.jsx)(t.h3,{id:"dynamic-blocks",children:"Dynamic blocks"}),"\n",(0,s.jsx)(t.p,{children:"As you already saw in the previous chapter, the main difference between static and dynamic blocks is storing content in the database. For many dynamic blocks, the save callback function should be returned as null, which tells the editor to save only the block attributes to the database. These attributes are then passed into the server-side rendering callback, so you can decide how to display the block on the front end of your site."}),"\n",(0,s.jsx)(t.p,{children:"This means that you write code using React and JSX in the editor, and you must provide the same code in the PHP for the front-end. Yes, it is a lot of work because you must switch technologies and do the same thing multiple times, but we tried to make this process as simple as possible."}),"\n",(0,s.jsx)(t.p,{children:"Follow along and see what we prepared. From now on, we'll be talking only about dynamic blocks in this documentation."}),"\n",(0,s.jsx)(t.h2,{id:"eightshift-blocks",children:"Eightshift blocks"}),"\n",(0,s.jsx)(t.p,{children:"Our setup's main advantage is that you don't need to do a bunch of boilerplate every time you want to create a new block for your project. Also, we have a bunch of cool features we think you might like:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Separated blocks from components."}),"\n",(0,s.jsx)(t.li,{children:"You have a predefined structure for everything."}),"\n",(0,s.jsx)(t.li,{children:"If you follow the structure we provided, everything is registered and called automatically."}),"\n",(0,s.jsx)(t.li,{children:'You don\'t have to worry: "did I register this the right way?", "what style goes where?", etc.'}),"\n",(0,s.jsx)(t.li,{children:"Storybook for your project."}),"\n",(0,s.jsx)(t.li,{children:"A dozen of the pre-created blocks from our end. Once we create a new block in some of our projects, we make it available in the libs."}),"\n",(0,s.jsxs)(t.li,{children:["Easy usage of blocks and components with our ",(0,s.jsx)(t.a,{href:"wp-cli",children:"WP-CLI"})," commands."]}),"\n",(0,s.jsx)(t.li,{children:"Setup that shares configuration between JS, PHP, and SCSS files."}),"\n",(0,s.jsx)(t.li,{children:"Wrapper that comes with every block and allows you to control how a block behaves in the layout entirely."}),"\n",(0,s.jsx)(t.li,{children:"Everything is responsive. Yes, you read that correctly; we created options that you can control on multiple breakpoints."}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.strong,{children:"Everything is configurable and editable from your project."})}),"\n",(0,s.jsx)(t.li,{children:"Linting standards."}),"\n",(0,s.jsx)(t.li,{children:"Multiple helpers work the same on JS and PHP side, so it is easy to copy code from one language to another."}),"\n",(0,s.jsx)(t.li,{children:"And much, much more."}),"\n"]})]})}function d(e={}){const{wrapper:t}={...(0,n.M)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},4552:(e,t,o)=>{o.d(t,{I:()=>r,M:()=>a});var s=o(11504);const n={},i=s.createContext(n);function a(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6203860c.90123551.js b/assets/js/6203860c.90123551.js deleted file mode 100644 index 27b08304a..000000000 --- a/assets/js/6203860c.90123551.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[83256],{78296:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>d,frontMatter:()=>i,metadata:()=>r,toc:()=>c});var s=o(85893),n=o(11151);const i={id:"blocks",title:"Blocks"},a=void 0,r={id:"legacy/v8/basics/blocks",title:"Blocks",description:"docs-source",source:"@site/docs/legacy/v8/basics/blocks.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/blocks",permalink:"/docs/legacy/v8/basics/blocks",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks",title:"Blocks"},sidebar:"docs",previous:{title:"Dynamic Import",permalink:"/docs/legacy/v8/basics/dynamic-import"},next:{title:"Important",permalink:"/docs/legacy/v8/basics/blocks-important"}},l={},c=[{value:"Types of blocks",id:"types-of-blocks",level:2},{value:"Static blocks",id:"static-blocks",level:3},{value:"Dynamic blocks",id:"dynamic-blocks",level:3},{value:"Eightshift blocks",id:"eightshift-blocks",level:2}];function h(e){const t={a:"a",admonition:"admonition",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,n.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,s.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(t.p,{children:"Since WordPress 5.0, we were introduced to the new editing experience using the so-called Gutenberg blocks. With blocks, the idea is to have the same look and feel in the editor as on the front end. As a developer, you just got a new technology that you should know if you want to build a great project on WordPress. That new technology is React because everything regarding blocks is done using React."}),"\n",(0,s.jsx)(t.p,{children:"Don't get discouraged just yet, because the WordPress team has made the process of creating blocks relatively easy. But we are not here to talk about the simple stuff. We want to do more complex projects with custom blocks, so follow along and see what we have prepared here."}),"\n",(0,s.jsx)(t.admonition,{title:":es-hide-title:",type:"info",children:(0,s.jsxs)(t.p,{children:["You can read everything regarding blocks in the ",(0,s.jsx)(t.a,{href:"https://developer.wordpress.org/block-editor/tutorials/block-tutorial/",children:"WordPress documentation"}),". We will not be explaining how everything natively works in this documentation. Instead, we will only describe how to use our setup and how it correlates with the native one. Everything that you can't find here, please look up in the WordPress Handbook."]})}),"\n",(0,s.jsx)(t.h2,{id:"types-of-blocks",children:"Types of blocks"}),"\n",(0,s.jsx)(t.p,{children:"WordPress Core Editor team has provided us with two different kinds of blocks:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Static blocks"}),"\n",(0,s.jsx)(t.li,{children:"Dynamic blocks"}),"\n"]}),"\n",(0,s.jsx)(t.h3,{id:"static-blocks",children:"Static blocks"}),"\n",(0,s.jsx)(t.p,{children:"These are the blocks that you can see in the core. Almost every block from WordPress comes this way. With static blocks, you have the same content on the front end as you do in the editor. This was accomplished by providing the same layout in the save callback as in the edit callback."}),"\n",(0,s.jsx)(t.p,{children:"The drawback of building blocks this way is that you must also provide the HTML markup that you will use on the front-end, inside the save callback. That method saves everything to the database, and you can't just change the HTML markup without some transformations or deprecation methods. If you change the markup while working on it, you'll get an error in the editor screen, and you'll have to add the content again."}),"\n",(0,s.jsx)(t.p,{children:"We don't like this approach because of how it stores the HTML content in the database. Lucky for us, WordPress has provided a different kind of blocks for this matter. They are called dynamic blocks."}),"\n",(0,s.jsx)(t.h3,{id:"dynamic-blocks",children:"Dynamic blocks"}),"\n",(0,s.jsx)(t.p,{children:"As you already saw in the previous chapter, the main difference between static and dynamic blocks is storing content in the database. For many dynamic blocks, the save callback function should be returned as null, which tells the editor to save only the block attributes to the database. These attributes are then passed into the server-side rendering callback, so you can decide how to display the block on the front end of your site."}),"\n",(0,s.jsx)(t.p,{children:"This means that you write code using React and JSX in the editor, and you must provide the same code in the PHP for the front-end. Yes, it is a lot of work because you must switch technologies and do the same thing multiple times, but we tried to make this process as simple as possible."}),"\n",(0,s.jsx)(t.p,{children:"Follow along and see what we prepared. From now on, we'll be talking only about dynamic blocks in this documentation."}),"\n",(0,s.jsx)(t.h2,{id:"eightshift-blocks",children:"Eightshift blocks"}),"\n",(0,s.jsx)(t.p,{children:"Our setup's main advantage is that you don't need to do a bunch of boilerplate every time you want to create a new block for your project. Also, we have a bunch of cool features we think you might like:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Separated blocks from components."}),"\n",(0,s.jsx)(t.li,{children:"You have a predefined structure for everything."}),"\n",(0,s.jsx)(t.li,{children:"If you follow the structure we provided, everything is registered and called automatically."}),"\n",(0,s.jsx)(t.li,{children:'You don\'t have to worry: "did I register this the right way?", "what style goes where?", etc.'}),"\n",(0,s.jsx)(t.li,{children:"Storybook for your project."}),"\n",(0,s.jsx)(t.li,{children:"A dozen of the pre-created blocks from our end. Once we create a new block in some of our projects, we make it available in the libs."}),"\n",(0,s.jsxs)(t.li,{children:["Easy usage of blocks and components with our ",(0,s.jsx)(t.a,{href:"wp-cli",children:"WP-CLI"})," commands."]}),"\n",(0,s.jsx)(t.li,{children:"Setup that shares configuration between JS, PHP, and SCSS files."}),"\n",(0,s.jsx)(t.li,{children:"Wrapper that comes with every block and allows you to control how a block behaves in the layout entirely."}),"\n",(0,s.jsx)(t.li,{children:"Everything is responsive. Yes, you read that correctly; we created options that you can control on multiple breakpoints."}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.strong,{children:"Everything is configurable and editable from your project."})}),"\n",(0,s.jsx)(t.li,{children:"Linting standards."}),"\n",(0,s.jsx)(t.li,{children:"Multiple helpers work the same on JS and PHP side, so it is easy to copy code from one language to another."}),"\n",(0,s.jsx)(t.li,{children:"And much, much more."}),"\n"]})]})}function d(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},11151:(e,t,o)=>{o.d(t,{Z:()=>r,a:()=>a});var s=o(67294);const n={},i=s.createContext(n);function a(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/62284ec3.80672934.js b/assets/js/62284ec3.80672934.js deleted file mode 100644 index 72f40972d..000000000 --- a/assets/js/62284ec3.80672934.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[34514],{75098:(e,s,o)=>{o.r(s),o.d(s,{assets:()=>l,contentTitle:()=>c,default:()=>d,frontMatter:()=>n,metadata:()=>r,toc:()=>a});var t=o(85893),i=o(11151);const n={id:"blocks-hooks",title:"Hooks"},c=void 0,r={id:"legacy/v8/basics/blocks-hooks",title:"Hooks",description:"docs-source",source:"@site/docs/legacy/v8/basics/blocks-hooks.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/blocks-hooks",permalink:"/docs/legacy/v8/basics/blocks-hooks",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-hooks",title:"Hooks"},sidebar:"docs",previous:{title:"Transforms",permalink:"/docs/legacy/v8/basics/blocks-transforms"},next:{title:"Special Use Cases",permalink:"/docs/legacy/v8/basics/blocks-special-use-cases"}},l={},a=[];function h(e){const s={a:"a",img:"img",p:"p",...(0,i.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,t.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsx)(s.p,{children:"WordPress block editor hooks provide the same functionalities as PHP hooks. They are used to modify the behavior of the existing blocks."}),"\n",(0,t.jsxs)(s.p,{children:["You can check the ",(0,t.jsx)(s.a,{href:"https://developer.wordpress.org/block-editor/developers/filters/block-filters/",children:"WordPress documentation"})," on this subject."]}),"\n",(0,t.jsx)(s.p,{children:"We didn't change anything here regarding the original documentation; we simply provided you with the structured file where you can write all your hooks."}),"\n",(0,t.jsxs)(s.p,{children:["Please follow this ",(0,t.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/custom/column/column-hooks.js",children:"example"})," to get more insights on using hooks in your project."]})]})}function d(e={}){const{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(h,{...e})}):h(e)}},11151:(e,s,o)=>{o.d(s,{Z:()=>r,a:()=>c});var t=o(67294);const i={},n=t.createContext(i);function c(e){const s=t.useContext(n);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:c(e.components),t.createElement(n.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/62284ec3.e259d26f.js b/assets/js/62284ec3.e259d26f.js new file mode 100644 index 000000000..994cf3f82 --- /dev/null +++ b/assets/js/62284ec3.e259d26f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[60068],{94540:(e,s,o)=>{o.r(s),o.d(s,{assets:()=>l,contentTitle:()=>c,default:()=>d,frontMatter:()=>n,metadata:()=>r,toc:()=>a});var t=o(17624),i=o(4552);const n={id:"blocks-hooks",title:"Hooks"},c=void 0,r={id:"legacy/v8/basics/blocks-hooks",title:"Hooks",description:"docs-source",source:"@site/docs/legacy/v8/basics/blocks-hooks.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/blocks-hooks",permalink:"/docs/legacy/v8/basics/blocks-hooks",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-hooks",title:"Hooks"},sidebar:"docs",previous:{title:"Transforms",permalink:"/docs/legacy/v8/basics/blocks-transforms"},next:{title:"Special Use Cases",permalink:"/docs/legacy/v8/basics/blocks-special-use-cases"}},l={},a=[];function h(e){const s={a:"a",img:"img",p:"p",...(0,i.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,t.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsx)(s.p,{children:"WordPress block editor hooks provide the same functionalities as PHP hooks. They are used to modify the behavior of the existing blocks."}),"\n",(0,t.jsxs)(s.p,{children:["You can check the ",(0,t.jsx)(s.a,{href:"https://developer.wordpress.org/block-editor/developers/filters/block-filters/",children:"WordPress documentation"})," on this subject."]}),"\n",(0,t.jsx)(s.p,{children:"We didn't change anything here regarding the original documentation; we simply provided you with the structured file where you can write all your hooks."}),"\n",(0,t.jsxs)(s.p,{children:["Please follow this ",(0,t.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/custom/column/column-hooks.js",children:"example"})," to get more insights on using hooks in your project."]})]})}function d(e={}){const{wrapper:s}={...(0,i.M)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(h,{...e})}):h(e)}},4552:(e,s,o)=>{o.d(s,{I:()=>r,M:()=>c});var t=o(11504);const i={},n=t.createContext(i);function c(e){const s=t.useContext(n);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:c(e.components),t.createElement(n.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6299beff.4414e760.js b/assets/js/6299beff.4414e760.js new file mode 100644 index 000000000..3897fd6d0 --- /dev/null +++ b/assets/js/6299beff.4414e760.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[37448],{92436:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>d,frontMatter:()=>i,metadata:()=>r,toc:()=>c});var n=o(17624),s=o(4552);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.M)(),...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.M)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(u,{...e})}):u(e)}},4552:(e,t,o)=>{o.d(t,{I:()=>r,M:()=>a});var n=o(11504);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.77a1ae68.js b/assets/js/6299beff.77a1ae68.js deleted file mode 100644 index 90f258311..000000000 --- a/assets/js/6299beff.77a1ae68.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[48976],{94905:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>d,frontMatter:()=>i,metadata:()=>r,toc:()=>c});var n=o(85893),s=o(11151);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.a)(),...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.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(u,{...e})}):u(e)}},11151:(e,t,o)=>{o.d(t,{Z:()=>r,a:()=>a});var n=o(67294);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/62f60b5b.8ba8b870.js b/assets/js/62f60b5b.8ba8b870.js new file mode 100644 index 000000000..7a46d566d --- /dev/null +++ b/assets/js/62f60b5b.8ba8b870.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[74610],{38432:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>d,contentTitle:()=>o,default:()=>c,frontMatter:()=>r,metadata:()=>l,toc:()=>a});var t=n(17624),s=n(4552);const r={id:"pipedrive",title:"Pipedrive"},o=void 0,l={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.",source:"@site/forms/integrations/pipedrive.md",sourceDirName:"integrations",slug:"/integrations/pipedrive",permalink:"/forms/integrations/pipedrive",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"pipedrive",title:"Pipedrive"},sidebar:"forms",previous:{title:"Workable",permalink:"/forms/integrations/workable"},next:{title:"Known issues",permalink:"/forms/known-issues"}},d={},a=[{value:"Website",id:"website",level:3},{value:"API Version",id:"api-version",level:3},{value:"API Documentation",id:"api-documentation",level:3},{value:"Integration type",id:"integration-type",level:3},{value:"Supported fields:",id:"supported-fields",level:3}];function p(e){const i={a:"a",h3:"h3",li:"li",p:"p",strong:"strong",ul:"ul",...(0,s.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.p,{children:"Pipedrive is a web-based Sales CRM and pipeline management solution that enables businesses to plan their sales activities and monitor deals."}),"\n",(0,t.jsx)(i.h3,{id:"website",children:"Website"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:(0,t.jsx)(i.a,{href:"https://www.pipedrive.com/",children:"Visit website"})}),"\n"]}),"\n",(0,t.jsx)(i.h3,{id:"api-version",children:"API Version"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"V1"}),"\n"]}),"\n",(0,t.jsx)(i.h3,{id:"api-documentation",children:"API Documentation"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:(0,t.jsx)(i.a,{href:"https://developers.pipedrive.com/docs/api/v1",children:"Documentation"})}),"\n"]}),"\n",(0,t.jsx)(i.h3,{id:"integration-type",children:"Integration type"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsxs)(i.li,{children:["Form builder ",(0,t.jsx)(i.strong,{children:"not"})," provided by the service."]}),"\n",(0,t.jsx)(i.li,{children:"The form is created using our forms fields and connected to Pipedrive fields using form settings."}),"\n"]}),"\n",(0,t.jsx)(i.h3,{id:"supported-fields",children:"Supported fields:"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"All"}),"\n"]})]})}function c(e={}){const{wrapper:i}={...(0,s.M)(),...e.components};return i?(0,t.jsx)(i,{...e,children:(0,t.jsx)(p,{...e})}):p(e)}},4552:(e,i,n)=>{n.d(i,{I:()=>l,M:()=>o});var t=n(11504);const s={},r=t.createContext(s);function o(e){const i=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function l(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),t.createElement(r.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/62f60b5b.b98c977a.js b/assets/js/62f60b5b.b98c977a.js deleted file mode 100644 index fb37fc1a8..000000000 --- a/assets/js/62f60b5b.b98c977a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[25335],{75914:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>d,contentTitle:()=>o,default:()=>c,frontMatter:()=>r,metadata:()=>l,toc:()=>a});var t=n(85893),s=n(11151);const r={id:"pipedrive",title:"Pipedrive"},o=void 0,l={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.",source:"@site/forms/integrations/pipedrive.md",sourceDirName:"integrations",slug:"/integrations/pipedrive",permalink:"/forms/integrations/pipedrive",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"pipedrive",title:"Pipedrive"},sidebar:"forms",previous:{title:"Workable",permalink:"/forms/integrations/workable"},next:{title:"Known issues",permalink:"/forms/known-issues"}},d={},a=[{value:"Website",id:"website",level:3},{value:"API Version",id:"api-version",level:3},{value:"API Documentation",id:"api-documentation",level:3},{value:"Integration type",id:"integration-type",level:3},{value:"Supported fields:",id:"supported-fields",level:3}];function p(e){const i={a:"a",h3:"h3",li:"li",p:"p",strong:"strong",ul:"ul",...(0,s.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.p,{children:"Pipedrive is a web-based Sales CRM and pipeline management solution that enables businesses to plan their sales activities and monitor deals."}),"\n",(0,t.jsx)(i.h3,{id:"website",children:"Website"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:(0,t.jsx)(i.a,{href:"https://www.pipedrive.com/",children:"Visit website"})}),"\n"]}),"\n",(0,t.jsx)(i.h3,{id:"api-version",children:"API Version"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"V1"}),"\n"]}),"\n",(0,t.jsx)(i.h3,{id:"api-documentation",children:"API Documentation"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:(0,t.jsx)(i.a,{href:"https://developers.pipedrive.com/docs/api/v1",children:"Documentation"})}),"\n"]}),"\n",(0,t.jsx)(i.h3,{id:"integration-type",children:"Integration type"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsxs)(i.li,{children:["Form builder ",(0,t.jsx)(i.strong,{children:"not"})," provided by the service."]}),"\n",(0,t.jsx)(i.li,{children:"The form is created using our forms fields and connected to Pipedrive fields using form settings."}),"\n"]}),"\n",(0,t.jsx)(i.h3,{id:"supported-fields",children:"Supported fields:"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"All"}),"\n"]})]})}function c(e={}){const{wrapper:i}={...(0,s.a)(),...e.components};return i?(0,t.jsx)(i,{...e,children:(0,t.jsx)(p,{...e})}):p(e)}},11151:(e,i,n)=>{n.d(i,{Z:()=>l,a:()=>o});var t=n(67294);const s={},r=t.createContext(s);function o(e){const i=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function l(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),t.createElement(r.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/63b7ed35.15311b8e.js b/assets/js/63b7ed35.15311b8e.js deleted file mode 100644 index 1679da24d..000000000 --- a/assets/js/63b7ed35.15311b8e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[14011],{31061:(e,s,r)=>{r.r(s),r.d(s,{assets:()=>a,contentTitle:()=>i,default:()=>h,frontMatter:()=>c,metadata:()=>o,toc:()=>l});var t=r(85893),n=r(11151);const c={id:"helpers",title:"Helpers"},i=void 0,o={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:",source:"@site/docs/legacy/v8/basics/helpers.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/helpers",permalink:"/docs/legacy/v8/basics/helpers",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"helpers",title:"Helpers"},sidebar:"docs",previous:{title:"Storybook",permalink:"/docs/legacy/v8/basics/blocks-storybook"},next:{title:"JavaScript",permalink:"/docs/legacy/v8/basics/helpers-javascript"}},a={},l=[];function p(e){const s={a:"a",li:"li",p:"p",ul:"ul",...(0,n.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:"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:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"helpers-javascript",children:"JavaScript Helpers"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"helpers-scss",children:"Scss Helpers"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"helpers-php",children:"Php Helpers"})}),"\n"]}),"\n",(0,t.jsx)(s.p,{children:"We especially like our helpers in the block editor, because we need to have the same features in JavaScript and PHP. This can be easily done using helpers."})]})}function h(e={}){const{wrapper:s}={...(0,n.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(p,{...e})}):p(e)}},11151:(e,s,r)=>{r.d(s,{Z:()=>o,a:()=>i});var t=r(67294);const n={},c=t.createContext(n);function i(e){const s=t.useContext(c);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),t.createElement(c.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/63b7ed35.c9d4c649.js b/assets/js/63b7ed35.c9d4c649.js new file mode 100644 index 000000000..bce0178eb --- /dev/null +++ b/assets/js/63b7ed35.c9d4c649.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[81412],{50844:(e,s,r)=>{r.r(s),r.d(s,{assets:()=>a,contentTitle:()=>i,default:()=>h,frontMatter:()=>c,metadata:()=>o,toc:()=>l});var t=r(17624),n=r(4552);const c={id:"helpers",title:"Helpers"},i=void 0,o={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:",source:"@site/docs/legacy/v8/basics/helpers.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/helpers",permalink:"/docs/legacy/v8/basics/helpers",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"helpers",title:"Helpers"},sidebar:"docs",previous:{title:"Storybook",permalink:"/docs/legacy/v8/basics/blocks-storybook"},next:{title:"JavaScript",permalink:"/docs/legacy/v8/basics/helpers-javascript"}},a={},l=[];function p(e){const s={a:"a",li:"li",p:"p",ul:"ul",...(0,n.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:"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:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"helpers-javascript",children:"JavaScript Helpers"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"helpers-scss",children:"Scss Helpers"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"helpers-php",children:"Php Helpers"})}),"\n"]}),"\n",(0,t.jsx)(s.p,{children:"We especially like our helpers in the block editor, because we need to have the same features in JavaScript and PHP. This can be easily done using helpers."})]})}function h(e={}){const{wrapper:s}={...(0,n.M)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(p,{...e})}):p(e)}},4552:(e,s,r)=>{r.d(s,{I:()=>o,M:()=>i});var t=r(11504);const n={},c=t.createContext(n);function i(e){const s=t.useContext(c);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),t.createElement(c.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/64042be6.7918116c.js b/assets/js/64042be6.7918116c.js deleted file mode 100644 index 4d8b80329..000000000 --- a/assets/js/64042be6.7918116c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[88863],{36405:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>a,contentTitle:()=>l,default:()=>h,frontMatter:()=>t,metadata:()=>r,toc:()=>c});var i=s(85893),o=s(11151);const t={id:"wp-cli",title:"WP-CLI"},l=void 0,r={id:"legacy/v8/basics/wp-cli",title:"WP-CLI",description:"docs-source",source:"@site/docs/legacy/v8/basics/wp-cli.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/wp-cli",permalink:"/docs/legacy/v8/basics/wp-cli",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"wp-cli",title:"WP-CLI"},sidebar:"docs",previous:{title:"Basics",permalink:"/docs/legacy/v8/basics/basics-intro"},next:{title:"Architecture concepts",permalink:"/docs/legacy/v8/basics/architecture-concepts"}},a={},c=[{value:"How it works",id:"how-it-works",level:2},{value:"Options and commands",id:"options-and-commands",level:2},{value:"Commands",id:"commands",level:3},{value:"Running commands in multisite",id:"running-commands-in-multisite",level:2}];function d(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,o.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs",children:(0,i.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsxs)(n.p,{children:["Eightshift Development Kit provides extensive ",(0,i.jsx)(n.a,{href:"https://wp-cli.org/",children:"WP-CLI"})," tooling, allowing you to automate bootstrapping of common code, adding blocks from the Frontend Libs library to your projects and more using ",(0,i.jsx)(n.code,{children:"wp boilerplate"}),"."]}),"\n",(0,i.jsx)(n.h2,{id:"how-it-works",children:"How it works"}),"\n",(0,i.jsxs)(n.p,{children:["In your project's entry point (usually ",(0,i.jsx)(n.code,{children:"functions.php"}),"), you'll find something along these lines:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-php",children:"/**\n * Run all WP-CLI commands.\n */\nif (\\class_exists(Cli::class)) {\n\t(new Cli())->load('boilerplate');\n}\n"})}),"\n",(0,i.jsxs)(n.p,{children:["This code loads the WP-CLI class from Eightshift Libs, which handles command registration for all of our commands. As this command registration is part of the theme/plugin code, this means that the same theme/plugin ",(0,i.jsx)(n.strong,{children:"must be activated"})," for ",(0,i.jsx)(n.code,{children:"wp boilerplate"})," to work."]}),"\n",(0,i.jsx)(n.p,{children:"To run the WP-CLI command and see what you can use, run this command in your terminal:"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"wp boilerplate --help"})}),"\n",(0,i.jsx)(n.admonition,{type:"note",children:(0,i.jsxs)(n.p,{children:["By default, your project's WP-CLI commands run under the parent name ",(0,i.jsx)(n.code,{children:"boilerplate"}),", as defined above."]})}),"\n",(0,i.jsx)(n.p,{children:"You can change that by simply replacing the string inside the load method like this:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-php",children:"/**\n * Run all WP-CLI commands.\n */\nif (\\class_exists(Cli::class)) {\n (new Cli())->load('superCoolTheme');\n}\n"})}),"\n",(0,i.jsx)(n.p,{children:"Now, your project's WP-CLI commands are available using:"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"wp superCoolTheme --help"}),"."]}),"\n",(0,i.jsx)(n.p,{children:"This is especially handy when you have multiple Eightshift Boilerplate powered themes or plugins installed. In that case, you should change the WP-CLI parent name on each of the projects."}),"\n",(0,i.jsx)(n.h2,{id:"options-and-commands",children:"Options and commands"}),"\n",(0,i.jsxs)(n.p,{children:["To get to know which commands are available and what do they do, run ",(0,i.jsx)(n.code,{children:"wp boilerplate --help"}),".\nThe ",(0,i.jsx)(n.code,{children:"--help"})," argument is available on all of our commands and provides a description of the command and a list of required and optional parameters for the command."]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"wp boilerplate create config --help"})}),"\n",(0,i.jsx)(n.h3,{id:"commands",children:"Commands"}),"\n",(0,i.jsx)(n.p,{children:"We use these common prefixes for commands:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"create"})," - services classes that will be copied to your project."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"init"})," - additional functions, methods and helpers that will be copied to your project."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"run"})," - commands used to run an action directly from Eightshift Libs. They will not copy anything to your project."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"setup"})," - commands that runs multiple already defined commands from the list."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"use"})," - commands used for blocks and block-related stuff. They will copy various files and folders from the blocks folder to your project."]}),"\n"]}),"\n",(0,i.jsx)(n.admonition,{title:":es-hide-title:",type:"success",children:(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Make WP-CLI your best friend, and your coding life will be much more comfortable, trust us."})})}),"\n",(0,i.jsxs)(n.p,{children:["While we might go into more details about some of these commands, we won't be documenting all of them here - use the built-in manuals for more information about particular commands and to discover what's available. Don't gloss over them, as using ",(0,i.jsx)(n.code,{children:"wp boilerplate"})," is a particularly useful tool when building projects with Eightshift Development Kit."]}),"\n",(0,i.jsx)(n.h2,{id:"running-commands-in-multisite",children:"Running commands in multisite"}),"\n",(0,i.jsxs)(n.p,{children:["When you are running a multisite setup, you should always provide the additional ",(0,i.jsx)(n.code,{children:"--url"})," parameter. Otherwise, WP-CLI will always run the command on the main site."]}),"\n",(0,i.jsx)(n.p,{children:"Here is an example for command running on the primary site:"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"wp boilerplate create config"})}),"\n",(0,i.jsx)(n.p,{children:"and here is an example for command running on the subsite:"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"wp boilerplate create config --url='custom.domain.com'"})})]})}function h(e={}){const{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},11151:(e,n,s)=>{s.d(n,{Z:()=>r,a:()=>l});var i=s(67294);const o={},t=i.createContext(o);function l(e){const n=i.useContext(t);return i.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(o):e.components||o:l(e.components),i.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/64042be6.ea84458d.js b/assets/js/64042be6.ea84458d.js new file mode 100644 index 000000000..1d60d77f7 --- /dev/null +++ b/assets/js/64042be6.ea84458d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[33016],{10484:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>a,contentTitle:()=>l,default:()=>h,frontMatter:()=>t,metadata:()=>r,toc:()=>c});var i=s(17624),o=s(4552);const t={id:"wp-cli",title:"WP-CLI"},l=void 0,r={id:"legacy/v8/basics/wp-cli",title:"WP-CLI",description:"docs-source",source:"@site/docs/legacy/v8/basics/wp-cli.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/wp-cli",permalink:"/docs/legacy/v8/basics/wp-cli",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"wp-cli",title:"WP-CLI"},sidebar:"docs",previous:{title:"Basics",permalink:"/docs/legacy/v8/basics/basics-intro"},next:{title:"Architecture concepts",permalink:"/docs/legacy/v8/basics/architecture-concepts"}},a={},c=[{value:"How it works",id:"how-it-works",level:2},{value:"Options and commands",id:"options-and-commands",level:2},{value:"Commands",id:"commands",level:3},{value:"Running commands in multisite",id:"running-commands-in-multisite",level:2}];function d(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,o.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs",children:(0,i.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsxs)(n.p,{children:["Eightshift Development Kit provides extensive ",(0,i.jsx)(n.a,{href:"https://wp-cli.org/",children:"WP-CLI"})," tooling, allowing you to automate bootstrapping of common code, adding blocks from the Frontend Libs library to your projects and more using ",(0,i.jsx)(n.code,{children:"wp boilerplate"}),"."]}),"\n",(0,i.jsx)(n.h2,{id:"how-it-works",children:"How it works"}),"\n",(0,i.jsxs)(n.p,{children:["In your project's entry point (usually ",(0,i.jsx)(n.code,{children:"functions.php"}),"), you'll find something along these lines:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-php",children:"/**\n * Run all WP-CLI commands.\n */\nif (\\class_exists(Cli::class)) {\n\t(new Cli())->load('boilerplate');\n}\n"})}),"\n",(0,i.jsxs)(n.p,{children:["This code loads the WP-CLI class from Eightshift Libs, which handles command registration for all of our commands. As this command registration is part of the theme/plugin code, this means that the same theme/plugin ",(0,i.jsx)(n.strong,{children:"must be activated"})," for ",(0,i.jsx)(n.code,{children:"wp boilerplate"})," to work."]}),"\n",(0,i.jsx)(n.p,{children:"To run the WP-CLI command and see what you can use, run this command in your terminal:"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"wp boilerplate --help"})}),"\n",(0,i.jsx)(n.admonition,{type:"note",children:(0,i.jsxs)(n.p,{children:["By default, your project's WP-CLI commands run under the parent name ",(0,i.jsx)(n.code,{children:"boilerplate"}),", as defined above."]})}),"\n",(0,i.jsx)(n.p,{children:"You can change that by simply replacing the string inside the load method like this:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-php",children:"/**\n * Run all WP-CLI commands.\n */\nif (\\class_exists(Cli::class)) {\n (new Cli())->load('superCoolTheme');\n}\n"})}),"\n",(0,i.jsx)(n.p,{children:"Now, your project's WP-CLI commands are available using:"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"wp superCoolTheme --help"}),"."]}),"\n",(0,i.jsx)(n.p,{children:"This is especially handy when you have multiple Eightshift Boilerplate powered themes or plugins installed. In that case, you should change the WP-CLI parent name on each of the projects."}),"\n",(0,i.jsx)(n.h2,{id:"options-and-commands",children:"Options and commands"}),"\n",(0,i.jsxs)(n.p,{children:["To get to know which commands are available and what do they do, run ",(0,i.jsx)(n.code,{children:"wp boilerplate --help"}),".\nThe ",(0,i.jsx)(n.code,{children:"--help"})," argument is available on all of our commands and provides a description of the command and a list of required and optional parameters for the command."]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"wp boilerplate create config --help"})}),"\n",(0,i.jsx)(n.h3,{id:"commands",children:"Commands"}),"\n",(0,i.jsx)(n.p,{children:"We use these common prefixes for commands:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"create"})," - services classes that will be copied to your project."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"init"})," - additional functions, methods and helpers that will be copied to your project."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"run"})," - commands used to run an action directly from Eightshift Libs. They will not copy anything to your project."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"setup"})," - commands that runs multiple already defined commands from the list."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"use"})," - commands used for blocks and block-related stuff. They will copy various files and folders from the blocks folder to your project."]}),"\n"]}),"\n",(0,i.jsx)(n.admonition,{title:":es-hide-title:",type:"success",children:(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Make WP-CLI your best friend, and your coding life will be much more comfortable, trust us."})})}),"\n",(0,i.jsxs)(n.p,{children:["While we might go into more details about some of these commands, we won't be documenting all of them here - use the built-in manuals for more information about particular commands and to discover what's available. Don't gloss over them, as using ",(0,i.jsx)(n.code,{children:"wp boilerplate"})," is a particularly useful tool when building projects with Eightshift Development Kit."]}),"\n",(0,i.jsx)(n.h2,{id:"running-commands-in-multisite",children:"Running commands in multisite"}),"\n",(0,i.jsxs)(n.p,{children:["When you are running a multisite setup, you should always provide the additional ",(0,i.jsx)(n.code,{children:"--url"})," parameter. Otherwise, WP-CLI will always run the command on the main site."]}),"\n",(0,i.jsx)(n.p,{children:"Here is an example for command running on the primary site:"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"wp boilerplate create config"})}),"\n",(0,i.jsx)(n.p,{children:"and here is an example for command running on the subsite:"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"wp boilerplate create config --url='custom.domain.com'"})})]})}function h(e={}){const{wrapper:n}={...(0,o.M)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},4552:(e,n,s)=>{s.d(n,{I:()=>r,M:()=>l});var i=s(11504);const o={},t=i.createContext(o);function l(e){const n=i.useContext(t);return i.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(o):e.components||o:l(e.components),i.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/640b2864.19c9fe67.js b/assets/js/640b2864.19c9fe67.js deleted file mode 100644 index 236946b70..000000000 --- a/assets/js/640b2864.19c9fe67.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[89141],{7085:e=>{e.exports=JSON.parse('{"name":"docusaurus-theme-search-algolia","id":"default"}')}}]); \ No newline at end of file diff --git a/assets/js/640b2864.28139028.js b/assets/js/640b2864.28139028.js new file mode 100644 index 000000000..07a75b26d --- /dev/null +++ b/assets/js/640b2864.28139028.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[56839],{74684:e=>{e.exports=JSON.parse('{"name":"docusaurus-theme-search-algolia","id":"default"}')}}]); \ No newline at end of file diff --git a/assets/js/641a79fb.2a78faf9.js b/assets/js/641a79fb.2a78faf9.js deleted file mode 100644 index b9bebf5b1..000000000 --- a/assets/js/641a79fb.2a78faf9.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[78345],{62153:(s,e,t)=>{t.r(e),t.d(e,{assets:()=>a,contentTitle:()=>i,default:()=>h,frontMatter:()=>r,metadata:()=>c,toc:()=>l});var o=t(85893),n=t(11151);const r={id:"blocks-transforms",title:"Transforms"},i=void 0,c={id:"legacy/v8/basics/blocks-transforms",title:"Transforms",description:"docs-source",source:"@site/docs/legacy/v8/basics/blocks-transforms.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/blocks-transforms",permalink:"/docs/legacy/v8/basics/blocks-transforms",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-transforms",title:"Transforms"},sidebar:"docs",previous:{title:"Patterns",permalink:"/docs/legacy/v8/basics/blocks-patterns"},next:{title:"Hooks",permalink:"/docs/legacy/v8/basics/blocks-hooks"}},a={},l=[];function d(s){const e={a:"a",img:"img",p:"p",...(0,n.a)(),...s.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.p,{children:(0,o.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,o.jsx)(e.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(e.p,{children:"Block Transforms is an API that allows a block to be transformed from and to other blocks, as well as from other entities."}),"\n",(0,o.jsxs)(e.p,{children:["You can check the ",(0,o.jsx)(e.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-transforms/",children:"WordPress documentation"})," on this subject."]}),"\n",(0,o.jsx)(e.p,{children:"We didn't change anything regarding the original documentation; we simply provided you with the structured file where you can write all your transformations."}),"\n",(0,o.jsxs)(e.p,{children:["Please follow this ",(0,o.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/custom/heading/heading-transforms.js",children:"example"})," for more inspiration."]})]})}function h(s={}){const{wrapper:e}={...(0,n.a)(),...s.components};return e?(0,o.jsx)(e,{...s,children:(0,o.jsx)(d,{...s})}):d(s)}},11151:(s,e,t)=>{t.d(e,{Z:()=>c,a:()=>i});var o=t(67294);const n={},r=o.createContext(n);function i(s){const e=o.useContext(r);return o.useMemo((function(){return"function"==typeof s?s(e):{...e,...s}}),[e,s])}function c(s){let e;return e=s.disableParentContext?"function"==typeof s.components?s.components(n):s.components||n:i(s.components),o.createElement(r.Provider,{value:e},s.children)}}}]); \ No newline at end of file diff --git a/assets/js/641a79fb.7fbd0803.js b/assets/js/641a79fb.7fbd0803.js new file mode 100644 index 000000000..f24137b49 --- /dev/null +++ b/assets/js/641a79fb.7fbd0803.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[87200],{48944:(s,e,t)=>{t.r(e),t.d(e,{assets:()=>a,contentTitle:()=>i,default:()=>h,frontMatter:()=>r,metadata:()=>c,toc:()=>l});var o=t(17624),n=t(4552);const r={id:"blocks-transforms",title:"Transforms"},i=void 0,c={id:"legacy/v8/basics/blocks-transforms",title:"Transforms",description:"docs-source",source:"@site/docs/legacy/v8/basics/blocks-transforms.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/blocks-transforms",permalink:"/docs/legacy/v8/basics/blocks-transforms",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-transforms",title:"Transforms"},sidebar:"docs",previous:{title:"Patterns",permalink:"/docs/legacy/v8/basics/blocks-patterns"},next:{title:"Hooks",permalink:"/docs/legacy/v8/basics/blocks-hooks"}},a={},l=[];function d(s){const e={a:"a",img:"img",p:"p",...(0,n.M)(),...s.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.p,{children:(0,o.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,o.jsx)(e.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(e.p,{children:"Block Transforms is an API that allows a block to be transformed from and to other blocks, as well as from other entities."}),"\n",(0,o.jsxs)(e.p,{children:["You can check the ",(0,o.jsx)(e.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-transforms/",children:"WordPress documentation"})," on this subject."]}),"\n",(0,o.jsx)(e.p,{children:"We didn't change anything regarding the original documentation; we simply provided you with the structured file where you can write all your transformations."}),"\n",(0,o.jsxs)(e.p,{children:["Please follow this ",(0,o.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/custom/heading/heading-transforms.js",children:"example"})," for more inspiration."]})]})}function h(s={}){const{wrapper:e}={...(0,n.M)(),...s.components};return e?(0,o.jsx)(e,{...s,children:(0,o.jsx)(d,{...s})}):d(s)}},4552:(s,e,t)=>{t.d(e,{I:()=>c,M:()=>i});var o=t(11504);const n={},r=o.createContext(n);function i(s){const e=o.useContext(r);return o.useMemo((function(){return"function"==typeof s?s(e):{...e,...s}}),[e,s])}function c(s){let e;return e=s.disableParentContext?"function"==typeof s.components?s.components(n):s.components||n:i(s.components),o.createElement(r.Provider,{value:e},s.children)}}}]); \ No newline at end of file diff --git a/assets/js/64793643.6e0dfff8.js b/assets/js/64793643.6e0dfff8.js new file mode 100644 index 000000000..bfa3fcfd7 --- /dev/null +++ b/assets/js/64793643.6e0dfff8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[54816],{25344:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>h,contentTitle:()=>a,default:()=>d,frontMatter:()=>o,metadata:()=>c,toc:()=>l});var s=n(17624),r=n(4552),i=n(13536);const o={id:"enrichment",title:"Enrichment"},a=void 0,c={id:"javascript/state/enrichment",title:"Enrichment",description:"The enrichment object contains methods to work with the enrichment of the form.",source:"@site/forms/javascript/state/enrichment.mdx",sourceDirName:"javascript/state",slug:"/javascript/state/enrichment",permalink:"/forms/javascript/state/enrichment",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"enrichment",title:"Enrichment"},sidebar:"forms",previous:{title:"Conditional tags",permalink:"/forms/javascript/state/conditional-tags"},next:{title:"Step",permalink:"/forms/javascript/state/step"}},h={},l=[{value:"Example",id:"example",level:3}];function m(e){const t={a:"a",admonition:"admonition",code:"code",h3:"h3",p:"p",pre:"pre",...(0,r.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(t.p,{children:["The ",(0,s.jsx)(t.code,{children:"enrichment"})," object contains methods to work with the enrichment of the form."]}),"\n",(0,s.jsx)(t.admonition,{type:"tip",children:(0,s.jsxs)(t.p,{children:["For more details about this feature visit ",(0,s.jsx)(t.a,{href:"/forms/features/enrichment",children:"enrichment"})," feature."]})}),"\n",(0,s.jsx)(i.g,{name:"Enrichment",filter:"enrichment"}),"\n",(0,s.jsx)(t.h3,{id:"example",children:"Example"}),"\n",(0,s.jsx)(t.p,{children:"This example will get values from the localStorage used for enrichment."}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"window?.esForms?.enrichment?.getLocalStorage();\n"})})]})}function d(e={}){const{wrapper:t}={...(0,r.M)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(m,{...e})}):m(e)}},13536:(e,t,n)=>{n.d(t,{g:()=>o});n(11504);var s=n(1608),r=n(96616),i=n(17624);function o(e){const{name:t,filter:n,url:o}=e,a=`https://github.com/infinum/eightshift-forms/blob/develop/src/Blocks/components/form/assets/${o}.js`;return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h3",{children:"Usage"}),(0,i.jsxs)("p",{children:["To access ",t," object and all its customization options use your browsers console and type:"]}),(0,i.jsx)(s.c,{language:"js",children:(0,r.c)(`\n\t\t\t\twindow?.esForms?.${n}\n\t\t\t`)}),o&&(0,i.jsxs)("p",{children:["You can find all methods and their documentation on this ",(0,i.jsx)("a",{href:a,target:"_blank",rel:"noopener noreferrer",children:"link"}),"."]})]})}},96616:(e,t,n)=>{function s(e){const t=e.split(/\n/g);for(;0===t[0]?.replace(/\s/g,"").length;)t.shift();for(;0===t[t.length-1]?.replace(/\s/g,"").length;)t.pop();const n=e.split(/\n/g).filter((e=>e.replace(/\s/g,"").length>0)).map((e=>e.match(/^\s*/)?.[0]?.length??0)),s=Math.min(...n);return t.map((e=>e.slice(s))).join("\n")}n.d(t,{c:()=>s})}}]); \ No newline at end of file diff --git a/assets/js/64793643.838ffe2d.js b/assets/js/64793643.838ffe2d.js deleted file mode 100644 index 1e4cfc7b9..000000000 --- a/assets/js/64793643.838ffe2d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[70036],{56381:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>d,frontMatter:()=>o,metadata:()=>c,toc:()=>h});var r=n(85893),s=n(11151),i=n(22130);const o={id:"enrichment",title:"Enrichment"},a=void 0,c={id:"javascript/state/enrichment",title:"Enrichment",description:"The enrichment object contains methods to work with the enrichment of the form.",source:"@site/forms/javascript/state/enrichment.mdx",sourceDirName:"javascript/state",slug:"/javascript/state/enrichment",permalink:"/forms/javascript/state/enrichment",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"enrichment",title:"Enrichment"},sidebar:"forms",previous:{title:"Conditional tags",permalink:"/forms/javascript/state/conditional-tags"},next:{title:"Step",permalink:"/forms/javascript/state/step"}},l={},h=[{value:"Example",id:"example",level:3}];function m(e){const t={a:"a",admonition:"admonition",code:"code",h3:"h3",p:"p",pre:"pre",...(0,s.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(t.p,{children:["The ",(0,r.jsx)(t.code,{children:"enrichment"})," object contains methods to work with the enrichment of the form."]}),"\n",(0,r.jsx)(t.admonition,{type:"tip",children:(0,r.jsxs)(t.p,{children:["For more details about this feature visit ",(0,r.jsx)(t.a,{href:"/forms/features/enrichment",children:"enrichment"})," feature."]})}),"\n",(0,r.jsx)(i.D,{name:"Enrichment",filter:"enrichment"}),"\n",(0,r.jsx)(t.h3,{id:"example",children:"Example"}),"\n",(0,r.jsx)(t.p,{children:"This example will get values from the localStorage used for enrichment."}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-js",children:"window?.esForms?.enrichment?.getLocalStorage();\n"})})]})}function d(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(m,{...e})}):m(e)}},22130:(e,t,n)=>{n.d(t,{D:()=>o});n(67294);var r=n(9286),s=n(61684),i=n(85893);function o(e){const{name:t,filter:n,url:o}=e,a="https://github.com/infinum/eightshift-forms/blob/develop/src/Blocks/components/form/assets/"+o+".js";return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h3",{children:"Usage"}),(0,i.jsxs)("p",{children:["To access ",t," object and all its customization options use your browsers console and type:"]}),(0,i.jsx)(r.Z,{language:"js",children:(0,s.p)("\n\t\t\t\twindow?.esForms?."+n+"\n\t\t\t")}),o&&(0,i.jsxs)("p",{children:["You can find all methods and their documentation on this ",(0,i.jsx)("a",{href:a,target:"_blank",rel:"noopener noreferrer",children:"link"}),"."]})]})}},61684:(e,t,n)=>{function r(e){const t=e.split(/\n/g);for(;0===(null==(n=t[0])?void 0:n.replace(/\s/g,"").length);){var n;t.shift()}for(;0===(null==(r=t[t.length-1])?void 0:r.replace(/\s/g,"").length);){var r;t.pop()}const s=e.split(/\n/g).filter((e=>e.replace(/\s/g,"").length>0)).map((e=>{var t,n;return null!=(t=null==(n=e.match(/^\s*/))||null==(n=n[0])?void 0:n.length)?t:0})),i=Math.min(...s);return t.map((e=>e.slice(i))).join("\n")}n.d(t,{p:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/64e3919b.32815697.js b/assets/js/64e3919b.32815697.js deleted file mode 100644 index 215d50d40..000000000 --- a/assets/js/64e3919b.32815697.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[5768],{49286:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>s,default:()=>p,frontMatter:()=>o,metadata:()=>u,toc:()=>a});var i=n(85893),r=n(11151);const o={id:"http-request-timeout",title:"HTTP request timeout"},s=void 0,u={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.",source:"@site/forms/php/filters/general/http-request-timeout.md",sourceDirName:"php/filters/general",slug:"/php/filters/general/http-request-timeout",permalink:"/forms/php/filters/general/http-request-timeout",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"http-request-timeout",title:"HTTP request timeout"},sidebar:"forms",previous:{title:"Media breakpoints",permalink:"/forms/php/filters/blocks/media-breakpoints"},next:{title:"Locale",permalink:"/forms/php/filters/general/locale"}},l={},a=[];function c(e){const t={code:"code",p:"p",pre:"pre",...(0,r.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"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."}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-php",children:"\\add_filter('es_forms_general_http_request_timeout', [$this, 'getHttpRequestTimeout']);\n\n/**\n * Change http request timeout.\n *\n * This filter can be used to change the cURL timeout for the file upload, useful if you have to upload large files.\n *\n * @return int\n */\npublic function getHttpRequestTimeout(): int\n{\n\treturn 50;\n}\n"})})]})}function p(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},11151:(e,t,n)=>{n.d(t,{Z:()=>u,a:()=>s});var i=n(67294);const r={},o=i.createContext(r);function s(e){const t=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function u(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:s(e.components),i.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/64e3919b.fd4a8e7b.js b/assets/js/64e3919b.fd4a8e7b.js new file mode 100644 index 000000000..cd6219073 --- /dev/null +++ b/assets/js/64e3919b.fd4a8e7b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[5024],{5080:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>s,default:()=>p,frontMatter:()=>o,metadata:()=>u,toc:()=>a});var i=n(17624),r=n(4552);const o={id:"http-request-timeout",title:"HTTP request timeout"},s=void 0,u={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.",source:"@site/forms/php/filters/general/http-request-timeout.md",sourceDirName:"php/filters/general",slug:"/php/filters/general/http-request-timeout",permalink:"/forms/php/filters/general/http-request-timeout",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"http-request-timeout",title:"HTTP request timeout"},sidebar:"forms",previous:{title:"Media breakpoints",permalink:"/forms/php/filters/blocks/media-breakpoints"},next:{title:"Locale",permalink:"/forms/php/filters/general/locale"}},l={},a=[];function c(e){const t={code:"code",p:"p",pre:"pre",...(0,r.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"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."}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-php",children:"\\add_filter('es_forms_general_http_request_timeout', [$this, 'getHttpRequestTimeout']);\n\n/**\n * Change http request timeout.\n *\n * This filter can be used to change the cURL timeout for the file upload, useful if you have to upload large files.\n *\n * @return int\n */\npublic function getHttpRequestTimeout(): int\n{\n\treturn 50;\n}\n"})})]})}function p(e={}){const{wrapper:t}={...(0,r.M)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},4552:(e,t,n)=>{n.d(t,{I:()=>u,M:()=>s});var i=n(11504);const r={},o=i.createContext(r);function s(e){const t=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function u(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:s(e.components),i.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/66151e3f.213166fb.js b/assets/js/66151e3f.213166fb.js deleted file mode 100644 index c5cb1dde5..000000000 --- a/assets/js/66151e3f.213166fb.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[47698],{79596:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>n,default:()=>h,frontMatter:()=>a,metadata:()=>r,toc:()=>l});var i=s(85893),o=s(11151);const a={id:"blocks-variations",title:"Variations"},n=void 0,r={id:"legacy/v7/basics/blocks-variations",title:"Variations",description:"docs-source",source:"@site/docs/legacy/v7/basics/blocks-variations.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/blocks-variations",permalink:"/docs/legacy/v7/basics/blocks-variations",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-variations",title:"Variations"},sidebar:"docs",previous:{title:"Wrapper",permalink:"/docs/legacy/v7/basics/blocks-wrapper"},next:{title:"Patterns",permalink:"/docs/legacy/v7/basics/blocks-patterns"}},c={},l=[{value:"Structure",id:"structure",level:3},{value:"Limitations",id:"limitations",level:3},{value:"Changes from native WordPress block variations API",id:"changes-from-native-wordpress-block-variations-api",level:3}];function d(e){const t={a:"a",code:"code",h3:"h3",img:"img",p:"p",...(0,o.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsx)(t.p,{children:"Block variations allow developers to define instances of existing blocks by changing their default values."}),"\n",(0,i.jsxs)(t.p,{children:["An example that you\u2019ll see below is a button block. Perhaps your site has three variations of how to display a button on your site. You must create a ",(0,i.jsx)(t.code,{children:"default"})," button block and you can create additional variations that changes the default values for the other two buttons. This sounds awfully familiar to block styles, but the concept of variations goes a bit further than that, as you\u2019ll see."]}),"\n",(0,i.jsxs)(t.p,{children:["Here is the best article on how to better understand ",(0,i.jsx)(t.a,{href:"https://css-tricks.com/how-to-use-block-variations-in-wordpress/",children:"block variations"}),"."]}),"\n",(0,i.jsxs)(t.p,{children:["What we did with variations is just like blocks. Provide the structured data from the ",(0,i.jsx)(t.code,{children:"manifest.json"})," and use that to register your variation."]}),"\n",(0,i.jsx)(t.h3,{id:"structure",children:"Structure"}),"\n",(0,i.jsxs)(t.p,{children:["The structure is the same as a normal block but with some limitations on what you can use. You can check the ",(0,i.jsx)(t.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-registration/#variations-optional",children:"WordPress documentation"})," for more on this subject."]}),"\n",(0,i.jsx)(t.h3,{id:"limitations",children:"Limitations"}),"\n",(0,i.jsxs)(t.p,{children:["As we saw from our testing, you are not limited to only changing the block's default attributes, but adding additional data like inner blocks and such. With this setup, you can use variations the same way as you would block patterns, only in the variation you provide the data using ",(0,i.jsx)(t.code,{children:"manifest.json"}),"."]}),"\n",(0,i.jsx)(t.h3,{id:"changes-from-native-wordpress-block-variations-api",children:"Changes from native WordPress block variations API"}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:"parentName"})," key is the only addition to the original documentation. We implemented this key to be able to connect the original block with its variation. This key must be the same as it is defined in the original blocks ",(0,i.jsx)(t.code,{children:"blockName"})," key."]})]})}function h(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},11151:(e,t,s)=>{s.d(t,{Z:()=>r,a:()=>n});var i=s(67294);const o={},a=i.createContext(o);function n(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:n(e.components),i.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/66151e3f.fb02f740.js b/assets/js/66151e3f.fb02f740.js new file mode 100644 index 000000000..5c5a204ec --- /dev/null +++ b/assets/js/66151e3f.fb02f740.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[96568],{14644:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>n,default:()=>h,frontMatter:()=>a,metadata:()=>r,toc:()=>l});var i=s(17624),o=s(4552);const a={id:"blocks-variations",title:"Variations"},n=void 0,r={id:"legacy/v7/basics/blocks-variations",title:"Variations",description:"docs-source",source:"@site/docs/legacy/v7/basics/blocks-variations.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/blocks-variations",permalink:"/docs/legacy/v7/basics/blocks-variations",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-variations",title:"Variations"},sidebar:"docs",previous:{title:"Wrapper",permalink:"/docs/legacy/v7/basics/blocks-wrapper"},next:{title:"Patterns",permalink:"/docs/legacy/v7/basics/blocks-patterns"}},c={},l=[{value:"Structure",id:"structure",level:3},{value:"Limitations",id:"limitations",level:3},{value:"Changes from native WordPress block variations API",id:"changes-from-native-wordpress-block-variations-api",level:3}];function d(e){const t={a:"a",code:"code",h3:"h3",img:"img",p:"p",...(0,o.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsx)(t.p,{children:"Block variations allow developers to define instances of existing blocks by changing their default values."}),"\n",(0,i.jsxs)(t.p,{children:["An example that you\u2019ll see below is a button block. Perhaps your site has three variations of how to display a button on your site. You must create a ",(0,i.jsx)(t.code,{children:"default"})," button block and you can create additional variations that changes the default values for the other two buttons. This sounds awfully familiar to block styles, but the concept of variations goes a bit further than that, as you\u2019ll see."]}),"\n",(0,i.jsxs)(t.p,{children:["Here is the best article on how to better understand ",(0,i.jsx)(t.a,{href:"https://css-tricks.com/how-to-use-block-variations-in-wordpress/",children:"block variations"}),"."]}),"\n",(0,i.jsxs)(t.p,{children:["What we did with variations is just like blocks. Provide the structured data from the ",(0,i.jsx)(t.code,{children:"manifest.json"})," and use that to register your variation."]}),"\n",(0,i.jsx)(t.h3,{id:"structure",children:"Structure"}),"\n",(0,i.jsxs)(t.p,{children:["The structure is the same as a normal block but with some limitations on what you can use. You can check the ",(0,i.jsx)(t.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-registration/#variations-optional",children:"WordPress documentation"})," for more on this subject."]}),"\n",(0,i.jsx)(t.h3,{id:"limitations",children:"Limitations"}),"\n",(0,i.jsxs)(t.p,{children:["As we saw from our testing, you are not limited to only changing the block's default attributes, but adding additional data like inner blocks and such. With this setup, you can use variations the same way as you would block patterns, only in the variation you provide the data using ",(0,i.jsx)(t.code,{children:"manifest.json"}),"."]}),"\n",(0,i.jsx)(t.h3,{id:"changes-from-native-wordpress-block-variations-api",children:"Changes from native WordPress block variations API"}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:"parentName"})," key is the only addition to the original documentation. We implemented this key to be able to connect the original block with its variation. This key must be the same as it is defined in the original blocks ",(0,i.jsx)(t.code,{children:"blockName"})," key."]})]})}function h(e={}){const{wrapper:t}={...(0,o.M)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},4552:(e,t,s)=>{s.d(t,{I:()=>r,M:()=>n});var i=s(11504);const o={},a=i.createContext(o);function n(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:n(e.components),i.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/67644baa.35cabd62.js b/assets/js/67644baa.35cabd62.js new file mode 100644 index 000000000..d6d89a493 --- /dev/null +++ b/assets/js/67644baa.35cabd62.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[97724],{74108:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>c,default:()=>h,frontMatter:()=>r,metadata:()=>i,toc:()=>l});var o=n(17624),s=n(4552);const r={id:"browser-sync",title:"Browser Sync",sidebar_label:"Browser Sync"},c=void 0,i={id:"legacy/v5/basics/browser-sync",title:"Browser Sync",description:"docs-source",source:"@site/docs/legacy/v5/basics/browser-sync.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/browser-sync",permalink:"/docs/legacy/v5/basics/browser-sync",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"browser-sync",title:"Browser Sync",sidebar_label:"Browser Sync"},sidebar:"docs",previous:{title:"Fonts",permalink:"/docs/legacy/v5/basics/fonts"},next:{title:"Dynamic Import",permalink:"/docs/legacy/v5/basics/dynamic-import"}},a={},l=[{value:"Using SSL for local development",id:"using-ssl-for-local-development",level:2}];function d(e){const t={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",...(0,s.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0",children:(0,o.jsx)(t.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.a,{href:"https://browsersync.io/docs",children:"Browsersync"})," is a Node module that enables you to develop sites faster. It will react to any code change and 'refresh' the site without you needing to refresh it. In the background, it runs a small local server. When configured, it will inject a script on your web page to react to any code change."]}),"\n",(0,o.jsx)(t.p,{children:"Besides that, you can test your site on various devices on the same network."}),"\n",(0,o.jsx)(t.p,{children:"If comes with the boilerplate by default. When you run:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-bash",children:"npm start\n"})}),"\n",(0,o.jsxs)(t.p,{children:["it will proxy the page you've specified in the ",(0,o.jsx)(t.code,{children:"projectUrl"})," to your local server."]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-bash",children:"[Browsersync] Proxying: https://local-url.test\n[Browsersync] Access URLs:\n--------------------------------------\nLocal: https://localhost:3000\nExternal: https://192.168.0.25:3000\n--------------------------------------\nUI: http://localhost:3001\nUI External: http://localhost:3001\n--------------------------------------\n"})}),"\n",(0,o.jsx)(t.p,{children:"Using the IP address, you can open it on any device (mobile phone or tablet) that is connected to the same network, and see how your site looks on that device."}),"\n",(0,o.jsx)(t.h2,{id:"using-ssl-for-local-development",children:"Using SSL for local development"}),"\n",(0,o.jsx)(t.p,{children:"By default BrowserSync does not work with https urls but if you use HTTPS in your local environment you can simply provide additional key to the Webpack config to make it work."}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-js",children:"module.exports = (env, argv) => {\n\tconst projectConfig = {\n\t\tconfig: {\n\t\t\tprojectDir: __dirname, // Current project directory absolute path.\n\t\t\tprojectUrl: 'local-url.test', // Used for providing browsersync functionality.\n\t\t\tprojectPath: 'wp-content/themes/your-theme-name', // Project path relative to project root.\n\t\t\tuseSsl: true,\n\t\t},\n\t};\n\n\t// Generate webpack config for this project using options object.\n\treturn require('./node_modules/@eightshift/frontend-libs/webpack')(argv.mode, projectConfig);\n};\n"})})]})}function h(e={}){const{wrapper:t}={...(0,s.M)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},4552:(e,t,n)=>{n.d(t,{I:()=>i,M:()=>c});var o=n(11504);const s={},r=o.createContext(s);function c(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:c(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/67644baa.8979f6c8.js b/assets/js/67644baa.8979f6c8.js deleted file mode 100644 index 2fbd14fd5..000000000 --- a/assets/js/67644baa.8979f6c8.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[52483],{56145:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>c,default:()=>h,frontMatter:()=>r,metadata:()=>i,toc:()=>l});var o=n(85893),s=n(11151);const r={id:"browser-sync",title:"Browser Sync",sidebar_label:"Browser Sync"},c=void 0,i={id:"legacy/v5/basics/browser-sync",title:"Browser Sync",description:"docs-source",source:"@site/docs/legacy/v5/basics/browser-sync.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/browser-sync",permalink:"/docs/legacy/v5/basics/browser-sync",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"browser-sync",title:"Browser Sync",sidebar_label:"Browser Sync"},sidebar:"docs",previous:{title:"Fonts",permalink:"/docs/legacy/v5/basics/fonts"},next:{title:"Dynamic Import",permalink:"/docs/legacy/v5/basics/dynamic-import"}},a={},l=[{value:"Using SSL for local development",id:"using-ssl-for-local-development",level:2}];function d(e){const t={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",...(0,s.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0",children:(0,o.jsx)(t.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.a,{href:"https://browsersync.io/docs",children:"Browsersync"})," is a Node module that enables you to develop sites faster. It will react to any code change and 'refresh' the site without you needing to refresh it. In the background, it runs a small local server. When configured, it will inject a script on your web page to react to any code change."]}),"\n",(0,o.jsx)(t.p,{children:"Besides that, you can test your site on various devices on the same network."}),"\n",(0,o.jsx)(t.p,{children:"If comes with the boilerplate by default. When you run:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-bash",children:"npm start\n"})}),"\n",(0,o.jsxs)(t.p,{children:["it will proxy the page you've specified in the ",(0,o.jsx)(t.code,{children:"projectUrl"})," to your local server."]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-bash",children:"[Browsersync] Proxying: https://local-url.test\n[Browsersync] Access URLs:\n--------------------------------------\nLocal: https://localhost:3000\nExternal: https://192.168.0.25:3000\n--------------------------------------\nUI: http://localhost:3001\nUI External: http://localhost:3001\n--------------------------------------\n"})}),"\n",(0,o.jsx)(t.p,{children:"Using the IP address, you can open it on any device (mobile phone or tablet) that is connected to the same network, and see how your site looks on that device."}),"\n",(0,o.jsx)(t.h2,{id:"using-ssl-for-local-development",children:"Using SSL for local development"}),"\n",(0,o.jsx)(t.p,{children:"By default BrowserSync does not work with https urls but if you use HTTPS in your local environment you can simply provide additional key to the Webpack config to make it work."}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-js",children:"module.exports = (env, argv) => {\n\tconst projectConfig = {\n\t\tconfig: {\n\t\t\tprojectDir: __dirname, // Current project directory absolute path.\n\t\t\tprojectUrl: 'local-url.test', // Used for providing browsersync functionality.\n\t\t\tprojectPath: 'wp-content/themes/your-theme-name', // Project path relative to project root.\n\t\t\tuseSsl: true,\n\t\t},\n\t};\n\n\t// Generate webpack config for this project using options object.\n\treturn require('./node_modules/@eightshift/frontend-libs/webpack')(argv.mode, projectConfig);\n};\n"})})]})}function h(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},11151:(e,t,n)=>{n.d(t,{Z:()=>i,a:()=>c});var o=n(67294);const s={},r=o.createContext(s);function c(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:c(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/679e6283.c7098294.js b/assets/js/679e6283.c7098294.js deleted file mode 100644 index 694d1eef0..000000000 --- a/assets/js/679e6283.c7098294.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[37739],{20485:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>o,contentTitle:()=>s,default:()=>b,frontMatter:()=>r,metadata:()=>l,toc:()=>c});var i=a(85893),n=a(11151);const r={id:"airtable",title:"Airtable"},s=void 0,l={id:"php/global-variables/integrations/airtable",title:"Airtable",description:"ESAPIKEY_AIRTABLE",source:"@site/forms/php/global-variables/integrations/airtable.md",sourceDirName:"php/global-variables/integrations",slug:"/php/global-variables/integrations/airtable",permalink:"/forms/php/global-variables/integrations/airtable",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"airtable",title:"Airtable"},sidebar:"forms",previous:{title:"Active Campaign",permalink:"/forms/php/global-variables/integrations/active-campaign"},next:{title:"Clearbit",permalink:"/forms/php/global-variables/integrations/clearbit"}},o={},c=[{value:"ES_API_KEY_AIRTABLE",id:"es_api_key_airtable",level:3}];function p(e){const t={code:"code",h3:"h3",p:"p",pre:"pre",...(0,n.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.h3,{id:"es_api_key_airtable",children:"ES_API_KEY_AIRTABLE"}),"\n",(0,i.jsx)(t.p,{children:"This variable will set the Airtable integration API key."}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-php",children:"define('ES_API_KEY_AIRTABLE', '<api-key>');\n"})})]})}function b(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}},11151:(e,t,a)=>{a.d(t,{Z:()=>l,a:()=>s});var i=a(67294);const n={},r=i.createContext(n);function s(e){const t=i.useContext(r);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(n):e.components||n:s(e.components),i.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/679e6283.e37c6695.js b/assets/js/679e6283.e37c6695.js new file mode 100644 index 000000000..0827850ac --- /dev/null +++ b/assets/js/679e6283.e37c6695.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[38227],{26472:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>o,contentTitle:()=>s,default:()=>b,frontMatter:()=>r,metadata:()=>l,toc:()=>c});var a=i(17624),n=i(4552);const r={id:"airtable",title:"Airtable"},s=void 0,l={id:"php/global-variables/integrations/airtable",title:"Airtable",description:"ESAPIKEY_AIRTABLE",source:"@site/forms/php/global-variables/integrations/airtable.md",sourceDirName:"php/global-variables/integrations",slug:"/php/global-variables/integrations/airtable",permalink:"/forms/php/global-variables/integrations/airtable",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"airtable",title:"Airtable"},sidebar:"forms",previous:{title:"Active Campaign",permalink:"/forms/php/global-variables/integrations/active-campaign"},next:{title:"Clearbit",permalink:"/forms/php/global-variables/integrations/clearbit"}},o={},c=[{value:"ES_API_KEY_AIRTABLE",id:"es_api_key_airtable",level:3}];function p(e){const t={code:"code",h3:"h3",p:"p",pre:"pre",...(0,n.M)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.h3,{id:"es_api_key_airtable",children:"ES_API_KEY_AIRTABLE"}),"\n",(0,a.jsx)(t.p,{children:"This variable will set the Airtable integration API key."}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-php",children:"define('ES_API_KEY_AIRTABLE', '<api-key>');\n"})})]})}function b(e={}){const{wrapper:t}={...(0,n.M)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(p,{...e})}):p(e)}},4552:(e,t,i)=>{i.d(t,{I:()=>l,M:()=>s});var a=i(11504);const n={},r=a.createContext(n);function s(e){const t=a.useContext(r);return a.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(n):e.components||n:s(e.components),a.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/67da9612.009ea077.js b/assets/js/67da9612.009ea077.js deleted file mode 100644 index 28cdba2a7..000000000 --- a/assets/js/67da9612.009ea077.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[20090],{83945: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/67da9612.752e2b4c.js b/assets/js/67da9612.752e2b4c.js new file mode 100644 index 000000000..22b00abd6 --- /dev/null +++ b/assets/js/67da9612.752e2b4c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[40374],{58624: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.4540ba6a.js b/assets/js/6875c492.4540ba6a.js deleted file mode 100644 index 3b7c627aa..000000000 --- a/assets/js/6875c492.4540ba6a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[48610,27918],{99703:(e,t,n)=>{n.d(t,{Z:()=>r});n(67294);var s=n(95999),a=n(32244),i=n(85893);function r(e){const{metadata:t}=e,{previousPage:n,nextPage:r}=t;return(0,i.jsxs)("nav",{className:"pagination-nav","aria-label":(0,s.I)({id:"theme.blog.paginator.navAriaLabel",message:"Blog list page navigation",description:"The ARIA label for the blog pagination"}),children:[n&&(0,i.jsx)(a.Z,{permalink:n,title:(0,i.jsx)(s.Z,{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.Z,{permalink:r,title:(0,i.jsx)(s.Z,{id:"theme.blog.paginator.olderEntries",description:"The label used to navigate to the older blog posts page (next page)",children:"Older Entries"}),isNext:!0})]})}},79985:(e,t,n)=>{n.d(t,{Z:()=>r});n(67294);var s=n(9460),a=n(30390),i=n(85893);function r(e){let{items:t,component:n=a.Z}=e;return(0,i.jsx)(i.Fragment,{children:t.map((e=>{let{content:t}=e;return(0,i.jsx)(s.n,{content:t,children:(0,i.jsx)(n,{children:(0,i.jsx)(t,{})})},t.metadata.permalink)}))})}},41714:(e,t,n)=>{n.r(t),n.d(t,{default:()=>f});n(67294);var s=n(36905),a=n(95999),i=n(88824),r=n(10833),l=n(35281),o=n(33692),c=n(61460),d=n(99703),g=n(90197),u=n(79985),h=n(22212),p=n(92503),m=n(85893);function x(e){const t=function(){const{selectMessage:e}=(0,i.c)();return t=>e(t,(0,a.I)({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.I)({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.d,{title:n}),(0,m.jsx)(g.Z,{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.Z,{sidebar:s,children:[t.unlisted&&(0,m.jsx)(h.Z,{}),(0,m.jsxs)("header",{className:"margin-bottom--xl",children:[(0,m.jsx)(p.Z,{as:"h1",children:r}),(0,m.jsx)(o.Z,{href:t.allTagsPath,children:(0,m.jsx)(a.Z,{id:"theme.tags.tagsPageLink",description:"The label of the link targeting the tag list page",children:"View All Tags"})})]}),(0,m.jsx)(u.Z,{items:n}),(0,m.jsx)(d.Z,{metadata:i})]})}function f(e){return(0,m.jsxs)(r.FG,{className:(0,s.Z)(l.k.wrapper.blogPages,l.k.page.blogTagPostListPage),children:[(0,m.jsx)(j,{...e}),(0,m.jsx)(b,{...e})]})}},22212:(e,t,n)=>{n.d(t,{Z:()=>h});n(67294);var s=n(36905),a=n(95999),i=n(35742),r=n(85893);function l(){return(0,r.jsx)(a.Z,{id:"theme.unlistedContent.title",description:"The unlisted content banner title",children:"Unlisted page"})}function o(){return(0,r.jsx)(a.Z,{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.Z,{children:(0,r.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}var d=n(35281),g=n(25943);function u(e){let{className:t}=e;return(0,r.jsx)(g.Z,{type:"caution",title:(0,r.jsx)(l,{}),className:(0,s.Z)(t,d.k.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})]})}},25943:(e,t,n)=>{n.d(t,{Z:()=>i});n(67294);var s=n(38970),a=n(85893);function i(e){return(0,a.jsx)(s.SV,{...e})}}}]); \ No newline at end of file diff --git a/assets/js/6875c492.4b34abcd.js b/assets/js/6875c492.4b34abcd.js new file mode 100644 index 000000000..1af8aee65 --- /dev/null +++ b/assets/js/6875c492.4b34abcd.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[32392,26752],{22687:(e,t,n)=>{n.d(t,{c:()=>r});n(11504);var s=n(84357),a=n(70308),i=n(17624);function r(e){const{metadata:t}=e,{previousPage:n,nextPage:r}=t;return(0,i.jsxs)("nav",{className:"pagination-nav","aria-label":(0,s.G)({id:"theme.blog.paginator.navAriaLabel",message:"Blog list page navigation",description:"The ARIA label for the blog pagination"}),children:[n&&(0,i.jsx)(a.c,{permalink:n,title:(0,i.jsx)(s.c,{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.c,{permalink:r,title:(0,i.jsx)(s.c,{id:"theme.blog.paginator.olderEntries",description:"The label used to navigate to the older blog posts page (next page)",children:"Older Entries"}),isNext:!0})]})}},60992:(e,t,n)=>{n.d(t,{c:()=>r});n(11504);var s=n(83152),a=n(57792),i=n(17624);function r(e){let{items:t,component:n=a.c}=e;return(0,i.jsx)(i.Fragment,{children:t.map((e=>{let{content:t}=e;return(0,i.jsx)(s.E,{content:t,children:(0,i.jsx)(n,{children:(0,i.jsx)(t,{})})},t.metadata.permalink)}))})}},62948:(e,t,n)=>{n.r(t),n.d(t,{default:()=>f});n(11504);var s=n(65456),a=n(84357),i=n(95944),r=n(85008),l=n(45864),c=n(10867),o=n(9452),g=n(22687),d=n(48712),u=n(60992),h=n(61528),p=n(56448),m=n(17624);function x(e){const t=function(){const{selectMessage:e}=(0,i.A)();return t=>e(t,(0,a.G)({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.G)({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.U7,{title:n}),(0,m.jsx)(d.c,{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)(o.c,{sidebar:s,children:[t.unlisted&&(0,m.jsx)(h.c,{}),(0,m.jsxs)("header",{className:"margin-bottom--xl",children:[(0,m.jsx)(p.c,{as:"h1",children:r}),(0,m.jsx)(c.c,{href:t.allTagsPath,children:(0,m.jsx)(a.c,{id:"theme.tags.tagsPageLink",description:"The label of the link targeting the tag list page",children:"View All Tags"})})]}),(0,m.jsx)(u.c,{items:n}),(0,m.jsx)(g.c,{metadata:i})]})}function f(e){return(0,m.jsxs)(r.cr,{className:(0,s.c)(l.W.wrapper.blogPages,l.W.page.blogTagPostListPage),children:[(0,m.jsx)(j,{...e}),(0,m.jsx)(b,{...e})]})}},61528:(e,t,n)=>{n.d(t,{c:()=>h});n(11504);var s=n(65456),a=n(84357),i=n(56952),r=n(17624);function l(){return(0,r.jsx)(a.c,{id:"theme.unlistedContent.title",description:"The unlisted content banner title",children:"Unlisted page"})}function c(){return(0,r.jsx)(a.c,{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 o(){return(0,r.jsx)(i.c,{children:(0,r.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}var g=n(45864),d=n(28952);function u(e){let{className:t}=e;return(0,r.jsx)(d.c,{type:"caution",title:(0,r.jsx)(l,{}),className:(0,s.c)(t,g.W.common.unlistedBanner),children:(0,r.jsx)(c,{})})}function h(e){return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(o,{}),(0,r.jsx)(u,{...e})]})}},28952:(e,t,n)=>{n.d(t,{c:()=>i});n(11504);var s=n(50236),a=n(17624);function i(e){return(0,a.jsx)(s.Ok,{...e})}}}]); \ No newline at end of file diff --git a/assets/js/688ea354.bfcc2a47.js b/assets/js/688ea354.bfcc2a47.js new file mode 100644 index 000000000..c4338a3b4 --- /dev/null +++ b/assets/js/688ea354.bfcc2a47.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[68472],{99636:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>a,contentTitle:()=>i,default:()=>d,frontMatter:()=>l,metadata:()=>r,toc:()=>c});var t=n(17624),o=n(4552);const l={id:"global-settings",title:"Global Settings"},i=void 0,r={id:"legacy/v6/basics/global-settings",title:"Global Settings",description:"docs-source",source:"@site/docs/legacy/v6/basics/global-settings.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/global-settings",permalink:"/docs/legacy/v6/basics/global-settings",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"global-settings",title:"Global Settings"},sidebar:"docs",previous:{title:"SCSS Library",permalink:"/docs/legacy/v6/basics/library"},next:{title:"Writing Styles",permalink:"/docs/legacy/v6/basics/writing-styles"}},a={},c=[{value:"Why do we use this?",id:"why-do-we-use-this",level:2},{value:"How does this work?",id:"how-does-this-work",level:2},{value:"Scenario 1:",id:"scenario-1",level:3},{value:"Scenario 2:",id:"scenario-2",level:3},{value:"Scenario 3:",id:"scenario-3",level:3}];function h(e){const s={a:"a",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",strong:"strong",...(0,o.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0",children:(0,t.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:["This chapter is only relevant in setups that don't use CSS variables. If you are using CSS variables please skip to the ",(0,t.jsx)(s.a,{href:"blocks-styles",children:"Blocks Styles chapter"})," chapter."]}),"\n"]}),"\n",(0,t.jsx)(s.p,{children:"Ok, this is the part that we are incredibly proud of. Did you know that you can pass values from the JSON manifest or some other file directly to SCSS? Yes, we had the same facial expression when we found out. For this to work, we used Webpack and its excellent features."}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsx)(s.p,{children:"This feature comes only with the block setup."}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["If you used our ",(0,t.jsx)(s.code,{children:"wp boilerplate setup_theme"})," command, you are all set. If not, please visit the ",(0,t.jsx)(s.a,{href:"blocks",children:"blocks chapter"})," for more details."]}),"\n",(0,t.jsx)(s.h2,{id:"why-do-we-use-this",children:"Why do we use this?"}),"\n",(0,t.jsx)(s.p,{children:"Because, with dynamic blocks, you must create your blocks. We got tired of copy/pasting styles from JavaScript/PHP/SCSS files. That is why we created this feature to define some global styles in one spot and use them in all three places."}),"\n",(0,t.jsx)(s.h2,{id:"how-does-this-work",children:"How does this work?"}),"\n",(0,t.jsxs)(s.p,{children:["You have the file ",(0,t.jsx)(s.code,{children:"src/Blocks/manifest.json"})," that has a key called ",(0,t.jsx)(s.code,{children:"globalVariables"}),". We use this key and build the SCSS maps that you can use in your style files."]}),"\n",(0,t.jsx)(s.p,{children:"Mind-blowing, right?"}),"\n",(0,t.jsxs)(s.p,{children:["To use it, write your style in the ",(0,t.jsx)(s.code,{children:"manifest.json"})," under the ",(0,t.jsx)(s.code,{children:"globalVariables"})," key, and you can use that variable in your style files like this:"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"$base-col-number: global-settings(maxCols);\n"})}),"\n",(0,t.jsxs)(s.p,{children:["Keep in mind that the ",(0,t.jsx)(s.code,{children:"global-settings"})," is a function that checks the ",(0,t.jsx)(s.code,{children:"globalVariables"})," map and returns the value depending on the key provided."]}),"\n",(0,t.jsxs)(s.p,{children:["For example, if you have something like this in your ",(0,t.jsx)(s.code,{children:"manifest.json"}),":"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-json",children:'{\n "globalVariables": {\n "maxCols": 12,\n "gutters": {\n "none": "0",\n "default": "25px",\n "big": "50px"\n },\n "colors": [\n {\n "name": "Primary",\n "slug": "primary",\n "color": "#3E3E3E"\n },\n {\n "name": "Black",\n "slug": "black",\n "color": "#000000"\n },\n ]\n }\n}\n'})}),"\n",(0,t.jsx)(s.h3,{id:"scenario-1",children:"Scenario 1:"}),"\n",(0,t.jsx)(s.p,{children:"You type this in you SCSS files:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"$base-col-number: global-settings(maxCols);\n"})}),"\n",(0,t.jsxs)(s.p,{children:["the output will be: ",(0,t.jsx)(s.strong,{children:"12"})]}),"\n",(0,t.jsx)(s.h3,{id:"scenario-2",children:"Scenario 2:"}),"\n",(0,t.jsx)(s.p,{children:"You type this in you SCSS files:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"$gutters: global-settings(gutters);\n"})}),"\n",(0,t.jsxs)(s.p,{children:["the output will be a map that you need to loop or fetch individual files using ",(0,t.jsx)(s.code,{children:"get-map-strict"})," or ",(0,t.jsx)(s.code,{children:"get-map-deep"})," function:"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:'$gutters: (\n "none": "0",\n "default": "25px",\n "big": "50px"\n);\n'})}),"\n",(0,t.jsx)(s.p,{children:"so you can call it like this:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"width: get-map-strict($gutters, default);\n"})}),"\n",(0,t.jsx)(s.h3,{id:"scenario-3",children:"Scenario 3:"}),"\n",(0,t.jsx)(s.p,{children:'"I want to output colors, but they don\'t follow the structure you mentioned before. Why is that?"'}),"\n",(0,t.jsx)(s.p,{children:"Yes, colors are different because we use this manifest to output the colors to the block editors' color palette. Only the colors are like this."}),"\n",(0,t.jsx)(s.p,{children:"Type this into your SCSS files:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"$primary-color: global-settings(colors, primary),\n$black-color: global-settings(colors, black),\n"})}),"\n",(0,t.jsx)(s.p,{children:"The output will be:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"$primary-color: #3E3E3E;\n$black-color: #000000;\n"})}),"\n",(0,t.jsx)(s.p,{children:"so you use it the normal SCSS way:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"color: $primary-color;\nbackground-color: $black-color;\n"})}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:["If you add/remove/change any value in the ",(0,t.jsx)(s.code,{children:"manifest.json"})," file, please restart your Webpack watch because it won't recognize that change."]}),"\n"]})]})}function d(e={}){const{wrapper:s}={...(0,o.M)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(h,{...e})}):h(e)}},4552:(e,s,n)=>{n.d(s,{I:()=>r,M:()=>i});var t=n(11504);const o={},l=t.createContext(o);function i(e){const s=t.useContext(l);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),t.createElement(l.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/688ea354.d3d262f3.js b/assets/js/688ea354.d3d262f3.js deleted file mode 100644 index c94db78e4..000000000 --- a/assets/js/688ea354.d3d262f3.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[47697],{36877:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>r,contentTitle:()=>i,default:()=>d,frontMatter:()=>l,metadata:()=>a,toc:()=>c});var t=n(85893),o=n(11151);const l={id:"global-settings",title:"Global Settings"},i=void 0,a={id:"legacy/v6/basics/global-settings",title:"Global Settings",description:"docs-source",source:"@site/docs/legacy/v6/basics/global-settings.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/global-settings",permalink:"/docs/legacy/v6/basics/global-settings",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"global-settings",title:"Global Settings"},sidebar:"docs",previous:{title:"SCSS Library",permalink:"/docs/legacy/v6/basics/library"},next:{title:"Writing Styles",permalink:"/docs/legacy/v6/basics/writing-styles"}},r={},c=[{value:"Why do we use this?",id:"why-do-we-use-this",level:2},{value:"How does this work?",id:"how-does-this-work",level:2},{value:"Scenario 1:",id:"scenario-1",level:3},{value:"Scenario 2:",id:"scenario-2",level:3},{value:"Scenario 3:",id:"scenario-3",level:3}];function h(e){const s={a:"a",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",strong:"strong",...(0,o.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0",children:(0,t.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:["This chapter is only relevant in setups that don't use CSS variables. If you are using CSS variables please skip to the ",(0,t.jsx)(s.a,{href:"blocks-styles",children:"Blocks Styles chapter"})," chapter."]}),"\n"]}),"\n",(0,t.jsx)(s.p,{children:"Ok, this is the part that we are incredibly proud of. Did you know that you can pass values from the JSON manifest or some other file directly to SCSS? Yes, we had the same facial expression when we found out. For this to work, we used Webpack and its excellent features."}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsx)(s.p,{children:"This feature comes only with the block setup."}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["If you used our ",(0,t.jsx)(s.code,{children:"wp boilerplate setup_theme"})," command, you are all set. If not, please visit the ",(0,t.jsx)(s.a,{href:"blocks",children:"blocks chapter"})," for more details."]}),"\n",(0,t.jsx)(s.h2,{id:"why-do-we-use-this",children:"Why do we use this?"}),"\n",(0,t.jsx)(s.p,{children:"Because, with dynamic blocks, you must create your blocks. We got tired of copy/pasting styles from JavaScript/PHP/SCSS files. That is why we created this feature to define some global styles in one spot and use them in all three places."}),"\n",(0,t.jsx)(s.h2,{id:"how-does-this-work",children:"How does this work?"}),"\n",(0,t.jsxs)(s.p,{children:["You have the file ",(0,t.jsx)(s.code,{children:"src/Blocks/manifest.json"})," that has a key called ",(0,t.jsx)(s.code,{children:"globalVariables"}),". We use this key and build the SCSS maps that you can use in your style files."]}),"\n",(0,t.jsx)(s.p,{children:"Mind-blowing, right?"}),"\n",(0,t.jsxs)(s.p,{children:["To use it, write your style in the ",(0,t.jsx)(s.code,{children:"manifest.json"})," under the ",(0,t.jsx)(s.code,{children:"globalVariables"})," key, and you can use that variable in your style files like this:"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"$base-col-number: global-settings(maxCols);\n"})}),"\n",(0,t.jsxs)(s.p,{children:["Keep in mind that the ",(0,t.jsx)(s.code,{children:"global-settings"})," is a function that checks the ",(0,t.jsx)(s.code,{children:"globalVariables"})," map and returns the value depending on the key provided."]}),"\n",(0,t.jsxs)(s.p,{children:["For example, if you have something like this in your ",(0,t.jsx)(s.code,{children:"manifest.json"}),":"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-json",children:'{\n "globalVariables": {\n "maxCols": 12,\n "gutters": {\n "none": "0",\n "default": "25px",\n "big": "50px"\n },\n "colors": [\n {\n "name": "Primary",\n "slug": "primary",\n "color": "#3E3E3E"\n },\n {\n "name": "Black",\n "slug": "black",\n "color": "#000000"\n },\n ]\n }\n}\n'})}),"\n",(0,t.jsx)(s.h3,{id:"scenario-1",children:"Scenario 1:"}),"\n",(0,t.jsx)(s.p,{children:"You type this in you SCSS files:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"$base-col-number: global-settings(maxCols);\n"})}),"\n",(0,t.jsxs)(s.p,{children:["the output will be: ",(0,t.jsx)(s.strong,{children:"12"})]}),"\n",(0,t.jsx)(s.h3,{id:"scenario-2",children:"Scenario 2:"}),"\n",(0,t.jsx)(s.p,{children:"You type this in you SCSS files:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"$gutters: global-settings(gutters);\n"})}),"\n",(0,t.jsxs)(s.p,{children:["the output will be a map that you need to loop or fetch individual files using ",(0,t.jsx)(s.code,{children:"get-map-strict"})," or ",(0,t.jsx)(s.code,{children:"get-map-deep"})," function:"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:'$gutters: (\n "none": "0",\n "default": "25px",\n "big": "50px"\n);\n'})}),"\n",(0,t.jsx)(s.p,{children:"so you can call it like this:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"width: get-map-strict($gutters, default);\n"})}),"\n",(0,t.jsx)(s.h3,{id:"scenario-3",children:"Scenario 3:"}),"\n",(0,t.jsx)(s.p,{children:'"I want to output colors, but they don\'t follow the structure you mentioned before. Why is that?"'}),"\n",(0,t.jsx)(s.p,{children:"Yes, colors are different because we use this manifest to output the colors to the block editors' color palette. Only the colors are like this."}),"\n",(0,t.jsx)(s.p,{children:"Type this into your SCSS files:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"$primary-color: global-settings(colors, primary),\n$black-color: global-settings(colors, black),\n"})}),"\n",(0,t.jsx)(s.p,{children:"The output will be:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"$primary-color: #3E3E3E;\n$black-color: #000000;\n"})}),"\n",(0,t.jsx)(s.p,{children:"so you use it the normal SCSS way:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"color: $primary-color;\nbackground-color: $black-color;\n"})}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:["If you add/remove/change any value in the ",(0,t.jsx)(s.code,{children:"manifest.json"})," file, please restart your Webpack watch because it won't recognize that change."]}),"\n"]})]})}function d(e={}){const{wrapper:s}={...(0,o.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(h,{...e})}):h(e)}},11151:(e,s,n)=>{n.d(s,{Z:()=>a,a:()=>i});var t=n(67294);const o={},l=t.createContext(o);function i(e){const s=t.useContext(l);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),t.createElement(l.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/68c90bbc.2d1fdbf6.js b/assets/js/68c90bbc.2d1fdbf6.js deleted file mode 100644 index e44eb770f..000000000 --- a/assets/js/68c90bbc.2d1fdbf6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[89217],{44735:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>o,default:()=>p,frontMatter:()=>s,metadata:()=>l,toc:()=>m});var r=n(85893),i=n(11151),a=n(8122);const s={id:"mailchimp",title:"Mailchimp"},o=void 0,l={id:"php/filters/integrations/mailchimp",title:"Mailchimp",description:"",source:"@site/forms/php/filters/integrations/mailchimp.mdx",sourceDirName:"php/filters/integrations",slug:"/php/filters/integrations/mailchimp",permalink:"/forms/php/filters/integrations/mailchimp",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"mailchimp",title:"Mailchimp"},sidebar:"forms",previous:{title:"Jira",permalink:"/forms/php/filters/integrations/jira"},next:{title:"Mailer",permalink:"/forms/php/filters/integrations/mailer"}},d={},m=[];function f(t){return(0,r.jsx)(a.k,{name:"Mailchimp",filter:"mailchimp"})}function p(t={}){const{wrapper:e}={...(0,i.a)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(f,{...t})}):f()}},8122:(t,e,n)=>{n.d(e,{F:()=>o,k:()=>s});n(67294);var r=n(9286),i=n(61684),a=n(85893);function s(t){let{filter:e,onlyUse:n=["dataFilter","orderFilter","prePostIdFilter","prePostParamsFilter"]}=t;return(0,a.jsxs)(a.Fragment,{children:[n.includes("dataFilter")&&(0,a.jsx)(l,{filter:e}),n.includes("orderFilter")&&(0,a.jsx)(d,{filter:e}),n.includes("prePostIdFilter")&&(0,a.jsx)(m,{filter:e}),n.includes("prePostParamsFilter")&&(0,a.jsx)(f,{filter:e})]})}function o(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{children:"Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc."}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\tadd_filter('es_forms_block_"+e+"_additional_content', function(): string {\n\t\t\t\treturn '<custom-string>';\n\t\t\t})\n\t\t\t")})]})}function l(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Data filter"}),(0,a.jsx)("p",{children:"Allows modifying form field data before it's shown in the Block Editor or output on the frontend."}),(0,a.jsx)("p",{children:"Useful if, for example, you want to ensure that all fields fit into a 2-column layout."}),(0,a.jsx)("p",{children:"Overrides any Block Editor changes!"}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\tadd_filter('es_forms_integrations_"+e+'_data\', \'getIntegrationFilterData\', 10, 2);\n\n\t\t\t/**\n\t\t\t * Manipulate form fields data before it is sent to the Block Editor.\n\t\t\t *\n\t\t\t * @param array<mixed> $data Form fields data.\n\t\t\t * @param string $formId Form ID.\n\t\t\t *\n\t\t\t * @return array<mixed>\n\t\t\t */\n\t\t\tfunction getIntegrationFilterData(array $data, string $formId): array\n\t\t\t{\n\t\t\t\tforeach ($data as $index => $field) {\n\t\t\t\t\t$component = $field[\'component\'] ?? \'\';\n\n\t\t\t\t\tif (!$component) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t$name = $field["{$component}Name"] ?? \'\';\n\n\t\t\t\t\tif (!$name) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch ($name) {\n\t\t\t\t\t\tcase \'firstname\':\n\t\t\t\t\t\tcase \'lastname\':\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthMobile"] = 12;\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthLarge"] = 6;\n\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"] = array_merge(\n\t\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthMobile",\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthLarge",\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t')})]})}function d(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Order filter"}),(0,a.jsx)("p",{children:"Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor."}),(0,a.jsxs)("p",{children:["Not all fields need to have an order defined. For example, you may want to make sure ",(0,a.jsx)("code",{children:"firstname"}),", ",(0,a.jsx)("code",{children:"lastname"})," and ",(0,a.jsx)("code",{children:"email"})," are displayed first, but other fields follow their Block editor order."]}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_order', 'getIntegrationOrder');\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Forces form field order for the provided fields. For other fields, Block editor order is used.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationOrder(): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t'firstname',\n\t\t\t\t\t\t\t'lastname',\n\t\t\t\t\t\t\t'email',\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t")})]})}function m(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post ID filter"}),(0,a.jsx)("p",{children:"Allows updating item IDs sent to external integrations to which the form data is sent."}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_pre_post_id', 'getIntegrationPrePostId', 10, 3);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies integration item ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @param string $itemId Integration item ID.\n\t\t\t\t\t * @param array<mixed> $params Params to be sent to the integration.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @return array<mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostId(string $itemId, array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn $itemId;\n\t\t\t\t\t}\n\t\t\t\t")})]})}function f(t){let{filter:e}=t,n="";if("mailer"===e)n="mailer system";else n="external integration";return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post parameters filter"}),(0,a.jsxs)("p",{children:["Allows modifying form field data before it's sent to ",n,". Useful if you want to make values derived from the sent data, or add new fields."]}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_pre_post_params', 'getIntegrationPrePostParams', 10, 2);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies form field data before it's sent to "+n+".\n\t\t\t\t\t *\n\t\t\t\t\t * @param array<string, mixed> $params Array of params.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string, mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostParams(array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\t$formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? '';\n\n\t\t\t\t\t\tif ($formSubmissionPageLt) {\n\t\t\t\t\t\t\t$params['ib-submission-source'] = [\n\t\t\t\t\t\t\t\t'name' => 'ib-submission-source',\n\t\t\t\t\t\t\t\t'value' => $formSubmissionPageLt,\n\t\t\t\t\t\t\t\t'type' => 'text',\n\t\t\t\t\t\t\t\t'internalType' => '',\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn $params;\n\t\t\t\t\t}\n\t\t\t\t")})]})}},61684:(t,e,n)=>{function r(t){const e=t.split(/\n/g);for(;0===(null==(n=e[0])?void 0:n.replace(/\s/g,"").length);){var n;e.shift()}for(;0===(null==(r=e[e.length-1])?void 0:r.replace(/\s/g,"").length);){var r;e.pop()}const i=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>{var e,n;return null!=(e=null==(n=t.match(/^\s*/))||null==(n=n[0])?void 0:n.length)?e:0})),a=Math.min(...i);return e.map((t=>t.slice(a))).join("\n")}n.d(e,{p:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/68c90bbc.389c8e93.js b/assets/js/68c90bbc.389c8e93.js new file mode 100644 index 000000000..cebd1fdff --- /dev/null +++ b/assets/js/68c90bbc.389c8e93.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[26692],{62648:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>o,default:()=>c,frontMatter:()=>s,metadata:()=>l,toc:()=>m});var r=n(17624),i=n(4552),a=n(80148);const s={id:"mailchimp",title:"Mailchimp"},o=void 0,l={id:"php/filters/integrations/mailchimp",title:"Mailchimp",description:"",source:"@site/forms/php/filters/integrations/mailchimp.mdx",sourceDirName:"php/filters/integrations",slug:"/php/filters/integrations/mailchimp",permalink:"/forms/php/filters/integrations/mailchimp",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"mailchimp",title:"Mailchimp"},sidebar:"forms",previous:{title:"Jira",permalink:"/forms/php/filters/integrations/jira"},next:{title:"Mailer",permalink:"/forms/php/filters/integrations/mailer"}},d={},m=[];function f(t){return(0,r.jsx)(a.y,{name:"Mailchimp",filter:"mailchimp"})}function c(t={}){const{wrapper:e}={...(0,i.M)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(f,{...t})}):f()}},80148:(t,e,n)=>{n.d(e,{g:()=>o,y:()=>s});n(11504);var r=n(1608),i=n(96616),a=n(17624);function s(t){let{filter:e,onlyUse:n=["dataFilter","orderFilter","prePostIdFilter","prePostParamsFilter"]}=t;return(0,a.jsxs)(a.Fragment,{children:[n.includes("dataFilter")&&(0,a.jsx)(l,{filter:e}),n.includes("orderFilter")&&(0,a.jsx)(d,{filter:e}),n.includes("prePostIdFilter")&&(0,a.jsx)(m,{filter:e}),n.includes("prePostParamsFilter")&&(0,a.jsx)(f,{filter:e})]})}function o(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{children:"Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc."}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\tadd_filter('es_forms_block_${e}_additional_content', function(): string {\n\t\t\t\treturn '<custom-string>';\n\t\t\t})\n\t\t\t`)})]})}function l(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Data filter"}),(0,a.jsx)("p",{children:"Allows modifying form field data before it's shown in the Block Editor or output on the frontend."}),(0,a.jsx)("p",{children:"Useful if, for example, you want to ensure that all fields fit into a 2-column layout."}),(0,a.jsx)("p",{children:"Overrides any Block Editor changes!"}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\tadd_filter('es_forms_integrations_${e}_data', 'getIntegrationFilterData', 10, 2);\n\n\t\t\t/**\n\t\t\t * Manipulate form fields data before it is sent to the Block Editor.\n\t\t\t *\n\t\t\t * @param array<mixed> $data Form fields data.\n\t\t\t * @param string $formId Form ID.\n\t\t\t *\n\t\t\t * @return array<mixed>\n\t\t\t */\n\t\t\tfunction getIntegrationFilterData(array $data, string $formId): array\n\t\t\t{\n\t\t\t\tforeach ($data as $index => $field) {\n\t\t\t\t\t$component = $field['component'] ?? '';\n\n\t\t\t\t\tif (!$component) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t$name = $field["{$component}Name"] ?? '';\n\n\t\t\t\t\tif (!$name) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch ($name) {\n\t\t\t\t\t\tcase 'firstname':\n\t\t\t\t\t\tcase 'lastname':\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthMobile"] = 12;\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthLarge"] = 6;\n\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"] = array_merge(\n\t\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthMobile",\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthLarge",\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t`)})]})}function d(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Order filter"}),(0,a.jsx)("p",{children:"Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor."}),(0,a.jsxs)("p",{children:["Not all fields need to have an order defined. For example, you may want to make sure ",(0,a.jsx)("code",{children:"firstname"}),", ",(0,a.jsx)("code",{children:"lastname"})," and ",(0,a.jsx)("code",{children:"email"})," are displayed first, but other fields follow their Block editor order."]}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_order', 'getIntegrationOrder');\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Forces form field order for the provided fields. For other fields, Block editor order is used.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationOrder(): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t'firstname',\n\t\t\t\t\t\t\t'lastname',\n\t\t\t\t\t\t\t'email',\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t`)})]})}function m(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post ID filter"}),(0,a.jsx)("p",{children:"Allows updating item IDs sent to external integrations to which the form data is sent."}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_pre_post_id', 'getIntegrationPrePostId', 10, 3);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies integration item ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @param string $itemId Integration item ID.\n\t\t\t\t\t * @param array<mixed> $params Params to be sent to the integration.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @return array<mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostId(string $itemId, array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn $itemId;\n\t\t\t\t\t}\n\t\t\t\t`)})]})}function f(t){let{filter:e}=t,n="";if("mailer"===e)n="mailer system";else n="external integration";return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post parameters filter"}),(0,a.jsxs)("p",{children:["Allows modifying form field data before it's sent to ",n,". Useful if you want to make values derived from the sent data, or add new fields."]}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_pre_post_params', 'getIntegrationPrePostParams', 10, 2);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies form field data before it's sent to ${n}.\n\t\t\t\t\t *\n\t\t\t\t\t * @param array<string, mixed> $params Array of params.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string, mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostParams(array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\t$formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? '';\n\n\t\t\t\t\t\tif ($formSubmissionPageLt) {\n\t\t\t\t\t\t\t$params['ib-submission-source'] = [\n\t\t\t\t\t\t\t\t'name' => 'ib-submission-source',\n\t\t\t\t\t\t\t\t'value' => $formSubmissionPageLt,\n\t\t\t\t\t\t\t\t'type' => 'text',\n\t\t\t\t\t\t\t\t'internalType' => '',\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn $params;\n\t\t\t\t\t}\n\t\t\t\t`)})]})}},96616:(t,e,n)=>{function r(t){const e=t.split(/\n/g);for(;0===e[0]?.replace(/\s/g,"").length;)e.shift();for(;0===e[e.length-1]?.replace(/\s/g,"").length;)e.pop();const n=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>t.match(/^\s*/)?.[0]?.length??0)),r=Math.min(...n);return e.map((t=>t.slice(r))).join("\n")}n.d(e,{c:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/6a5d09b2.a94df5fc.js b/assets/js/6a5d09b2.a94df5fc.js deleted file mode 100644 index f6ba377d8..000000000 --- a/assets/js/6a5d09b2.a94df5fc.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[14996],{88608:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>c,default:()=>h,frontMatter:()=>s,metadata:()=>r,toc:()=>l});var o=n(85893),i=n(11151);const s={id:"blocks-important",title:"Important"},c=void 0,r={id:"legacy/v6/basics/blocks-important",title:"Important",description:"docs-source",source:"@site/docs/legacy/v6/basics/blocks-important.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/blocks-important",permalink:"/docs/legacy/v6/basics/blocks-important",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-important",title:"Important"},sidebar:"docs",previous:{title:"Blocks",permalink:"/docs/legacy/v6/basics/blocks"},next:{title:"Faq",permalink:"/docs/legacy/v6/basics/blocks-faq"}},a={},l=[];function d(e){const t={a:"a",blockquote:"blockquote",code:"code",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/",children:(0,o.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(t.p,{children:"Before you start developing and changing anything on your block/components, you should keep in mind how we have managed to create this setup and some of the side effects of automatic file loading."}),"\n",(0,o.jsxs)(t.p,{children:["We require all our JS files using the ",(0,o.jsx)(t.code,{children:"require.context"})," and all our SCSS files using the ",(0,o.jsx)(t.code,{children:"webpack-import-glob-loader"}),"."]}),"\n",(0,o.jsxs)(t.p,{children:["All files are required during the project's ",(0,o.jsx)(t.code,{children:"compile-time"}),". This means that we can't get any new files after the compile time is over. This approach gives you the ability to not worry whether you loaded the file or not. You can focus on your code and leave the messy stuff to the boilerplate."]}),"\n",(0,o.jsxs)(t.p,{children:["Since all the files are required during the ",(0,o.jsx)(t.code,{children:"compile-time"}),", every time you change the file structure, you must restart the Webpack watch."]}),"\n",(0,o.jsxs)(t.p,{children:["You ",(0,o.jsx)(t.strong,{children:"must restart"})," Webpack watch when:"]}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"adding a new block/component/variation;"}),"\n",(0,o.jsx)(t.li,{children:"changing the names of any files in the block/component/variation folder (for example, you made a typo in a block's name);"}),"\n",(0,o.jsx)(t.li,{children:"removing any file from the block/component/variation folder; and"}),"\n",(0,o.jsx)(t.li,{children:"changing the block name in the block manifest.json."}),"\n"]}),"\n",(0,o.jsxs)(t.p,{children:["You ",(0,o.jsx)(t.strong,{children:"don't need to restart"})," Webpack watch when you:"]}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"add/remove styles;"}),"\n",(0,o.jsx)(t.li,{children:"add/remove JS implementation in the files;"}),"\n",(0,o.jsx)(t.li,{children:"add/remove PHP implementation in the files; and"}),"\n",(0,o.jsx)(t.li,{children:"make changes on anything other than blockName in the manifest.json."}),"\n"]}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsx)(t.p,{children:"Remember this note because, in 90 per cent of cases, your error occurs when you made changes to the files and didn't restart the Webpack watch."}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},11151:(e,t,n)=>{n.d(t,{Z:()=>r,a:()=>c});var o=n(67294);const i={},s=o.createContext(i);function c(e){const t=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:c(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6a5d09b2.f3790de3.js b/assets/js/6a5d09b2.f3790de3.js new file mode 100644 index 000000000..61833bf6a --- /dev/null +++ b/assets/js/6a5d09b2.f3790de3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[79170],{27800:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>c,default:()=>h,frontMatter:()=>s,metadata:()=>r,toc:()=>l});var o=n(17624),i=n(4552);const s={id:"blocks-important",title:"Important"},c=void 0,r={id:"legacy/v6/basics/blocks-important",title:"Important",description:"docs-source",source:"@site/docs/legacy/v6/basics/blocks-important.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/blocks-important",permalink:"/docs/legacy/v6/basics/blocks-important",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-important",title:"Important"},sidebar:"docs",previous:{title:"Blocks",permalink:"/docs/legacy/v6/basics/blocks"},next:{title:"Faq",permalink:"/docs/legacy/v6/basics/blocks-faq"}},a={},l=[];function d(e){const t={a:"a",blockquote:"blockquote",code:"code",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/",children:(0,o.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(t.p,{children:"Before you start developing and changing anything on your block/components, you should keep in mind how we have managed to create this setup and some of the side effects of automatic file loading."}),"\n",(0,o.jsxs)(t.p,{children:["We require all our JS files using the ",(0,o.jsx)(t.code,{children:"require.context"})," and all our SCSS files using the ",(0,o.jsx)(t.code,{children:"webpack-import-glob-loader"}),"."]}),"\n",(0,o.jsxs)(t.p,{children:["All files are required during the project's ",(0,o.jsx)(t.code,{children:"compile-time"}),". This means that we can't get any new files after the compile time is over. This approach gives you the ability to not worry whether you loaded the file or not. You can focus on your code and leave the messy stuff to the boilerplate."]}),"\n",(0,o.jsxs)(t.p,{children:["Since all the files are required during the ",(0,o.jsx)(t.code,{children:"compile-time"}),", every time you change the file structure, you must restart the Webpack watch."]}),"\n",(0,o.jsxs)(t.p,{children:["You ",(0,o.jsx)(t.strong,{children:"must restart"})," Webpack watch when:"]}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"adding a new block/component/variation;"}),"\n",(0,o.jsx)(t.li,{children:"changing the names of any files in the block/component/variation folder (for example, you made a typo in a block's name);"}),"\n",(0,o.jsx)(t.li,{children:"removing any file from the block/component/variation folder; and"}),"\n",(0,o.jsx)(t.li,{children:"changing the block name in the block manifest.json."}),"\n"]}),"\n",(0,o.jsxs)(t.p,{children:["You ",(0,o.jsx)(t.strong,{children:"don't need to restart"})," Webpack watch when you:"]}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"add/remove styles;"}),"\n",(0,o.jsx)(t.li,{children:"add/remove JS implementation in the files;"}),"\n",(0,o.jsx)(t.li,{children:"add/remove PHP implementation in the files; and"}),"\n",(0,o.jsx)(t.li,{children:"make changes on anything other than blockName in the manifest.json."}),"\n"]}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsx)(t.p,{children:"Remember this note because, in 90 per cent of cases, your error occurs when you made changes to the files and didn't restart the Webpack watch."}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,i.M)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},4552:(e,t,n)=>{n.d(t,{I:()=>r,M:()=>c});var o=n(11504);const i={},s=o.createContext(i);function c(e){const t=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:c(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6afb304f.e43a0034.js b/assets/js/6afb304f.e43a0034.js new file mode 100644 index 000000000..a8f973132 --- /dev/null +++ b/assets/js/6afb304f.e43a0034.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[94794],{54148:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>c,default:()=>a,frontMatter:()=>o,metadata:()=>i,toc:()=>p});var r=t(17624),s=t(4552);const o={id:"dependency-blocks-frontend",title:"Dependency blocks frontend"},c=void 0,i={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).",source:"@site/forms/php/filters/scripts/dependency-blocks-frontend.md",sourceDirName:"php/filters/scripts",slug:"/php/filters/scripts/dependency-blocks-frontend",permalink:"/forms/php/filters/scripts/dependency-blocks-frontend",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"dependency-blocks-frontend",title:"Dependency blocks frontend"},sidebar:"forms",previous:{title:"Dependency blocks editor",permalink:"/forms/php/filters/scripts/dependency-blocks-editor"},next:{title:"Routes public",permalink:"/forms/php/filters/scripts/routes-public"}},d={},p=[];function l(e){const n={code:"code",p:"p",pre:"pre",...(0,s.M)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.p,{children:"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)."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-php",children:"\\add_filter('es_forms_scripts_dependency_blocks_frontend', [$this, 'getScriptsDependency']);\n\n/**\n * Load add-on scripts before the Forms scripts.\n *\n * @return array<int, string>\n */\npublic function getScriptsDependency(): array\n{\n\treturn [\n\t\t'<script-handle-name>',\n\t];\n}\n"})})]})}function a(e={}){const{wrapper:n}={...(0,s.M)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},4552:(e,n,t)=>{t.d(n,{I:()=>i,M:()=>c});var r=t(11504);const s={},o=r.createContext(s);function c(e){const n=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),r.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6afb304f.fc213360.js b/assets/js/6afb304f.fc213360.js deleted file mode 100644 index d1b40b535..000000000 --- a/assets/js/6afb304f.fc213360.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[73638],{95932:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>c,default:()=>a,frontMatter:()=>o,metadata:()=>i,toc:()=>p});var r=t(85893),s=t(11151);const o={id:"dependency-blocks-frontend",title:"Dependency blocks frontend"},c=void 0,i={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).",source:"@site/forms/php/filters/scripts/dependency-blocks-frontend.md",sourceDirName:"php/filters/scripts",slug:"/php/filters/scripts/dependency-blocks-frontend",permalink:"/forms/php/filters/scripts/dependency-blocks-frontend",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"dependency-blocks-frontend",title:"Dependency blocks frontend"},sidebar:"forms",previous:{title:"Dependency blocks editor",permalink:"/forms/php/filters/scripts/dependency-blocks-editor"},next:{title:"Routes public",permalink:"/forms/php/filters/scripts/routes-public"}},d={},p=[];function l(e){const n={code:"code",p:"p",pre:"pre",...(0,s.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.p,{children:"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)."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-php",children:"\\add_filter('es_forms_scripts_dependency_blocks_frontend', [$this, 'getScriptsDependency']);\n\n/**\n * Load add-on scripts before the Forms scripts.\n *\n * @return array<int, string>\n */\npublic function getScriptsDependency(): array\n{\n\treturn [\n\t\t'<script-handle-name>',\n\t];\n}\n"})})]})}function a(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},11151:(e,n,t)=>{t.d(n,{Z:()=>i,a:()=>c});var r=t(67294);const s={},o=r.createContext(s);function c(e){const n=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),r.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6b207c51.0f690627.js b/assets/js/6b207c51.0f690627.js deleted file mode 100644 index 75ddcb65a..000000000 --- a/assets/js/6b207c51.0f690627.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[24460],{67657:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>d,frontMatter:()=>o,metadata:()=>l,toc:()=>r});var n=s(85893),i=s(11151);const o={id:"manifest",title:"Manifest",sidebar_label:"Manifest"},a=void 0,l={id:"legacy/v5/basics/manifest",title:"Manifest",description:"docs-source",source:"@site/docs/legacy/v5/basics/manifest.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/manifest",permalink:"/docs/legacy/v5/basics/manifest",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"manifest",title:"Manifest",sidebar_label:"Manifest"},sidebar:"docs",previous:{title:"The Structure",permalink:"/docs/legacy/v5/basics/the-structure"},next:{title:"Rest Intro",permalink:"/docs/legacy/v5/basics/rest"}},c={},r=[{value:"How to use it",id:"how-to-use-it",level:2},{value:"Why not just fetch the asset the old-fashioned way?",id:"why-not-just-fetch-the-asset-the-old-fashioned-way",level:2}];function h(e){const t={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/3.0.0/",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsxs)(t.p,{children:["In the build process, Webpack creates all the static files from your assets folder and also ",(0,n.jsx)(t.code,{children:"manifest.json"})," inside the public folder. The manifest file contains a key/value list that we use to call the location of the assets dynamically."]}),"\n",(0,n.jsxs)(t.p,{children:["This class provides ",(0,n.jsx)(t.code,{children:"manifest.json"})," file location and helpers to return the full path for a specific asset."]}),"\n",(0,n.jsx)(t.h2,{id:"how-to-use-it",children:"How to use it"}),"\n",(0,n.jsx)(t.p,{children:"First, install the manifest class if you didn't use the default project installation using this command:"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"wp boilerplate create_manifest"})}),"\n",(0,n.jsx)(t.p,{children:"You will see a custom filter you can use to fetch the item from the public folder in your class. This is the custom filter:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"/**\n * Manifest item filter name constant.\n *\n * @var string\n */\npublic const MANIFEST_ITEM = 'manifest-item';\n\n/**\n * Register all hooks. Changed filter name to manifest.\n *\n * @return void\n */\npublic function register(): void\n{\n\t\\add_filter(static::MANIFEST_ITEM, [ $this, 'getAssetsManifestItem' ]);\n}\n"})}),"\n",(0,n.jsx)(t.p,{children:"To use this filter, add the following code and provide the correct name of your asset:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"use CoolProject\\Manifest\\Manifest;\n\n$logo = \\apply_filters(Manifest::MANIFEST_ITEM, 'logo.svg');\n"})}),"\n",(0,n.jsxs)(t.p,{children:["And that's it. This filter will check the public folder for the ",(0,n.jsx)(t.code,{children:"manifest.json"})," file, parse it, and return the value of the provided key."]}),"\n",(0,n.jsxs)(t.p,{children:["If there is no ",(0,n.jsx)(t.code,{children:"manifest.json"})," file or you provided the wrong asset name, there will be a descriptive message for you."]}),"\n",(0,n.jsx)(t.h2,{id:"why-not-just-fetch-the-asset-the-old-fashioned-way",children:"Why not just fetch the asset the old-fashioned way?"}),"\n",(0,n.jsx)(t.p,{children:"By the old-fashioned way, we mean running something like this:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"$logo = get_template_directory_uri() . 'public/logo.svg';\n"})}),"\n",(0,n.jsx)(t.p,{children:"You can definitely do this. But with our filter, if you want to change the public folder location or public folder name for some reason, you can change it in one place and you're done."}),"\n",(0,n.jsx)(t.p,{children:"If you are using the old-fashioned way, you would need to search and replace the whole project and implement the change. There is always a chance you would miss something, break the project, etc."})]})}function d(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(h,{...e})}):h(e)}},11151:(e,t,s)=>{s.d(t,{Z:()=>l,a:()=>a});var n=s(67294);const i={},o=n.createContext(i);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(i):e.components||i:a(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6b207c51.a541229f.js b/assets/js/6b207c51.a541229f.js new file mode 100644 index 000000000..8cd7a107d --- /dev/null +++ b/assets/js/6b207c51.a541229f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[51428],{29932:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>d,frontMatter:()=>o,metadata:()=>l,toc:()=>r});var n=s(17624),i=s(4552);const o={id:"manifest",title:"Manifest",sidebar_label:"Manifest"},a=void 0,l={id:"legacy/v5/basics/manifest",title:"Manifest",description:"docs-source",source:"@site/docs/legacy/v5/basics/manifest.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/manifest",permalink:"/docs/legacy/v5/basics/manifest",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"manifest",title:"Manifest",sidebar_label:"Manifest"},sidebar:"docs",previous:{title:"The Structure",permalink:"/docs/legacy/v5/basics/the-structure"},next:{title:"Rest Intro",permalink:"/docs/legacy/v5/basics/rest"}},c={},r=[{value:"How to use it",id:"how-to-use-it",level:2},{value:"Why not just fetch the asset the old-fashioned way?",id:"why-not-just-fetch-the-asset-the-old-fashioned-way",level:2}];function h(e){const t={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",...(0,i.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/3.0.0/",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsxs)(t.p,{children:["In the build process, Webpack creates all the static files from your assets folder and also ",(0,n.jsx)(t.code,{children:"manifest.json"})," inside the public folder. The manifest file contains a key/value list that we use to call the location of the assets dynamically."]}),"\n",(0,n.jsxs)(t.p,{children:["This class provides ",(0,n.jsx)(t.code,{children:"manifest.json"})," file location and helpers to return the full path for a specific asset."]}),"\n",(0,n.jsx)(t.h2,{id:"how-to-use-it",children:"How to use it"}),"\n",(0,n.jsx)(t.p,{children:"First, install the manifest class if you didn't use the default project installation using this command:"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"wp boilerplate create_manifest"})}),"\n",(0,n.jsx)(t.p,{children:"You will see a custom filter you can use to fetch the item from the public folder in your class. This is the custom filter:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"/**\n * Manifest item filter name constant.\n *\n * @var string\n */\npublic const MANIFEST_ITEM = 'manifest-item';\n\n/**\n * Register all hooks. Changed filter name to manifest.\n *\n * @return void\n */\npublic function register(): void\n{\n\t\\add_filter(static::MANIFEST_ITEM, [ $this, 'getAssetsManifestItem' ]);\n}\n"})}),"\n",(0,n.jsx)(t.p,{children:"To use this filter, add the following code and provide the correct name of your asset:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"use CoolProject\\Manifest\\Manifest;\n\n$logo = \\apply_filters(Manifest::MANIFEST_ITEM, 'logo.svg');\n"})}),"\n",(0,n.jsxs)(t.p,{children:["And that's it. This filter will check the public folder for the ",(0,n.jsx)(t.code,{children:"manifest.json"})," file, parse it, and return the value of the provided key."]}),"\n",(0,n.jsxs)(t.p,{children:["If there is no ",(0,n.jsx)(t.code,{children:"manifest.json"})," file or you provided the wrong asset name, there will be a descriptive message for you."]}),"\n",(0,n.jsx)(t.h2,{id:"why-not-just-fetch-the-asset-the-old-fashioned-way",children:"Why not just fetch the asset the old-fashioned way?"}),"\n",(0,n.jsx)(t.p,{children:"By the old-fashioned way, we mean running something like this:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"$logo = get_template_directory_uri() . 'public/logo.svg';\n"})}),"\n",(0,n.jsx)(t.p,{children:"You can definitely do this. But with our filter, if you want to change the public folder location or public folder name for some reason, you can change it in one place and you're done."}),"\n",(0,n.jsx)(t.p,{children:"If you are using the old-fashioned way, you would need to search and replace the whole project and implement the change. There is always a chance you would miss something, break the project, etc."})]})}function d(e={}){const{wrapper:t}={...(0,i.M)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(h,{...e})}):h(e)}},4552:(e,t,s)=>{s.d(t,{I:()=>l,M:()=>a});var n=s(11504);const i={},o=n.createContext(i);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(i):e.components||i:a(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6b8dfc08.92299181.js b/assets/js/6b8dfc08.92299181.js new file mode 100644 index 000000000..db1b5076d --- /dev/null +++ b/assets/js/6b8dfc08.92299181.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[97996],{76356: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/6b8dfc08.d7e437bd.js b/assets/js/6b8dfc08.d7e437bd.js deleted file mode 100644 index 649b5f3c7..000000000 --- a/assets/js/6b8dfc08.d7e437bd.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[14327],{41200: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/6b93e189.08201d8a.js b/assets/js/6b93e189.08201d8a.js deleted file mode 100644 index dc45e4bc2..000000000 --- a/assets/js/6b93e189.08201d8a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[82308],{3830:(n,e,t)=>{t.r(e),t.d(e,{assets:()=>a,contentTitle:()=>s,default:()=>u,frontMatter:()=>o,metadata:()=>r,toc:()=>c});var i=t(85893),d=t(11151);const o={id:"requirements",title:"Requirements"},s=void 0,r={id:"addons/create/requirements",title:"Requirements",description:"Add-on naming convention",source:"@site/forms/addons/create/requirements.md",sourceDirName:"addons/create",slug:"/addons/create/requirements",permalink:"/forms/addons/create/requirements",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"requirements",title:"Requirements"},sidebar:"forms",previous:{title:"Utils library",permalink:"/forms/addons/create/utils-library"},next:{title:"Add-on boilerplate",permalink:"/forms/addons/create/addon-boilerplate"}},a={},c=[{value:"Add-on naming convention",id:"add-on-naming-convention",level:2},{value:"Add-on trigger action",id:"add-on-trigger-action",level:2},{value:"Add-on dependency",id:"add-on-dependency",level:2},{value:"Adding custom JavaScript in your add-on",id:"adding-custom-javascript-in-your-add-on",level:2},{value:"Adding custom CSS or JavaScript in your add-on",id:"adding-custom-css-or-javascript-in-your-add-on",level:2},{value:"Adding custom Blocks in your add-on",id:"adding-custom-blocks-in-your-add-on",level:2}];function l(n){const e={a:"a",code:"code",h2:"h2",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,d.a)(),...n.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(e.h2,{id:"add-on-naming-convention",children:"Add-on naming convention"}),"\n",(0,i.jsxs)(e.p,{children:["When creating a new add-on, you should follow the naming convention. The name of the add-on should be in the format ",(0,i.jsx)(e.code,{children:"eightshift-forms-addon-<addon-name>"}),". For example, if you are creating an add-on for computed fields, the name of the add-on should be ",(0,i.jsx)(e.code,{children:"eightshift-forms-addon-computed-fields"}),"."]}),"\n",(0,i.jsxs)(e.p,{children:["Based on the this example add-on plugin folder name should be ",(0,i.jsx)(e.code,{children:"eightshift-forms-addon-computed-fields"})," and the main file should be ",(0,i.jsx)(e.code,{children:"eightshift-forms.php"}),"."]}),"\n",(0,i.jsx)(e.h2,{id:"add-on-trigger-action",children:"Add-on trigger action"}),"\n",(0,i.jsxs)(e.p,{children:["In order to be sure that your add-on is loaded after the main plugin is loaded, you need to have trigger the add-on plugin main plugin action on the custom action hook. This is done by adding the following code to the ",(0,i.jsx)(e.code,{children:"main.php"})," file and the action name is ",(0,i.jsx)(e.code,{children:"es_forms_loaded"}),"."]}),"\n",(0,i.jsx)(e.pre,{children:(0,i.jsx)(e.code,{className:"language-php",children:"/**\n\t * Register the project with the WordPress system.\n\t *\n\t * The register_service method will call the register() method in every service class,\n\t * which holds the actions and filters - effectively replacing the need to manually add\n\t * them in one place.\n\t *\n\t * @return void\n\t */\n\tpublic function register(): void\n\t{\n\t\t// Hook all plugin features in a custom hook name to make sure it's called after the main plugin is loaded.\n\t\t\\add_action('es_forms_loaded', [$this, 'registerServices']);\n\t}\n"})}),"\n",(0,i.jsx)(e.h2,{id:"add-on-dependency",children:"Add-on dependency"}),"\n",(0,i.jsx)(e.p,{children:"In order to ensure that your add-on is working properly, you need to have the main plugin installed. When you uninstall the main plugin, all add-ons should be uninstalled as well. Also you will not be able to activate the add-on if the main plugin is not installed."}),"\n",(0,i.jsxs)(e.p,{children:["To make sure that the user gets the notification that the main plugin is not active, you need to add the following code to the ",(0,i.jsx)(e.code,{children:"main.php"})," file."]}),"\n",(0,i.jsx)(e.pre,{children:(0,i.jsx)(e.code,{className:"language-php",children:"use EightshiftFormsAddonComputedFields\\Config\\Config;\nuse EightshiftFormsAddonComputedFieldsVendor\\EightshiftFormsUtils\\Main\\UtilsMain;\n\n/**\n\t * Register the project with the WordPress system.\n\t *\n\t * @return void\n\t */\n\tpublic function register(): void\n\t{\n\t\t// Check if main plugin is active.\n\t\t\\add_action('admin_init', [$this, 'checkAddonPlugins']);\n\t\t\\add_action('admin_notices', [$this, 'checkAddonPluginsNotice']);\n\t}\n\n\t/**\n\t * Check if main plugin is active.\n\t *\n\t * @return void\n\t */\n\tpublic function checkAddonPlugins(): void\n\t{\n\t\tUtilsMain::checkAddonPlugins(Config::PLUGIN_FULL_NAME);\n\t}\n\n\t/**\n\t * Check if main plugin is active if not set a notice.\n\t *\n\t * @return void\n\t */\n\tpublic function checkAddonPluginsNotice(): void\n\t{\n\t\tUtilsMain::checkAddonPluginsNotice(\\esc_html__('Computed Field', 'eightshift-forms-addon-computed-fields'));\n\t}\n"})}),"\n",(0,i.jsx)(e.h2,{id:"adding-custom-javascript-in-your-add-on",children:"Adding custom JavaScript in your add-on"}),"\n",(0,i.jsx)(e.p,{children:"If you need to add custom JavaScript to your add-on, you should use forms store and events for triggering you custom JavaScript."}),"\n",(0,i.jsxs)(e.p,{children:["Documentation for forms store and events can be found ",(0,i.jsx)(e.a,{href:"/forms/javascript/state/store",children:"here"})," and ",(0,i.jsx)(e.a,{href:"/forms/javascript/events/available-events",children:"here"}),"."]}),"\n",(0,i.jsxs)(e.p,{children:["Another thing to consider is that, by default, the main form JavaScript is loaded before the add-on JavaScript and you will not be able to add event listeners. To fix this you need to add script dependency in your ",(0,i.jsx)(e.code,{children:"Enqueue"})," folder classes."]}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.code,{children:"Enqueue/Admin/EnqueueAdmin.php"})," - for admin scripts."]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.code,{children:"Enqueue/Admin/EnqueueBlocks.php"})," - for block editor and frontend scripts."]}),"\n"]}),"\n",(0,i.jsx)(e.p,{children:(0,i.jsx)(e.strong,{children:"Example: Enqueue/Admin/EnqueueAdmin.php"})}),"\n",(0,i.jsx)(e.pre,{children:(0,i.jsx)(e.code,{className:"language-php",children:"/**\n\t * Register all the hooks\n\t *\n\t * @return void\n\t */\n\tpublic function register(): void\n\t{\n\t\t// Make add-on scripts fired before main plugin scripts.\n\t\t\\add_filter(UtilsHooksHelper::getFilterName(['scripts', 'dependency', 'admin']), [$this, 'getScriptsDependency']);\n\t}\n\n\t/**\n\t * Make add-on scripts fired before main plugin scripts.\n\t *\n\t * @return array<int, string>\n\t */\n\tpublic function getScriptsDependency(): array\n\t{\n\t\treturn [\n\t\t\t$this->getAdminScriptHandle(),\n\t\t];\n\t}\n\n"})}),"\n",(0,i.jsx)(e.p,{children:(0,i.jsx)(e.strong,{children:"Example: Enqueue/Admin/EnqueueBlocks.php"})}),"\n",(0,i.jsx)(e.pre,{children:(0,i.jsx)(e.code,{className:"language-php",children:"/**\n\t * Register all the hooks\n\t *\n\t * @return void\n\t */\n\tpublic function register(): void\n\t{\n\t\t// Make add-on scripts fired before main plugin scripts.\n\t\t\\add_filter(UtilsHooksHelper::getFilterName(['scripts', 'dependency', 'blocksEditor']), [$this, 'getScriptsDependency']);\n\t}\n\n\t/**\n\t * Make add-on scripts fired before main plugin scripts.\n\t *\n\t * @return array<int, string>\n\t */\n\tpublic function getScriptsDependency(): array\n\t{\n\t\treturn [\n\t\t\t$this->getBlockEditorScriptsHandle(),\n\t\t];\n\t}\n\n"})}),"\n",(0,i.jsx)(e.h2,{id:"adding-custom-css-or-javascript-in-your-add-on",children:"Adding custom CSS or JavaScript in your add-on"}),"\n",(0,i.jsxs)(e.p,{children:["If you need to add custom CSS or JavaScript to your add-on, you should change webpack configuration to include your custom files and add custom ",(0,i.jsx)(e.code,{children:"output.library"})," name to avoid conflicts with the main plugin."]}),"\n",(0,i.jsx)(e.h2,{id:"adding-custom-blocks-in-your-add-on",children:"Adding custom Blocks in your add-on"}),"\n",(0,i.jsxs)(e.p,{children:["If you need to add custom blocks to your add-on, you should use the ",(0,i.jsx)(e.code,{children:"Blocks"})," folder and the ",(0,i.jsx)(e.code,{children:"Blocks/Blocks.php"})," file."]}),"\n",(0,i.jsx)(e.p,{children:"With this function we are overriding the allowed blocks list and providing the add-on block to be used in the block editor."}),"\n",(0,i.jsx)(e.pre,{children:(0,i.jsx)(e.code,{className:"language-php",children:"\t/**\n\t * Register all the hooks\n\t *\n\t * @return void\n\t */\n\tpublic function register(): void\n\t{\n\t\t// Register all utility hooks.\n\t\tparent::register();\n\n\t\t// Override the allowed blocks list and provide add-on block.\n\t\t\\add_filter(UtilsHooksHelper::getFilterName(['blocks', 'allowedBlocks']), [$this, 'getAddonBlocks']);\n\t}\n\n\t/**\n\t * Override the allowed blocks list and provide add-on block.\n\t *\n\t * @return array<int, string> List of blocks.\n\t */\n\tpublic function getAddonBlocks(): array\n\t{\n\t\treturn [\n\t\t\t'eightshift-forms-addon-computed-fields/computed-fields-result',\n\t\t]\n\t}\n"})})]})}function u(n={}){const{wrapper:e}={...(0,d.a)(),...n.components};return e?(0,i.jsx)(e,{...n,children:(0,i.jsx)(l,{...n})}):l(n)}},11151:(n,e,t)=>{t.d(e,{Z:()=>r,a:()=>s});var i=t(67294);const d={},o=i.createContext(d);function s(n){const e=i.useContext(o);return i.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function r(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(d):n.components||d:s(n.components),i.createElement(o.Provider,{value:e},n.children)}}}]); \ No newline at end of file diff --git a/assets/js/6b93e189.924e59db.js b/assets/js/6b93e189.924e59db.js new file mode 100644 index 000000000..a74685a67 --- /dev/null +++ b/assets/js/6b93e189.924e59db.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[68699],{71008:(n,e,t)=>{t.r(e),t.d(e,{assets:()=>a,contentTitle:()=>s,default:()=>u,frontMatter:()=>o,metadata:()=>r,toc:()=>c});var i=t(17624),d=t(4552);const o={id:"requirements",title:"Requirements"},s=void 0,r={id:"addons/create/requirements",title:"Requirements",description:"Add-on naming convention",source:"@site/forms/addons/create/requirements.md",sourceDirName:"addons/create",slug:"/addons/create/requirements",permalink:"/forms/addons/create/requirements",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"requirements",title:"Requirements"},sidebar:"forms",previous:{title:"Utils library",permalink:"/forms/addons/create/utils-library"},next:{title:"Add-on boilerplate",permalink:"/forms/addons/create/addon-boilerplate"}},a={},c=[{value:"Add-on naming convention",id:"add-on-naming-convention",level:2},{value:"Add-on trigger action",id:"add-on-trigger-action",level:2},{value:"Add-on dependency",id:"add-on-dependency",level:2},{value:"Adding custom JavaScript in your add-on",id:"adding-custom-javascript-in-your-add-on",level:2},{value:"Adding custom CSS or JavaScript in your add-on",id:"adding-custom-css-or-javascript-in-your-add-on",level:2},{value:"Adding custom Blocks in your add-on",id:"adding-custom-blocks-in-your-add-on",level:2}];function l(n){const e={a:"a",code:"code",h2:"h2",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,d.M)(),...n.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(e.h2,{id:"add-on-naming-convention",children:"Add-on naming convention"}),"\n",(0,i.jsxs)(e.p,{children:["When creating a new add-on, you should follow the naming convention. The name of the add-on should be in the format ",(0,i.jsx)(e.code,{children:"eightshift-forms-addon-<addon-name>"}),". For example, if you are creating an add-on for computed fields, the name of the add-on should be ",(0,i.jsx)(e.code,{children:"eightshift-forms-addon-computed-fields"}),"."]}),"\n",(0,i.jsxs)(e.p,{children:["Based on the this example add-on plugin folder name should be ",(0,i.jsx)(e.code,{children:"eightshift-forms-addon-computed-fields"})," and the main file should be ",(0,i.jsx)(e.code,{children:"eightshift-forms.php"}),"."]}),"\n",(0,i.jsx)(e.h2,{id:"add-on-trigger-action",children:"Add-on trigger action"}),"\n",(0,i.jsxs)(e.p,{children:["In order to be sure that your add-on is loaded after the main plugin is loaded, you need to have trigger the add-on plugin main plugin action on the custom action hook. This is done by adding the following code to the ",(0,i.jsx)(e.code,{children:"main.php"})," file and the action name is ",(0,i.jsx)(e.code,{children:"es_forms_loaded"}),"."]}),"\n",(0,i.jsx)(e.pre,{children:(0,i.jsx)(e.code,{className:"language-php",children:"/**\n\t * Register the project with the WordPress system.\n\t *\n\t * The register_service method will call the register() method in every service class,\n\t * which holds the actions and filters - effectively replacing the need to manually add\n\t * them in one place.\n\t *\n\t * @return void\n\t */\n\tpublic function register(): void\n\t{\n\t\t// Hook all plugin features in a custom hook name to make sure it's called after the main plugin is loaded.\n\t\t\\add_action('es_forms_loaded', [$this, 'registerServices']);\n\t}\n"})}),"\n",(0,i.jsx)(e.h2,{id:"add-on-dependency",children:"Add-on dependency"}),"\n",(0,i.jsx)(e.p,{children:"In order to ensure that your add-on is working properly, you need to have the main plugin installed. When you uninstall the main plugin, all add-ons should be uninstalled as well. Also you will not be able to activate the add-on if the main plugin is not installed."}),"\n",(0,i.jsxs)(e.p,{children:["To make sure that the user gets the notification that the main plugin is not active, you need to add the following code to the ",(0,i.jsx)(e.code,{children:"main.php"})," file."]}),"\n",(0,i.jsx)(e.pre,{children:(0,i.jsx)(e.code,{className:"language-php",children:"use EightshiftFormsAddonComputedFields\\Config\\Config;\nuse EightshiftFormsAddonComputedFieldsVendor\\EightshiftFormsUtils\\Main\\UtilsMain;\n\n/**\n\t * Register the project with the WordPress system.\n\t *\n\t * @return void\n\t */\n\tpublic function register(): void\n\t{\n\t\t// Check if main plugin is active.\n\t\t\\add_action('admin_init', [$this, 'checkAddonPlugins']);\n\t\t\\add_action('admin_notices', [$this, 'checkAddonPluginsNotice']);\n\t}\n\n\t/**\n\t * Check if main plugin is active.\n\t *\n\t * @return void\n\t */\n\tpublic function checkAddonPlugins(): void\n\t{\n\t\tUtilsMain::checkAddonPlugins(Config::PLUGIN_FULL_NAME);\n\t}\n\n\t/**\n\t * Check if main plugin is active if not set a notice.\n\t *\n\t * @return void\n\t */\n\tpublic function checkAddonPluginsNotice(): void\n\t{\n\t\tUtilsMain::checkAddonPluginsNotice(\\esc_html__('Computed Field', 'eightshift-forms-addon-computed-fields'));\n\t}\n"})}),"\n",(0,i.jsx)(e.h2,{id:"adding-custom-javascript-in-your-add-on",children:"Adding custom JavaScript in your add-on"}),"\n",(0,i.jsx)(e.p,{children:"If you need to add custom JavaScript to your add-on, you should use forms store and events for triggering you custom JavaScript."}),"\n",(0,i.jsxs)(e.p,{children:["Documentation for forms store and events can be found ",(0,i.jsx)(e.a,{href:"/forms/javascript/state/store",children:"here"})," and ",(0,i.jsx)(e.a,{href:"/forms/javascript/events/available-events",children:"here"}),"."]}),"\n",(0,i.jsxs)(e.p,{children:["Another thing to consider is that, by default, the main form JavaScript is loaded before the add-on JavaScript and you will not be able to add event listeners. To fix this you need to add script dependency in your ",(0,i.jsx)(e.code,{children:"Enqueue"})," folder classes."]}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.code,{children:"Enqueue/Admin/EnqueueAdmin.php"})," - for admin scripts."]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.code,{children:"Enqueue/Admin/EnqueueBlocks.php"})," - for block editor and frontend scripts."]}),"\n"]}),"\n",(0,i.jsx)(e.p,{children:(0,i.jsx)(e.strong,{children:"Example: Enqueue/Admin/EnqueueAdmin.php"})}),"\n",(0,i.jsx)(e.pre,{children:(0,i.jsx)(e.code,{className:"language-php",children:"/**\n\t * Register all the hooks\n\t *\n\t * @return void\n\t */\n\tpublic function register(): void\n\t{\n\t\t// Make add-on scripts fired before main plugin scripts.\n\t\t\\add_filter(UtilsHooksHelper::getFilterName(['scripts', 'dependency', 'admin']), [$this, 'getScriptsDependency']);\n\t}\n\n\t/**\n\t * Make add-on scripts fired before main plugin scripts.\n\t *\n\t * @return array<int, string>\n\t */\n\tpublic function getScriptsDependency(): array\n\t{\n\t\treturn [\n\t\t\t$this->getAdminScriptHandle(),\n\t\t];\n\t}\n\n"})}),"\n",(0,i.jsx)(e.p,{children:(0,i.jsx)(e.strong,{children:"Example: Enqueue/Admin/EnqueueBlocks.php"})}),"\n",(0,i.jsx)(e.pre,{children:(0,i.jsx)(e.code,{className:"language-php",children:"/**\n\t * Register all the hooks\n\t *\n\t * @return void\n\t */\n\tpublic function register(): void\n\t{\n\t\t// Make add-on scripts fired before main plugin scripts.\n\t\t\\add_filter(UtilsHooksHelper::getFilterName(['scripts', 'dependency', 'blocksEditor']), [$this, 'getScriptsDependency']);\n\t}\n\n\t/**\n\t * Make add-on scripts fired before main plugin scripts.\n\t *\n\t * @return array<int, string>\n\t */\n\tpublic function getScriptsDependency(): array\n\t{\n\t\treturn [\n\t\t\t$this->getBlockEditorScriptsHandle(),\n\t\t];\n\t}\n\n"})}),"\n",(0,i.jsx)(e.h2,{id:"adding-custom-css-or-javascript-in-your-add-on",children:"Adding custom CSS or JavaScript in your add-on"}),"\n",(0,i.jsxs)(e.p,{children:["If you need to add custom CSS or JavaScript to your add-on, you should change webpack configuration to include your custom files and add custom ",(0,i.jsx)(e.code,{children:"output.library"})," name to avoid conflicts with the main plugin."]}),"\n",(0,i.jsx)(e.h2,{id:"adding-custom-blocks-in-your-add-on",children:"Adding custom Blocks in your add-on"}),"\n",(0,i.jsxs)(e.p,{children:["If you need to add custom blocks to your add-on, you should use the ",(0,i.jsx)(e.code,{children:"Blocks"})," folder and the ",(0,i.jsx)(e.code,{children:"Blocks/Blocks.php"})," file."]}),"\n",(0,i.jsx)(e.p,{children:"With this function we are overriding the allowed blocks list and providing the add-on block to be used in the block editor."}),"\n",(0,i.jsx)(e.pre,{children:(0,i.jsx)(e.code,{className:"language-php",children:"\t/**\n\t * Register all the hooks\n\t *\n\t * @return void\n\t */\n\tpublic function register(): void\n\t{\n\t\t// Register all utility hooks.\n\t\tparent::register();\n\n\t\t// Override the allowed blocks list and provide add-on block.\n\t\t\\add_filter(UtilsHooksHelper::getFilterName(['blocks', 'allowedBlocks']), [$this, 'getAddonBlocks']);\n\t}\n\n\t/**\n\t * Override the allowed blocks list and provide add-on block.\n\t *\n\t * @return array<int, string> List of blocks.\n\t */\n\tpublic function getAddonBlocks(): array\n\t{\n\t\treturn [\n\t\t\t'eightshift-forms-addon-computed-fields/computed-fields-result',\n\t\t]\n\t}\n"})})]})}function u(n={}){const{wrapper:e}={...(0,d.M)(),...n.components};return e?(0,i.jsx)(e,{...n,children:(0,i.jsx)(l,{...n})}):l(n)}},4552:(n,e,t)=>{t.d(e,{I:()=>r,M:()=>s});var i=t(11504);const d={},o=i.createContext(d);function s(n){const e=i.useContext(o);return i.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function r(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(d):n.components||d:s(n.components),i.createElement(o.Provider,{value:e},n.children)}}}]); \ No newline at end of file diff --git a/assets/js/6b94b48b.a1360d26.js b/assets/js/6b94b48b.a1360d26.js deleted file mode 100644 index 50948186a..000000000 --- a/assets/js/6b94b48b.a1360d26.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[38262],{54432:(e,o,t)=>{t.r(o),t.d(o,{assets:()=>c,contentTitle:()=>i,default:()=>h,frontMatter:()=>l,metadata:()=>r,toc:()=>a});var n=t(85893),s=t(11151);const l={id:"blocks-special-use-cases",title:"Special Use Cases"},i=void 0,r={id:"basics/blocks-special-use-cases",title:"Special Use Cases",description:"docs-source",source:"@site/docs/basics/blocks-special-use-cases.md",sourceDirName:"basics",slug:"/basics/blocks-special-use-cases",permalink:"/docs/basics/blocks-special-use-cases",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-special-use-cases",title:"Special Use Cases"},sidebar:"docs",previous:{title:"Hooks",permalink:"/docs/basics/blocks-hooks"},next:{title:"Reusable Blocks",permalink:"/docs/basics/blocks-reusable"}},c={},a=[{value:"Change innerBlock attributes",id:"change-innerblock-attributes",level:2},{value:"Provide simple wrapper to all innerBlock",id:"provide-simple-wrapper-to-all-innerblock",level:2},{value:"Override innerBlock attributes only on the front end",id:"override-innerblock-attributes-only-on-the-front-end",level:2},{value:"Add CSS selectors on the parent component inside the block editor",id:"add-css-selectors-on-the-parent-component-inside-the-block-editor",level:2},{value:"How to only use my custom blocks",id:"how-to-only-use-my-custom-blocks",level:2},{value:"I want to use my custom blocks but add some core or third party plugins blocks",id:"i-want-to-use-my-custom-blocks-but-add-some-core-or-third-party-plugins-blocks",level:2},{value:"I want to enable blocks only on specific custom post type",id:"i-want-to-enable-blocks-only-on-specific-custom-post-type",level:2}];function d(e){const o={a:"a",admonition:"admonition",code:"code",em:"em",h2:"h2",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.p,{children:(0,n.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,n.jsx)(o.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(o.p,{children:"In our clients' projects, we noticed that sometimes you need to provide something special to your blocks, like changing the block editor block DOM structure or the attributes added inside the inner blocks."}),"\n",(0,n.jsx)(o.p,{children:"These are some of the examples we would like to share with you. We will list all of them and gradually add more."}),"\n",(0,n.jsx)(o.h2,{id:"change-innerblock-attributes",children:"Change innerBlock attributes"}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Usage:"})}),"\n",(0,n.jsxs)(o.ul,{children:["\n",(0,n.jsx)(o.li,{children:"Change attributes in the block editor and on the front-end."}),"\n",(0,n.jsx)(o.li,{children:"Set attributes in the database."}),"\n"]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Use Case:"})}),"\n",(0,n.jsxs)(o.p,{children:["Let's say you have a carousel block, and you have a generic image block that you can use as a standalone block. You create a carousel block and set in its manifest limitation to show only the image block to be inserted as an inner block. This is easy to do: you just add your image block to an ",(0,n.jsx)(o.code,{children:"allowedBlocks"})," array inside the carousel block and everything will work."]}),"\n",(0,n.jsxs)(o.p,{children:["But now you have some default attributes set in that image block that you don't want to be set if the block is added using the innerBlock in the carousel. You can change that using our ",(0,n.jsx)(o.a,{href:"helpers-javascript",children:"overrideInnerBlockAttributes"})," helper. Just add this helper to your block entry point, add the attributes you want to change, and you are all set."]}),"\n",(0,n.jsx)(o.p,{children:"Keep in mind that this will be applied to all innerBlocks inside your carousel block. If you want to limit this to a specific block only, you will need to fiddle around with that block's conditions (you can get that specific block name from the props)."}),"\n",(0,n.jsx)(o.p,{children:"The next time you add your image to the carousel, it will automatically change those attributes."}),"\n",(0,n.jsx)(o.admonition,{title:"Important",type:"caution",children:(0,n.jsx)(o.p,{children:"If for some reason, you copy the inner block from the carousel to the top-level editor, this helper will not fire and not change back to original attributes. You have to manually remove those attributes from the Code editor in the admin."})}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Implementation"})}),"\n",(0,n.jsxs)(o.p,{children:["Here you can see our example of this helper used in the ",(0,n.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/custom/carousel/carousel-block.js",children:"carousel block"}),"."]}),"\n",(0,n.jsx)(o.h2,{id:"provide-simple-wrapper-to-all-innerblock",children:"Provide simple wrapper to all innerBlock"}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Usage:"})}),"\n",(0,n.jsxs)(o.ul,{children:["\n",(0,n.jsx)(o.li,{children:"Change attributes in the block editor and on the front end."}),"\n",(0,n.jsx)(o.li,{children:"Set attributes in the database."}),"\n"]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Use Case:"})}),"\n",(0,n.jsx)(o.p,{children:"All of our blocks come with the wrapper implemented, which is awesome. But sometimes you just don't want to use the wrapper, and you want only to use the simple version of the wrapper. You can provide the attribute overrides in your block, and you are good to go."}),"\n",(0,n.jsxs)(o.p,{children:["But if you need to change attributes in the block added as an innerBlock, you'll have a little problem. You can use the same helper as we did in the previous chapter, or you can use our abstraction of that helper called ",(0,n.jsx)(o.a,{href:"helpers-javascript",children:"overrideInnerBlockSimpleWrapperAttributes"}),"."]}),"\n",(0,n.jsx)(o.p,{children:"This helper will set the wrapper to a simple variant in all your innerBlocks."}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Implementation"})}),"\n",(0,n.jsxs)(o.p,{children:["Here you can see our example of this helper used in the ",(0,n.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/custom/column/column-block.js",children:"column block"}),"."]}),"\n",(0,n.jsx)(o.h2,{id:"override-innerblock-attributes-only-on-the-front-end",children:"Override innerBlock attributes only on the front end"}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Usage:"})}),"\n",(0,n.jsxs)(o.ul,{children:["\n",(0,n.jsx)(o.li,{children:"Change attributes on the front end only."}),"\n",(0,n.jsx)(o.li,{children:"Don't set attributes in the database."}),"\n"]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Use Case:"})}),"\n",(0,n.jsx)(o.p,{children:"If you have a block containing inner blocks and only want to change the attributes on the front end of the implementation and not in the block editor. The standard way is really hard because all the inner blocks are rendered on the front end as an HTML string, and you don't have access to any of the attributes before it is rendered."}),"\n",(0,n.jsx)(o.p,{children:"Luckily, WordPress core has provided us with the filter that can change any block before it is rendered. This filter will provide you an array of blocks and inner blocks, along with the innerBlock and all attributes if you use it correctly."}),"\n",(0,n.jsxs)(o.p,{children:["The filter is called: ",(0,n.jsx)(o.code,{children:"render_block_data"}),", and you can put your implementation in the ",(0,n.jsx)(o.code,{children:"class-blocks.php"})," file. You can find the documentation on this ",(0,n.jsx)(o.a,{href:"https://developer.wordpress.org/reference/hooks/render_block_data/",children:"link"}),"."]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Implementation"})}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.em,{children:"Implementation coming soon."})}),"\n",(0,n.jsx)(o.h2,{id:"add-css-selectors-on-the-parent-component-inside-the-block-editor",children:"Add CSS selectors on the parent component inside the block editor"}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Usage:"})}),"\n",(0,n.jsxs)(o.ul,{children:["\n",(0,n.jsx)(o.li,{children:"Change attributes on the front end only."}),"\n",(0,n.jsx)(o.li,{children:"Don't set attributes in the database."}),"\n"]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Use Case:"})}),"\n",(0,n.jsx)(o.p,{children:"If you tried to create any grid in your block on the front end, you know it is easy, but it is not so with the block editor. The problem is that in the block editor DOM, there are additional divs added over your block that break your HTML structure, and all your styles from flex or grid will not work correctly. If your block depends on some special selector placed in a specific place, you can run into some problems in the block editor."}),"\n",(0,n.jsx)(o.p,{children:"With WordPress block editor hooks, we can fix this by not adding the selector to its original location as we do on the front end but adding them to the Block Editor's parent component."}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Implementation"})}),"\n",(0,n.jsxs)(o.p,{children:["Here you can see our example of this hook used in the ",(0,n.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/custom/column/column-hooks.js",children:"column block"}),"."]}),"\n",(0,n.jsx)(o.h2,{id:"how-to-only-use-my-custom-blocks",children:"How to only use my custom blocks"}),"\n",(0,n.jsxs)(o.p,{children:["You can remove all core blocks and any other blocks provided by third-party plugins by adding this filter to your ",(0,n.jsx)(o.code,{children:"src/Blocks/Blocks.php"})," class."]}),"\n",(0,n.jsx)(o.p,{children:"Filter goes in the register method:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:"// Limits the usage of only custom project blocks.\nadd_filter('allowed_block_types_all', [$this, 'getAllBlocksList'], 10, 2);\n"})}),"\n",(0,n.jsx)(o.admonition,{title:"Important",type:"caution",children:(0,n.jsx)(o.p,{children:"For WordPress versions > 5 and < 5.8 you would need to use the example below."})}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:" // Limits the usage of only custom project blocks - legacy.\n add_filter('allowed_block_types', [$this, 'getAllBlocksListOld'], 10, 2);\n"})}),"\n",(0,n.jsxs)(o.p,{children:["The callback method is set in the parent ",(0,n.jsx)(o.code,{children:"AbstractBlocks"})," class."]}),"\n",(0,n.jsx)(o.h2,{id:"i-want-to-use-my-custom-blocks-but-add-some-core-or-third-party-plugins-blocks",children:"I want to use my custom blocks but add some core or third party plugins blocks"}),"\n",(0,n.jsxs)(o.p,{children:["You create a new callback method for the ",(0,n.jsx)(o.code,{children:"allowed_block_types_all"})," filter. There you can allow all your custom blocks + any other 3rd party / core block you want."]}),"\n",(0,n.jsx)(o.p,{children:"Filter goes in the register method:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:"// Limits the usage of only custom project blocks.\nadd_filter('allowed_block_types_all', [$this, 'allowedBlocks'], 10, 2);\n"})}),"\n",(0,n.jsx)(o.p,{children:"Custom callback method:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:"/**\n * Filter which blocks are displayed in the block editor.\n *\n * @param array|bool $allowedBlockTypes Array of block type slugs, or boolean to enable/disable all.\n * @param WP_Block_Editor_Context $blockEditorContext The current block editor context.\n *\n * @return array\n */\npublic function allowedBlocks($allowedBlockTypes, WP_Block_Editor_Context $blockEditorContext): array\n{\n return $this->getAllBlocksList(['core/paragraph'], $blockEditorContext);\n}\n"})}),"\n",(0,n.jsx)(o.admonition,{title:"Important",type:"caution",children:(0,n.jsxs)(o.p,{children:["For WordPress versions > 5 and < 5.8 you would need to use the filter example below. Also change the first argument of array_merge in ",(0,n.jsx)(o.code,{children:"allowedBlocks"})," function to ",(0,n.jsx)(o.code,{children:"$this->getAllBlocksListOld($allowedBlockTypes, $post)"})]})}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:" // Limits the usage of only custom project blocks - legacy.\n add_filter('allowed_block_types', [$this, 'allowedBlocks'], 10, 2);\n"})}),"\n",(0,n.jsx)(o.h2,{id:"i-want-to-enable-blocks-only-on-specific-custom-post-type",children:"I want to enable blocks only on specific custom post type"}),"\n",(0,n.jsxs)(o.p,{children:["You create a new callback method for the ",(0,n.jsx)(o.code,{children:"allowed_block_types_all"})," filter."]}),"\n",(0,n.jsx)(o.p,{children:"Filter goes in the register method:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:"// Limits the usage of only custom project blocks.\nadd_filter('allowed_block_types_all', [$this, 'allowedBlockTypes'], 10, 2);\n"})}),"\n",(0,n.jsx)(o.p,{children:"Custom callback method:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:"/**\n * Filter which blocks are allowed in what post type.\n *\n * @param array|bool $allowedBlockTypes Array of block type slugs, or boolean to enable/disable all.\n * @param WP_Block_Editor_Context $blockEditorContext The current block editor context.\n *\n * @return array\n */\npublic function allowedBlockTypes($allowedBlockTypes, WP_Block_Editor_Context $blockEditorContext): array\n{\n $output = [];\n $settings = $this->getSettings();\n $namespace = $settings['namespace'];\n\n switch ($blockEditorContext->post->post_type) {\n case 'faq':\n $output = [\n \"{$namespace}/paragraph\",\n ];\n break;\n default:\n $output = $this->getAllBlocksList($allowedBlockTypes, $blockEditorContext);\n break;\n }\n\n return $output;\n}\n"})}),"\n",(0,n.jsx)(o.admonition,{title:"Important",type:"caution",children:(0,n.jsxs)(o.p,{children:["For WordPress versions > 5 and < 5.8 you would need to use the filter example below. And also change the default switch case in the ",(0,n.jsx)(o.code,{children:"allowedBlockTypes"})," function to ",(0,n.jsx)(o.code,{children:"$output = $this->getAllBlocksListOld($allowedBlockTypes, $post);"})]})}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:" // Limits the usage of only custom project blocks - legacy.\n add_filter('allowed_block_types', [$this, 'allowedBlocks'], 10, 2);\n"})})]})}function h(e={}){const{wrapper:o}={...(0,s.a)(),...e.components};return o?(0,n.jsx)(o,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},11151:(e,o,t)=>{t.d(o,{Z:()=>r,a:()=>i});var n=t(67294);const s={},l=n.createContext(s);function i(e){const o=n.useContext(l);return n.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function r(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),n.createElement(l.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6b94b48b.d577ad2a.js b/assets/js/6b94b48b.d577ad2a.js new file mode 100644 index 000000000..093b4358e --- /dev/null +++ b/assets/js/6b94b48b.d577ad2a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[31064],{52736:(e,o,t)=>{t.r(o),t.d(o,{assets:()=>c,contentTitle:()=>i,default:()=>h,frontMatter:()=>l,metadata:()=>r,toc:()=>a});var n=t(17624),s=t(4552);const l={id:"blocks-special-use-cases",title:"Special Use Cases"},i=void 0,r={id:"basics/blocks-special-use-cases",title:"Special Use Cases",description:"docs-source",source:"@site/docs/basics/blocks-special-use-cases.md",sourceDirName:"basics",slug:"/basics/blocks-special-use-cases",permalink:"/docs/basics/blocks-special-use-cases",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-special-use-cases",title:"Special Use Cases"},sidebar:"docs",previous:{title:"Hooks",permalink:"/docs/basics/blocks-hooks"},next:{title:"Reusable Blocks",permalink:"/docs/basics/blocks-reusable"}},c={},a=[{value:"Change innerBlock attributes",id:"change-innerblock-attributes",level:2},{value:"Provide simple wrapper to all innerBlock",id:"provide-simple-wrapper-to-all-innerblock",level:2},{value:"Override innerBlock attributes only on the front end",id:"override-innerblock-attributes-only-on-the-front-end",level:2},{value:"Add CSS selectors on the parent component inside the block editor",id:"add-css-selectors-on-the-parent-component-inside-the-block-editor",level:2},{value:"How to only use my custom blocks",id:"how-to-only-use-my-custom-blocks",level:2},{value:"I want to use my custom blocks but add some core or third party plugins blocks",id:"i-want-to-use-my-custom-blocks-but-add-some-core-or-third-party-plugins-blocks",level:2},{value:"I want to enable blocks only on specific custom post type",id:"i-want-to-enable-blocks-only-on-specific-custom-post-type",level:2}];function d(e){const o={a:"a",admonition:"admonition",code:"code",em:"em",h2:"h2",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.p,{children:(0,n.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,n.jsx)(o.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(o.p,{children:"In our clients' projects, we noticed that sometimes you need to provide something special to your blocks, like changing the block editor block DOM structure or the attributes added inside the inner blocks."}),"\n",(0,n.jsx)(o.p,{children:"These are some of the examples we would like to share with you. We will list all of them and gradually add more."}),"\n",(0,n.jsx)(o.h2,{id:"change-innerblock-attributes",children:"Change innerBlock attributes"}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Usage:"})}),"\n",(0,n.jsxs)(o.ul,{children:["\n",(0,n.jsx)(o.li,{children:"Change attributes in the block editor and on the front-end."}),"\n",(0,n.jsx)(o.li,{children:"Set attributes in the database."}),"\n"]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Use Case:"})}),"\n",(0,n.jsxs)(o.p,{children:["Let's say you have a carousel block, and you have a generic image block that you can use as a standalone block. You create a carousel block and set in its manifest limitation to show only the image block to be inserted as an inner block. This is easy to do: you just add your image block to an ",(0,n.jsx)(o.code,{children:"allowedBlocks"})," array inside the carousel block and everything will work."]}),"\n",(0,n.jsxs)(o.p,{children:["But now you have some default attributes set in that image block that you don't want to be set if the block is added using the innerBlock in the carousel. You can change that using our ",(0,n.jsx)(o.a,{href:"helpers-javascript",children:"overrideInnerBlockAttributes"})," helper. Just add this helper to your block entry point, add the attributes you want to change, and you are all set."]}),"\n",(0,n.jsx)(o.p,{children:"Keep in mind that this will be applied to all innerBlocks inside your carousel block. If you want to limit this to a specific block only, you will need to fiddle around with that block's conditions (you can get that specific block name from the props)."}),"\n",(0,n.jsx)(o.p,{children:"The next time you add your image to the carousel, it will automatically change those attributes."}),"\n",(0,n.jsx)(o.admonition,{title:"Important",type:"caution",children:(0,n.jsx)(o.p,{children:"If for some reason, you copy the inner block from the carousel to the top-level editor, this helper will not fire and not change back to original attributes. You have to manually remove those attributes from the Code editor in the admin."})}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Implementation"})}),"\n",(0,n.jsxs)(o.p,{children:["Here you can see our example of this helper used in the ",(0,n.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/custom/carousel/carousel-block.js",children:"carousel block"}),"."]}),"\n",(0,n.jsx)(o.h2,{id:"provide-simple-wrapper-to-all-innerblock",children:"Provide simple wrapper to all innerBlock"}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Usage:"})}),"\n",(0,n.jsxs)(o.ul,{children:["\n",(0,n.jsx)(o.li,{children:"Change attributes in the block editor and on the front end."}),"\n",(0,n.jsx)(o.li,{children:"Set attributes in the database."}),"\n"]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Use Case:"})}),"\n",(0,n.jsx)(o.p,{children:"All of our blocks come with the wrapper implemented, which is awesome. But sometimes you just don't want to use the wrapper, and you want only to use the simple version of the wrapper. You can provide the attribute overrides in your block, and you are good to go."}),"\n",(0,n.jsxs)(o.p,{children:["But if you need to change attributes in the block added as an innerBlock, you'll have a little problem. You can use the same helper as we did in the previous chapter, or you can use our abstraction of that helper called ",(0,n.jsx)(o.a,{href:"helpers-javascript",children:"overrideInnerBlockSimpleWrapperAttributes"}),"."]}),"\n",(0,n.jsx)(o.p,{children:"This helper will set the wrapper to a simple variant in all your innerBlocks."}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Implementation"})}),"\n",(0,n.jsxs)(o.p,{children:["Here you can see our example of this helper used in the ",(0,n.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/custom/column/column-block.js",children:"column block"}),"."]}),"\n",(0,n.jsx)(o.h2,{id:"override-innerblock-attributes-only-on-the-front-end",children:"Override innerBlock attributes only on the front end"}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Usage:"})}),"\n",(0,n.jsxs)(o.ul,{children:["\n",(0,n.jsx)(o.li,{children:"Change attributes on the front end only."}),"\n",(0,n.jsx)(o.li,{children:"Don't set attributes in the database."}),"\n"]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Use Case:"})}),"\n",(0,n.jsx)(o.p,{children:"If you have a block containing inner blocks and only want to change the attributes on the front end of the implementation and not in the block editor. The standard way is really hard because all the inner blocks are rendered on the front end as an HTML string, and you don't have access to any of the attributes before it is rendered."}),"\n",(0,n.jsx)(o.p,{children:"Luckily, WordPress core has provided us with the filter that can change any block before it is rendered. This filter will provide you an array of blocks and inner blocks, along with the innerBlock and all attributes if you use it correctly."}),"\n",(0,n.jsxs)(o.p,{children:["The filter is called: ",(0,n.jsx)(o.code,{children:"render_block_data"}),", and you can put your implementation in the ",(0,n.jsx)(o.code,{children:"class-blocks.php"})," file. You can find the documentation on this ",(0,n.jsx)(o.a,{href:"https://developer.wordpress.org/reference/hooks/render_block_data/",children:"link"}),"."]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Implementation"})}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.em,{children:"Implementation coming soon."})}),"\n",(0,n.jsx)(o.h2,{id:"add-css-selectors-on-the-parent-component-inside-the-block-editor",children:"Add CSS selectors on the parent component inside the block editor"}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Usage:"})}),"\n",(0,n.jsxs)(o.ul,{children:["\n",(0,n.jsx)(o.li,{children:"Change attributes on the front end only."}),"\n",(0,n.jsx)(o.li,{children:"Don't set attributes in the database."}),"\n"]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Use Case:"})}),"\n",(0,n.jsx)(o.p,{children:"If you tried to create any grid in your block on the front end, you know it is easy, but it is not so with the block editor. The problem is that in the block editor DOM, there are additional divs added over your block that break your HTML structure, and all your styles from flex or grid will not work correctly. If your block depends on some special selector placed in a specific place, you can run into some problems in the block editor."}),"\n",(0,n.jsx)(o.p,{children:"With WordPress block editor hooks, we can fix this by not adding the selector to its original location as we do on the front end but adding them to the Block Editor's parent component."}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Implementation"})}),"\n",(0,n.jsxs)(o.p,{children:["Here you can see our example of this hook used in the ",(0,n.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/custom/column/column-hooks.js",children:"column block"}),"."]}),"\n",(0,n.jsx)(o.h2,{id:"how-to-only-use-my-custom-blocks",children:"How to only use my custom blocks"}),"\n",(0,n.jsxs)(o.p,{children:["You can remove all core blocks and any other blocks provided by third-party plugins by adding this filter to your ",(0,n.jsx)(o.code,{children:"src/Blocks/Blocks.php"})," class."]}),"\n",(0,n.jsx)(o.p,{children:"Filter goes in the register method:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:"// Limits the usage of only custom project blocks.\nadd_filter('allowed_block_types_all', [$this, 'getAllBlocksList'], 10, 2);\n"})}),"\n",(0,n.jsx)(o.admonition,{title:"Important",type:"caution",children:(0,n.jsx)(o.p,{children:"For WordPress versions > 5 and < 5.8 you would need to use the example below."})}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:" // Limits the usage of only custom project blocks - legacy.\n add_filter('allowed_block_types', [$this, 'getAllBlocksListOld'], 10, 2);\n"})}),"\n",(0,n.jsxs)(o.p,{children:["The callback method is set in the parent ",(0,n.jsx)(o.code,{children:"AbstractBlocks"})," class."]}),"\n",(0,n.jsx)(o.h2,{id:"i-want-to-use-my-custom-blocks-but-add-some-core-or-third-party-plugins-blocks",children:"I want to use my custom blocks but add some core or third party plugins blocks"}),"\n",(0,n.jsxs)(o.p,{children:["You create a new callback method for the ",(0,n.jsx)(o.code,{children:"allowed_block_types_all"})," filter. There you can allow all your custom blocks + any other 3rd party / core block you want."]}),"\n",(0,n.jsx)(o.p,{children:"Filter goes in the register method:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:"// Limits the usage of only custom project blocks.\nadd_filter('allowed_block_types_all', [$this, 'allowedBlocks'], 10, 2);\n"})}),"\n",(0,n.jsx)(o.p,{children:"Custom callback method:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:"/**\n * Filter which blocks are displayed in the block editor.\n *\n * @param array|bool $allowedBlockTypes Array of block type slugs, or boolean to enable/disable all.\n * @param WP_Block_Editor_Context $blockEditorContext The current block editor context.\n *\n * @return array\n */\npublic function allowedBlocks($allowedBlockTypes, WP_Block_Editor_Context $blockEditorContext): array\n{\n return $this->getAllBlocksList(['core/paragraph'], $blockEditorContext);\n}\n"})}),"\n",(0,n.jsx)(o.admonition,{title:"Important",type:"caution",children:(0,n.jsxs)(o.p,{children:["For WordPress versions > 5 and < 5.8 you would need to use the filter example below. Also change the first argument of array_merge in ",(0,n.jsx)(o.code,{children:"allowedBlocks"})," function to ",(0,n.jsx)(o.code,{children:"$this->getAllBlocksListOld($allowedBlockTypes, $post)"})]})}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:" // Limits the usage of only custom project blocks - legacy.\n add_filter('allowed_block_types', [$this, 'allowedBlocks'], 10, 2);\n"})}),"\n",(0,n.jsx)(o.h2,{id:"i-want-to-enable-blocks-only-on-specific-custom-post-type",children:"I want to enable blocks only on specific custom post type"}),"\n",(0,n.jsxs)(o.p,{children:["You create a new callback method for the ",(0,n.jsx)(o.code,{children:"allowed_block_types_all"})," filter."]}),"\n",(0,n.jsx)(o.p,{children:"Filter goes in the register method:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:"// Limits the usage of only custom project blocks.\nadd_filter('allowed_block_types_all', [$this, 'allowedBlockTypes'], 10, 2);\n"})}),"\n",(0,n.jsx)(o.p,{children:"Custom callback method:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:"/**\n * Filter which blocks are allowed in what post type.\n *\n * @param array|bool $allowedBlockTypes Array of block type slugs, or boolean to enable/disable all.\n * @param WP_Block_Editor_Context $blockEditorContext The current block editor context.\n *\n * @return array\n */\npublic function allowedBlockTypes($allowedBlockTypes, WP_Block_Editor_Context $blockEditorContext): array\n{\n $output = [];\n $settings = $this->getSettings();\n $namespace = $settings['namespace'];\n\n switch ($blockEditorContext->post->post_type) {\n case 'faq':\n $output = [\n \"{$namespace}/paragraph\",\n ];\n break;\n default:\n $output = $this->getAllBlocksList($allowedBlockTypes, $blockEditorContext);\n break;\n }\n\n return $output;\n}\n"})}),"\n",(0,n.jsx)(o.admonition,{title:"Important",type:"caution",children:(0,n.jsxs)(o.p,{children:["For WordPress versions > 5 and < 5.8 you would need to use the filter example below. And also change the default switch case in the ",(0,n.jsx)(o.code,{children:"allowedBlockTypes"})," function to ",(0,n.jsx)(o.code,{children:"$output = $this->getAllBlocksListOld($allowedBlockTypes, $post);"})]})}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:" // Limits the usage of only custom project blocks - legacy.\n add_filter('allowed_block_types', [$this, 'allowedBlocks'], 10, 2);\n"})})]})}function h(e={}){const{wrapper:o}={...(0,s.M)(),...e.components};return o?(0,n.jsx)(o,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},4552:(e,o,t)=>{t.d(o,{I:()=>r,M:()=>i});var n=t(11504);const s={},l=n.createContext(s);function i(e){const o=n.useContext(l);return n.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function r(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),n.createElement(l.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6bcded04.bb5174b4.js b/assets/js/6bcded04.bb5174b4.js new file mode 100644 index 000000000..9c3d70744 --- /dev/null +++ b/assets/js/6bcded04.bb5174b4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[95004],{54848:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>p,frontMatter:()=>s,metadata:()=>c,toc:()=>o});var n=i(17624),r=i(4552);const s={id:"rest",title:"REST Intro"},a=void 0,c={id:"legacy/v6/basics/rest",title:"REST Intro",description:"docs-source",source:"@site/docs/legacy/v6/basics/rest.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/rest",permalink:"/docs/legacy/v6/basics/rest",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"rest",title:"REST Intro"},sidebar:"docs",previous:{title:"Assets Manifest",permalink:"/docs/legacy/v6/basics/manifest"},next:{title:"REST Field",permalink:"/docs/legacy/v6/basics/rest-field"}},l={},o=[{value:"CallableFieldInterface.php",id:"callablefieldinterfacephp",level:3},{value:"CallableRouteInterface.php",id:"callablerouteinterfacephp",level:3},{value:"RouteSecurityInterface.php",id:"routesecurityinterfacephp",level:3},{value:"RouteInterface.php",id:"routeinterfacephp",level:3},{value:"AbstractField.php",id:"abstractfieldphp",level:3},{value:"AbstractRoute.php",id:"abstractroutephp",level:3}];function d(e){const t={a:"a",code:"code",h3:"h3",img:"img",p:"p",...(0,r.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/4.0.0",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(t.p,{children:"Depending on the type of projects you are working on, you might need to create a new REST API route or add a new API field to an existing route."}),"\n",(0,n.jsx)(t.p,{children:"We have prepared four interfaces and two abstract classes for you."}),"\n",(0,n.jsx)(t.p,{children:"In general, you will only use what you need from the provided options."}),"\n",(0,n.jsx)(t.h3,{id:"callablefieldinterfacephp",children:"CallableFieldInterface.php"}),"\n",(0,n.jsx)(t.p,{children:"The interface used in REST API Fields for providing a callback method."}),"\n",(0,n.jsx)(t.h3,{id:"callablerouteinterfacephp",children:"CallableRouteInterface.php"}),"\n",(0,n.jsx)(t.p,{children:"The interface used in REST API Routes for providing a callback method."}),"\n",(0,n.jsx)(t.h3,{id:"routesecurityinterfacephp",children:"RouteSecurityInterface.php"}),"\n",(0,n.jsx)(t.p,{children:"The interface used in REST API Routes for providing authentication methods."}),"\n",(0,n.jsx)(t.h3,{id:"routeinterfacephp",children:"RouteInterface.php"}),"\n",(0,n.jsxs)(t.p,{children:["The interface used in REST API Routes for providing general options for your route, such as variables for ",(0,n.jsx)(t.code,{children:"READABLE"}),", ",(0,n.jsx)(t.code,{children:"CREATABLE"}),", etc..."]}),"\n",(0,n.jsx)(t.h3,{id:"abstractfieldphp",children:"AbstractField.php"}),"\n",(0,n.jsx)(t.p,{children:"Abstract class used in REST API Field for updating existing fields or providing a new field to the existing REST API."}),"\n",(0,n.jsxs)(t.p,{children:["Please check the implementation details in ",(0,n.jsx)(t.a,{href:"rest-field",children:"this example"}),"."]}),"\n",(0,n.jsx)(t.h3,{id:"abstractroutephp",children:"AbstractRoute.php"}),"\n",(0,n.jsx)(t.p,{children:"Abstract class used in REST API Route for adding a new REST API route."}),"\n",(0,n.jsxs)(t.p,{children:["Please check the implementation details in ",(0,n.jsx)(t.a,{href:"rest-route",children:"this example"}),"."]})]})}function p(e={}){const{wrapper:t}={...(0,r.M)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},4552:(e,t,i)=>{i.d(t,{I:()=>c,M:()=>a});var n=i(11504);const r={},s=n.createContext(r);function a(e){const t=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),n.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6bcded04.ff8f8d59.js b/assets/js/6bcded04.ff8f8d59.js deleted file mode 100644 index 1e614c2f1..000000000 --- a/assets/js/6bcded04.ff8f8d59.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[94190],{39437:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>p,frontMatter:()=>s,metadata:()=>c,toc:()=>o});var n=i(85893),r=i(11151);const s={id:"rest",title:"REST Intro"},a=void 0,c={id:"legacy/v6/basics/rest",title:"REST Intro",description:"docs-source",source:"@site/docs/legacy/v6/basics/rest.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/rest",permalink:"/docs/legacy/v6/basics/rest",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"rest",title:"REST Intro"},sidebar:"docs",previous:{title:"Assets Manifest",permalink:"/docs/legacy/v6/basics/manifest"},next:{title:"REST Field",permalink:"/docs/legacy/v6/basics/rest-field"}},l={},o=[{value:"CallableFieldInterface.php",id:"callablefieldinterfacephp",level:3},{value:"CallableRouteInterface.php",id:"callablerouteinterfacephp",level:3},{value:"RouteSecurityInterface.php",id:"routesecurityinterfacephp",level:3},{value:"RouteInterface.php",id:"routeinterfacephp",level:3},{value:"AbstractField.php",id:"abstractfieldphp",level:3},{value:"AbstractRoute.php",id:"abstractroutephp",level:3}];function d(e){const t={a:"a",code:"code",h3:"h3",img:"img",p:"p",...(0,r.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/4.0.0",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(t.p,{children:"Depending on the type of projects you are working on, you might need to create a new REST API route or add a new API field to an existing route."}),"\n",(0,n.jsx)(t.p,{children:"We have prepared four interfaces and two abstract classes for you."}),"\n",(0,n.jsx)(t.p,{children:"In general, you will only use what you need from the provided options."}),"\n",(0,n.jsx)(t.h3,{id:"callablefieldinterfacephp",children:"CallableFieldInterface.php"}),"\n",(0,n.jsx)(t.p,{children:"The interface used in REST API Fields for providing a callback method."}),"\n",(0,n.jsx)(t.h3,{id:"callablerouteinterfacephp",children:"CallableRouteInterface.php"}),"\n",(0,n.jsx)(t.p,{children:"The interface used in REST API Routes for providing a callback method."}),"\n",(0,n.jsx)(t.h3,{id:"routesecurityinterfacephp",children:"RouteSecurityInterface.php"}),"\n",(0,n.jsx)(t.p,{children:"The interface used in REST API Routes for providing authentication methods."}),"\n",(0,n.jsx)(t.h3,{id:"routeinterfacephp",children:"RouteInterface.php"}),"\n",(0,n.jsxs)(t.p,{children:["The interface used in REST API Routes for providing general options for your route, such as variables for ",(0,n.jsx)(t.code,{children:"READABLE"}),", ",(0,n.jsx)(t.code,{children:"CREATABLE"}),", etc..."]}),"\n",(0,n.jsx)(t.h3,{id:"abstractfieldphp",children:"AbstractField.php"}),"\n",(0,n.jsx)(t.p,{children:"Abstract class used in REST API Field for updating existing fields or providing a new field to the existing REST API."}),"\n",(0,n.jsxs)(t.p,{children:["Please check the implementation details in ",(0,n.jsx)(t.a,{href:"rest-field",children:"this example"}),"."]}),"\n",(0,n.jsx)(t.h3,{id:"abstractroutephp",children:"AbstractRoute.php"}),"\n",(0,n.jsx)(t.p,{children:"Abstract class used in REST API Route for adding a new REST API route."}),"\n",(0,n.jsxs)(t.p,{children:["Please check the implementation details in ",(0,n.jsx)(t.a,{href:"rest-route",children:"this example"}),"."]})]})}function p(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},11151:(e,t,i)=>{i.d(t,{Z:()=>c,a:()=>a});var n=i(67294);const r={},s=n.createContext(r);function a(e){const t=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),n.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6cbda4b6.dd510b8c.js b/assets/js/6cbda4b6.dd510b8c.js deleted file mode 100644 index 3c0c84dcc..000000000 --- a/assets/js/6cbda4b6.dd510b8c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[18505],{88771:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>d,contentTitle:()=>r,default:()=>a,frontMatter:()=>t,metadata:()=>l,toc:()=>c});var o=n(85893),i=n(11151);const t={id:"block-structure",title:"Block Structure"},r=void 0,l={id:"basics/block-structure",title:"Block Structure",description:"docs-source",source:"@site/docs/basics/block-structure.md",sourceDirName:"basics",slug:"/basics/block-structure",permalink:"/docs/basics/block-structure",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"block-structure",title:"Block Structure"},sidebar:"docs",previous:{title:"Global Manifest",permalink:"/docs/basics/blocks-global-manifest"},next:{title:"Component Structure",permalink:"/docs/basics/blocks-component-structure"}},d={},c=[{value:"assets",id:"assets",level:3},{value:"components",id:"components",level:3},{value:"docs",id:"docs",level:3},{value:"heading-block.js",id:"heading-blockjs",level:3},{value:"heading.php",id:"headingphp",level:3},{value:"heading-editor.scss",id:"heading-editorscss",level:3},{value:"heading-style.scss",id:"heading-stylescss",level:3},{value:"heading-hooks.js",id:"heading-hooksjs",level:3},{value:"heading-transforms.js",id:"heading-transformsjs",level:3},{value:"manifest.json",id:"manifestjson",level:3}];function h(e){const s={a:"a",code:"code",em:"em",h3:"h3",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s.p,{children:(0,o.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,o.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsxs)(s.p,{children:["Your custom blocks are placed in the ",(0,o.jsx)(s.code,{children:"src/Blocks/custom"})," folder."]}),"\n",(0,o.jsxs)(s.p,{children:["For example, let's take the heading block (just replace ",(0,o.jsx)(s.code,{children:"heading"})," with your block name)."]}),"\n",(0,o.jsxs)(s.p,{children:["We suggest you always use the full name and never abbreviate the block name. If your block has multiple words, you should separate them by a dash, for example, ",(0,o.jsx)(s.code,{children:"featured-post-block.js"}),"."]}),"\n",(0,o.jsx)(s.p,{children:(0,o.jsx)(s.strong,{children:"Block structure should look like this:"})}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:["heading","\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:["assets","\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsx)(s.li,{children:"index.js"}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(s.li,{children:["components","\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsx)(s.li,{children:"heading-editor.js"}),"\n",(0,o.jsx)(s.li,{children:"heading-options.js"}),"\n",(0,o.jsx)(s.li,{children:"heading-toolbar.js"}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(s.li,{children:["docs","\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsx)(s.li,{children:"story.js"}),"\n",(0,o.jsx)(s.li,{children:"readme.mdx"}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(s.li,{children:"heading-block.js"}),"\n",(0,o.jsx)(s.li,{children:"heading.php"}),"\n",(0,o.jsx)(s.li,{children:"heading-editor.scss"}),"\n",(0,o.jsx)(s.li,{children:"heading-style.scss"}),"\n",(0,o.jsx)(s.li,{children:"heading-hooks.js"}),"\n",(0,o.jsx)(s.li,{children:"heading-transforms.js"}),"\n",(0,o.jsx)(s.li,{children:"manifest.json"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(s.p,{children:["For example, you can check the ",(0,o.jsx)(s.a,{href:"/storybook",children:"storybook"}),"."]}),"\n",(0,o.jsx)(s.h3,{id:"assets",children:"assets"}),"\n",(0,o.jsxs)(s.p,{children:["In this folder, you'll define all the custom JavaScript functionality for your block that will only be used on the front end of the application. You must provide the ",(0,o.jsx)(s.code,{children:"index.js"})," file in this folder, as a starting point, and the rest is up to you. We recommend using ",(0,o.jsx)(s.a,{href:"dynamic-import",children:"JavaScript dynamic imports"})," for all your front-end scripts. This ensures that the JavaScript is only loaded in the application when it is used and not before. By using dynamic import, you optimize your application and make it load faster."]}),"\n",(0,o.jsx)(s.h3,{id:"components",children:"components"}),"\n",(0,o.jsxs)(s.p,{children:["The components folder holds three files: ",(0,o.jsx)(s.code,{children:"heading-options.js"}),", ",(0,o.jsx)(s.code,{children:"heading-editor.js"}),", and ",(0,o.jsx)(s.code,{children:"heading-toolbars.js"}),". Each of these files represents a part of the block editor block that is used in the editor. We have separated options, editor, and toolbar into separate components for readability and reusing components in different projects."]}),"\n",(0,o.jsx)(s.h3,{id:"docs",children:"docs"}),"\n",(0,o.jsx)(s.p,{children:"Contains everything a block needs to be run inside the Storybook. This part is optional. However, it will speed up your development time and provide you with much-needed documentation."}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"story.js"})," - Storybook entry point for your block. All blocks have the exact same story."]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"readme.mdx"})," - README document that describes your block and provides the documentation."]}),"\n"]}),"\n",(0,o.jsx)(s.h3,{id:"heading-blockjs",children:"heading-block.js"}),"\n",(0,o.jsxs)(s.p,{children:["This file represents the ",(0,o.jsx)(s.code,{children:"edit"})," callback method used in WordPress ",(0,o.jsx)(s.code,{children:"registerBlockType"})," method.\nWe are not using the ",(0,o.jsx)(s.code,{children:"save"})," callback method because we are creating dynamic blocks. The ",(0,o.jsx)(s.code,{children:"edit"})," method describes how your block will be rendered in the editor once the block is used. In this file, you can use more advanced stuff like hooks and all the top-level block features."]}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"heading-options.js"})," - must be wrapped with the ",(0,o.jsx)(s.code,{children:"InspectorControls"})," component from the core. This will ensure that options are shown in the proper place in the block editor (sidebar)."]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"heading-toolbar.js"})," - must be wrapped with the ",(0,o.jsx)(s.code,{children:"BlockControls"})," component from the core. This will ensure that the toolbar is shown in the proper place in the block editor (floating or fixed toolbar)."]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"heading-editor.js"})," - must ",(0,o.jsx)(s.strong,{children:"not"})," be wrapped with any top-level component. This will ensure that the editor component is shown in the proper place in the block editor (editor)."]}),"\n"]}),"\n",(0,o.jsx)(s.h3,{id:"headingphp",children:"heading.php"}),"\n",(0,o.jsxs)(s.p,{children:["This file is the front-end representation of a block. In this file, you will have all the attributes you defined in the ",(0,o.jsx)(s.code,{children:"manifest.json"})," file."]}),"\n",(0,o.jsx)(s.p,{children:"In the blocks PHP part, you always have these two properties (props) available:"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"$attributes"})," - This prop contains all the attributes you defined in the ",(0,o.jsx)(s.code,{children:"manifest.json"})," and all the attributes saved in the database."]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"$innerBlockContent"})," - This prop contains all the inner block details when you set your block to contain inner blocks."]}),"\n"]}),"\n",(0,o.jsx)(s.h3,{id:"heading-editorscss",children:"heading-editor.scss"}),"\n",(0,o.jsx)(s.p,{children:"Holds only the editor styling for the block. You should be using this file to override styles in the editor set by the component. In 90% of cases, you will not need to write any overrides here. But if you are using any column layout like a grid, flex, etc., you may need to add some corrections."}),"\n",(0,o.jsx)(s.p,{children:"Corrections in the grid layout are necessary because the block editor adds additional HTML and we can't change it."}),"\n",(0,o.jsxs)(s.p,{children:["Please read the ",(0,o.jsx)(s.a,{href:"blocks-styles",children:"block styles"})," chapter for more details."]}),"\n",(0,o.jsxs)(s.p,{children:[(0,o.jsx)(s.em,{children:"This file is optional"}),"."]}),"\n",(0,o.jsx)(s.h3,{id:"heading-stylescss",children:"heading-style.scss"}),"\n",(0,o.jsx)(s.p,{children:"Holds all the front-end and editor styling for the component."}),"\n",(0,o.jsxs)(s.p,{children:["Please read the ",(0,o.jsx)(s.a,{href:"blocks-styles",children:"block styles"})," chapter for more details."]}),"\n",(0,o.jsxs)(s.p,{children:[(0,o.jsx)(s.em,{children:"This file is optional"}),"."]}),"\n",(0,o.jsx)(s.h3,{id:"heading-hooksjs",children:"heading-hooks.js"}),"\n",(0,o.jsxs)(s.p,{children:["Here you can provide any custom block editor hook you need. For documentation, please refer to ",(0,o.jsx)(s.a,{href:"https://developer.wordpress.org/block-editor/developers/filters/block-filters/",children:"this link"}),". This file is going to be merged in the ",(0,o.jsx)(s.code,{children:"registerBlockType"})," method."]}),"\n",(0,o.jsx)(s.h3,{id:"heading-transformsjs",children:"heading-transforms.js"}),"\n",(0,o.jsxs)(s.p,{children:["Here you can provide any custom block transformation you need. For documentation, please refer to ",(0,o.jsx)(s.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-transforms/",children:"this link"}),". This file is going to be merged in the ",(0,o.jsx)(s.code,{children:"registerBlockType"})," method."]}),"\n",(0,o.jsx)(s.h3,{id:"manifestjson",children:"manifest.json"}),"\n",(0,o.jsxs)(s.p,{children:["This file contains all the configuration required for a block to work. It's used in WordPress ",(0,o.jsx)(s.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-registration/",children:(0,o.jsx)(s.code,{children:"registerBlockType"})})," method to register a block."]}),"\n",(0,o.jsxs)(s.p,{children:["For more details, check the ",(0,o.jsx)(s.a,{href:"block-manifest",children:"block manifest"})," chapter."]})]})}function a(e={}){const{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,o.jsx)(s,{...e,children:(0,o.jsx)(h,{...e})}):h(e)}},11151:(e,s,n)=>{n.d(s,{Z:()=>l,a:()=>r});var o=n(67294);const i={},t=o.createContext(i);function r(e){const s=o.useContext(t);return o.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),o.createElement(t.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6cbda4b6.f5d88655.js b/assets/js/6cbda4b6.f5d88655.js new file mode 100644 index 000000000..d4cb4dd79 --- /dev/null +++ b/assets/js/6cbda4b6.f5d88655.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[61856],{93520:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>d,contentTitle:()=>r,default:()=>a,frontMatter:()=>t,metadata:()=>l,toc:()=>c});var o=n(17624),i=n(4552);const t={id:"block-structure",title:"Block Structure"},r=void 0,l={id:"basics/block-structure",title:"Block Structure",description:"docs-source",source:"@site/docs/basics/block-structure.md",sourceDirName:"basics",slug:"/basics/block-structure",permalink:"/docs/basics/block-structure",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"block-structure",title:"Block Structure"},sidebar:"docs",previous:{title:"Global Manifest",permalink:"/docs/basics/blocks-global-manifest"},next:{title:"Component Structure",permalink:"/docs/basics/blocks-component-structure"}},d={},c=[{value:"assets",id:"assets",level:3},{value:"components",id:"components",level:3},{value:"docs",id:"docs",level:3},{value:"heading-block.js",id:"heading-blockjs",level:3},{value:"heading.php",id:"headingphp",level:3},{value:"heading-editor.scss",id:"heading-editorscss",level:3},{value:"heading-style.scss",id:"heading-stylescss",level:3},{value:"heading-hooks.js",id:"heading-hooksjs",level:3},{value:"heading-transforms.js",id:"heading-transformsjs",level:3},{value:"manifest.json",id:"manifestjson",level:3}];function h(e){const s={a:"a",code:"code",em:"em",h3:"h3",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s.p,{children:(0,o.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,o.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsxs)(s.p,{children:["Your custom blocks are placed in the ",(0,o.jsx)(s.code,{children:"src/Blocks/custom"})," folder."]}),"\n",(0,o.jsxs)(s.p,{children:["For example, let's take the heading block (just replace ",(0,o.jsx)(s.code,{children:"heading"})," with your block name)."]}),"\n",(0,o.jsxs)(s.p,{children:["We suggest you always use the full name and never abbreviate the block name. If your block has multiple words, you should separate them by a dash, for example, ",(0,o.jsx)(s.code,{children:"featured-post-block.js"}),"."]}),"\n",(0,o.jsx)(s.p,{children:(0,o.jsx)(s.strong,{children:"Block structure should look like this:"})}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:["heading","\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:["assets","\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsx)(s.li,{children:"index.js"}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(s.li,{children:["components","\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsx)(s.li,{children:"heading-editor.js"}),"\n",(0,o.jsx)(s.li,{children:"heading-options.js"}),"\n",(0,o.jsx)(s.li,{children:"heading-toolbar.js"}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(s.li,{children:["docs","\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsx)(s.li,{children:"story.js"}),"\n",(0,o.jsx)(s.li,{children:"readme.mdx"}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(s.li,{children:"heading-block.js"}),"\n",(0,o.jsx)(s.li,{children:"heading.php"}),"\n",(0,o.jsx)(s.li,{children:"heading-editor.scss"}),"\n",(0,o.jsx)(s.li,{children:"heading-style.scss"}),"\n",(0,o.jsx)(s.li,{children:"heading-hooks.js"}),"\n",(0,o.jsx)(s.li,{children:"heading-transforms.js"}),"\n",(0,o.jsx)(s.li,{children:"manifest.json"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(s.p,{children:["For example, you can check the ",(0,o.jsx)(s.a,{href:"/storybook",children:"storybook"}),"."]}),"\n",(0,o.jsx)(s.h3,{id:"assets",children:"assets"}),"\n",(0,o.jsxs)(s.p,{children:["In this folder, you'll define all the custom JavaScript functionality for your block that will only be used on the front end of the application. You must provide the ",(0,o.jsx)(s.code,{children:"index.js"})," file in this folder, as a starting point, and the rest is up to you. We recommend using ",(0,o.jsx)(s.a,{href:"dynamic-import",children:"JavaScript dynamic imports"})," for all your front-end scripts. This ensures that the JavaScript is only loaded in the application when it is used and not before. By using dynamic import, you optimize your application and make it load faster."]}),"\n",(0,o.jsx)(s.h3,{id:"components",children:"components"}),"\n",(0,o.jsxs)(s.p,{children:["The components folder holds three files: ",(0,o.jsx)(s.code,{children:"heading-options.js"}),", ",(0,o.jsx)(s.code,{children:"heading-editor.js"}),", and ",(0,o.jsx)(s.code,{children:"heading-toolbars.js"}),". Each of these files represents a part of the block editor block that is used in the editor. We have separated options, editor, and toolbar into separate components for readability and reusing components in different projects."]}),"\n",(0,o.jsx)(s.h3,{id:"docs",children:"docs"}),"\n",(0,o.jsx)(s.p,{children:"Contains everything a block needs to be run inside the Storybook. This part is optional. However, it will speed up your development time and provide you with much-needed documentation."}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"story.js"})," - Storybook entry point for your block. All blocks have the exact same story."]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"readme.mdx"})," - README document that describes your block and provides the documentation."]}),"\n"]}),"\n",(0,o.jsx)(s.h3,{id:"heading-blockjs",children:"heading-block.js"}),"\n",(0,o.jsxs)(s.p,{children:["This file represents the ",(0,o.jsx)(s.code,{children:"edit"})," callback method used in WordPress ",(0,o.jsx)(s.code,{children:"registerBlockType"})," method.\nWe are not using the ",(0,o.jsx)(s.code,{children:"save"})," callback method because we are creating dynamic blocks. The ",(0,o.jsx)(s.code,{children:"edit"})," method describes how your block will be rendered in the editor once the block is used. In this file, you can use more advanced stuff like hooks and all the top-level block features."]}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"heading-options.js"})," - must be wrapped with the ",(0,o.jsx)(s.code,{children:"InspectorControls"})," component from the core. This will ensure that options are shown in the proper place in the block editor (sidebar)."]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"heading-toolbar.js"})," - must be wrapped with the ",(0,o.jsx)(s.code,{children:"BlockControls"})," component from the core. This will ensure that the toolbar is shown in the proper place in the block editor (floating or fixed toolbar)."]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"heading-editor.js"})," - must ",(0,o.jsx)(s.strong,{children:"not"})," be wrapped with any top-level component. This will ensure that the editor component is shown in the proper place in the block editor (editor)."]}),"\n"]}),"\n",(0,o.jsx)(s.h3,{id:"headingphp",children:"heading.php"}),"\n",(0,o.jsxs)(s.p,{children:["This file is the front-end representation of a block. In this file, you will have all the attributes you defined in the ",(0,o.jsx)(s.code,{children:"manifest.json"})," file."]}),"\n",(0,o.jsx)(s.p,{children:"In the blocks PHP part, you always have these two properties (props) available:"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"$attributes"})," - This prop contains all the attributes you defined in the ",(0,o.jsx)(s.code,{children:"manifest.json"})," and all the attributes saved in the database."]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"$innerBlockContent"})," - This prop contains all the inner block details when you set your block to contain inner blocks."]}),"\n"]}),"\n",(0,o.jsx)(s.h3,{id:"heading-editorscss",children:"heading-editor.scss"}),"\n",(0,o.jsx)(s.p,{children:"Holds only the editor styling for the block. You should be using this file to override styles in the editor set by the component. In 90% of cases, you will not need to write any overrides here. But if you are using any column layout like a grid, flex, etc., you may need to add some corrections."}),"\n",(0,o.jsx)(s.p,{children:"Corrections in the grid layout are necessary because the block editor adds additional HTML and we can't change it."}),"\n",(0,o.jsxs)(s.p,{children:["Please read the ",(0,o.jsx)(s.a,{href:"blocks-styles",children:"block styles"})," chapter for more details."]}),"\n",(0,o.jsxs)(s.p,{children:[(0,o.jsx)(s.em,{children:"This file is optional"}),"."]}),"\n",(0,o.jsx)(s.h3,{id:"heading-stylescss",children:"heading-style.scss"}),"\n",(0,o.jsx)(s.p,{children:"Holds all the front-end and editor styling for the component."}),"\n",(0,o.jsxs)(s.p,{children:["Please read the ",(0,o.jsx)(s.a,{href:"blocks-styles",children:"block styles"})," chapter for more details."]}),"\n",(0,o.jsxs)(s.p,{children:[(0,o.jsx)(s.em,{children:"This file is optional"}),"."]}),"\n",(0,o.jsx)(s.h3,{id:"heading-hooksjs",children:"heading-hooks.js"}),"\n",(0,o.jsxs)(s.p,{children:["Here you can provide any custom block editor hook you need. For documentation, please refer to ",(0,o.jsx)(s.a,{href:"https://developer.wordpress.org/block-editor/developers/filters/block-filters/",children:"this link"}),". This file is going to be merged in the ",(0,o.jsx)(s.code,{children:"registerBlockType"})," method."]}),"\n",(0,o.jsx)(s.h3,{id:"heading-transformsjs",children:"heading-transforms.js"}),"\n",(0,o.jsxs)(s.p,{children:["Here you can provide any custom block transformation you need. For documentation, please refer to ",(0,o.jsx)(s.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-transforms/",children:"this link"}),". This file is going to be merged in the ",(0,o.jsx)(s.code,{children:"registerBlockType"})," method."]}),"\n",(0,o.jsx)(s.h3,{id:"manifestjson",children:"manifest.json"}),"\n",(0,o.jsxs)(s.p,{children:["This file contains all the configuration required for a block to work. It's used in WordPress ",(0,o.jsx)(s.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-registration/",children:(0,o.jsx)(s.code,{children:"registerBlockType"})})," method to register a block."]}),"\n",(0,o.jsxs)(s.p,{children:["For more details, check the ",(0,o.jsx)(s.a,{href:"block-manifest",children:"block manifest"})," chapter."]})]})}function a(e={}){const{wrapper:s}={...(0,i.M)(),...e.components};return s?(0,o.jsx)(s,{...e,children:(0,o.jsx)(h,{...e})}):h(e)}},4552:(e,s,n)=>{n.d(s,{I:()=>l,M:()=>r});var o=n(11504);const i={},t=o.createContext(i);function r(e){const s=o.useContext(t);return o.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),o.createElement(t.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6e870323.3400b5c9.js b/assets/js/6e870323.3400b5c9.js new file mode 100644 index 000000000..86eec60e3 --- /dev/null +++ b/assets/js/6e870323.3400b5c9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[20500],{2080:s=>{s.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"default"}')}}]); \ No newline at end of file diff --git a/assets/js/6e870323.adeab9ff.js b/assets/js/6e870323.adeab9ff.js deleted file mode 100644 index c208fda78..000000000 --- a/assets/js/6e870323.adeab9ff.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[96434],{83769:s=>{s.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"default"}')}}]); \ No newline at end of file diff --git a/assets/js/6eb5397d.48d7fb7c.js b/assets/js/6eb5397d.48d7fb7c.js new file mode 100644 index 000000000..6f451dd7a --- /dev/null +++ b/assets/js/6eb5397d.48d7fb7c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[78924],{67784:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>i,contentTitle:()=>a,default:()=>u,frontMatter:()=>o,metadata:()=>r,toc:()=>c});var s=t(17624),l=t(4552);const o={id:"blocks-global-manifest",title:"Global Manifest",sidebar_label:"Global Manifest"},a=void 0,r={id:"legacy/v5/basics/blocks-global-manifest",title:"Global Manifest",description:"docs-source",source:"@site/docs/legacy/v5/basics/blocks-global-manifest.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/blocks-global-manifest",permalink:"/docs/legacy/v5/basics/blocks-global-manifest",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-global-manifest",title:"Global Manifest",sidebar_label:"Global Manifest"},sidebar:"docs",previous:{title:"Structure",permalink:"/docs/legacy/v5/basics/blocks-structure"},next:{title:"Block Structure",permalink:"/docs/legacy/v5/basics/block-structure"}},i={},c=[{value:"Namespace",id:"namespace",level:3},{value:"Background and foreground",id:"background-and-foreground",level:3},{value:"Global variables",id:"global-variables",level:3},{value:"Attributes",id:"attributes",level:3}];function d(e){const n={a:"a",code:"code",h3:"h3",img:"img",p:"p",pre:"pre",...(0,l.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/",children:(0,s.jsx)(n.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(n.p,{children:"Global manifest is used to provide all the global configuration to the blocks and components, and much more."}),"\n",(0,s.jsx)(n.p,{children:"Currently, our default global manifest looks like this:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-json",children:'{\n "namespace": "eightshift-boilerplate",\n "background": "#900000",\n "foreground": "#FFFFFF",\n "globalVariables": {\n "customBlocksName": "eightshift-block",\n "maxCols": 12,\n "containers": {\n "default": "1330px"\n },\n "gutters": {\n "none": "0",\n "default": "25px",\n "big": "50px"\n },\n "sectionSpacing": {\n "min": 0,\n "max": 300,\n "step": 10\n },\n "colors": [\n {\n "name": "Primary",\n "slug": "primary",\n "color": "#C3151B"\n },\n {\n "name": "Black",\n "slug": "black",\n "color": "#000000"\n },\n {\n "name": "White",\n "slug": "white",\n "color": "#FFFFFF"\n }\n ]\n }\n}\n'})}),"\n",(0,s.jsx)(n.p,{children:"As you can see, we have some global configuration for blocks and some SCSS variables. Along with these default keys, here you can define anything you need for the project."}),"\n",(0,s.jsx)(n.h3,{id:"namespace",children:"Namespace"}),"\n",(0,s.jsxs)(n.p,{children:["All blocks must have a valid block name to be registered. A valid block consists of namespace and block name, like this: ",(0,s.jsx)(n.code,{children:"eightshift-boilerplate/heading"}),"."]}),"\n",(0,s.jsx)(n.p,{children:"To remove the need to write namespace multiple times across multiple blocks, we have defined the namespace in the global manifest, and we use it in the block registration process."}),"\n",(0,s.jsxs)(n.p,{children:["If you want to define multiple namespaces for your blocks in a single folder, please refer to the ",(0,s.jsx)(n.a,{href:"block-structure",children:"block-structure"})," chapter for more details."]}),"\n",(0,s.jsx)(n.h3,{id:"background-and-foreground",children:"Background and foreground"}),"\n",(0,s.jsx)(n.p,{children:"Just like a namespace, we use the same logic for icons background and foreground when selecting a block from the list. Here you define global background and foreground for all your custom blocks."}),"\n",(0,s.jsxs)(n.p,{children:["Please refer to the ",(0,s.jsx)(n.a,{href:"block-structure",children:"block-structure"})," chapter for more details on how to override global background and foreground your blocks icon."]}),"\n",(0,s.jsx)(n.h3,{id:"global-variables",children:"Global variables"}),"\n",(0,s.jsxs)(n.p,{children:["These are all the global settings you can use in JavaScript, SCSS, and PHP files. We have covered this topic in more detail in the ",(0,s.jsx)(n.a,{href:"global-settings",children:"front-end global setting"})," chapter."]}),"\n",(0,s.jsx)(n.h3,{id:"attributes",children:"Attributes"}),"\n",(0,s.jsx)(n.p,{children:"We don't have this key in the example, but you can set the default attributes in this file, and they will be applied to all the blocks."}),"\n",(0,s.jsxs)(n.p,{children:["Please refer to the ",(0,s.jsx)(n.a,{href:"blocks-attributes",children:"blocks attributes"})," chapter for more details."]})]})}function u(e={}){const{wrapper:n}={...(0,l.M)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},4552:(e,n,t)=>{t.d(n,{I:()=>r,M:()=>a});var s=t(11504);const l={},o=s.createContext(l);function a(e){const n=s.useContext(o);return s.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(l):e.components||l:a(e.components),s.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6eb5397d.e84389fa.js b/assets/js/6eb5397d.e84389fa.js deleted file mode 100644 index eb410a484..000000000 --- a/assets/js/6eb5397d.e84389fa.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[87091],{56495:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>i,contentTitle:()=>o,default:()=>u,frontMatter:()=>l,metadata:()=>r,toc:()=>c});var s=t(85893),a=t(11151);const l={id:"blocks-global-manifest",title:"Global Manifest",sidebar_label:"Global Manifest"},o=void 0,r={id:"legacy/v5/basics/blocks-global-manifest",title:"Global Manifest",description:"docs-source",source:"@site/docs/legacy/v5/basics/blocks-global-manifest.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/blocks-global-manifest",permalink:"/docs/legacy/v5/basics/blocks-global-manifest",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-global-manifest",title:"Global Manifest",sidebar_label:"Global Manifest"},sidebar:"docs",previous:{title:"Structure",permalink:"/docs/legacy/v5/basics/blocks-structure"},next:{title:"Block Structure",permalink:"/docs/legacy/v5/basics/block-structure"}},i={},c=[{value:"Namespace",id:"namespace",level:3},{value:"Background and foreground",id:"background-and-foreground",level:3},{value:"Global variables",id:"global-variables",level:3},{value:"Attributes",id:"attributes",level:3}];function d(e){const n={a:"a",code:"code",h3:"h3",img:"img",p:"p",pre:"pre",...(0,a.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/",children:(0,s.jsx)(n.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(n.p,{children:"Global manifest is used to provide all the global configuration to the blocks and components, and much more."}),"\n",(0,s.jsx)(n.p,{children:"Currently, our default global manifest looks like this:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-json",children:'{\n "namespace": "eightshift-boilerplate",\n "background": "#900000",\n "foreground": "#FFFFFF",\n "globalVariables": {\n "customBlocksName": "eightshift-block",\n "maxCols": 12,\n "containers": {\n "default": "1330px"\n },\n "gutters": {\n "none": "0",\n "default": "25px",\n "big": "50px"\n },\n "sectionSpacing": {\n "min": 0,\n "max": 300,\n "step": 10\n },\n "colors": [\n {\n "name": "Primary",\n "slug": "primary",\n "color": "#C3151B"\n },\n {\n "name": "Black",\n "slug": "black",\n "color": "#000000"\n },\n {\n "name": "White",\n "slug": "white",\n "color": "#FFFFFF"\n }\n ]\n }\n}\n'})}),"\n",(0,s.jsx)(n.p,{children:"As you can see, we have some global configuration for blocks and some SCSS variables. Along with these default keys, here you can define anything you need for the project."}),"\n",(0,s.jsx)(n.h3,{id:"namespace",children:"Namespace"}),"\n",(0,s.jsxs)(n.p,{children:["All blocks must have a valid block name to be registered. A valid block consists of namespace and block name, like this: ",(0,s.jsx)(n.code,{children:"eightshift-boilerplate/heading"}),"."]}),"\n",(0,s.jsx)(n.p,{children:"To remove the need to write namespace multiple times across multiple blocks, we have defined the namespace in the global manifest, and we use it in the block registration process."}),"\n",(0,s.jsxs)(n.p,{children:["If you want to define multiple namespaces for your blocks in a single folder, please refer to the ",(0,s.jsx)(n.a,{href:"block-structure",children:"block-structure"})," chapter for more details."]}),"\n",(0,s.jsx)(n.h3,{id:"background-and-foreground",children:"Background and foreground"}),"\n",(0,s.jsx)(n.p,{children:"Just like a namespace, we use the same logic for icons background and foreground when selecting a block from the list. Here you define global background and foreground for all your custom blocks."}),"\n",(0,s.jsxs)(n.p,{children:["Please refer to the ",(0,s.jsx)(n.a,{href:"block-structure",children:"block-structure"})," chapter for more details on how to override global background and foreground your blocks icon."]}),"\n",(0,s.jsx)(n.h3,{id:"global-variables",children:"Global variables"}),"\n",(0,s.jsxs)(n.p,{children:["These are all the global settings you can use in JavaScript, SCSS, and PHP files. We have covered this topic in more detail in the ",(0,s.jsx)(n.a,{href:"global-settings",children:"front-end global setting"})," chapter."]}),"\n",(0,s.jsx)(n.h3,{id:"attributes",children:"Attributes"}),"\n",(0,s.jsx)(n.p,{children:"We don't have this key in the example, but you can set the default attributes in this file, and they will be applied to all the blocks."}),"\n",(0,s.jsxs)(n.p,{children:["Please refer to the ",(0,s.jsx)(n.a,{href:"blocks-attributes",children:"blocks attributes"})," chapter for more details."]})]})}function u(e={}){const{wrapper:n}={...(0,a.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},11151:(e,n,t)=>{t.d(n,{Z:()=>r,a:()=>o});var s=t(67294);const a={},l=s.createContext(a);function o(e){const n=s.useContext(l);return s.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(a):e.components||a:o(e.components),s.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6f0e603d.114f0bbb.js b/assets/js/6f0e603d.114f0bbb.js new file mode 100644 index 000000000..08aec98de --- /dev/null +++ b/assets/js/6f0e603d.114f0bbb.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[10740],{5836:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>d,frontMatter:()=>o,metadata:()=>a,toc:()=>c});var n=i(17624),s=i(4552);const o={id:"eightshift-libs",title:"Eightshift Libs"},r=void 0,a={id:"eightshift-libs",title:"Eightshift Libs",description:"docs-source",source:"@site/docs/eightshift-libs.md",sourceDirName:".",slug:"/eightshift-libs",permalink:"/docs/eightshift-libs",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"eightshift-libs",title:"Eightshift Libs"},sidebar:"docs",previous:{title:"Welcome",permalink:"/docs/welcome"},next:{title:"Eightshift Frontend Libs",permalink:"/docs/eightshift-frontend-libs"}},l={},c=[{value:"Prerequisites",id:"prerequisites",level:2},{value:"The library contains",id:"the-library-contains",level:3},{value:"How to integrate into an existing project",id:"how-to-integrate-into-an-existing-project",level:2},{value:"Who do I talk to?",id:"who-do-i-talk-to",level:2}];function h(e){const t={a:"a",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",ul:"ul",...(0,s.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsxs)(t.p,{children:["This library is aimed at bringing modern back-end development tools to the ",(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-boilerplate",children:"Eightshift Boilerplate"})," or ",(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-boilerplate-plugin",children:"Eightshift Boilerplate Plugin"}),", but you can use it on any WordPress project."]}),"\n",(0,n.jsx)(t.p,{children:"It uses a dependency injection container that provides a way to inject dependencies into classes to obey the single responsibility principle (SRP). Every class is responsible for registering its hooks, loaded automatically by the dependency injection container. This provides a more testable environment for your project."}),"\n",(0,n.jsx)(t.p,{children:"We provide helpers, abstract classes, interfaces, and abstractions on original WordPress functionality to help you write more modern code."}),"\n",(0,n.jsx)(t.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,n.jsx)(t.p,{children:"In our projects, we use object-oriented PHP, design patterns, and the SOLID principle. When you work on complex projects with various third-party integrations, it makes sense to use our boilerplate. You want your code to be easily extended, testable, and future-proof."}),"\n",(0,n.jsx)(t.p,{children:"If all you need is a simple website, some of these concepts might be too much for you, and you won't see many benefits in using them. This is totally valid. We need to pick our battles and decide for ourselves what is the best tool for the job."}),"\n",(0,n.jsx)(t.p,{children:"If you want to try our setup, but you might not be as versed in the above concepts, don't worry. We have lots of examples and we tried to make them easy to follow."}),"\n",(0,n.jsx)(t.h3,{id:"the-library-contains",children:"The library contains"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"Dependency injection container"}),"\n",(0,n.jsx)(t.li,{children:"PSR-4 autoloader"}),"\n",(0,n.jsx)(t.li,{children:"Autowiring of your service classes"}),"\n",(0,n.jsx)(t.li,{children:"WP-CLI commands to get all the features in your project using a single terminal command"}),"\n",(0,n.jsx)(t.li,{children:"Interfaces"}),"\n",(0,n.jsx)(t.li,{children:"Abstract classes"}),"\n",(0,n.jsx)(t.li,{children:"Helpers"}),"\n",(0,n.jsx)(t.li,{children:"..."}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"how-to-integrate-into-an-existing-project",children:"How to integrate into an existing project"}),"\n",(0,n.jsx)(t.p,{children:"The process of integrating the libs into an existing project is not easy, because it really depends on how your theme or plugin is built. Our libs expect the usage of namespacing, and adding namespace in a non namespaced codebase can potentially cause breakage."}),"\n",(0,n.jsx)(t.p,{children:"You can try to manually add the backend libs using composer and frontend using npm, but the process of connecting everything up can be a complex one. So we recommend starting from a clean slate."}),"\n",(0,n.jsx)(t.h2,{id:"who-do-i-talk-to",children:"Who do I talk to?"}),"\n",(0,n.jsxs)(t.p,{children:["If you have any questions or problems, please ",(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/issues",children:"open an issue"})," on GitHub, and we will do our best to give you a timely answer."]})]})}function d(e={}){const{wrapper:t}={...(0,s.M)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(h,{...e})}):h(e)}},4552:(e,t,i)=>{i.d(t,{I:()=>a,M:()=>r});var n=i(11504);const s={},o=n.createContext(s);function r(e){const t=n.useContext(o);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:r(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6f0e603d.412c68ae.js b/assets/js/6f0e603d.412c68ae.js deleted file mode 100644 index 41e76fca2..000000000 --- a/assets/js/6f0e603d.412c68ae.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[22776],{53669:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>d,frontMatter:()=>o,metadata:()=>a,toc:()=>c});var n=i(85893),s=i(11151);const o={id:"eightshift-libs",title:"Eightshift Libs"},r=void 0,a={id:"eightshift-libs",title:"Eightshift Libs",description:"docs-source",source:"@site/docs/eightshift-libs.md",sourceDirName:".",slug:"/eightshift-libs",permalink:"/docs/eightshift-libs",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"eightshift-libs",title:"Eightshift Libs"},sidebar:"docs",previous:{title:"Welcome",permalink:"/docs/welcome"},next:{title:"Eightshift Frontend Libs",permalink:"/docs/eightshift-frontend-libs"}},l={},c=[{value:"Prerequisites",id:"prerequisites",level:2},{value:"The library contains",id:"the-library-contains",level:3},{value:"How to integrate into an existing project",id:"how-to-integrate-into-an-existing-project",level:2},{value:"Who do I talk to?",id:"who-do-i-talk-to",level:2}];function h(e){const t={a:"a",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",ul:"ul",...(0,s.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsxs)(t.p,{children:["This library is aimed at bringing modern back-end development tools to the ",(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-boilerplate",children:"Eightshift Boilerplate"})," or ",(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-boilerplate-plugin",children:"Eightshift Boilerplate Plugin"}),", but you can use it on any WordPress project."]}),"\n",(0,n.jsx)(t.p,{children:"It uses a dependency injection container that provides a way to inject dependencies into classes to obey the single responsibility principle (SRP). Every class is responsible for registering its hooks, loaded automatically by the dependency injection container. This provides a more testable environment for your project."}),"\n",(0,n.jsx)(t.p,{children:"We provide helpers, abstract classes, interfaces, and abstractions on original WordPress functionality to help you write more modern code."}),"\n",(0,n.jsx)(t.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,n.jsx)(t.p,{children:"In our projects, we use object-oriented PHP, design patterns, and the SOLID principle. When you work on complex projects with various third-party integrations, it makes sense to use our boilerplate. You want your code to be easily extended, testable, and future-proof."}),"\n",(0,n.jsx)(t.p,{children:"If all you need is a simple website, some of these concepts might be too much for you, and you won't see many benefits in using them. This is totally valid. We need to pick our battles and decide for ourselves what is the best tool for the job."}),"\n",(0,n.jsx)(t.p,{children:"If you want to try our setup, but you might not be as versed in the above concepts, don't worry. We have lots of examples and we tried to make them easy to follow."}),"\n",(0,n.jsx)(t.h3,{id:"the-library-contains",children:"The library contains"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"Dependency injection container"}),"\n",(0,n.jsx)(t.li,{children:"PSR-4 autoloader"}),"\n",(0,n.jsx)(t.li,{children:"Autowiring of your service classes"}),"\n",(0,n.jsx)(t.li,{children:"WP-CLI commands to get all the features in your project using a single terminal command"}),"\n",(0,n.jsx)(t.li,{children:"Interfaces"}),"\n",(0,n.jsx)(t.li,{children:"Abstract classes"}),"\n",(0,n.jsx)(t.li,{children:"Helpers"}),"\n",(0,n.jsx)(t.li,{children:"..."}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"how-to-integrate-into-an-existing-project",children:"How to integrate into an existing project"}),"\n",(0,n.jsx)(t.p,{children:"The process of integrating the libs into an existing project is not easy, because it really depends on how your theme or plugin is built. Our libs expect the usage of namespacing, and adding namespace in a non namespaced codebase can potentially cause breakage."}),"\n",(0,n.jsx)(t.p,{children:"You can try to manually add the backend libs using composer and frontend using npm, but the process of connecting everything up can be a complex one. So we recommend starting from a clean slate."}),"\n",(0,n.jsx)(t.h2,{id:"who-do-i-talk-to",children:"Who do I talk to?"}),"\n",(0,n.jsxs)(t.p,{children:["If you have any questions or problems, please ",(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/issues",children:"open an issue"})," on GitHub, and we will do our best to give you a timely answer."]})]})}function d(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(h,{...e})}):h(e)}},11151:(e,t,i)=>{i.d(t,{Z:()=>a,a:()=>r});var n=i(67294);const s={},o=n.createContext(s);function r(e){const t=n.useContext(o);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:r(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6f52e085.51a68d0d.js b/assets/js/6f52e085.51a68d0d.js deleted file mode 100644 index 10fee91cf..000000000 --- a/assets/js/6f52e085.51a68d0d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[30866],{92481: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/6f52e085.bad06087.js b/assets/js/6f52e085.bad06087.js new file mode 100644 index 000000000..d2c906b38 --- /dev/null +++ b/assets/js/6f52e085.bad06087.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[64220],{71464: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/6ffa71f8.874268c5.js b/assets/js/6ffa71f8.874268c5.js new file mode 100644 index 000000000..73e39686b --- /dev/null +++ b/assets/js/6ffa71f8.874268c5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[42832],{14272:(e,s,i)=>{i.r(s),i.d(s,{default:()=>c});i(11504);var t=i(28264),r=i(70964),o=i(520),l=i(17624);function c(){const e=(0,t.c)(),{siteConfig:s={}}=e;return(0,l.jsx)(o.c,{title:"Storybook",description:s.tagline,keywords:s.customFields.keywords,metaImage:(0,r.c)(`img/${s.customFields.image}`),wrapperClassName:"es-single-full-screen-child es-has-t-border",children:(0,l.jsx)("iframe",{className:"es-full-size",src:"https://infinum.github.io/eightshift-frontend-libs/storybook/",allow:"clipboard-read; clipboard-write"})})}}}]); \ No newline at end of file diff --git a/assets/js/6ffa71f8.a5687f81.js b/assets/js/6ffa71f8.a5687f81.js deleted file mode 100644 index 8787adcbf..000000000 --- a/assets/js/6ffa71f8.a5687f81.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[70262],{43644:(e,s,i)=>{i.r(s),i.d(s,{default:()=>a});i(67294);var t=i(52263),r=i(44996),o=i(22189),l=i(85893);function a(){const e=(0,t.Z)(),{siteConfig:s={}}=e;return(0,l.jsx)(o.Z,{title:"Storybook",description:s.tagline,keywords:s.customFields.keywords,metaImage:(0,r.Z)("img/"+s.customFields.image),wrapperClassName:"es-single-full-screen-child es-has-t-border",children:(0,l.jsx)("iframe",{className:"es-full-size",src:"https://infinum.github.io/eightshift-frontend-libs/storybook/",allow:"clipboard-read; clipboard-write"})})}}}]); \ No newline at end of file diff --git a/assets/js/7089c5e9.134bf9fb.js b/assets/js/7089c5e9.134bf9fb.js deleted file mode 100644 index 79c8dd259..000000000 --- a/assets/js/7089c5e9.134bf9fb.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[78384],{26975:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>o,default:()=>p,frontMatter:()=>s,metadata:()=>l,toc:()=>m});var r=n(85893),i=n(11151),a=n(8122);const s={id:"mailerlite",title:"MailerLite"},o=void 0,l={id:"php/filters/integrations/mailerlite",title:"MailerLite",description:"",source:"@site/forms/php/filters/integrations/mailerlite.mdx",sourceDirName:"php/filters/integrations",slug:"/php/filters/integrations/mailerlite",permalink:"/forms/php/filters/integrations/mailerlite",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"mailerlite",title:"MailerLite"},sidebar:"forms",previous:{title:"Mailer",permalink:"/forms/php/filters/integrations/mailer"},next:{title:"Moments",permalink:"/forms/php/filters/integrations/moments"}},d={},m=[];function f(t){return(0,r.jsx)(a.k,{name:"MailerLite",filter:"mailerlite"})}function p(t={}){const{wrapper:e}={...(0,i.a)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(f,{...t})}):f()}},8122:(t,e,n)=>{n.d(e,{F:()=>o,k:()=>s});n(67294);var r=n(9286),i=n(61684),a=n(85893);function s(t){let{filter:e,onlyUse:n=["dataFilter","orderFilter","prePostIdFilter","prePostParamsFilter"]}=t;return(0,a.jsxs)(a.Fragment,{children:[n.includes("dataFilter")&&(0,a.jsx)(l,{filter:e}),n.includes("orderFilter")&&(0,a.jsx)(d,{filter:e}),n.includes("prePostIdFilter")&&(0,a.jsx)(m,{filter:e}),n.includes("prePostParamsFilter")&&(0,a.jsx)(f,{filter:e})]})}function o(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{children:"Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc."}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\tadd_filter('es_forms_block_"+e+"_additional_content', function(): string {\n\t\t\t\treturn '<custom-string>';\n\t\t\t})\n\t\t\t")})]})}function l(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Data filter"}),(0,a.jsx)("p",{children:"Allows modifying form field data before it's shown in the Block Editor or output on the frontend."}),(0,a.jsx)("p",{children:"Useful if, for example, you want to ensure that all fields fit into a 2-column layout."}),(0,a.jsx)("p",{children:"Overrides any Block Editor changes!"}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\tadd_filter('es_forms_integrations_"+e+'_data\', \'getIntegrationFilterData\', 10, 2);\n\n\t\t\t/**\n\t\t\t * Manipulate form fields data before it is sent to the Block Editor.\n\t\t\t *\n\t\t\t * @param array<mixed> $data Form fields data.\n\t\t\t * @param string $formId Form ID.\n\t\t\t *\n\t\t\t * @return array<mixed>\n\t\t\t */\n\t\t\tfunction getIntegrationFilterData(array $data, string $formId): array\n\t\t\t{\n\t\t\t\tforeach ($data as $index => $field) {\n\t\t\t\t\t$component = $field[\'component\'] ?? \'\';\n\n\t\t\t\t\tif (!$component) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t$name = $field["{$component}Name"] ?? \'\';\n\n\t\t\t\t\tif (!$name) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch ($name) {\n\t\t\t\t\t\tcase \'firstname\':\n\t\t\t\t\t\tcase \'lastname\':\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthMobile"] = 12;\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthLarge"] = 6;\n\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"] = array_merge(\n\t\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthMobile",\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthLarge",\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t')})]})}function d(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Order filter"}),(0,a.jsx)("p",{children:"Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor."}),(0,a.jsxs)("p",{children:["Not all fields need to have an order defined. For example, you may want to make sure ",(0,a.jsx)("code",{children:"firstname"}),", ",(0,a.jsx)("code",{children:"lastname"})," and ",(0,a.jsx)("code",{children:"email"})," are displayed first, but other fields follow their Block editor order."]}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_order', 'getIntegrationOrder');\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Forces form field order for the provided fields. For other fields, Block editor order is used.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationOrder(): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t'firstname',\n\t\t\t\t\t\t\t'lastname',\n\t\t\t\t\t\t\t'email',\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t")})]})}function m(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post ID filter"}),(0,a.jsx)("p",{children:"Allows updating item IDs sent to external integrations to which the form data is sent."}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_pre_post_id', 'getIntegrationPrePostId', 10, 3);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies integration item ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @param string $itemId Integration item ID.\n\t\t\t\t\t * @param array<mixed> $params Params to be sent to the integration.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @return array<mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostId(string $itemId, array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn $itemId;\n\t\t\t\t\t}\n\t\t\t\t")})]})}function f(t){let{filter:e}=t,n="";if("mailer"===e)n="mailer system";else n="external integration";return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post parameters filter"}),(0,a.jsxs)("p",{children:["Allows modifying form field data before it's sent to ",n,". Useful if you want to make values derived from the sent data, or add new fields."]}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_pre_post_params', 'getIntegrationPrePostParams', 10, 2);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies form field data before it's sent to "+n+".\n\t\t\t\t\t *\n\t\t\t\t\t * @param array<string, mixed> $params Array of params.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string, mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostParams(array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\t$formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? '';\n\n\t\t\t\t\t\tif ($formSubmissionPageLt) {\n\t\t\t\t\t\t\t$params['ib-submission-source'] = [\n\t\t\t\t\t\t\t\t'name' => 'ib-submission-source',\n\t\t\t\t\t\t\t\t'value' => $formSubmissionPageLt,\n\t\t\t\t\t\t\t\t'type' => 'text',\n\t\t\t\t\t\t\t\t'internalType' => '',\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn $params;\n\t\t\t\t\t}\n\t\t\t\t")})]})}},61684:(t,e,n)=>{function r(t){const e=t.split(/\n/g);for(;0===(null==(n=e[0])?void 0:n.replace(/\s/g,"").length);){var n;e.shift()}for(;0===(null==(r=e[e.length-1])?void 0:r.replace(/\s/g,"").length);){var r;e.pop()}const i=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>{var e,n;return null!=(e=null==(n=t.match(/^\s*/))||null==(n=n[0])?void 0:n.length)?e:0})),a=Math.min(...i);return e.map((t=>t.slice(a))).join("\n")}n.d(e,{p:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/7089c5e9.d19e9a88.js b/assets/js/7089c5e9.d19e9a88.js new file mode 100644 index 000000000..310a7d7e1 --- /dev/null +++ b/assets/js/7089c5e9.d19e9a88.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[82988],{51596:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>o,default:()=>c,frontMatter:()=>s,metadata:()=>l,toc:()=>m});var r=n(17624),i=n(4552),a=n(80148);const s={id:"mailerlite",title:"MailerLite"},o=void 0,l={id:"php/filters/integrations/mailerlite",title:"MailerLite",description:"",source:"@site/forms/php/filters/integrations/mailerlite.mdx",sourceDirName:"php/filters/integrations",slug:"/php/filters/integrations/mailerlite",permalink:"/forms/php/filters/integrations/mailerlite",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"mailerlite",title:"MailerLite"},sidebar:"forms",previous:{title:"Mailer",permalink:"/forms/php/filters/integrations/mailer"},next:{title:"Moments",permalink:"/forms/php/filters/integrations/moments"}},d={},m=[];function f(t){return(0,r.jsx)(a.y,{name:"MailerLite",filter:"mailerlite"})}function c(t={}){const{wrapper:e}={...(0,i.M)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(f,{...t})}):f()}},80148:(t,e,n)=>{n.d(e,{g:()=>o,y:()=>s});n(11504);var r=n(1608),i=n(96616),a=n(17624);function s(t){let{filter:e,onlyUse:n=["dataFilter","orderFilter","prePostIdFilter","prePostParamsFilter"]}=t;return(0,a.jsxs)(a.Fragment,{children:[n.includes("dataFilter")&&(0,a.jsx)(l,{filter:e}),n.includes("orderFilter")&&(0,a.jsx)(d,{filter:e}),n.includes("prePostIdFilter")&&(0,a.jsx)(m,{filter:e}),n.includes("prePostParamsFilter")&&(0,a.jsx)(f,{filter:e})]})}function o(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{children:"Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc."}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\tadd_filter('es_forms_block_${e}_additional_content', function(): string {\n\t\t\t\treturn '<custom-string>';\n\t\t\t})\n\t\t\t`)})]})}function l(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Data filter"}),(0,a.jsx)("p",{children:"Allows modifying form field data before it's shown in the Block Editor or output on the frontend."}),(0,a.jsx)("p",{children:"Useful if, for example, you want to ensure that all fields fit into a 2-column layout."}),(0,a.jsx)("p",{children:"Overrides any Block Editor changes!"}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\tadd_filter('es_forms_integrations_${e}_data', 'getIntegrationFilterData', 10, 2);\n\n\t\t\t/**\n\t\t\t * Manipulate form fields data before it is sent to the Block Editor.\n\t\t\t *\n\t\t\t * @param array<mixed> $data Form fields data.\n\t\t\t * @param string $formId Form ID.\n\t\t\t *\n\t\t\t * @return array<mixed>\n\t\t\t */\n\t\t\tfunction getIntegrationFilterData(array $data, string $formId): array\n\t\t\t{\n\t\t\t\tforeach ($data as $index => $field) {\n\t\t\t\t\t$component = $field['component'] ?? '';\n\n\t\t\t\t\tif (!$component) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t$name = $field["{$component}Name"] ?? '';\n\n\t\t\t\t\tif (!$name) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch ($name) {\n\t\t\t\t\t\tcase 'firstname':\n\t\t\t\t\t\tcase 'lastname':\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthMobile"] = 12;\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthLarge"] = 6;\n\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"] = array_merge(\n\t\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthMobile",\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthLarge",\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t`)})]})}function d(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Order filter"}),(0,a.jsx)("p",{children:"Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor."}),(0,a.jsxs)("p",{children:["Not all fields need to have an order defined. For example, you may want to make sure ",(0,a.jsx)("code",{children:"firstname"}),", ",(0,a.jsx)("code",{children:"lastname"})," and ",(0,a.jsx)("code",{children:"email"})," are displayed first, but other fields follow their Block editor order."]}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_order', 'getIntegrationOrder');\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Forces form field order for the provided fields. For other fields, Block editor order is used.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationOrder(): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t'firstname',\n\t\t\t\t\t\t\t'lastname',\n\t\t\t\t\t\t\t'email',\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t`)})]})}function m(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post ID filter"}),(0,a.jsx)("p",{children:"Allows updating item IDs sent to external integrations to which the form data is sent."}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_pre_post_id', 'getIntegrationPrePostId', 10, 3);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies integration item ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @param string $itemId Integration item ID.\n\t\t\t\t\t * @param array<mixed> $params Params to be sent to the integration.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @return array<mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostId(string $itemId, array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn $itemId;\n\t\t\t\t\t}\n\t\t\t\t`)})]})}function f(t){let{filter:e}=t,n="";if("mailer"===e)n="mailer system";else n="external integration";return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post parameters filter"}),(0,a.jsxs)("p",{children:["Allows modifying form field data before it's sent to ",n,". Useful if you want to make values derived from the sent data, or add new fields."]}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_pre_post_params', 'getIntegrationPrePostParams', 10, 2);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies form field data before it's sent to ${n}.\n\t\t\t\t\t *\n\t\t\t\t\t * @param array<string, mixed> $params Array of params.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string, mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostParams(array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\t$formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? '';\n\n\t\t\t\t\t\tif ($formSubmissionPageLt) {\n\t\t\t\t\t\t\t$params['ib-submission-source'] = [\n\t\t\t\t\t\t\t\t'name' => 'ib-submission-source',\n\t\t\t\t\t\t\t\t'value' => $formSubmissionPageLt,\n\t\t\t\t\t\t\t\t'type' => 'text',\n\t\t\t\t\t\t\t\t'internalType' => '',\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn $params;\n\t\t\t\t\t}\n\t\t\t\t`)})]})}},96616:(t,e,n)=>{function r(t){const e=t.split(/\n/g);for(;0===e[0]?.replace(/\s/g,"").length;)e.shift();for(;0===e[e.length-1]?.replace(/\s/g,"").length;)e.pop();const n=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>t.match(/^\s*/)?.[0]?.length??0)),r=Math.min(...n);return e.map((t=>t.slice(r))).join("\n")}n.d(e,{c:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/714feb36.3b874ad1.js b/assets/js/714feb36.3b874ad1.js deleted file mode 100644 index 2f6989d0c..000000000 --- a/assets/js/714feb36.3b874ad1.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[56204],{32637:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>i,default:()=>u,frontMatter:()=>r,metadata:()=>c,toc:()=>l});var o=n(85893),s=n(11151);const r={id:"frontend",title:"General"},i=void 0,c={id:"legacy/v7/basics/frontend",title:"General",description:"docs-source",source:"@site/docs/legacy/v7/basics/frontend.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/frontend",permalink:"/docs/legacy/v7/basics/frontend",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"frontend",title:"General"},sidebar:"docs",previous:{title:"REST Route",permalink:"/docs/legacy/v7/basics/rest-route"},next:{title:"Webpack",permalink:"/docs/legacy/v7/basics/webpack"}},a={},l=[];function d(e){const t={a:"a",code:"code",img:"img",p:"p",...(0,s.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0",children:(0,o.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsxs)(t.p,{children:["In general, you can use anything as-is from the ",(0,o.jsx)(t.code,{children:"node_modules"})," library, or you can modify/add the functionality in your project."]}),"\n",(0,o.jsxs)(t.p,{children:["Block editor is written using React; we then use React in the block editor. You can read about blocks in this ",(0,o.jsx)(t.a,{href:"blocks",children:"chapter"}),". However, there are other aspects of the project's front-end part you should know in order to use the Eightshift Boilerplate to its full potential."]})]})}function u(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},11151:(e,t,n)=>{n.d(t,{Z:()=>c,a:()=>i});var o=n(67294);const s={},r=o.createContext(s);function i(e){const t=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/714feb36.3c43cdf0.js b/assets/js/714feb36.3c43cdf0.js new file mode 100644 index 000000000..825afeff1 --- /dev/null +++ b/assets/js/714feb36.3c43cdf0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[44258],{62008:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>i,default:()=>u,frontMatter:()=>r,metadata:()=>c,toc:()=>l});var o=n(17624),s=n(4552);const r={id:"frontend",title:"General"},i=void 0,c={id:"legacy/v7/basics/frontend",title:"General",description:"docs-source",source:"@site/docs/legacy/v7/basics/frontend.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/frontend",permalink:"/docs/legacy/v7/basics/frontend",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"frontend",title:"General"},sidebar:"docs",previous:{title:"REST Route",permalink:"/docs/legacy/v7/basics/rest-route"},next:{title:"Webpack",permalink:"/docs/legacy/v7/basics/webpack"}},a={},l=[];function d(e){const t={a:"a",code:"code",img:"img",p:"p",...(0,s.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0",children:(0,o.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsxs)(t.p,{children:["In general, you can use anything as-is from the ",(0,o.jsx)(t.code,{children:"node_modules"})," library, or you can modify/add the functionality in your project."]}),"\n",(0,o.jsxs)(t.p,{children:["Block editor is written using React; we then use React in the block editor. You can read about blocks in this ",(0,o.jsx)(t.a,{href:"blocks",children:"chapter"}),". However, there are other aspects of the project's front-end part you should know in order to use the Eightshift Boilerplate to its full potential."]})]})}function u(e={}){const{wrapper:t}={...(0,s.M)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},4552:(e,t,n)=>{n.d(t,{I:()=>c,M:()=>i});var o=n(11504);const s={},r=o.createContext(s);function i(e){const t=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/715a66b3.0595f5c7.js b/assets/js/715a66b3.0595f5c7.js new file mode 100644 index 000000000..6c5afe0e4 --- /dev/null +++ b/assets/js/715a66b3.0595f5c7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[12524],{50792:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>o,default:()=>f,frontMatter:()=>s,metadata:()=>l,toc:()=>m});var r=n(17624),i=n(4552),a=n(80148);const s={id:"active-campaign",title:"ActiveCampaign"},o=void 0,l={id:"php/filters/integrations/active-campaign",title:"ActiveCampaign",description:"",source:"@site/forms/php/filters/integrations/active-campaign.mdx",sourceDirName:"php/filters/integrations",slug:"/php/filters/integrations/active-campaign",permalink:"/forms/php/filters/integrations/active-campaign",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"active-campaign",title:"ActiveCampaign"},sidebar:"forms",previous:{title:"Countries",permalink:"/forms/php/filters/geolocation/countries"},next:{title:"Airtable",permalink:"/forms/php/filters/integrations/airtable"}},d={},m=[];function c(t){return(0,r.jsx)(a.y,{name:"Active Campaign",filter:"active_campaign"})}function f(t={}){const{wrapper:e}={...(0,i.M)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(c,{...t})}):c()}},80148:(t,e,n)=>{n.d(e,{g:()=>o,y:()=>s});n(11504);var r=n(1608),i=n(96616),a=n(17624);function s(t){let{filter:e,onlyUse:n=["dataFilter","orderFilter","prePostIdFilter","prePostParamsFilter"]}=t;return(0,a.jsxs)(a.Fragment,{children:[n.includes("dataFilter")&&(0,a.jsx)(l,{filter:e}),n.includes("orderFilter")&&(0,a.jsx)(d,{filter:e}),n.includes("prePostIdFilter")&&(0,a.jsx)(m,{filter:e}),n.includes("prePostParamsFilter")&&(0,a.jsx)(c,{filter:e})]})}function o(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{children:"Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc."}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\tadd_filter('es_forms_block_${e}_additional_content', function(): string {\n\t\t\t\treturn '<custom-string>';\n\t\t\t})\n\t\t\t`)})]})}function l(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Data filter"}),(0,a.jsx)("p",{children:"Allows modifying form field data before it's shown in the Block Editor or output on the frontend."}),(0,a.jsx)("p",{children:"Useful if, for example, you want to ensure that all fields fit into a 2-column layout."}),(0,a.jsx)("p",{children:"Overrides any Block Editor changes!"}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\tadd_filter('es_forms_integrations_${e}_data', 'getIntegrationFilterData', 10, 2);\n\n\t\t\t/**\n\t\t\t * Manipulate form fields data before it is sent to the Block Editor.\n\t\t\t *\n\t\t\t * @param array<mixed> $data Form fields data.\n\t\t\t * @param string $formId Form ID.\n\t\t\t *\n\t\t\t * @return array<mixed>\n\t\t\t */\n\t\t\tfunction getIntegrationFilterData(array $data, string $formId): array\n\t\t\t{\n\t\t\t\tforeach ($data as $index => $field) {\n\t\t\t\t\t$component = $field['component'] ?? '';\n\n\t\t\t\t\tif (!$component) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t$name = $field["{$component}Name"] ?? '';\n\n\t\t\t\t\tif (!$name) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch ($name) {\n\t\t\t\t\t\tcase 'firstname':\n\t\t\t\t\t\tcase 'lastname':\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthMobile"] = 12;\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthLarge"] = 6;\n\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"] = array_merge(\n\t\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthMobile",\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthLarge",\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t`)})]})}function d(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Order filter"}),(0,a.jsx)("p",{children:"Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor."}),(0,a.jsxs)("p",{children:["Not all fields need to have an order defined. For example, you may want to make sure ",(0,a.jsx)("code",{children:"firstname"}),", ",(0,a.jsx)("code",{children:"lastname"})," and ",(0,a.jsx)("code",{children:"email"})," are displayed first, but other fields follow their Block editor order."]}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_order', 'getIntegrationOrder');\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Forces form field order for the provided fields. For other fields, Block editor order is used.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationOrder(): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t'firstname',\n\t\t\t\t\t\t\t'lastname',\n\t\t\t\t\t\t\t'email',\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t`)})]})}function m(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post ID filter"}),(0,a.jsx)("p",{children:"Allows updating item IDs sent to external integrations to which the form data is sent."}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_pre_post_id', 'getIntegrationPrePostId', 10, 3);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies integration item ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @param string $itemId Integration item ID.\n\t\t\t\t\t * @param array<mixed> $params Params to be sent to the integration.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @return array<mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostId(string $itemId, array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn $itemId;\n\t\t\t\t\t}\n\t\t\t\t`)})]})}function c(t){let{filter:e}=t,n="";if("mailer"===e)n="mailer system";else n="external integration";return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post parameters filter"}),(0,a.jsxs)("p",{children:["Allows modifying form field data before it's sent to ",n,". Useful if you want to make values derived from the sent data, or add new fields."]}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_pre_post_params', 'getIntegrationPrePostParams', 10, 2);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies form field data before it's sent to ${n}.\n\t\t\t\t\t *\n\t\t\t\t\t * @param array<string, mixed> $params Array of params.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string, mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostParams(array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\t$formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? '';\n\n\t\t\t\t\t\tif ($formSubmissionPageLt) {\n\t\t\t\t\t\t\t$params['ib-submission-source'] = [\n\t\t\t\t\t\t\t\t'name' => 'ib-submission-source',\n\t\t\t\t\t\t\t\t'value' => $formSubmissionPageLt,\n\t\t\t\t\t\t\t\t'type' => 'text',\n\t\t\t\t\t\t\t\t'internalType' => '',\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn $params;\n\t\t\t\t\t}\n\t\t\t\t`)})]})}},96616:(t,e,n)=>{function r(t){const e=t.split(/\n/g);for(;0===e[0]?.replace(/\s/g,"").length;)e.shift();for(;0===e[e.length-1]?.replace(/\s/g,"").length;)e.pop();const n=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>t.match(/^\s*/)?.[0]?.length??0)),r=Math.min(...n);return e.map((t=>t.slice(r))).join("\n")}n.d(e,{c:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/715a66b3.07782cab.js b/assets/js/715a66b3.07782cab.js deleted file mode 100644 index 63492a6c2..000000000 --- a/assets/js/715a66b3.07782cab.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[28015],{4262:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>o,default:()=>c,frontMatter:()=>s,metadata:()=>l,toc:()=>m});var r=n(85893),i=n(11151),a=n(8122);const s={id:"active-campaign",title:"ActiveCampaign"},o=void 0,l={id:"php/filters/integrations/active-campaign",title:"ActiveCampaign",description:"",source:"@site/forms/php/filters/integrations/active-campaign.mdx",sourceDirName:"php/filters/integrations",slug:"/php/filters/integrations/active-campaign",permalink:"/forms/php/filters/integrations/active-campaign",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"active-campaign",title:"ActiveCampaign"},sidebar:"forms",previous:{title:"Countries",permalink:"/forms/php/filters/geolocation/countries"},next:{title:"Airtable",permalink:"/forms/php/filters/integrations/airtable"}},d={},m=[];function f(t){return(0,r.jsx)(a.k,{name:"Active Campaign",filter:"active_campaign"})}function c(t={}){const{wrapper:e}={...(0,i.a)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(f,{...t})}):f()}},8122:(t,e,n)=>{n.d(e,{F:()=>o,k:()=>s});n(67294);var r=n(9286),i=n(61684),a=n(85893);function s(t){let{filter:e,onlyUse:n=["dataFilter","orderFilter","prePostIdFilter","prePostParamsFilter"]}=t;return(0,a.jsxs)(a.Fragment,{children:[n.includes("dataFilter")&&(0,a.jsx)(l,{filter:e}),n.includes("orderFilter")&&(0,a.jsx)(d,{filter:e}),n.includes("prePostIdFilter")&&(0,a.jsx)(m,{filter:e}),n.includes("prePostParamsFilter")&&(0,a.jsx)(f,{filter:e})]})}function o(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{children:"Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc."}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\tadd_filter('es_forms_block_"+e+"_additional_content', function(): string {\n\t\t\t\treturn '<custom-string>';\n\t\t\t})\n\t\t\t")})]})}function l(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Data filter"}),(0,a.jsx)("p",{children:"Allows modifying form field data before it's shown in the Block Editor or output on the frontend."}),(0,a.jsx)("p",{children:"Useful if, for example, you want to ensure that all fields fit into a 2-column layout."}),(0,a.jsx)("p",{children:"Overrides any Block Editor changes!"}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\tadd_filter('es_forms_integrations_"+e+'_data\', \'getIntegrationFilterData\', 10, 2);\n\n\t\t\t/**\n\t\t\t * Manipulate form fields data before it is sent to the Block Editor.\n\t\t\t *\n\t\t\t * @param array<mixed> $data Form fields data.\n\t\t\t * @param string $formId Form ID.\n\t\t\t *\n\t\t\t * @return array<mixed>\n\t\t\t */\n\t\t\tfunction getIntegrationFilterData(array $data, string $formId): array\n\t\t\t{\n\t\t\t\tforeach ($data as $index => $field) {\n\t\t\t\t\t$component = $field[\'component\'] ?? \'\';\n\n\t\t\t\t\tif (!$component) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t$name = $field["{$component}Name"] ?? \'\';\n\n\t\t\t\t\tif (!$name) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch ($name) {\n\t\t\t\t\t\tcase \'firstname\':\n\t\t\t\t\t\tcase \'lastname\':\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthMobile"] = 12;\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthLarge"] = 6;\n\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"] = array_merge(\n\t\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthMobile",\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthLarge",\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t')})]})}function d(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Order filter"}),(0,a.jsx)("p",{children:"Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor."}),(0,a.jsxs)("p",{children:["Not all fields need to have an order defined. For example, you may want to make sure ",(0,a.jsx)("code",{children:"firstname"}),", ",(0,a.jsx)("code",{children:"lastname"})," and ",(0,a.jsx)("code",{children:"email"})," are displayed first, but other fields follow their Block editor order."]}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_order', 'getIntegrationOrder');\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Forces form field order for the provided fields. For other fields, Block editor order is used.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationOrder(): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t'firstname',\n\t\t\t\t\t\t\t'lastname',\n\t\t\t\t\t\t\t'email',\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t")})]})}function m(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post ID filter"}),(0,a.jsx)("p",{children:"Allows updating item IDs sent to external integrations to which the form data is sent."}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_pre_post_id', 'getIntegrationPrePostId', 10, 3);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies integration item ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @param string $itemId Integration item ID.\n\t\t\t\t\t * @param array<mixed> $params Params to be sent to the integration.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @return array<mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostId(string $itemId, array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn $itemId;\n\t\t\t\t\t}\n\t\t\t\t")})]})}function f(t){let{filter:e}=t,n="";if("mailer"===e)n="mailer system";else n="external integration";return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post parameters filter"}),(0,a.jsxs)("p",{children:["Allows modifying form field data before it's sent to ",n,". Useful if you want to make values derived from the sent data, or add new fields."]}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_pre_post_params', 'getIntegrationPrePostParams', 10, 2);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies form field data before it's sent to "+n+".\n\t\t\t\t\t *\n\t\t\t\t\t * @param array<string, mixed> $params Array of params.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string, mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostParams(array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\t$formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? '';\n\n\t\t\t\t\t\tif ($formSubmissionPageLt) {\n\t\t\t\t\t\t\t$params['ib-submission-source'] = [\n\t\t\t\t\t\t\t\t'name' => 'ib-submission-source',\n\t\t\t\t\t\t\t\t'value' => $formSubmissionPageLt,\n\t\t\t\t\t\t\t\t'type' => 'text',\n\t\t\t\t\t\t\t\t'internalType' => '',\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn $params;\n\t\t\t\t\t}\n\t\t\t\t")})]})}},61684:(t,e,n)=>{function r(t){const e=t.split(/\n/g);for(;0===(null==(n=e[0])?void 0:n.replace(/\s/g,"").length);){var n;e.shift()}for(;0===(null==(r=e[e.length-1])?void 0:r.replace(/\s/g,"").length);){var r;e.pop()}const i=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>{var e,n;return null!=(e=null==(n=t.match(/^\s*/))||null==(n=n[0])?void 0:n.length)?e:0})),a=Math.min(...i);return e.map((t=>t.slice(a))).join("\n")}n.d(e,{p:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/72312.8739f414.js b/assets/js/72312.8739f414.js deleted file mode 100644 index 39b6f50da..000000000 --- a/assets/js/72312.8739f414.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[72312],{9286:(e,t,n)=>{"use strict";n.d(t,{Z:()=>P});var o=n(67294),s=n(72389),c=n(36905),r=n(92949),a=n(86668);function l(){const{prism:e}=(0,a.L)(),{colorMode:t}=(0,r.I)(),n=e.theme,o=e.darkTheme||n;return"dark"===t?o:n}var i=n(35281),u=n(87594),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"}},h={...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:""}},f=Object.keys(b);function g(e,t){const n=e.map((e=>{const{start:n,end:o}=h[e];return"(?:"+n+"\\s*("+t.flatMap((e=>{var t,n;return[e.line,null==(t=e.block)?void 0:t.start,null==(n=e.block)?void 0:n.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(f,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=>{null!=b[e]||(b[e]=[]),b[e].push(t)}))})),{lineClassNames:b,code:n}}const v={codeBlockContainer:"codeBlockContainer_Ckt0"};var x=n(85893);function B(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,x.jsx)(t,{...n,style:o,className:(0,c.Z)(n.className,v.codeBlockContainer,i.k.common.codeBlock)})}const j={codeBlockContent:"codeBlockContent_biex",codeBlockTitle:"codeBlockTitle_Ktv7",codeBlock:"codeBlock_bY9V",codeBlockStandalone:"codeBlockStandalone_MEMb",codeBlockLines:"codeBlockLines_e6Vv",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_o6Pm",buttonGroup:"buttonGroup__atx"};function y(e){let{children:t,className:n}=e;return(0,x.jsx)(B,{as:"pre",tabIndex:0,className:(0,c.Z)(j.codeBlockStandalone,"thin-scrollbar",n),children:(0,x.jsx)("code",{className:j.codeBlockLines,children:t})})}var C=n(902);const N={attributes:!0,characterData:!0,childList:!0,subtree:!0};function w(e,t){const[n,s]=(0,o.useState)(),c=(0,o.useCallback)((()=>{var t;s(null==(t=e.current)?void 0:t.closest("[role=tabpanel][hidden]"))}),[e,s]);(0,o.useEffect)((()=>{c()}),[c]),function(e,t,n){void 0===n&&(n=N);const s=(0,C.zX)(t),c=(0,C.Ql)(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 L=n(14965);const E={codeLine:"codeLine_lJS_",codeLineNumber:"codeLineNumber_Tfdd",codeLineContent:"codeLineContent_feaV"};function _(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.Z)(n,o&&E.codeLine)}),l=t.map(((e,t)=>(0,x.jsx)("span",{...r({token:e,key:t})},t)));return(0,x.jsxs)("span",{...a,children:[o?(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)("span",{className:E.codeLineNumber}),(0,x.jsx)("span",{className:E.codeLineContent,children:l})]}):l,(0,x.jsx)("br",{})]})}var I=n(95999);function S(e){return(0,x.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,x.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 A(e){return(0,x.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,x.jsx)("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})})}const T={copyButtonCopied:"copyButtonCopied_obH4",copyButtonIcons:"copyButtonIcons_eSgA",copyButtonIcon:"copyButtonIcon_y97N",copyButtonSuccessIcon:"copyButtonSuccessIcon_LjdS"};function W(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,x.jsx)("button",{type:"button","aria-label":s?(0,I.I)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,I.I)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,I.I)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,c.Z)("clean-btn",n,T.copyButton,s&&T.copyButtonCopied),onClick:l,children:(0,x.jsxs)("span",{className:T.copyButtonIcons,"aria-hidden":"true",children:[(0,x.jsx)(S,{className:T.copyButtonIcon}),(0,x.jsx)(A,{className:T.copyButtonSuccessIcon})]})})}function M(e){return(0,x.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,x.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 Z={wordWrapButtonIcon:"wordWrapButtonIcon_Bwma",wordWrapButtonEnabled:"wordWrapButtonEnabled_EoeP"};function H(e){let{className:t,onClick:n,isEnabled:o}=e;const s=(0,I.I)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return(0,x.jsx)("button",{type:"button",onClick:n,className:(0,c.Z)("clean-btn",t,o&&Z.wordWrapButtonEnabled),"aria-label":s,title:s,children:(0,x.jsx)(M,{className:Z.wordWrapButtonIcon,"aria-hidden":"true"})})}function V(e){var t;let{children:n,className:s="",metastring:r,title:i,showLineNumbers:u,language:d}=e;const{prism:{defaultLanguage:p,magicComments:b}}=(0,a.L)(),h=function(e){return null==e?void 0:e.toLowerCase()}(null!=(t=null!=d?d:function(e){const t=e.split(" ").find((e=>e.startsWith("language-")));return null==t?void 0:t.replace(/language-/,"")}(s))?t:p),f=l(),g=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}}(),v=function(e){var t,n;return null!=(t=null==e||null==(n=e.match(m))?void 0:n.groups.title)?t:""}(r)||i,{lineClassNames:y,code:C}=k(n,{metastring:r,language:h,magicComments:b}),N=null!=u?u:function(e){return Boolean(null==e?void 0:e.includes("showLineNumbers"))}(r);return(0,x.jsxs)(B,{as:"div",className:(0,c.Z)(s,h&&!s.includes("language-"+h)&&"language-"+h),children:[v&&(0,x.jsx)("div",{className:j.codeBlockTitle,children:v}),(0,x.jsxs)("div",{className:j.codeBlockContent,children:[(0,x.jsx)(L.y$,{theme:f,code:C,language:null!=h?h:"text",children:e=>{let{className:t,style:n,tokens:o,getLineProps:s,getTokenProps:r}=e;return(0,x.jsx)("pre",{tabIndex:0,ref:g.codeBlockRef,className:(0,c.Z)(t,j.codeBlock,"thin-scrollbar"),style:n,children:(0,x.jsx)("code",{className:(0,c.Z)(j.codeBlockLines,N&&j.codeBlockLinesWithNumbering),children:o.map(((e,t)=>(0,x.jsx)(_,{line:e,getLineProps:s,getTokenProps:r,classNames:y[t],showLineNumbers:N},t)))})})}}),(0,x.jsxs)("div",{className:j.buttonGroup,children:[(g.isEnabled||g.isCodeScrollable)&&(0,x.jsx)(H,{className:j.codeButton,onClick:()=>g.toggle(),isEnabled:g.isEnabled}),(0,x.jsx)(W,{className:j.codeButton,code:C})]})]})]})}function P(e){let{children:t,...n}=e;const c=(0,s.Z)(),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?V:y;return(0,x.jsx)(a,{...n,children:r},String(c))}},87594:(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},11151:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a,a:()=>r});var o=n(67294);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/72822034.08de405f.js b/assets/js/72822034.08de405f.js new file mode 100644 index 000000000..9ef0dfc80 --- /dev/null +++ b/assets/js/72822034.08de405f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[13736],{744: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/72822034.9953cc32.js b/assets/js/72822034.9953cc32.js deleted file mode 100644 index 60933b784..000000000 --- a/assets/js/72822034.9953cc32.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[49496],{67982: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/72aadbbe.703d2319.js b/assets/js/72aadbbe.703d2319.js new file mode 100644 index 000000000..a2ee8c08a --- /dev/null +++ b/assets/js/72aadbbe.703d2319.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[11512],{65432:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>a,contentTitle:()=>i,default:()=>c,frontMatter:()=>s,metadata:()=>l,toc:()=>m});var r=n(17624),o=n(4552);const s={id:"form-templates",title:"Form templates"},i=void 0,l={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.",source:"@site/forms/php/filters/block/form-selector/form-templates.md",sourceDirName:"php/filters/block/form-selector",slug:"/php/filters/block/form-selector/form-templates",permalink:"/forms/php/filters/block/form-selector/form-templates",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"form-templates",title:"Form templates"},sidebar:"forms",previous:{title:"Additional hidden fields",permalink:"/forms/php/filters/block/form/additional-hidden-fields"},next:{title:"Additional content",permalink:"/forms/php/filters/block/form-selector/additional-content"}},a={},m=[];function p(t){const e={code:"code",p:"p",pre:"pre",...(0,o.M)(),...t.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(e.p,{children:"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."}),"\n",(0,r.jsx)(e.pre,{children:(0,r.jsx)(e.code,{className:"language-php",children:'\\add_filter(\'es_forms_block_form_selector_form_templates\', [$this, \'getBlockFormSelectorFormTemplates\']);\n\n/**\n * Add additional forms templates in blocks form selector.\n *\n * @return array<int, mixed>\n */\npublic function getBlockFormSelectorFormTemplates(): array\n{\n\treturn [\n\t\t[\n\t\t\t"label" => "Test Forms",\n\t\t\t"slug" => "test-form",\n\t\t\t"blockName" => "eightshift-forms/mailer",\n\t\t\t\'icon\' => "<svg xmlns=\'http://www.w3.org/2000/svg\' width=\'20\' height=\'20\' viewBox=\'0 0 20 20\' fill=\'none\'><path d=\'M7 1H2.5A1.5 1.5 0 0 0 1 2.5V7a1.5 1.5 0 0 0 1.5 1.5H7A1.5 1.5 0 0 0 8.5 7V2.5A1.5 1.5 0 0 0 7 1Zm0 10.5H2.5A1.5 1.5 0 0 0 1 13v4.5A1.5 1.5 0 0 0 2.5 19H7a1.5 1.5 0 0 0 1.5-1.5V13A1.5 1.5 0 0 0 7 11.5ZM17.5 1H13a1.5 1.5 0 0 0-1.5 1.5V7A1.5 1.5 0 0 0 13 8.5h4.5A1.5 1.5 0 0 0 19 7V2.5A1.5 1.5 0 0 0 17.5 1Zm0 10.5H13a1.5 1.5 0 0 0-1.5 1.5v4.5A1.5 1.5 0 0 0 13 19h4.5a1.5 1.5 0 0 0 1.5-1.5V13a1.5 1.5 0 0 0-1.5-1.5Z\' stroke=\'currentColor\' stroke-linecap=\'round\' fill=\'none\'/></svg>",\n\t\t\t"innerBlocks" => [\n\t\t\t\t[\n\t\t\t\t\t"eightshift-forms/input",\n\t\t\t\t\t[\n\t\t\t\t\t\t"inputInputFieldLabel" => "E-mail",\n\t\t\t\t\t\t"inputInputType" => "email",\n\t\t\t\t\t\t"inputInputName" => "email",\n\t\t\t\t\t\t"inputInputIsRequired" => true,\n\t\t\t\t\t\t"inputInputIsEmail" => true,\n\t\t\t\t\t\t"inputInputDisabledOptions" => [\n\t\t\t\t\t\t\t"inputInputIsRequired",\n\t\t\t\t\t\t\t"inputInputName"\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\t\t"eightshift-forms/textarea",\n\t\t\t\t\t[\n\t\t\t\t\t\t"textareaTextareaFieldLabel" => "Message",\n\t\t\t\t\t\t"textareaTextareaName" => "message",\n\t\t\t\t\t],\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t"eightshift-forms/submit"\n\t\t\t\t],\n\t\t\t]\n\t\t],\n\t];\n}\n'})})]})}function c(t={}){const{wrapper:e}={...(0,o.M)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(p,{...t})}):p(t)}},4552:(t,e,n)=>{n.d(e,{I:()=>l,M:()=>i});var r=n(11504);const o={},s=r.createContext(o);function i(t){const e=r.useContext(s);return r.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(o):t.components||o:i(t.components),r.createElement(s.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/72aadbbe.850ee564.js b/assets/js/72aadbbe.850ee564.js deleted file mode 100644 index 8209645b2..000000000 --- a/assets/js/72aadbbe.850ee564.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[49739],{98321:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>a,contentTitle:()=>i,default:()=>c,frontMatter:()=>s,metadata:()=>l,toc:()=>m});var r=n(85893),o=n(11151);const s={id:"form-templates",title:"Form templates"},i=void 0,l={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.",source:"@site/forms/php/filters/block/form-selector/form-templates.md",sourceDirName:"php/filters/block/form-selector",slug:"/php/filters/block/form-selector/form-templates",permalink:"/forms/php/filters/block/form-selector/form-templates",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"form-templates",title:"Form templates"},sidebar:"forms",previous:{title:"Additional hidden fields",permalink:"/forms/php/filters/block/form/additional-hidden-fields"},next:{title:"Additional content",permalink:"/forms/php/filters/block/form-selector/additional-content"}},a={},m=[];function p(t){const e={code:"code",p:"p",pre:"pre",...(0,o.a)(),...t.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(e.p,{children:"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."}),"\n",(0,r.jsx)(e.pre,{children:(0,r.jsx)(e.code,{className:"language-php",children:'\\add_filter(\'es_forms_block_form_selector_form_templates\', [$this, \'getBlockFormSelectorFormTemplates\']);\n\n/**\n * Add additional forms templates in blocks form selector.\n *\n * @return array<int, mixed>\n */\npublic function getBlockFormSelectorFormTemplates(): array\n{\n\treturn [\n\t\t[\n\t\t\t"label" => "Test Forms",\n\t\t\t"slug" => "test-form",\n\t\t\t"blockName" => "eightshift-forms/mailer",\n\t\t\t\'icon\' => "<svg xmlns=\'http://www.w3.org/2000/svg\' width=\'20\' height=\'20\' viewBox=\'0 0 20 20\' fill=\'none\'><path d=\'M7 1H2.5A1.5 1.5 0 0 0 1 2.5V7a1.5 1.5 0 0 0 1.5 1.5H7A1.5 1.5 0 0 0 8.5 7V2.5A1.5 1.5 0 0 0 7 1Zm0 10.5H2.5A1.5 1.5 0 0 0 1 13v4.5A1.5 1.5 0 0 0 2.5 19H7a1.5 1.5 0 0 0 1.5-1.5V13A1.5 1.5 0 0 0 7 11.5ZM17.5 1H13a1.5 1.5 0 0 0-1.5 1.5V7A1.5 1.5 0 0 0 13 8.5h4.5A1.5 1.5 0 0 0 19 7V2.5A1.5 1.5 0 0 0 17.5 1Zm0 10.5H13a1.5 1.5 0 0 0-1.5 1.5v4.5A1.5 1.5 0 0 0 13 19h4.5a1.5 1.5 0 0 0 1.5-1.5V13a1.5 1.5 0 0 0-1.5-1.5Z\' stroke=\'currentColor\' stroke-linecap=\'round\' fill=\'none\'/></svg>",\n\t\t\t"innerBlocks" => [\n\t\t\t\t[\n\t\t\t\t\t"eightshift-forms/input",\n\t\t\t\t\t[\n\t\t\t\t\t\t"inputInputFieldLabel" => "E-mail",\n\t\t\t\t\t\t"inputInputType" => "email",\n\t\t\t\t\t\t"inputInputName" => "email",\n\t\t\t\t\t\t"inputInputIsRequired" => true,\n\t\t\t\t\t\t"inputInputIsEmail" => true,\n\t\t\t\t\t\t"inputInputDisabledOptions" => [\n\t\t\t\t\t\t\t"inputInputIsRequired",\n\t\t\t\t\t\t\t"inputInputName"\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\t\t"eightshift-forms/textarea",\n\t\t\t\t\t[\n\t\t\t\t\t\t"textareaTextareaFieldLabel" => "Message",\n\t\t\t\t\t\t"textareaTextareaName" => "message",\n\t\t\t\t\t],\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t"eightshift-forms/submit"\n\t\t\t\t],\n\t\t\t]\n\t\t],\n\t];\n}\n'})})]})}function c(t={}){const{wrapper:e}={...(0,o.a)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(p,{...t})}):p(t)}},11151:(t,e,n)=>{n.d(e,{Z:()=>l,a:()=>i});var r=n(67294);const o={},s=r.createContext(o);function i(t){const e=r.useContext(s);return r.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(o):t.components||o:i(t.components),r.createElement(s.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/73496ed9.64e847e8.js b/assets/js/73496ed9.64e847e8.js new file mode 100644 index 000000000..68d137978 --- /dev/null +++ b/assets/js/73496ed9.64e847e8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[47644],{51076: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/73496ed9.ce329dc2.js b/assets/js/73496ed9.ce329dc2.js deleted file mode 100644 index 3a279e093..000000000 --- a/assets/js/73496ed9.ce329dc2.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[92505],{76478: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/73699c74.0f0a356d.js b/assets/js/73699c74.0f0a356d.js deleted file mode 100644 index 698b8cfaa..000000000 --- a/assets/js/73699c74.0f0a356d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[8833],{65391:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>l,contentTitle:()=>c,default:()=>h,frontMatter:()=>i,metadata:()=>r,toc:()=>d});var t=n(85893),o=n(11151);const i={id:"blocks-component-structure",title:"Component Structure"},c=void 0,r={id:"legacy/v7/basics/blocks-component-structure",title:"Component Structure",description:"docs-source",source:"@site/docs/legacy/v7/basics/blocks-component-structure.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/blocks-component-structure",permalink:"/docs/legacy/v7/basics/blocks-component-structure",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-component-structure",title:"Component Structure"},sidebar:"docs",previous:{title:"Block Structure",permalink:"/docs/legacy/v7/basics/block-structure"},next:{title:"Block Manifest",permalink:"/docs/legacy/v7/basics/block-manifest"}},l={},d=[{value:"assets",id:"assets",level:3},{value:"components",id:"components",level:3},{value:"docs",id:"docs",level:3},{value:"heading.php",id:"headingphp",level:3},{value:"heading-editor.scss",id:"heading-editorscss",level:3},{value:"heading-style.scss",id:"heading-stylescss",level:3},{value:"manifest.json",id:"manifestjson",level:3}];function a(e){const s={a:"a",blockquote:"blockquote",code:"code",h3:"h3",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,o.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/",children:(0,t.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsxs)(s.p,{children:["Your custom components are placed in the ",(0,t.jsx)(s.code,{children:"src/Blocks/components"})," folder."]}),"\n",(0,t.jsx)(s.p,{children:"For example, let's take the heading component (just replace the heading with your component name)."}),"\n",(0,t.jsx)(s.p,{children:"We suggest you always use the full name and never abbreviate for the component name. If your component has multiple words, you should separate them by a dash; for example, featured-post-block.js."}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Block structure should look like this:"})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["heading","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["assets","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"index.js"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["components","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"heading-editor.js"}),"\n",(0,t.jsx)(s.li,{children:"heading-options.js"}),"\n",(0,t.jsx)(s.li,{children:"heading-toolbar.js"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["docs","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"story.js"}),"\n",(0,t.jsx)(s.li,{children:"readme.mdx"}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(s.li,{children:"heading.php"}),"\n",(0,t.jsx)(s.li,{children:"heading-editor.scss"}),"\n",(0,t.jsx)(s.li,{children:"heading-style.scss"}),"\n",(0,t.jsx)(s.li,{children:"manifest.json"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["For example, you can check the ",(0,t.jsx)(s.a,{href:"/storybook",children:"storybook"}),"."]}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsx)(s.p,{children:"All files in components are optional."}),"\n"]}),"\n",(0,t.jsx)(s.h3,{id:"assets",children:"assets"}),"\n",(0,t.jsxs)(s.p,{children:["This folder behaves the same as the blocks assets folder. Please check the ",(0,t.jsx)(s.a,{href:"block-structure#assets",children:"block structure"})," chapter for more details."]}),"\n",(0,t.jsx)(s.h3,{id:"components",children:"components"}),"\n",(0,t.jsxs)(s.p,{children:["Components folder holds three files: ",(0,t.jsx)(s.code,{children:"heading-options.js"}),", ",(0,t.jsx)(s.code,{children:"heading-editor.js"}),", and ",(0,t.jsx)(s.code,{children:"heading-toolbars.js"}),". They are used the same way as in blocks to provide functionality based on the location used. The main difference in components is that these files are used inside other blocks to implement functionality from the component."]}),"\n",(0,t.jsx)(s.h3,{id:"docs",children:"docs"}),"\n",(0,t.jsx)(s.p,{children:"Docs folder contains everything a component needs to be run inside the Storybook. This part is optional but it will speed up your development time and provide you with the much-needed documentation."}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"story.js"})," - Storybook entry point for your component. Since components are not blocks, you must provide the mocked data for your component in this file."]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"readme.mdx"})," - README that describes your component and provides the documentation."]}),"\n"]}),"\n",(0,t.jsx)(s.h3,{id:"headingphp",children:"heading.php"}),"\n",(0,t.jsx)(s.p,{children:"This file contains the front-end part (the view) of the component used in your project when the page renders. This file shouldn't contain any business logic, just present the passed attributes. The main difference from block view is that you only have attributes that you passed from a block or a top-level component in this file."}),"\n",(0,t.jsx)(s.h3,{id:"heading-editorscss",children:"heading-editor.scss"}),"\n",(0,t.jsxs)(s.p,{children:["This file behaves the same as in blocks. Please check the ",(0,t.jsx)(s.a,{href:"block-structure#heading-editorscss",children:"block structure"})," chapter for more details."]}),"\n",(0,t.jsx)(s.h3,{id:"heading-stylescss",children:"heading-style.scss"}),"\n",(0,t.jsxs)(s.p,{children:["This file behaves the same as in blocks. Please check the ",(0,t.jsx)(s.a,{href:"block-structure#heading-stylescss",children:"block structure"})," chapter for more details."]}),"\n",(0,t.jsx)(s.h3,{id:"manifestjson",children:"manifest.json"}),"\n",(0,t.jsx)(s.p,{children:"This file contains all the configuration for a component."}),"\n",(0,t.jsxs)(s.p,{children:["For more details, check the ",(0,t.jsx)(s.a,{href:"blocks-component-manifest",children:"component manifest"})," chapter."]})]})}function h(e={}){const{wrapper:s}={...(0,o.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(a,{...e})}):a(e)}},11151:(e,s,n)=>{n.d(s,{Z:()=>r,a:()=>c});var t=n(67294);const o={},i=t.createContext(o);function c(e){const s=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:c(e.components),t.createElement(i.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/73699c74.37d6a91c.js b/assets/js/73699c74.37d6a91c.js new file mode 100644 index 000000000..8b606678e --- /dev/null +++ b/assets/js/73699c74.37d6a91c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[54784],{2748:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>l,contentTitle:()=>c,default:()=>h,frontMatter:()=>i,metadata:()=>r,toc:()=>d});var t=n(17624),o=n(4552);const i={id:"blocks-component-structure",title:"Component Structure"},c=void 0,r={id:"legacy/v7/basics/blocks-component-structure",title:"Component Structure",description:"docs-source",source:"@site/docs/legacy/v7/basics/blocks-component-structure.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/blocks-component-structure",permalink:"/docs/legacy/v7/basics/blocks-component-structure",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-component-structure",title:"Component Structure"},sidebar:"docs",previous:{title:"Block Structure",permalink:"/docs/legacy/v7/basics/block-structure"},next:{title:"Block Manifest",permalink:"/docs/legacy/v7/basics/block-manifest"}},l={},d=[{value:"assets",id:"assets",level:3},{value:"components",id:"components",level:3},{value:"docs",id:"docs",level:3},{value:"heading.php",id:"headingphp",level:3},{value:"heading-editor.scss",id:"heading-editorscss",level:3},{value:"heading-style.scss",id:"heading-stylescss",level:3},{value:"manifest.json",id:"manifestjson",level:3}];function a(e){const s={a:"a",blockquote:"blockquote",code:"code",h3:"h3",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,o.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/",children:(0,t.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsxs)(s.p,{children:["Your custom components are placed in the ",(0,t.jsx)(s.code,{children:"src/Blocks/components"})," folder."]}),"\n",(0,t.jsx)(s.p,{children:"For example, let's take the heading component (just replace the heading with your component name)."}),"\n",(0,t.jsx)(s.p,{children:"We suggest you always use the full name and never abbreviate for the component name. If your component has multiple words, you should separate them by a dash; for example, featured-post-block.js."}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Block structure should look like this:"})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["heading","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["assets","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"index.js"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["components","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"heading-editor.js"}),"\n",(0,t.jsx)(s.li,{children:"heading-options.js"}),"\n",(0,t.jsx)(s.li,{children:"heading-toolbar.js"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["docs","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"story.js"}),"\n",(0,t.jsx)(s.li,{children:"readme.mdx"}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(s.li,{children:"heading.php"}),"\n",(0,t.jsx)(s.li,{children:"heading-editor.scss"}),"\n",(0,t.jsx)(s.li,{children:"heading-style.scss"}),"\n",(0,t.jsx)(s.li,{children:"manifest.json"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["For example, you can check the ",(0,t.jsx)(s.a,{href:"/storybook",children:"storybook"}),"."]}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsx)(s.p,{children:"All files in components are optional."}),"\n"]}),"\n",(0,t.jsx)(s.h3,{id:"assets",children:"assets"}),"\n",(0,t.jsxs)(s.p,{children:["This folder behaves the same as the blocks assets folder. Please check the ",(0,t.jsx)(s.a,{href:"block-structure#assets",children:"block structure"})," chapter for more details."]}),"\n",(0,t.jsx)(s.h3,{id:"components",children:"components"}),"\n",(0,t.jsxs)(s.p,{children:["Components folder holds three files: ",(0,t.jsx)(s.code,{children:"heading-options.js"}),", ",(0,t.jsx)(s.code,{children:"heading-editor.js"}),", and ",(0,t.jsx)(s.code,{children:"heading-toolbars.js"}),". They are used the same way as in blocks to provide functionality based on the location used. The main difference in components is that these files are used inside other blocks to implement functionality from the component."]}),"\n",(0,t.jsx)(s.h3,{id:"docs",children:"docs"}),"\n",(0,t.jsx)(s.p,{children:"Docs folder contains everything a component needs to be run inside the Storybook. This part is optional but it will speed up your development time and provide you with the much-needed documentation."}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"story.js"})," - Storybook entry point for your component. Since components are not blocks, you must provide the mocked data for your component in this file."]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"readme.mdx"})," - README that describes your component and provides the documentation."]}),"\n"]}),"\n",(0,t.jsx)(s.h3,{id:"headingphp",children:"heading.php"}),"\n",(0,t.jsx)(s.p,{children:"This file contains the front-end part (the view) of the component used in your project when the page renders. This file shouldn't contain any business logic, just present the passed attributes. The main difference from block view is that you only have attributes that you passed from a block or a top-level component in this file."}),"\n",(0,t.jsx)(s.h3,{id:"heading-editorscss",children:"heading-editor.scss"}),"\n",(0,t.jsxs)(s.p,{children:["This file behaves the same as in blocks. Please check the ",(0,t.jsx)(s.a,{href:"block-structure#heading-editorscss",children:"block structure"})," chapter for more details."]}),"\n",(0,t.jsx)(s.h3,{id:"heading-stylescss",children:"heading-style.scss"}),"\n",(0,t.jsxs)(s.p,{children:["This file behaves the same as in blocks. Please check the ",(0,t.jsx)(s.a,{href:"block-structure#heading-stylescss",children:"block structure"})," chapter for more details."]}),"\n",(0,t.jsx)(s.h3,{id:"manifestjson",children:"manifest.json"}),"\n",(0,t.jsx)(s.p,{children:"This file contains all the configuration for a component."}),"\n",(0,t.jsxs)(s.p,{children:["For more details, check the ",(0,t.jsx)(s.a,{href:"blocks-component-manifest",children:"component manifest"})," chapter."]})]})}function h(e={}){const{wrapper:s}={...(0,o.M)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(a,{...e})}):a(e)}},4552:(e,s,n)=>{n.d(s,{I:()=>r,M:()=>c});var t=n(11504);const o={},i=t.createContext(o);function c(e){const s=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:c(e.components),t.createElement(i.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/749660c3.4202de89.js b/assets/js/749660c3.4202de89.js new file mode 100644 index 000000000..2c9decd54 --- /dev/null +++ b/assets/js/749660c3.4202de89.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[46846],{80976:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>c,contentTitle:()=>l,default:()=>h,frontMatter:()=>r,metadata:()=>i,toc:()=>a});var o=t(17624),n=t(4552);const r={id:"blocks-structure",title:"Structure"},l=void 0,i={id:"basics/blocks-structure",title:"Structure",description:"docs-source",source:"@site/docs/basics/blocks-structure.md",sourceDirName:"basics",slug:"/basics/blocks-structure",permalink:"/docs/basics/blocks-structure",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-structure",title:"Structure"},sidebar:"docs",previous:{title:"Registration",permalink:"/docs/basics/blocks-registration"},next:{title:"Global Manifest",permalink:"/docs/basics/blocks-global-manifest"}},c={},a=[{value:"Blocks folder",id:"blocks-folder",level:3},{value:"Assets",id:"assets",level:3},{value:"Components",id:"components",level:3},{value:"Custom",id:"custom",level:3},{value:"Variations",id:"variations",level:3},{value:"Wrapper",id:"wrapper",level:3},{value:"manifest.json",id:"manifestjson",level:3},{value:"Blocks.php",id:"blocksphp",level:3}];function d(e){const s={a:"a",code:"code",h3:"h3",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,n.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s.p,{children:(0,o.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,o.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(s.p,{children:"For the library to work and register blocks dynamically, a specific folder structure and naming must be followed."}),"\n",(0,o.jsx)(s.p,{children:"Your folder structure should be like this:"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:["src","\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:["Blocks","\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsx)(s.li,{children:"assets"}),"\n",(0,o.jsx)(s.li,{children:"components"}),"\n",(0,o.jsx)(s.li,{children:"custom"}),"\n",(0,o.jsx)(s.li,{children:"variations"}),"\n",(0,o.jsx)(s.li,{children:"wrapper"}),"\n",(0,o.jsx)(s.li,{children:"Blocks.php"}),"\n",(0,o.jsx)(s.li,{children:"manifest.json"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(s.p,{children:["Don't be confused with the upper and lower case folder names, those are like that on purpose. Everything under the ",(0,o.jsx)(s.code,{children:"Block"})," folder is considered a view so they are written in lower caps, and the Blocks.php file is still a part of the PHP PSR-4 standard so it must be written like every other ",(0,o.jsx)(s.strong,{children:"service class"}),"."]}),"\n",(0,o.jsx)(s.h3,{id:"blocks-folder",children:"Blocks folder"}),"\n",(0,o.jsxs)(s.p,{children:["This folder contains all the blocks defined in your project. Every block is located in the ",(0,o.jsx)(s.code,{children:"custom"})," folder, and every component is located in the ",(0,o.jsx)(s.code,{children:"components"})," folder. Blocks can be created from multiple block editor components or your project components."]}),"\n",(0,o.jsx)(s.h3,{id:"assets",children:"Assets"}),"\n",(0,o.jsx)(s.p,{children:"This folder contains all the additional files for the blocks you only need to use on the front end. Everything that is not a block or a component goes here, such as defining global style, global JavaScript helpers, project images, fonts, etc. Also, we register all blocks, styles, and scripts in the assets folder so that nothing works without this folder."}),"\n",(0,o.jsx)(s.h3,{id:"components",children:"Components"}),"\n",(0,o.jsxs)(s.p,{children:["This folder contains all the components that are shared across blocks and project template files. Components are not registered as blocks because they are small chunks of code you can reuse everywhere. For instance, you can create a menu component to be used in the footer but also reused in a separate menu block. Please refer to the ",(0,o.jsx)(s.a,{href:"blocks-component-structure",children:"component structure"})," chapter for more details."]}),"\n",(0,o.jsx)(s.h3,{id:"custom",children:"Custom"}),"\n",(0,o.jsxs)(s.p,{children:["This folder contains all the custom blocks defined and used in your project. Please refer to the ",(0,o.jsx)(s.a,{href:"block-structure",children:"block structure"})," chapter for more details."]}),"\n",(0,o.jsx)(s.h3,{id:"variations",children:"Variations"}),"\n",(0,o.jsxs)(s.p,{children:["This folder contains all the variations blocks defined and used in your project. Please refer to the ",(0,o.jsx)(s.a,{href:"blocks-variations",children:"variations"})," chapter for more details."]}),"\n",(0,o.jsx)(s.h3,{id:"wrapper",children:"Wrapper"}),"\n",(0,o.jsxs)(s.p,{children:["This folder contains a wrapper component that wraps all blocks with shared variables and gives blocks the ability to behave as a layout section. Please refer to the ",(0,o.jsx)(s.a,{href:"blocks-wrapper",children:"wrapper"})," chapter for more details."]}),"\n",(0,o.jsx)(s.h3,{id:"manifestjson",children:"manifest.json"}),"\n",(0,o.jsxs)(s.p,{children:["This file contains global settings for your project. It must contain ",(0,o.jsx)(s.code,{children:"namespace"})," and ",(0,o.jsx)(s.code,{children:"background"})," keys. Everything else is optional. Here you can store data you intend to share across toolbars, components, and blocks. Please refer to the ",(0,o.jsx)(s.a,{href:"block-manifest",children:"block manifest"})," chapter for more details."]}),"\n",(0,o.jsx)(s.h3,{id:"blocksphp",children:"Blocks.php"}),"\n",(0,o.jsx)(s.p,{children:"This is the main service class responsible for registering all the PHP parts of the blocks like:"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsx)(s.li,{children:"dynamic blocks view"}),"\n",(0,o.jsx)(s.li,{children:"custom category for your blocks"}),"\n",(0,o.jsx)(s.li,{children:"default color palette"}),"\n",(0,o.jsx)(s.li,{children:"what blocks you are going to use"}),"\n",(0,o.jsx)(s.li,{children:"all the custom functionality that you will write for the project"}),"\n"]})]})}function h(e={}){const{wrapper:s}={...(0,n.M)(),...e.components};return s?(0,o.jsx)(s,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},4552:(e,s,t)=>{t.d(s,{I:()=>i,M:()=>l});var o=t(11504);const n={},r=o.createContext(n);function l(e){const s=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function i(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:l(e.components),o.createElement(r.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/749660c3.ceeff181.js b/assets/js/749660c3.ceeff181.js deleted file mode 100644 index 9b6da70fd..000000000 --- a/assets/js/749660c3.ceeff181.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[47079],{21205:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>c,contentTitle:()=>l,default:()=>h,frontMatter:()=>r,metadata:()=>i,toc:()=>a});var o=t(85893),n=t(11151);const r={id:"blocks-structure",title:"Structure"},l=void 0,i={id:"basics/blocks-structure",title:"Structure",description:"docs-source",source:"@site/docs/basics/blocks-structure.md",sourceDirName:"basics",slug:"/basics/blocks-structure",permalink:"/docs/basics/blocks-structure",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-structure",title:"Structure"},sidebar:"docs",previous:{title:"Registration",permalink:"/docs/basics/blocks-registration"},next:{title:"Global Manifest",permalink:"/docs/basics/blocks-global-manifest"}},c={},a=[{value:"Blocks folder",id:"blocks-folder",level:3},{value:"Assets",id:"assets",level:3},{value:"Components",id:"components",level:3},{value:"Custom",id:"custom",level:3},{value:"Variations",id:"variations",level:3},{value:"Wrapper",id:"wrapper",level:3},{value:"manifest.json",id:"manifestjson",level:3},{value:"Blocks.php",id:"blocksphp",level:3}];function d(e){const s={a:"a",code:"code",h3:"h3",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,n.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s.p,{children:(0,o.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,o.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(s.p,{children:"For the library to work and register blocks dynamically, a specific folder structure and naming must be followed."}),"\n",(0,o.jsx)(s.p,{children:"Your folder structure should be like this:"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:["src","\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:["Blocks","\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsx)(s.li,{children:"assets"}),"\n",(0,o.jsx)(s.li,{children:"components"}),"\n",(0,o.jsx)(s.li,{children:"custom"}),"\n",(0,o.jsx)(s.li,{children:"variations"}),"\n",(0,o.jsx)(s.li,{children:"wrapper"}),"\n",(0,o.jsx)(s.li,{children:"Blocks.php"}),"\n",(0,o.jsx)(s.li,{children:"manifest.json"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(s.p,{children:["Don't be confused with the upper and lower case folder names, those are like that on purpose. Everything under the ",(0,o.jsx)(s.code,{children:"Block"})," folder is considered a view so they are written in lower caps, and the Blocks.php file is still a part of the PHP PSR-4 standard so it must be written like every other ",(0,o.jsx)(s.strong,{children:"service class"}),"."]}),"\n",(0,o.jsx)(s.h3,{id:"blocks-folder",children:"Blocks folder"}),"\n",(0,o.jsxs)(s.p,{children:["This folder contains all the blocks defined in your project. Every block is located in the ",(0,o.jsx)(s.code,{children:"custom"})," folder, and every component is located in the ",(0,o.jsx)(s.code,{children:"components"})," folder. Blocks can be created from multiple block editor components or your project components."]}),"\n",(0,o.jsx)(s.h3,{id:"assets",children:"Assets"}),"\n",(0,o.jsx)(s.p,{children:"This folder contains all the additional files for the blocks you only need to use on the front end. Everything that is not a block or a component goes here, such as defining global style, global JavaScript helpers, project images, fonts, etc. Also, we register all blocks, styles, and scripts in the assets folder so that nothing works without this folder."}),"\n",(0,o.jsx)(s.h3,{id:"components",children:"Components"}),"\n",(0,o.jsxs)(s.p,{children:["This folder contains all the components that are shared across blocks and project template files. Components are not registered as blocks because they are small chunks of code you can reuse everywhere. For instance, you can create a menu component to be used in the footer but also reused in a separate menu block. Please refer to the ",(0,o.jsx)(s.a,{href:"blocks-component-structure",children:"component structure"})," chapter for more details."]}),"\n",(0,o.jsx)(s.h3,{id:"custom",children:"Custom"}),"\n",(0,o.jsxs)(s.p,{children:["This folder contains all the custom blocks defined and used in your project. Please refer to the ",(0,o.jsx)(s.a,{href:"block-structure",children:"block structure"})," chapter for more details."]}),"\n",(0,o.jsx)(s.h3,{id:"variations",children:"Variations"}),"\n",(0,o.jsxs)(s.p,{children:["This folder contains all the variations blocks defined and used in your project. Please refer to the ",(0,o.jsx)(s.a,{href:"blocks-variations",children:"variations"})," chapter for more details."]}),"\n",(0,o.jsx)(s.h3,{id:"wrapper",children:"Wrapper"}),"\n",(0,o.jsxs)(s.p,{children:["This folder contains a wrapper component that wraps all blocks with shared variables and gives blocks the ability to behave as a layout section. Please refer to the ",(0,o.jsx)(s.a,{href:"blocks-wrapper",children:"wrapper"})," chapter for more details."]}),"\n",(0,o.jsx)(s.h3,{id:"manifestjson",children:"manifest.json"}),"\n",(0,o.jsxs)(s.p,{children:["This file contains global settings for your project. It must contain ",(0,o.jsx)(s.code,{children:"namespace"})," and ",(0,o.jsx)(s.code,{children:"background"})," keys. Everything else is optional. Here you can store data you intend to share across toolbars, components, and blocks. Please refer to the ",(0,o.jsx)(s.a,{href:"block-manifest",children:"block manifest"})," chapter for more details."]}),"\n",(0,o.jsx)(s.h3,{id:"blocksphp",children:"Blocks.php"}),"\n",(0,o.jsx)(s.p,{children:"This is the main service class responsible for registering all the PHP parts of the blocks like:"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsx)(s.li,{children:"dynamic blocks view"}),"\n",(0,o.jsx)(s.li,{children:"custom category for your blocks"}),"\n",(0,o.jsx)(s.li,{children:"default color palette"}),"\n",(0,o.jsx)(s.li,{children:"what blocks you are going to use"}),"\n",(0,o.jsx)(s.li,{children:"all the custom functionality that you will write for the project"}),"\n"]})]})}function h(e={}){const{wrapper:s}={...(0,n.a)(),...e.components};return s?(0,o.jsx)(s,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},11151:(e,s,t)=>{t.d(s,{Z:()=>i,a:()=>l});var o=t(67294);const n={},r=o.createContext(n);function l(e){const s=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function i(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:l(e.components),o.createElement(r.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/74bedbb6.6467f947.js b/assets/js/74bedbb6.6467f947.js deleted file mode 100644 index fbcfa62c6..000000000 --- a/assets/js/74bedbb6.6467f947.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[26604],{34165:(t,e,a)=>{a.r(e),a.d(e,{assets:()=>l,contentTitle:()=>c,default:()=>d,frontMatter:()=>r,metadata:()=>o,toc:()=>p});var n=a(85893),s=a(11151),i=a(22130);const r={id:"captcha",title:"Captcha"},c=void 0,o={id:"javascript/state/captcha",title:"Captcha",description:"The captcha object contains methods used in spam protection.",source:"@site/forms/javascript/state/captcha.mdx",sourceDirName:"javascript/state",slug:"/javascript/state/captcha",permalink:"/forms/javascript/state/captcha",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"captcha",title:"Captcha"},sidebar:"forms",previous:{title:"Step",permalink:"/forms/javascript/state/step"},next:{title:"Manual initiation",permalink:"/forms/javascript/manual-initiation"}},l={},p=[{value:"Example",id:"example",level:3}];function h(t){const e={a:"a",admonition:"admonition",code:"code",h3:"h3",p:"p",pre:"pre",...(0,s.a)(),...t.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(e.p,{children:["The ",(0,n.jsx)(e.code,{children:"captcha"})," object contains methods used in spam protection."]}),"\n",(0,n.jsx)(e.admonition,{type:"tip",children:(0,n.jsxs)(e.p,{children:["For more details about this feature visit ",(0,n.jsx)(e.a,{href:"/forms/features/spam-prevention",children:"spam prevention"})," feature."]})}),"\n",(0,n.jsx)(i.D,{name:"Captcha",filter:"captcha"}),"\n",(0,n.jsx)(e.h3,{id:"example",children:"Example"}),"\n",(0,n.jsx)(e.p,{children:"This example will hide Google reCaptcha badge if conditions are set."}),"\n",(0,n.jsx)(e.pre,{children:(0,n.jsx)(e.code,{className:"language-js",children:"window?.esForms?.captcha?.initHideCaptchaBadge();\n"})})]})}function d(t={}){const{wrapper:e}={...(0,s.a)(),...t.components};return e?(0,n.jsx)(e,{...t,children:(0,n.jsx)(h,{...t})}):h(t)}},22130:(t,e,a)=>{a.d(e,{D:()=>r});a(67294);var n=a(9286),s=a(61684),i=a(85893);function r(t){const{name:e,filter:a,url:r}=t,c="https://github.com/infinum/eightshift-forms/blob/develop/src/Blocks/components/form/assets/"+r+".js";return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h3",{children:"Usage"}),(0,i.jsxs)("p",{children:["To access ",e," object and all its customization options use your browsers console and type:"]}),(0,i.jsx)(n.Z,{language:"js",children:(0,s.p)("\n\t\t\t\twindow?.esForms?."+a+"\n\t\t\t")}),r&&(0,i.jsxs)("p",{children:["You can find all methods and their documentation on this ",(0,i.jsx)("a",{href:c,target:"_blank",rel:"noopener noreferrer",children:"link"}),"."]})]})}},61684:(t,e,a)=>{function n(t){const e=t.split(/\n/g);for(;0===(null==(a=e[0])?void 0:a.replace(/\s/g,"").length);){var a;e.shift()}for(;0===(null==(n=e[e.length-1])?void 0:n.replace(/\s/g,"").length);){var n;e.pop()}const s=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>{var e,a;return null!=(e=null==(a=t.match(/^\s*/))||null==(a=a[0])?void 0:a.length)?e:0})),i=Math.min(...s);return e.map((t=>t.slice(i))).join("\n")}a.d(e,{p:()=>n})}}]); \ No newline at end of file diff --git a/assets/js/74bedbb6.9beace56.js b/assets/js/74bedbb6.9beace56.js new file mode 100644 index 000000000..e01158349 --- /dev/null +++ b/assets/js/74bedbb6.9beace56.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[84248],{85976:(t,e,a)=>{a.r(e),a.d(e,{assets:()=>p,contentTitle:()=>r,default:()=>d,frontMatter:()=>c,metadata:()=>o,toc:()=>l});var s=a(17624),n=a(4552),i=a(13536);const c={id:"captcha",title:"Captcha"},r=void 0,o={id:"javascript/state/captcha",title:"Captcha",description:"The captcha object contains methods used in spam protection.",source:"@site/forms/javascript/state/captcha.mdx",sourceDirName:"javascript/state",slug:"/javascript/state/captcha",permalink:"/forms/javascript/state/captcha",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"captcha",title:"Captcha"},sidebar:"forms",previous:{title:"Step",permalink:"/forms/javascript/state/step"},next:{title:"Manual initiation",permalink:"/forms/javascript/manual-initiation"}},p={},l=[{value:"Example",id:"example",level:3}];function h(t){const e={a:"a",admonition:"admonition",code:"code",h3:"h3",p:"p",pre:"pre",...(0,n.M)(),...t.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(e.p,{children:["The ",(0,s.jsx)(e.code,{children:"captcha"})," object contains methods used in spam protection."]}),"\n",(0,s.jsx)(e.admonition,{type:"tip",children:(0,s.jsxs)(e.p,{children:["For more details about this feature visit ",(0,s.jsx)(e.a,{href:"/forms/features/spam-prevention",children:"spam prevention"})," feature."]})}),"\n",(0,s.jsx)(i.g,{name:"Captcha",filter:"captcha"}),"\n",(0,s.jsx)(e.h3,{id:"example",children:"Example"}),"\n",(0,s.jsx)(e.p,{children:"This example will hide Google reCaptcha badge if conditions are set."}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-js",children:"window?.esForms?.captcha?.initHideCaptchaBadge();\n"})})]})}function d(t={}){const{wrapper:e}={...(0,n.M)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(h,{...t})}):h(t)}},13536:(t,e,a)=>{a.d(e,{g:()=>c});a(11504);var s=a(1608),n=a(96616),i=a(17624);function c(t){const{name:e,filter:a,url:c}=t,r=`https://github.com/infinum/eightshift-forms/blob/develop/src/Blocks/components/form/assets/${c}.js`;return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h3",{children:"Usage"}),(0,i.jsxs)("p",{children:["To access ",e," object and all its customization options use your browsers console and type:"]}),(0,i.jsx)(s.c,{language:"js",children:(0,n.c)(`\n\t\t\t\twindow?.esForms?.${a}\n\t\t\t`)}),c&&(0,i.jsxs)("p",{children:["You can find all methods and their documentation on this ",(0,i.jsx)("a",{href:r,target:"_blank",rel:"noopener noreferrer",children:"link"}),"."]})]})}},96616:(t,e,a)=>{function s(t){const e=t.split(/\n/g);for(;0===e[0]?.replace(/\s/g,"").length;)e.shift();for(;0===e[e.length-1]?.replace(/\s/g,"").length;)e.pop();const a=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>t.match(/^\s*/)?.[0]?.length??0)),s=Math.min(...a);return e.map((t=>t.slice(s))).join("\n")}a.d(e,{c:()=>s})}}]); \ No newline at end of file diff --git a/assets/js/759f3f6b.2ba5216e.js b/assets/js/759f3f6b.2ba5216e.js new file mode 100644 index 000000000..7ebb4b9d0 --- /dev/null +++ b/assets/js/759f3f6b.2ba5216e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[41440],{17554:s=>{s.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"forms"}')}}]); \ No newline at end of file diff --git a/assets/js/759f3f6b.83d460ef.js b/assets/js/759f3f6b.83d460ef.js deleted file mode 100644 index d5615890d..000000000 --- a/assets/js/759f3f6b.83d460ef.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[8548],{22963:s=>{s.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"forms"}')}}]); \ No newline at end of file diff --git a/assets/js/769f10a0.72f9d4dd.js b/assets/js/769f10a0.72f9d4dd.js deleted file mode 100644 index 9020eec03..000000000 --- a/assets/js/769f10a0.72f9d4dd.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[52432],{14682:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>c,default:()=>h,frontMatter:()=>o,metadata:()=>r,toc:()=>a});var n=i(85893),s=i(11151);const o={id:"rest-field",title:"REST Field"},c=void 0,r={id:"legacy/v8/basics/rest-field",title:"REST Field",description:"docs-source",source:"@site/docs/legacy/v8/basics/rest-field.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/rest-field",permalink:"/docs/legacy/v8/basics/rest-field",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"rest-field",title:"REST Field"},sidebar:"docs",previous:{title:"REST Intro",permalink:"/docs/legacy/v8/basics/rest"},next:{title:"REST Route",permalink:"/docs/legacy/v8/basics/rest-route"}},l={},a=[{value:"Test it in action",id:"test-it-in-action",level:2}];function d(e){const t={a:"a",admonition:"admonition",code:"code",h2:"h2",img:"img",p:"p",...(0,s.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(t.p,{children:"This class is used to update an existing REST API Field or provide a new field to the existing REST API."}),"\n",(0,n.jsx)(t.p,{children:"To create a new class for extending an REST API field, run this command:"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"wp boilerplate create rest-field --prompt"})}),"\n",(0,n.jsxs)(t.p,{children:["The output will ask you to input the correct field name and object type (post, get, etc.). Everything else will be done for you, setting the namespace, package, vendor prefixes, class, and folder name, and you will be set to write your field implementation in the ",(0,n.jsx)(t.code,{children:"fieldCallback"})," method."]}),"\n",(0,n.jsx)(t.h2,{id:"test-it-in-action",children:"Test it in action"}),"\n",(0,n.jsxs)(t.p,{children:["To test it in action, you should check the ",(0,n.jsx)(t.code,{children:"wp-json"})," path in your browser. You can do something like this:"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"domain.ext/wp-json/routeNamespace/routeVersion/routeName"})}),"\n",(0,n.jsx)(t.p,{children:"and find the field name."}),"\n",(0,n.jsx)(t.admonition,{title:":es-hide-title:",type:"note",children:(0,n.jsx)(t.p,{children:"This link will be different based on your project implementation."})})]})}function h(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},11151:(e,t,i)=>{i.d(t,{Z:()=>r,a:()=>c});var n=i(67294);const s={},o=n.createContext(s);function c(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:c(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/769f10a0.d79c7e92.js b/assets/js/769f10a0.d79c7e92.js new file mode 100644 index 000000000..78f58583d --- /dev/null +++ b/assets/js/769f10a0.d79c7e92.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[44976],{40380:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>c,default:()=>h,frontMatter:()=>o,metadata:()=>r,toc:()=>d});var n=i(17624),s=i(4552);const o={id:"rest-field",title:"REST Field"},c=void 0,r={id:"legacy/v8/basics/rest-field",title:"REST Field",description:"docs-source",source:"@site/docs/legacy/v8/basics/rest-field.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/rest-field",permalink:"/docs/legacy/v8/basics/rest-field",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"rest-field",title:"REST Field"},sidebar:"docs",previous:{title:"REST Intro",permalink:"/docs/legacy/v8/basics/rest"},next:{title:"REST Route",permalink:"/docs/legacy/v8/basics/rest-route"}},l={},d=[{value:"Test it in action",id:"test-it-in-action",level:2}];function a(e){const t={a:"a",admonition:"admonition",code:"code",h2:"h2",img:"img",p:"p",...(0,s.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(t.p,{children:"This class is used to update an existing REST API Field or provide a new field to the existing REST API."}),"\n",(0,n.jsx)(t.p,{children:"To create a new class for extending an REST API field, run this command:"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"wp boilerplate create rest-field --prompt"})}),"\n",(0,n.jsxs)(t.p,{children:["The output will ask you to input the correct field name and object type (post, get, etc.). Everything else will be done for you, setting the namespace, package, vendor prefixes, class, and folder name, and you will be set to write your field implementation in the ",(0,n.jsx)(t.code,{children:"fieldCallback"})," method."]}),"\n",(0,n.jsx)(t.h2,{id:"test-it-in-action",children:"Test it in action"}),"\n",(0,n.jsxs)(t.p,{children:["To test it in action, you should check the ",(0,n.jsx)(t.code,{children:"wp-json"})," path in your browser. You can do something like this:"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"domain.ext/wp-json/routeNamespace/routeVersion/routeName"})}),"\n",(0,n.jsx)(t.p,{children:"and find the field name."}),"\n",(0,n.jsx)(t.admonition,{title:":es-hide-title:",type:"note",children:(0,n.jsx)(t.p,{children:"This link will be different based on your project implementation."})})]})}function h(e={}){const{wrapper:t}={...(0,s.M)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(a,{...e})}):a(e)}},4552:(e,t,i)=>{i.d(t,{I:()=>r,M:()=>c});var n=i(11504);const s={},o=n.createContext(s);function c(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:c(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/76f2b92e.2423aa4a.js b/assets/js/76f2b92e.2423aa4a.js deleted file mode 100644 index 06bbf3fdf..000000000 --- a/assets/js/76f2b92e.2423aa4a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[89204],{61964:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>i,contentTitle:()=>a,default:()=>u,frontMatter:()=>l,metadata:()=>r,toc:()=>c});var s=t(85893),o=t(11151);const l={id:"blocks-global-manifest",title:"Global Manifest"},a=void 0,r={id:"legacy/v8/basics/blocks-global-manifest",title:"Global Manifest",description:"docs-source",source:"@site/docs/legacy/v8/basics/blocks-global-manifest.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/blocks-global-manifest",permalink:"/docs/legacy/v8/basics/blocks-global-manifest",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-global-manifest",title:"Global Manifest"},sidebar:"docs",previous:{title:"Structure",permalink:"/docs/legacy/v8/basics/blocks-structure"},next:{title:"Block Structure",permalink:"/docs/legacy/v8/basics/block-structure"}},i={},c=[{value:"Namespace",id:"namespace",level:3},{value:"Background and foreground",id:"background-and-foreground",level:3},{value:"Global variables",id:"global-variables",level:3},{value:"Attributes",id:"attributes",level:3}];function d(e){const n={a:"a",code:"code",h3:"h3",img:"img",p:"p",pre:"pre",...(0,o.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,s.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(n.p,{children:"Global manifest is used to provide all the global configuration to the blocks and components, and much more."}),"\n",(0,s.jsx)(n.p,{children:"Currently, our default global manifest looks like this:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-json",children:'{\n "namespace": "eightshift-boilerplate",\n "background": "#FBF9FF",\n "foreground": "#9973E3",\n "globalVariables": {\n "customBlocksName": "eightshift-block",\n "maxCols": 12,\n "baseFont": "Inter",\n "zIndex": {\n "header": 100,\n "drawer": 99,\n "overlay": 98\n },\n "breakpoints": {\n "mobile": 480,\n "tablet": 960,\n "desktop": 1920,\n "large": 1921\n },\n "containers": {\n "default": "66rem"\n },\n "gutters": {\n "none": "0",\n "default": "1.25rem",\n "big": "2.5rem"\n },\n "sectionSpacing": {\n "min": -300,\n "max": 300,\n "step": 10\n },\n "sectionInSpacing": {\n "min": 0,\n "max": 300,\n "step": 10\n },\n "colors": [\n {\n "name": "Primary",\n "slug": "primary",\n "color": "#9973E3"\n },\n {\n "name": "Black",\n "slug": "black",\n "color": "#000000"\n },\n {\n "name": "Light",\n "slug": "light",\n "color": "#CCCCCC"\n },\n {\n "name": "White",\n "slug": "white",\n "color": "#FFFFFF"\n },\n {\n "name": "Eightshift",\n "slug": "eightshift",\n "color": "#0D3636"\n }\n ]\n }\n}\n'})}),"\n",(0,s.jsx)(n.p,{children:"As you can see, we have some global configuration for blocks and some SCSS variables. Along with these default keys, here you can define anything you need for the project."}),"\n",(0,s.jsx)(n.h3,{id:"namespace",children:"Namespace"}),"\n",(0,s.jsx)(n.p,{children:"All blocks must have a valid block name to be registered. A valid block consists of namespace and block name, like this:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:"eightshift-boilerplate/heading\n"})}),"\n",(0,s.jsx)(n.p,{children:"To remove the need to write namespace multiple times across multiple blocks, we have defined the namespace in the global manifest, and we use it in the block registration process."}),"\n",(0,s.jsxs)(n.p,{children:["If you want to define multiple namespaces for your blocks in a single folder, please refer to the ",(0,s.jsx)(n.a,{href:"block-structure",children:"block-structure"})," chapter for more details."]}),"\n",(0,s.jsx)(n.h3,{id:"background-and-foreground",children:"Background and foreground"}),"\n",(0,s.jsx)(n.p,{children:"Just like a namespace, we use the same logic for icons background and foreground when selecting a block from the list. Here you define global background and foreground for all your custom blocks."}),"\n",(0,s.jsxs)(n.p,{children:["Please refer to the ",(0,s.jsx)(n.a,{href:"block-structure",children:"block-structure"})," chapter for more details on how to override global background and foreground your blocks icon."]}),"\n",(0,s.jsx)(n.h3,{id:"global-variables",children:"Global variables"}),"\n",(0,s.jsxs)(n.p,{children:["These are all the global settings you can use in JavaScript, SCSS, and PHP files. We have covered this topic in more detail in the ",(0,s.jsx)(n.a,{href:"blocks-styles",children:"block-styles"})," chapter."]}),"\n",(0,s.jsx)(n.h3,{id:"attributes",children:"Attributes"}),"\n",(0,s.jsx)(n.p,{children:"We don't have this key in the example, but you can set the default attributes in this file, and they will be applied to all the blocks."}),"\n",(0,s.jsxs)(n.p,{children:["Please refer to the ",(0,s.jsx)(n.a,{href:"blocks-attributes",children:"blocks attributes"})," chapter for more details."]})]})}function u(e={}){const{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},11151:(e,n,t)=>{t.d(n,{Z:()=>r,a:()=>a});var s=t(67294);const o={},l=s.createContext(o);function a(e){const n=s.useContext(l);return s.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(o):e.components||o:a(e.components),s.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/76f2b92e.c0a2118f.js b/assets/js/76f2b92e.c0a2118f.js new file mode 100644 index 000000000..67a09e32a --- /dev/null +++ b/assets/js/76f2b92e.c0a2118f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[18726],{39756:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>i,contentTitle:()=>a,default:()=>u,frontMatter:()=>l,metadata:()=>r,toc:()=>c});var s=t(17624),o=t(4552);const l={id:"blocks-global-manifest",title:"Global Manifest"},a=void 0,r={id:"legacy/v8/basics/blocks-global-manifest",title:"Global Manifest",description:"docs-source",source:"@site/docs/legacy/v8/basics/blocks-global-manifest.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/blocks-global-manifest",permalink:"/docs/legacy/v8/basics/blocks-global-manifest",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-global-manifest",title:"Global Manifest"},sidebar:"docs",previous:{title:"Structure",permalink:"/docs/legacy/v8/basics/blocks-structure"},next:{title:"Block Structure",permalink:"/docs/legacy/v8/basics/block-structure"}},i={},c=[{value:"Namespace",id:"namespace",level:3},{value:"Background and foreground",id:"background-and-foreground",level:3},{value:"Global variables",id:"global-variables",level:3},{value:"Attributes",id:"attributes",level:3}];function d(e){const n={a:"a",code:"code",h3:"h3",img:"img",p:"p",pre:"pre",...(0,o.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,s.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(n.p,{children:"Global manifest is used to provide all the global configuration to the blocks and components, and much more."}),"\n",(0,s.jsx)(n.p,{children:"Currently, our default global manifest looks like this:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-json",children:'{\n "namespace": "eightshift-boilerplate",\n "background": "#FBF9FF",\n "foreground": "#9973E3",\n "globalVariables": {\n "customBlocksName": "eightshift-block",\n "maxCols": 12,\n "baseFont": "Inter",\n "zIndex": {\n "header": 100,\n "drawer": 99,\n "overlay": 98\n },\n "breakpoints": {\n "mobile": 480,\n "tablet": 960,\n "desktop": 1920,\n "large": 1921\n },\n "containers": {\n "default": "66rem"\n },\n "gutters": {\n "none": "0",\n "default": "1.25rem",\n "big": "2.5rem"\n },\n "sectionSpacing": {\n "min": -300,\n "max": 300,\n "step": 10\n },\n "sectionInSpacing": {\n "min": 0,\n "max": 300,\n "step": 10\n },\n "colors": [\n {\n "name": "Primary",\n "slug": "primary",\n "color": "#9973E3"\n },\n {\n "name": "Black",\n "slug": "black",\n "color": "#000000"\n },\n {\n "name": "Light",\n "slug": "light",\n "color": "#CCCCCC"\n },\n {\n "name": "White",\n "slug": "white",\n "color": "#FFFFFF"\n },\n {\n "name": "Eightshift",\n "slug": "eightshift",\n "color": "#0D3636"\n }\n ]\n }\n}\n'})}),"\n",(0,s.jsx)(n.p,{children:"As you can see, we have some global configuration for blocks and some SCSS variables. Along with these default keys, here you can define anything you need for the project."}),"\n",(0,s.jsx)(n.h3,{id:"namespace",children:"Namespace"}),"\n",(0,s.jsx)(n.p,{children:"All blocks must have a valid block name to be registered. A valid block consists of namespace and block name, like this:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:"eightshift-boilerplate/heading\n"})}),"\n",(0,s.jsx)(n.p,{children:"To remove the need to write namespace multiple times across multiple blocks, we have defined the namespace in the global manifest, and we use it in the block registration process."}),"\n",(0,s.jsxs)(n.p,{children:["If you want to define multiple namespaces for your blocks in a single folder, please refer to the ",(0,s.jsx)(n.a,{href:"block-structure",children:"block-structure"})," chapter for more details."]}),"\n",(0,s.jsx)(n.h3,{id:"background-and-foreground",children:"Background and foreground"}),"\n",(0,s.jsx)(n.p,{children:"Just like a namespace, we use the same logic for icons background and foreground when selecting a block from the list. Here you define global background and foreground for all your custom blocks."}),"\n",(0,s.jsxs)(n.p,{children:["Please refer to the ",(0,s.jsx)(n.a,{href:"block-structure",children:"block-structure"})," chapter for more details on how to override global background and foreground your blocks icon."]}),"\n",(0,s.jsx)(n.h3,{id:"global-variables",children:"Global variables"}),"\n",(0,s.jsxs)(n.p,{children:["These are all the global settings you can use in JavaScript, SCSS, and PHP files. We have covered this topic in more detail in the ",(0,s.jsx)(n.a,{href:"blocks-styles",children:"block-styles"})," chapter."]}),"\n",(0,s.jsx)(n.h3,{id:"attributes",children:"Attributes"}),"\n",(0,s.jsx)(n.p,{children:"We don't have this key in the example, but you can set the default attributes in this file, and they will be applied to all the blocks."}),"\n",(0,s.jsxs)(n.p,{children:["Please refer to the ",(0,s.jsx)(n.a,{href:"blocks-attributes",children:"blocks attributes"})," chapter for more details."]})]})}function u(e={}){const{wrapper:n}={...(0,o.M)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},4552:(e,n,t)=>{t.d(n,{I:()=>r,M:()=>a});var s=t(11504);const o={},l=s.createContext(o);function a(e){const n=s.useContext(l);return s.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(o):e.components||o:a(e.components),s.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/779187a6.bb17c578.js b/assets/js/779187a6.bb17c578.js deleted file mode 100644 index 7b4a9218a..000000000 --- a/assets/js/779187a6.bb17c578.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[43215],{79766:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>d,frontMatter:()=>s,metadata:()=>a,toc:()=>c});var i=o(85893),n=o(11151);const s={id:"goodbits",title:"Goodbits"},r=void 0,a={id:"php/global-variables/integrations/goodbits",title:"Goodbits",description:"ESAPIKEY_GOODBITS",source:"@site/forms/php/global-variables/integrations/goodbits.md",sourceDirName:"php/global-variables/integrations",slug:"/php/global-variables/integrations/goodbits",permalink:"/forms/php/global-variables/integrations/goodbits",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"goodbits",title:"Goodbits"},sidebar:"forms",previous:{title:"Clearbit",permalink:"/forms/php/global-variables/integrations/clearbit"},next:{title:"Greenhouse",permalink:"/forms/php/global-variables/integrations/greenhouse"}},l={},c=[{value:"ES_API_KEY_GOODBITS",id:"es_api_key_goodbits",level:3}];function p(e){const t={code:"code",h3:"h3",p:"p",pre:"pre",...(0,n.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.h3,{id:"es_api_key_goodbits",children:"ES_API_KEY_GOODBITS"}),"\n",(0,i.jsx)(t.p,{children:"This variable will set the Goodbits integration API key."}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-php",children:"define('ES_API_KEY_GOODBITS', '<api-key>');\n"})})]})}function d(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}},11151:(e,t,o)=>{o.d(t,{Z:()=>a,a:()=>r});var i=o(67294);const n={},s=i.createContext(n);function r(e){const t=i.useContext(s);return i.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:r(e.components),i.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/779187a6.c7e425cf.js b/assets/js/779187a6.c7e425cf.js new file mode 100644 index 000000000..f64cbdfd4 --- /dev/null +++ b/assets/js/779187a6.c7e425cf.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[36376],{27044:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>d,frontMatter:()=>s,metadata:()=>a,toc:()=>c});var i=o(17624),n=o(4552);const s={id:"goodbits",title:"Goodbits"},r=void 0,a={id:"php/global-variables/integrations/goodbits",title:"Goodbits",description:"ESAPIKEY_GOODBITS",source:"@site/forms/php/global-variables/integrations/goodbits.md",sourceDirName:"php/global-variables/integrations",slug:"/php/global-variables/integrations/goodbits",permalink:"/forms/php/global-variables/integrations/goodbits",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"goodbits",title:"Goodbits"},sidebar:"forms",previous:{title:"Clearbit",permalink:"/forms/php/global-variables/integrations/clearbit"},next:{title:"Greenhouse",permalink:"/forms/php/global-variables/integrations/greenhouse"}},l={},c=[{value:"ES_API_KEY_GOODBITS",id:"es_api_key_goodbits",level:3}];function p(e){const t={code:"code",h3:"h3",p:"p",pre:"pre",...(0,n.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.h3,{id:"es_api_key_goodbits",children:"ES_API_KEY_GOODBITS"}),"\n",(0,i.jsx)(t.p,{children:"This variable will set the Goodbits integration API key."}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-php",children:"define('ES_API_KEY_GOODBITS', '<api-key>');\n"})})]})}function d(e={}){const{wrapper:t}={...(0,n.M)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}},4552:(e,t,o)=>{o.d(t,{I:()=>a,M:()=>r});var i=o(11504);const n={},s=i.createContext(n);function r(e){const t=i.useContext(s);return i.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:r(e.components),i.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/78945.5150309a.js b/assets/js/78945.5150309a.js deleted file mode 100644 index 431e02898..000000000 --- a/assets/js/78945.5150309a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[78945],{78945:(e,t,n)=>{n.r(t),n.d(t,{default:()=>de});var s=n(67294),a=n(10833),i=n(902),l=n(85893);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.i6("DocProvider");return e}function d(){var e;const{metadata:t,frontMatter:n,assets:s}=c();return(0,l.jsx)(a.d,{title:t.title,description:t.description,keywords:n.keywords,image:null!=(e=s.image)?e:n.image})}var u=n(36905),m=n(87524),h=n(95999),x=n(32244);function v(e){const{previous:t,next:n}=e;return(0,l.jsxs)("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,h.I)({id:"theme.docs.paginator.navAriaLabel",message:"Docs pages",description:"The ARIA label for the docs pagination"}),children:[t&&(0,l.jsx)(x.Z,{...t,subLabel:(0,l.jsx)(h.Z,{id:"theme.docs.paginator.previous",description:"The label used to navigate to the previous doc",children:"Previous"})}),n&&(0,l.jsx)(x.Z,{...n,subLabel:(0,l.jsx)(h.Z,{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(52263),g=n(33692),f=n(80143),j=n(35281),N=n(60373),L=n(74477);const C={unreleased:function(e){let{siteTitle:t,versionMetadata:n}=e;return(0,l.jsx)(h.Z,{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.Z,{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 Z(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.Z,{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.Z,{to:n,onClick:s,children:(0,l.jsx)(h.Z,{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 k(e){let{className:t,versionMetadata:n}=e;const{siteConfig:{title:s}}=(0,b.Z)(),{pluginId:a}=(0,f.gA)({failfast:!0}),{savePreferredVersionName:i}=(0,N.J)(a),{latestDocSuggestion:o,latestVersionSuggestion:r}=(0,f.Jo)(a),c=null!=o?o:(d=r).docs.find((e=>e.id===d.mainDocId));var d;return(0,l.jsxs)("div",{className:(0,u.Z)(t,j.k.docs.docVersionBanner,"alert alert--warning margin-bottom--md"),role:"alert",children:[(0,l.jsx)("div",{children:(0,l.jsx)(Z,{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 T(e){let{className:t}=e;const n=(0,L.E)();return n.banner?(0,l.jsx)(k,{className:t,versionMetadata:n}):null}function y(e){let{className:t}=e;const n=(0,L.E)();return n.badge?(0,l.jsx)("span",{className:(0,u.Z)(t,j.k.docs.docVersionBadge,"badge badge--secondary"),children:(0,l.jsx)(h.Z,{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.Z,{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.Z,{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.k.common.lastUpdated,children:[(0,l.jsx)(h.Z,{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 A=n(84881),E=n(71526);const M={lastUpdated:"lastUpdated_vwxv"};function B(e){return(0,l.jsx)("div",{className:(0,u.Z)(j.k.docs.docFooterTagsRow,"row margin-bottom--sm"),children:(0,l.jsx)("div",{className:"col",children:(0,l.jsx)(E.Z,{...e})})})}function I(e){let{editUrl:t,lastUpdatedAt:n,lastUpdatedBy:s,formattedLastUpdatedAt:a}=e;return(0,l.jsxs)("div",{className:(0,u.Z)(j.k.docs.docFooterEditMetaRow,"row"),children:[(0,l.jsx)("div",{className:"col",children:t&&(0,l.jsx)(A.Z,{editUrl:t})}),(0,l.jsx)("div",{className:(0,u.Z)("col",M.lastUpdated),children:(n||s)&&(0,l.jsx)(w,{lastUpdatedAt:n,formattedLastUpdatedAt:a,lastUpdatedBy:s})})]})}function S(){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.Z)(j.k.docs.docFooter,"docusaurus-mt-lg"),children:[o&&(0,l.jsx)(B,{tags:i}),r&&(0,l.jsx)(I,{editUrl:t,lastUpdatedAt:n,lastUpdatedBy:a,formattedLastUpdatedAt:s})]}):null}var V=n(86043),O=n(93743);const D={tocCollapsibleButton:"tocCollapsibleButton_TO0P",tocCollapsibleButtonExpanded:"tocCollapsibleButtonExpanded_MG3E"};function R(e){let{collapsed:t,...n}=e;return(0,l.jsx)("button",{type:"button",...n,className:(0,u.Z)("clean-btn",D.tocCollapsibleButton,!t&&D.tocCollapsibleButtonExpanded,n.className),children:(0,l.jsx)(h.Z,{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,V.u)({initialState:!0});return(0,l.jsxs)("div",{className:(0,u.Z)(P.tocCollapsible,!i&&P.tocCollapsibleExpanded,n),children:[(0,l.jsx)(R,{collapsed:i,onClick:o}),(0,l.jsx)(V.z,{lazy:!0,className:P.tocCollapsibleContent,collapsed:i,children:(0,l.jsx)(O.Z,{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.Z)(j.k.docs.docTocMobile,z.tocMobile)})}var G=n(39407);function W(){const{toc:e,frontMatter:t}=c();return(0,l.jsx)(G.Z,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:j.k.docs.docTocDesktop})}var J=n(92503),Y=n(95896);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.Z)(j.k.docs.docMarkdown,"markdown"),children:[n&&(0,l.jsx)("header",{children:(0,l.jsx)(J.Z,{as:"h1",children:n})}),(0,l.jsx)(Y.Z,{children:t})]})}var X=n(52802),K=n(48596),$=n(44996);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,$.Z)("/");return(0,l.jsx)("li",{className:"breadcrumbs__item",children:(0,l.jsx)(g.Z,{"aria-label":(0,h.I)({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.Z,{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.Z)("breadcrumbs__item",{"breadcrumbs__item--active":n}),children:[t,(0,l.jsx)("meta",{itemProp:"position",content:String(s+1)})]})}function le(){const e=(0,X.s1)(),t=(0,K.Ns)();return e?(0,l.jsx)("nav",{className:(0,u.Z)(j.k.docs.docBreadcrumbs,se.breadcrumbsContainer),"aria-label":(0,h.I)({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(22212);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.i)(),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)(W,{})}}(),{metadata:{unlisted:s}}=c();return(0,l.jsxs)("div",{className:"row",children:[(0,l.jsxs)("div",{className:(0,u.Z)("col",!n.hidden&&re.docItemCol),children:[s&&(0,l.jsx)(oe.Z,{}),(0,l.jsx)(T,{}),(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)(S,{})]}),(0,l.jsx)(p,{})]})]}),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.FG,{className:t,children:[(0,l.jsx)(d,{}),(0,l.jsx)(ce,{children:(0,l.jsx)(n,{})})]})})}},84881:(e,t,n)=>{n.d(t,{Z:()=>d});n(67294);var s=n(95999),a=n(35281),i=n(33692),l=n(36905);const o={iconEdit:"iconEdit_Z9Sw"};var r=n(85893);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.Z)(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.Z,{to:t,className:a.k.common.editThisPage,children:[(0,r.jsx)(c,{}),(0,r.jsx)(s.Z,{id:"theme.common.editThisPage",description:"The link label to edit the current page",children:"Edit this page"})]})}},95896:(e,t,n)=>{n.d(t,{Z:()=>H});var s=n(67294),a=n(11151),i=n(35742),l=n(9286),o=n(85893);function r(e){return(0,o.jsx)("code",{...e})}var c=n(33692);var d=n(36905),u=n(788),m=n(28138),h=n(72389),x=n(86043);const v={details:"details_lb9f",isBrowser:"isBrowser_bmU9",collapsibleContent:"collapsibleContent_i85q"};function p(e){return!!e&&("SUMMARY"===e.tagName||p(e.parentElement))}function b(e,t){return!!e&&(e===t||b(e.parentElement,t))}function g(e){let{summary:t,children:n,...a}=e;(0,m.Z)().collectAnchor(a.id);const i=(0,h.Z)(),l=(0,s.useRef)(null),{collapsed:r,setCollapsed:c}=(0,x.u)({initialState:!a.open}),[d,g]=(0,s.useState)(a.open),f=s.isValidElement(t)?t:(0,o.jsx)("summary",{children:null!=t?t:"Details"});return(0,o.jsxs)("details",{...a,ref:l,open:d,"data-collapsed":r,className:(0,u.Z)(v.details,i&&v.isBrowser,a.className),onMouseDown:e=>{p(e.target)&&e.detail>1&&e.preventDefault()},onClick:e=>{e.stopPropagation();const t=e.target;p(t)&&b(t,l.current)&&(e.preventDefault(),r?(c(!1),g(!0)):c(!0))},children:[f,(0,o.jsx)(x.z,{lazy:!1,collapsed:r,disableSSRStyle:!0,onCollapseTransitionEnd:e=>{c(e),g(!e)},children:(0,o.jsx)("div",{className:v.collapsibleContent,children:n})})]})}const f={details:"details_b_Ee"},j="alert alert--info";function N(e){let{...t}=e;return(0,o.jsx)(g,{...t,className:(0,d.Z)(j,f.details,t.className)})}function L(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)(N,{...e,summary:n,children:a})}var C=n(92503);function Z(e){return(0,o.jsx)(C.Z,{...e})}const _={containsTaskList:"containsTaskList_mC6p"};function k(e){if(void 0!==e)return(0,d.Z)(e,(null==e?void 0:e.includes("contains-task-list"))&&_.containsTaskList)}const T={img:"img_ev3q"};var y=n(25943);const U={Head:i.Z,details:L,Details:L,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.Z,{...e})},a:function(e){return(0,o.jsx)(c.Z,{...e})},pre:function(e){return(0,o.jsx)(o.Fragment,{children:e.children})},ul:function(e){return(0,o.jsx)("ul",{...e,className:k(e.className)})},li:function(e){return(0,m.Z)().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.Z)(t,T.img))});var t},h1:e=>(0,o.jsx)(Z,{as:"h1",...e}),h2:e=>(0,o.jsx)(Z,{as:"h2",...e}),h3:e=>(0,o.jsx)(Z,{as:"h3",...e}),h4:e=>(0,o.jsx)(Z,{as:"h4",...e}),h5:e=>(0,o.jsx)(Z,{as:"h5",...e}),h6:e=>(0,o.jsx)(Z,{as:"h6",...e}),admonition:y.Z,mermaid:()=>null};function H(e){let{children:t}=e;return(0,o.jsx)(a.Z,{components:U,children:t})}},32244:(e,t,n)=>{n.d(t,{Z:()=>l});n(67294);var s=n(36905),a=n(33692),i=n(85893);function l(e){const{permalink:t,title:n,subLabel:l,isNext:o}=e;return(0,i.jsxs)(a.Z,{className:(0,s.Z)("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})]})}},39407:(e,t,n)=>{n.d(t,{Z:()=>c});n(67294);var s=n(36905),a=n(93743);const i={tableOfContents:"tableOfContents_bqdL",docItemContainer:"docItemContainer_F8PC"};var l=n(85893);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.Z)(i.tableOfContents,"thin-scrollbar",t),children:(0,l.jsx)(a.Z,{...n,linkClassName:o,linkActiveClassName:r})})}},93743:(e,t,n)=>{n.d(t,{Z:()=>v});var s=n(67294),a=n(86668);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){var n;let{anchorTopOffset:s}=t;const a=e.find((e=>o(e).top>=s));if(a){var i;return function(e){return e.top>0&&e.bottom<window.innerHeight/2}(o(a))?a:null!=(i=e[e.indexOf(a)-1])?i:null}return null!=(n=e[e.length-1])?n:null}function c(){const e=(0,s.useRef)(0),{navbar:{hideOnScroll:t}}=(0,a.L)();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(33692),m=n(85893);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.Z,{to:"#"+e.id,className:null!=s?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.L)(),p=null!=c?c:v.tableOfContents.minHeadingLevel,b=null!=u?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})}},13008:(e,t,n)=>{n.d(t,{Z:()=>o});n(67294);var s=n(36905),a=n(33692);const i={tag:"tag_zVej",tagRegular:"tagRegular_sFm0",tagWithCount:"tagWithCount_h2kH"};var l=n(85893);function o(e){let{permalink:t,label:n,count:o}=e;return(0,l.jsxs)(a.Z,{href:t,className:(0,s.Z)(i.tag,o?i.tagWithCount:i.tagRegular),children:[n,o&&(0,l.jsx)("span",{children:o})]})}},71526:(e,t,n)=>{n.d(t,{Z:()=>r});n(67294);var s=n(36905),a=n(95999),i=n(13008);const l={tags:"tags_jXut",tag:"tag_QGVx"};var o=n(85893);function r(e){let{tags:t}=e;return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("b",{children:(0,o.jsx)(a.Z,{id:"theme.tags.tagsListLabel",description:"The label alongside a tag list",children:"Tags:"})}),(0,o.jsx)("ul",{className:(0,s.Z)(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.Z,{label:t,permalink:n})},n)}))})]})}},22212:(e,t,n)=>{n.d(t,{Z:()=>h});n(67294);var s=n(36905),a=n(95999),i=n(35742),l=n(85893);function o(){return(0,l.jsx)(a.Z,{id:"theme.unlistedContent.title",description:"The unlisted content banner title",children:"Unlisted page"})}function r(){return(0,l.jsx)(a.Z,{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.Z,{children:(0,l.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}var d=n(35281),u=n(25943);function m(e){let{className:t}=e;return(0,l.jsx)(u.Z,{type:"caution",title:(0,l.jsx)(o,{}),className:(0,s.Z)(t,d.k.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/790fff8f.530bb499.js b/assets/js/790fff8f.530bb499.js deleted file mode 100644 index bd2e7efc8..000000000 --- a/assets/js/790fff8f.530bb499.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[4675],{58197:(t,e,o)=>{o.r(e),o.d(e,{assets:()=>u,contentTitle:()=>r,default:()=>p,frontMatter:()=>i,metadata:()=>a,toc:()=>l});var s=o(85893),n=o(11151);const i={id:"intro",title:"Intro"},r=void 0,a={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.",source:"@site/forms/php/intro.md",sourceDirName:"php",slug:"/php/intro",permalink:"/forms/php/intro",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"intro",title:"Intro"},sidebar:"forms",previous:{title:"Known issues",permalink:"/forms/known-issues"},next:{title:"How to use?",permalink:"/forms/php/global-variables/how-to-use"}},u={},l=[];function c(t){const e={a:"a",p:"p",...(0,n.a)(),...t.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.p,{children:"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."}),"\n",(0,s.jsxs)(e.p,{children:["If you require further customization options, please don't hesitate to ",(0,s.jsx)(e.a,{href:"https://github.com/infinum/eightshift-forms/issues/new/choose",children:"open an issue"})," and we will work on adding it as soon as possible."]})]})}function p(t={}){const{wrapper:e}={...(0,n.a)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(c,{...t})}):c(t)}},11151:(t,e,o)=>{o.d(e,{Z:()=>a,a:()=>r});var s=o(67294);const n={},i=s.createContext(n);function r(t){const e=s.useContext(i);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(n):t.components||n:r(t.components),s.createElement(i.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/790fff8f.b3f087be.js b/assets/js/790fff8f.b3f087be.js new file mode 100644 index 000000000..f5ac985cb --- /dev/null +++ b/assets/js/790fff8f.b3f087be.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[57480],{292:(t,e,o)=>{o.r(e),o.d(e,{assets:()=>u,contentTitle:()=>r,default:()=>p,frontMatter:()=>i,metadata:()=>a,toc:()=>l});var s=o(17624),n=o(4552);const i={id:"intro",title:"Intro"},r=void 0,a={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.",source:"@site/forms/php/intro.md",sourceDirName:"php",slug:"/php/intro",permalink:"/forms/php/intro",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"intro",title:"Intro"},sidebar:"forms",previous:{title:"Known issues",permalink:"/forms/known-issues"},next:{title:"How to use?",permalink:"/forms/php/global-variables/how-to-use"}},u={},l=[];function c(t){const e={a:"a",p:"p",...(0,n.M)(),...t.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.p,{children:"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."}),"\n",(0,s.jsxs)(e.p,{children:["If you require further customization options, please don't hesitate to ",(0,s.jsx)(e.a,{href:"https://github.com/infinum/eightshift-forms/issues/new/choose",children:"open an issue"})," and we will work on adding it as soon as possible."]})]})}function p(t={}){const{wrapper:e}={...(0,n.M)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(c,{...t})}):c(t)}},4552:(t,e,o)=>{o.d(e,{I:()=>a,M:()=>r});var s=o(11504);const n={},i=s.createContext(n);function r(t){const e=s.useContext(i);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(n):t.components||n:r(t.components),s.createElement(i.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/795f4ac3.3912e7a1.js b/assets/js/795f4ac3.3912e7a1.js new file mode 100644 index 000000000..e8ced13fe --- /dev/null +++ b/assets/js/795f4ac3.3912e7a1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[61264],{15760:(t,e,r)=>{r.r(e),r.d(e,{assets:()=>p,contentTitle:()=>n,default:()=>u,frontMatter:()=>i,metadata:()=>a,toc:()=>c});var s=r(17624),o=r(4552);const i={id:"routes-private",title:"Routes private"},n=void 0,a={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.",source:"@site/forms/php/filters/scripts/routes-private.md",sourceDirName:"php/filters/scripts",slug:"/php/filters/scripts/routes-private",permalink:"/forms/php/filters/scripts/routes-private",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"routes-private",title:"Routes private"},sidebar:"forms",previous:{title:"Routes public",permalink:"/forms/php/filters/scripts/routes-public"},next:{title:"DB location",permalink:"/forms/php/filters/geolocation/db-location"}},p={},c=[];function l(t){const e={code:"code",p:"p",pre:"pre",...(0,o.M)(),...t.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.p,{children:"Allows adding custom routes to the private routes list, available from the Forms global window object."}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-php",children:"\\add_filter('es_forms_scripts_routes_private', [$this, 'getPrivateRoutes']);\n\n/**\n * Adds custom routes to the private routes list, available from the Forms global window object.\n *\n * @return array<string>\n */\npublic function getPrivateRoutes(): array\n{\n\treturn [\n\t\t'<route-name>' => '<route-slug>',\n\t];\n}\n"})})]})}function u(t={}){const{wrapper:e}={...(0,o.M)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(l,{...t})}):l(t)}},4552:(t,e,r)=>{r.d(e,{I:()=>a,M:()=>n});var s=r(11504);const o={},i=s.createContext(o);function n(t){const e=s.useContext(i);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(o):t.components||o:n(t.components),s.createElement(i.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/795f4ac3.4beefd67.js b/assets/js/795f4ac3.4beefd67.js deleted file mode 100644 index 9de961d00..000000000 --- a/assets/js/795f4ac3.4beefd67.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[17025],{92456:(t,e,r)=>{r.r(e),r.d(e,{assets:()=>p,contentTitle:()=>n,default:()=>u,frontMatter:()=>i,metadata:()=>a,toc:()=>c});var s=r(85893),o=r(11151);const i={id:"routes-private",title:"Routes private"},n=void 0,a={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.",source:"@site/forms/php/filters/scripts/routes-private.md",sourceDirName:"php/filters/scripts",slug:"/php/filters/scripts/routes-private",permalink:"/forms/php/filters/scripts/routes-private",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"routes-private",title:"Routes private"},sidebar:"forms",previous:{title:"Routes public",permalink:"/forms/php/filters/scripts/routes-public"},next:{title:"DB location",permalink:"/forms/php/filters/geolocation/db-location"}},p={},c=[];function l(t){const e={code:"code",p:"p",pre:"pre",...(0,o.a)(),...t.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.p,{children:"Allows adding custom routes to the private routes list, available from the Forms global window object."}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-php",children:"\\add_filter('es_forms_scripts_routes_private', [$this, 'getPrivateRoutes']);\n\n/**\n * Adds custom routes to the private routes list, available from the Forms global window object.\n *\n * @return array<string>\n */\npublic function getPrivateRoutes(): array\n{\n\treturn [\n\t\t'<route-name>' => '<route-slug>',\n\t];\n}\n"})})]})}function u(t={}){const{wrapper:e}={...(0,o.a)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(l,{...t})}):l(t)}},11151:(t,e,r)=>{r.d(e,{Z:()=>a,a:()=>n});var s=r(67294);const o={},i=s.createContext(o);function n(t){const e=s.useContext(i);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(o):t.components||o:n(t.components),s.createElement(i.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/795feea1.556f08a6.js b/assets/js/795feea1.556f08a6.js deleted file mode 100644 index cdcc2812e..000000000 --- a/assets/js/795feea1.556f08a6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[70131],{39063:(e,s,i)=>{i.r(s),i.d(s,{assets:()=>c,contentTitle:()=>l,default:()=>h,frontMatter:()=>o,metadata:()=>r,toc:()=>a});var n=i(85893),t=i(11151);const o={id:"the-structure",title:"The Structure",sidebar_label:"The Structure"},l=void 0,r={id:"legacy/v5/basics/the-structure",title:"The Structure",description:"docs-source",source:"@site/docs/legacy/v5/basics/the-structure.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/the-structure",permalink:"/docs/legacy/v5/basics/the-structure",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"the-structure",title:"The Structure",sidebar_label:"The Structure"},sidebar:"docs",previous:{title:"Example Class",permalink:"/docs/legacy/v5/basics/example-class"},next:{title:"Manifest",permalink:"/docs/legacy/v5/basics/manifest"}},c={},a=[{value:"The structure",id:"the-structure",level:2},{value:"Blocks",id:"blocks",level:3},{value:"Config",id:"config",level:3},{value:"CustomMeta",id:"custommeta",level:3},{value:"CustomPostType",id:"customposttype",level:3},{value:"CustomTaxonomy",id:"customtaxonomy",level:3},{value:"Enqueue",id:"enqueue",level:3},{value:"I18n",id:"i18n",level:3},{value:"Login",id:"login",level:3},{value:"Main",id:"main",level:3},{value:"Manifest",id:"manifest",level:3},{value:"Media",id:"media",level:3},{value:"ModifyAdminAppearance",id:"modifyadminappearance",level:3},{value:"Rest",id:"rest",level:3},{value:"ThemeOptions",id:"themeoptions",level:3},{value:"View",id:"view",level:3},{value:".storybook",id:"storybook",level:3},{value:".gitignore",id:"gitignore",level:3},{value:".eslintignore",id:"eslintignore",level:3},{value:".eslintrc",id:"eslintrc",level:3},{value:".stylelintrc",id:"stylelintrc",level:3},{value:"babel.config.js",id:"babelconfigjs",level:3},{value:"composer.json",id:"composerjson",level:3},{value:"composer.lock",id:"composerlock",level:3},{value:"package-lock.json",id:"package-lockjson",level:3},{value:"package.json",id:"packagejson",level:3},{value:"phpcs.xml.dist",id:"phpcsxmldist",level:3},{value:"postcss.config.js",id:"postcssconfigjs",level:3},{value:"README.md",id:"readmemd",level:3},{value:"webpack.config.js",id:"webpackconfigjs",level:3}];function d(e){const s={a:"a",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,t.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/infinum/eightshift-libs/tree/3.0.0/",children:(0,n.jsx)(s.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsxs)(s.p,{children:["If you've followed the chapters this far and set your first project with all the classes from the ",(0,n.jsx)(s.code,{children:"wp boilerplate setup_theme"})," command, you saw that you have an ",(0,n.jsx)(s.code,{children:"src"})," folder in the root of your project."]}),"\n",(0,n.jsxs)(s.p,{children:["In that root folder, you have a bunch of folders with classes. We like to structure our projects by features, so for example, all ",(0,n.jsx)(s.code,{children:"custom post type"})," registrations will be located in the ",(0,n.jsx)(s.code,{children:"CustomPostType"})," folder."]}),"\n",(0,n.jsxs)(s.p,{children:["Using the ",(0,n.jsx)(s.a,{href:"wp-cli",children:"WP-CLI"})," commands, you follow our folder structure so that all of your projects will have the same layout. This helps us with onboarding new developers to the project. They can know where things are from the start."]}),"\n",(0,n.jsxs)(s.p,{children:["Here is a small tip from us: ",(0,n.jsx)(s.strong,{children:'"Organize your projects by functionality"'}),"."]}),"\n",(0,n.jsx)(s.h2,{id:"the-structure",children:"The structure"}),"\n",(0,n.jsx)(s.p,{children:"As we already mentioned, try to be consistent and organized with your project. Here is the structure list generated by the libs. We will explain to you why and how we use all of these files:"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:["src","\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:["Blocks","\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"assets"}),"\n",(0,n.jsx)(s.li,{children:"components"}),"\n",(0,n.jsx)(s.li,{children:"custom"}),"\n",(0,n.jsx)(s.li,{children:"variations"}),"\n",(0,n.jsx)(s.li,{children:"wrapper"}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(s.li,{children:"Config"}),"\n",(0,n.jsx)(s.li,{children:"CustomMeta"}),"\n",(0,n.jsx)(s.li,{children:"CustomPostType"}),"\n",(0,n.jsx)(s.li,{children:"CustomTaxonomy"}),"\n",(0,n.jsxs)(s.li,{children:["Enqueue","\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"Admin"}),"\n",(0,n.jsx)(s.li,{children:"Blocks"}),"\n",(0,n.jsx)(s.li,{children:"Theme"}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(s.li,{children:"I18n"}),"\n",(0,n.jsx)(s.li,{children:"Login"}),"\n",(0,n.jsx)(s.li,{children:"Main"}),"\n",(0,n.jsx)(s.li,{children:"Manifest"}),"\n",(0,n.jsx)(s.li,{children:"Media"}),"\n",(0,n.jsx)(s.li,{children:"ModifyAdminAppearance"}),"\n",(0,n.jsxs)(s.li,{children:["Rest","\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"Field"}),"\n",(0,n.jsx)(s.li,{children:"Routes"}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(s.li,{children:"ThemeOptions"}),"\n",(0,n.jsx)(s.li,{children:"View"}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(s.li,{children:".storybook"}),"\n",(0,n.jsx)(s.li,{children:".gitignore"}),"\n",(0,n.jsx)(s.li,{children:".eslintignore"}),"\n",(0,n.jsx)(s.li,{children:".eslintrc"}),"\n",(0,n.jsx)(s.li,{children:".stylelintrc"}),"\n",(0,n.jsx)(s.li,{children:"babel.config.js"}),"\n",(0,n.jsx)(s.li,{children:"composer.json"}),"\n",(0,n.jsx)(s.li,{children:"composer.lock"}),"\n",(0,n.jsx)(s.li,{children:"package-lock.json"}),"\n",(0,n.jsx)(s.li,{children:"package.json"}),"\n",(0,n.jsx)(s.li,{children:"phpcs.xml.dist"}),"\n",(0,n.jsx)(s.li,{children:"postcss.config.js"}),"\n",(0,n.jsx)(s.li,{children:"README.md"}),"\n",(0,n.jsx)(s.li,{children:"webpack.config.js"}),"\n"]}),"\n",(0,n.jsx)(s.h3,{id:"blocks",children:"Blocks"}),"\n",(0,n.jsxs)(s.p,{children:["Blocks are used, as the name implies, for the block editor. You can read about blocks in more detail in ",(0,n.jsx)(s.a,{href:"blocks",children:"Blocks chapter"}),"."]}),"\n",(0,n.jsx)(s.h3,{id:"config",children:"Config"}),"\n",(0,n.jsxs)(s.p,{children:["This class is used to define all the configuration methods for your project like ",(0,n.jsx)(s.code,{children:"project name"}),", ",(0,n.jsx)(s.code,{children:"project version"}),", ",(0,n.jsx)(s.code,{children:"rest routes namespace"}),", and much more."]}),"\n",(0,n.jsx)(s.p,{children:"You can define your project's needs in this class as a static method that you can quickly use."}),"\n",(0,n.jsx)(s.h3,{id:"custommeta",children:"CustomMeta"}),"\n",(0,n.jsx)(s.p,{children:"This class contains all the custom meta hooks for your project."}),"\n",(0,n.jsx)(s.h3,{id:"customposttype",children:"CustomPostType"}),"\n",(0,n.jsx)(s.p,{children:"This class contains all the custom post type hooks for your project. We created a preset for you, so this class looks the same on all the projects."}),"\n",(0,n.jsx)(s.h3,{id:"customtaxonomy",children:"CustomTaxonomy"}),"\n",(0,n.jsx)(s.p,{children:"This class contains all the custom taxonomy hooks for your project. Like custom post type, we created a preset for you, so this class looks the same on all the projects."}),"\n",(0,n.jsx)(s.h3,{id:"enqueue",children:"Enqueue"}),"\n",(0,n.jsx)(s.p,{children:"These classes will handle JavaScript and CSS files for your project, depending on the location you want to use it:"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Admin"})," - Used in the admin (not block editor) part of your project. You can find the files inside the ",(0,n.jsx)(s.code,{children:"assets"})," folder with the ",(0,n.jsx)(s.code,{children:"-admin"})," suffix."]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Blocks"})," - Used in the block editor part of your project. You can find the files inside the ",(0,n.jsx)(s.code,{children:"src/Blocks/assets"})," folder. As blocks are complicated, we have files loaded only in the admin-editor part of the project, those files have an ",(0,n.jsx)(s.code,{children:"-editor"})," suffix. The rest of the files with no suffix load on the admin-editor part and the project's front end."]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Theme"})," - Used in the theme (frontend) part of your project. You can find the files inside the ",(0,n.jsx)(s.code,{children:"assets"})," folder with no suffix. You would use these files for stuff related to your project that is not associated with components and blocks. (To be honest, we barely use these files.)"]}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["The usage of any of these classes is optional, and you can use only what you need. Eightshift Boilerplate ",(0,n.jsx)(s.code,{children:"setup_theme"})," command comes with all three classes already implemented. Keep in mind that enqueue classes work in combination with the Webpack build of your project."]}),"\n",(0,n.jsxs)(s.p,{children:["We named all our files with ",(0,n.jsx)(s.code,{children:"application"})," in prefix. If you don't like the name, you can change it by providing the project overrides for constants used in the Eightshift-Libs. If you change the file names, you must make changes to the Webpack build process as well. For modifying the Webpack part you can check in the ",(0,n.jsx)(s.a,{href:"webpack",children:"Webpack chapter"}),"."]}),"\n",(0,n.jsx)(s.h3,{id:"i18n",children:"I18n"}),"\n",(0,n.jsx)(s.p,{children:"This class is used to define all hooks related to the languages and translations for your project."}),"\n",(0,n.jsx)(s.h3,{id:"login",children:"Login"}),"\n",(0,n.jsx)(s.p,{children:"We use this file to change the logo link on the login page, but you can use it however you seem fit."}),"\n",(0,n.jsx)(s.h3,{id:"main",children:"Main"}),"\n",(0,n.jsxs)(s.p,{children:["This is the main entry point file for all your classes. It implements DI container and autowiring with the main action that loads everything in your project inside the WordPress ecosystem. You can provide manual service classes here as well. We covered this in the ",(0,n.jsx)(s.a,{href:"autowiring",children:"autowiring chapter"}),"."]}),"\n",(0,n.jsx)(s.h3,{id:"manifest",children:"Manifest"}),"\n",(0,n.jsxs)(s.p,{children:["This class provides ",(0,n.jsx)(s.code,{children:"manifest.json"})," file location and helpers to return the full path for a specific asset. We will cover this in more detail in the ",(0,n.jsx)(s.a,{href:"manifest",children:"manifest chapter"}),"."]}),"\n",(0,n.jsx)(s.h3,{id:"media",children:"Media"}),"\n",(0,n.jsx)(s.p,{children:"This class is used to add all custom project implementation for media like adding custom image size, enabling SVG image, etc."}),"\n",(0,n.jsx)(s.h3,{id:"modifyadminappearance",children:"ModifyAdminAppearance"}),"\n",(0,n.jsx)(s.p,{children:"This class is used to change admin appearance. We use it to change the admin color palette depending on the environment."}),"\n",(0,n.jsx)(s.h3,{id:"rest",children:"Rest"}),"\n",(0,n.jsxs)(s.p,{children:["These classes will handle the rest fields and routes for your project. We will cover this in more detail in the ",(0,n.jsx)(s.a,{href:"rest",children:"rest chapter"}),"."]}),"\n",(0,n.jsx)(s.h3,{id:"themeoptions",children:"ThemeOptions"}),"\n",(0,n.jsx)(s.p,{children:"This class is used to add admin menu options and configurations for theme options and settings."}),"\n",(0,n.jsx)(s.h3,{id:"view",children:"View"}),"\n",(0,n.jsxs)(s.p,{children:["This class is used to add filters used in escaping unsafe tags in the ",(0,n.jsx)(s.code,{children:"wp_kses_post"})," and ",(0,n.jsx)(s.code,{children:"wp_kses"})," methods."]}),"\n",(0,n.jsx)(s.h3,{id:"storybook",children:".storybook"}),"\n",(0,n.jsxs)(s.p,{children:["This folder contains all of the files necessary to run the storybook in your project. Read more about it on ",(0,n.jsx)(s.a,{href:"https://storybook.js.org/",children:"this link"}),"."]}),"\n",(0,n.jsx)(s.h3,{id:"gitignore",children:".gitignore"}),"\n",(0,n.jsxs)(s.p,{children:["As the name implies, this file is used to provide restrictions for files that will not be added to the git structure. Read more about it on ",(0,n.jsx)(s.a,{href:"https://git-scm.com/",children:"this link"}),"."]}),"\n",(0,n.jsx)(s.h3,{id:"eslintignore",children:".eslintignore"}),"\n",(0,n.jsx)(s.p,{children:"This file provides similar restrictions but this time for files/folders that will not be checked with the eslint."}),"\n",(0,n.jsx)(s.h3,{id:"eslintrc",children:".eslintrc"}),"\n",(0,n.jsxs)(s.p,{children:["This file provides all the definitions used for linting JavaScript files. Read more about it on ",(0,n.jsx)(s.a,{href:"https://eslint.org/",children:"this link"}),"."]}),"\n",(0,n.jsx)(s.h3,{id:"stylelintrc",children:".stylelintrc"}),"\n",(0,n.jsxs)(s.p,{children:["This file provides all the definitions used for linting Style (SCSS/CSS) files. Read more about it on ",(0,n.jsx)(s.a,{href:"https://stylelint.io/",children:"this link"}),"."]}),"\n",(0,n.jsx)(s.h3,{id:"babelconfigjs",children:"babel.config.js"}),"\n",(0,n.jsxs)(s.p,{children:["This file provides all the definitions of how your JavaScript code will be compiled, what standard you will use, and much more. Read more about it on ",(0,n.jsx)(s.a,{href:"https://babeljs.io/",children:"this link"}),"."]}),"\n",(0,n.jsx)(s.h3,{id:"composerjson",children:"composer.json"}),"\n",(0,n.jsxs)(s.p,{children:["This file contains all the vendor packages you are using in your project. They are added to your project using the ",(0,n.jsx)(s.code,{children:"composer install"})," command. Read more about it on ",(0,n.jsx)(s.a,{href:"https://getcomposer.org/",children:"this link"}),"."]}),"\n",(0,n.jsx)(s.h3,{id:"composerlock",children:"composer.lock"}),"\n",(0,n.jsx)(s.p,{children:"Lock files are used to set the package version to the exact release. This ensures that everyone gets the same package version when doing the installation."}),"\n",(0,n.jsx)(s.h3,{id:"package-lockjson",children:"package-lock.json"}),"\n",(0,n.jsxs)(s.p,{children:["The same as ",(0,n.jsx)(s.code,{children:"composer.lock"})," but for node_modules."]}),"\n",(0,n.jsx)(s.h3,{id:"packagejson",children:"package.json"}),"\n",(0,n.jsxs)(s.p,{children:["This file contains all the node_modules packages you are using in your project. They are added to your project using the ",(0,n.jsx)(s.code,{children:"npm install"})," command. Read more about it on ",(0,n.jsx)(s.a,{href:"https://nodejs.dev/",children:"this link"}),"."]}),"\n",(0,n.jsx)(s.h3,{id:"phpcsxmldist",children:"phpcs.xml.dist"}),"\n",(0,n.jsxs)(s.p,{children:["This file provides all the definitions used for linting PHP files. Read more about it on ",(0,n.jsx)(s.a,{href:"https://github.com/squizlabs/PHP_CodeSniffer",children:"this link"}),"."]}),"\n",(0,n.jsx)(s.h3,{id:"postcssconfigjs",children:"postcss.config.js"}),"\n",(0,n.jsxs)(s.p,{children:["Postcss works in correlation with Webpack, and it defines what additional plugins you are going to use when building your css files. Read more about it on ",(0,n.jsx)(s.a,{href:"https://postcss.org/",children:"this link"}),"."]}),"\n",(0,n.jsx)(s.h3,{id:"readmemd",children:"README.md"}),"\n",(0,n.jsx)(s.p,{children:"Readme is always good to have. You should always define here how to set up a new project and make project switching a breeze."}),"\n",(0,n.jsx)(s.h3,{id:"webpackconfigjs",children:"webpack.config.js"}),"\n",(0,n.jsxs)(s.p,{children:["This file provides all the definitions used for building your JavaScript and CSS files. We will cover this in more detail in the ",(0,n.jsx)(s.a,{href:"webpack",children:"Webpack chapter"}),"."]})]})}function h(e={}){const{wrapper:s}={...(0,t.a)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},11151:(e,s,i)=>{i.d(s,{Z:()=>r,a:()=>l});var n=i(67294);const t={},o=n.createContext(t);function l(e){const s=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:l(e.components),n.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/795feea1.6fd79961.js b/assets/js/795feea1.6fd79961.js new file mode 100644 index 000000000..d3cb9e5da --- /dev/null +++ b/assets/js/795feea1.6fd79961.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[80568],{81284:(e,s,i)=>{i.r(s),i.d(s,{assets:()=>c,contentTitle:()=>l,default:()=>h,frontMatter:()=>o,metadata:()=>r,toc:()=>a});var n=i(17624),t=i(4552);const o={id:"the-structure",title:"The Structure",sidebar_label:"The Structure"},l=void 0,r={id:"legacy/v5/basics/the-structure",title:"The Structure",description:"docs-source",source:"@site/docs/legacy/v5/basics/the-structure.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/the-structure",permalink:"/docs/legacy/v5/basics/the-structure",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"the-structure",title:"The Structure",sidebar_label:"The Structure"},sidebar:"docs",previous:{title:"Example Class",permalink:"/docs/legacy/v5/basics/example-class"},next:{title:"Manifest",permalink:"/docs/legacy/v5/basics/manifest"}},c={},a=[{value:"The structure",id:"the-structure",level:2},{value:"Blocks",id:"blocks",level:3},{value:"Config",id:"config",level:3},{value:"CustomMeta",id:"custommeta",level:3},{value:"CustomPostType",id:"customposttype",level:3},{value:"CustomTaxonomy",id:"customtaxonomy",level:3},{value:"Enqueue",id:"enqueue",level:3},{value:"I18n",id:"i18n",level:3},{value:"Login",id:"login",level:3},{value:"Main",id:"main",level:3},{value:"Manifest",id:"manifest",level:3},{value:"Media",id:"media",level:3},{value:"ModifyAdminAppearance",id:"modifyadminappearance",level:3},{value:"Rest",id:"rest",level:3},{value:"ThemeOptions",id:"themeoptions",level:3},{value:"View",id:"view",level:3},{value:".storybook",id:"storybook",level:3},{value:".gitignore",id:"gitignore",level:3},{value:".eslintignore",id:"eslintignore",level:3},{value:".eslintrc",id:"eslintrc",level:3},{value:".stylelintrc",id:"stylelintrc",level:3},{value:"babel.config.js",id:"babelconfigjs",level:3},{value:"composer.json",id:"composerjson",level:3},{value:"composer.lock",id:"composerlock",level:3},{value:"package-lock.json",id:"package-lockjson",level:3},{value:"package.json",id:"packagejson",level:3},{value:"phpcs.xml.dist",id:"phpcsxmldist",level:3},{value:"postcss.config.js",id:"postcssconfigjs",level:3},{value:"README.md",id:"readmemd",level:3},{value:"webpack.config.js",id:"webpackconfigjs",level:3}];function d(e){const s={a:"a",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,t.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/infinum/eightshift-libs/tree/3.0.0/",children:(0,n.jsx)(s.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsxs)(s.p,{children:["If you've followed the chapters this far and set your first project with all the classes from the ",(0,n.jsx)(s.code,{children:"wp boilerplate setup_theme"})," command, you saw that you have an ",(0,n.jsx)(s.code,{children:"src"})," folder in the root of your project."]}),"\n",(0,n.jsxs)(s.p,{children:["In that root folder, you have a bunch of folders with classes. We like to structure our projects by features, so for example, all ",(0,n.jsx)(s.code,{children:"custom post type"})," registrations will be located in the ",(0,n.jsx)(s.code,{children:"CustomPostType"})," folder."]}),"\n",(0,n.jsxs)(s.p,{children:["Using the ",(0,n.jsx)(s.a,{href:"wp-cli",children:"WP-CLI"})," commands, you follow our folder structure so that all of your projects will have the same layout. This helps us with onboarding new developers to the project. They can know where things are from the start."]}),"\n",(0,n.jsxs)(s.p,{children:["Here is a small tip from us: ",(0,n.jsx)(s.strong,{children:'"Organize your projects by functionality"'}),"."]}),"\n",(0,n.jsx)(s.h2,{id:"the-structure",children:"The structure"}),"\n",(0,n.jsx)(s.p,{children:"As we already mentioned, try to be consistent and organized with your project. Here is the structure list generated by the libs. We will explain to you why and how we use all of these files:"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:["src","\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:["Blocks","\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"assets"}),"\n",(0,n.jsx)(s.li,{children:"components"}),"\n",(0,n.jsx)(s.li,{children:"custom"}),"\n",(0,n.jsx)(s.li,{children:"variations"}),"\n",(0,n.jsx)(s.li,{children:"wrapper"}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(s.li,{children:"Config"}),"\n",(0,n.jsx)(s.li,{children:"CustomMeta"}),"\n",(0,n.jsx)(s.li,{children:"CustomPostType"}),"\n",(0,n.jsx)(s.li,{children:"CustomTaxonomy"}),"\n",(0,n.jsxs)(s.li,{children:["Enqueue","\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"Admin"}),"\n",(0,n.jsx)(s.li,{children:"Blocks"}),"\n",(0,n.jsx)(s.li,{children:"Theme"}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(s.li,{children:"I18n"}),"\n",(0,n.jsx)(s.li,{children:"Login"}),"\n",(0,n.jsx)(s.li,{children:"Main"}),"\n",(0,n.jsx)(s.li,{children:"Manifest"}),"\n",(0,n.jsx)(s.li,{children:"Media"}),"\n",(0,n.jsx)(s.li,{children:"ModifyAdminAppearance"}),"\n",(0,n.jsxs)(s.li,{children:["Rest","\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"Field"}),"\n",(0,n.jsx)(s.li,{children:"Routes"}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(s.li,{children:"ThemeOptions"}),"\n",(0,n.jsx)(s.li,{children:"View"}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(s.li,{children:".storybook"}),"\n",(0,n.jsx)(s.li,{children:".gitignore"}),"\n",(0,n.jsx)(s.li,{children:".eslintignore"}),"\n",(0,n.jsx)(s.li,{children:".eslintrc"}),"\n",(0,n.jsx)(s.li,{children:".stylelintrc"}),"\n",(0,n.jsx)(s.li,{children:"babel.config.js"}),"\n",(0,n.jsx)(s.li,{children:"composer.json"}),"\n",(0,n.jsx)(s.li,{children:"composer.lock"}),"\n",(0,n.jsx)(s.li,{children:"package-lock.json"}),"\n",(0,n.jsx)(s.li,{children:"package.json"}),"\n",(0,n.jsx)(s.li,{children:"phpcs.xml.dist"}),"\n",(0,n.jsx)(s.li,{children:"postcss.config.js"}),"\n",(0,n.jsx)(s.li,{children:"README.md"}),"\n",(0,n.jsx)(s.li,{children:"webpack.config.js"}),"\n"]}),"\n",(0,n.jsx)(s.h3,{id:"blocks",children:"Blocks"}),"\n",(0,n.jsxs)(s.p,{children:["Blocks are used, as the name implies, for the block editor. You can read about blocks in more detail in ",(0,n.jsx)(s.a,{href:"blocks",children:"Blocks chapter"}),"."]}),"\n",(0,n.jsx)(s.h3,{id:"config",children:"Config"}),"\n",(0,n.jsxs)(s.p,{children:["This class is used to define all the configuration methods for your project like ",(0,n.jsx)(s.code,{children:"project name"}),", ",(0,n.jsx)(s.code,{children:"project version"}),", ",(0,n.jsx)(s.code,{children:"rest routes namespace"}),", and much more."]}),"\n",(0,n.jsx)(s.p,{children:"You can define your project's needs in this class as a static method that you can quickly use."}),"\n",(0,n.jsx)(s.h3,{id:"custommeta",children:"CustomMeta"}),"\n",(0,n.jsx)(s.p,{children:"This class contains all the custom meta hooks for your project."}),"\n",(0,n.jsx)(s.h3,{id:"customposttype",children:"CustomPostType"}),"\n",(0,n.jsx)(s.p,{children:"This class contains all the custom post type hooks for your project. We created a preset for you, so this class looks the same on all the projects."}),"\n",(0,n.jsx)(s.h3,{id:"customtaxonomy",children:"CustomTaxonomy"}),"\n",(0,n.jsx)(s.p,{children:"This class contains all the custom taxonomy hooks for your project. Like custom post type, we created a preset for you, so this class looks the same on all the projects."}),"\n",(0,n.jsx)(s.h3,{id:"enqueue",children:"Enqueue"}),"\n",(0,n.jsx)(s.p,{children:"These classes will handle JavaScript and CSS files for your project, depending on the location you want to use it:"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Admin"})," - Used in the admin (not block editor) part of your project. You can find the files inside the ",(0,n.jsx)(s.code,{children:"assets"})," folder with the ",(0,n.jsx)(s.code,{children:"-admin"})," suffix."]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Blocks"})," - Used in the block editor part of your project. You can find the files inside the ",(0,n.jsx)(s.code,{children:"src/Blocks/assets"})," folder. As blocks are complicated, we have files loaded only in the admin-editor part of the project, those files have an ",(0,n.jsx)(s.code,{children:"-editor"})," suffix. The rest of the files with no suffix load on the admin-editor part and the project's front end."]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Theme"})," - Used in the theme (frontend) part of your project. You can find the files inside the ",(0,n.jsx)(s.code,{children:"assets"})," folder with no suffix. You would use these files for stuff related to your project that is not associated with components and blocks. (To be honest, we barely use these files.)"]}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["The usage of any of these classes is optional, and you can use only what you need. Eightshift Boilerplate ",(0,n.jsx)(s.code,{children:"setup_theme"})," command comes with all three classes already implemented. Keep in mind that enqueue classes work in combination with the Webpack build of your project."]}),"\n",(0,n.jsxs)(s.p,{children:["We named all our files with ",(0,n.jsx)(s.code,{children:"application"})," in prefix. If you don't like the name, you can change it by providing the project overrides for constants used in the Eightshift-Libs. If you change the file names, you must make changes to the Webpack build process as well. For modifying the Webpack part you can check in the ",(0,n.jsx)(s.a,{href:"webpack",children:"Webpack chapter"}),"."]}),"\n",(0,n.jsx)(s.h3,{id:"i18n",children:"I18n"}),"\n",(0,n.jsx)(s.p,{children:"This class is used to define all hooks related to the languages and translations for your project."}),"\n",(0,n.jsx)(s.h3,{id:"login",children:"Login"}),"\n",(0,n.jsx)(s.p,{children:"We use this file to change the logo link on the login page, but you can use it however you seem fit."}),"\n",(0,n.jsx)(s.h3,{id:"main",children:"Main"}),"\n",(0,n.jsxs)(s.p,{children:["This is the main entry point file for all your classes. It implements DI container and autowiring with the main action that loads everything in your project inside the WordPress ecosystem. You can provide manual service classes here as well. We covered this in the ",(0,n.jsx)(s.a,{href:"autowiring",children:"autowiring chapter"}),"."]}),"\n",(0,n.jsx)(s.h3,{id:"manifest",children:"Manifest"}),"\n",(0,n.jsxs)(s.p,{children:["This class provides ",(0,n.jsx)(s.code,{children:"manifest.json"})," file location and helpers to return the full path for a specific asset. We will cover this in more detail in the ",(0,n.jsx)(s.a,{href:"manifest",children:"manifest chapter"}),"."]}),"\n",(0,n.jsx)(s.h3,{id:"media",children:"Media"}),"\n",(0,n.jsx)(s.p,{children:"This class is used to add all custom project implementation for media like adding custom image size, enabling SVG image, etc."}),"\n",(0,n.jsx)(s.h3,{id:"modifyadminappearance",children:"ModifyAdminAppearance"}),"\n",(0,n.jsx)(s.p,{children:"This class is used to change admin appearance. We use it to change the admin color palette depending on the environment."}),"\n",(0,n.jsx)(s.h3,{id:"rest",children:"Rest"}),"\n",(0,n.jsxs)(s.p,{children:["These classes will handle the rest fields and routes for your project. We will cover this in more detail in the ",(0,n.jsx)(s.a,{href:"rest",children:"rest chapter"}),"."]}),"\n",(0,n.jsx)(s.h3,{id:"themeoptions",children:"ThemeOptions"}),"\n",(0,n.jsx)(s.p,{children:"This class is used to add admin menu options and configurations for theme options and settings."}),"\n",(0,n.jsx)(s.h3,{id:"view",children:"View"}),"\n",(0,n.jsxs)(s.p,{children:["This class is used to add filters used in escaping unsafe tags in the ",(0,n.jsx)(s.code,{children:"wp_kses_post"})," and ",(0,n.jsx)(s.code,{children:"wp_kses"})," methods."]}),"\n",(0,n.jsx)(s.h3,{id:"storybook",children:".storybook"}),"\n",(0,n.jsxs)(s.p,{children:["This folder contains all of the files necessary to run the storybook in your project. Read more about it on ",(0,n.jsx)(s.a,{href:"https://storybook.js.org/",children:"this link"}),"."]}),"\n",(0,n.jsx)(s.h3,{id:"gitignore",children:".gitignore"}),"\n",(0,n.jsxs)(s.p,{children:["As the name implies, this file is used to provide restrictions for files that will not be added to the git structure. Read more about it on ",(0,n.jsx)(s.a,{href:"https://git-scm.com/",children:"this link"}),"."]}),"\n",(0,n.jsx)(s.h3,{id:"eslintignore",children:".eslintignore"}),"\n",(0,n.jsx)(s.p,{children:"This file provides similar restrictions but this time for files/folders that will not be checked with the eslint."}),"\n",(0,n.jsx)(s.h3,{id:"eslintrc",children:".eslintrc"}),"\n",(0,n.jsxs)(s.p,{children:["This file provides all the definitions used for linting JavaScript files. Read more about it on ",(0,n.jsx)(s.a,{href:"https://eslint.org/",children:"this link"}),"."]}),"\n",(0,n.jsx)(s.h3,{id:"stylelintrc",children:".stylelintrc"}),"\n",(0,n.jsxs)(s.p,{children:["This file provides all the definitions used for linting Style (SCSS/CSS) files. Read more about it on ",(0,n.jsx)(s.a,{href:"https://stylelint.io/",children:"this link"}),"."]}),"\n",(0,n.jsx)(s.h3,{id:"babelconfigjs",children:"babel.config.js"}),"\n",(0,n.jsxs)(s.p,{children:["This file provides all the definitions of how your JavaScript code will be compiled, what standard you will use, and much more. Read more about it on ",(0,n.jsx)(s.a,{href:"https://babeljs.io/",children:"this link"}),"."]}),"\n",(0,n.jsx)(s.h3,{id:"composerjson",children:"composer.json"}),"\n",(0,n.jsxs)(s.p,{children:["This file contains all the vendor packages you are using in your project. They are added to your project using the ",(0,n.jsx)(s.code,{children:"composer install"})," command. Read more about it on ",(0,n.jsx)(s.a,{href:"https://getcomposer.org/",children:"this link"}),"."]}),"\n",(0,n.jsx)(s.h3,{id:"composerlock",children:"composer.lock"}),"\n",(0,n.jsx)(s.p,{children:"Lock files are used to set the package version to the exact release. This ensures that everyone gets the same package version when doing the installation."}),"\n",(0,n.jsx)(s.h3,{id:"package-lockjson",children:"package-lock.json"}),"\n",(0,n.jsxs)(s.p,{children:["The same as ",(0,n.jsx)(s.code,{children:"composer.lock"})," but for node_modules."]}),"\n",(0,n.jsx)(s.h3,{id:"packagejson",children:"package.json"}),"\n",(0,n.jsxs)(s.p,{children:["This file contains all the node_modules packages you are using in your project. They are added to your project using the ",(0,n.jsx)(s.code,{children:"npm install"})," command. Read more about it on ",(0,n.jsx)(s.a,{href:"https://nodejs.dev/",children:"this link"}),"."]}),"\n",(0,n.jsx)(s.h3,{id:"phpcsxmldist",children:"phpcs.xml.dist"}),"\n",(0,n.jsxs)(s.p,{children:["This file provides all the definitions used for linting PHP files. Read more about it on ",(0,n.jsx)(s.a,{href:"https://github.com/squizlabs/PHP_CodeSniffer",children:"this link"}),"."]}),"\n",(0,n.jsx)(s.h3,{id:"postcssconfigjs",children:"postcss.config.js"}),"\n",(0,n.jsxs)(s.p,{children:["Postcss works in correlation with Webpack, and it defines what additional plugins you are going to use when building your css files. Read more about it on ",(0,n.jsx)(s.a,{href:"https://postcss.org/",children:"this link"}),"."]}),"\n",(0,n.jsx)(s.h3,{id:"readmemd",children:"README.md"}),"\n",(0,n.jsx)(s.p,{children:"Readme is always good to have. You should always define here how to set up a new project and make project switching a breeze."}),"\n",(0,n.jsx)(s.h3,{id:"webpackconfigjs",children:"webpack.config.js"}),"\n",(0,n.jsxs)(s.p,{children:["This file provides all the definitions used for building your JavaScript and CSS files. We will cover this in more detail in the ",(0,n.jsx)(s.a,{href:"webpack",children:"Webpack chapter"}),"."]})]})}function h(e={}){const{wrapper:s}={...(0,t.M)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},4552:(e,s,i)=>{i.d(s,{I:()=>r,M:()=>l});var n=i(11504);const t={},o=n.createContext(t);function l(e){const s=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:l(e.components),n.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/79677.ff84d711.js b/assets/js/79677.ff84d711.js deleted file mode 100644 index 4af90d839..000000000 --- a/assets/js/79677.ff84d711.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[79677],{61460:(e,t,s)=>{s.d(t,{Z:()=>v});var n=s(67294),a=s(36905),l=s(22189),r=s(87524),i=s(33692),o=s(95999),c=s(16550),m=s(48596);function d(e){const{pathname:t}=(0,c.TH)();return(0,n.useMemo)((()=>e.filter((e=>function(e,t){return!(e.unlisted&&!(0,m.Mg)(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(85893);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.Z)(u.sidebar,"thin-scrollbar"),"aria-label":(0,o.I)({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.Z)(u.sidebarItemTitle,"margin-bottom--md"),children:t.title}),(0,h.jsx)("ul",{className:(0,a.Z)(u.sidebarItemList,"clean-list"),children:s.map((e=>(0,h.jsx)("li",{className:u.sidebarItem,children:(0,h.jsx)(i.Z,{isNavLink:!0,to:e.permalink,className:u.sidebarItemLink,activeClassName:u.sidebarItemLinkActive,children:e.title})},e.permalink)))})]})})}var p=s(13102);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)(i.Z,{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.Zo,{component:x,props:e})}function f(e){let{sidebar:t}=e;const s=(0,r.i)();return null!=t&&t.items.length?"mobile"===s?(0,h.jsx)(j,{sidebar:t}):(0,h.jsx)(g,{sidebar:t}):null}function v(e){const{sidebar:t,toc:s,children:n,...r}=e,i=t&&t.items.length>0;return(0,h.jsx)(l.Z,{...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,a.Z)("col",{"col--7":i,"col--9 col--offset-1":!i}),itemScope:!0,itemType:"https://schema.org/Blog",children:n}),s&&(0,h.jsx)("div",{className:"col col--2",children:s})]})})})}},30390:(e,t,s)=>{s.d(t,{Z:()=>F});s(67294);var n=s(36905),a=s(9460),l=s(44996),r=s(85893);function i(e){var t,s;let{children:n,className:i}=e;const{frontMatter:o,assets:c,metadata:{description:m}}=(0,a.C)(),{withBaseUrl:d}=(0,l.C)(),u=null!=(t=c.image)?t:o.image,h=null!=(s=o.keywords)?s:[];return(0,r.jsxs)("article",{className:i,itemProp:"blogPost",itemScope:!0,itemType:"https://schema.org/BlogPosting",children:[m&&(0,r.jsx)("meta",{itemProp:"description",content:m}),u&&(0,r.jsx)("link",{itemProp:"image",href:d(u,{absolute:!0})}),h.length>0&&(0,r.jsx)("meta",{itemProp:"keywords",content:h.join(",")}),n]})}var o=s(33692);const c={title:"title_f1Hy"};function m(e){let{className:t}=e;const{metadata:s,isBlogPostPage:l}=(0,a.C)(),{permalink:i,title:m}=s,d=l?"h1":"h2";return(0,r.jsx)(d,{className:(0,n.Z)(c.title,t),itemProp:"headline",children:l?m:(0,r.jsx)(o.Z,{itemProp:"url",to:i,children:m})})}var d=s(95999),u=s(88824);const h={container:"container_mt6G"};function g(e){let{readingTime:t}=e;const s=function(){const{selectMessage:e}=(0,u.c)();return t=>{const s=Math.ceil(t);return e(s,(0,d.I)({id:"theme.blog.post.readingTime.plurals",description:'Pluralized label for "{readingTime} min read". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One min read|{readingTime} min read"},{readingTime:s}))}}();return(0,r.jsx)(r.Fragment,{children:s(t)})}function p(e){let{date:t,formattedDate:s}=e;return(0,r.jsx)("time",{dateTime:t,itemProp:"datePublished",children:s})}function x(){return(0,r.jsx)(r.Fragment,{children:" \xb7 "})}function j(e){let{className:t}=e;const{metadata:s}=(0,a.C)(),{date:l,formattedDate:i,readingTime:o}=s;return(0,r.jsxs)("div",{className:(0,n.Z)(h.container,"margin-vert--md",t),children:[(0,r.jsx)(p,{date:l,formattedDate:i}),void 0!==o&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(x,{}),(0,r.jsx)(g,{readingTime:o})]})]})}function f(e){return e.href?(0,r.jsx)(o.Z,{...e}):(0,r.jsx)(r.Fragment,{children:e.children})}function v(e){let{author:t,className:s}=e;const{name:a,title:l,url:i,imageURL:o,email:c}=t,m=i||c&&"mailto:"+c||void 0;return(0,r.jsxs)("div",{className:(0,n.Z)("avatar margin-bottom--sm",s),children:[o&&(0,r.jsx)(f,{href:m,className:"avatar__photo-link",children:(0,r.jsx)("img",{className:"avatar__photo",src:o,alt:a,itemProp:"image"})}),a&&(0,r.jsxs)("div",{className:"avatar__intro",itemProp:"author",itemScope:!0,itemType:"https://schema.org/Person",children:[(0,r.jsx)("div",{className:"avatar__name",children:(0,r.jsx)(f,{href:m,itemProp:"url",children:(0,r.jsx)("span",{itemProp:"name",children:a})})}),l&&(0,r.jsx)("small",{className:"avatar__subtitle",itemProp:"description",children:l})]})]})}const b={authorCol:"authorCol_Hf19",imageOnlyAuthorRow:"imageOnlyAuthorRow_pa_O",imageOnlyAuthorCol:"imageOnlyAuthorCol_G86a"};function N(e){let{className:t}=e;const{metadata:{authors:s},assets:l}=(0,a.C)();if(0===s.length)return null;const i=s.every((e=>{let{name:t}=e;return!t}));return(0,r.jsx)("div",{className:(0,n.Z)("margin-top--md margin-bottom--sm",i?b.imageOnlyAuthorRow:"row",t),children:s.map(((e,t)=>{var s;return(0,r.jsx)("div",{className:(0,n.Z)(!i&&"col col--6",i?b.imageOnlyAuthorCol:b.authorCol),children:(0,r.jsx)(v,{author:{...e,imageURL:null!=(s=l.authorsImageUrls[t])?s:e.imageURL}})},t)}))})}function _(){return(0,r.jsxs)("header",{children:[(0,r.jsx)(m,{}),(0,r.jsx)(j,{}),(0,r.jsx)(N,{})]})}var Z=s(18780),P=s(95896);function k(e){let{children:t,className:s}=e;const{isBlogPostPage:l}=(0,a.C)();return(0,r.jsx)("div",{id:l?Z.blogPostContainerID:void 0,className:(0,n.Z)("markdown",s),itemProp:"articleBody",children:(0,r.jsx)(P.Z,{children:t})})}var C=s(84881),y=s(71526);function T(){return(0,r.jsx)("b",{children:(0,r.jsx)(d.Z,{id:"theme.blog.post.readMore",description:"The label used in blog post item excerpts to link to full blog posts",children:"Read More"})})}function w(e){const{blogPostTitle:t,...s}=e;return(0,r.jsx)(o.Z,{"aria-label":(0,d.I)({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,r.jsx)(T,{})})}const I={blogPostFooterDetailsFull:"blogPostFooterDetailsFull_mRVl"};function L(){const{metadata:e,isBlogPostPage:t}=(0,a.C)(),{tags:s,title:l,editUrl:i,hasTruncateMarker:o}=e,c=!t&&o,m=s.length>0;return m||c||i?(0,r.jsxs)("footer",{className:(0,n.Z)("row docusaurus-mt-lg",t&&I.blogPostFooterDetailsFull),children:[m&&(0,r.jsx)("div",{className:(0,n.Z)("col",{"col--9":c}),children:(0,r.jsx)(y.Z,{tags:s})}),t&&i&&(0,r.jsx)("div",{className:"col margin-top--sm",children:(0,r.jsx)(C.Z,{editUrl:i})}),c&&(0,r.jsx)("div",{className:(0,n.Z)("col text--right",{"col--3":m}),children:(0,r.jsx)(w,{blogPostTitle:l,to:e.permalink})})]}):null}function F(e){let{children:t,className:s}=e;const l=function(){const{isBlogPostPage:e}=(0,a.C)();return e?void 0:"margin-bottom--xl"}();return(0,r.jsxs)(i,{className:(0,n.Z)(l,s),children:[(0,r.jsx)(_,{}),(0,r.jsx)(k,{children:t}),(0,r.jsx)(L,{})]})}},84881:(e,t,s)=>{s.d(t,{Z:()=>m});s(67294);var n=s(95999),a=s(35281),l=s(33692),r=s(36905);const i={iconEdit:"iconEdit_Z9Sw"};var o=s(85893);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,r.Z)(i.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)(l.Z,{to:t,className:a.k.common.editThisPage,children:[(0,o.jsx)(c,{}),(0,o.jsx)(n.Z,{id:"theme.common.editThisPage",description:"The link label to edit the current page",children:"Edit this page"})]})}},95896:(e,t,s)=>{s.d(t,{Z:()=>I});var n=s(67294),a=s(11151),l=s(35742),r=s(9286),i=s(85893);function o(e){return(0,i.jsx)("code",{...e})}var c=s(33692);var m=s(36905),d=s(788),u=s(28138),h=s(72389),g=s(86043);const p={details:"details_lb9f",isBrowser:"isBrowser_bmU9",collapsibleContent:"collapsibleContent_i85q"};function x(e){return!!e&&("SUMMARY"===e.tagName||x(e.parentElement))}function j(e,t){return!!e&&(e===t||j(e.parentElement,t))}function f(e){let{summary:t,children:s,...a}=e;(0,u.Z)().collectAnchor(a.id);const l=(0,h.Z)(),r=(0,n.useRef)(null),{collapsed:o,setCollapsed:c}=(0,g.u)({initialState:!a.open}),[m,f]=(0,n.useState)(a.open),v=n.isValidElement(t)?t:(0,i.jsx)("summary",{children:null!=t?t:"Details"});return(0,i.jsxs)("details",{...a,ref:r,open:m,"data-collapsed":o,className:(0,d.Z)(p.details,l&&p.isBrowser,a.className),onMouseDown:e=>{x(e.target)&&e.detail>1&&e.preventDefault()},onClick:e=>{e.stopPropagation();const t=e.target;x(t)&&j(t,r.current)&&(e.preventDefault(),o?(c(!1),f(!0)):c(!0))},children:[v,(0,i.jsx)(g.z,{lazy:!1,collapsed:o,disableSSRStyle:!0,onCollapseTransitionEnd:e=>{c(e),f(!e)},children:(0,i.jsx)("div",{className:p.collapsibleContent,children:s})})]})}const v={details:"details_b_Ee"},b="alert alert--info";function N(e){let{...t}=e;return(0,i.jsx)(f,{...t,className:(0,m.Z)(b,v.details,t.className)})}function _(e){const t=n.Children.toArray(e.children),s=t.find((e=>n.isValidElement(e)&&"summary"===e.type)),a=(0,i.jsx)(i.Fragment,{children:t.filter((e=>e!==s))});return(0,i.jsx)(N,{...e,summary:s,children:a})}var Z=s(92503);function P(e){return(0,i.jsx)(Z.Z,{...e})}const k={containsTaskList:"containsTaskList_mC6p"};function C(e){if(void 0!==e)return(0,m.Z)(e,(null==e?void 0:e.includes("contains-task-list"))&&k.containsTaskList)}const y={img:"img_ev3q"};var T=s(25943);const w={Head:l.Z,details:_,Details:_,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,i.jsx)(o,{...e}):(0,i.jsx)(r.Z,{...e})},a:function(e){return(0,i.jsx)(c.Z,{...e})},pre:function(e){return(0,i.jsx)(i.Fragment,{children:e.children})},ul:function(e){return(0,i.jsx)("ul",{...e,className:C(e.className)})},li:function(e){return(0,u.Z)().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,m.Z)(t,y.img))});var t},h1:e=>(0,i.jsx)(P,{as:"h1",...e}),h2:e=>(0,i.jsx)(P,{as:"h2",...e}),h3:e=>(0,i.jsx)(P,{as:"h3",...e}),h4:e=>(0,i.jsx)(P,{as:"h4",...e}),h5:e=>(0,i.jsx)(P,{as:"h5",...e}),h6:e=>(0,i.jsx)(P,{as:"h6",...e}),admonition:T.Z,mermaid:()=>null};function I(e){let{children:t}=e;return(0,i.jsx)(a.Z,{components:w,children:t})}},32244:(e,t,s)=>{s.d(t,{Z:()=>r});s(67294);var n=s(36905),a=s(33692),l=s(85893);function r(e){const{permalink:t,title:s,subLabel:r,isNext:i}=e;return(0,l.jsxs)(a.Z,{className:(0,n.Z)("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:s})]})}},13008:(e,t,s)=>{s.d(t,{Z:()=>i});s(67294);var n=s(36905),a=s(33692);const l={tag:"tag_zVej",tagRegular:"tagRegular_sFm0",tagWithCount:"tagWithCount_h2kH"};var r=s(85893);function i(e){let{permalink:t,label:s,count:i}=e;return(0,r.jsxs)(a.Z,{href:t,className:(0,n.Z)(l.tag,i?l.tagWithCount:l.tagRegular),children:[s,i&&(0,r.jsx)("span",{children:i})]})}},71526:(e,t,s)=>{s.d(t,{Z:()=>o});s(67294);var n=s(36905),a=s(95999),l=s(13008);const r={tags:"tags_jXut",tag:"tag_QGVx"};var i=s(85893);function o(e){let{tags:t}=e;return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("b",{children:(0,i.jsx)(a.Z,{id:"theme.tags.tagsListLabel",description:"The label alongside a tag list",children:"Tags:"})}),(0,i.jsx)("ul",{className:(0,n.Z)(r.tags,"padding--none","margin-left--sm"),children:t.map((e=>{let{label:t,permalink:s}=e;return(0,i.jsx)("li",{className:r.tag,children:(0,i.jsx)(l.Z,{label:t,permalink:s})},s)}))})]})}},9460:(e,t,s)=>{s.d(t,{C:()=>o,n:()=>i});var n=s(67294),a=s(902),l=s(85893);const r=n.createContext(null);function i(e){let{children:t,content:s,isBlogPostPage:a=!1}=e;const i=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,l.jsx)(r.Provider,{value:i,children:t})}function o(){const e=(0,n.useContext)(r);if(null===e)throw new a.i6("BlogPostProvider");return e}},88824:(e,t,s)=>{s.d(t,{c:()=>c});var n=s(67294),a=s(52263);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,a.Z)();return(0,n.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,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),l=s.pluralForms.indexOf(a);return n[Math.min(l,n.length-1)]}(s,t,e)}}}}]); \ No newline at end of file diff --git a/assets/js/79818576.40deca28.js b/assets/js/79818576.40deca28.js deleted file mode 100644 index 7501c1efe..000000000 --- a/assets/js/79818576.40deca28.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[24265],{39149:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>r,toc:()=>l});var s=i(85893),n=i(11151);const o={id:"basics-intro",title:"Basics"},a=void 0,r={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.",source:"@site/docs/legacy/v8/basics/basics-intro.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/basics-intro",permalink:"/docs/legacy/v8/basics/basics-intro",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"basics-intro",title:"Basics"},sidebar:"docs",previous:{title:"Versions",permalink:"/docs/legacy/v8/versions"},next:{title:"WP-CLI",permalink:"/docs/legacy/v8/basics/wp-cli"}},c={},l=[{value:"Let's finally start with documentation",id:"lets-finally-start-with-documentation",level:2}];function d(e){const t={a:"a",h2:"h2",p:"p",strong:"strong",...(0,n.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:"Prior to WordPress 5.0, themes were mostly PHP-based, with JavaScript used only to provide interactive functionality on the website.\nNow 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."}),"\n",(0,s.jsx)(t.p,{children:"Now that everything is different, we must adapt to the changes as well."}),"\n",(0,s.jsx)(t.h2,{id:"lets-finally-start-with-documentation",children:"Let's finally start with documentation"}),"\n",(0,s.jsx)(t.p,{children:"We took our time to set up a bunch of WP-CLI commands. That should help you set up everything and use all our features, without worrying about correct names, files, and organization. You can find out more about it on this link:"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"wp-cli",children:"WP-CLI"})}),"\n",(0,s.jsx)(t.p,{children:"If you would like to read about our extensive WP-CLI features, find out how to use service classes, or learn how dependency injection container works with auto wiring, this link is for you:"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"backend",children:"Back-end stuff"})}),"\n",(0,s.jsx)(t.p,{children:"If instead, you would like to check out what we have prepared regarding the JavaScript Babel and Webpack, or find out how we ensure that our code is the same across multiple developers, this link is for you:"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"frontend",children:"Front-end stuff"})}),"\n",(0,s.jsxs)(t.p,{children:["On the other hand, if you would like to see our extensive ",(0,s.jsx)(t.strong,{children:"Dynamic Blocks"})," collection and learn how you can use them with all the developer's flexibility and as little code duplication as possible, check out this link:"]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"blocks",children:"Block editor blocks"})})]})}function h(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},11151:(e,t,i)=>{i.d(t,{Z:()=>r,a:()=>a});var s=i(67294);const n={},o=s.createContext(n);function a(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/79818576.e05d56cd.js b/assets/js/79818576.e05d56cd.js new file mode 100644 index 000000000..40e3c1985 --- /dev/null +++ b/assets/js/79818576.e05d56cd.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[69384],{9764:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>a,toc:()=>l});var s=i(17624),n=i(4552);const o={id:"basics-intro",title:"Basics"},r=void 0,a={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.",source:"@site/docs/legacy/v8/basics/basics-intro.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/basics-intro",permalink:"/docs/legacy/v8/basics/basics-intro",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"basics-intro",title:"Basics"},sidebar:"docs",previous:{title:"Versions",permalink:"/docs/legacy/v8/versions"},next:{title:"WP-CLI",permalink:"/docs/legacy/v8/basics/wp-cli"}},c={},l=[{value:"Let's finally start with documentation",id:"lets-finally-start-with-documentation",level:2}];function d(e){const t={a:"a",h2:"h2",p:"p",strong:"strong",...(0,n.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:"Prior to WordPress 5.0, themes were mostly PHP-based, with JavaScript used only to provide interactive functionality on the website.\nNow 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."}),"\n",(0,s.jsx)(t.p,{children:"Now that everything is different, we must adapt to the changes as well."}),"\n",(0,s.jsx)(t.h2,{id:"lets-finally-start-with-documentation",children:"Let's finally start with documentation"}),"\n",(0,s.jsx)(t.p,{children:"We took our time to set up a bunch of WP-CLI commands. That should help you set up everything and use all our features, without worrying about correct names, files, and organization. You can find out more about it on this link:"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"wp-cli",children:"WP-CLI"})}),"\n",(0,s.jsx)(t.p,{children:"If you would like to read about our extensive WP-CLI features, find out how to use service classes, or learn how dependency injection container works with auto wiring, this link is for you:"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"backend",children:"Back-end stuff"})}),"\n",(0,s.jsx)(t.p,{children:"If instead, you would like to check out what we have prepared regarding the JavaScript Babel and Webpack, or find out how we ensure that our code is the same across multiple developers, this link is for you:"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"frontend",children:"Front-end stuff"})}),"\n",(0,s.jsxs)(t.p,{children:["On the other hand, if you would like to see our extensive ",(0,s.jsx)(t.strong,{children:"Dynamic Blocks"})," collection and learn how you can use them with all the developer's flexibility and as little code duplication as possible, check out this link:"]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"blocks",children:"Block editor blocks"})})]})}function h(e={}){const{wrapper:t}={...(0,n.M)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},4552:(e,t,i)=>{i.d(t,{I:()=>a,M:()=>r});var s=i(11504);const n={},o=s.createContext(n);function r(e){const t=s.useContext(o);return s.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:r(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7a9c7a9a.373e03fb.js b/assets/js/7a9c7a9a.373e03fb.js deleted file mode 100644 index faa029e74..000000000 --- a/assets/js/7a9c7a9a.373e03fb.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[18603],{332:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>h,contentTitle:()=>r,default:()=>a,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var t=i(85893),s=i(11151);const o={id:"10-11",title:"Version 10 to 11"},r=void 0,l={id:"migrations/10-11",title:"Version 10 to 11",description:"This migration guide contains migration instructions for:",source:"@site/docs/migrations/10-11.md",sourceDirName:"migrations",slug:"/migrations/10-11",permalink:"/docs/migrations/10-11",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"10-11",title:"Version 10 to 11"},sidebar:"docs",previous:{title:"Intro",permalink:"/docs/tutorials/intro"},next:{title:"Version 9 to 10",permalink:"/docs/migrations/9-10"}},h={},c=[{value:"PHP support",id:"php-support",level:2},{value:"PHP 8+",id:"php-8",level:3},{value:"PHP 7.4+",id:"php-74",level:3},{value:"Required changes",id:"required-changes",level:2},{value:"Remove deprecated functions from blocks",id:"remove-deprecated-functions-from-blocks",level:4},{value:"Enqueue the <code>lodash</code> library",id:"enqueue-the-lodash-library",level:4},{value:"Optional changes",id:"optional-changes",level:2},{value:"Update your Config.php file",id:"update-your-configphp-file",level:4}];function d(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",h4:"h4",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:"This migration guide contains migration instructions for:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-boilerplate/releases/tag/11.0.0",children:"eightshift/boilerplate"})," - ",(0,t.jsx)(n.strong,{children:"10+ --\x3e 11.0.0"})]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/releases/tag/9.0.0",children:"eightshift/frontend-libs"})," - ",(0,t.jsx)(n.strong,{children:"8+ --\x3e 9.0.0"})]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/releases/tag/7.0.0",children:"eightshift/libs"})," - ",(0,t.jsx)(n.strong,{children:"6+ --\x3e 7.0.0"})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"This release contains a couple of breaking changes!"}),"\nCheck the list below for details about changes that will have to be made."]}),"\n",(0,t.jsx)(n.p,{children:"Also, a couple of changes are optional, but recommended."}),"\n",(0,t.jsx)(n.p,{children:"The major update on this release is the support for PHP 8+."}),"\n",(0,t.jsx)(n.h2,{id:"php-support",children:"PHP support"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Migration time: ~5min."})}),"\n",(0,t.jsx)(n.h3,{id:"php-8",children:"PHP 8+"}),"\n",(0,t.jsxs)(n.p,{children:["To allow support for PHP 8+ you need to update ",(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-boilerplate/tree/develop",children:"Eightshift Libs"})," to the latest version and update your project's ",(0,t.jsx)(n.code,{children:"composer.json"})," to all the latest ",(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-boilerplate/blob/develop/composer.json",children:"package"})," versions."]}),"\n",(0,t.jsx)(n.admonition,{type:"tip",children:(0,t.jsxs)(n.p,{children:["Don't forget to update the required PHP version in ",(0,t.jsx)(n.code,{children:"composer.json"})," and run ",(0,t.jsx)(n.code,{children:"composer update"}),"."]})}),"\n",(0,t.jsx)(n.h3,{id:"php-74",children:"PHP 7.4+"}),"\n",(0,t.jsxs)(n.p,{children:["The latest version of the ",(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-boilerplate/tree/develop",children:"Eightshift Libs"})," still supports PHP 7.4+. If you cannot update to PHP 8+, update ",(0,t.jsx)(n.code,{children:"composer.json"})," packages to all the latest versions, except these packages, which should stay on the previous versions:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-json",children:'"dealerdirect/phpcodesniffer-composer-installer": "v0.7.2",\n"infinum/eightshift-coding-standards": "1.6.0",\n'})}),"\n",(0,t.jsx)(n.h2,{id:"required-changes",children:"Required changes"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Migration time: ~5min."})}),"\n",(0,t.jsx)(n.h4,{id:"remove-deprecated-functions-from-blocks",children:"Remove deprecated functions from blocks"}),"\n",(0,t.jsxs)(n.p,{children:["If you used the ",(0,t.jsx)(n.code,{children:"getAllBlocksListOld"})," or ",(0,t.jsx)(n.code,{children:"getCustomCategoryOld"})," functions in your blocks, remove them and the respective action hooks, as these functions are no longer available."]}),"\n",(0,t.jsxs)(n.h4,{id:"enqueue-the-lodash-library",children:["Enqueue the ",(0,t.jsx)(n.code,{children:"lodash"})," library"]}),"\n",(0,t.jsxs)(n.p,{children:["From WordPress version 6.4+, the core ",(0,t.jsx)(n.code,{children:"lodash"})," library is no longer enqueued by default. We have an internal dependency to this library, so you should enqueue it in your project if you made any changes to the ",(0,t.jsx)(n.code,{children:"getAdminScriptDependencies"})," function in the ",(0,t.jsx)(n.code,{children:"EnqueueBlocks.php"})," file."]}),"\n",(0,t.jsx)(n.p,{children:"You can skip this step if you didn't change anything in that function."}),"\n",(0,t.jsx)(n.h2,{id:"optional-changes",children:"Optional changes"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Migration time: ~5min."})}),"\n",(0,t.jsx)(n.p,{children:"The following changes are not required, but you might consider adding them to have all the latest modifications."}),"\n",(0,t.jsx)(n.h4,{id:"update-your-configphp-file",children:"Update your Config.php file"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["We changed the ",(0,t.jsx)(n.code,{children:"Config.php"})," file to use the project name using ",(0,t.jsx)(n.code,{children:"TextDomain"})," and the version using ",(0,t.jsx)(n.code,{children:"Version"})," defined in your ",(0,t.jsx)(n.code,{children:"style.css"})," file."]}),"\n"]})]})}function a(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},11151:(e,n,i)=>{i.d(n,{Z:()=>l,a:()=>r});var t=i(67294);const s={},o=t.createContext(s);function r(e){const n=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),t.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7a9c7a9a.58f1c6a4.js b/assets/js/7a9c7a9a.58f1c6a4.js new file mode 100644 index 000000000..ca3cd478e --- /dev/null +++ b/assets/js/7a9c7a9a.58f1c6a4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[9916],{12908:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>h,contentTitle:()=>r,default:()=>a,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var t=i(17624),s=i(4552);const o={id:"10-11",title:"Version 10 to 11"},r=void 0,l={id:"migrations/10-11",title:"Version 10 to 11",description:"This migration guide contains migration instructions for:",source:"@site/docs/migrations/10-11.md",sourceDirName:"migrations",slug:"/migrations/10-11",permalink:"/docs/migrations/10-11",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"10-11",title:"Version 10 to 11"},sidebar:"docs",previous:{title:"Intro",permalink:"/docs/tutorials/intro"},next:{title:"Version 9 to 10",permalink:"/docs/migrations/9-10"}},h={},c=[{value:"PHP support",id:"php-support",level:2},{value:"PHP 8+",id:"php-8",level:3},{value:"PHP 7.4+",id:"php-74",level:3},{value:"Required changes",id:"required-changes",level:2},{value:"Remove deprecated functions from blocks",id:"remove-deprecated-functions-from-blocks",level:4},{value:"Enqueue the <code>lodash</code> library",id:"enqueue-the-lodash-library",level:4},{value:"Optional changes",id:"optional-changes",level:2},{value:"Update your Config.php file",id:"update-your-configphp-file",level:4}];function d(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",h4:"h4",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:"This migration guide contains migration instructions for:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-boilerplate/releases/tag/11.0.0",children:"eightshift/boilerplate"})," - ",(0,t.jsx)(n.strong,{children:"10+ --\x3e 11.0.0"})]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/releases/tag/9.0.0",children:"eightshift/frontend-libs"})," - ",(0,t.jsx)(n.strong,{children:"8+ --\x3e 9.0.0"})]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/releases/tag/7.0.0",children:"eightshift/libs"})," - ",(0,t.jsx)(n.strong,{children:"6+ --\x3e 7.0.0"})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"This release contains a couple of breaking changes!"}),"\nCheck the list below for details about changes that will have to be made."]}),"\n",(0,t.jsx)(n.p,{children:"Also, a couple of changes are optional, but recommended."}),"\n",(0,t.jsx)(n.p,{children:"The major update on this release is the support for PHP 8+."}),"\n",(0,t.jsx)(n.h2,{id:"php-support",children:"PHP support"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Migration time: ~5min."})}),"\n",(0,t.jsx)(n.h3,{id:"php-8",children:"PHP 8+"}),"\n",(0,t.jsxs)(n.p,{children:["To allow support for PHP 8+ you need to update ",(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-boilerplate/tree/develop",children:"Eightshift Libs"})," to the latest version and update your project's ",(0,t.jsx)(n.code,{children:"composer.json"})," to all the latest ",(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-boilerplate/blob/develop/composer.json",children:"package"})," versions."]}),"\n",(0,t.jsx)(n.admonition,{type:"tip",children:(0,t.jsxs)(n.p,{children:["Don't forget to update the required PHP version in ",(0,t.jsx)(n.code,{children:"composer.json"})," and run ",(0,t.jsx)(n.code,{children:"composer update"}),"."]})}),"\n",(0,t.jsx)(n.h3,{id:"php-74",children:"PHP 7.4+"}),"\n",(0,t.jsxs)(n.p,{children:["The latest version of the ",(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-boilerplate/tree/develop",children:"Eightshift Libs"})," still supports PHP 7.4+. If you cannot update to PHP 8+, update ",(0,t.jsx)(n.code,{children:"composer.json"})," packages to all the latest versions, except these packages, which should stay on the previous versions:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-json",children:'"dealerdirect/phpcodesniffer-composer-installer": "v0.7.2",\n"infinum/eightshift-coding-standards": "1.6.0",\n'})}),"\n",(0,t.jsx)(n.h2,{id:"required-changes",children:"Required changes"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Migration time: ~5min."})}),"\n",(0,t.jsx)(n.h4,{id:"remove-deprecated-functions-from-blocks",children:"Remove deprecated functions from blocks"}),"\n",(0,t.jsxs)(n.p,{children:["If you used the ",(0,t.jsx)(n.code,{children:"getAllBlocksListOld"})," or ",(0,t.jsx)(n.code,{children:"getCustomCategoryOld"})," functions in your blocks, remove them and the respective action hooks, as these functions are no longer available."]}),"\n",(0,t.jsxs)(n.h4,{id:"enqueue-the-lodash-library",children:["Enqueue the ",(0,t.jsx)(n.code,{children:"lodash"})," library"]}),"\n",(0,t.jsxs)(n.p,{children:["From WordPress version 6.4+, the core ",(0,t.jsx)(n.code,{children:"lodash"})," library is no longer enqueued by default. We have an internal dependency to this library, so you should enqueue it in your project if you made any changes to the ",(0,t.jsx)(n.code,{children:"getAdminScriptDependencies"})," function in the ",(0,t.jsx)(n.code,{children:"EnqueueBlocks.php"})," file."]}),"\n",(0,t.jsx)(n.p,{children:"You can skip this step if you didn't change anything in that function."}),"\n",(0,t.jsx)(n.h2,{id:"optional-changes",children:"Optional changes"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Migration time: ~5min."})}),"\n",(0,t.jsx)(n.p,{children:"The following changes are not required, but you might consider adding them to have all the latest modifications."}),"\n",(0,t.jsx)(n.h4,{id:"update-your-configphp-file",children:"Update your Config.php file"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["We changed the ",(0,t.jsx)(n.code,{children:"Config.php"})," file to use the project name using ",(0,t.jsx)(n.code,{children:"TextDomain"})," and the version using ",(0,t.jsx)(n.code,{children:"Version"})," defined in your ",(0,t.jsx)(n.code,{children:"style.css"})," file."]}),"\n"]})]})}function a(e={}){const{wrapper:n}={...(0,s.M)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},4552:(e,n,i)=>{i.d(n,{I:()=>l,M:()=>r});var t=i(11504);const s={},o=t.createContext(s);function r(e){const n=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),t.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7ab92eb4.13aff7de.js b/assets/js/7ab92eb4.13aff7de.js new file mode 100644 index 000000000..ad35b4ca0 --- /dev/null +++ b/assets/js/7ab92eb4.13aff7de.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[59388],{12900:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>r,contentTitle:()=>l,default:()=>c,frontMatter:()=>o,metadata:()=>a,toc:()=>h});var s=i(17624),t=i(4552);const o={id:"known-issues",title:"Known issues"},l=void 0,a={id:"known-issues",title:"Known issues",description:"Here we list all known issues and their workaround.",source:"@site/forms/known-issues.md",sourceDirName:".",slug:"/known-issues",permalink:"/forms/known-issues",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"known-issues",title:"Known issues"},sidebar:"forms",previous:{title:"Pipedrive",permalink:"/forms/integrations/pipedrive"},next:{title:"Intro",permalink:"/forms/php/intro"}},r={},h=[{value:"Multiple forms on the same page",id:"multiple-forms-on-the-same-page",level:3},{value:"Geolocation async loading",id:"geolocation-async-loading",level:3},{value:"Setting forms field value manually",id:"setting-forms-field-value-manually",level:3},{value:"Manually initializing forms",id:"manually-initializing-forms",level:3}];function d(e){const n={a:"a",code:"code",em:"em",h3:"h3",p:"p",strong:"strong",...(0,t.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:"Here we list all known issues and their workaround."}),"\n",(0,s.jsx)(n.h3,{id:"multiple-forms-on-the-same-page",children:"Multiple forms on the same page"}),"\n",(0,s.jsxs)(n.p,{children:["Forms JavaScript initialization works by checking the form's ",(0,s.jsx)(n.em,{children:"Unique ID"}),". If you have multiple forms with the same ",(0,s.jsx)(n.em,{children:"ID"})," on the same page, only the first form will be initialized."]}),"\n",(0,s.jsx)(n.p,{children:"This is a known issue that will not be fixed soon. The workaround is duplicating the form and using the duplicated form on the page."}),"\n",(0,s.jsx)(n.h3,{id:"geolocation-async-loading",children:"Geolocation async loading"}),"\n",(0,s.jsx)(n.p,{children:"When you initialize a form, the process is synchronous, which means that everything is loaded at the same time. However, when you enable geolocation, the initialization process becomes asynchronous. This means that the form will be shown until the geolocation API call is resolved, which can take a few seconds. During this time, a loading spinner will be displayed until the form is ready to be shown."}),"\n",(0,s.jsx)(n.h3,{id:"setting-forms-field-value-manually",children:"Setting forms field value manually"}),"\n",(0,s.jsx)(n.p,{children:"Forms uses JavaScript store to keep track of the form's state. If you set a field value manually, the form will not be aware of this change."}),"\n",(0,s.jsxs)(n.p,{children:["To fix you should ",(0,s.jsx)(n.strong,{children:"never"})," set the field value manually. Instead, you should use ",(0,s.jsx)(n.code,{children:"Store"})," helper methods to set the field value."]}),"\n",(0,s.jsxs)(n.p,{children:["For more details check the ",(0,s.jsx)(n.a,{href:"/forms/javascript/state/store",children:"Store documentation"}),"."]}),"\n",(0,s.jsx)(n.h3,{id:"manually-initializing-forms",children:"Manually initializing forms"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Coming soon"})}),"\n",(0,s.jsx)(n.h3,{id:""})]})}function c(e={}){const{wrapper:n}={...(0,t.M)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},4552:(e,n,i)=>{i.d(n,{I:()=>a,M:()=>l});var s=i(11504);const t={},o=s.createContext(t);function l(e){const n=s.useContext(o);return s.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(t):e.components||t:l(e.components),s.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7ab92eb4.78ad74f2.js b/assets/js/7ab92eb4.78ad74f2.js deleted file mode 100644 index 8b6bb22ce..000000000 --- a/assets/js/7ab92eb4.78ad74f2.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[46383],{46286:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>r,contentTitle:()=>a,default:()=>c,frontMatter:()=>o,metadata:()=>l,toc:()=>h});var s=i(85893),t=i(11151);const o={id:"known-issues",title:"Known issues"},a=void 0,l={id:"known-issues",title:"Known issues",description:"Here we list all known issues and their workaround.",source:"@site/forms/known-issues.md",sourceDirName:".",slug:"/known-issues",permalink:"/forms/known-issues",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"known-issues",title:"Known issues"},sidebar:"forms",previous:{title:"Pipedrive",permalink:"/forms/integrations/pipedrive"},next:{title:"Intro",permalink:"/forms/php/intro"}},r={},h=[{value:"Multiple forms on the same page",id:"multiple-forms-on-the-same-page",level:3},{value:"Geolocation async loading",id:"geolocation-async-loading",level:3},{value:"Setting forms field value manually",id:"setting-forms-field-value-manually",level:3},{value:"Manually initializing forms",id:"manually-initializing-forms",level:3}];function d(e){const n={a:"a",code:"code",em:"em",h3:"h3",p:"p",strong:"strong",...(0,t.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:"Here we list all known issues and their workaround."}),"\n",(0,s.jsx)(n.h3,{id:"multiple-forms-on-the-same-page",children:"Multiple forms on the same page"}),"\n",(0,s.jsxs)(n.p,{children:["Forms JavaScript initialization works by checking the form's ",(0,s.jsx)(n.em,{children:"Unique ID"}),". If you have multiple forms with the same ",(0,s.jsx)(n.em,{children:"ID"})," on the same page, only the first form will be initialized."]}),"\n",(0,s.jsx)(n.p,{children:"This is a known issue that will not be fixed soon. The workaround is duplicating the form and using the duplicated form on the page."}),"\n",(0,s.jsx)(n.h3,{id:"geolocation-async-loading",children:"Geolocation async loading"}),"\n",(0,s.jsx)(n.p,{children:"When you initialize a form, the process is synchronous, which means that everything is loaded at the same time. However, when you enable geolocation, the initialization process becomes asynchronous. This means that the form will be shown until the geolocation API call is resolved, which can take a few seconds. During this time, a loading spinner will be displayed until the form is ready to be shown."}),"\n",(0,s.jsx)(n.h3,{id:"setting-forms-field-value-manually",children:"Setting forms field value manually"}),"\n",(0,s.jsx)(n.p,{children:"Forms uses JavaScript store to keep track of the form's state. If you set a field value manually, the form will not be aware of this change."}),"\n",(0,s.jsxs)(n.p,{children:["To fix you should ",(0,s.jsx)(n.strong,{children:"never"})," set the field value manually. Instead, you should use ",(0,s.jsx)(n.code,{children:"Store"})," helper methods to set the field value."]}),"\n",(0,s.jsxs)(n.p,{children:["For more details check the ",(0,s.jsx)(n.a,{href:"/forms/javascript/state/store",children:"Store documentation"}),"."]}),"\n",(0,s.jsx)(n.h3,{id:"manually-initializing-forms",children:"Manually initializing forms"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Coming soon"})}),"\n",(0,s.jsx)(n.h3,{id:""})]})}function c(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},11151:(e,n,i)=>{i.d(n,{Z:()=>l,a:()=>a});var s=i(67294);const t={},o=s.createContext(t);function a(e){const n=s.useContext(o);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(t):e.components||t:a(e.components),s.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7b2162ed.4fa1726e.js b/assets/js/7b2162ed.4fa1726e.js deleted file mode 100644 index bc024cbe3..000000000 --- a/assets/js/7b2162ed.4fa1726e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[39087],{30698:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>l,default:()=>h,frontMatter:()=>r,metadata:()=>o,toc:()=>c});var s=n(85893),i=n(11151);const r={id:"helpers-javascript",title:"JavaScript",sidebar_label:"JavaScript"},l=void 0,o={id:"legacy/v5/basics/helpers-javascript",title:"JavaScript",description:"docs-source",source:"@site/docs/legacy/v5/basics/helpers-javascript.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/helpers-javascript",permalink:"/docs/legacy/v5/basics/helpers-javascript",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"helpers-javascript",title:"JavaScript",sidebar_label:"JavaScript"},sidebar:"docs",previous:{title:"Helpers",permalink:"/docs/legacy/v5/basics/helpers"},next:{title:"Scss",permalink:"/docs/legacy/v5/basics/helpers-scss"}},a={},c=[{value:"camelize",id:"camelize",level:2},{value:"checkAttr",id:"checkattr",level:2},{value:"checkAttrResponsive",id:"checkattrresponsive",level:2},{value:"cookies",id:"cookies",level:2},{value:"debounce",id:"debounce",level:2},{value:"devices",id:"devices",level:2},{value:"dynamicImport",id:"dynamicimport",level:2},{value:"elementChildrenHeight",id:"elementchildrenheight",level:2},{value:"escape-string",id:"escape-string",level:2},{value:"responsiveSelectors",id:"responsiveselectors",level:2},{value:"selector",id:"selector",level:2},{value:"getOptionsColor",id:"getoptionscolor",level:2},{value:"getOptions",id:"getoptions",level:2},{value:"getPaletteColors",id:"getpalettecolors",level:2},{value:"outputCssVariablesGlobal",id:"outputcssvariablesglobal",level:2},{value:"outputCssVariables",id:"outputcssvariables",level:2},{value:"getUnique",id:"getunique",level:2},{value:"overrideInnerBlockAttributes",id:"overrideinnerblockattributes",level:2},{value:"overrideInnerBlockSimpleWrapperAttributes",id:"overrideinnerblocksimplewrapperattributes",level:2},{value:"props",id:"props",level:2},{value:"ucfirst",id:"ucfirst",level:2}];function d(e){const t={a:"a",code:"code",h2:"h2",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/",children:(0,s.jsx)(t.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(t.h2,{id:"camelize",children:"camelize"}),"\n",(0,s.jsx)(t.p,{children:"Returns a camel-cased string."}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"@param string string Add string to convert."}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Usage:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"import { checkAttr } from '@eightshift/frontend-libs/scripts/helpers';\n\ncamelize('New super Test-title');\n"})}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Output:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"newSuperTestTitle\n"})}),"\n",(0,s.jsx)(t.h2,{id:"checkattr",children:"checkAttr"}),"\n",(0,s.jsxs)(t.p,{children:["Checks whether the attributes exist in the attributes list. If the value is not set, it checks for the default value. If the default value is not set, it adds a fallback value depending on the type, or if ",(0,s.jsx)(t.code,{children:"undefinedAllowed"})," is set to ",(0,s.jsx)(t.code,{children:"true"}),", it sets it to ",(0,s.jsx)(t.code,{children:"undefined"}),"."]}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"@param string key Key to check."}),"\n",(0,s.jsx)(t.li,{children:"@param array attributes Array of attributes."}),"\n",(0,s.jsx)(t.li,{children:"@param array manifest Array of default attributes from manifest.json."}),"\n",(0,s.jsx)(t.li,{children:"@param string componentName The real component name."}),"\n",(0,s.jsx)(t.li,{children:"@param boolean undefinedAllowed Allowed detection of undefined values."}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Usage:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"\timport { checkAttr } from '@eightshift/frontend-libs/scripts/helpers';\n\n\tcheckAttr('buttonUse', attributes, manifest, componentName, undefinedAllowed);\n"})}),"\n",(0,s.jsx)(t.h2,{id:"checkattrresponsive",children:"checkAttrResponsive"}),"\n",(0,s.jsxs)(t.p,{children:["Map and check attributes for responsive object from ",(0,s.jsx)(t.code,{children:"responsiveAttributes"})," property from manifest."]}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"@param string keyName Key name to find in responsiveAttributes object."}),"\n",(0,s.jsx)(t.li,{children:"@param array attributes Array of attributes."}),"\n",(0,s.jsx)(t.li,{children:"@param array manifest Array of default attributes from manifest.json."}),"\n",(0,s.jsx)(t.li,{children:"@param string componentName The real component name."}),"\n",(0,s.jsx)(t.li,{children:"@param boolean undefinedAllowed Allowed detection of undefined values."}),"\n",(0,s.jsx)(t.li,{children:"@throws \\Exception If missing responsiveAttributes or keyName in responsiveAttributes."}),"\n",(0,s.jsx)(t.li,{children:"@throws \\Exception If missing keyName in responsiveAttributes."}),"\n",(0,s.jsx)(t.li,{children:"@return mixed"}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Manifest:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-json",children:'{\n\t"attributes": {\n\t\t"headingContentSpacingLarge": {\n\t\t\t"type": "integer",\n\t\t\t"variable": "default",\n\t\t\t"default": 10,\n\t\t},\n\t\t"headingContentSpacingDesktop": {\n\t\t\t"type": "integer",\n\t\t\t"variable": "default",\n\t\t\t"default": 5,\n\t\t},\n\t\t"headingContentSpacingTablet": {\n\t\t\t"type": "integer",\n\t\t\t"variable": "default",\n\t\t\t"default": 3,\n\t\t},\n\t\t"headingContentSpacingMobile": {\n\t\t\t"type": "integer",\n\t\t\t"variable": "default",\n\t\t\t"default": 1,\n\t\t}\n\t},\n\t"responsiveAttributes": {\n\t\t"headingContentSpacing": {\n\t\t\t"large": "headingContentSpacingLarge",\n\t\t\t"desktop": "headingContentSpacingDesktop",\n\t\t\t"tablet": "headingContentSpacingTablet",\n\t\t\t"mobile": "headingContentSpacingMobile"\n\t\t}\n\t}\n}\n'})}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Usage:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"\timport { checkAttrResponsive } from '@eightshift/frontend-libs/scripts/helpers';\n\n\tcheckAttrResponsive('headingContentSpacing', attributes, manifest, componentName, undefinedAllowed);\n"})}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Output:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"[\n\tlarge: 10,\n\tdesktop: 5,\n\ttablet: 3,\n\tmobile: 1,\n]\n"})}),"\n",(0,s.jsx)(t.h2,{id:"cookies",children:"cookies"}),"\n",(0,s.jsx)(t.p,{children:"Used to set and get cookie values."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Usage:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"\timport { cookies } from '@eightshift/frontend-libs/scripts/helpers';\n\n\tcookies.setCookie('gdpr', '2', cookies.setOneDay(), '/');\n\n\tcookies.getCookie('gdpr');\n"})}),"\n",(0,s.jsx)(t.h2,{id:"debounce",children:"debounce"}),"\n",(0,s.jsxs)(t.p,{children:["Debounces the provided function. For more information, check ",(0,s.jsx)(t.a,{href:"https://davidwalsh.name/javascript-debounce-function",children:"this blog post"}),"."]}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"@param func Provided function to apply debounce."}),"\n",(0,s.jsx)(t.li,{children:"@param int wait Wait time for debounce."}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Usage:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"\timport { debounce } from '@eightshift/frontend-libs/scripts/helpers';\n\n\tdebounce(() => {\n\t\t// callback function.\n\t}, 250);\n"})}),"\n",(0,s.jsx)(t.h2,{id:"devices",children:"devices"}),"\n",(0,s.jsx)(t.p,{children:"Checks if your browser's navigator is a specific device."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Usage:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"\timport { device } from '@eightshift/frontend-libs/scripts/helpers';\n\n\tdevice.iPhone();\n"})}),"\n",(0,s.jsx)(t.h2,{id:"dynamicimport",children:"dynamicImport"}),"\n",(0,s.jsxs)(t.p,{children:["Used to get (require) all the files using the ",(0,s.jsx)(t.code,{children:"require.context"})," method. It will find all files recursively in the folder using a regex. The following example will require all assets/index.js files inside the custom folder, so there is no need to manually add the files to the build."]}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"@param object paths All require.context patch to iterate."}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Usage:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"\timport { dynamicImport } from '@eightshift/frontend-libs/scripts/helpers';\n\n\tdynamicImport(require.context('./../../custom', true, /assets\\/index.js$/));\n"})}),"\n",(0,s.jsx)(t.h2,{id:"elementchildrenheight",children:"elementChildrenHeight"}),"\n",(0,s.jsx)(t.p,{children:"Returns the height of the element measured by the height of its children."}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"@param object element DOM element"}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Usage:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"import { dynamicImport } from '@eightshift/frontend-libs/scripts/helpers';\n\nelementChildrenHeight('.js-item');\n"})}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Output:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:'<div class="js-item" style="height: 100px"></div>\n<div class="js-item" style="height: 100px"></div>\n<div class="js-item" style="height: 100px"></div>\n'})}),"\n",(0,s.jsx)(t.h2,{id:"escape-string",children:"escape-string"}),"\n",(0,s.jsxs)(t.p,{children:["Takes the provided string and removes special characters. Characters that will be removed: ",(0,s.jsx)(t.code,{children:"([;&,.+*~':\"!^#$%@[\\]()=>|]"}),"."]}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"@param string $key Key to check."}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Usage:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"\timport { escapeString } from '@eightshift/frontend-libs/scripts/helpers';\n\n\tescapeString.escapeString('Special string');\n"})}),"\n",(0,s.jsx)(t.h2,{id:"responsiveselectors",children:"responsiveSelectors"}),"\n",(0,s.jsx)(t.p,{children:"Create responsive selectors used for responsive attributes."}),"\n",(0,s.jsx)(t.p,{children:"Useful if you want to show how the responsive behavior looks in the editor."}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"@param array items Array of breakpoints."}),"\n",(0,s.jsx)(t.li,{children:"@param string selector Selector for this breakpoint."}),"\n",(0,s.jsx)(t.li,{children:"@param string parent Parent block selector."}),"\n",(0,s.jsx)(t.li,{children:"@param boolean use_modifier If false, you can use this selector for visibility."}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Usage:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"\timport { responsiveSelectors } from '@eightshift/frontend-libs/scripts/helpers';\n\n\tresponsiveSelectors($attributes['width'], 'width', $blockClass);\n"})}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Output:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"\t.block-column__width-large--4\n"})}),"\n",(0,s.jsx)(t.h2,{id:"selector",children:"selector"}),"\n",(0,s.jsx)(t.p,{children:"Returns BEM selector for HTML class and checks if the condition part is set."}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"@param boolean condition Check condition."}),"\n",(0,s.jsx)(t.li,{children:"@param string block BEM Block selector."}),"\n",(0,s.jsx)(t.li,{children:"@param string element BEM Element selector."}),"\n",(0,s.jsx)(t.li,{children:"@param string modifier BEM Modifier selector."}),"\n",(0,s.jsx)(t.li,{children:"@return string"}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Usage:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"\timport { selector } from '@eightshift/frontend-libs/scripts/helpers';\n\n\tselector(!(buttonContent && buttonUrl), `${componentClass}-placeholder`);\n\n\tselector(test, componentClass, elementClass);\n\n\tselector(!newTest, componentClass, elementClass, modifierClass);\n"})}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Equivalent:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"\t!(buttonContent && buttonUrl) ? `${componentClass}-placeholder` : '';\n\n\ttest ? `${componentClass}__${elementClass}` : '';\n\n\t!(newTest) ? `${componentClass}__${elementClass}--${modifierClass}` : '';\n\n"})}),"\n",(0,s.jsx)(t.h2,{id:"getoptionscolor",children:"getOptionsColor"}),"\n",(0,s.jsx)(t.p,{children:"Use this hook to filter the global colors out of the component or block manifest"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"@param array colors Array of colors to filter."}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Usage:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"import { getOptions } from '@eightshift/frontend-libs/scripts/editor';\n\n<ColorPaletteCustom\n\t\tlabel={\n\t\t\t<>\n\t\t\t\t<Icon icon={icons.color} />\n\t\t\t\t{__('Color', 'eightshift-frontend-libs')}\n\t\t\t</>\n\t\t}\n\t\tcolors={getOptionColors(getOptions(manifest, componentName, 'color', options))}\n\t\tvalue={headingColor}\n\t\tonChange={(value) => setAttributes({ [`${componentName}Color`]: value })}\n/>\n"})}),"\n",(0,s.jsx)(t.h2,{id:"getoptions",children:"getOptions"}),"\n",(0,s.jsxs)(t.p,{children:["Provides the ability to override component options from the parent block/component.\nThe components must have the same option names as attribute standard with ",(0,s.jsx)(t.code,{children:"componentName"})," prefix."]}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"@param object manifest Original manifest from the component."}),"\n",(0,s.jsx)(t.li,{children:"@param string componentName Current componentName. This is changed depending on the passed componentName."}),"\n",(0,s.jsx)(t.li,{children:"@param string attribute Attribute name to check without componentName prefix. Value is auto camelCased."}),"\n",(0,s.jsx)(t.li,{children:"@param object options Options provided by the parent block/component."}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Usage:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"import { getOptions } from '@eightshift/frontend-libs/scripts/editor';\n\n<SelectControl\n\tlabel={\n\t\t<>\n\t\t\t<Icon icon={icons.size} />\n\t\t\t{__('Type', 'eightshift-frontend-libs')}\n\t\t</>\n\t}\n\tvalue={buttonType}\n\toptions={getOptions(manifest, componentName, 'type', options)}\n\tonChange={(value) => setAttributes({ [`${componentName}Type`]: value })}\n/>\n"})}),"\n",(0,s.jsx)(t.h2,{id:"getpalettecolors",children:"getPaletteColors"}),"\n",(0,s.jsx)(t.p,{children:"Use this hook to read editor-color-palette colors directly from WP built-in store."}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Requires WP => 5.3"}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Usage:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"\timport { getPaletteColors } from '@eightshift/frontend-libs/scripts/editor';\n\n\tgetPaletteColors();\n"})}),"\n",(0,s.jsx)(t.h2,{id:"outputcssvariablesglobal",children:"outputCssVariablesGlobal"}),"\n",(0,s.jsxs)(t.p,{children:["Get global manifest.json and return ",(0,s.jsx)(t.code,{children:"globalVariables"})," as CSS variables."]}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"@param array globalManifest Array of global variables data."}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Data:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:'const manifestGlobal = {\n\t"globalVariables": {\n\t\t"maxCols": 12,\n\t\t"breakpoints": {\n\t\t\t"mobile": 479,\n\t\t\t"tablet": 1279,\n\t\t\t"desktop": 1919,\n\t\t\t"large": 1920\n\t\t},\n\t\t"containers": {\n\t\t\t"default": "1330px"\n\t\t},\n\t\t"gutters": {\n\t\t\t"none": "0",\n\t\t\t"default": "25px",\n\t\t\t"big": "50px"\n\t\t},\n\t\t"sectionSpacing": {\n\t\t\t"min": -300,\n\t\t\t"max": 300,\n\t\t\t"step": 10\n\t\t},\n\t\t"sectionInSpacing": {\n\t\t\t"min": 0,\n\t\t\t"max": 300,\n\t\t\t"step": 10\n\t\t},\n\t\t"colors": [\n\t\t\t{\n\t\t\t\t"name": "Infinum",\n\t\t\t\t"slug": "infinum",\n\t\t\t\t"color": "#D8262C"\n\t\t\t},\n\t\t\t{\n\t\t\t\t"name": "Black",\n\t\t\t\t"slug": "black",\n\t\t\t\t"color": "#111111"\n\t\t\t}\n\t\t]\n\t}\n};\n'})}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Usage:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"import { getUnique } from '@eightshift/frontend-libs/scripts/editor';\nimport globalSettings from './../../manifest.json';\n\noutputCssVariablesGlobal(globalSettings);\n"})}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Output:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"<style>\n\t:root {\n\t\t--global-max-cols: 12;\n\t\t--global-breakpoints-mobile: 479;\n\t\t--global-breakpoints-tablet: 1279;\n\t\t--global-breakpoints-desktop: 1919;\n\t\t--global-breakpoints-large: 1920;\n\t\t--global-containers-default: 1330px;\n\t\t--global-gutters-none: 0;\n\t\t--global-gutters-default: 25px;\n\t\t--global-gutters-big: 50px;\n\t\t--global-section-spacing-min: -300;\n\t\t--global-section-spacing-max: 300;\n\t\t--global-section-spacing-step: 10;\n\t\t--global-section-in-spacing-min: 0;\n\t\t--global-section-in-spacing-max: 300;\n\t\t--global-section-in-spacing-step: 10;\n\t\t--global-colors-infinum: #D8262C;\n\t\t--global-colors-black: #111111;\n\t\t--global-colors-white: #FFFFFF;\n\t}\n</style>\n"})}),"\n",(0,s.jsx)(t.h2,{id:"outputcssvariables",children:"outputCssVariables"}),"\n",(0,s.jsx)(t.p,{children:"Get component/block options and process them in CSS variables."}),"\n",(0,s.jsxs)(t.p,{children:["For detailed usage check ",(0,s.jsx)(t.a,{href:"blocks-styles",children:"block styles"}),";"]}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"@param array $attributes Built attributes."}),"\n",(0,s.jsx)(t.li,{children:"@param array $manifest Component/block manifest data."}),"\n",(0,s.jsx)(t.li,{children:"@param string $unique Unique key."}),"\n",(0,s.jsx)(t.li,{children:"@param array $globalManifest Global manifest array."}),"\n"]}),"\n",(0,s.jsx)(t.h2,{id:"getunique",children:"getUnique"}),"\n",(0,s.jsx)(t.p,{children:"Return unique ID for block processing."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Usage:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"import { getUnique } from '@eightshift/frontend-libs/scripts/editor';\n\ngetUnique();\n"})}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Output:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"891273981374b98127419287\n"})}),"\n",(0,s.jsx)(t.h2,{id:"overrideinnerblockattributes",children:"overrideInnerBlockAttributes"}),"\n",(0,s.jsx)(t.p,{children:"Used to set attributes on all innerBlocks. This value will be stored in the block editor store and set to a block."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Usage:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"\timport { useSelect } from '@wordpress/data';\n\timport { overrideInnerBlockAttributes } from '@eightshift/frontend-libs/scripts/editor';\n\n\tuseSelect((select) => {\n\t\toverrideInnerBlockAttributes(\n\t\t\tselect,\n\t\t\tprops.clientId,\n\t\t\t{\n\t\t\t\twrapperDisable: true,\n\t\t\t}\n\t\t);\n\t});\n"})}),"\n",(0,s.jsx)(t.h2,{id:"overrideinnerblocksimplewrapperattributes",children:"overrideInnerBlockSimpleWrapperAttributes"}),"\n",(0,s.jsx)(t.p,{children:"Used to set attributes on all innerBlocks preset only for simple wrapper setup. This value will be stored in the block editor store and set to a block."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Usage:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"\timport { useSelect } from '@wordpress/data';\n\timport { overrideInnerBlockSimpleWrapperAttributes } from '@eightshift/frontend-libs/scripts/editor';\n\n\tuseSelect((select) => {\n\t\toverrideInnerBlockSimpleWrapperAttributes(\n\t\t\tselect,\n\t\t\tprops.clientId,\n\t\t);\n\t});\n"})}),"\n",(0,s.jsx)(t.h2,{id:"props",children:"props"}),"\n",(0,s.jsx)(t.p,{children:"Output only attributes that are used in the component and remove everything else."}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"@param object attributes Object of attributes from block/component."}),"\n",(0,s.jsx)(t.li,{children:"@param string realName Old key to use, generally this is the name of the block/component."}),"\n",(0,s.jsx)(t.li,{children:"@param string newName New key to use to rename attributes."}),"\n",(0,s.jsx)(t.li,{children:"@param boolean isBlock Check if helper is used on block or component."}),"\n",(0,s.jsx)(t.li,{children:"@param string globalManifestData If global manifest is not provided use the default path."}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Data:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"const attributes = {\n\tbuttonColor: 'red',\n\tbuttonSize: 'big',\n\tbuttonIcon: 'blue',\n\tblockName: 'button',\n\twrapperSize: 'big',\n\twrapperType: 'normal',\n};\n\nconst blockName = 'button';\nconst componentName = 'button';\n"})}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Usage:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"import { props } from '@eightshift/frontend-libs/scripts/editor';\n\n{...props(attributes, blockName, '', true)}\n\n{...props(attributes, componentName)}\n\n{...props(attributes, 'typography', componentName)}\n"})}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Output:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"{\n\tbuttonColor: 'red',\n\tbuttonSize: 'big',\n\tbuttonIcon: 'blue',\n\tblockName: 'button',\n};\n\n{\n\tbuttonColor: 'red',\n\tbuttonSize: 'big',\n\tbuttonIcon: 'blue',\n\tblockName: 'button',\n};\n\n{\n\ttypographyColor: 'red',\n\ttypographySize: 'big',\n\ttypographyIcon: 'blue',\n};\n"})}),"\n",(0,s.jsx)(t.h2,{id:"ucfirst",children:"ucfirst"}),"\n",(0,s.jsx)(t.p,{children:"Converts the first letter of a string to uppercase."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Usage:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"\timport { ucfirst } from '@eightshift/frontend-libs/scripts/editor';\n\n\tucfirst('custom');\n"})})]})}function h(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},11151:(e,t,n)=>{n.d(t,{Z:()=>o,a:()=>l});var s=n(67294);const i={},r=s.createContext(i);function l(e){const t=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:l(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7b2162ed.e97ac9f7.js b/assets/js/7b2162ed.e97ac9f7.js new file mode 100644 index 000000000..a6917a62e --- /dev/null +++ b/assets/js/7b2162ed.e97ac9f7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[48292],{95536:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>l,default:()=>h,frontMatter:()=>r,metadata:()=>o,toc:()=>c});var s=n(17624),i=n(4552);const r={id:"helpers-javascript",title:"JavaScript",sidebar_label:"JavaScript"},l=void 0,o={id:"legacy/v5/basics/helpers-javascript",title:"JavaScript",description:"docs-source",source:"@site/docs/legacy/v5/basics/helpers-javascript.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/helpers-javascript",permalink:"/docs/legacy/v5/basics/helpers-javascript",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"helpers-javascript",title:"JavaScript",sidebar_label:"JavaScript"},sidebar:"docs",previous:{title:"Helpers",permalink:"/docs/legacy/v5/basics/helpers"},next:{title:"Scss",permalink:"/docs/legacy/v5/basics/helpers-scss"}},a={},c=[{value:"camelize",id:"camelize",level:2},{value:"checkAttr",id:"checkattr",level:2},{value:"checkAttrResponsive",id:"checkattrresponsive",level:2},{value:"cookies",id:"cookies",level:2},{value:"debounce",id:"debounce",level:2},{value:"devices",id:"devices",level:2},{value:"dynamicImport",id:"dynamicimport",level:2},{value:"elementChildrenHeight",id:"elementchildrenheight",level:2},{value:"escape-string",id:"escape-string",level:2},{value:"responsiveSelectors",id:"responsiveselectors",level:2},{value:"selector",id:"selector",level:2},{value:"getOptionsColor",id:"getoptionscolor",level:2},{value:"getOptions",id:"getoptions",level:2},{value:"getPaletteColors",id:"getpalettecolors",level:2},{value:"outputCssVariablesGlobal",id:"outputcssvariablesglobal",level:2},{value:"outputCssVariables",id:"outputcssvariables",level:2},{value:"getUnique",id:"getunique",level:2},{value:"overrideInnerBlockAttributes",id:"overrideinnerblockattributes",level:2},{value:"overrideInnerBlockSimpleWrapperAttributes",id:"overrideinnerblocksimplewrapperattributes",level:2},{value:"props",id:"props",level:2},{value:"ucfirst",id:"ucfirst",level:2}];function d(e){const t={a:"a",code:"code",h2:"h2",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/",children:(0,s.jsx)(t.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(t.h2,{id:"camelize",children:"camelize"}),"\n",(0,s.jsx)(t.p,{children:"Returns a camel-cased string."}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"@param string string Add string to convert."}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Usage:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"import { checkAttr } from '@eightshift/frontend-libs/scripts/helpers';\n\ncamelize('New super Test-title');\n"})}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Output:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"newSuperTestTitle\n"})}),"\n",(0,s.jsx)(t.h2,{id:"checkattr",children:"checkAttr"}),"\n",(0,s.jsxs)(t.p,{children:["Checks whether the attributes exist in the attributes list. If the value is not set, it checks for the default value. If the default value is not set, it adds a fallback value depending on the type, or if ",(0,s.jsx)(t.code,{children:"undefinedAllowed"})," is set to ",(0,s.jsx)(t.code,{children:"true"}),", it sets it to ",(0,s.jsx)(t.code,{children:"undefined"}),"."]}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"@param string key Key to check."}),"\n",(0,s.jsx)(t.li,{children:"@param array attributes Array of attributes."}),"\n",(0,s.jsx)(t.li,{children:"@param array manifest Array of default attributes from manifest.json."}),"\n",(0,s.jsx)(t.li,{children:"@param string componentName The real component name."}),"\n",(0,s.jsx)(t.li,{children:"@param boolean undefinedAllowed Allowed detection of undefined values."}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Usage:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"\timport { checkAttr } from '@eightshift/frontend-libs/scripts/helpers';\n\n\tcheckAttr('buttonUse', attributes, manifest, componentName, undefinedAllowed);\n"})}),"\n",(0,s.jsx)(t.h2,{id:"checkattrresponsive",children:"checkAttrResponsive"}),"\n",(0,s.jsxs)(t.p,{children:["Map and check attributes for responsive object from ",(0,s.jsx)(t.code,{children:"responsiveAttributes"})," property from manifest."]}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"@param string keyName Key name to find in responsiveAttributes object."}),"\n",(0,s.jsx)(t.li,{children:"@param array attributes Array of attributes."}),"\n",(0,s.jsx)(t.li,{children:"@param array manifest Array of default attributes from manifest.json."}),"\n",(0,s.jsx)(t.li,{children:"@param string componentName The real component name."}),"\n",(0,s.jsx)(t.li,{children:"@param boolean undefinedAllowed Allowed detection of undefined values."}),"\n",(0,s.jsx)(t.li,{children:"@throws \\Exception If missing responsiveAttributes or keyName in responsiveAttributes."}),"\n",(0,s.jsx)(t.li,{children:"@throws \\Exception If missing keyName in responsiveAttributes."}),"\n",(0,s.jsx)(t.li,{children:"@return mixed"}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Manifest:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-json",children:'{\n\t"attributes": {\n\t\t"headingContentSpacingLarge": {\n\t\t\t"type": "integer",\n\t\t\t"variable": "default",\n\t\t\t"default": 10,\n\t\t},\n\t\t"headingContentSpacingDesktop": {\n\t\t\t"type": "integer",\n\t\t\t"variable": "default",\n\t\t\t"default": 5,\n\t\t},\n\t\t"headingContentSpacingTablet": {\n\t\t\t"type": "integer",\n\t\t\t"variable": "default",\n\t\t\t"default": 3,\n\t\t},\n\t\t"headingContentSpacingMobile": {\n\t\t\t"type": "integer",\n\t\t\t"variable": "default",\n\t\t\t"default": 1,\n\t\t}\n\t},\n\t"responsiveAttributes": {\n\t\t"headingContentSpacing": {\n\t\t\t"large": "headingContentSpacingLarge",\n\t\t\t"desktop": "headingContentSpacingDesktop",\n\t\t\t"tablet": "headingContentSpacingTablet",\n\t\t\t"mobile": "headingContentSpacingMobile"\n\t\t}\n\t}\n}\n'})}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Usage:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"\timport { checkAttrResponsive } from '@eightshift/frontend-libs/scripts/helpers';\n\n\tcheckAttrResponsive('headingContentSpacing', attributes, manifest, componentName, undefinedAllowed);\n"})}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Output:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"[\n\tlarge: 10,\n\tdesktop: 5,\n\ttablet: 3,\n\tmobile: 1,\n]\n"})}),"\n",(0,s.jsx)(t.h2,{id:"cookies",children:"cookies"}),"\n",(0,s.jsx)(t.p,{children:"Used to set and get cookie values."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Usage:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"\timport { cookies } from '@eightshift/frontend-libs/scripts/helpers';\n\n\tcookies.setCookie('gdpr', '2', cookies.setOneDay(), '/');\n\n\tcookies.getCookie('gdpr');\n"})}),"\n",(0,s.jsx)(t.h2,{id:"debounce",children:"debounce"}),"\n",(0,s.jsxs)(t.p,{children:["Debounces the provided function. For more information, check ",(0,s.jsx)(t.a,{href:"https://davidwalsh.name/javascript-debounce-function",children:"this blog post"}),"."]}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"@param func Provided function to apply debounce."}),"\n",(0,s.jsx)(t.li,{children:"@param int wait Wait time for debounce."}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Usage:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"\timport { debounce } from '@eightshift/frontend-libs/scripts/helpers';\n\n\tdebounce(() => {\n\t\t// callback function.\n\t}, 250);\n"})}),"\n",(0,s.jsx)(t.h2,{id:"devices",children:"devices"}),"\n",(0,s.jsx)(t.p,{children:"Checks if your browser's navigator is a specific device."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Usage:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"\timport { device } from '@eightshift/frontend-libs/scripts/helpers';\n\n\tdevice.iPhone();\n"})}),"\n",(0,s.jsx)(t.h2,{id:"dynamicimport",children:"dynamicImport"}),"\n",(0,s.jsxs)(t.p,{children:["Used to get (require) all the files using the ",(0,s.jsx)(t.code,{children:"require.context"})," method. It will find all files recursively in the folder using a regex. The following example will require all assets/index.js files inside the custom folder, so there is no need to manually add the files to the build."]}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"@param object paths All require.context patch to iterate."}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Usage:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"\timport { dynamicImport } from '@eightshift/frontend-libs/scripts/helpers';\n\n\tdynamicImport(require.context('./../../custom', true, /assets\\/index.js$/));\n"})}),"\n",(0,s.jsx)(t.h2,{id:"elementchildrenheight",children:"elementChildrenHeight"}),"\n",(0,s.jsx)(t.p,{children:"Returns the height of the element measured by the height of its children."}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"@param object element DOM element"}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Usage:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"import { dynamicImport } from '@eightshift/frontend-libs/scripts/helpers';\n\nelementChildrenHeight('.js-item');\n"})}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Output:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:'<div class="js-item" style="height: 100px"></div>\n<div class="js-item" style="height: 100px"></div>\n<div class="js-item" style="height: 100px"></div>\n'})}),"\n",(0,s.jsx)(t.h2,{id:"escape-string",children:"escape-string"}),"\n",(0,s.jsxs)(t.p,{children:["Takes the provided string and removes special characters. Characters that will be removed: ",(0,s.jsx)(t.code,{children:"([;&,.+*~':\"!^#$%@[\\]()=>|]"}),"."]}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"@param string $key Key to check."}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Usage:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"\timport { escapeString } from '@eightshift/frontend-libs/scripts/helpers';\n\n\tescapeString.escapeString('Special string');\n"})}),"\n",(0,s.jsx)(t.h2,{id:"responsiveselectors",children:"responsiveSelectors"}),"\n",(0,s.jsx)(t.p,{children:"Create responsive selectors used for responsive attributes."}),"\n",(0,s.jsx)(t.p,{children:"Useful if you want to show how the responsive behavior looks in the editor."}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"@param array items Array of breakpoints."}),"\n",(0,s.jsx)(t.li,{children:"@param string selector Selector for this breakpoint."}),"\n",(0,s.jsx)(t.li,{children:"@param string parent Parent block selector."}),"\n",(0,s.jsx)(t.li,{children:"@param boolean use_modifier If false, you can use this selector for visibility."}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Usage:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"\timport { responsiveSelectors } from '@eightshift/frontend-libs/scripts/helpers';\n\n\tresponsiveSelectors($attributes['width'], 'width', $blockClass);\n"})}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Output:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"\t.block-column__width-large--4\n"})}),"\n",(0,s.jsx)(t.h2,{id:"selector",children:"selector"}),"\n",(0,s.jsx)(t.p,{children:"Returns BEM selector for HTML class and checks if the condition part is set."}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"@param boolean condition Check condition."}),"\n",(0,s.jsx)(t.li,{children:"@param string block BEM Block selector."}),"\n",(0,s.jsx)(t.li,{children:"@param string element BEM Element selector."}),"\n",(0,s.jsx)(t.li,{children:"@param string modifier BEM Modifier selector."}),"\n",(0,s.jsx)(t.li,{children:"@return string"}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Usage:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"\timport { selector } from '@eightshift/frontend-libs/scripts/helpers';\n\n\tselector(!(buttonContent && buttonUrl), `${componentClass}-placeholder`);\n\n\tselector(test, componentClass, elementClass);\n\n\tselector(!newTest, componentClass, elementClass, modifierClass);\n"})}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Equivalent:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"\t!(buttonContent && buttonUrl) ? `${componentClass}-placeholder` : '';\n\n\ttest ? `${componentClass}__${elementClass}` : '';\n\n\t!(newTest) ? `${componentClass}__${elementClass}--${modifierClass}` : '';\n\n"})}),"\n",(0,s.jsx)(t.h2,{id:"getoptionscolor",children:"getOptionsColor"}),"\n",(0,s.jsx)(t.p,{children:"Use this hook to filter the global colors out of the component or block manifest"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"@param array colors Array of colors to filter."}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Usage:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"import { getOptions } from '@eightshift/frontend-libs/scripts/editor';\n\n<ColorPaletteCustom\n\t\tlabel={\n\t\t\t<>\n\t\t\t\t<Icon icon={icons.color} />\n\t\t\t\t{__('Color', 'eightshift-frontend-libs')}\n\t\t\t</>\n\t\t}\n\t\tcolors={getOptionColors(getOptions(manifest, componentName, 'color', options))}\n\t\tvalue={headingColor}\n\t\tonChange={(value) => setAttributes({ [`${componentName}Color`]: value })}\n/>\n"})}),"\n",(0,s.jsx)(t.h2,{id:"getoptions",children:"getOptions"}),"\n",(0,s.jsxs)(t.p,{children:["Provides the ability to override component options from the parent block/component.\nThe components must have the same option names as attribute standard with ",(0,s.jsx)(t.code,{children:"componentName"})," prefix."]}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"@param object manifest Original manifest from the component."}),"\n",(0,s.jsx)(t.li,{children:"@param string componentName Current componentName. This is changed depending on the passed componentName."}),"\n",(0,s.jsx)(t.li,{children:"@param string attribute Attribute name to check without componentName prefix. Value is auto camelCased."}),"\n",(0,s.jsx)(t.li,{children:"@param object options Options provided by the parent block/component."}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Usage:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"import { getOptions } from '@eightshift/frontend-libs/scripts/editor';\n\n<SelectControl\n\tlabel={\n\t\t<>\n\t\t\t<Icon icon={icons.size} />\n\t\t\t{__('Type', 'eightshift-frontend-libs')}\n\t\t</>\n\t}\n\tvalue={buttonType}\n\toptions={getOptions(manifest, componentName, 'type', options)}\n\tonChange={(value) => setAttributes({ [`${componentName}Type`]: value })}\n/>\n"})}),"\n",(0,s.jsx)(t.h2,{id:"getpalettecolors",children:"getPaletteColors"}),"\n",(0,s.jsx)(t.p,{children:"Use this hook to read editor-color-palette colors directly from WP built-in store."}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Requires WP => 5.3"}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Usage:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"\timport { getPaletteColors } from '@eightshift/frontend-libs/scripts/editor';\n\n\tgetPaletteColors();\n"})}),"\n",(0,s.jsx)(t.h2,{id:"outputcssvariablesglobal",children:"outputCssVariablesGlobal"}),"\n",(0,s.jsxs)(t.p,{children:["Get global manifest.json and return ",(0,s.jsx)(t.code,{children:"globalVariables"})," as CSS variables."]}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"@param array globalManifest Array of global variables data."}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Data:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:'const manifestGlobal = {\n\t"globalVariables": {\n\t\t"maxCols": 12,\n\t\t"breakpoints": {\n\t\t\t"mobile": 479,\n\t\t\t"tablet": 1279,\n\t\t\t"desktop": 1919,\n\t\t\t"large": 1920\n\t\t},\n\t\t"containers": {\n\t\t\t"default": "1330px"\n\t\t},\n\t\t"gutters": {\n\t\t\t"none": "0",\n\t\t\t"default": "25px",\n\t\t\t"big": "50px"\n\t\t},\n\t\t"sectionSpacing": {\n\t\t\t"min": -300,\n\t\t\t"max": 300,\n\t\t\t"step": 10\n\t\t},\n\t\t"sectionInSpacing": {\n\t\t\t"min": 0,\n\t\t\t"max": 300,\n\t\t\t"step": 10\n\t\t},\n\t\t"colors": [\n\t\t\t{\n\t\t\t\t"name": "Infinum",\n\t\t\t\t"slug": "infinum",\n\t\t\t\t"color": "#D8262C"\n\t\t\t},\n\t\t\t{\n\t\t\t\t"name": "Black",\n\t\t\t\t"slug": "black",\n\t\t\t\t"color": "#111111"\n\t\t\t}\n\t\t]\n\t}\n};\n'})}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Usage:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"import { getUnique } from '@eightshift/frontend-libs/scripts/editor';\nimport globalSettings from './../../manifest.json';\n\noutputCssVariablesGlobal(globalSettings);\n"})}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Output:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"<style>\n\t:root {\n\t\t--global-max-cols: 12;\n\t\t--global-breakpoints-mobile: 479;\n\t\t--global-breakpoints-tablet: 1279;\n\t\t--global-breakpoints-desktop: 1919;\n\t\t--global-breakpoints-large: 1920;\n\t\t--global-containers-default: 1330px;\n\t\t--global-gutters-none: 0;\n\t\t--global-gutters-default: 25px;\n\t\t--global-gutters-big: 50px;\n\t\t--global-section-spacing-min: -300;\n\t\t--global-section-spacing-max: 300;\n\t\t--global-section-spacing-step: 10;\n\t\t--global-section-in-spacing-min: 0;\n\t\t--global-section-in-spacing-max: 300;\n\t\t--global-section-in-spacing-step: 10;\n\t\t--global-colors-infinum: #D8262C;\n\t\t--global-colors-black: #111111;\n\t\t--global-colors-white: #FFFFFF;\n\t}\n</style>\n"})}),"\n",(0,s.jsx)(t.h2,{id:"outputcssvariables",children:"outputCssVariables"}),"\n",(0,s.jsx)(t.p,{children:"Get component/block options and process them in CSS variables."}),"\n",(0,s.jsxs)(t.p,{children:["For detailed usage check ",(0,s.jsx)(t.a,{href:"blocks-styles",children:"block styles"}),";"]}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"@param array $attributes Built attributes."}),"\n",(0,s.jsx)(t.li,{children:"@param array $manifest Component/block manifest data."}),"\n",(0,s.jsx)(t.li,{children:"@param string $unique Unique key."}),"\n",(0,s.jsx)(t.li,{children:"@param array $globalManifest Global manifest array."}),"\n"]}),"\n",(0,s.jsx)(t.h2,{id:"getunique",children:"getUnique"}),"\n",(0,s.jsx)(t.p,{children:"Return unique ID for block processing."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Usage:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"import { getUnique } from '@eightshift/frontend-libs/scripts/editor';\n\ngetUnique();\n"})}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Output:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"891273981374b98127419287\n"})}),"\n",(0,s.jsx)(t.h2,{id:"overrideinnerblockattributes",children:"overrideInnerBlockAttributes"}),"\n",(0,s.jsx)(t.p,{children:"Used to set attributes on all innerBlocks. This value will be stored in the block editor store and set to a block."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Usage:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"\timport { useSelect } from '@wordpress/data';\n\timport { overrideInnerBlockAttributes } from '@eightshift/frontend-libs/scripts/editor';\n\n\tuseSelect((select) => {\n\t\toverrideInnerBlockAttributes(\n\t\t\tselect,\n\t\t\tprops.clientId,\n\t\t\t{\n\t\t\t\twrapperDisable: true,\n\t\t\t}\n\t\t);\n\t});\n"})}),"\n",(0,s.jsx)(t.h2,{id:"overrideinnerblocksimplewrapperattributes",children:"overrideInnerBlockSimpleWrapperAttributes"}),"\n",(0,s.jsx)(t.p,{children:"Used to set attributes on all innerBlocks preset only for simple wrapper setup. This value will be stored in the block editor store and set to a block."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Usage:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"\timport { useSelect } from '@wordpress/data';\n\timport { overrideInnerBlockSimpleWrapperAttributes } from '@eightshift/frontend-libs/scripts/editor';\n\n\tuseSelect((select) => {\n\t\toverrideInnerBlockSimpleWrapperAttributes(\n\t\t\tselect,\n\t\t\tprops.clientId,\n\t\t);\n\t});\n"})}),"\n",(0,s.jsx)(t.h2,{id:"props",children:"props"}),"\n",(0,s.jsx)(t.p,{children:"Output only attributes that are used in the component and remove everything else."}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"@param object attributes Object of attributes from block/component."}),"\n",(0,s.jsx)(t.li,{children:"@param string realName Old key to use, generally this is the name of the block/component."}),"\n",(0,s.jsx)(t.li,{children:"@param string newName New key to use to rename attributes."}),"\n",(0,s.jsx)(t.li,{children:"@param boolean isBlock Check if helper is used on block or component."}),"\n",(0,s.jsx)(t.li,{children:"@param string globalManifestData If global manifest is not provided use the default path."}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Data:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"const attributes = {\n\tbuttonColor: 'red',\n\tbuttonSize: 'big',\n\tbuttonIcon: 'blue',\n\tblockName: 'button',\n\twrapperSize: 'big',\n\twrapperType: 'normal',\n};\n\nconst blockName = 'button';\nconst componentName = 'button';\n"})}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Usage:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"import { props } from '@eightshift/frontend-libs/scripts/editor';\n\n{...props(attributes, blockName, '', true)}\n\n{...props(attributes, componentName)}\n\n{...props(attributes, 'typography', componentName)}\n"})}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Output:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"{\n\tbuttonColor: 'red',\n\tbuttonSize: 'big',\n\tbuttonIcon: 'blue',\n\tblockName: 'button',\n};\n\n{\n\tbuttonColor: 'red',\n\tbuttonSize: 'big',\n\tbuttonIcon: 'blue',\n\tblockName: 'button',\n};\n\n{\n\ttypographyColor: 'red',\n\ttypographySize: 'big',\n\ttypographyIcon: 'blue',\n};\n"})}),"\n",(0,s.jsx)(t.h2,{id:"ucfirst",children:"ucfirst"}),"\n",(0,s.jsx)(t.p,{children:"Converts the first letter of a string to uppercase."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Usage:"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"\timport { ucfirst } from '@eightshift/frontend-libs/scripts/editor';\n\n\tucfirst('custom');\n"})})]})}function h(e={}){const{wrapper:t}={...(0,i.M)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},4552:(e,t,n)=>{n.d(t,{I:()=>o,M:()=>l});var s=n(11504);const i={},r=s.createContext(i);function l(e){const t=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:l(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7b3a75e2.1892f936.js b/assets/js/7b3a75e2.1892f936.js deleted file mode 100644 index dbdfd4bf5..000000000 --- a/assets/js/7b3a75e2.1892f936.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[1005],{98782:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>n,default:()=>h,frontMatter:()=>a,metadata:()=>r,toc:()=>l});var i=s(85893),o=s(11151);const a={id:"blocks-variations",title:"Variations"},n=void 0,r={id:"legacy/v6/basics/blocks-variations",title:"Variations",description:"docs-source",source:"@site/docs/legacy/v6/basics/blocks-variations.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/blocks-variations",permalink:"/docs/legacy/v6/basics/blocks-variations",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-variations",title:"Variations"},sidebar:"docs",previous:{title:"Wrapper",permalink:"/docs/legacy/v6/basics/blocks-wrapper"},next:{title:"Patterns",permalink:"/docs/legacy/v6/basics/blocks-patterns"}},c={},l=[{value:"Structure",id:"structure",level:3},{value:"Limitations",id:"limitations",level:3},{value:"Changes from native WordPress block variations API",id:"changes-from-native-wordpress-block-variations-api",level:3}];function d(e){const t={a:"a",code:"code",h3:"h3",img:"img",p:"p",...(0,o.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsx)(t.p,{children:"Block variations allow developers to define instances of existing blocks by changing their default values."}),"\n",(0,i.jsxs)(t.p,{children:["An example that you\u2019ll see below is a button block. Perhaps your site has three variations of how to display a button on your site. You must create a ",(0,i.jsx)(t.code,{children:"default"})," button block and you can create additional variations that changes the default values for the other two buttons. This sounds awfully familiar to block styles, but the concept of variations goes a bit further than that, as you\u2019ll see."]}),"\n",(0,i.jsxs)(t.p,{children:["Here is the best article on how to better understand ",(0,i.jsx)(t.a,{href:"https://css-tricks.com/how-to-use-block-variations-in-wordpress/",children:"block variations"}),"."]}),"\n",(0,i.jsxs)(t.p,{children:["What we did with variations is just like blocks. Provide the structured data from the ",(0,i.jsx)(t.code,{children:"manifest.json"})," and use that to register your variation."]}),"\n",(0,i.jsx)(t.h3,{id:"structure",children:"Structure"}),"\n",(0,i.jsxs)(t.p,{children:["The structure is the same as a normal block but with some limitations on what you can use. You can check the ",(0,i.jsx)(t.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-registration/#variations-optional",children:"WordPress documentation"})," for more on this subject."]}),"\n",(0,i.jsx)(t.h3,{id:"limitations",children:"Limitations"}),"\n",(0,i.jsxs)(t.p,{children:["As we saw from our testing, you are not limited to only changing the block's default attributes, but adding additional data like inner blocks and such. With this setup, you can use variations the same way as you would block patterns, only in the variation you provide the data using ",(0,i.jsx)(t.code,{children:"manifest.json"}),"."]}),"\n",(0,i.jsx)(t.h3,{id:"changes-from-native-wordpress-block-variations-api",children:"Changes from native WordPress block variations API"}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:"parentName"})," key is the only addition to the original documentation. We implemented this key to be able to connect the original block with its variation. This key must be the same as it is defined in the original blocks ",(0,i.jsx)(t.code,{children:"blockName"})," key."]})]})}function h(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},11151:(e,t,s)=>{s.d(t,{Z:()=>r,a:()=>n});var i=s(67294);const o={},a=i.createContext(o);function n(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:n(e.components),i.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7b3a75e2.74bfe090.js b/assets/js/7b3a75e2.74bfe090.js new file mode 100644 index 000000000..a1db62e0a --- /dev/null +++ b/assets/js/7b3a75e2.74bfe090.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[43952],{44488:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>n,default:()=>h,frontMatter:()=>a,metadata:()=>r,toc:()=>l});var i=s(17624),o=s(4552);const a={id:"blocks-variations",title:"Variations"},n=void 0,r={id:"legacy/v6/basics/blocks-variations",title:"Variations",description:"docs-source",source:"@site/docs/legacy/v6/basics/blocks-variations.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/blocks-variations",permalink:"/docs/legacy/v6/basics/blocks-variations",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-variations",title:"Variations"},sidebar:"docs",previous:{title:"Wrapper",permalink:"/docs/legacy/v6/basics/blocks-wrapper"},next:{title:"Patterns",permalink:"/docs/legacy/v6/basics/blocks-patterns"}},c={},l=[{value:"Structure",id:"structure",level:3},{value:"Limitations",id:"limitations",level:3},{value:"Changes from native WordPress block variations API",id:"changes-from-native-wordpress-block-variations-api",level:3}];function d(e){const t={a:"a",code:"code",h3:"h3",img:"img",p:"p",...(0,o.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsx)(t.p,{children:"Block variations allow developers to define instances of existing blocks by changing their default values."}),"\n",(0,i.jsxs)(t.p,{children:["An example that you\u2019ll see below is a button block. Perhaps your site has three variations of how to display a button on your site. You must create a ",(0,i.jsx)(t.code,{children:"default"})," button block and you can create additional variations that changes the default values for the other two buttons. This sounds awfully familiar to block styles, but the concept of variations goes a bit further than that, as you\u2019ll see."]}),"\n",(0,i.jsxs)(t.p,{children:["Here is the best article on how to better understand ",(0,i.jsx)(t.a,{href:"https://css-tricks.com/how-to-use-block-variations-in-wordpress/",children:"block variations"}),"."]}),"\n",(0,i.jsxs)(t.p,{children:["What we did with variations is just like blocks. Provide the structured data from the ",(0,i.jsx)(t.code,{children:"manifest.json"})," and use that to register your variation."]}),"\n",(0,i.jsx)(t.h3,{id:"structure",children:"Structure"}),"\n",(0,i.jsxs)(t.p,{children:["The structure is the same as a normal block but with some limitations on what you can use. You can check the ",(0,i.jsx)(t.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-registration/#variations-optional",children:"WordPress documentation"})," for more on this subject."]}),"\n",(0,i.jsx)(t.h3,{id:"limitations",children:"Limitations"}),"\n",(0,i.jsxs)(t.p,{children:["As we saw from our testing, you are not limited to only changing the block's default attributes, but adding additional data like inner blocks and such. With this setup, you can use variations the same way as you would block patterns, only in the variation you provide the data using ",(0,i.jsx)(t.code,{children:"manifest.json"}),"."]}),"\n",(0,i.jsx)(t.h3,{id:"changes-from-native-wordpress-block-variations-api",children:"Changes from native WordPress block variations API"}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:"parentName"})," key is the only addition to the original documentation. We implemented this key to be able to connect the original block with its variation. This key must be the same as it is defined in the original blocks ",(0,i.jsx)(t.code,{children:"blockName"})," key."]})]})}function h(e={}){const{wrapper:t}={...(0,o.M)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},4552:(e,t,s)=>{s.d(t,{I:()=>r,M:()=>n});var i=s(11504);const o={},a=i.createContext(o);function n(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:n(e.components),i.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7c673fac.4b60a714.js b/assets/js/7c673fac.4b60a714.js deleted file mode 100644 index 60303c38a..000000000 --- a/assets/js/7c673fac.4b60a714.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[10898],{31897:(e,o,t)=>{t.r(o),t.d(o,{assets:()=>c,contentTitle:()=>l,default:()=>h,frontMatter:()=>s,metadata:()=>a,toc:()=>r});var n=t(85893),i=t(11151);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.a)(),...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:"/storybook",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(35411).Z+"",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.a)(),...e.components};return o?(0,n.jsx)(o,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},35411:(e,o,t)=>{t.d(o,{Z:()=>n});const n=t.p+"assets/images/wpcli-1-121561b87c2462841e12b91f09172d69.webp"},11151:(e,o,t)=>{t.d(o,{Z:()=>a,a:()=>l});var n=t(67294);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.818db8c7.js b/assets/js/7c673fac.818db8c7.js new file mode 100644 index 000000000..cee6874c9 --- /dev/null +++ b/assets/js/7c673fac.818db8c7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[97152],{65200:(e,o,t)=>{t.r(o),t.d(o,{assets:()=>c,contentTitle:()=>l,default:()=>h,frontMatter:()=>s,metadata:()=>a,toc:()=>r});var n=t(17624),i=t(4552);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.M)(),...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:"/storybook",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(984).c+"",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.M)(),...e.components};return o?(0,n.jsx)(o,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},984:(e,o,t)=>{t.d(o,{c:()=>n});const n=t.p+"assets/images/wpcli-1-121561b87c2462841e12b91f09172d69.webp"},4552:(e,o,t)=>{t.d(o,{I:()=>a,M:()=>l});var n=t(11504);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/7c785ce9.5d604502.js b/assets/js/7c785ce9.5d604502.js new file mode 100644 index 000000000..909225551 --- /dev/null +++ b/assets/js/7c785ce9.5d604502.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[78584],{87476:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>o,contentTitle:()=>a,default:()=>h,frontMatter:()=>t,metadata:()=>l,toc:()=>c});var s=r(17624),i=r(4552);const t={id:"helpers-php",title:"PHP",sidebar_label:"PHP"},a=void 0,l={id:"legacy/v5/basics/helpers-php",title:"PHP",description:"docs-source",source:"@site/docs/legacy/v5/basics/helpers-php.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/helpers-php",permalink:"/docs/legacy/v5/basics/helpers-php",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"helpers-php",title:"PHP",sidebar_label:"PHP"},sidebar:"docs",previous:{title:"Scss",permalink:"/docs/legacy/v5/basics/helpers-scss"},next:{title:"Versions",permalink:"/docs/legacy/v4/versions"}},o={},c=[{value:"ensureString",id:"ensurestring",level:2},{value:"classnames",id:"classnames",level:2},{value:"render",id:"render",level:2},{value:"getManifest",id:"getmanifest",level:2},{value:"responsiveSelectors",id:"responsiveselectors",level:2},{value:"checkAttr",id:"checkattr",level:2},{value:"checkAttrResponsive",id:"checkattrresponsive",level:2},{value:"selector",id:"selector",level:2},{value:"restResponseHandler",id:"restresponsehandler",level:2},{value:"isValidXml",id:"isvalidxml",level:2},{value:"isJson",id:"isjson",level:2},{value:"flattenArray",id:"flattenarray",level:2},{value:"sanitizeArray",id:"sanitizearray",level:2},{value:"sortArrayByOrderKey",id:"sortarraybyorderkey",level:2},{value:"getShortcode",id:"getshortcode",level:2}];function d(e){const n={a:"a",code:"code",h2:"h2",img:"img",li:"li",p:"p",ul:"ul",...(0,i.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/tree/3.0.0/",children:(0,s.jsx)(n.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(n.h2,{id:"ensurestring",children:"ensureString"}),"\n",(0,s.jsx)(n.p,{children:"Makes sure the output is a string. Useful for converting an array of components into a string.\nIf you pass an associative array, it will output strings with keys. Used for generating data-attributes from an array."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param array|string $variable Variable we need to convert into a string."}),"\n",(0,s.jsx)(n.li,{children:"@throws ComponentException When $variable is not a string or an array."}),"\n",(0,s.jsx)(n.li,{children:"@return string"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"classnames",children:"classnames"}),"\n",(0,s.jsx)(n.p,{children:"Converts an array of classes into a string that can be echoed."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param array $classes Array of classes."}),"\n",(0,s.jsx)(n.li,{children:"@return string"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"render",children:"render"}),"\n",(0,s.jsx)(n.p,{children:"Renders a component and (optionally) passes some attributes to it."}),"\n",(0,s.jsxs)(n.p,{children:["Note about the ",(0,s.jsx)(n.code,{children:"parentClass"})," attribute: If provided, the component will be wrapped with a parent BEM selector."]}),"\n",(0,s.jsxs)(n.p,{children:["For example, if ",(0,s.jsx)(n.code,{children:"$attributes['parentClass'] === 'header'"})," and ",(0,s.jsx)(n.code,{children:"$component === 'logo'"})," are set, the component will be wrapped with a ",(0,s.jsx)(n.code,{children:'<div class="header__logo"></div>'}),"."]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param string $component Component's name or full path (ending with .php)."}),"\n",(0,s.jsx)(n.li,{children:"@param array $attributes Array of attributes that is implicitly passed to the component."}),"\n",(0,s.jsx)(n.li,{children:"@param string $parentPath If parent path is provided, it will be appended to the file location. If not, get_template_directory_uri() will be used as a default parent path."}),"\n",(0,s.jsx)(n.li,{children:"@throws \\Exception When we're unable to find the component by $component."}),"\n",(0,s.jsx)(n.li,{children:"@return string"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"getmanifest",children:"getManifest"}),"\n",(0,s.jsxs)(n.p,{children:["Get ",(0,s.jsx)(n.code,{children:"manifest json"}),". Used for getting block/components manifest."]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param string $path Absolute path to manifest folder."}),"\n",(0,s.jsx)(n.li,{children:"@throws \\Exception When we're unable to find the component by $component."}),"\n",(0,s.jsx)(n.li,{children:"@return array"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"responsiveselectors",children:"responsiveSelectors"}),"\n",(0,s.jsxs)(n.p,{children:["This function is the PHP equivalent of the JavaScript function on this ",(0,s.jsx)(n.a,{href:"helpers-javascript",children:"link"}),"."]}),"\n",(0,s.jsx)(n.h2,{id:"checkattr",children:"checkAttr"}),"\n",(0,s.jsxs)(n.p,{children:["This function is the PHP equivalent of ",(0,s.jsx)(n.a,{href:"helpers-javascript",children:"this JavaScript function"}),", except there is no ",(0,s.jsx)(n.code,{children:"undefinedAllowed"})," parameter - it's used only on the WordPress admin side."]}),"\n",(0,s.jsx)(n.h2,{id:"checkattrresponsive",children:"checkAttrResponsive"}),"\n",(0,s.jsxs)(n.p,{children:["This function is the PHP equivalent of ",(0,s.jsx)(n.a,{href:"helpers-javascript",children:"this JavaScript function"}),", except there is no ",(0,s.jsx)(n.code,{children:"undefinedAllowed"})," parameter - it's used only on the WordPress admin side."]}),"\n",(0,s.jsx)(n.h2,{id:"selector",children:"selector"}),"\n",(0,s.jsxs)(n.p,{children:["This function is the PHP equivalent of the JavaScript function on this ",(0,s.jsx)(n.a,{href:"helpers-javascript",children:"link"}),"."]}),"\n",(0,s.jsx)(n.h2,{id:"restresponsehandler",children:"restResponseHandler"}),"\n",(0,s.jsx)(n.p,{children:"Ensure the correct response for REST using the handler function."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param integer $code Response Status code."}),"\n",(0,s.jsx)(n.li,{children:"@param string $status Response Status name (success/error)."}),"\n",(0,s.jsx)(n.li,{children:"@param string|null $msg Response Message."}),"\n",(0,s.jsx)(n.li,{children:"@param array|null $data Response additional data."}),"\n",(0,s.jsx)(n.li,{children:"@return \\WP_REST_Response|\\WP_Error If response generated an error, WP_Error, if response is already an instance, WP_REST_Response, otherwise returns a new WP_REST_Response instance."}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"isvalidxml",children:"isValidXml"}),"\n",(0,s.jsx)(n.p,{children:"Check if XML is valid. Used for validating SVG files."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param string $xml Full xml document."}),"\n",(0,s.jsx)(n.li,{children:"@return boolean"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"isjson",children:"isJson"}),"\n",(0,s.jsx)(n.p,{children:"Check if json is valid."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param string $string String to check."}),"\n",(0,s.jsx)(n.li,{children:"@return bool"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"flattenarray",children:"flattenArray"}),"\n",(0,s.jsx)(n.p,{children:"Flatten multidimensional array."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param array $array Multidimensional array."}),"\n",(0,s.jsx)(n.li,{children:"@return array"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"sanitizearray",children:"sanitizeArray"}),"\n",(0,s.jsx)(n.p,{children:"Sanitize all the values in an array."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["@link ",(0,s.jsx)(n.a,{href:"https://developer.wordpress.org/themes/theme-security/data-sanitization-escaping/",children:"https://developer.wordpress.org/themes/theme-security/data-sanitization-escaping/"})]}),"\n",(0,s.jsx)(n.li,{children:"@param array $array Provided array."}),"\n",(0,s.jsx)(n.li,{children:"@param string $sanitizationFunction WordPress function used for sanitization purposes."}),"\n",(0,s.jsx)(n.li,{children:"@return array"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"sortarraybyorderkey",children:"sortArrayByOrderKey"}),"\n",(0,s.jsx)(n.p,{children:"Sort array by order key. Used to sort terms."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param array $items Items array to sort. Must have order key."}),"\n",(0,s.jsx)(n.li,{children:"@return array"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"getshortcode",children:"getShortcode"}),"\n",(0,s.jsx)(n.p,{children:"Call a shortcode function by tag name."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@author J.D. Grimes"}),"\n",(0,s.jsxs)(n.li,{children:["@link ",(0,s.jsx)(n.a,{href:"https://codesymphony.co/dont-do_shortcode/",children:"https://codesymphony.co/dont-do_shortcode/"})]}),"\n",(0,s.jsx)(n.li,{children:"@param string $tag The shortcode whose function to call."}),"\n",(0,s.jsx)(n.li,{children:"@param array $attr The attributes to pass to the shortcode function. Optional."}),"\n",(0,s.jsx)(n.li,{children:"@param string|null $content The shortcodes content. Default is null (none)."}),"\n",(0,s.jsx)(n.li,{children:"@return string|bool False on failure, the result of the shortcode on success."}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,i.M)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},4552:(e,n,r)=>{r.d(n,{I:()=>l,M:()=>a});var s=r(11504);const i={},t=s.createContext(i);function a(e){const n=s.useContext(t);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:a(e.components),s.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7c785ce9.bd908545.js b/assets/js/7c785ce9.bd908545.js deleted file mode 100644 index e9ab7d6b8..000000000 --- a/assets/js/7c785ce9.bd908545.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[62139],{10897:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>o,contentTitle:()=>a,default:()=>h,frontMatter:()=>t,metadata:()=>l,toc:()=>c});var s=r(85893),i=r(11151);const t={id:"helpers-php",title:"PHP",sidebar_label:"PHP"},a=void 0,l={id:"legacy/v5/basics/helpers-php",title:"PHP",description:"docs-source",source:"@site/docs/legacy/v5/basics/helpers-php.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/helpers-php",permalink:"/docs/legacy/v5/basics/helpers-php",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"helpers-php",title:"PHP",sidebar_label:"PHP"},sidebar:"docs",previous:{title:"Scss",permalink:"/docs/legacy/v5/basics/helpers-scss"},next:{title:"Versions",permalink:"/docs/legacy/v4/versions"}},o={},c=[{value:"ensureString",id:"ensurestring",level:2},{value:"classnames",id:"classnames",level:2},{value:"render",id:"render",level:2},{value:"getManifest",id:"getmanifest",level:2},{value:"responsiveSelectors",id:"responsiveselectors",level:2},{value:"checkAttr",id:"checkattr",level:2},{value:"checkAttrResponsive",id:"checkattrresponsive",level:2},{value:"selector",id:"selector",level:2},{value:"restResponseHandler",id:"restresponsehandler",level:2},{value:"isValidXml",id:"isvalidxml",level:2},{value:"isJson",id:"isjson",level:2},{value:"flattenArray",id:"flattenarray",level:2},{value:"sanitizeArray",id:"sanitizearray",level:2},{value:"sortArrayByOrderKey",id:"sortarraybyorderkey",level:2},{value:"getShortcode",id:"getshortcode",level:2}];function d(e){const n={a:"a",code:"code",h2:"h2",img:"img",li:"li",p:"p",ul:"ul",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/tree/3.0.0/",children:(0,s.jsx)(n.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(n.h2,{id:"ensurestring",children:"ensureString"}),"\n",(0,s.jsx)(n.p,{children:"Makes sure the output is a string. Useful for converting an array of components into a string.\nIf you pass an associative array, it will output strings with keys. Used for generating data-attributes from an array."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param array|string $variable Variable we need to convert into a string."}),"\n",(0,s.jsx)(n.li,{children:"@throws ComponentException When $variable is not a string or an array."}),"\n",(0,s.jsx)(n.li,{children:"@return string"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"classnames",children:"classnames"}),"\n",(0,s.jsx)(n.p,{children:"Converts an array of classes into a string that can be echoed."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param array $classes Array of classes."}),"\n",(0,s.jsx)(n.li,{children:"@return string"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"render",children:"render"}),"\n",(0,s.jsx)(n.p,{children:"Renders a component and (optionally) passes some attributes to it."}),"\n",(0,s.jsxs)(n.p,{children:["Note about the ",(0,s.jsx)(n.code,{children:"parentClass"})," attribute: If provided, the component will be wrapped with a parent BEM selector."]}),"\n",(0,s.jsxs)(n.p,{children:["For example, if ",(0,s.jsx)(n.code,{children:"$attributes['parentClass'] === 'header'"})," and ",(0,s.jsx)(n.code,{children:"$component === 'logo'"})," are set, the component will be wrapped with a ",(0,s.jsx)(n.code,{children:'<div class="header__logo"></div>'}),"."]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param string $component Component's name or full path (ending with .php)."}),"\n",(0,s.jsx)(n.li,{children:"@param array $attributes Array of attributes that is implicitly passed to the component."}),"\n",(0,s.jsx)(n.li,{children:"@param string $parentPath If parent path is provided, it will be appended to the file location. If not, get_template_directory_uri() will be used as a default parent path."}),"\n",(0,s.jsx)(n.li,{children:"@throws \\Exception When we're unable to find the component by $component."}),"\n",(0,s.jsx)(n.li,{children:"@return string"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"getmanifest",children:"getManifest"}),"\n",(0,s.jsxs)(n.p,{children:["Get ",(0,s.jsx)(n.code,{children:"manifest json"}),". Used for getting block/components manifest."]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param string $path Absolute path to manifest folder."}),"\n",(0,s.jsx)(n.li,{children:"@throws \\Exception When we're unable to find the component by $component."}),"\n",(0,s.jsx)(n.li,{children:"@return array"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"responsiveselectors",children:"responsiveSelectors"}),"\n",(0,s.jsxs)(n.p,{children:["This function is the PHP equivalent of the JavaScript function on this ",(0,s.jsx)(n.a,{href:"helpers-javascript",children:"link"}),"."]}),"\n",(0,s.jsx)(n.h2,{id:"checkattr",children:"checkAttr"}),"\n",(0,s.jsxs)(n.p,{children:["This function is the PHP equivalent of ",(0,s.jsx)(n.a,{href:"helpers-javascript",children:"this JavaScript function"}),", except there is no ",(0,s.jsx)(n.code,{children:"undefinedAllowed"})," parameter - it's used only on the WordPress admin side."]}),"\n",(0,s.jsx)(n.h2,{id:"checkattrresponsive",children:"checkAttrResponsive"}),"\n",(0,s.jsxs)(n.p,{children:["This function is the PHP equivalent of ",(0,s.jsx)(n.a,{href:"helpers-javascript",children:"this JavaScript function"}),", except there is no ",(0,s.jsx)(n.code,{children:"undefinedAllowed"})," parameter - it's used only on the WordPress admin side."]}),"\n",(0,s.jsx)(n.h2,{id:"selector",children:"selector"}),"\n",(0,s.jsxs)(n.p,{children:["This function is the PHP equivalent of the JavaScript function on this ",(0,s.jsx)(n.a,{href:"helpers-javascript",children:"link"}),"."]}),"\n",(0,s.jsx)(n.h2,{id:"restresponsehandler",children:"restResponseHandler"}),"\n",(0,s.jsx)(n.p,{children:"Ensure the correct response for REST using the handler function."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param integer $code Response Status code."}),"\n",(0,s.jsx)(n.li,{children:"@param string $status Response Status name (success/error)."}),"\n",(0,s.jsx)(n.li,{children:"@param string|null $msg Response Message."}),"\n",(0,s.jsx)(n.li,{children:"@param array|null $data Response additional data."}),"\n",(0,s.jsx)(n.li,{children:"@return \\WP_REST_Response|\\WP_Error If response generated an error, WP_Error, if response is already an instance, WP_REST_Response, otherwise returns a new WP_REST_Response instance."}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"isvalidxml",children:"isValidXml"}),"\n",(0,s.jsx)(n.p,{children:"Check if XML is valid. Used for validating SVG files."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param string $xml Full xml document."}),"\n",(0,s.jsx)(n.li,{children:"@return boolean"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"isjson",children:"isJson"}),"\n",(0,s.jsx)(n.p,{children:"Check if json is valid."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param string $string String to check."}),"\n",(0,s.jsx)(n.li,{children:"@return bool"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"flattenarray",children:"flattenArray"}),"\n",(0,s.jsx)(n.p,{children:"Flatten multidimensional array."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param array $array Multidimensional array."}),"\n",(0,s.jsx)(n.li,{children:"@return array"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"sanitizearray",children:"sanitizeArray"}),"\n",(0,s.jsx)(n.p,{children:"Sanitize all the values in an array."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["@link ",(0,s.jsx)(n.a,{href:"https://developer.wordpress.org/themes/theme-security/data-sanitization-escaping/",children:"https://developer.wordpress.org/themes/theme-security/data-sanitization-escaping/"})]}),"\n",(0,s.jsx)(n.li,{children:"@param array $array Provided array."}),"\n",(0,s.jsx)(n.li,{children:"@param string $sanitizationFunction WordPress function used for sanitization purposes."}),"\n",(0,s.jsx)(n.li,{children:"@return array"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"sortarraybyorderkey",children:"sortArrayByOrderKey"}),"\n",(0,s.jsx)(n.p,{children:"Sort array by order key. Used to sort terms."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param array $items Items array to sort. Must have order key."}),"\n",(0,s.jsx)(n.li,{children:"@return array"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"getshortcode",children:"getShortcode"}),"\n",(0,s.jsx)(n.p,{children:"Call a shortcode function by tag name."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@author J.D. Grimes"}),"\n",(0,s.jsxs)(n.li,{children:["@link ",(0,s.jsx)(n.a,{href:"https://codesymphony.co/dont-do_shortcode/",children:"https://codesymphony.co/dont-do_shortcode/"})]}),"\n",(0,s.jsx)(n.li,{children:"@param string $tag The shortcode whose function to call."}),"\n",(0,s.jsx)(n.li,{children:"@param array $attr The attributes to pass to the shortcode function. Optional."}),"\n",(0,s.jsx)(n.li,{children:"@param string|null $content The shortcodes content. Default is null (none)."}),"\n",(0,s.jsx)(n.li,{children:"@return string|bool False on failure, the result of the shortcode on success."}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},11151:(e,n,r)=>{r.d(n,{Z:()=>l,a:()=>a});var s=r(67294);const i={},t=s.createContext(i);function a(e){const n=s.useContext(t);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:a(e.components),s.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7c7e3f2e.adaf28e9.js b/assets/js/7c7e3f2e.adaf28e9.js new file mode 100644 index 000000000..d7a242bf1 --- /dev/null +++ b/assets/js/7c7e3f2e.adaf28e9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[74388],{12060:(e,o,t)=>{t.r(o),t.d(o,{assets:()=>p,contentTitle:()=>r,default:()=>d,frontMatter:()=>i,metadata:()=>a,toc:()=>l});var s=t(17624),n=t(4552);const i={id:"blocks-wrapper",title:"Wrapper"},r=void 0,a={id:"legacy/v6/basics/blocks-wrapper",title:"Wrapper",description:"docs-source",source:"@site/docs/legacy/v6/basics/blocks-wrapper.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/blocks-wrapper",permalink:"/docs/legacy/v6/basics/blocks-wrapper",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-wrapper",title:"Wrapper"},sidebar:"docs",previous:{title:"Component in a Block",permalink:"/docs/legacy/v6/basics/blocks-component-in-block"},next:{title:"Variations",permalink:"/docs/legacy/v6/basics/blocks-variations"}},p={},l=[{value:"Where can I find wrapper options?",id:"where-can-i-find-wrapper-options",level:2},{value:"Additional development options",id:"additional-development-options",level:2},{value:"wrapperUse",id:"wrapperuse",level:3},{value:"wrapperUseShowControl",id:"wrapperuseshowcontrol",level:3},{value:"wrapperUseSimple",id:"wrapperusesimple",level:3},{value:"wrapperUseSimpleShowControl",id:"wrapperusesimpleshowcontrol",level:3},{value:"wrapperDisable",id:"wrapperdisable",level:3},{value:"wrapperParentClass",id:"wrapperparentclass",level:3},{value:"Wrapper limitations",id:"wrapper-limitations",level:2}];function c(e){const o={a:"a",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",strong:"strong",...(0,n.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(o.p,{children:(0,s.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/",children:(0,s.jsx)(o.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(o.p,{children:"The wrapper is our best and most powerful feature. In a nutshell, the wrapper is nothing more than a high order component (parent component)."}),"\n",(0,s.jsx)(o.p,{children:"When setting up block registration, we made it so that every block view (PHP part) passes through the wrapper component before it is registered. This gives us the ability to set multiple shared attributes in one component."}),"\n",(0,s.jsx)(o.p,{children:"The wrapper is designed to be the ultimate top-level component that controls how your block behaves in the website layout. The wrapper is a sort of a 'section' in traditional builders. By default, you can control a whole lot of stuff, but there is an ability to add your custom attributes and fine-tune the wrapper to your project's needs."}),"\n",(0,s.jsx)(o.h2,{id:"where-can-i-find-wrapper-options",children:"Where can I find wrapper options?"}),"\n",(0,s.jsxs)(o.p,{children:["When you open your block editor in the sidebar before every blocks options you will see a ",(0,s.jsx)(o.code,{children:"layout"})," panel that controls the wrapper options:"]}),"\n",(0,s.jsx)(o.p,{children:(0,s.jsx)(o.img,{alt:"Wrapper Closed",src:t(35424).c+"",width:"770",height:"664"})}),"\n",(0,s.jsx)(o.p,{children:"We also made a helper button that describes what each wrapper options does when the layout panel is open:"}),"\n",(0,s.jsx)(o.p,{children:(0,s.jsx)(o.img,{alt:"Wrapper Help Button",src:t(2568).c+"",width:"315",height:"187"})}),"\n",(0,s.jsxs)(o.p,{children:["Here are some of the descriptions that we created but you can add your own icons and options to this modal by providing the additions properties to the ",(0,s.jsx)(o.code,{children:"HelpModal"})," component:"]}),"\n",(0,s.jsx)(o.p,{children:(0,s.jsx)(o.img,{alt:"Wrapper Modal",src:t(8832).c+"",width:"764",height:"740"})}),"\n",(0,s.jsx)(o.h2,{id:"additional-development-options",children:"Additional development options"}),"\n",(0,s.jsxs)(o.p,{children:["Along with the provided details and descriptions for the standard options in the ",(0,s.jsx)(o.code,{children:"HelpModal"})," we have some development specific options for you to check."]}),"\n",(0,s.jsx)(o.h3,{id:"wrapperuse",children:"wrapperUse"}),"\n",(0,s.jsxs)(o.p,{children:["This attribute controls the usage of the wrapper component. It behaves the same way as described in ",(0,s.jsx)(o.a,{href:"blocks-component-in-block#i-dont-need-all-the-component-options-in-my-block",children:"this chapter"}),"."]}),"\n",(0,s.jsx)(o.h3,{id:"wrapperuseshowcontrol",children:"wrapperUseShowControl"}),"\n",(0,s.jsxs)(o.p,{children:["This attribute controls whether you will see the options for block use in the block editor. It behaves the same way as described in ",(0,s.jsx)(o.a,{href:"blocks-component-in-block#i-dont-want-my-editor-to-be-able-to-change-component-options-in-my-block",children:"this chapter"}),"."]}),"\n",(0,s.jsx)(o.h3,{id:"wrapperusesimple",children:"wrapperUseSimple"}),"\n",(0,s.jsxs)(o.p,{children:["We wrapped some of the options in a specific condition and we call it ",(0,s.jsx)(o.code,{children:"wrapperUseSimple"}),". In general, this attribute is set to ",(0,s.jsx)(o.code,{children:"true"})," when you only want the simplified options on your block. Natively, it is used inside all of the inner blocks in the column block because we don't need wrappers inside wrappers inside wrappers (and so on). It's a good rule of thumb to use a simple wrapper in all of the inner blocks."]}),"\n",(0,s.jsx)(o.h3,{id:"wrapperusesimpleshowcontrol",children:"wrapperUseSimpleShowControl"}),"\n",(0,s.jsxs)(o.p,{children:["This attribute controls whether you are going to see options in the block editor to use the simple option. It behaves the same way as described in ",(0,s.jsx)(o.a,{href:"blocks-component-in-block#i-dont-want-my-editor-to-be-able-to-change-component-options-in-my-block",children:"this chapter"}),"."]}),"\n",(0,s.jsx)(o.h3,{id:"wrapperdisable",children:"wrapperDisable"}),"\n",(0,s.jsxs)(o.p,{children:["This attribute disables the wrapper completely. When this attribute is set to ",(0,s.jsx)(o.code,{children:"true"}),", you will not have any wrapper options in your block."]}),"\n",(0,s.jsx)(o.h3,{id:"wrapperparentclass",children:"wrapperParentClass"}),"\n",(0,s.jsx)(o.p,{children:"This attribute is interesting to use if, for example, you have a carousel block with inner blocks. To provide the markup necessary for the carousel script to work, you need to add some items selector (a div). With this key, you can pass a parent item class, and all of your items will be wrapped with this selector and a class."}),"\n",(0,s.jsx)(o.h2,{id:"wrapper-limitations",children:"Wrapper limitations"}),"\n",(0,s.jsxs)(o.p,{children:["In wrapper you ",(0,s.jsx)(o.strong,{children:"can't"})," use ",(0,s.jsx)(o.code,{children:"components"})," key in the manifest to automaticity add additional components like you can in the blocks or components. If you want to add component to a wrapper you must manually add it the old fashion way."]})]})}function d(e={}){const{wrapper:o}={...(0,n.M)(),...e.components};return o?(0,s.jsx)(o,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},35424:(e,o,t)=>{t.d(o,{c:()=>s});const s=t.p+"assets/images/wrapper-closed-6d555371a14a7f0576d2334e591904f4.webp"},2568:(e,o,t)=>{t.d(o,{c:()=>s});const s="data:image/webp;base64,UklGRtgVAABXRUJQVlA4IMwVAAAQXACdASo7AbsAPjEYikOiIaESKMUYIAMEs7dwuPCEDq7UjT3jOR/BP4T5k/2/3Ie8T/cexL86+wR+o/+A6iX68eoD9gv9R/lPdb/zP6ze5P0Bv5t/h///62/sQf3j/eewN/I/9F6ZP7kfBl/a/9n+73s8/+TWCupva//PPxk/cT2D8MncL1w/djfl/4D0I/h/0v+of2X9dv65+zn3u+478YPxm9w/Tt+N3wBfin8U/nn5C/3j9nuP8AB+MfxP+0/17+3/7P+2fuf7Zv6r+OHup9Xf8B7gH8K/iP9Q/Hv+4f/r6t/UDyzaAH8d/mP9v/wf7af2L///MR/J/4T9rv7r///fp+Z/2H/Tf4r94P8h9gn8Y/lf9+/uX+X/4P96////c+4D15ftz7Ff6tf8f8/yQoVBvzgagVWFNY1vLAsSnSHeycQ+D/JGbc77TzFKIWIN+gAo7ltWIjJ4+RLf5FiCtpa9MVspned9p8wbZ06N+JHLBOgkbhVeIkZLFt4JgYoQ41o56D3A62k32+RhtzvsVQm9I6uROE74bc77T5g25gtgPkfCByLnDKMOxsWWh1gQ0XISCOuVNYWJChsCDuSa7WOHKG4ZjEz0F59ozAI4KUuP6cEOYisTjQK59nxm9v+A2n60vhc/x2O86psMgNNIa37jYWXqcrGqtS9WMQEhnyybuBeTld0SSz/67e/JJ++Kdxopt9486Xge5ats1QYbPzXnL4TrVZDpGOo0s8EekbCDf6/ZJBtjpTRalzLH25ZoWQi7OGhUuGU1qF4VaeVVmHQqlUptsSIrdMmmZ3lu4gljfALmU4TxxW9EBdVT1JoAKs4hpS68KAqExHTVKSUfb/pH7h7zP0BzTS2c2O3XHtcdfAHODV5Vm0q5QPdhrKzutkR9YC8I5Wz3TRi2rVXHXw3pxMBoJ87dgW4vlIUn+gWKl0ProyF36QPNJEa3lRdfKGPjsKKQhFbjMIIeo8M51NwhMuS/BogAAP7/w3Cn3D+KXMCYP8HTRYzD1jZpcPJSv4M+hgP0IlDmgf+SEci33X0n+cSYwKcsXgwCQhg8pa6mHmuh2ZW8A5mdvVBNCo+xk+/T4qfLR+XWrOwUwnElcfsBdXSqqIkGLp3qXQtpqrajRzDpBx+5kwamUsvMkQxeYwBrRCz0m4T3Xsn6qKqVrfh6EdGthX//k86sgmk9ICnoAL8f+LYb5Q7TckVYYNmmlqwZie79cPnETrvEB+5+csUsYr2IEe9/CcdV3aXliEZLw4HxKzl52hBs4B8P0FgC0ey4cmSzbX//KGGfyyBlAWreJ6CkFccnzYwcVcbaY04WwZzoXXYj2H/7nbB3lh5erb8di2stWa1Uf+f/jYgekgRMdfbWkJ4VkCZ1JjVJwYg7FuBjKU9yp2YrFkCPBGZ9ATTVEYwXOjoYhmR3LfMCvkxJxb//rmId3P9K6Pj1uRr04hOvVM5vzlysExhbjwDHLZSowQNF4bPhWUKNpov/4NvonBNWVPhdpVHRBi/uqHsUgjJ7+XZmf60nX5Hf/+aiXk+R209lRp86YCyuCgqN2JKmZzWtb8LBwGVwCUZLKDF8vOvip1IkylnyG+2MkK8lm+g7VJzPj7I7I2dwbLe5u//415ZcFZkJDY+wJkwsm9b77mcP/5km0kfwSx7mjqHrqFWfPJN+QROdwKcRWWTb9+bSxPy8VVybTcthMZi5f//jSGEcVJwWhWDjzIShsXr7EGmePsYajVNJmQj0lZSutT2C+oO/bNyqolAEDt1LWSlCzeC2OXqplewuzpm2niD7G+RurQqjRpi8Px9BP5uTjUQ6y1g72pKsvkzV2yfyA/t1Bp8k8OwV9ZgtBL6cC+nao3jPi+hCLu67jCGRQeY/sIg2bXqkJXcFeAerw80IjQ9oI9qsDgd2rdzFBdiOC7Yz/wrRBl39SWEWHbyR4uUhAIsJmB+TEa05deNhWy1GXIqpPYQI90zHomicNzFae812Rf3DZKii+Aae1UoTDfe3wsz/ZVHdfTjEG4ku+8+YS+gB+FQV5X9Y5NpCVxhJI7T6Mel8qoNAJBj/wlK4k87mcLliYxN29tGEpZIwUhgARx3ySZwECRK8IiqXEtD3569CZ8yG8O/Lr8rJVSnhXMp5cVBnbhp2ZlR09VtkbhojnV/G/uwfIweCtfG+brys585640oz9QomiLJF0Lw4rSAhMAI/DRgseeTALrwDHEA0Sv5uPMhsebm48yGx5ubjzIbHmylqjz0dFhd2bQGIkFBRtKAAMtu1HSmFkEW5i53i7VhyFgTUevuKANN63olz4Pyizof/7R14K4F+MvOM9w4MXlXpmz2pJFFxYj8KUBtiDqAV3G8aQcsh6Wz8WPxi4YFHIdy0fhXQ64mF6KqgAGGCgipwWQV7js38LsHqUBjIHNK3KCAWHMQtd//yia7HRvAJKKDn7j//i/jn1pELa17xC8bBwmvPH1OxBXepR5iup8yBzrKef4+Itl3wBkpNv4QIVddVYv7b6XYz0AEuFVXx9HAFrO9X4LYoGhbaCB2LQbgBXNydhf3NkPcSrql/T9U97KycnugYH69p5JESyxNbdQt/gV16i536l2oVT74pT/ZnI+HkN7kH0ouigexUsy2znwE0S8JHkCWHfaXnxpvoz/eMv/D98ytbgdj1adQ6Xky1PEf4h7fn+1Kt2eTZ0GzUxhTm2whjD5fwqy3kDcCRyiWM7XS/ivPw0wzoS1GFirjNYt60x8fRrK2X5e1fddjFu6rHzf67jZ/G/G3bDXyGZXfVV3UdncfixWSNPGaPELWWqNM4LKHbDliRWPViX3onphpAgxjaH0o78Rc+zu+o+VilVQ23Ewlo0rQl90wCbmhNaJ7lAhi64R1GzHvrYndnakEjGxFSQDNwNYO34d4Npfh7g2uFQme2aodcz3DeqMqSozwdQaE/cuxYakyPQIxIDvXJPOou66umYRolThh9VlA1HNaGZcS+Irfw594JQGTzienZ9rJkljHdu1RBuWVKnQZcful/bhjvLz2w/++vZ5L3JmjsFM4Qoa/7z99Epp597YLeepzbbxyj8a+zgq9+mswWWh4cjBrqOx+tHFeAmivdqEVTbb1dJlJEww8b0CcobB35/tB6/KwiUTggAORCdCBuW6n+XOwqocZK+strOMDfDxwvzJJXLHbPt6+ST0dPIfIVw+rD4UsET6uaXw2UJfS3tdu1CltUjnxUNRXvLgjVG6LRR+hBZz0P/o99swHD7lIwurEaOUG8DrGC/fne8zWVl0r5vcT/GP/6bGB79d7gYrZca0yxnCM0S1gyxRezcIIFs9pglKCB9OSkUX98cQwiJdKYyF8jXI1Hnl1T0cnJapnscwTlRKJVgBT3PHb2U3OB/ILfGJXwxeb6OkdfiVeznhE1cOYAKQ+9eyw1E9ikuVpM25NHHcSuwifwav2tfwo5mMNsNhStVVnA+cqbTjxGLJ7aCgaCT0trOw/NVcocBgWez5sS1n7w0xjk6bhudE2zs9j/nPxHfianMITUBk2neCN79E7dEkBM8YtEA06FfQOjjAVSdlmzgA4XbA+DJQ7ocg+Wyt5VF3qMALZYPBsQLRhBE3GroyOgEVX4Fd8GN815wlZMN6QXPn7DBa9cKrpAqRCJqfQruQsssMsjZFblZ7jpSUvJFxDXuOdk8SGnMqcKGsvjboXWVsXtfx1Lgql3PW8WQloEFNQ8KZToRnGhClFlDx7asCyR0esGSqSpB/NsteMUN6LZdmeNOTQtuHaepTKkx2GgJCS73JmuD3DViqWr2pWU3yhPjPp+6i5De+krJY+D2USwyNDjcv/9vPKlMSzznKHNI3rCOO+R93C9u6Yav5heNcEo6gvXLtqHJo5VRLMRTDGd1ZigY15UKded/EF7v2wr+zL/cJoXgHoxNak1YIw9f/iFH0tFBtKonfdZMq+wwxB9r83q9oTZRybi1zc1ZJ5YwI0sXGXUxRSdFDQG5GcLliVLYTUEFUTIS/MBHQSzzzdEHNUF2MWw/NVl22vPJR8TqvOI2C1IMRd2xIHKygUAFMhsCfHqfgTE8Qa5C5s2nP1bod45vSbtyOhclsyE2XTlLnrn9Rjatp5Z+vgnxS9RTDEw2EMaV1HRY5d75qstLB9x5EC7ua4kuR4uz3YhDlBsTaercEtHZMjQfr+AKh3RTKZnhRhp16dk3Ib/wKKot6W4UiYfCcev1Z3BS+aKDgZIo4BmUay486IGUSegitCvnZApaZ/+zgVgNdSx5LX3A/03qMoUwbKWV//iIuq0HCvemrziyScM+S106OQwGxMnpzIC587e8Aytz9sv/Cm7m32dyJz2hcqfV/igZCzkwHeMBFws5zm7+pkjwxYWM81Y63TNN+mptY1xPX9jayWiRW5mZgqLQXIk4UjXBP70d3/UAVYBDNc8oDQbAhYhbZrO3+o7XEZXSODmtCYcgg2Ho0qPzB7DBlDNYk7AF5hWTRMXbM0tm9dvWEB6JXS+eG4BSZhDhX6abMwDPiQG0Ro8mcmZ4j4YdwFCi2t4hzAqnS8rQjnFnBq6dXnixiHAa+65zxSkpRWA3sTBZggky6YGcQlOTT7omwGZGNEZsJCuebmyrbdCR/wAKSWWHCVmf8BOJVBBg2TLWnFUyzlmUJDaVvDrfBzsnZ6b73hFZiqWWCOO2NQFLOGJjcFGF+uKA4QGyOV4BQWZXjQjJ/gWyYmNRRz5nDxgyalSGy7gJIa0vcA+fuZ7RGQDnMLFx3xrQWL/Pwn9RQKnsPMl+KQPpu07cymfopVgHeow1BL5gJHe8c2Kt6Ctoao83PPp7SnLiKr15Prz3W0rSABScKe+1hjX3YN5eUGO1ToFRmRx9RDZswm3XJjeJYIarM394qfQbjCIqT16UeX8qs7eT43IBqUdG/l6671YTKjVV2wqkH1cD0jXbjECfkSJHnnqF5IVY+Od97Azh4jWuW3GJ3yqxyMJR+Zktw3p6H/+yvydoCfwPcpY+XHkwqobRzwG7U2vX0R71FceQUP1T9+Vv1x92Vi0SYissbJlB5ZWfQEcW6ULBHyw00qIMrbmBdrKD/wZo3yeg9TSU7qXNHgp5pl0ACFnL0UFeL6MmmMLeu4LKkoKJ2hUsrosFmJa1qX+wVAzqms7BPHsPFsIMq8ldtvm7Kyh5Md+lpYd5RL7bhkgD6dDluf5oxjUMtRwPpT0VkvJOywywpv5ciymBQimjlfmT2Nb0SGs7Gx8KOZt8UopYj8BzYGlBzJB/48+gW9aZUYT/LWgxBuiSDDQABNJn9Vx0n1bpO6L11akNwABZKyab5cGdw0CRNPLQYIU73+IMasmZcC8NIml4XmDMAAf0bNeUWnIJLc2MMPO6OSmJXZVS4yI5xRjGLjJqcXXlz3pAdVMNg//DQ34MgeK6jWmq2FdHFubd/as6mJZ1BUIuBzdQ1gaVlU2n5gNS3JsYCweZgWSKMrWzVHlS97SP+XCFs7swjmFpj1IpnG5PO5HR0Gj1KCR1o7B5Nn94y0O5Sy8cfftERhPGmMPruLzE9IVpAqb9W2mwl2aB5TiDIQy0UUIIvPTuts4G5ElVg/9jCtipqVOmof/cmVf6f6kLm5yQannJ83QeQ1B5/66U3klN78eKPpGBMwj/LrPojsHD/M2Wa/e6Cj37Fi4MmFKkcbHqRzm+KLjQj+vkwGKJ37YU8GKKcdpoQU9weaZgHrEANeDnq+5NZGdTWDLkxv8w6+povwEO4kNdZ3EyOJWQbGMBfQgJOgzPnQzHHD+jeAmqG//j2jHxYZRWh55+gfueW0SER2rd9IW3kNegKJ7TtdhIgjdHtXfVjEjZf4wts/XOVKKLaKns2bNUo2VPIvAh+4o7dbE9Jf/zqOzPwpBtXNXUCERnDgCsLRZTxipdaTUlNPLL64oQrT3UY5q1CBNJROF4HIvOqH4evWve79ddD0ICHGGQQu/HoWN7JaLN/4H8BtD8+KI51k+jeR1fFXUbJzvWOyXMr0zyoEEwiC9lxfmYbPxlc+CLEp/WESmuQxZ80pcpQc04zXFBathqjHroMLSNup4xvjNPgl8RIPrqilH0fPBJA/d/aR6mdMyO7Xb49MQaSwR7wlz08q+YmbuC9Cs6GewGuZvMBaODsdFynKsgG1LjvqA06rVc2wrQwixiebhwp9eU8xEoesn7LJBER73J/C1kR4u8I2dVuh1nm18Bkux/jHvstoQB/CK6oUT21mS+d9W3Fp/zYpjo8mUP7E7dim5TvB4NP+6C59EqYUsjalW5Keznrc9qhldWu7gF3pMy1SAcw2eqpLL1ukuAJopVxaExPTG4goiV6Pu4/+Lk3t3AZ3aVdupT3EfIZDbqk0UdTtK3g4zvcwi3POUra1JvIRKRNH1b87EEFqi/rq0zsiDCLJll/7vdYDxQwiMBLaZsYEe8MXagSt107i9pOj2hEZEDV1B0hGP5vp5OBG6o9dVPu/8RZUyBP6PbDsqto+d8sqErIjy/NnyAV3kITM49fEdXoeaK9MMR8lap/75VWfbDl9IUNkO67YkCtl+z0zmo+mAamrLY/VULMaK9K3G1IVcteB7SiG+QHYDSLUiDzBIp3yEAAABWtNl/ZNAxz7DNhs5TMRfaHh5xs5HfeSSbVMP22KDXXLcKBsXpam4KNZ445Awb4/UgulHkP3WxJMxpFtSL68J0kVGlXEMjduyG0ayjWwylZycm5BUQKv93/wagwobFtef9FDG7C8jtni9Hv3FKlo/b3ynRWMejczT/XvIk9ruwHvGi02chE0jZ6DIeICqXO7RQoHvVFFpAjl7JVZpqsOl2L8anSMQQFPlNt7zvgORzyZUd3zoWVvkAl9eZM4whrGoTHReLWWFZi2Y0nxGG8M4WMyDgwt2P5EJAI29c5G/HQ8+KPWm0SwXtz02UaLm4Y9jnwQjUWj5ZhtUUE2AXFnyA07QQDoENFhRpNZfd8IUtFDBnQ3IRJSzZchEgduiIJ4DWPG7ScRHUaVVOOmCS90Eni044htHJuI6JxOzvowSqa0oIFVRE1iK1tQooyxzxyFInkWCNGv+WHGUnvz9jRwWnEuduLLDPbp7B2KKvYcqxpUR3/lf09ZmJoHBKhIAVYRvA5MIEFyZSUcGyF7fQODkFg1pYM4pDxy17gm0BgiDCe7ItiTCEX/Y51MjMtwkeXxH2r24bvNympZi0ML0gbO8YM4skFmKZv7haKYCa6fzERrFyJZocPi+HKR7pe6AdgwAoypHD+hpbouDOCTo6BVJKNcz8Nq8AnXZOr+q++e9N72AGass3S2bqIT9EGTD6j9fHM91Jn071aOffNDbEZS+taM1NavisF/m9IPOVfa0DMlrJvYYeBPcaJM9A/RfF6MzCbAf9I1FfYNbcg+6RqwiUVOnXfbURec9vDmum+sh/kRuiAFX+eV+WY9hFdvRm9xEiqDY1WxOmoF/5vXZRVWAAAA="},8832:(e,o,t)=>{t.d(o,{c:()=>s});const s=t.p+"assets/images/wrapper-modal-7e522af5e936b203331d1ab5808fb70d.webp"},4552:(e,o,t)=>{t.d(o,{I:()=>a,M:()=>r});var s=t(11504);const n={},i=s.createContext(n);function r(e){const o=s.useContext(i);return s.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(n):e.components||n:r(e.components),s.createElement(i.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7c7e3f2e.da404daf.js b/assets/js/7c7e3f2e.da404daf.js deleted file mode 100644 index 1fc5c5335..000000000 --- a/assets/js/7c7e3f2e.da404daf.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[88925],{560:(e,o,t)=>{t.r(o),t.d(o,{assets:()=>p,contentTitle:()=>r,default:()=>d,frontMatter:()=>i,metadata:()=>a,toc:()=>l});var s=t(85893),n=t(11151);const i={id:"blocks-wrapper",title:"Wrapper"},r=void 0,a={id:"legacy/v6/basics/blocks-wrapper",title:"Wrapper",description:"docs-source",source:"@site/docs/legacy/v6/basics/blocks-wrapper.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/blocks-wrapper",permalink:"/docs/legacy/v6/basics/blocks-wrapper",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-wrapper",title:"Wrapper"},sidebar:"docs",previous:{title:"Component in a Block",permalink:"/docs/legacy/v6/basics/blocks-component-in-block"},next:{title:"Variations",permalink:"/docs/legacy/v6/basics/blocks-variations"}},p={},l=[{value:"Where can I find wrapper options?",id:"where-can-i-find-wrapper-options",level:2},{value:"Additional development options",id:"additional-development-options",level:2},{value:"wrapperUse",id:"wrapperuse",level:3},{value:"wrapperUseShowControl",id:"wrapperuseshowcontrol",level:3},{value:"wrapperUseSimple",id:"wrapperusesimple",level:3},{value:"wrapperUseSimpleShowControl",id:"wrapperusesimpleshowcontrol",level:3},{value:"wrapperDisable",id:"wrapperdisable",level:3},{value:"wrapperParentClass",id:"wrapperparentclass",level:3},{value:"Wrapper limitations",id:"wrapper-limitations",level:2}];function c(e){const o={a:"a",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",strong:"strong",...(0,n.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(o.p,{children:(0,s.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/",children:(0,s.jsx)(o.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(o.p,{children:"The wrapper is our best and most powerful feature. In a nutshell, the wrapper is nothing more than a high order component (parent component)."}),"\n",(0,s.jsx)(o.p,{children:"When setting up block registration, we made it so that every block view (PHP part) passes through the wrapper component before it is registered. This gives us the ability to set multiple shared attributes in one component."}),"\n",(0,s.jsx)(o.p,{children:"The wrapper is designed to be the ultimate top-level component that controls how your block behaves in the website layout. The wrapper is a sort of a 'section' in traditional builders. By default, you can control a whole lot of stuff, but there is an ability to add your custom attributes and fine-tune the wrapper to your project's needs."}),"\n",(0,s.jsx)(o.h2,{id:"where-can-i-find-wrapper-options",children:"Where can I find wrapper options?"}),"\n",(0,s.jsxs)(o.p,{children:["When you open your block editor in the sidebar before every blocks options you will see a ",(0,s.jsx)(o.code,{children:"layout"})," panel that controls the wrapper options:"]}),"\n",(0,s.jsx)(o.p,{children:(0,s.jsx)(o.img,{alt:"Wrapper Closed",src:t(40701).Z+"",width:"770",height:"664"})}),"\n",(0,s.jsx)(o.p,{children:"We also made a helper button that describes what each wrapper options does when the layout panel is open:"}),"\n",(0,s.jsx)(o.p,{children:(0,s.jsx)(o.img,{alt:"Wrapper Help Button",src:t(58964).Z+"",width:"315",height:"187"})}),"\n",(0,s.jsxs)(o.p,{children:["Here are some of the descriptions that we created but you can add your own icons and options to this modal by providing the additions properties to the ",(0,s.jsx)(o.code,{children:"HelpModal"})," component:"]}),"\n",(0,s.jsx)(o.p,{children:(0,s.jsx)(o.img,{alt:"Wrapper Modal",src:t(66348).Z+"",width:"764",height:"740"})}),"\n",(0,s.jsx)(o.h2,{id:"additional-development-options",children:"Additional development options"}),"\n",(0,s.jsxs)(o.p,{children:["Along with the provided details and descriptions for the standard options in the ",(0,s.jsx)(o.code,{children:"HelpModal"})," we have some development specific options for you to check."]}),"\n",(0,s.jsx)(o.h3,{id:"wrapperuse",children:"wrapperUse"}),"\n",(0,s.jsxs)(o.p,{children:["This attribute controls the usage of the wrapper component. It behaves the same way as described in ",(0,s.jsx)(o.a,{href:"blocks-component-in-block#i-dont-need-all-the-component-options-in-my-block",children:"this chapter"}),"."]}),"\n",(0,s.jsx)(o.h3,{id:"wrapperuseshowcontrol",children:"wrapperUseShowControl"}),"\n",(0,s.jsxs)(o.p,{children:["This attribute controls whether you will see the options for block use in the block editor. It behaves the same way as described in ",(0,s.jsx)(o.a,{href:"blocks-component-in-block#i-dont-want-my-editor-to-be-able-to-change-component-options-in-my-block",children:"this chapter"}),"."]}),"\n",(0,s.jsx)(o.h3,{id:"wrapperusesimple",children:"wrapperUseSimple"}),"\n",(0,s.jsxs)(o.p,{children:["We wrapped some of the options in a specific condition and we call it ",(0,s.jsx)(o.code,{children:"wrapperUseSimple"}),". In general, this attribute is set to ",(0,s.jsx)(o.code,{children:"true"})," when you only want the simplified options on your block. Natively, it is used inside all of the inner blocks in the column block because we don't need wrappers inside wrappers inside wrappers (and so on). It's a good rule of thumb to use a simple wrapper in all of the inner blocks."]}),"\n",(0,s.jsx)(o.h3,{id:"wrapperusesimpleshowcontrol",children:"wrapperUseSimpleShowControl"}),"\n",(0,s.jsxs)(o.p,{children:["This attribute controls whether you are going to see options in the block editor to use the simple option. It behaves the same way as described in ",(0,s.jsx)(o.a,{href:"blocks-component-in-block#i-dont-want-my-editor-to-be-able-to-change-component-options-in-my-block",children:"this chapter"}),"."]}),"\n",(0,s.jsx)(o.h3,{id:"wrapperdisable",children:"wrapperDisable"}),"\n",(0,s.jsxs)(o.p,{children:["This attribute disables the wrapper completely. When this attribute is set to ",(0,s.jsx)(o.code,{children:"true"}),", you will not have any wrapper options in your block."]}),"\n",(0,s.jsx)(o.h3,{id:"wrapperparentclass",children:"wrapperParentClass"}),"\n",(0,s.jsx)(o.p,{children:"This attribute is interesting to use if, for example, you have a carousel block with inner blocks. To provide the markup necessary for the carousel script to work, you need to add some items selector (a div). With this key, you can pass a parent item class, and all of your items will be wrapped with this selector and a class."}),"\n",(0,s.jsx)(o.h2,{id:"wrapper-limitations",children:"Wrapper limitations"}),"\n",(0,s.jsxs)(o.p,{children:["In wrapper you ",(0,s.jsx)(o.strong,{children:"can't"})," use ",(0,s.jsx)(o.code,{children:"components"})," key in the manifest to automaticity add additional components like you can in the blocks or components. If you want to add component to a wrapper you must manually add it the old fashion way."]})]})}function d(e={}){const{wrapper:o}={...(0,n.a)(),...e.components};return o?(0,s.jsx)(o,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},40701:(e,o,t)=>{t.d(o,{Z:()=>s});const s=t.p+"assets/images/wrapper-closed-6d555371a14a7f0576d2334e591904f4.webp"},58964:(e,o,t)=>{t.d(o,{Z:()=>s});const s="data:image/webp;base64,UklGRtgVAABXRUJQVlA4IMwVAAAQXACdASo7AbsAPjEYikOiIaESKMUYIAMEs7dwuPCEDq7UjT3jOR/BP4T5k/2/3Ie8T/cexL86+wR+o/+A6iX68eoD9gv9R/lPdb/zP6ze5P0Bv5t/h///62/sQf3j/eewN/I/9F6ZP7kfBl/a/9n+73s8/+TWCupva//PPxk/cT2D8MncL1w/djfl/4D0I/h/0v+of2X9dv65+zn3u+478YPxm9w/Tt+N3wBfin8U/nn5C/3j9nuP8AB+MfxP+0/17+3/7P+2fuf7Zv6r+OHup9Xf8B7gH8K/iP9Q/Hv+4f/r6t/UDyzaAH8d/mP9v/wf7af2L///MR/J/4T9rv7r///fp+Z/2H/Tf4r94P8h9gn8Y/lf9+/uX+X/4P96////c+4D15ftz7Ff6tf8f8/yQoVBvzgagVWFNY1vLAsSnSHeycQ+D/JGbc77TzFKIWIN+gAo7ltWIjJ4+RLf5FiCtpa9MVspned9p8wbZ06N+JHLBOgkbhVeIkZLFt4JgYoQ41o56D3A62k32+RhtzvsVQm9I6uROE74bc77T5g25gtgPkfCByLnDKMOxsWWh1gQ0XISCOuVNYWJChsCDuSa7WOHKG4ZjEz0F59ozAI4KUuP6cEOYisTjQK59nxm9v+A2n60vhc/x2O86psMgNNIa37jYWXqcrGqtS9WMQEhnyybuBeTld0SSz/67e/JJ++Kdxopt9486Xge5ats1QYbPzXnL4TrVZDpGOo0s8EekbCDf6/ZJBtjpTRalzLH25ZoWQi7OGhUuGU1qF4VaeVVmHQqlUptsSIrdMmmZ3lu4gljfALmU4TxxW9EBdVT1JoAKs4hpS68KAqExHTVKSUfb/pH7h7zP0BzTS2c2O3XHtcdfAHODV5Vm0q5QPdhrKzutkR9YC8I5Wz3TRi2rVXHXw3pxMBoJ87dgW4vlIUn+gWKl0ProyF36QPNJEa3lRdfKGPjsKKQhFbjMIIeo8M51NwhMuS/BogAAP7/w3Cn3D+KXMCYP8HTRYzD1jZpcPJSv4M+hgP0IlDmgf+SEci33X0n+cSYwKcsXgwCQhg8pa6mHmuh2ZW8A5mdvVBNCo+xk+/T4qfLR+XWrOwUwnElcfsBdXSqqIkGLp3qXQtpqrajRzDpBx+5kwamUsvMkQxeYwBrRCz0m4T3Xsn6qKqVrfh6EdGthX//k86sgmk9ICnoAL8f+LYb5Q7TckVYYNmmlqwZie79cPnETrvEB+5+csUsYr2IEe9/CcdV3aXliEZLw4HxKzl52hBs4B8P0FgC0ey4cmSzbX//KGGfyyBlAWreJ6CkFccnzYwcVcbaY04WwZzoXXYj2H/7nbB3lh5erb8di2stWa1Uf+f/jYgekgRMdfbWkJ4VkCZ1JjVJwYg7FuBjKU9yp2YrFkCPBGZ9ATTVEYwXOjoYhmR3LfMCvkxJxb//rmId3P9K6Pj1uRr04hOvVM5vzlysExhbjwDHLZSowQNF4bPhWUKNpov/4NvonBNWVPhdpVHRBi/uqHsUgjJ7+XZmf60nX5Hf/+aiXk+R209lRp86YCyuCgqN2JKmZzWtb8LBwGVwCUZLKDF8vOvip1IkylnyG+2MkK8lm+g7VJzPj7I7I2dwbLe5u//415ZcFZkJDY+wJkwsm9b77mcP/5km0kfwSx7mjqHrqFWfPJN+QROdwKcRWWTb9+bSxPy8VVybTcthMZi5f//jSGEcVJwWhWDjzIShsXr7EGmePsYajVNJmQj0lZSutT2C+oO/bNyqolAEDt1LWSlCzeC2OXqplewuzpm2niD7G+RurQqjRpi8Px9BP5uTjUQ6y1g72pKsvkzV2yfyA/t1Bp8k8OwV9ZgtBL6cC+nao3jPi+hCLu67jCGRQeY/sIg2bXqkJXcFeAerw80IjQ9oI9qsDgd2rdzFBdiOC7Yz/wrRBl39SWEWHbyR4uUhAIsJmB+TEa05deNhWy1GXIqpPYQI90zHomicNzFae812Rf3DZKii+Aae1UoTDfe3wsz/ZVHdfTjEG4ku+8+YS+gB+FQV5X9Y5NpCVxhJI7T6Mel8qoNAJBj/wlK4k87mcLliYxN29tGEpZIwUhgARx3ySZwECRK8IiqXEtD3569CZ8yG8O/Lr8rJVSnhXMp5cVBnbhp2ZlR09VtkbhojnV/G/uwfIweCtfG+brys585640oz9QomiLJF0Lw4rSAhMAI/DRgseeTALrwDHEA0Sv5uPMhsebm48yGx5ubjzIbHmylqjz0dFhd2bQGIkFBRtKAAMtu1HSmFkEW5i53i7VhyFgTUevuKANN63olz4Pyizof/7R14K4F+MvOM9w4MXlXpmz2pJFFxYj8KUBtiDqAV3G8aQcsh6Wz8WPxi4YFHIdy0fhXQ64mF6KqgAGGCgipwWQV7js38LsHqUBjIHNK3KCAWHMQtd//yia7HRvAJKKDn7j//i/jn1pELa17xC8bBwmvPH1OxBXepR5iup8yBzrKef4+Itl3wBkpNv4QIVddVYv7b6XYz0AEuFVXx9HAFrO9X4LYoGhbaCB2LQbgBXNydhf3NkPcSrql/T9U97KycnugYH69p5JESyxNbdQt/gV16i536l2oVT74pT/ZnI+HkN7kH0ouigexUsy2znwE0S8JHkCWHfaXnxpvoz/eMv/D98ytbgdj1adQ6Xky1PEf4h7fn+1Kt2eTZ0GzUxhTm2whjD5fwqy3kDcCRyiWM7XS/ivPw0wzoS1GFirjNYt60x8fRrK2X5e1fddjFu6rHzf67jZ/G/G3bDXyGZXfVV3UdncfixWSNPGaPELWWqNM4LKHbDliRWPViX3onphpAgxjaH0o78Rc+zu+o+VilVQ23Ewlo0rQl90wCbmhNaJ7lAhi64R1GzHvrYndnakEjGxFSQDNwNYO34d4Npfh7g2uFQme2aodcz3DeqMqSozwdQaE/cuxYakyPQIxIDvXJPOou66umYRolThh9VlA1HNaGZcS+Irfw594JQGTzienZ9rJkljHdu1RBuWVKnQZcful/bhjvLz2w/++vZ5L3JmjsFM4Qoa/7z99Epp597YLeepzbbxyj8a+zgq9+mswWWh4cjBrqOx+tHFeAmivdqEVTbb1dJlJEww8b0CcobB35/tB6/KwiUTggAORCdCBuW6n+XOwqocZK+strOMDfDxwvzJJXLHbPt6+ST0dPIfIVw+rD4UsET6uaXw2UJfS3tdu1CltUjnxUNRXvLgjVG6LRR+hBZz0P/o99swHD7lIwurEaOUG8DrGC/fne8zWVl0r5vcT/GP/6bGB79d7gYrZca0yxnCM0S1gyxRezcIIFs9pglKCB9OSkUX98cQwiJdKYyF8jXI1Hnl1T0cnJapnscwTlRKJVgBT3PHb2U3OB/ILfGJXwxeb6OkdfiVeznhE1cOYAKQ+9eyw1E9ikuVpM25NHHcSuwifwav2tfwo5mMNsNhStVVnA+cqbTjxGLJ7aCgaCT0trOw/NVcocBgWez5sS1n7w0xjk6bhudE2zs9j/nPxHfianMITUBk2neCN79E7dEkBM8YtEA06FfQOjjAVSdlmzgA4XbA+DJQ7ocg+Wyt5VF3qMALZYPBsQLRhBE3GroyOgEVX4Fd8GN815wlZMN6QXPn7DBa9cKrpAqRCJqfQruQsssMsjZFblZ7jpSUvJFxDXuOdk8SGnMqcKGsvjboXWVsXtfx1Lgql3PW8WQloEFNQ8KZToRnGhClFlDx7asCyR0esGSqSpB/NsteMUN6LZdmeNOTQtuHaepTKkx2GgJCS73JmuD3DViqWr2pWU3yhPjPp+6i5De+krJY+D2USwyNDjcv/9vPKlMSzznKHNI3rCOO+R93C9u6Yav5heNcEo6gvXLtqHJo5VRLMRTDGd1ZigY15UKded/EF7v2wr+zL/cJoXgHoxNak1YIw9f/iFH0tFBtKonfdZMq+wwxB9r83q9oTZRybi1zc1ZJ5YwI0sXGXUxRSdFDQG5GcLliVLYTUEFUTIS/MBHQSzzzdEHNUF2MWw/NVl22vPJR8TqvOI2C1IMRd2xIHKygUAFMhsCfHqfgTE8Qa5C5s2nP1bod45vSbtyOhclsyE2XTlLnrn9Rjatp5Z+vgnxS9RTDEw2EMaV1HRY5d75qstLB9x5EC7ua4kuR4uz3YhDlBsTaercEtHZMjQfr+AKh3RTKZnhRhp16dk3Ib/wKKot6W4UiYfCcev1Z3BS+aKDgZIo4BmUay486IGUSegitCvnZApaZ/+zgVgNdSx5LX3A/03qMoUwbKWV//iIuq0HCvemrziyScM+S106OQwGxMnpzIC587e8Aytz9sv/Cm7m32dyJz2hcqfV/igZCzkwHeMBFws5zm7+pkjwxYWM81Y63TNN+mptY1xPX9jayWiRW5mZgqLQXIk4UjXBP70d3/UAVYBDNc8oDQbAhYhbZrO3+o7XEZXSODmtCYcgg2Ho0qPzB7DBlDNYk7AF5hWTRMXbM0tm9dvWEB6JXS+eG4BSZhDhX6abMwDPiQG0Ro8mcmZ4j4YdwFCi2t4hzAqnS8rQjnFnBq6dXnixiHAa+65zxSkpRWA3sTBZggky6YGcQlOTT7omwGZGNEZsJCuebmyrbdCR/wAKSWWHCVmf8BOJVBBg2TLWnFUyzlmUJDaVvDrfBzsnZ6b73hFZiqWWCOO2NQFLOGJjcFGF+uKA4QGyOV4BQWZXjQjJ/gWyYmNRRz5nDxgyalSGy7gJIa0vcA+fuZ7RGQDnMLFx3xrQWL/Pwn9RQKnsPMl+KQPpu07cymfopVgHeow1BL5gJHe8c2Kt6Ctoao83PPp7SnLiKr15Prz3W0rSABScKe+1hjX3YN5eUGO1ToFRmRx9RDZswm3XJjeJYIarM394qfQbjCIqT16UeX8qs7eT43IBqUdG/l6671YTKjVV2wqkH1cD0jXbjECfkSJHnnqF5IVY+Od97Azh4jWuW3GJ3yqxyMJR+Zktw3p6H/+yvydoCfwPcpY+XHkwqobRzwG7U2vX0R71FceQUP1T9+Vv1x92Vi0SYissbJlB5ZWfQEcW6ULBHyw00qIMrbmBdrKD/wZo3yeg9TSU7qXNHgp5pl0ACFnL0UFeL6MmmMLeu4LKkoKJ2hUsrosFmJa1qX+wVAzqms7BPHsPFsIMq8ldtvm7Kyh5Md+lpYd5RL7bhkgD6dDluf5oxjUMtRwPpT0VkvJOywywpv5ciymBQimjlfmT2Nb0SGs7Gx8KOZt8UopYj8BzYGlBzJB/48+gW9aZUYT/LWgxBuiSDDQABNJn9Vx0n1bpO6L11akNwABZKyab5cGdw0CRNPLQYIU73+IMasmZcC8NIml4XmDMAAf0bNeUWnIJLc2MMPO6OSmJXZVS4yI5xRjGLjJqcXXlz3pAdVMNg//DQ34MgeK6jWmq2FdHFubd/as6mJZ1BUIuBzdQ1gaVlU2n5gNS3JsYCweZgWSKMrWzVHlS97SP+XCFs7swjmFpj1IpnG5PO5HR0Gj1KCR1o7B5Nn94y0O5Sy8cfftERhPGmMPruLzE9IVpAqb9W2mwl2aB5TiDIQy0UUIIvPTuts4G5ElVg/9jCtipqVOmof/cmVf6f6kLm5yQannJ83QeQ1B5/66U3klN78eKPpGBMwj/LrPojsHD/M2Wa/e6Cj37Fi4MmFKkcbHqRzm+KLjQj+vkwGKJ37YU8GKKcdpoQU9weaZgHrEANeDnq+5NZGdTWDLkxv8w6+povwEO4kNdZ3EyOJWQbGMBfQgJOgzPnQzHHD+jeAmqG//j2jHxYZRWh55+gfueW0SER2rd9IW3kNegKJ7TtdhIgjdHtXfVjEjZf4wts/XOVKKLaKns2bNUo2VPIvAh+4o7dbE9Jf/zqOzPwpBtXNXUCERnDgCsLRZTxipdaTUlNPLL64oQrT3UY5q1CBNJROF4HIvOqH4evWve79ddD0ICHGGQQu/HoWN7JaLN/4H8BtD8+KI51k+jeR1fFXUbJzvWOyXMr0zyoEEwiC9lxfmYbPxlc+CLEp/WESmuQxZ80pcpQc04zXFBathqjHroMLSNup4xvjNPgl8RIPrqilH0fPBJA/d/aR6mdMyO7Xb49MQaSwR7wlz08q+YmbuC9Cs6GewGuZvMBaODsdFynKsgG1LjvqA06rVc2wrQwixiebhwp9eU8xEoesn7LJBER73J/C1kR4u8I2dVuh1nm18Bkux/jHvstoQB/CK6oUT21mS+d9W3Fp/zYpjo8mUP7E7dim5TvB4NP+6C59EqYUsjalW5Keznrc9qhldWu7gF3pMy1SAcw2eqpLL1ukuAJopVxaExPTG4goiV6Pu4/+Lk3t3AZ3aVdupT3EfIZDbqk0UdTtK3g4zvcwi3POUra1JvIRKRNH1b87EEFqi/rq0zsiDCLJll/7vdYDxQwiMBLaZsYEe8MXagSt107i9pOj2hEZEDV1B0hGP5vp5OBG6o9dVPu/8RZUyBP6PbDsqto+d8sqErIjy/NnyAV3kITM49fEdXoeaK9MMR8lap/75VWfbDl9IUNkO67YkCtl+z0zmo+mAamrLY/VULMaK9K3G1IVcteB7SiG+QHYDSLUiDzBIp3yEAAABWtNl/ZNAxz7DNhs5TMRfaHh5xs5HfeSSbVMP22KDXXLcKBsXpam4KNZ445Awb4/UgulHkP3WxJMxpFtSL68J0kVGlXEMjduyG0ayjWwylZycm5BUQKv93/wagwobFtef9FDG7C8jtni9Hv3FKlo/b3ynRWMejczT/XvIk9ruwHvGi02chE0jZ6DIeICqXO7RQoHvVFFpAjl7JVZpqsOl2L8anSMQQFPlNt7zvgORzyZUd3zoWVvkAl9eZM4whrGoTHReLWWFZi2Y0nxGG8M4WMyDgwt2P5EJAI29c5G/HQ8+KPWm0SwXtz02UaLm4Y9jnwQjUWj5ZhtUUE2AXFnyA07QQDoENFhRpNZfd8IUtFDBnQ3IRJSzZchEgduiIJ4DWPG7ScRHUaVVOOmCS90Eni044htHJuI6JxOzvowSqa0oIFVRE1iK1tQooyxzxyFInkWCNGv+WHGUnvz9jRwWnEuduLLDPbp7B2KKvYcqxpUR3/lf09ZmJoHBKhIAVYRvA5MIEFyZSUcGyF7fQODkFg1pYM4pDxy17gm0BgiDCe7ItiTCEX/Y51MjMtwkeXxH2r24bvNympZi0ML0gbO8YM4skFmKZv7haKYCa6fzERrFyJZocPi+HKR7pe6AdgwAoypHD+hpbouDOCTo6BVJKNcz8Nq8AnXZOr+q++e9N72AGass3S2bqIT9EGTD6j9fHM91Jn071aOffNDbEZS+taM1NavisF/m9IPOVfa0DMlrJvYYeBPcaJM9A/RfF6MzCbAf9I1FfYNbcg+6RqwiUVOnXfbURec9vDmum+sh/kRuiAFX+eV+WY9hFdvRm9xEiqDY1WxOmoF/5vXZRVWAAAA="},66348:(e,o,t)=>{t.d(o,{Z:()=>s});const s=t.p+"assets/images/wrapper-modal-7e522af5e936b203331d1ab5808fb70d.webp"},11151:(e,o,t)=>{t.d(o,{Z:()=>a,a:()=>r});var s=t(67294);const n={},i=s.createContext(n);function r(e){const o=s.useContext(i);return s.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(n):e.components||n:r(e.components),s.createElement(i.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7c97d78d.648f5016.js b/assets/js/7c97d78d.648f5016.js deleted file mode 100644 index 688698fa4..000000000 --- a/assets/js/7c97d78d.648f5016.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[90717],{82187:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>o,contentTitle:()=>a,default:()=>u,frontMatter:()=>l,metadata:()=>r,toc:()=>c});var n=s(85893),i=s(11151);const l={id:"wpml",title:"WPML"},a=void 0,r={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.",source:"@site/forms/features/wpml.md",sourceDirName:"features",slug:"/features/wpml",permalink:"/forms/features/wpml",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"wpml",title:"WPML"},sidebar:"forms",previous:{title:"Country list",permalink:"/forms/features/country-list"},next:{title:"Entries",permalink:"/forms/features/entries"}},o={},c=[{value:"How to use",id:"how-to-use",level:2},{value:"Features affected by WPML",id:"features-affected-by-wpml",level:2},{value:"Forms listing",id:"forms-listing",level:3},{value:"Forms selector",id:"forms-selector",level:3},{value:"Forms settings",id:"forms-settings",level:3},{value:"Global settings",id:"global-settings",level:3}];function f(e){const t={code:"code",em:"em",h2:"h2",h3:"h3",img:"img",p:"p",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(t.p,{children:["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 (",(0,n.jsx)(t.em,{children:"translations"}),") to forms."]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"WPML screen",src:s(85684).Z+"",width:"656",height:"883"})}),"\n",(0,n.jsx)(t.h2,{id:"how-to-use",children:"How to use"}),"\n",(0,n.jsxs)(t.p,{children:["If using WPML, enable the ",(0,n.jsx)(t.em,{children:"WPML"})," feature in form settings. This will ensure the forms is displayed correctly in the form listing page, and that all the multi-language features work."]}),"\n",(0,n.jsx)(t.h2,{id:"features-affected-by-wpml",children:"Features affected by WPML"}),"\n",(0,n.jsx)(t.p,{children:"WPML affects the following features:"}),"\n",(0,n.jsx)(t.h3,{id:"forms-listing",children:"Forms listing"}),"\n",(0,n.jsxs)(t.p,{children:["By default, we use ",(0,n.jsx)(t.code,{children:"get_locale()"}),"to retrieve the default language of the project. Once WPML is activated, a new language tag is assigned to each setting, and the forms display only in the language they're assigned to."]}),"\n",(0,n.jsx)(t.h3,{id:"forms-selector",children:"Forms selector"}),"\n",(0,n.jsx)(t.p,{children:"When selecting forms in the Forms picker, only the forms in the current editing language are visible."}),"\n",(0,n.jsx)(t.h3,{id:"forms-settings",children:"Forms settings"}),"\n",(0,n.jsx)(t.p,{children:"Forms settings are unique for each language variant of the form."}),"\n",(0,n.jsx)(t.h3,{id:"global-settings",children:"Global settings"}),"\n",(0,n.jsx)(t.p,{children:"Global settings, similar to form settings, are unique for each language variation, with the exception of API keys, tokens, etc."})]})}function u(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(f,{...e})}):f(e)}},85684:(e,t,s)=>{s.d(t,{Z:()=>n});const n=s.p+"assets/images/wpml-832ccf6444f313cc8fef5db8f7447bc6.webp"},11151:(e,t,s)=>{s.d(t,{Z:()=>r,a:()=>a});var n=s(67294);const i={},l=n.createContext(i);function a(e){const t=n.useContext(l);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:a(e.components),n.createElement(l.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7c97d78d.816aebb5.js b/assets/js/7c97d78d.816aebb5.js new file mode 100644 index 000000000..6647f0660 --- /dev/null +++ b/assets/js/7c97d78d.816aebb5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[41024],{6372:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>o,contentTitle:()=>r,default:()=>u,frontMatter:()=>l,metadata:()=>a,toc:()=>c});var n=s(17624),i=s(4552);const l={id:"wpml",title:"WPML"},r=void 0,a={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.",source:"@site/forms/features/wpml.md",sourceDirName:"features",slug:"/features/wpml",permalink:"/forms/features/wpml",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"wpml",title:"WPML"},sidebar:"forms",previous:{title:"Country list",permalink:"/forms/features/country-list"},next:{title:"Entries",permalink:"/forms/features/entries"}},o={},c=[{value:"How to use",id:"how-to-use",level:2},{value:"Features affected by WPML",id:"features-affected-by-wpml",level:2},{value:"Forms listing",id:"forms-listing",level:3},{value:"Forms selector",id:"forms-selector",level:3},{value:"Forms settings",id:"forms-settings",level:3},{value:"Global settings",id:"global-settings",level:3}];function f(e){const t={code:"code",em:"em",h2:"h2",h3:"h3",img:"img",p:"p",...(0,i.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(t.p,{children:["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 (",(0,n.jsx)(t.em,{children:"translations"}),") to forms."]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"WPML screen",src:s(88339).c+"",width:"656",height:"883"})}),"\n",(0,n.jsx)(t.h2,{id:"how-to-use",children:"How to use"}),"\n",(0,n.jsxs)(t.p,{children:["If using WPML, enable the ",(0,n.jsx)(t.em,{children:"WPML"})," feature in form settings. This will ensure the forms is displayed correctly in the form listing page, and that all the multi-language features work."]}),"\n",(0,n.jsx)(t.h2,{id:"features-affected-by-wpml",children:"Features affected by WPML"}),"\n",(0,n.jsx)(t.p,{children:"WPML affects the following features:"}),"\n",(0,n.jsx)(t.h3,{id:"forms-listing",children:"Forms listing"}),"\n",(0,n.jsxs)(t.p,{children:["By default, we use ",(0,n.jsx)(t.code,{children:"get_locale()"}),"to retrieve the default language of the project. Once WPML is activated, a new language tag is assigned to each setting, and the forms display only in the language they're assigned to."]}),"\n",(0,n.jsx)(t.h3,{id:"forms-selector",children:"Forms selector"}),"\n",(0,n.jsx)(t.p,{children:"When selecting forms in the Forms picker, only the forms in the current editing language are visible."}),"\n",(0,n.jsx)(t.h3,{id:"forms-settings",children:"Forms settings"}),"\n",(0,n.jsx)(t.p,{children:"Forms settings are unique for each language variant of the form."}),"\n",(0,n.jsx)(t.h3,{id:"global-settings",children:"Global settings"}),"\n",(0,n.jsx)(t.p,{children:"Global settings, similar to form settings, are unique for each language variation, with the exception of API keys, tokens, etc."})]})}function u(e={}){const{wrapper:t}={...(0,i.M)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(f,{...e})}):f(e)}},88339:(e,t,s)=>{s.d(t,{c:()=>n});const n=s.p+"assets/images/wpml-832ccf6444f313cc8fef5db8f7447bc6.webp"},4552:(e,t,s)=>{s.d(t,{I:()=>a,M:()=>r});var n=s(11504);const i={},l=n.createContext(i);function r(e){const t=n.useContext(l);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(i):e.components||i:r(e.components),n.createElement(l.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7cbc5997.5f691d94.js b/assets/js/7cbc5997.5f691d94.js new file mode 100644 index 000000000..c7bb0f5bb --- /dev/null +++ b/assets/js/7cbc5997.5f691d94.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[51768],{59708:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>s,default:()=>u,frontMatter:()=>r,metadata:()=>a,toc:()=>l});var o=n(17624),i=n(4552);const r={id:"intro",title:"Intro"},s=void 0,a={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.",source:"@site/forms/addons/create/intro.md",sourceDirName:"addons/create",slug:"/addons/create/intro",permalink:"/forms/addons/create/intro",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"intro",title:"Intro"},sidebar:"forms",previous:{title:"Data flow",permalink:"/forms/addons/premium/computed-fields/data-flow"},next:{title:"Utils library",permalink:"/forms/addons/create/utils-library"}},d={},l=[];function c(t){const e={a:"a",li:"li",ol:"ol",p:"p",strong:"strong",...(0,i.M)(),...t.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.p,{children:"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."}),"\n",(0,o.jsx)(e.p,{children:(0,o.jsx)(e.strong,{children:"Steps to create a new add-on:"})}),"\n",(0,o.jsxs)(e.ol,{children:["\n",(0,o.jsxs)(e.li,{children:["Setup your add-on ",(0,o.jsx)(e.a,{href:"addon-boilerplate",children:"boilerplate plugin"}),"."]}),"\n",(0,o.jsxs)(e.li,{children:["Read the ",(0,o.jsx)(e.a,{href:"requirements",children:"requirements"})," for creating a new add-on in order to ensure that your add-on is working properly."]}),"\n",(0,o.jsxs)(e.li,{children:["Use the ",(0,o.jsx)(e.a,{href:"utils-library",children:"utils library"})," to provide consistent and reusable utility functions for your add-on."]}),"\n",(0,o.jsx)(e.li,{children:"Add your custom functionality to the add-on."}),"\n",(0,o.jsx)(e.li,{children:"Install and activate your add-on after the main plugin is installed and activated."}),"\n",(0,o.jsx)(e.li,{children:"Contact the Eightshift Forms team to add your add-on to the official list of add-ons."}),"\n"]})]})}function u(t={}){const{wrapper:e}={...(0,i.M)(),...t.components};return e?(0,o.jsx)(e,{...t,children:(0,o.jsx)(c,{...t})}):c(t)}},4552:(t,e,n)=>{n.d(e,{I:()=>a,M:()=>s});var o=n(11504);const i={},r=o.createContext(i);function s(t){const e=o.useContext(r);return o.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:s(t.components),o.createElement(r.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/7cbc5997.e67f6f8a.js b/assets/js/7cbc5997.e67f6f8a.js deleted file mode 100644 index 4fe74ff14..000000000 --- a/assets/js/7cbc5997.e67f6f8a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[85454],{13693:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>s,default:()=>u,frontMatter:()=>r,metadata:()=>a,toc:()=>l});var o=n(85893),i=n(11151);const r={id:"intro",title:"Intro"},s=void 0,a={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.",source:"@site/forms/addons/create/intro.md",sourceDirName:"addons/create",slug:"/addons/create/intro",permalink:"/forms/addons/create/intro",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"intro",title:"Intro"},sidebar:"forms",previous:{title:"Data flow",permalink:"/forms/addons/premium/computed-fields/data-flow"},next:{title:"Utils library",permalink:"/forms/addons/create/utils-library"}},d={},l=[];function c(t){const e={a:"a",li:"li",ol:"ol",p:"p",strong:"strong",...(0,i.a)(),...t.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.p,{children:"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."}),"\n",(0,o.jsx)(e.p,{children:(0,o.jsx)(e.strong,{children:"Steps to create a new add-on:"})}),"\n",(0,o.jsxs)(e.ol,{children:["\n",(0,o.jsxs)(e.li,{children:["Setup your add-on ",(0,o.jsx)(e.a,{href:"addon-boilerplate",children:"boilerplate plugin"}),"."]}),"\n",(0,o.jsxs)(e.li,{children:["Read the ",(0,o.jsx)(e.a,{href:"requirements",children:"requirements"})," for creating a new add-on in order to ensure that your add-on is working properly."]}),"\n",(0,o.jsxs)(e.li,{children:["Use the ",(0,o.jsx)(e.a,{href:"utils-library",children:"utils library"})," to provide consistent and reusable utility functions for your add-on."]}),"\n",(0,o.jsx)(e.li,{children:"Add your custom functionality to the add-on."}),"\n",(0,o.jsx)(e.li,{children:"Install and activate your add-on after the main plugin is installed and activated."}),"\n",(0,o.jsx)(e.li,{children:"Contact the Eightshift Forms team to add your add-on to the official list of add-ons."}),"\n"]})]})}function u(t={}){const{wrapper:e}={...(0,i.a)(),...t.components};return e?(0,o.jsx)(e,{...t,children:(0,o.jsx)(c,{...t})}):c(t)}},11151:(t,e,n)=>{n.d(e,{Z:()=>a,a:()=>s});var o=n(67294);const i={},r=o.createContext(i);function s(t){const e=o.useContext(r);return o.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:s(t.components),o.createElement(r.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/7cca0223.8c6b7a89.js b/assets/js/7cca0223.8c6b7a89.js new file mode 100644 index 000000000..dce05999c --- /dev/null +++ b/assets/js/7cca0223.8c6b7a89.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[51980],{38080:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>o,contentTitle:()=>i,default:()=>c,frontMatter:()=>s,metadata:()=>l,toc:()=>p});var a=n(17624),r=n(4552);const s={id:"blocks-styles",title:"Styles"},i=void 0,l={id:"basics/blocks-styles",title:"Styles",description:"docs-source",source:"@site/docs/basics/blocks-styles.md",sourceDirName:"basics",slug:"/basics/blocks-styles",permalink:"/docs/basics/blocks-styles",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-styles",title:"Styles"},sidebar:"docs",previous:{title:"Reusable Blocks",permalink:"/docs/basics/blocks-reusable"},next:{title:"Storybook",permalink:"/docs/basics/blocks-storybook"}},o={},p=[{value:"Setup",id:"setup",level:2},{value:"Details",id:"details",level:2},{value:"Global variables",id:"global-variables",level:2},{value:"Variables",id:"variables",level:2},{value:"Default type",id:"default-type",level:2},{value:"Value type",id:"value-type",level:2},{value:"Editor variables",id:"editor-variables",level:2},{value:"Manual variables",id:"manual-variables",level:2},{value:"Manual variables inside the Block editor",id:"manual-variables-inside-the-block-editor",level:2},{value:"Additional options and examples",id:"additional-options-and-examples",level:2},{value:"Color",id:"color",level:3},{value:"Responsive",id:"responsive",level:3},{value:"Responsive Inverse",id:"responsive-inverse",level:3},{value:"Attribute value replacement",id:"attribute-value-replacement",level:3},{value:"Responsive variables",id:"responsive-variables",level:2}];function d(t){const e={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",strong:"strong",...(0,r.M)(),...t.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(e.p,{children:(0,a.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,a.jsx)(e.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,a.jsx)(e.p,{children:"We decided to remove all support for IE 11. That decision opened up doors that lead to new, awesome features and all the cool stuff. One of those features is CSS variables with block manifest and global settings."}),"\n",(0,a.jsx)(e.p,{children:"Let's dig into the implementation of CSS variables in your project."}),"\n",(0,a.jsx)(e.h2,{id:"setup",children:"Setup"}),"\n",(0,a.jsxs)(e.p,{children:["To be able to use CSS variables you need to implement two helpers in your blocks/components: ",(0,a.jsx)(e.code,{children:"outputCssVariables"})," and ",(0,a.jsx)(e.code,{children:"getUnique"}),". For more details on these helpers, you can read ",(0,a.jsx)(e.a,{href:"helpers-javascript",children:"here"}),"."]}),"\n",(0,a.jsx)(e.p,{children:"There are a few differences between the JavaScript and PHP implementation due to a way React handles component re-rendering."}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"JavaScript component:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-js",children:"import React, { useMemo } from 'react';\nimport { outputCssVariables, getUnique } from '@eightshift/frontend-libs/scripts';\nimport manifest from '../manifest.json';\nimport globalManifest from './../../../manifest.json';\n\nexport const TypographyEditor = (attributes) => {\n\n\t// We need to use memo in order to optimise component re-rendering.\n\tconst unique = useMemo(() => getUnique(), []);\n\n\treturn (\n\t\t<>\n\t\t\t{outputCssVariables(attributes, manifest, unique, globalManifest)}\n\n\t\t\t<div data-id={unique}>\n\t\t\t\t{/*Regular component implementation*/}\n\t\t\t</div>\n\t\t</>\n\t);\n};\n"})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"PHP view:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-php",children:'use EightshiftLibs\\Helpers\\Components;\n\n$globalManifest = Components::getManifest(dirname(__DIR__, 2));\n$manifest = Components::getManifest(__DIR__);\n\n$unique = Components::getUnique();\n\n?>\n\n<div data-id="<?php echo esc_attr($unique); ?>">\n\t<?php echo Components::outputCssVariables($attributes, $manifest, $unique, $globalManifest); ?>\n\t// Regular component implementation\n</div>\n'})}),"\n",(0,a.jsx)(e.p,{children:"Now that we have helpers in place, let's see how they work and what features they offer."}),"\n",(0,a.jsx)(e.h2,{id:"details",children:"Details"}),"\n",(0,a.jsxs)(e.p,{children:["CSS variables helper consists of 2 helpers. ",(0,a.jsx)(e.code,{children:"outputCssVariables"})," helper will output all CSS variables set in your blocks/component manifest and ",(0,a.jsx)(e.code,{children:"getUnique"})," helper will make sure that variables are applied only to the exact block/component."]}),"\n",(0,a.jsx)(e.p,{children:"If you check your rendered website you can see that you have something like this:"}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-html",children:'<div class="typography" data-id="210c9bbf733ef5c6aa74c49168ac29a7">\n\t<style>\n\t\t.typography[data-id=\'210c9bbf733ef5c6aa74c49168ac29a7\'] {\n\t\t\t--typography-color: var(--global-colors-black);\n\t\t\t--typography-content-align: left;\n\t\t}\n\t</style>\n\t...\n</div>\n'})}),"\n",(0,a.jsx)(e.p,{children:"This is all that's required for the magic of CSS variables to work! Now let's see it in action and check out all additional features you can use."}),"\n",(0,a.jsx)(e.h2,{id:"global-variables",children:"Global variables"}),"\n",(0,a.jsxs)(e.p,{children:["Now that we know how CSS variables are generated, we have one more helper to describe.\nThe ",(0,a.jsx)(e.code,{children:"outputCssVariablesGlobal(globalSettings);"})," helper is called in the ",(0,a.jsx)(e.code,{children:"application-blocks-editor.js"})," file. It is used to output all CSS variables from the global manifest under the ",(0,a.jsx)(e.code,{children:"globalVariables"})," key, into the ",(0,a.jsx)(e.code,{children:":root"})," selector."]}),"\n",(0,a.jsx)(e.admonition,{title:":es-hide-title:",type:"tip",children:(0,a.jsx)(e.p,{children:"All of these variables are available to use inside any blocks/components."})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Global Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"namespace": "eightshift-boilerplate",\n\t"background": "#D8262C",\n\t"foreground": "#FFFFFF",\n\t"globalVariables": {\n\t\t"customBlocksName": "eightshift-block",\n\t\t"maxCols": 12,\n\t\t"breakpoints": {\n\t\t\t"mobile": 479,\n\t\t\t"tablet": 1279,\n\t\t\t"desktop": 1919,\n\t\t\t"large": 1920\n\t\t},\n\t\t"containers": {\n\t\t\t"default": "1330px"\n\t\t},\n\t\t"gutters": {\n\t\t\t"none": "0",\n\t\t\t"default": "25px",\n\t\t\t"big": "50px"\n\t\t},\n\t\t"sectionSpacing": {\n\t\t\t"min": -300,\n\t\t\t"max": 300,\n\t\t\t"step": 10\n\t\t},\n\t\t"sectionInSpacing": {\n\t\t\t"min": 0,\n\t\t\t"max": 300,\n\t\t\t"step": 10\n\t\t},\n\t\t"colors": [\n\t\t\t{\n\t\t\t\t"name": "Black",\n\t\t\t\t"slug": "black",\n\t\t\t\t"color": "#111111"\n\t\t\t},\n\t\t\t{\n\t\t\t\t"name": "White",\n\t\t\t\t"slug": "white",\n\t\t\t\t"color": "#FFFFFF"\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-html",children:"<style>\n\t:root {\n\t\t--global-custom-blocks-name: eightshift-block;\n\t\t--global-max-cols: 12;\n\t\t--global-breakpoints-mobile: 479;\n\t\t--global-breakpoints-tablet: 1279;\n\t\t--global-breakpoints-desktop: 1919;\n\t\t--global-breakpoints-large: 1920;\n\t\t--global-containers-default: 1330px;\n\t\t--global-gutters-none: 0;\n\t\t--global-gutters-default: 25px;\n\t\t--global-gutters-big: 50px;\n\t\t--global-section-spacing-min: -300;\n\t\t--global-section-spacing-max: 300;\n\t\t--global-section-spacing-step: 10;\n\t\t--global-section-in-spacing-min: 0;\n\t\t--global-section-in-spacing-max: 300;\n\t\t--global-section-in-spacing-step: 10;\n\t\t--global-colors-black: #111111;\n\t\t--global-colors-white: #FFFFFF;\n\t}\n</style>\n"})}),"\n",(0,a.jsx)(e.p,{children:"You can use a global variable like any other CSS variable:"}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"color: var(--global-colors-white);\n"})}),"\n",(0,a.jsx)(e.h2,{id:"variables",children:"Variables"}),"\n",(0,a.jsx)(e.p,{children:"As we said in the beginning, all CSS variables are defined within the block/component manifest."}),"\n",(0,a.jsxs)(e.p,{children:["To output an attribute as a CSS variable, you need to set the ",(0,a.jsx)(e.code,{children:"variables"})," key in the block/component ",(0,a.jsx)(e.code,{children:"manifest"})," and define the variable markdown."]}),"\n",(0,a.jsx)(e.p,{children:"All css variables are prepared and ready to be used in the responsive manner."}),"\n",(0,a.jsx)(e.h2,{id:"default-type",children:"Default type"}),"\n",(0,a.jsxs)(e.p,{children:["Variable ",(0,a.jsx)(e.code,{children:"default"})," will output all variables from the list no matter what you have selected in the attribute. You can use unlimited variables."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographySize": {\n\t\t\t"type": "string",\n\t\t\t"default": "120-default"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographySize": [\n\t\t\t{\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "120px",\n\t\t\t\t\t"typography-line-height": "calc(var(--typography-size) * 1.2)"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--typography-size: 120px;\n--typography-line-height: 144px;\n"})}),"\n",(0,a.jsx)(e.h2,{id:"value-type",children:"Value type"}),"\n",(0,a.jsxs)(e.p,{children:["Variable ",(0,a.jsx)(e.code,{children:"value"})," will output all variables depending on attributes value. Everything else is the same as in the default type."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographySize": {\n\t\t\t"type": "string",\n\t\t\t"default": "120-default"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographySize": {\n\t\t\t"120-default": [\n\t\t\t\t{\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"typography-size": "120px",\n\t\t\t\t\t\t"typography-line-height": "calc(var(--typography-size) * 1.2)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--typography-size: 120px;\n--typography-line-height: 144px;\n"})}),"\n",(0,a.jsx)(e.h2,{id:"editor-variables",children:"Editor variables"}),"\n",(0,a.jsxs)(e.p,{children:["Editor variables behave just like regular ",(0,a.jsx)(e.code,{children:"variables"}),", except they are output only inside the Block Editor.\nThey are mostly used for overriding specific behaviour, e.g. showing a hidden element as half-transparent instead of hiding it completely."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentName": "wrapper",\n\t"title": "Wrapper",\n\t"componentClass": "wrapper",\n\t"attributes": {\n\t\t"wrapperHide": {\n\t\t\t"type": "boolean",\n\t\t\t"default": false\n\t\t}\n\t},\n\t"variables": {\n\t\t"wrapperHide": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t}\n\t},\n\t"variablesEditor": {\n\t\t"wrapperHide": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display-opacity": "0.5",\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--wrapper-display: none;\n--wrapper-display-opacity: 0.5;\n--wrapper-display: var(--wrapper-display-type, grid);\n"})}),"\n",(0,a.jsx)(e.h2,{id:"manual-variables",children:"Manual variables"}),"\n",(0,a.jsxs)(e.p,{children:["Custom CSS variables can be generated and output independently from all the attributes through the ",(0,a.jsx)(e.code,{children:"variablesCustom"})," key. Add it inside the manifest (top level) and add each variable as an array item.\nManual variables will be added at the end of the output."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"attributes": {\n\t\t// ...\n\t},\n\t"variablesCustom": [\n\t\t"--variable1: test1",\n\t\t"--variable2: test2",\n\t\t"--variable3: test3"\n\t]\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--variable1: test1;\n--variable2: test2;\n--variable3: test3;\n"})}),"\n",(0,a.jsx)(e.h2,{id:"manual-variables-inside-the-block-editor",children:"Manual variables inside the Block editor"}),"\n",(0,a.jsxs)(e.p,{children:["If you want to add manual variables that only apply inside the Block editor you can use the ",(0,a.jsx)(e.code,{children:"variablesCustomEditor"})," key. Everything works the same as described in the ",(0,a.jsx)(e.strong,{children:"Manual variables"})," section.\nIf you define both ",(0,a.jsx)(e.code,{children:"variablesCustomEditor"})," and ",(0,a.jsx)(e.code,{children:"variables"}),", both will be output in the editor, but only ",(0,a.jsx)(e.code,{children:"variables"})," will be output on the frontend."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"attributes": {\n\t\t// ...\n\t},\n\t"variablesCustomEditor": [\n\t\t"--variable1: test1",\n\t\t"--variable2: test2",\n\t\t"--variable3: test3"\n\t]\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--variable1: test1;\n--variable2: test2;\n--variable3: test3;\n"})}),"\n",(0,a.jsx)(e.h2,{id:"additional-options-and-examples",children:"Additional options and examples"}),"\n",(0,a.jsx)(e.h3,{id:"color",children:"Color"}),"\n",(0,a.jsx)(e.p,{children:"Here is an example how to output global variable as a css variable."}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographyColor": {\n\t\t\t"type": "string",\n\t\t\t"default": "white"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographyColor": [\n\t\t\t{\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-color": "var(--global-colors-white)"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--typography-color: var(--global-colors-white);\n"})}),"\n",(0,a.jsx)(e.h3,{id:"responsive",children:"Responsive"}),"\n",(0,a.jsx)(e.p,{children:"All variables are prepared to be responsive. If you set multiple keys in the manifest list that variable will be outputted in the correct media query. Breakpoints are taken from the global manifest and the order of the output breakpoints."}),"\n",(0,a.jsx)(e.admonition,{title:"Important",type:"caution",children:(0,a.jsx)(e.p,{children:"Global breakpoints must follow the convention from the smallest size to the largest."})}),"\n",(0,a.jsx)(e.p,{children:"If you don't specify breakpoint key, that item will not be wrapped in the media query."}),"\n",(0,a.jsx)(e.p,{children:"If you write breakpoint that isn't defined in the global manifest, that condition will be ignored."}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographySize": {\n\t\t\t"type": "string",\n\t\t\t"default": "120-default"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographySize": [\n\t\t\t{\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "30px"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t"breakpoint": "tablet",\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "80px"\n\t\t\t\t}\n\t\t\t}\n\t\t\t{\n\t\t\t\t"breakpoint": "large",\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "120px"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:".typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t--typography-size: 30px;\n}\n\n@media(min-width: 1279px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 80px;\n\t}\n}\n\n@media(min-width: 1920px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 120px;\n\t}\n}\n"})}),"\n",(0,a.jsx)(e.h3,{id:"responsive-inverse",children:"Responsive Inverse"}),"\n",(0,a.jsxs)(e.p,{children:["By default, we use mobile first approach but if you need desktop first you can use ",(0,a.jsx)(e.code,{children:"inverse: true"})," key."]}),"\n",(0,a.jsx)(e.admonition,{title:"Important",type:"caution",children:(0,a.jsx)(e.p,{children:"If you have multiple mobile/desktop-first breakpoints, output will sort them mobile-first and then desktop-first after that."})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographySize": {\n\t\t\t"type": "string",\n\t\t\t"default": "120-default"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographySize": [\n\t\t\t{\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "120px"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t"breakpoint": "tablet",\n\t\t\t\t"inverse": true,\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "80px"\n\t\t\t\t}\n\t\t\t}\n\t\t\t{\n\t\t\t\t"breakpoint": "mobile",\n\t\t\t\t"inverse": true,\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "320px"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:".typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t--typography-size: 120px;\n}\n\n@media(max-width: 1279px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 80px;\n\t}\n}\n\n@media(max-width: 479px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 30px;\n\t}\n}\n"})}),"\n",(0,a.jsx)(e.h3,{id:"attribute-value-replacement",children:"Attribute value replacement"}),"\n",(0,a.jsxs)(e.p,{children:["Attribute value replacement variable is used to return the attribute value where you want it in the css variables. To use it just put ",(0,a.jsx)(e.code,{children:"%value%"})," in you css variables."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographySize": {\n\t\t\t"type": "string",\n\t\t\t"default": "120"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographySize": [\n\t\t\t{\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "30px"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t"breakpoint": "tablet",\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "80px"\n\t\t\t\t}\n\t\t\t}\n\t\t\t{\n\t\t\t\t"breakpoint": "large",\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "%value%px"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:".typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t--typography-size: 30px;\n}\n\n@media(min-width: 1279px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 80px;\n\t}\n}\n\n@media(min-width: 1920px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 120px;\n\t}\n}\n"})}),"\n",(0,a.jsx)(e.h2,{id:"responsive-variables",children:"Responsive variables"}),"\n",(0,a.jsxs)(e.p,{children:["Responsive variables are used for eliminating unnecessary code duplication. For example, if you have 4 separate attributes used for setting a responsive variable where all the attributes have the same output (e.g. ",(0,a.jsx)(e.code,{children:"%value%"}),"), the variables can get cluttered rather quickly."]}),"\n",(0,a.jsxs)(e.p,{children:["In a top-level manifest key ",(0,a.jsx)(e.code,{children:"responsiveAttributes"}),", you can place a new key (e.g. ",(0,a.jsx)(e.code,{children:"wrapperHide"}),") that represents a common key for your responsive variables. Inside it, you can list your responsive variables (e.g. ",(0,a.jsx)(e.code,{children:"wrapperHideLarge"}),", ",(0,a.jsx)(e.code,{children:"wrapperHideDesktop"}),", ",(0,a.jsx)(e.code,{children:"wrapperHideTablet"}),", ",(0,a.jsx)(e.code,{children:"wrapperHideMobile"}),") as a key-value pair. The key represents a breakpoint name, and the value represents responsive variable(",(0,a.jsx)(e.code,{children:"breakpoint"}),": ",(0,a.jsx)(e.code,{children:"responsiveVariableName"}),"). Afterwards, you can add that common key inside the ",(0,a.jsx)(e.code,{children:"variables"})," (and/or ",(0,a.jsx)(e.code,{children:"variablesEditor"}),") key and configure the output template."]}),"\n",(0,a.jsxs)(e.p,{children:["Best practice is to have the attributes named consistently with your breakpoints - in the ",(0,a.jsx)(e.strong,{children:(0,a.jsx)(e.code,{children:"variableName``breakpointName"})})," format (see example below)."]}),"\n",(0,a.jsx)(e.admonition,{type:"tip",children:(0,a.jsxs)(e.p,{children:["If you need an extra variable, or are overriding some of the auto-generated variables (from the helper), the variables will be output after the responsive variables. (see ",(0,a.jsx)(e.strong,{children:"Example 2"}),")"]})}),"\n",(0,a.jsx)(e.admonition,{type:"caution",children:(0,a.jsxs)(e.p,{children:["Order of responsive attributes is important since generating variables relies on that order. Make sure to use the ",(0,a.jsx)(e.code,{children:"inverse"})," option properly."]})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Example 1"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentName": "wrapper",\n\t"title": "Wrapper",\n\t"componentClass": "wrapper",\n\t"attributes": {\n\t\t"wrapperHideLarge": {\n\t\t\t"type": "boolean",\n\t\t\t"default": false\n\t\t},\n\t\t"wrapperHideDesktop": {\n\t\t\t"type": "boolean"\n\t\t},\n\t\t"wrapperHideTablet": {\n\t\t\t"type": "boolean"\n\t\t}\n\t},\n\t"responsiveAttributes": {\n\t\t"wrapperHide": {\n\t\t\t"large": "wrapperHideLarge",\n\t\t\t"desktop": "wrapperHideDesktop",\n\t\t\t"tablet": "wrapperHideTablet"\n\t\t}\n\t},\n\t"variables": {\n\t\t"wrapperHide": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t\t"false": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Transformed:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentName": "wrapper",\n\t"title": "Wrapper",\n\t"componentClass": "wrapper",\n\t"attributes": {\n\t\t"wrapperHide": {\n\t\t\t"type": "boolean",\n\t\t\t"default": false\n\t\t}\n\t},\n\t"responsiveAttributes": {\n\t\t"wrapperHideLarge": {\n\t\t\t"type": "boolean",\n\t\t\t"default": false\n\t\t},\n\t\t"wrapperHideDesktop": {\n\t\t\t"type": "boolean"\n\t\t},\n\t\t"wrapperHideTablet": {\n\t\t\t"type": "boolean"\n\t\t}\n\t},\n\t"variables": {\n\t\t"wrapperHideLarge": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t\t"false": [\n\t\t\t\t{\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t"wrapperHideDesktop": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"breakpoint": "desktop",\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t\t"false": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"breakpoint": "desktop",\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t"wrapperHideTablet": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"breakpoint": "desktop",\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t\t"false": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"breakpoint": "desktop",\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:".wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t--wrapper-display: var(--wrapper-display-type, grid);\n}\n@media(max-width: 1920px) {\n\t.wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--wrapper-display: none;\n\t}\n}\n@media(max-width: 1279px) {\n\t.wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--wrapper-display: var(--wrapper-display-type, grid);\n\t}\n}\n\n"})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Example 2"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentName": "wrapper",\n\t"title": "Wrapper",\n\t"componentClass": "wrapper",\n\t"attributes": {\n\t\t"wrapperHideLarge": {\n\t\t\t"type": "boolean",\n\t\t\t"default": false\n\t\t},\n\t\t"wrapperHideDesktop": {\n\t\t\t"type": "boolean"\n\t\t},\n\t\t"wrapperHideTablet": {\n\t\t\t"type": "boolean"\n\t\t}\n\t},\n\t"responsiveAttributes": {\n\t\t"wrapperHide": {\n\t\t\t"large": "wrapperHideLarge",\n\t\t\t"desktop": "wrapperHideDesktop",\n\t\t\t"tablet": "wrapperHideTablet"\n\t\t}\n\t},\n\t"variables": {\n\t\t"wrapperHide": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t\t"false": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t"wrapperHideLarge": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "block",\n\t\t\t\t\t\t"wrapper-opacity": 0\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t}\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:".wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t--wrapper-display: none;\n\t--wrapper-display: block;\n\t--wrapper-opacity: 0;\n}\n"})})]})}function c(t={}){const{wrapper:e}={...(0,r.M)(),...t.components};return e?(0,a.jsx)(e,{...t,children:(0,a.jsx)(d,{...t})}):d(t)}},4552:(t,e,n)=>{n.d(e,{I:()=>l,M:()=>i});var a=n(11504);const r={},s=a.createContext(r);function i(t){const e=a.useContext(s);return a.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(r):t.components||r:i(t.components),a.createElement(s.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/7cca0223.9a73c3ef.js b/assets/js/7cca0223.9a73c3ef.js deleted file mode 100644 index d68d8d671..000000000 --- a/assets/js/7cca0223.9a73c3ef.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[83709],{38781:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>o,contentTitle:()=>i,default:()=>c,frontMatter:()=>s,metadata:()=>l,toc:()=>p});var a=n(85893),r=n(11151);const s={id:"blocks-styles",title:"Styles"},i=void 0,l={id:"basics/blocks-styles",title:"Styles",description:"docs-source",source:"@site/docs/basics/blocks-styles.md",sourceDirName:"basics",slug:"/basics/blocks-styles",permalink:"/docs/basics/blocks-styles",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-styles",title:"Styles"},sidebar:"docs",previous:{title:"Reusable Blocks",permalink:"/docs/basics/blocks-reusable"},next:{title:"Storybook",permalink:"/docs/basics/blocks-storybook"}},o={},p=[{value:"Setup",id:"setup",level:2},{value:"Details",id:"details",level:2},{value:"Global variables",id:"global-variables",level:2},{value:"Variables",id:"variables",level:2},{value:"Default type",id:"default-type",level:2},{value:"Value type",id:"value-type",level:2},{value:"Editor variables",id:"editor-variables",level:2},{value:"Manual variables",id:"manual-variables",level:2},{value:"Manual variables inside the Block editor",id:"manual-variables-inside-the-block-editor",level:2},{value:"Additional options and examples",id:"additional-options-and-examples",level:2},{value:"Color",id:"color",level:3},{value:"Responsive",id:"responsive",level:3},{value:"Responsive Inverse",id:"responsive-inverse",level:3},{value:"Attribute value replacement",id:"attribute-value-replacement",level:3},{value:"Responsive variables",id:"responsive-variables",level:2}];function d(t){const e={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",strong:"strong",...(0,r.a)(),...t.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(e.p,{children:(0,a.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,a.jsx)(e.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,a.jsx)(e.p,{children:"We decided to remove all support for IE 11. That decision opened up doors that lead to new, awesome features and all the cool stuff. One of those features is CSS variables with block manifest and global settings."}),"\n",(0,a.jsx)(e.p,{children:"Let's dig into the implementation of CSS variables in your project."}),"\n",(0,a.jsx)(e.h2,{id:"setup",children:"Setup"}),"\n",(0,a.jsxs)(e.p,{children:["To be able to use CSS variables you need to implement two helpers in your blocks/components: ",(0,a.jsx)(e.code,{children:"outputCssVariables"})," and ",(0,a.jsx)(e.code,{children:"getUnique"}),". For more details on these helpers, you can read ",(0,a.jsx)(e.a,{href:"helpers-javascript",children:"here"}),"."]}),"\n",(0,a.jsx)(e.p,{children:"There are a few differences between the JavaScript and PHP implementation due to a way React handles component re-rendering."}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"JavaScript component:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-js",children:"import React, { useMemo } from 'react';\nimport { outputCssVariables, getUnique } from '@eightshift/frontend-libs/scripts';\nimport manifest from '../manifest.json';\nimport globalManifest from './../../../manifest.json';\n\nexport const TypographyEditor = (attributes) => {\n\n\t// We need to use memo in order to optimise component re-rendering.\n\tconst unique = useMemo(() => getUnique(), []);\n\n\treturn (\n\t\t<>\n\t\t\t{outputCssVariables(attributes, manifest, unique, globalManifest)}\n\n\t\t\t<div data-id={unique}>\n\t\t\t\t{/*Regular component implementation*/}\n\t\t\t</div>\n\t\t</>\n\t);\n};\n"})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"PHP view:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-php",children:'use EightshiftLibs\\Helpers\\Components;\n\n$globalManifest = Components::getManifest(dirname(__DIR__, 2));\n$manifest = Components::getManifest(__DIR__);\n\n$unique = Components::getUnique();\n\n?>\n\n<div data-id="<?php echo esc_attr($unique); ?>">\n\t<?php echo Components::outputCssVariables($attributes, $manifest, $unique, $globalManifest); ?>\n\t// Regular component implementation\n</div>\n'})}),"\n",(0,a.jsx)(e.p,{children:"Now that we have helpers in place, let's see how they work and what features they offer."}),"\n",(0,a.jsx)(e.h2,{id:"details",children:"Details"}),"\n",(0,a.jsxs)(e.p,{children:["CSS variables helper consists of 2 helpers. ",(0,a.jsx)(e.code,{children:"outputCssVariables"})," helper will output all CSS variables set in your blocks/component manifest and ",(0,a.jsx)(e.code,{children:"getUnique"})," helper will make sure that variables are applied only to the exact block/component."]}),"\n",(0,a.jsx)(e.p,{children:"If you check your rendered website you can see that you have something like this:"}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-html",children:'<div class="typography" data-id="210c9bbf733ef5c6aa74c49168ac29a7">\n\t<style>\n\t\t.typography[data-id=\'210c9bbf733ef5c6aa74c49168ac29a7\'] {\n\t\t\t--typography-color: var(--global-colors-black);\n\t\t\t--typography-content-align: left;\n\t\t}\n\t</style>\n\t...\n</div>\n'})}),"\n",(0,a.jsx)(e.p,{children:"This is all that's required for the magic of CSS variables to work! Now let's see it in action and check out all additional features you can use."}),"\n",(0,a.jsx)(e.h2,{id:"global-variables",children:"Global variables"}),"\n",(0,a.jsxs)(e.p,{children:["Now that we know how CSS variables are generated, we have one more helper to describe.\nThe ",(0,a.jsx)(e.code,{children:"outputCssVariablesGlobal(globalSettings);"})," helper is called in the ",(0,a.jsx)(e.code,{children:"application-blocks-editor.js"})," file. It is used to output all CSS variables from the global manifest under the ",(0,a.jsx)(e.code,{children:"globalVariables"})," key, into the ",(0,a.jsx)(e.code,{children:":root"})," selector."]}),"\n",(0,a.jsx)(e.admonition,{title:":es-hide-title:",type:"tip",children:(0,a.jsx)(e.p,{children:"All of these variables are available to use inside any blocks/components."})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Global Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"namespace": "eightshift-boilerplate",\n\t"background": "#D8262C",\n\t"foreground": "#FFFFFF",\n\t"globalVariables": {\n\t\t"customBlocksName": "eightshift-block",\n\t\t"maxCols": 12,\n\t\t"breakpoints": {\n\t\t\t"mobile": 479,\n\t\t\t"tablet": 1279,\n\t\t\t"desktop": 1919,\n\t\t\t"large": 1920\n\t\t},\n\t\t"containers": {\n\t\t\t"default": "1330px"\n\t\t},\n\t\t"gutters": {\n\t\t\t"none": "0",\n\t\t\t"default": "25px",\n\t\t\t"big": "50px"\n\t\t},\n\t\t"sectionSpacing": {\n\t\t\t"min": -300,\n\t\t\t"max": 300,\n\t\t\t"step": 10\n\t\t},\n\t\t"sectionInSpacing": {\n\t\t\t"min": 0,\n\t\t\t"max": 300,\n\t\t\t"step": 10\n\t\t},\n\t\t"colors": [\n\t\t\t{\n\t\t\t\t"name": "Black",\n\t\t\t\t"slug": "black",\n\t\t\t\t"color": "#111111"\n\t\t\t},\n\t\t\t{\n\t\t\t\t"name": "White",\n\t\t\t\t"slug": "white",\n\t\t\t\t"color": "#FFFFFF"\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-html",children:"<style>\n\t:root {\n\t\t--global-custom-blocks-name: eightshift-block;\n\t\t--global-max-cols: 12;\n\t\t--global-breakpoints-mobile: 479;\n\t\t--global-breakpoints-tablet: 1279;\n\t\t--global-breakpoints-desktop: 1919;\n\t\t--global-breakpoints-large: 1920;\n\t\t--global-containers-default: 1330px;\n\t\t--global-gutters-none: 0;\n\t\t--global-gutters-default: 25px;\n\t\t--global-gutters-big: 50px;\n\t\t--global-section-spacing-min: -300;\n\t\t--global-section-spacing-max: 300;\n\t\t--global-section-spacing-step: 10;\n\t\t--global-section-in-spacing-min: 0;\n\t\t--global-section-in-spacing-max: 300;\n\t\t--global-section-in-spacing-step: 10;\n\t\t--global-colors-black: #111111;\n\t\t--global-colors-white: #FFFFFF;\n\t}\n</style>\n"})}),"\n",(0,a.jsx)(e.p,{children:"You can use a global variable like any other CSS variable:"}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"color: var(--global-colors-white);\n"})}),"\n",(0,a.jsx)(e.h2,{id:"variables",children:"Variables"}),"\n",(0,a.jsx)(e.p,{children:"As we said in the beginning, all CSS variables are defined within the block/component manifest."}),"\n",(0,a.jsxs)(e.p,{children:["To output an attribute as a CSS variable, you need to set the ",(0,a.jsx)(e.code,{children:"variables"})," key in the block/component ",(0,a.jsx)(e.code,{children:"manifest"})," and define the variable markdown."]}),"\n",(0,a.jsx)(e.p,{children:"All css variables are prepared and ready to be used in the responsive manner."}),"\n",(0,a.jsx)(e.h2,{id:"default-type",children:"Default type"}),"\n",(0,a.jsxs)(e.p,{children:["Variable ",(0,a.jsx)(e.code,{children:"default"})," will output all variables from the list no matter what you have selected in the attribute. You can use unlimited variables."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographySize": {\n\t\t\t"type": "string",\n\t\t\t"default": "120-default"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographySize": [\n\t\t\t{\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "120px",\n\t\t\t\t\t"typography-line-height": "calc(var(--typography-size) * 1.2)"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--typography-size: 120px;\n--typography-line-height: 144px;\n"})}),"\n",(0,a.jsx)(e.h2,{id:"value-type",children:"Value type"}),"\n",(0,a.jsxs)(e.p,{children:["Variable ",(0,a.jsx)(e.code,{children:"value"})," will output all variables depending on attributes value. Everything else is the same as in the default type."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographySize": {\n\t\t\t"type": "string",\n\t\t\t"default": "120-default"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographySize": {\n\t\t\t"120-default": [\n\t\t\t\t{\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"typography-size": "120px",\n\t\t\t\t\t\t"typography-line-height": "calc(var(--typography-size) * 1.2)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--typography-size: 120px;\n--typography-line-height: 144px;\n"})}),"\n",(0,a.jsx)(e.h2,{id:"editor-variables",children:"Editor variables"}),"\n",(0,a.jsxs)(e.p,{children:["Editor variables behave just like regular ",(0,a.jsx)(e.code,{children:"variables"}),", except they are output only inside the Block Editor.\nThey are mostly used for overriding specific behaviour, e.g. showing a hidden element as half-transparent instead of hiding it completely."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentName": "wrapper",\n\t"title": "Wrapper",\n\t"componentClass": "wrapper",\n\t"attributes": {\n\t\t"wrapperHide": {\n\t\t\t"type": "boolean",\n\t\t\t"default": false\n\t\t}\n\t},\n\t"variables": {\n\t\t"wrapperHide": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t}\n\t},\n\t"variablesEditor": {\n\t\t"wrapperHide": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display-opacity": "0.5",\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--wrapper-display: none;\n--wrapper-display-opacity: 0.5;\n--wrapper-display: var(--wrapper-display-type, grid);\n"})}),"\n",(0,a.jsx)(e.h2,{id:"manual-variables",children:"Manual variables"}),"\n",(0,a.jsxs)(e.p,{children:["Custom CSS variables can be generated and output independently from all the attributes through the ",(0,a.jsx)(e.code,{children:"variablesCustom"})," key. Add it inside the manifest (top level) and add each variable as an array item.\nManual variables will be added at the end of the output."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"attributes": {\n\t\t// ...\n\t},\n\t"variablesCustom": [\n\t\t"--variable1: test1",\n\t\t"--variable2: test2",\n\t\t"--variable3: test3"\n\t]\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--variable1: test1;\n--variable2: test2;\n--variable3: test3;\n"})}),"\n",(0,a.jsx)(e.h2,{id:"manual-variables-inside-the-block-editor",children:"Manual variables inside the Block editor"}),"\n",(0,a.jsxs)(e.p,{children:["If you want to add manual variables that only apply inside the Block editor you can use the ",(0,a.jsx)(e.code,{children:"variablesCustomEditor"})," key. Everything works the same as described in the ",(0,a.jsx)(e.strong,{children:"Manual variables"})," section.\nIf you define both ",(0,a.jsx)(e.code,{children:"variablesCustomEditor"})," and ",(0,a.jsx)(e.code,{children:"variables"}),", both will be output in the editor, but only ",(0,a.jsx)(e.code,{children:"variables"})," will be output on the frontend."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"attributes": {\n\t\t// ...\n\t},\n\t"variablesCustomEditor": [\n\t\t"--variable1: test1",\n\t\t"--variable2: test2",\n\t\t"--variable3: test3"\n\t]\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--variable1: test1;\n--variable2: test2;\n--variable3: test3;\n"})}),"\n",(0,a.jsx)(e.h2,{id:"additional-options-and-examples",children:"Additional options and examples"}),"\n",(0,a.jsx)(e.h3,{id:"color",children:"Color"}),"\n",(0,a.jsx)(e.p,{children:"Here is an example how to output global variable as a css variable."}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographyColor": {\n\t\t\t"type": "string",\n\t\t\t"default": "white"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographyColor": [\n\t\t\t{\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-color": "var(--global-colors-white)"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--typography-color: var(--global-colors-white);\n"})}),"\n",(0,a.jsx)(e.h3,{id:"responsive",children:"Responsive"}),"\n",(0,a.jsx)(e.p,{children:"All variables are prepared to be responsive. If you set multiple keys in the manifest list that variable will be outputted in the correct media query. Breakpoints are taken from the global manifest and the order of the output breakpoints."}),"\n",(0,a.jsx)(e.admonition,{title:"Important",type:"caution",children:(0,a.jsx)(e.p,{children:"Global breakpoints must follow the convention from the smallest size to the largest."})}),"\n",(0,a.jsx)(e.p,{children:"If you don't specify breakpoint key, that item will not be wrapped in the media query."}),"\n",(0,a.jsx)(e.p,{children:"If you write breakpoint that isn't defined in the global manifest, that condition will be ignored."}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographySize": {\n\t\t\t"type": "string",\n\t\t\t"default": "120-default"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographySize": [\n\t\t\t{\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "30px"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t"breakpoint": "tablet",\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "80px"\n\t\t\t\t}\n\t\t\t}\n\t\t\t{\n\t\t\t\t"breakpoint": "large",\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "120px"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:".typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t--typography-size: 30px;\n}\n\n@media(min-width: 1279px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 80px;\n\t}\n}\n\n@media(min-width: 1920px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 120px;\n\t}\n}\n"})}),"\n",(0,a.jsx)(e.h3,{id:"responsive-inverse",children:"Responsive Inverse"}),"\n",(0,a.jsxs)(e.p,{children:["By default, we use mobile first approach but if you need desktop first you can use ",(0,a.jsx)(e.code,{children:"inverse: true"})," key."]}),"\n",(0,a.jsx)(e.admonition,{title:"Important",type:"caution",children:(0,a.jsx)(e.p,{children:"If you have multiple mobile/desktop-first breakpoints, output will sort them mobile-first and then desktop-first after that."})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographySize": {\n\t\t\t"type": "string",\n\t\t\t"default": "120-default"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographySize": [\n\t\t\t{\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "120px"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t"breakpoint": "tablet",\n\t\t\t\t"inverse": true,\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "80px"\n\t\t\t\t}\n\t\t\t}\n\t\t\t{\n\t\t\t\t"breakpoint": "mobile",\n\t\t\t\t"inverse": true,\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "320px"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:".typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t--typography-size: 120px;\n}\n\n@media(max-width: 1279px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 80px;\n\t}\n}\n\n@media(max-width: 479px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 30px;\n\t}\n}\n"})}),"\n",(0,a.jsx)(e.h3,{id:"attribute-value-replacement",children:"Attribute value replacement"}),"\n",(0,a.jsxs)(e.p,{children:["Attribute value replacement variable is used to return the attribute value where you want it in the css variables. To use it just put ",(0,a.jsx)(e.code,{children:"%value%"})," in you css variables."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographySize": {\n\t\t\t"type": "string",\n\t\t\t"default": "120"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographySize": [\n\t\t\t{\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "30px"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t"breakpoint": "tablet",\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "80px"\n\t\t\t\t}\n\t\t\t}\n\t\t\t{\n\t\t\t\t"breakpoint": "large",\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "%value%px"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:".typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t--typography-size: 30px;\n}\n\n@media(min-width: 1279px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 80px;\n\t}\n}\n\n@media(min-width: 1920px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 120px;\n\t}\n}\n"})}),"\n",(0,a.jsx)(e.h2,{id:"responsive-variables",children:"Responsive variables"}),"\n",(0,a.jsxs)(e.p,{children:["Responsive variables are used for eliminating unnecessary code duplication. For example, if you have 4 separate attributes used for setting a responsive variable where all the attributes have the same output (e.g. ",(0,a.jsx)(e.code,{children:"%value%"}),"), the variables can get cluttered rather quickly."]}),"\n",(0,a.jsxs)(e.p,{children:["In a top-level manifest key ",(0,a.jsx)(e.code,{children:"responsiveAttributes"}),", you can place a new key (e.g. ",(0,a.jsx)(e.code,{children:"wrapperHide"}),") that represents a common key for your responsive variables. Inside it, you can list your responsive variables (e.g. ",(0,a.jsx)(e.code,{children:"wrapperHideLarge"}),", ",(0,a.jsx)(e.code,{children:"wrapperHideDesktop"}),", ",(0,a.jsx)(e.code,{children:"wrapperHideTablet"}),", ",(0,a.jsx)(e.code,{children:"wrapperHideMobile"}),") as a key-value pair. The key represents a breakpoint name, and the value represents responsive variable(",(0,a.jsx)(e.code,{children:"breakpoint"}),": ",(0,a.jsx)(e.code,{children:"responsiveVariableName"}),"). Afterwards, you can add that common key inside the ",(0,a.jsx)(e.code,{children:"variables"})," (and/or ",(0,a.jsx)(e.code,{children:"variablesEditor"}),") key and configure the output template."]}),"\n",(0,a.jsxs)(e.p,{children:["Best practice is to have the attributes named consistently with your breakpoints - in the ",(0,a.jsx)(e.strong,{children:(0,a.jsx)(e.code,{children:"variableName``breakpointName"})})," format (see example below)."]}),"\n",(0,a.jsx)(e.admonition,{type:"tip",children:(0,a.jsxs)(e.p,{children:["If you need an extra variable, or are overriding some of the auto-generated variables (from the helper), the variables will be output after the responsive variables. (see ",(0,a.jsx)(e.strong,{children:"Example 2"}),")"]})}),"\n",(0,a.jsx)(e.admonition,{type:"caution",children:(0,a.jsxs)(e.p,{children:["Order of responsive attributes is important since generating variables relies on that order. Make sure to use the ",(0,a.jsx)(e.code,{children:"inverse"})," option properly."]})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Example 1"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentName": "wrapper",\n\t"title": "Wrapper",\n\t"componentClass": "wrapper",\n\t"attributes": {\n\t\t"wrapperHideLarge": {\n\t\t\t"type": "boolean",\n\t\t\t"default": false\n\t\t},\n\t\t"wrapperHideDesktop": {\n\t\t\t"type": "boolean"\n\t\t},\n\t\t"wrapperHideTablet": {\n\t\t\t"type": "boolean"\n\t\t}\n\t},\n\t"responsiveAttributes": {\n\t\t"wrapperHide": {\n\t\t\t"large": "wrapperHideLarge",\n\t\t\t"desktop": "wrapperHideDesktop",\n\t\t\t"tablet": "wrapperHideTablet"\n\t\t}\n\t},\n\t"variables": {\n\t\t"wrapperHide": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t\t"false": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Transformed:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentName": "wrapper",\n\t"title": "Wrapper",\n\t"componentClass": "wrapper",\n\t"attributes": {\n\t\t"wrapperHide": {\n\t\t\t"type": "boolean",\n\t\t\t"default": false\n\t\t}\n\t},\n\t"responsiveAttributes": {\n\t\t"wrapperHideLarge": {\n\t\t\t"type": "boolean",\n\t\t\t"default": false\n\t\t},\n\t\t"wrapperHideDesktop": {\n\t\t\t"type": "boolean"\n\t\t},\n\t\t"wrapperHideTablet": {\n\t\t\t"type": "boolean"\n\t\t}\n\t},\n\t"variables": {\n\t\t"wrapperHideLarge": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t\t"false": [\n\t\t\t\t{\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t"wrapperHideDesktop": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"breakpoint": "desktop",\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t\t"false": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"breakpoint": "desktop",\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t"wrapperHideTablet": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"breakpoint": "desktop",\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t\t"false": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"breakpoint": "desktop",\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:".wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t--wrapper-display: var(--wrapper-display-type, grid);\n}\n@media(max-width: 1920px) {\n\t.wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--wrapper-display: none;\n\t}\n}\n@media(max-width: 1279px) {\n\t.wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--wrapper-display: var(--wrapper-display-type, grid);\n\t}\n}\n\n"})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Example 2"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentName": "wrapper",\n\t"title": "Wrapper",\n\t"componentClass": "wrapper",\n\t"attributes": {\n\t\t"wrapperHideLarge": {\n\t\t\t"type": "boolean",\n\t\t\t"default": false\n\t\t},\n\t\t"wrapperHideDesktop": {\n\t\t\t"type": "boolean"\n\t\t},\n\t\t"wrapperHideTablet": {\n\t\t\t"type": "boolean"\n\t\t}\n\t},\n\t"responsiveAttributes": {\n\t\t"wrapperHide": {\n\t\t\t"large": "wrapperHideLarge",\n\t\t\t"desktop": "wrapperHideDesktop",\n\t\t\t"tablet": "wrapperHideTablet"\n\t\t}\n\t},\n\t"variables": {\n\t\t"wrapperHide": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t\t"false": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t"wrapperHideLarge": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "block",\n\t\t\t\t\t\t"wrapper-opacity": 0\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t}\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:".wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t--wrapper-display: none;\n\t--wrapper-display: block;\n\t--wrapper-opacity: 0;\n}\n"})})]})}function c(t={}){const{wrapper:e}={...(0,r.a)(),...t.components};return e?(0,a.jsx)(e,{...t,children:(0,a.jsx)(d,{...t})}):d(t)}},11151:(t,e,n)=>{n.d(e,{Z:()=>l,a:()=>i});var a=n(67294);const r={},s=a.createContext(r);function i(t){const e=a.useContext(s);return a.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(r):t.components||r:i(t.components),a.createElement(s.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/7cf19012.945032ff.js b/assets/js/7cf19012.945032ff.js deleted file mode 100644 index 1653fedd2..000000000 --- a/assets/js/7cf19012.945032ff.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[94908],{84664:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>i,default:()=>d,frontMatter:()=>o,metadata:()=>a,toc:()=>l});var s=t(85893),r=t(11151);const o={id:"rest-route-example",title:"Route Example"},i=void 0,a={id:"legacy/v4/guides/rest-route-example",title:"Route Example",description:"docs-source",source:"@site/docs/legacy/v4/guides/rest-routes-example.md",sourceDirName:"legacy/v4/guides",slug:"/legacy/v4/guides/rest-route-example",permalink:"/docs/legacy/v4/guides/rest-route-example",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"rest-route-example",title:"Route Example"},sidebar:"docs",previous:{title:"Field Example",permalink:"/docs/legacy/v4/guides/rest-field-example"},next:{title:"Post Type",permalink:"/docs/legacy/v4/guides/columns-post-type"}},c={},l=[{value:"Example:",id:"example",level:2},{value:"Test in action",id:"test-in-action",level:3}];function u(e){const n={a:"a",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",...(0,r.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/tree/master/src/rest",children:(0,s.jsx)(n.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(n.p,{children:"To implement the new Rest API Route, you would need to do a few things, but for this example, we will use this folder structure:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",children:"\n* src\n * class-main.php\n * rest\n * class-example-route.php\n\n"})}),"\n",(0,s.jsxs)(n.p,{children:["REST Route class is located in ",(0,s.jsx)(n.code,{children:"Eightshift Libs"}),". To extend it, use ",(0,s.jsx)(n.code,{children:"use Eightshift_Libs\\Rest\\Base_Route"})," class. This is an abstract class."]}),"\n",(0,s.jsx)(n.h2,{id:"example",children:"Example:"}),"\n",(0,s.jsx)(n.p,{children:"To create custom REST Route:"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["make a new class ",(0,s.jsx)(n.code,{children:"src/rest-routes/routes/class-example-route.php"}),"."]}),"\n",(0,s.jsx)(n.li,{children:"implement all the methods provided in the example."}),"\n",(0,s.jsxs)(n.li,{children:["register the class inside the ",(0,s.jsx)(n.code,{children:"class-main.php"})," file."]}),"\n",(0,s.jsx)(n.li,{children:"dump autoload."}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",children:"<?php\n/**\n * The class register route for example endpoint\n *\n * @package Eightshift_Boilerplate\\Rest\n */\n\nnamespace Eightshift_Boilerplate\\Rest;\n\nuse Eightshift_Libs\\Rest\\Base_Route;\nuse Eightshift_Libs\\Rest\\Callable_Route;\nuse Eightshift_Libs\\Core\\Config_Data;\n\n/**\n * Class Example_Route\n */\nclass Example_Route extends Base_Route implements Callable_Route {\n\n /**\n * Route slug\n *\n * @var string\n */\n const ENDPOINT_SLUG = '/custom-route-slug';\n\n /**\n * Instance variable of project config data.\n *\n * @var object\n */\n protected $config;\n\n /**\n * Create a new instance that injects classes\n *\n * @param Config_Data $config Inject config which holds data regarding project details.\n */\n public function __construct( Config_Data $config ) {\n $this->config = $config;\n }\n\n /**\n * Method that returns project Route namespace.\n *\n * @return string Project namespace for REST route.\n */\n protected function get_namespace() : string {\n return $this->config->get_project_routes_namespace();\n }\n\n /**\n * Method that returns project route version.\n *\n * @return string Route version as a string.\n */\n protected function get_version() : string {\n return $this->config->get_project_routes_version();\n }\n\n /**\n * Get the base url of the route\n *\n * @return string The base URL for route you are adding.\n */\n protected function get_route_name() : string {\n return static::ENDPOINT_SLUG;\n }\n\n /**\n * Get callback arguments array\n *\n * @return array Either an array of options for the endpoint, or an array of arrays for multiple methods.\n */\n protected function get_callback_arguments() : array {\n return [\n 'methods' => static::READABLE,\n 'callback' => [ $this, 'route_callback' ],\n ];\n }\n\n /**\n * Method that returns rest response\n *\n * @param \\WP_REST_Request $request Data got from enpoint url.\n *\n * @return WP_REST_Response|mixed If response generated an error, WP_Error, if response\n * is already an instance, WP_HTTP_Response, otherwise\n * returns a new WP_REST_Response instance.\n */\n public function route_callback( \\WP_REST_Request $request ) {\n\n return \\rest_ensure_response( 'output data' );\n }\n}\n\n"})}),"\n",(0,s.jsx)(n.h3,{id:"test-in-action",children:"Test in action"}),"\n",(0,s.jsx)(n.p,{children:"To test it in action for default boilerplate the link would be:"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"domain.ext/wp-json/eightshift-boilerplate/v1/custom-route-slug"}),"."]}),"\n",(0,s.jsxs)(n.p,{children:["This link will be different based on your project implementation inside ",(0,s.jsx)(n.code,{children:"src/class-config.php"}),"."]})]})}function d(e={}){const{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(u,{...e})}):u(e)}},11151:(e,n,t)=>{t.d(n,{Z:()=>a,a:()=>i});var s=t(67294);const r={},o=s.createContext(r);function i(e){const n=s.useContext(o);return s.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(r):e.components||r:i(e.components),s.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7cf19012.dc296d33.js b/assets/js/7cf19012.dc296d33.js new file mode 100644 index 000000000..b606cac12 --- /dev/null +++ b/assets/js/7cf19012.dc296d33.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[27920],{78363:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>i,default:()=>d,frontMatter:()=>o,metadata:()=>a,toc:()=>l});var s=t(17624),r=t(4552);const o={id:"rest-route-example",title:"Route Example"},i=void 0,a={id:"legacy/v4/guides/rest-route-example",title:"Route Example",description:"docs-source",source:"@site/docs/legacy/v4/guides/rest-routes-example.md",sourceDirName:"legacy/v4/guides",slug:"/legacy/v4/guides/rest-route-example",permalink:"/docs/legacy/v4/guides/rest-route-example",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"rest-route-example",title:"Route Example"},sidebar:"docs",previous:{title:"Field Example",permalink:"/docs/legacy/v4/guides/rest-field-example"},next:{title:"Post Type",permalink:"/docs/legacy/v4/guides/columns-post-type"}},c={},l=[{value:"Example:",id:"example",level:2},{value:"Test in action",id:"test-in-action",level:3}];function u(e){const n={a:"a",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",...(0,r.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/tree/master/src/rest",children:(0,s.jsx)(n.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(n.p,{children:"To implement the new Rest API Route, you would need to do a few things, but for this example, we will use this folder structure:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",children:"\n* src\n * class-main.php\n * rest\n * class-example-route.php\n\n"})}),"\n",(0,s.jsxs)(n.p,{children:["REST Route class is located in ",(0,s.jsx)(n.code,{children:"Eightshift Libs"}),". To extend it, use ",(0,s.jsx)(n.code,{children:"use Eightshift_Libs\\Rest\\Base_Route"})," class. This is an abstract class."]}),"\n",(0,s.jsx)(n.h2,{id:"example",children:"Example:"}),"\n",(0,s.jsx)(n.p,{children:"To create custom REST Route:"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["make a new class ",(0,s.jsx)(n.code,{children:"src/rest-routes/routes/class-example-route.php"}),"."]}),"\n",(0,s.jsx)(n.li,{children:"implement all the methods provided in the example."}),"\n",(0,s.jsxs)(n.li,{children:["register the class inside the ",(0,s.jsx)(n.code,{children:"class-main.php"})," file."]}),"\n",(0,s.jsx)(n.li,{children:"dump autoload."}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",children:"<?php\n/**\n * The class register route for example endpoint\n *\n * @package Eightshift_Boilerplate\\Rest\n */\n\nnamespace Eightshift_Boilerplate\\Rest;\n\nuse Eightshift_Libs\\Rest\\Base_Route;\nuse Eightshift_Libs\\Rest\\Callable_Route;\nuse Eightshift_Libs\\Core\\Config_Data;\n\n/**\n * Class Example_Route\n */\nclass Example_Route extends Base_Route implements Callable_Route {\n\n /**\n * Route slug\n *\n * @var string\n */\n const ENDPOINT_SLUG = '/custom-route-slug';\n\n /**\n * Instance variable of project config data.\n *\n * @var object\n */\n protected $config;\n\n /**\n * Create a new instance that injects classes\n *\n * @param Config_Data $config Inject config which holds data regarding project details.\n */\n public function __construct( Config_Data $config ) {\n $this->config = $config;\n }\n\n /**\n * Method that returns project Route namespace.\n *\n * @return string Project namespace for REST route.\n */\n protected function get_namespace() : string {\n return $this->config->get_project_routes_namespace();\n }\n\n /**\n * Method that returns project route version.\n *\n * @return string Route version as a string.\n */\n protected function get_version() : string {\n return $this->config->get_project_routes_version();\n }\n\n /**\n * Get the base url of the route\n *\n * @return string The base URL for route you are adding.\n */\n protected function get_route_name() : string {\n return static::ENDPOINT_SLUG;\n }\n\n /**\n * Get callback arguments array\n *\n * @return array Either an array of options for the endpoint, or an array of arrays for multiple methods.\n */\n protected function get_callback_arguments() : array {\n return [\n 'methods' => static::READABLE,\n 'callback' => [ $this, 'route_callback' ],\n ];\n }\n\n /**\n * Method that returns rest response\n *\n * @param \\WP_REST_Request $request Data got from enpoint url.\n *\n * @return WP_REST_Response|mixed If response generated an error, WP_Error, if response\n * is already an instance, WP_HTTP_Response, otherwise\n * returns a new WP_REST_Response instance.\n */\n public function route_callback( \\WP_REST_Request $request ) {\n\n return \\rest_ensure_response( 'output data' );\n }\n}\n\n"})}),"\n",(0,s.jsx)(n.h3,{id:"test-in-action",children:"Test in action"}),"\n",(0,s.jsx)(n.p,{children:"To test it in action for default boilerplate the link would be:"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"domain.ext/wp-json/eightshift-boilerplate/v1/custom-route-slug"}),"."]}),"\n",(0,s.jsxs)(n.p,{children:["This link will be different based on your project implementation inside ",(0,s.jsx)(n.code,{children:"src/class-config.php"}),"."]})]})}function d(e={}){const{wrapper:n}={...(0,r.M)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(u,{...e})}):u(e)}},4552:(e,n,t)=>{t.d(n,{I:()=>a,M:()=>i});var s=t(11504);const r={},o=s.createContext(r);function i(e){const n=s.useContext(o);return s.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(r):e.components||r:i(e.components),s.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7d063b53.9652dab0.js b/assets/js/7d063b53.9652dab0.js deleted file mode 100644 index cce543dac..000000000 --- a/assets/js/7d063b53.9652dab0.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[2143],{7666:(e,o,n)=>{n.r(o),n.d(o,{assets:()=>r,contentTitle:()=>a,default:()=>h,frontMatter:()=>i,metadata:()=>l,toc:()=>c});var t=n(85893),s=n(11151);const i={id:"blocks-faq",title:"Faq"},a=void 0,l={id:"basics/blocks-faq",title:"Faq",description:"docs-source",source:"@site/docs/basics/blocks-faq.md",sourceDirName:"basics",slug:"/basics/blocks-faq",permalink:"/docs/basics/blocks-faq",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-faq",title:"Faq"},sidebar:"docs",previous:{title:"Important",permalink:"/docs/basics/blocks-important"},next:{title:"Registration",permalink:"/docs/basics/blocks-registration"}},r={},c=[{value:"Why do all my blocks look the same and have the same name structure?",id:"why-do-all-my-blocks-look-the-same-and-have-the-same-name-structure",level:3},{value:"What is the difference between components and blocks?",id:"what-is-the-difference-between-components-and-blocks",level:3},{value:"Do I need to have Storybook stories in my block?",id:"do-i-need-to-have-storybook-stories-in-my-block",level:3},{value:"Do you support block variations, and how can I use them?",id:"do-you-support-block-variations-and-how-can-i-use-them",level:3},{value:"Do you support patterns, and how can I use them?",id:"do-you-support-patterns-and-how-can-i-use-them",level:3},{value:"What is a wrapper?",id:"what-is-a-wrapper",level:3},{value:"Do you support inner blocks?",id:"do-you-support-inner-blocks",level:3},{value:"Why do you use manifest.json in all blocks and components?",id:"why-do-you-use-manifestjson-in-all-blocks-and-components",level:3},{value:"Why do you use global manifest.json?",id:"why-do-you-use-global-manifestjson",level:3},{value:"If I want to create a new block/component, what do I do?",id:"if-i-want-to-create-a-new-blockcomponent-what-do-i-do",level:3},{value:"What if I add a block and it throws an error that it is missing some components, what do I do?",id:"what-if-i-add-a-block-and-it-throws-an-error-that-it-is-missing-some-components-what-do-i-do",level:3},{value:"How can I use your pre-made blocks?",id:"how-can-i-use-your-pre-made-blocks",level:3},{value:"Can I use block/component from Eightshift Frontend Libs directly?",id:"can-i-use-blockcomponent-from-eightshift-frontend-libs-directly",level:3},{value:"I want to change attributes on inner blocks. How do I do it?",id:"i-want-to-change-attributes-on-inner-blocks-how-do-i-do-it",level:3},{value:"Do I need to write JS and PHP implementation for all my blocks?",id:"do-i-need-to-write-js-and-php-implementation-for-all-my-blocks",level:3},{value:"How do I use components in blocks?",id:"how-do-i-use-components-in-blocks",level:3},{value:"How do I use multiple heading components in my block?",id:"how-do-i-use-multiple-heading-components-in-my-block",level:3},{value:"Where can I define my global styles?",id:"where-can-i-define-my-global-styles",level:3},{value:"Where can I define global typography for all my blocks/components?",id:"where-can-i-define-global-typography-for-all-my-blockscomponents",level:3},{value:"Can I make a component with WP_Query logic in it?",id:"can-i-make-a-component-with-wp_query-logic-in-it",level:3},{value:"Do I need to make components for all my blocks?",id:"do-i-need-to-make-components-for-all-my-blocks",level:3},{value:"Will this setup work with full site editing?",id:"will-this-setup-work-with-full-site-editing",level:3},{value:"Can I use core blocks with your setup?",id:"can-i-use-core-blocks-with-your-setup",level:3},{value:"How can I limit my blocklist?",id:"how-can-i-limit-my-blocklist",level:3},{value:"How to allow only one pattern category?",id:"how-to-allow-only-one-pattern-category",level:3},{value:"Can I have blocks in multiple categories?",id:"can-i-have-blocks-in-multiple-categories",level:3},{value:"How can I add a new block category?",id:"how-can-i-add-a-new-block-category",level:3},{value:"What if you don't yet support something from the native setup? What can I do?",id:"what-if-you-dont-yet-support-something-from-the-native-setup-what-can-i-do",level:3},{value:"Why is my blocks folder called <code>custom</code> and not <code>blocks</code>, for example?",id:"why-is-my-blocks-folder-called-custom-and-not-blocks-for-example",level:3},{value:"In the global manifest, you have a key called \u201ccustomBlocksName\u201d: \u201ceightshift-block\u201d. Can I change this to my-project-name-block?",id:"in-the-global-manifest-you-have-a-key-called-customblocksname-eightshift-block-can-i-change-this-to-my-project-name-block",level:3},{value:"Simple vs Compound blocks",id:"simple-vs-compound-blocks",level:3},{value:"Naming is hard",id:"naming-is-hard",level:3}];function d(e){const o={a:"a",admonition:"admonition",code:"code",em:"em",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(o.p,{children:(0,t.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,t.jsx)(o.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsxs)(o.p,{children:["Before we dive into blocks and see how everything is set, we should describe this setup's mindset.\nIf you've managed to set up your project by this point with the ",(0,t.jsx)(o.a,{href:"wp-cli",children:"WP-CLI"})," command ",(0,t.jsx)(o.code,{children:"init theme"}),", you might have a few questions. We will try to answer all those questions here."]}),"\n",(0,t.jsx)(o.h3,{id:"why-do-all-my-blocks-look-the-same-and-have-the-same-name-structure",children:"Why do all my blocks look the same and have the same name structure?"}),"\n",(0,t.jsxs)(o.p,{children:["This is so because we defined the name structure for all our blocks and components to load everything automatically. For more information, please check the ",(0,t.jsx)(o.a,{href:"block-structure",children:"block structure"})," and ",(0,t.jsx)(o.a,{href:"blocks-component-structure",children:"component structure"})," chapters."]}),"\n",(0,t.jsx)(o.h3,{id:"what-is-the-difference-between-components-and-blocks",children:"What is the difference between components and blocks?"}),"\n",(0,t.jsxs)(o.p,{children:["The main difference is that blocks are available in the block editor's block picker, and components are not. With that being said, blocks are registered using the ",(0,t.jsx)(o.code,{children:"registerBlockType"})," method, and components are just here for you to bundle some functionality in one place and reuse it wherever you need."]}),"\n",(0,t.jsxs)(o.p,{children:["For more information about blocks, read the ",(0,t.jsx)(o.a,{href:"block-structure",children:"block structure"})," chapter. To find out more about components, read the ",(0,t.jsx)(o.a,{href:"blocks-component-structure",children:"component structure"})," chapter. You can also read our blog post that explains the ",(0,t.jsx)(o.a,{href:"/blog/components-and-blocks/",children:"difference between components and blocks"})," with some examples."]}),"\n",(0,t.jsx)(o.h3,{id:"do-i-need-to-have-storybook-stories-in-my-block",children:"Do I need to have Storybook stories in my block?"}),"\n",(0,t.jsx)(o.p,{children:"No, you don't. But we provided you with the ability to use the Storybook for all of your blocks and components. Why not use it? It will speed up your development time. Trust us. \ud83d\ude42"}),"\n",(0,t.jsxs)(o.p,{children:["For more details on how to write stories, check out ",(0,t.jsx)(o.a,{href:"blocks-storybook",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"do-you-support-block-variations-and-how-can-i-use-them",children:"Do you support block variations, and how can I use them?"}),"\n",(0,t.jsxs)(o.p,{children:["Yes, we do. All block variations are located in the ",(0,t.jsx)(o.code,{children:"src/Blocks/variations"})," folder. For more information about this, please check the ",(0,t.jsx)(o.a,{href:"blocks-variations",children:"variations"})," chapter and check out our ",(0,t.jsx)(o.a,{href:"/blog/block-variations/",children:"blog post"})," where we explain step-by-step how to register a new block variation."]}),"\n",(0,t.jsx)(o.h3,{id:"do-you-support-patterns-and-how-can-i-use-them",children:"Do you support patterns, and how can I use them?"}),"\n",(0,t.jsxs)(o.p,{children:["Yes, we do. For more information, please read the ",(0,t.jsx)(o.a,{href:"blocks-patterns",children:"patterns"})," chapter. We also have a blog post that describes ",(0,t.jsx)(o.a,{href:"/blog/block-patterns/",children:"Block Patterns"})," in more detail."]}),"\n",(0,t.jsx)(o.h3,{id:"what-is-a-wrapper",children:"What is a wrapper?"}),"\n",(0,t.jsxs)(o.p,{children:["Read about wrappers in ",(0,t.jsx)(o.a,{href:"blocks-wrapper",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"do-you-support-inner-blocks",children:"Do you support inner blocks?"}),"\n",(0,t.jsxs)(o.p,{children:["Yes, we support everything that the core natively supports. You can find more information on how to use them in ",(0,t.jsx)(o.a,{href:"block-manifest",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"why-do-you-use-manifestjson-in-all-blocks-and-components",children:"Why do you use manifest.json in all blocks and components?"}),"\n",(0,t.jsxs)(o.p,{children:["So that we can provide content, attributes, options, and much more across multiple different files in multiple contexts (in both PHP and JS). You can read all about it in ",(0,t.jsx)(o.a,{href:"block-manifest",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"why-do-you-use-global-manifestjson",children:"Why do you use global manifest.json?"}),"\n",(0,t.jsxs)(o.p,{children:["The answer is the same as the previous one. In the global ",(0,t.jsx)(o.code,{children:"manifest.json"}),", we have options that are shared across all blocks and components. Read more about it in ",(0,t.jsx)(o.a,{href:"blocks-global-manifest",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"if-i-want-to-create-a-new-blockcomponent-what-do-i-do",children:"If I want to create a new block/component, what do I do?"}),"\n",(0,t.jsx)(o.p,{children:"In your terminal, write"}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-shell",children:"wp boilerplate blocks use-block --name=example\n"})}),"\n",(0,t.jsx)(o.p,{children:"and style that block however you seem fit."}),"\n",(0,t.jsx)(o.h3,{id:"what-if-i-add-a-block-and-it-throws-an-error-that-it-is-missing-some-components-what-do-i-do",children:"What if I add a block and it throws an error that it is missing some components, what do I do?"}),"\n",(0,t.jsxs)(o.p,{children:["All blocks/components have some kind of documentation and in that documentation we have a list of dependencies each block/component needs to have in the project in order for it to work. For example you can look in the ",(0,t.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/custom/heading/docs/readme.mdx",children:"heading block"}),", as you can see the heading blocks depends on the heading component, so if you install a heading block before heading component it will resolve in to an error. So please be sure that your block/component installation follows the correct order."]}),"\n",(0,t.jsx)(o.h3,{id:"how-can-i-use-your-pre-made-blocks",children:"How can I use your pre-made blocks?"}),"\n",(0,t.jsx)(o.p,{children:"You can check all available blocks/components using these two commands"}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-shell",children:"wp boilerplate blocks use-block --help\n\nwp boilerplate blocks use-component --help\n"})}),"\n",(0,t.jsx)(o.h3,{id:"can-i-use-blockcomponent-from-eightshift-frontend-libs-directly",children:"Can I use block/component from Eightshift Frontend Libs directly?"}),"\n",(0,t.jsxs)(o.p,{children:["It depends. You can't use things from the blocks folder like ",(0,t.jsx)(o.code,{children:"components"}),", ",(0,t.jsx)(o.code,{children:"custom"}),", ",(0,t.jsx)(o.code,{children:"variations"}),", ",(0,t.jsx)(o.code,{children:"wrapper"}),", etc. They are meant to be copied to your project, styled, and changed depending on your project's needs."]}),"\n",(0,t.jsxs)(o.p,{children:["You can move things from a block to your project using the commands described ",(0,t.jsx)(o.a,{href:"#how-can-i-use-your-pre-made-blocks",children:"above"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"i-want-to-change-attributes-on-inner-blocks-how-do-i-do-it",children:"I want to change attributes on inner blocks. How do I do it?"}),"\n",(0,t.jsxs)(o.p,{children:["We described how attributes are used and combined in ",(0,t.jsx)(o.a,{href:"blocks-attributes",children:"this chapter"})," and ",(0,t.jsx)(o.a,{href:"blocks-component-in-block",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"do-i-need-to-write-js-and-php-implementation-for-all-my-blocks",children:"Do I need to write JS and PHP implementation for all my blocks?"}),"\n",(0,t.jsx)(o.p,{children:"For a block, you must provide the JS and PHP implementations because it won't work without them."}),"\n",(0,t.jsx)(o.p,{children:"For components, if you are not using the JS part, you don't need to write one, but we recommend you do so because the JS part is used in Storybook."}),"\n",(0,t.jsxs)(o.p,{children:["If you have a more advanced block and don't benefit from writing the JS implementation of the block, you can always use the ",(0,t.jsx)(o.a,{href:"https://developer.wordpress.org/block-editor/packages/packages-server-side-render/",children:"ServerSideRender component"})," form the core. If you have no inputs in the editor from the admin, there is no need to write JS implementation of the block. Just use ",(0,t.jsx)(o.code,{children:"ServerSideRender"})," component in that case."]}),"\n",(0,t.jsx)(o.h3,{id:"how-do-i-use-components-in-blocks",children:"How do I use components in blocks?"}),"\n",(0,t.jsxs)(o.p,{children:["Please check out ",(0,t.jsx)(o.a,{href:"blocks-component-in-block",children:"this chapter"})," for more information."]}),"\n",(0,t.jsx)(o.h3,{id:"how-do-i-use-multiple-heading-components-in-my-block",children:"How do I use multiple heading components in my block?"}),"\n",(0,t.jsxs)(o.p,{children:["You can follow the instructions given in ",(0,t.jsx)(o.a,{href:"blocks-component-in-block",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"where-can-i-define-my-global-styles",children:"Where can I define my global styles?"}),"\n",(0,t.jsxs)(o.p,{children:["You can follow the instructions given in ",(0,t.jsx)(o.a,{href:"writing-styles",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"where-can-i-define-global-typography-for-all-my-blockscomponents",children:"Where can I define global typography for all my blocks/components?"}),"\n",(0,t.jsxs)(o.p,{children:["You can follow the instructions given in ",(0,t.jsx)(o.a,{href:"writing-styles",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"can-i-make-a-component-with-wp_query-logic-in-it",children:"Can I make a component with WP_Query logic in it?"}),"\n",(0,t.jsx)(o.p,{children:"Yes, you can, but think of the component as a dumb and simple piece of code that should not hold any business logic. A component should only be used as a view. If you need to write WP_Query logic, you can do that in a block and just pass the data to your component as props."}),"\n",(0,t.jsx)(o.h3,{id:"do-i-need-to-make-components-for-all-my-blocks",children:"Do I need to make components for all my blocks?"}),"\n",(0,t.jsx)(o.p,{children:"No, it might look like that from the examples provided, but that is not the case. You should create components depending on your needs."}),"\n",(0,t.jsx)(o.p,{children:"Ask yourself, will I reuse this functionality anywhere else?"}),"\n",(0,t.jsxs)(o.ul,{children:["\n",(0,t.jsxs)(o.li,{children:["If the answer is ",(0,t.jsx)(o.strong,{children:"yes"}),", create a component."]}),"\n",(0,t.jsxs)(o.li,{children:["If the answer is ",(0,t.jsx)(o.strong,{children:"no"}),", don't create a component."]}),"\n"]}),"\n",(0,t.jsx)(o.p,{children:"Our recommendation is not to burden yourself with components from the beginning. Start creating blocks and, if you find yourself in need of code that you already wrote, just extract it in a component."}),"\n",(0,t.jsx)(o.h3,{id:"will-this-setup-work-with-full-site-editing",children:"Will this setup work with full site editing?"}),"\n",(0,t.jsx)(o.p,{children:"Yes, it will. We are constantly upgrading this documentation and our code to say that it will work with full site editing. This boilerplate was made for the Infinum/Eightshift WordPress team, so we are constantly using it in our projects."}),"\n",(0,t.jsx)(o.h3,{id:"can-i-use-core-blocks-with-your-setup",children:"Can I use core blocks with your setup?"}),"\n",(0,t.jsx)(o.p,{children:"Yes, you can. We are working on the ability to override core blocks in our smart way. Until we make this work, you can use everything that is already defined in the core documentation."}),"\n",(0,t.jsx)(o.p,{children:"We avoid using core blocks because they add different class naming and additional markup that makes it harder to style things."}),"\n",(0,t.jsx)(o.p,{children:"Also, they are prone to breaking changes every several months, so we prefer to write our own implementation."}),"\n",(0,t.jsx)(o.h3,{id:"how-can-i-limit-my-blocklist",children:"How can I limit my blocklist?"}),"\n",(0,t.jsxs)(o.p,{children:["Easy. We have a method you can extend that limits your project's block to the only block from your project. You should put this filter in your project's ",(0,t.jsx)(o.code,{children:"src/Blocks/Blocks.php"})," file under the ",(0,t.jsx)(o.code,{children:"register"})," method:"]}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.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,t.jsx)(o.admonition,{title:"Important",type:"caution",children:(0,t.jsx)(o.p,{children:"For WordPress versions > 5 and < 5.8 you would need to use the example below."})}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-php",children:" // Limits the usage of only custom project blocks - legacy.\n add_filter('allowed_block_types', [ $this, 'getAllBlocksListOld' ], 10, 2);\n"})}),"\n",(0,t.jsx)(o.h3,{id:"how-to-allow-only-one-pattern-category",children:"How to allow only one pattern category?"}),"\n",(0,t.jsxs)(o.p,{children:["In the blog post about Block Patterns we covered how to ",(0,t.jsx)(o.a,{href:"/blog/block-patterns#managing-pattern-categories",children:"manage pattern categories"}),". That section should give you an idea how to remove core categories and how to register one or more custom pattern categories."]}),"\n",(0,t.jsx)(o.h3,{id:"can-i-have-blocks-in-multiple-categories",children:"Can I have blocks in multiple categories?"}),"\n",(0,t.jsxs)(o.p,{children:["In your block manifest, you can define in what category your block will appear. You can create a new category for your project or use our category. We created our category called ",(0,t.jsx)(o.code,{children:"eightshift"})," using this filter:"]}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-php",children:" // Create a new custom category for custom blocks.\n add_filter('block_categories', [ $this, 'getCustomCategory' ]);\n"})}),"\n",(0,t.jsx)(o.h3,{id:"how-can-i-add-a-new-block-category",children:"How can I add a new block category?"}),"\n",(0,t.jsx)(o.p,{children:"You can provide your implementation, or you can extend our method for registering a custom category. Here is how you do it:"}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-php",children:"public function register(): void\n{\n // Create a new custom category for custom blocks.\n add_filter('block_categories', [ $this, 'getCustomCategory' ]);\n}\n\n /**\n * Create a custom category to assign all custom blocks\n *\n * This category will be shown on all blocks list in the \"Add Block\" button.\n *\n * @param array[] $categories Array of all block categories.\n * @param \\WP_Post $post Post being loaded.\n *\n * @return array[] Array of block categories.\n */\npublic function getCustomCategory(array $categories, \\WP_Post $post): array\n{\n return array_merge(\n parent::getCustomCategory($categories, $post),\n [\n [\n 'slug' => 'custom-category-name',\n 'title' => \\esc_html__('Custom Category', 'project-text-domain'),\n 'icon' => 'admin-settings',\n ],\n ]\n );\n}\n"})}),"\n",(0,t.jsx)(o.h3,{id:"what-if-you-dont-yet-support-something-from-the-native-setup-what-can-i-do",children:"What if you don't yet support something from the native setup? What can I do?"}),"\n",(0,t.jsxs)(o.p,{children:["As we described in ",(0,t.jsx)(o.a,{href:"blocks",children:"this chapter"}),", if we don't support something natively from the core or you can't find it in this documentation, you can always use it in the normal native way from the ",(0,t.jsx)(o.a,{href:"https://developer.wordpress.org/block-editor/tutorials/block-tutorial/",children:"WordPress documentation"}),". Also, if you think we are missing something, please open a ",(0,t.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/pulls",children:"pull request"})," or an ",(0,t.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/issues",children:"issue"})," on our GitHub repository."]}),"\n",(0,t.jsxs)(o.h3,{id:"why-is-my-blocks-folder-called-custom-and-not-blocks-for-example",children:["Why is my blocks folder called ",(0,t.jsx)(o.code,{children:"custom"})," and not ",(0,t.jsx)(o.code,{children:"blocks"}),", for example?"]}),"\n",(0,t.jsx)(o.p,{children:"The idea was to put all your custom blocks inside the custom folder and all core block in the core folder. This boilerplate is not designed only for your custom block, but you can use it as an ultimate block setup."}),"\n",(0,t.jsxs)(o.p,{children:["And folder structure ",(0,t.jsx)(o.code,{children:"src/Blocks/blocks"})," is kind of weird."]}),"\n",(0,t.jsx)(o.h3,{id:"in-the-global-manifest-you-have-a-key-called-customblocksname-eightshift-block-can-i-change-this-to-my-project-name-block",children:"In the global manifest, you have a key called \u201ccustomBlocksName\u201d: \u201ceightshift-block\u201d. Can I change this to my-project-name-block?"}),"\n",(0,t.jsx)(o.p,{children:"You can, but you shouldn't. We use this key to provide the CSS selectors on all our custom blocks in the block editor. Additional styles are added to this selector for the wrapper to work on full width and remove some of the native block editor styles."}),"\n",(0,t.jsx)(o.p,{children:"So don't remove or change this \ud83d\ude05."}),"\n",(0,t.jsx)(o.h3,{id:"simple-vs-compound-blocks",children:"Simple vs Compound blocks"}),"\n",(0,t.jsx)(o.p,{children:"In a nutshell, there is no difference between blocks. The WordPress core block is a block, but we like to make a distinction between what is simple and what is a compound block."}),"\n",(0,t.jsxs)(o.p,{children:[(0,t.jsx)(o.strong,{children:"Simple block"})," is a block that is used just as is and provides a small isolated functionality. For example: heading, paragraph, button, etc."]}),"\n",(0,t.jsxs)(o.p,{children:[(0,t.jsx)(o.strong,{children:"Compound block"})," is a block built from multiple components. For example: card, featured posts, etc"]}),"\n",(0,t.jsx)(o.h3,{id:"naming-is-hard",children:"Naming is hard"}),"\n",(0,t.jsx)(o.p,{children:(0,t.jsx)(o.em,{children:"There are only two hard things in Computer Science: cache invalidation and naming things. - Phil Karlton"})}),"\n",(0,t.jsx)(o.p,{children:"Yes, naming is hard, and no matter how long your development experience is you will always struggle with names for your components, block, files, variables, functions, etc."}),"\n",(0,t.jsx)(o.p,{children:"Here are some of our recommendations to ease your pain:"}),"\n",(0,t.jsxs)(o.ul,{children:["\n",(0,t.jsxs)(o.li,{children:["Always try to name your block based on ",(0,t.jsx)(o.strong,{children:"what they are"}),", rather than ",(0,t.jsx)(o.strong,{children:"what they will be used for"}),". For example, if you have a component card for custom post-type ",(0,t.jsx)(o.code,{children:"books"}),", you should never call this component ",(0,t.jsx)(o.code,{children:"card-book"}),". Instead, use a more generic name like ",(0,t.jsx)(o.code,{children:"card-product"}),"."]}),"\n",(0,t.jsx)(o.li,{children:"Make your names as generic as possible for better reusability, but specific enough to fully understand what the block/component is used for."}),"\n",(0,t.jsx)(o.li,{children:"Always think about the future. How can this feature be used in some other way?"}),"\n",(0,t.jsxs)(o.li,{children:['When naming your attributes ask yourself: "is this attribute going to be used in any other way?". For example, you have an attribute for adding font-weight: bold to your text. You can create an attribute called font-weight and set it as a ',(0,t.jsx)(o.code,{children:"boolean"})," type and that will be ok if you have only one font-weight. A better way would be to put it as a string and provide a ",(0,t.jsx)(o.code,{children:"SelectControl"})," component if there is any possibility that in the future you will have additional font-weight."]}),"\n",(0,t.jsxs)(o.li,{children:["Name booleans positively as a question. Example: ",(0,t.jsx)(o.code,{children:"isValid"}),", ",(0,t.jsx)(o.code,{children:"isLoading"}),", ",(0,t.jsx)(o.code,{children:"isComplete"}),"."]}),"\n",(0,t.jsx)(o.li,{children:"Don\u2019t hesitate to use longer names."}),"\n",(0,t.jsx)(o.li,{children:"Use singular names."}),"\n",(0,t.jsx)(o.li,{children:"The variables or functions should be named by their work: Name of variables/functions should always try to express their meaning without diving into the code base try to pack meaningful information inside the name."}),"\n",(0,t.jsx)(o.li,{children:"Naming should be simple enough to be understood by everyone: Using complex words to describe a simple thing only creates hassle while reading the code. Also, use simple English."}),"\n",(0,t.jsx)(o.li,{children:"You might not be the only person working on your particular project in the future. Think about the next person. Your naming will provide an insight into the process and project."}),"\n",(0,t.jsxs)(o.li,{children:[(0,t.jsx)(o.strong,{children:"BE CONSISTENT"}),"."]}),"\n"]})]})}function h(e={}){const{wrapper:o}={...(0,s.a)(),...e.components};return o?(0,t.jsx)(o,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},11151:(e,o,n)=>{n.d(o,{Z:()=>l,a:()=>a});var t=n(67294);const s={},i=t.createContext(s);function a(e){const o=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function l(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),t.createElement(i.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7d063b53.c3679307.js b/assets/js/7d063b53.c3679307.js new file mode 100644 index 000000000..1f231fa21 --- /dev/null +++ b/assets/js/7d063b53.c3679307.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[44600],{58100:(e,o,n)=>{n.r(o),n.d(o,{assets:()=>r,contentTitle:()=>a,default:()=>h,frontMatter:()=>i,metadata:()=>l,toc:()=>c});var t=n(17624),s=n(4552);const i={id:"blocks-faq",title:"Faq"},a=void 0,l={id:"basics/blocks-faq",title:"Faq",description:"docs-source",source:"@site/docs/basics/blocks-faq.md",sourceDirName:"basics",slug:"/basics/blocks-faq",permalink:"/docs/basics/blocks-faq",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-faq",title:"Faq"},sidebar:"docs",previous:{title:"Important",permalink:"/docs/basics/blocks-important"},next:{title:"Registration",permalink:"/docs/basics/blocks-registration"}},r={},c=[{value:"Why do all my blocks look the same and have the same name structure?",id:"why-do-all-my-blocks-look-the-same-and-have-the-same-name-structure",level:3},{value:"What is the difference between components and blocks?",id:"what-is-the-difference-between-components-and-blocks",level:3},{value:"Do I need to have Storybook stories in my block?",id:"do-i-need-to-have-storybook-stories-in-my-block",level:3},{value:"Do you support block variations, and how can I use them?",id:"do-you-support-block-variations-and-how-can-i-use-them",level:3},{value:"Do you support patterns, and how can I use them?",id:"do-you-support-patterns-and-how-can-i-use-them",level:3},{value:"What is a wrapper?",id:"what-is-a-wrapper",level:3},{value:"Do you support inner blocks?",id:"do-you-support-inner-blocks",level:3},{value:"Why do you use manifest.json in all blocks and components?",id:"why-do-you-use-manifestjson-in-all-blocks-and-components",level:3},{value:"Why do you use global manifest.json?",id:"why-do-you-use-global-manifestjson",level:3},{value:"If I want to create a new block/component, what do I do?",id:"if-i-want-to-create-a-new-blockcomponent-what-do-i-do",level:3},{value:"What if I add a block and it throws an error that it is missing some components, what do I do?",id:"what-if-i-add-a-block-and-it-throws-an-error-that-it-is-missing-some-components-what-do-i-do",level:3},{value:"How can I use your pre-made blocks?",id:"how-can-i-use-your-pre-made-blocks",level:3},{value:"Can I use block/component from Eightshift Frontend Libs directly?",id:"can-i-use-blockcomponent-from-eightshift-frontend-libs-directly",level:3},{value:"I want to change attributes on inner blocks. How do I do it?",id:"i-want-to-change-attributes-on-inner-blocks-how-do-i-do-it",level:3},{value:"Do I need to write JS and PHP implementation for all my blocks?",id:"do-i-need-to-write-js-and-php-implementation-for-all-my-blocks",level:3},{value:"How do I use components in blocks?",id:"how-do-i-use-components-in-blocks",level:3},{value:"How do I use multiple heading components in my block?",id:"how-do-i-use-multiple-heading-components-in-my-block",level:3},{value:"Where can I define my global styles?",id:"where-can-i-define-my-global-styles",level:3},{value:"Where can I define global typography for all my blocks/components?",id:"where-can-i-define-global-typography-for-all-my-blockscomponents",level:3},{value:"Can I make a component with WP_Query logic in it?",id:"can-i-make-a-component-with-wp_query-logic-in-it",level:3},{value:"Do I need to make components for all my blocks?",id:"do-i-need-to-make-components-for-all-my-blocks",level:3},{value:"Will this setup work with full site editing?",id:"will-this-setup-work-with-full-site-editing",level:3},{value:"Can I use core blocks with your setup?",id:"can-i-use-core-blocks-with-your-setup",level:3},{value:"How can I limit my blocklist?",id:"how-can-i-limit-my-blocklist",level:3},{value:"How to allow only one pattern category?",id:"how-to-allow-only-one-pattern-category",level:3},{value:"Can I have blocks in multiple categories?",id:"can-i-have-blocks-in-multiple-categories",level:3},{value:"How can I add a new block category?",id:"how-can-i-add-a-new-block-category",level:3},{value:"What if you don't yet support something from the native setup? What can I do?",id:"what-if-you-dont-yet-support-something-from-the-native-setup-what-can-i-do",level:3},{value:"Why is my blocks folder called <code>custom</code> and not <code>blocks</code>, for example?",id:"why-is-my-blocks-folder-called-custom-and-not-blocks-for-example",level:3},{value:"In the global manifest, you have a key called \u201ccustomBlocksName\u201d: \u201ceightshift-block\u201d. Can I change this to my-project-name-block?",id:"in-the-global-manifest-you-have-a-key-called-customblocksname-eightshift-block-can-i-change-this-to-my-project-name-block",level:3},{value:"Simple vs Compound blocks",id:"simple-vs-compound-blocks",level:3},{value:"Naming is hard",id:"naming-is-hard",level:3}];function d(e){const o={a:"a",admonition:"admonition",code:"code",em:"em",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(o.p,{children:(0,t.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,t.jsx)(o.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsxs)(o.p,{children:["Before we dive into blocks and see how everything is set, we should describe this setup's mindset.\nIf you've managed to set up your project by this point with the ",(0,t.jsx)(o.a,{href:"wp-cli",children:"WP-CLI"})," command ",(0,t.jsx)(o.code,{children:"init theme"}),", you might have a few questions. We will try to answer all those questions here."]}),"\n",(0,t.jsx)(o.h3,{id:"why-do-all-my-blocks-look-the-same-and-have-the-same-name-structure",children:"Why do all my blocks look the same and have the same name structure?"}),"\n",(0,t.jsxs)(o.p,{children:["This is so because we defined the name structure for all our blocks and components to load everything automatically. For more information, please check the ",(0,t.jsx)(o.a,{href:"block-structure",children:"block structure"})," and ",(0,t.jsx)(o.a,{href:"blocks-component-structure",children:"component structure"})," chapters."]}),"\n",(0,t.jsx)(o.h3,{id:"what-is-the-difference-between-components-and-blocks",children:"What is the difference between components and blocks?"}),"\n",(0,t.jsxs)(o.p,{children:["The main difference is that blocks are available in the block editor's block picker, and components are not. With that being said, blocks are registered using the ",(0,t.jsx)(o.code,{children:"registerBlockType"})," method, and components are just here for you to bundle some functionality in one place and reuse it wherever you need."]}),"\n",(0,t.jsxs)(o.p,{children:["For more information about blocks, read the ",(0,t.jsx)(o.a,{href:"block-structure",children:"block structure"})," chapter. To find out more about components, read the ",(0,t.jsx)(o.a,{href:"blocks-component-structure",children:"component structure"})," chapter. You can also read our blog post that explains the ",(0,t.jsx)(o.a,{href:"/blog/components-and-blocks/",children:"difference between components and blocks"})," with some examples."]}),"\n",(0,t.jsx)(o.h3,{id:"do-i-need-to-have-storybook-stories-in-my-block",children:"Do I need to have Storybook stories in my block?"}),"\n",(0,t.jsx)(o.p,{children:"No, you don't. But we provided you with the ability to use the Storybook for all of your blocks and components. Why not use it? It will speed up your development time. Trust us. \ud83d\ude42"}),"\n",(0,t.jsxs)(o.p,{children:["For more details on how to write stories, check out ",(0,t.jsx)(o.a,{href:"blocks-storybook",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"do-you-support-block-variations-and-how-can-i-use-them",children:"Do you support block variations, and how can I use them?"}),"\n",(0,t.jsxs)(o.p,{children:["Yes, we do. All block variations are located in the ",(0,t.jsx)(o.code,{children:"src/Blocks/variations"})," folder. For more information about this, please check the ",(0,t.jsx)(o.a,{href:"blocks-variations",children:"variations"})," chapter and check out our ",(0,t.jsx)(o.a,{href:"/blog/block-variations/",children:"blog post"})," where we explain step-by-step how to register a new block variation."]}),"\n",(0,t.jsx)(o.h3,{id:"do-you-support-patterns-and-how-can-i-use-them",children:"Do you support patterns, and how can I use them?"}),"\n",(0,t.jsxs)(o.p,{children:["Yes, we do. For more information, please read the ",(0,t.jsx)(o.a,{href:"blocks-patterns",children:"patterns"})," chapter. We also have a blog post that describes ",(0,t.jsx)(o.a,{href:"/blog/block-patterns/",children:"Block Patterns"})," in more detail."]}),"\n",(0,t.jsx)(o.h3,{id:"what-is-a-wrapper",children:"What is a wrapper?"}),"\n",(0,t.jsxs)(o.p,{children:["Read about wrappers in ",(0,t.jsx)(o.a,{href:"blocks-wrapper",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"do-you-support-inner-blocks",children:"Do you support inner blocks?"}),"\n",(0,t.jsxs)(o.p,{children:["Yes, we support everything that the core natively supports. You can find more information on how to use them in ",(0,t.jsx)(o.a,{href:"block-manifest",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"why-do-you-use-manifestjson-in-all-blocks-and-components",children:"Why do you use manifest.json in all blocks and components?"}),"\n",(0,t.jsxs)(o.p,{children:["So that we can provide content, attributes, options, and much more across multiple different files in multiple contexts (in both PHP and JS). You can read all about it in ",(0,t.jsx)(o.a,{href:"block-manifest",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"why-do-you-use-global-manifestjson",children:"Why do you use global manifest.json?"}),"\n",(0,t.jsxs)(o.p,{children:["The answer is the same as the previous one. In the global ",(0,t.jsx)(o.code,{children:"manifest.json"}),", we have options that are shared across all blocks and components. Read more about it in ",(0,t.jsx)(o.a,{href:"blocks-global-manifest",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"if-i-want-to-create-a-new-blockcomponent-what-do-i-do",children:"If I want to create a new block/component, what do I do?"}),"\n",(0,t.jsx)(o.p,{children:"In your terminal, write"}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-shell",children:"wp boilerplate blocks use-block --name=example\n"})}),"\n",(0,t.jsx)(o.p,{children:"and style that block however you seem fit."}),"\n",(0,t.jsx)(o.h3,{id:"what-if-i-add-a-block-and-it-throws-an-error-that-it-is-missing-some-components-what-do-i-do",children:"What if I add a block and it throws an error that it is missing some components, what do I do?"}),"\n",(0,t.jsxs)(o.p,{children:["All blocks/components have some kind of documentation and in that documentation we have a list of dependencies each block/component needs to have in the project in order for it to work. For example you can look in the ",(0,t.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/custom/heading/docs/readme.mdx",children:"heading block"}),", as you can see the heading blocks depends on the heading component, so if you install a heading block before heading component it will resolve in to an error. So please be sure that your block/component installation follows the correct order."]}),"\n",(0,t.jsx)(o.h3,{id:"how-can-i-use-your-pre-made-blocks",children:"How can I use your pre-made blocks?"}),"\n",(0,t.jsx)(o.p,{children:"You can check all available blocks/components using these two commands"}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-shell",children:"wp boilerplate blocks use-block --help\n\nwp boilerplate blocks use-component --help\n"})}),"\n",(0,t.jsx)(o.h3,{id:"can-i-use-blockcomponent-from-eightshift-frontend-libs-directly",children:"Can I use block/component from Eightshift Frontend Libs directly?"}),"\n",(0,t.jsxs)(o.p,{children:["It depends. You can't use things from the blocks folder like ",(0,t.jsx)(o.code,{children:"components"}),", ",(0,t.jsx)(o.code,{children:"custom"}),", ",(0,t.jsx)(o.code,{children:"variations"}),", ",(0,t.jsx)(o.code,{children:"wrapper"}),", etc. They are meant to be copied to your project, styled, and changed depending on your project's needs."]}),"\n",(0,t.jsxs)(o.p,{children:["You can move things from a block to your project using the commands described ",(0,t.jsx)(o.a,{href:"#how-can-i-use-your-pre-made-blocks",children:"above"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"i-want-to-change-attributes-on-inner-blocks-how-do-i-do-it",children:"I want to change attributes on inner blocks. How do I do it?"}),"\n",(0,t.jsxs)(o.p,{children:["We described how attributes are used and combined in ",(0,t.jsx)(o.a,{href:"blocks-attributes",children:"this chapter"})," and ",(0,t.jsx)(o.a,{href:"blocks-component-in-block",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"do-i-need-to-write-js-and-php-implementation-for-all-my-blocks",children:"Do I need to write JS and PHP implementation for all my blocks?"}),"\n",(0,t.jsx)(o.p,{children:"For a block, you must provide the JS and PHP implementations because it won't work without them."}),"\n",(0,t.jsx)(o.p,{children:"For components, if you are not using the JS part, you don't need to write one, but we recommend you do so because the JS part is used in Storybook."}),"\n",(0,t.jsxs)(o.p,{children:["If you have a more advanced block and don't benefit from writing the JS implementation of the block, you can always use the ",(0,t.jsx)(o.a,{href:"https://developer.wordpress.org/block-editor/packages/packages-server-side-render/",children:"ServerSideRender component"})," form the core. If you have no inputs in the editor from the admin, there is no need to write JS implementation of the block. Just use ",(0,t.jsx)(o.code,{children:"ServerSideRender"})," component in that case."]}),"\n",(0,t.jsx)(o.h3,{id:"how-do-i-use-components-in-blocks",children:"How do I use components in blocks?"}),"\n",(0,t.jsxs)(o.p,{children:["Please check out ",(0,t.jsx)(o.a,{href:"blocks-component-in-block",children:"this chapter"})," for more information."]}),"\n",(0,t.jsx)(o.h3,{id:"how-do-i-use-multiple-heading-components-in-my-block",children:"How do I use multiple heading components in my block?"}),"\n",(0,t.jsxs)(o.p,{children:["You can follow the instructions given in ",(0,t.jsx)(o.a,{href:"blocks-component-in-block",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"where-can-i-define-my-global-styles",children:"Where can I define my global styles?"}),"\n",(0,t.jsxs)(o.p,{children:["You can follow the instructions given in ",(0,t.jsx)(o.a,{href:"writing-styles",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"where-can-i-define-global-typography-for-all-my-blockscomponents",children:"Where can I define global typography for all my blocks/components?"}),"\n",(0,t.jsxs)(o.p,{children:["You can follow the instructions given in ",(0,t.jsx)(o.a,{href:"writing-styles",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"can-i-make-a-component-with-wp_query-logic-in-it",children:"Can I make a component with WP_Query logic in it?"}),"\n",(0,t.jsx)(o.p,{children:"Yes, you can, but think of the component as a dumb and simple piece of code that should not hold any business logic. A component should only be used as a view. If you need to write WP_Query logic, you can do that in a block and just pass the data to your component as props."}),"\n",(0,t.jsx)(o.h3,{id:"do-i-need-to-make-components-for-all-my-blocks",children:"Do I need to make components for all my blocks?"}),"\n",(0,t.jsx)(o.p,{children:"No, it might look like that from the examples provided, but that is not the case. You should create components depending on your needs."}),"\n",(0,t.jsx)(o.p,{children:"Ask yourself, will I reuse this functionality anywhere else?"}),"\n",(0,t.jsxs)(o.ul,{children:["\n",(0,t.jsxs)(o.li,{children:["If the answer is ",(0,t.jsx)(o.strong,{children:"yes"}),", create a component."]}),"\n",(0,t.jsxs)(o.li,{children:["If the answer is ",(0,t.jsx)(o.strong,{children:"no"}),", don't create a component."]}),"\n"]}),"\n",(0,t.jsx)(o.p,{children:"Our recommendation is not to burden yourself with components from the beginning. Start creating blocks and, if you find yourself in need of code that you already wrote, just extract it in a component."}),"\n",(0,t.jsx)(o.h3,{id:"will-this-setup-work-with-full-site-editing",children:"Will this setup work with full site editing?"}),"\n",(0,t.jsx)(o.p,{children:"Yes, it will. We are constantly upgrading this documentation and our code to say that it will work with full site editing. This boilerplate was made for the Infinum/Eightshift WordPress team, so we are constantly using it in our projects."}),"\n",(0,t.jsx)(o.h3,{id:"can-i-use-core-blocks-with-your-setup",children:"Can I use core blocks with your setup?"}),"\n",(0,t.jsx)(o.p,{children:"Yes, you can. We are working on the ability to override core blocks in our smart way. Until we make this work, you can use everything that is already defined in the core documentation."}),"\n",(0,t.jsx)(o.p,{children:"We avoid using core blocks because they add different class naming and additional markup that makes it harder to style things."}),"\n",(0,t.jsx)(o.p,{children:"Also, they are prone to breaking changes every several months, so we prefer to write our own implementation."}),"\n",(0,t.jsx)(o.h3,{id:"how-can-i-limit-my-blocklist",children:"How can I limit my blocklist?"}),"\n",(0,t.jsxs)(o.p,{children:["Easy. We have a method you can extend that limits your project's block to the only block from your project. You should put this filter in your project's ",(0,t.jsx)(o.code,{children:"src/Blocks/Blocks.php"})," file under the ",(0,t.jsx)(o.code,{children:"register"})," method:"]}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.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,t.jsx)(o.admonition,{title:"Important",type:"caution",children:(0,t.jsx)(o.p,{children:"For WordPress versions > 5 and < 5.8 you would need to use the example below."})}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-php",children:" // Limits the usage of only custom project blocks - legacy.\n add_filter('allowed_block_types', [ $this, 'getAllBlocksListOld' ], 10, 2);\n"})}),"\n",(0,t.jsx)(o.h3,{id:"how-to-allow-only-one-pattern-category",children:"How to allow only one pattern category?"}),"\n",(0,t.jsxs)(o.p,{children:["In the blog post about Block Patterns we covered how to ",(0,t.jsx)(o.a,{href:"/blog/block-patterns#managing-pattern-categories",children:"manage pattern categories"}),". That section should give you an idea how to remove core categories and how to register one or more custom pattern categories."]}),"\n",(0,t.jsx)(o.h3,{id:"can-i-have-blocks-in-multiple-categories",children:"Can I have blocks in multiple categories?"}),"\n",(0,t.jsxs)(o.p,{children:["In your block manifest, you can define in what category your block will appear. You can create a new category for your project or use our category. We created our category called ",(0,t.jsx)(o.code,{children:"eightshift"})," using this filter:"]}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-php",children:" // Create a new custom category for custom blocks.\n add_filter('block_categories', [ $this, 'getCustomCategory' ]);\n"})}),"\n",(0,t.jsx)(o.h3,{id:"how-can-i-add-a-new-block-category",children:"How can I add a new block category?"}),"\n",(0,t.jsx)(o.p,{children:"You can provide your implementation, or you can extend our method for registering a custom category. Here is how you do it:"}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-php",children:"public function register(): void\n{\n // Create a new custom category for custom blocks.\n add_filter('block_categories', [ $this, 'getCustomCategory' ]);\n}\n\n /**\n * Create a custom category to assign all custom blocks\n *\n * This category will be shown on all blocks list in the \"Add Block\" button.\n *\n * @param array[] $categories Array of all block categories.\n * @param \\WP_Post $post Post being loaded.\n *\n * @return array[] Array of block categories.\n */\npublic function getCustomCategory(array $categories, \\WP_Post $post): array\n{\n return array_merge(\n parent::getCustomCategory($categories, $post),\n [\n [\n 'slug' => 'custom-category-name',\n 'title' => \\esc_html__('Custom Category', 'project-text-domain'),\n 'icon' => 'admin-settings',\n ],\n ]\n );\n}\n"})}),"\n",(0,t.jsx)(o.h3,{id:"what-if-you-dont-yet-support-something-from-the-native-setup-what-can-i-do",children:"What if you don't yet support something from the native setup? What can I do?"}),"\n",(0,t.jsxs)(o.p,{children:["As we described in ",(0,t.jsx)(o.a,{href:"blocks",children:"this chapter"}),", if we don't support something natively from the core or you can't find it in this documentation, you can always use it in the normal native way from the ",(0,t.jsx)(o.a,{href:"https://developer.wordpress.org/block-editor/tutorials/block-tutorial/",children:"WordPress documentation"}),". Also, if you think we are missing something, please open a ",(0,t.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/pulls",children:"pull request"})," or an ",(0,t.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/issues",children:"issue"})," on our GitHub repository."]}),"\n",(0,t.jsxs)(o.h3,{id:"why-is-my-blocks-folder-called-custom-and-not-blocks-for-example",children:["Why is my blocks folder called ",(0,t.jsx)(o.code,{children:"custom"})," and not ",(0,t.jsx)(o.code,{children:"blocks"}),", for example?"]}),"\n",(0,t.jsx)(o.p,{children:"The idea was to put all your custom blocks inside the custom folder and all core block in the core folder. This boilerplate is not designed only for your custom block, but you can use it as an ultimate block setup."}),"\n",(0,t.jsxs)(o.p,{children:["And folder structure ",(0,t.jsx)(o.code,{children:"src/Blocks/blocks"})," is kind of weird."]}),"\n",(0,t.jsx)(o.h3,{id:"in-the-global-manifest-you-have-a-key-called-customblocksname-eightshift-block-can-i-change-this-to-my-project-name-block",children:"In the global manifest, you have a key called \u201ccustomBlocksName\u201d: \u201ceightshift-block\u201d. Can I change this to my-project-name-block?"}),"\n",(0,t.jsx)(o.p,{children:"You can, but you shouldn't. We use this key to provide the CSS selectors on all our custom blocks in the block editor. Additional styles are added to this selector for the wrapper to work on full width and remove some of the native block editor styles."}),"\n",(0,t.jsx)(o.p,{children:"So don't remove or change this \ud83d\ude05."}),"\n",(0,t.jsx)(o.h3,{id:"simple-vs-compound-blocks",children:"Simple vs Compound blocks"}),"\n",(0,t.jsx)(o.p,{children:"In a nutshell, there is no difference between blocks. The WordPress core block is a block, but we like to make a distinction between what is simple and what is a compound block."}),"\n",(0,t.jsxs)(o.p,{children:[(0,t.jsx)(o.strong,{children:"Simple block"})," is a block that is used just as is and provides a small isolated functionality. For example: heading, paragraph, button, etc."]}),"\n",(0,t.jsxs)(o.p,{children:[(0,t.jsx)(o.strong,{children:"Compound block"})," is a block built from multiple components. For example: card, featured posts, etc"]}),"\n",(0,t.jsx)(o.h3,{id:"naming-is-hard",children:"Naming is hard"}),"\n",(0,t.jsx)(o.p,{children:(0,t.jsx)(o.em,{children:"There are only two hard things in Computer Science: cache invalidation and naming things. - Phil Karlton"})}),"\n",(0,t.jsx)(o.p,{children:"Yes, naming is hard, and no matter how long your development experience is you will always struggle with names for your components, block, files, variables, functions, etc."}),"\n",(0,t.jsx)(o.p,{children:"Here are some of our recommendations to ease your pain:"}),"\n",(0,t.jsxs)(o.ul,{children:["\n",(0,t.jsxs)(o.li,{children:["Always try to name your block based on ",(0,t.jsx)(o.strong,{children:"what they are"}),", rather than ",(0,t.jsx)(o.strong,{children:"what they will be used for"}),". For example, if you have a component card for custom post-type ",(0,t.jsx)(o.code,{children:"books"}),", you should never call this component ",(0,t.jsx)(o.code,{children:"card-book"}),". Instead, use a more generic name like ",(0,t.jsx)(o.code,{children:"card-product"}),"."]}),"\n",(0,t.jsx)(o.li,{children:"Make your names as generic as possible for better reusability, but specific enough to fully understand what the block/component is used for."}),"\n",(0,t.jsx)(o.li,{children:"Always think about the future. How can this feature be used in some other way?"}),"\n",(0,t.jsxs)(o.li,{children:['When naming your attributes ask yourself: "is this attribute going to be used in any other way?". For example, you have an attribute for adding font-weight: bold to your text. You can create an attribute called font-weight and set it as a ',(0,t.jsx)(o.code,{children:"boolean"})," type and that will be ok if you have only one font-weight. A better way would be to put it as a string and provide a ",(0,t.jsx)(o.code,{children:"SelectControl"})," component if there is any possibility that in the future you will have additional font-weight."]}),"\n",(0,t.jsxs)(o.li,{children:["Name booleans positively as a question. Example: ",(0,t.jsx)(o.code,{children:"isValid"}),", ",(0,t.jsx)(o.code,{children:"isLoading"}),", ",(0,t.jsx)(o.code,{children:"isComplete"}),"."]}),"\n",(0,t.jsx)(o.li,{children:"Don\u2019t hesitate to use longer names."}),"\n",(0,t.jsx)(o.li,{children:"Use singular names."}),"\n",(0,t.jsx)(o.li,{children:"The variables or functions should be named by their work: Name of variables/functions should always try to express their meaning without diving into the code base try to pack meaningful information inside the name."}),"\n",(0,t.jsx)(o.li,{children:"Naming should be simple enough to be understood by everyone: Using complex words to describe a simple thing only creates hassle while reading the code. Also, use simple English."}),"\n",(0,t.jsx)(o.li,{children:"You might not be the only person working on your particular project in the future. Think about the next person. Your naming will provide an insight into the process and project."}),"\n",(0,t.jsxs)(o.li,{children:[(0,t.jsx)(o.strong,{children:"BE CONSISTENT"}),"."]}),"\n"]})]})}function h(e={}){const{wrapper:o}={...(0,s.M)(),...e.components};return o?(0,t.jsx)(o,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},4552:(e,o,n)=>{n.d(o,{I:()=>l,M:()=>a});var t=n(11504);const s={},i=t.createContext(s);function a(e){const o=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function l(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),t.createElement(i.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7d1194b2.555599e6.js b/assets/js/7d1194b2.555599e6.js new file mode 100644 index 000000000..b2486e9f3 --- /dev/null +++ b/assets/js/7d1194b2.555599e6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[53264],{82804:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>s,default:()=>p,frontMatter:()=>o,metadata:()=>c,toc:()=>d});var r=t(17624),i=t(4552);const o={id:"config",title:"Project Config"},s=void 0,c={id:"legacy/v4/guides/config",title:"Project Config",description:"docs-source",source:"@site/docs/legacy/v4/guides/config.md",sourceDirName:"legacy/v4/guides",slug:"/legacy/v4/guides/config",permalink:"/docs/legacy/v4/guides/config",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"config",title:"Project Config"},sidebar:"docs",previous:{title:"Dependency injection container",permalink:"/docs/legacy/v4/guides/di-container"},next:{title:"Manifest",permalink:"/docs/legacy/v4/guides/manifest"}},l={},d=[{value:"get_project_name()",id:"get_project_name",level:2},{value:"get_project_version()",id:"get_project_version",level:2},{value:"get_project_prefix()",id:"get_project_prefix",level:2},{value:"get_project_env()",id:"get_project_env",level:2},{value:"get_project_routes_namespace()",id:"get_project_routes_namespace",level:2},{value:"get_project_routes_version()",id:"get_project_routes_version",level:2},{value:"get_project_primary_color()",id:"get_project_primary_color",level:2},{value:"get_project_path()",id:"get_project_path",level:2},{value:"get_config()",id:"get_config",level:2}];function a(e){const n={a:"a",code:"code",h2:"h2",img:"img",li:"li",p:"p",pre:"pre",ul:"ul",...(0,i.M)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{href:"https://github.com/infinum/eightshift-boilerplate/tree/v4.0.0/src/class-config.php",children:(0,r.jsx)(n.img,{src:"https://img.shields.io/badge/source-eigthshift--boilerplate-red?style=for-the-badge&logo=wordpress&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,r.jsxs)(n.p,{children:["Project config is located in ",(0,r.jsx)(n.code,{children:"src/class-config.php"}),", and it extends ",(0,r.jsx)(n.code,{children:"Eightshift_Libs\\Core\\Config"})," class from the lib."]}),"\n",(0,r.jsx)(n.p,{children:"This class is used to define all the important methods for your project:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"get_project_name()"}),"\n",(0,r.jsx)(n.li,{children:"get_project_version()"}),"\n",(0,r.jsx)(n.li,{children:"get_project_prefix()"}),"\n",(0,r.jsx)(n.li,{children:"get_project_env()"}),"\n",(0,r.jsx)(n.li,{children:"get_project_routes_namespace()"}),"\n",(0,r.jsx)(n.li,{children:"get_project_routes_version()"}),"\n",(0,r.jsx)(n.li,{children:"get_project_primary_color()"}),"\n",(0,r.jsx)(n.li,{children:"get_project_path()"}),"\n",(0,r.jsx)(n.li,{children:"get_config()"}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Some methods are mandatory and are defined in ",(0,r.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/interface-config-data.php",children:"config interface"})," the rest are provided inside the project."]}),"\n",(0,r.jsx)(n.h2,{id:"get_project_name",children:"get_project_name()"}),"\n",(0,r.jsx)(n.p,{children:"Type: Mandatory"}),"\n",(0,r.jsx)(n.p,{children:"Generally used for naming assets handlers, languages, etc."}),"\n",(0,r.jsx)(n.h2,{id:"get_project_version",children:"get_project_version()"}),"\n",(0,r.jsx)(n.p,{children:"Type: Mandatory"}),"\n",(0,r.jsx)(n.p,{children:"Generally used for versioning asset handlers while enqueueing them."}),"\n",(0,r.jsx)(n.h2,{id:"get_project_prefix",children:"get_project_prefix()"}),"\n",(0,r.jsx)(n.p,{children:"Type: Mandatory"}),"\n",(0,r.jsx)(n.p,{children:"The WordPress filters live in a global namespace, so we need to prefix them to avoid naming collisions."}),"\n",(0,r.jsx)(n.h2,{id:"get_project_env",children:"get_project_env()"}),"\n",(0,r.jsx)(n.p,{children:"Type: Optional but recommended"}),"\n",(0,r.jsx)(n.p,{children:"Returns the project environment variable descriptor."}),"\n",(0,r.jsx)(n.p,{children:"Used for defining global settings depending on the environment of the project. It can be one of, but not limited to, develop, staging, production."}),"\n",(0,r.jsxs)(n.p,{children:["Defaults to 'develop' (as to not cache manifest in transient) if not otherwise defined in ",(0,r.jsx)(n.code,{children:"wp-config.php"})]}),"\n",(0,r.jsx)(n.h2,{id:"get_project_routes_namespace",children:"get_project_routes_namespace()"}),"\n",(0,r.jsx)(n.p,{children:"Type: Optional"}),"\n",(0,r.jsx)(n.p,{children:"Used for namespacing project's REST-API routes and fields. Only required if you are creating a custom REST route or field."}),"\n",(0,r.jsx)(n.h2,{id:"get_project_routes_version",children:"get_project_routes_version()"}),"\n",(0,r.jsx)(n.p,{children:"Type: Optional"}),"\n",(0,r.jsx)(n.p,{children:"Used for versioning projects REST-API routes and fields. Only required if you are creating a custom REST route or field."}),"\n",(0,r.jsx)(n.h2,{id:"get_project_primary_color",children:"get_project_primary_color()"}),"\n",(0,r.jsx)(n.p,{children:"Type: Optional"}),"\n",(0,r.jsxs)(n.p,{children:["Used for styling the mobile browser color and splash screens. Check ",(0,r.jsx)(n.code,{children:"head.php"})," for more details."]}),"\n",(0,r.jsx)(n.h2,{id:"get_project_path",children:"get_project_path()"}),"\n",(0,r.jsx)(n.p,{children:"Type: Mandatory"}),"\n",(0,r.jsx)(n.p,{children:"Returns project absolute path."}),"\n",(0,r.jsxs)(n.p,{children:["If used in a theme, use ",(0,r.jsx)(n.code,{children:"get_template_directory()"})," and in case it's used in a plugin, use ",(0,r.jsx)(n.code,{children:"__DIR__"}),"."]}),"\n",(0,r.jsx)(n.h2,{id:"get_config",children:"get_config()"}),"\n",(0,r.jsx)(n.p,{children:"Type: Mandatory"}),"\n",(0,r.jsx)(n.p,{children:"The method that returns every string prefixed with project prefix based on project type."}),"\n",(0,r.jsxs)(n.p,{children:['It converts all spaces and "_" with "-", also it converts all characters to lowercase. Also, it appends the project prefix defined in the ',(0,r.jsx)(n.code,{children:"class-config.php"}),"."]}),"\n",(0,r.jsx)(n.p,{children:"Example 1:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-js",children:"Config::get_config( 'custom_filter_name' );\n\nOutput:\neb-custom-filter-name\n"})}),"\n",(0,r.jsx)(n.p,{children:"Example 2:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-js",children:"Config::get_config( 'custom-filter-name' );\n\nOutput:\neb-custom-filter-name\n"})}),"\n",(0,r.jsx)(n.p,{children:"Example 3:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-js",children:"Config::get_config( 'custom filter name' );\n\nOutput:\neb-custom-filter-name\n"})})]})}function p(e={}){const{wrapper:n}={...(0,i.M)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(a,{...e})}):a(e)}},4552:(e,n,t)=>{t.d(n,{I:()=>c,M:()=>s});var r=t(11504);const i={},o=r.createContext(i);function s(e){const n=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),r.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7d1194b2.92eaf60c.js b/assets/js/7d1194b2.92eaf60c.js deleted file mode 100644 index a44419c68..000000000 --- a/assets/js/7d1194b2.92eaf60c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[37423],{78534:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>s,default:()=>p,frontMatter:()=>o,metadata:()=>c,toc:()=>d});var r=t(85893),i=t(11151);const o={id:"config",title:"Project Config"},s=void 0,c={id:"legacy/v4/guides/config",title:"Project Config",description:"docs-source",source:"@site/docs/legacy/v4/guides/config.md",sourceDirName:"legacy/v4/guides",slug:"/legacy/v4/guides/config",permalink:"/docs/legacy/v4/guides/config",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"config",title:"Project Config"},sidebar:"docs",previous:{title:"Dependency injection container",permalink:"/docs/legacy/v4/guides/di-container"},next:{title:"Manifest",permalink:"/docs/legacy/v4/guides/manifest"}},l={},d=[{value:"get_project_name()",id:"get_project_name",level:2},{value:"get_project_version()",id:"get_project_version",level:2},{value:"get_project_prefix()",id:"get_project_prefix",level:2},{value:"get_project_env()",id:"get_project_env",level:2},{value:"get_project_routes_namespace()",id:"get_project_routes_namespace",level:2},{value:"get_project_routes_version()",id:"get_project_routes_version",level:2},{value:"get_project_primary_color()",id:"get_project_primary_color",level:2},{value:"get_project_path()",id:"get_project_path",level:2},{value:"get_config()",id:"get_config",level:2}];function a(e){const n={a:"a",code:"code",h2:"h2",img:"img",li:"li",p:"p",pre:"pre",ul:"ul",...(0,i.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{href:"https://github.com/infinum/eightshift-boilerplate/tree/v4.0.0/src/class-config.php",children:(0,r.jsx)(n.img,{src:"https://img.shields.io/badge/source-eigthshift--boilerplate-red?style=for-the-badge&logo=wordpress&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,r.jsxs)(n.p,{children:["Project config is located in ",(0,r.jsx)(n.code,{children:"src/class-config.php"}),", and it extends ",(0,r.jsx)(n.code,{children:"Eightshift_Libs\\Core\\Config"})," class from the lib."]}),"\n",(0,r.jsx)(n.p,{children:"This class is used to define all the important methods for your project:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"get_project_name()"}),"\n",(0,r.jsx)(n.li,{children:"get_project_version()"}),"\n",(0,r.jsx)(n.li,{children:"get_project_prefix()"}),"\n",(0,r.jsx)(n.li,{children:"get_project_env()"}),"\n",(0,r.jsx)(n.li,{children:"get_project_routes_namespace()"}),"\n",(0,r.jsx)(n.li,{children:"get_project_routes_version()"}),"\n",(0,r.jsx)(n.li,{children:"get_project_primary_color()"}),"\n",(0,r.jsx)(n.li,{children:"get_project_path()"}),"\n",(0,r.jsx)(n.li,{children:"get_config()"}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Some methods are mandatory and are defined in ",(0,r.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/interface-config-data.php",children:"config interface"})," the rest are provided inside the project."]}),"\n",(0,r.jsx)(n.h2,{id:"get_project_name",children:"get_project_name()"}),"\n",(0,r.jsx)(n.p,{children:"Type: Mandatory"}),"\n",(0,r.jsx)(n.p,{children:"Generally used for naming assets handlers, languages, etc."}),"\n",(0,r.jsx)(n.h2,{id:"get_project_version",children:"get_project_version()"}),"\n",(0,r.jsx)(n.p,{children:"Type: Mandatory"}),"\n",(0,r.jsx)(n.p,{children:"Generally used for versioning asset handlers while enqueueing them."}),"\n",(0,r.jsx)(n.h2,{id:"get_project_prefix",children:"get_project_prefix()"}),"\n",(0,r.jsx)(n.p,{children:"Type: Mandatory"}),"\n",(0,r.jsx)(n.p,{children:"The WordPress filters live in a global namespace, so we need to prefix them to avoid naming collisions."}),"\n",(0,r.jsx)(n.h2,{id:"get_project_env",children:"get_project_env()"}),"\n",(0,r.jsx)(n.p,{children:"Type: Optional but recommended"}),"\n",(0,r.jsx)(n.p,{children:"Returns the project environment variable descriptor."}),"\n",(0,r.jsx)(n.p,{children:"Used for defining global settings depending on the environment of the project. It can be one of, but not limited to, develop, staging, production."}),"\n",(0,r.jsxs)(n.p,{children:["Defaults to 'develop' (as to not cache manifest in transient) if not otherwise defined in ",(0,r.jsx)(n.code,{children:"wp-config.php"})]}),"\n",(0,r.jsx)(n.h2,{id:"get_project_routes_namespace",children:"get_project_routes_namespace()"}),"\n",(0,r.jsx)(n.p,{children:"Type: Optional"}),"\n",(0,r.jsx)(n.p,{children:"Used for namespacing project's REST-API routes and fields. Only required if you are creating a custom REST route or field."}),"\n",(0,r.jsx)(n.h2,{id:"get_project_routes_version",children:"get_project_routes_version()"}),"\n",(0,r.jsx)(n.p,{children:"Type: Optional"}),"\n",(0,r.jsx)(n.p,{children:"Used for versioning projects REST-API routes and fields. Only required if you are creating a custom REST route or field."}),"\n",(0,r.jsx)(n.h2,{id:"get_project_primary_color",children:"get_project_primary_color()"}),"\n",(0,r.jsx)(n.p,{children:"Type: Optional"}),"\n",(0,r.jsxs)(n.p,{children:["Used for styling the mobile browser color and splash screens. Check ",(0,r.jsx)(n.code,{children:"head.php"})," for more details."]}),"\n",(0,r.jsx)(n.h2,{id:"get_project_path",children:"get_project_path()"}),"\n",(0,r.jsx)(n.p,{children:"Type: Mandatory"}),"\n",(0,r.jsx)(n.p,{children:"Returns project absolute path."}),"\n",(0,r.jsxs)(n.p,{children:["If used in a theme, use ",(0,r.jsx)(n.code,{children:"get_template_directory()"})," and in case it's used in a plugin, use ",(0,r.jsx)(n.code,{children:"__DIR__"}),"."]}),"\n",(0,r.jsx)(n.h2,{id:"get_config",children:"get_config()"}),"\n",(0,r.jsx)(n.p,{children:"Type: Mandatory"}),"\n",(0,r.jsx)(n.p,{children:"The method that returns every string prefixed with project prefix based on project type."}),"\n",(0,r.jsxs)(n.p,{children:['It converts all spaces and "_" with "-", also it converts all characters to lowercase. Also, it appends the project prefix defined in the ',(0,r.jsx)(n.code,{children:"class-config.php"}),"."]}),"\n",(0,r.jsx)(n.p,{children:"Example 1:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-js",children:"Config::get_config( 'custom_filter_name' );\n\nOutput:\neb-custom-filter-name\n"})}),"\n",(0,r.jsx)(n.p,{children:"Example 2:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-js",children:"Config::get_config( 'custom-filter-name' );\n\nOutput:\neb-custom-filter-name\n"})}),"\n",(0,r.jsx)(n.p,{children:"Example 3:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-js",children:"Config::get_config( 'custom filter name' );\n\nOutput:\neb-custom-filter-name\n"})})]})}function p(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(a,{...e})}):a(e)}},11151:(e,n,t)=>{t.d(n,{Z:()=>c,a:()=>s});var r=t(67294);const i={},o=r.createContext(i);function s(e){const n=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),r.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7d66ff10.5e9f1e47.js b/assets/js/7d66ff10.5e9f1e47.js new file mode 100644 index 000000000..f07044525 --- /dev/null +++ b/assets/js/7d66ff10.5e9f1e47.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[27500],{51184:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>c,default:()=>p,frontMatter:()=>i,metadata:()=>r,toc:()=>o});var s=t(17624),a=t(4552);const i={id:"backend",title:"Backend",sidebar_label:"Backend"},c=void 0,r={id:"legacy/v5/basics/backend",title:"Backend",description:"docs-source",source:"@site/docs/legacy/v5/basics/backend.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/backend",permalink:"/docs/legacy/v5/basics/backend",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"backend",title:"Backend",sidebar_label:"Backend"},sidebar:"docs",previous:{title:"WP-CLI",permalink:"/docs/legacy/v5/basics/wp-cli"},next:{title:"Namespaces",permalink:"/docs/legacy/v5/basics/namespaces"}},l={},o=[];function h(e){const n={a:"a",img:"img",li:"li",p:"p",ul:"ul",...(0,a.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/tree/3.0.0/",children:(0,s.jsx)(n.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(n.p,{children:"In general, you can use anything as-is from the vendor library, or you can modify/add the functionality of existing classes by extending them in your project."}),"\n",(0,s.jsx)(n.p,{children:"If you are familiar with the extending classes (class inheritance) in PHP language, you can skip this chapter. For the rest, here are some awesome descriptions of how it works:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.php.net/manual/en/language.oop5.interfaces.php",children:"Interfaces"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://en.wikipedia.org/wiki/Dependency_injection",children:"Dependency Injection"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.php.net/manual/en/language.oop5.abstract.php",children:"Abstract Classes"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.php.net/manual/en/language.oop5.inheritance.php",children:"Object Inheritance"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.php.net/manual/en/language.namespaces.php",children:"Namespaces"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.php.net/manual/en/language.oop5.traits.php",children:"Traits"})}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Please get acquainted with these concepts before you continue because they will help you in the later chapters."})]})}function p(e={}){const{wrapper:n}={...(0,a.M)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},4552:(e,n,t)=>{t.d(n,{I:()=>r,M:()=>c});var s=t(11504);const a={},i=s.createContext(a);function c(e){const n=s.useContext(i);return s.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(a):e.components||a:c(e.components),s.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7d66ff10.e7575e35.js b/assets/js/7d66ff10.e7575e35.js deleted file mode 100644 index 0085101b0..000000000 --- a/assets/js/7d66ff10.e7575e35.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[97727],{83852:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>c,default:()=>p,frontMatter:()=>i,metadata:()=>r,toc:()=>o});var s=t(85893),a=t(11151);const i={id:"backend",title:"Backend",sidebar_label:"Backend"},c=void 0,r={id:"legacy/v5/basics/backend",title:"Backend",description:"docs-source",source:"@site/docs/legacy/v5/basics/backend.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/backend",permalink:"/docs/legacy/v5/basics/backend",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"backend",title:"Backend",sidebar_label:"Backend"},sidebar:"docs",previous:{title:"WP-CLI",permalink:"/docs/legacy/v5/basics/wp-cli"},next:{title:"Namespaces",permalink:"/docs/legacy/v5/basics/namespaces"}},l={},o=[];function h(e){const n={a:"a",img:"img",li:"li",p:"p",ul:"ul",...(0,a.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/tree/3.0.0/",children:(0,s.jsx)(n.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(n.p,{children:"In general, you can use anything as-is from the vendor library, or you can modify/add the functionality of existing classes by extending them in your project."}),"\n",(0,s.jsx)(n.p,{children:"If you are familiar with the extending classes (class inheritance) in PHP language, you can skip this chapter. For the rest, here are some awesome descriptions of how it works:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.php.net/manual/en/language.oop5.interfaces.php",children:"Interfaces"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://en.wikipedia.org/wiki/Dependency_injection",children:"Dependency Injection"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.php.net/manual/en/language.oop5.abstract.php",children:"Abstract Classes"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.php.net/manual/en/language.oop5.inheritance.php",children:"Object Inheritance"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.php.net/manual/en/language.namespaces.php",children:"Namespaces"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.php.net/manual/en/language.oop5.traits.php",children:"Traits"})}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Please get acquainted with these concepts before you continue because they will help you in the later chapters."})]})}function p(e={}){const{wrapper:n}={...(0,a.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},11151:(e,n,t)=>{t.d(n,{Z:()=>r,a:()=>c});var s=t(67294);const a={},i=s.createContext(a);function c(e){const n=s.useContext(i);return s.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(a):e.components||a:c(e.components),s.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7dd4c8bc.7f8dd4a6.js b/assets/js/7dd4c8bc.7f8dd4a6.js deleted file mode 100644 index 389d80378..000000000 --- a/assets/js/7dd4c8bc.7f8dd4a6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[56759],{68438:(e,i,t)=>{t.r(i),t.d(i,{assets:()=>p,contentTitle:()=>o,default:()=>d,frontMatter:()=>s,metadata:()=>a,toc:()=>l});var r=t(85893),n=t(11151);const s={id:"pipedrive",title:"Pipedrive"},o=void 0,a={id:"php/global-variables/integrations/pipedrive",title:"Pipedrive",description:"ESAPIKEY_PIPEDRIVE",source:"@site/forms/php/global-variables/integrations/pipedrive.md",sourceDirName:"php/global-variables/integrations",slug:"/php/global-variables/integrations/pipedrive",permalink:"/forms/php/global-variables/integrations/pipedrive",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"pipedrive",title:"Pipedrive"},sidebar:"forms",previous:{title:"Workable",permalink:"/forms/php/global-variables/integrations/workable"},next:{title:"Helpers",permalink:"/forms/php/helpers"}},p={},l=[{value:"ES_API_KEY_PIPEDRIVE",id:"es_api_key_pipedrive",level:3}];function c(e){const i={code:"code",h3:"h3",p:"p",pre:"pre",...(0,n.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.h3,{id:"es_api_key_pipedrive",children:"ES_API_KEY_PIPEDRIVE"}),"\n",(0,r.jsx)(i.p,{children:"This variable will set the Pipedrive integration API key."}),"\n",(0,r.jsx)(i.pre,{children:(0,r.jsx)(i.code,{className:"language-php",children:"define('ES_API_KEY_PIPEDRIVE', '<api-key>');\n"})})]})}function d(e={}){const{wrapper:i}={...(0,n.a)(),...e.components};return i?(0,r.jsx)(i,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},11151:(e,i,t)=>{t.d(i,{Z:()=>a,a:()=>o});var r=t(67294);const n={},s=r.createContext(n);function o(e){const i=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function a(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:o(e.components),r.createElement(s.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7dd4c8bc.b388960d.js b/assets/js/7dd4c8bc.b388960d.js new file mode 100644 index 000000000..ddacc3318 --- /dev/null +++ b/assets/js/7dd4c8bc.b388960d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[74992],{11100:(e,i,t)=>{t.r(i),t.d(i,{assets:()=>a,contentTitle:()=>o,default:()=>d,frontMatter:()=>s,metadata:()=>p,toc:()=>l});var r=t(17624),n=t(4552);const s={id:"pipedrive",title:"Pipedrive"},o=void 0,p={id:"php/global-variables/integrations/pipedrive",title:"Pipedrive",description:"ESAPIKEY_PIPEDRIVE",source:"@site/forms/php/global-variables/integrations/pipedrive.md",sourceDirName:"php/global-variables/integrations",slug:"/php/global-variables/integrations/pipedrive",permalink:"/forms/php/global-variables/integrations/pipedrive",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"pipedrive",title:"Pipedrive"},sidebar:"forms",previous:{title:"Workable",permalink:"/forms/php/global-variables/integrations/workable"},next:{title:"Helpers",permalink:"/forms/php/helpers"}},a={},l=[{value:"ES_API_KEY_PIPEDRIVE",id:"es_api_key_pipedrive",level:3}];function c(e){const i={code:"code",h3:"h3",p:"p",pre:"pre",...(0,n.M)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.h3,{id:"es_api_key_pipedrive",children:"ES_API_KEY_PIPEDRIVE"}),"\n",(0,r.jsx)(i.p,{children:"This variable will set the Pipedrive integration API key."}),"\n",(0,r.jsx)(i.pre,{children:(0,r.jsx)(i.code,{className:"language-php",children:"define('ES_API_KEY_PIPEDRIVE', '<api-key>');\n"})})]})}function d(e={}){const{wrapper:i}={...(0,n.M)(),...e.components};return i?(0,r.jsx)(i,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},4552:(e,i,t)=>{t.d(i,{I:()=>p,M:()=>o});var r=t(11504);const n={},s=r.createContext(n);function o(e){const i=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function p(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:o(e.components),r.createElement(s.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7ddf2558.aa1a20e0.js b/assets/js/7ddf2558.aa1a20e0.js deleted file mode 100644 index b52b8adf7..000000000 --- a/assets/js/7ddf2558.aa1a20e0.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[82214],{39965:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>d,frontMatter:()=>i,metadata:()=>l,toc:()=>a});var o=s(85893),t=s(11151);const i={id:"block-manifest",title:"Block Manifest"},r=void 0,l={id:"legacy/v6/basics/block-manifest",title:"Block Manifest",description:"docs-source",source:"@site/docs/legacy/v6/basics/block-manifest.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/block-manifest",permalink:"/docs/legacy/v6/basics/block-manifest",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"block-manifest",title:"Block Manifest"},sidebar:"docs",previous:{title:"Component Structure",permalink:"/docs/legacy/v6/basics/blocks-component-structure"},next:{title:"Component Manifest",permalink:"/docs/legacy/v6/basics/blocks-component-manifest"}},c={},a=[{value:"Example",id:"example",level:3},{value:"namespace",id:"namespace",level:3},{value:"icon.background & icon.foreground",id:"iconbackground--iconforeground",level:3},{value:"example",id:"example-1",level:3},{value:"attributes",id:"attributes",level:3},{value:"hasInnerBlocks",id:"hasinnerblocks",level:3},{value:"components",id:"components",level:3},{value:"responsiveAttributes",id:"responsiveattributes",level:3},{value:"variables",id:"variables",level:3},{value:"options",id:"options",level:3},{value:"The power of manifest.json",id:"the-power-of-manifestjson",level:2}];function h(e){const n={a:"a",blockquote:"blockquote",code:"code",em:"em",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/",children:(0,o.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsxs)(n.p,{children:["This file contains all the configuration required for a block to work. It's used in WordPress ",(0,o.jsx)(n.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-registration/",children:(0,o.jsx)(n.code,{children:"registerBlockType"})})," method to register a block. Using ",(0,o.jsx)(n.code,{children:"manifest.json"}),", we can provide a configuration in JavaScript and PHP part of the block in one file."]}),"\n",(0,o.jsx)(n.h3,{id:"example",children:"Example"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n "namespace": "custom-namespace",\n "blockName": "heading",\n "title": "Heading",\n "description": "Heading block with custom settings.",\n "category": "common",\n "icon": {\n "background": "#900",\n "foreground": "#500",\n "src": "heading"\n },\n "keywords": [\n "Header",\n "Title"\n ],\n "example": {\n "attributes": {\n "content": "New content",\n "level": 2\n }\n },\n "attributes": {\n "content": {\n "type": "string"\n },\n "level": {\n "type": "number",\n "default": 2\n }\n },\n "hasInnerBlocks": false,\n "components": {},\n "responsiveAttributes": {},\n "variables": {},\n "options": {}\n}\n'})}),"\n",(0,o.jsxs)(n.p,{children:["Most of the keys are the same as the ",(0,o.jsx)(n.code,{children:"registerBlockType"})," method. If you can't find the description here, please check the ",(0,o.jsx)(n.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-registration/",children:"official documentation"}),", but we also have some custom features here:"]}),"\n",(0,o.jsx)(n.h3,{id:"namespace",children:"namespace"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"native feature"})}),"\n",(0,o.jsx)(n.p,{children:"The block's namespace is set globally in the global manifest for all your custom blocks, but you can override them on each block if you need to."}),"\n",(0,o.jsx)(n.h3,{id:"iconbackground--iconforeground",children:"icon.background & icon.foreground"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"native feature"})}),"\n",(0,o.jsx)(n.p,{children:"The icon background and foreground is set globally in the global manifest for all your custom blocks, but you can override them on each block if you need to."}),"\n",(0,o.jsx)(n.h3,{id:"example-1",children:"example"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"native feature"})}),"\n",(0,o.jsxs)(n.p,{children:["This key provides you the ability to give an example mockup of your attributes. When you try to add a block to the editor using the button in the main toolbar, you will have a preview image on the right. The image generated here will actually be a rendered block with the attributes from the example key. We also use it in the storybook to mock attributes. More on this in the ",(0,o.jsx)(n.a,{href:"blocks-storybook",children:"storybook chapter"}),"."]}),"\n",(0,o.jsx)(n.h3,{id:"attributes",children:"attributes"}),"\n",(0,o.jsxs)(n.p,{children:["Attributes key is an object of attributes where you define and set up default values for a block. These attributes are then passed in the editor as props, and the PHP view part in the ",(0,o.jsx)(n.code,{children:"$attributes"})," variable.\nWe are using the same structure as described in the ",(0,o.jsx)(n.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-attributes/",children:"block editor documentation"}),". For more details please check ",(0,o.jsx)(n.a,{href:"blocks-attributes",children:"this chapter"}),"."]}),"\n",(0,o.jsx)(n.h3,{id:"hasinnerblocks",children:"hasInnerBlocks"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"default: false"})}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"custom feature"})}),"\n",(0,o.jsxs)(n.p,{children:["If the ",(0,o.jsx)(n.code,{children:"hasInnerBlocks"})," key is set to true, the block's ",(0,o.jsx)(n.code,{children:"save"})," method for inner blocks will be used. This method is used when the block has ",(0,o.jsx)(n.a,{href:"https://github.com/WordPress/gutenberg/tree/master/packages/block-editor/src/components/inner-blocks",children:(0,o.jsx)(n.code,{children:"InnerBlocks"})}),". In the PHP view file, you will have the ",(0,o.jsx)(n.code,{children:"$innerBlockContent"})," variable available. Here is an example of what happens in the back:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:" save = () => createElement(InnerBlocks.Content);\n"})}),"\n",(0,o.jsx)(n.h3,{id:"components",children:"components"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"custom feature"})}),"\n",(0,o.jsxs)(n.p,{children:["This key gives you the ability to use component attributes in your block without mapping all the component's attributes every time. Please check ",(0,o.jsx)(n.a,{href:"blocks-component-in-block",children:"this chapter"})," for more details."]}),"\n",(0,o.jsx)(n.h3,{id:"responsiveattributes",children:"responsiveAttributes"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"custom feature"})}),"\n",(0,o.jsxs)(n.p,{children:["This key is used to combine multiple attributes with the similar name for the responsive breakpoints. Please check ",(0,o.jsx)(n.a,{href:"blocks-styles",children:"this chapter"})," for more details."]}),"\n",(0,o.jsx)(n.h3,{id:"variables",children:"variables"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"custom feature"})}),"\n",(0,o.jsxs)(n.p,{children:["This key is used to provide output for CSS variables. Please check ",(0,o.jsx)(n.a,{href:"blocks-styles",children:"this chapter"})," for more details."]}),"\n",(0,o.jsx)(n.h3,{id:"options",children:"options"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"custom feature"})}),"\n",(0,o.jsxs)(n.p,{children:["This key is used to provide options used in the Block Editor options for components like SelectControl or RangeControl. With this key, you can pass options and change them depending on the component used. Please check ",(0,o.jsx)(n.a,{href:"blocks-component-in-block",children:"this chapter"})," for more details."]}),"\n",(0,o.jsx)(n.h2,{id:"the-power-of-manifestjson",children:"The power of manifest.json"}),"\n",(0,o.jsxs)(n.p,{children:["As described before we use ",(0,o.jsx)(n.code,{children:"manifest.json"})," to share stuff across PHP / JS / SCSS so you can easily see its power."]}),"\n",(0,o.jsxs)(n.p,{children:["For example, you can use ",(0,o.jsx)(n.code,{children:"manifest.json"})," to store SVG files that you will use on the front-end (PHP) and in the editor / backend (JS) files. Or you can store block options so it is easier to find and add items."]}),"\n",(0,o.jsx)(n.p,{children:"Let's see how you would share SVG icon across multiple languages:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"manifest.json"})}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsxs)(n.p,{children:["Note: because this is a ",(0,o.jsx)(n.code,{children:"JSON"})," file you must convert all double quotes to single because otherwise, you will get a fatal error."]}),"\n"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:"{\n ...\n \"icon\": \"<svg xmlns='http://www.w3.org/2000/svg' width='7' height='12' viewBox='0 0 320 512'><path fill='currentColor' d='M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z'></path></svg>\",\n ...\n}\n"})}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"block-name.php"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-php",children:"$manifest = Components::getManifest(__DIR__);\n\necho wp_kses_post($manifest['icon']);\n"})}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"block-name-editor.js"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-jsx",children:"import manifest from 'manifest.json';\n\n<span dangerouslySetInnerHTML={{ __html: manifest.icon }}></span>\n"})}),"\n",(0,o.jsx)(n.p,{children:"As you can see, you can share anything this way. Here are some additional examples:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/components/social-links/manifest.json",children:"Social Links"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/components/button/manifest.json",children:"Button"})}),"\n"]})]})}function d(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(h,{...e})}):h(e)}},11151:(e,n,s)=>{s.d(n,{Z:()=>l,a:()=>r});var o=s(67294);const t={},i=o.createContext(t);function r(e){const n=o.useContext(i);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(t):e.components||t:r(e.components),o.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7ddf2558.d2cf920d.js b/assets/js/7ddf2558.d2cf920d.js new file mode 100644 index 000000000..fc20db720 --- /dev/null +++ b/assets/js/7ddf2558.d2cf920d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[29488],{71428:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>d,frontMatter:()=>i,metadata:()=>l,toc:()=>a});var o=s(17624),t=s(4552);const i={id:"block-manifest",title:"Block Manifest"},r=void 0,l={id:"legacy/v6/basics/block-manifest",title:"Block Manifest",description:"docs-source",source:"@site/docs/legacy/v6/basics/block-manifest.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/block-manifest",permalink:"/docs/legacy/v6/basics/block-manifest",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"block-manifest",title:"Block Manifest"},sidebar:"docs",previous:{title:"Component Structure",permalink:"/docs/legacy/v6/basics/blocks-component-structure"},next:{title:"Component Manifest",permalink:"/docs/legacy/v6/basics/blocks-component-manifest"}},c={},a=[{value:"Example",id:"example",level:3},{value:"namespace",id:"namespace",level:3},{value:"icon.background & icon.foreground",id:"iconbackground--iconforeground",level:3},{value:"example",id:"example-1",level:3},{value:"attributes",id:"attributes",level:3},{value:"hasInnerBlocks",id:"hasinnerblocks",level:3},{value:"components",id:"components",level:3},{value:"responsiveAttributes",id:"responsiveattributes",level:3},{value:"variables",id:"variables",level:3},{value:"options",id:"options",level:3},{value:"The power of manifest.json",id:"the-power-of-manifestjson",level:2}];function h(e){const n={a:"a",blockquote:"blockquote",code:"code",em:"em",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/",children:(0,o.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsxs)(n.p,{children:["This file contains all the configuration required for a block to work. It's used in WordPress ",(0,o.jsx)(n.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-registration/",children:(0,o.jsx)(n.code,{children:"registerBlockType"})})," method to register a block. Using ",(0,o.jsx)(n.code,{children:"manifest.json"}),", we can provide a configuration in JavaScript and PHP part of the block in one file."]}),"\n",(0,o.jsx)(n.h3,{id:"example",children:"Example"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n "namespace": "custom-namespace",\n "blockName": "heading",\n "title": "Heading",\n "description": "Heading block with custom settings.",\n "category": "common",\n "icon": {\n "background": "#900",\n "foreground": "#500",\n "src": "heading"\n },\n "keywords": [\n "Header",\n "Title"\n ],\n "example": {\n "attributes": {\n "content": "New content",\n "level": 2\n }\n },\n "attributes": {\n "content": {\n "type": "string"\n },\n "level": {\n "type": "number",\n "default": 2\n }\n },\n "hasInnerBlocks": false,\n "components": {},\n "responsiveAttributes": {},\n "variables": {},\n "options": {}\n}\n'})}),"\n",(0,o.jsxs)(n.p,{children:["Most of the keys are the same as the ",(0,o.jsx)(n.code,{children:"registerBlockType"})," method. If you can't find the description here, please check the ",(0,o.jsx)(n.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-registration/",children:"official documentation"}),", but we also have some custom features here:"]}),"\n",(0,o.jsx)(n.h3,{id:"namespace",children:"namespace"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"native feature"})}),"\n",(0,o.jsx)(n.p,{children:"The block's namespace is set globally in the global manifest for all your custom blocks, but you can override them on each block if you need to."}),"\n",(0,o.jsx)(n.h3,{id:"iconbackground--iconforeground",children:"icon.background & icon.foreground"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"native feature"})}),"\n",(0,o.jsx)(n.p,{children:"The icon background and foreground is set globally in the global manifest for all your custom blocks, but you can override them on each block if you need to."}),"\n",(0,o.jsx)(n.h3,{id:"example-1",children:"example"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"native feature"})}),"\n",(0,o.jsxs)(n.p,{children:["This key provides you the ability to give an example mockup of your attributes. When you try to add a block to the editor using the button in the main toolbar, you will have a preview image on the right. The image generated here will actually be a rendered block with the attributes from the example key. We also use it in the storybook to mock attributes. More on this in the ",(0,o.jsx)(n.a,{href:"blocks-storybook",children:"storybook chapter"}),"."]}),"\n",(0,o.jsx)(n.h3,{id:"attributes",children:"attributes"}),"\n",(0,o.jsxs)(n.p,{children:["Attributes key is an object of attributes where you define and set up default values for a block. These attributes are then passed in the editor as props, and the PHP view part in the ",(0,o.jsx)(n.code,{children:"$attributes"})," variable.\nWe are using the same structure as described in the ",(0,o.jsx)(n.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-attributes/",children:"block editor documentation"}),". For more details please check ",(0,o.jsx)(n.a,{href:"blocks-attributes",children:"this chapter"}),"."]}),"\n",(0,o.jsx)(n.h3,{id:"hasinnerblocks",children:"hasInnerBlocks"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"default: false"})}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"custom feature"})}),"\n",(0,o.jsxs)(n.p,{children:["If the ",(0,o.jsx)(n.code,{children:"hasInnerBlocks"})," key is set to true, the block's ",(0,o.jsx)(n.code,{children:"save"})," method for inner blocks will be used. This method is used when the block has ",(0,o.jsx)(n.a,{href:"https://github.com/WordPress/gutenberg/tree/master/packages/block-editor/src/components/inner-blocks",children:(0,o.jsx)(n.code,{children:"InnerBlocks"})}),". In the PHP view file, you will have the ",(0,o.jsx)(n.code,{children:"$innerBlockContent"})," variable available. Here is an example of what happens in the back:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:" save = () => createElement(InnerBlocks.Content);\n"})}),"\n",(0,o.jsx)(n.h3,{id:"components",children:"components"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"custom feature"})}),"\n",(0,o.jsxs)(n.p,{children:["This key gives you the ability to use component attributes in your block without mapping all the component's attributes every time. Please check ",(0,o.jsx)(n.a,{href:"blocks-component-in-block",children:"this chapter"})," for more details."]}),"\n",(0,o.jsx)(n.h3,{id:"responsiveattributes",children:"responsiveAttributes"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"custom feature"})}),"\n",(0,o.jsxs)(n.p,{children:["This key is used to combine multiple attributes with the similar name for the responsive breakpoints. Please check ",(0,o.jsx)(n.a,{href:"blocks-styles",children:"this chapter"})," for more details."]}),"\n",(0,o.jsx)(n.h3,{id:"variables",children:"variables"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"custom feature"})}),"\n",(0,o.jsxs)(n.p,{children:["This key is used to provide output for CSS variables. Please check ",(0,o.jsx)(n.a,{href:"blocks-styles",children:"this chapter"})," for more details."]}),"\n",(0,o.jsx)(n.h3,{id:"options",children:"options"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"custom feature"})}),"\n",(0,o.jsxs)(n.p,{children:["This key is used to provide options used in the Block Editor options for components like SelectControl or RangeControl. With this key, you can pass options and change them depending on the component used. Please check ",(0,o.jsx)(n.a,{href:"blocks-component-in-block",children:"this chapter"})," for more details."]}),"\n",(0,o.jsx)(n.h2,{id:"the-power-of-manifestjson",children:"The power of manifest.json"}),"\n",(0,o.jsxs)(n.p,{children:["As described before we use ",(0,o.jsx)(n.code,{children:"manifest.json"})," to share stuff across PHP / JS / SCSS so you can easily see its power."]}),"\n",(0,o.jsxs)(n.p,{children:["For example, you can use ",(0,o.jsx)(n.code,{children:"manifest.json"})," to store SVG files that you will use on the front-end (PHP) and in the editor / backend (JS) files. Or you can store block options so it is easier to find and add items."]}),"\n",(0,o.jsx)(n.p,{children:"Let's see how you would share SVG icon across multiple languages:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"manifest.json"})}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsxs)(n.p,{children:["Note: because this is a ",(0,o.jsx)(n.code,{children:"JSON"})," file you must convert all double quotes to single because otherwise, you will get a fatal error."]}),"\n"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:"{\n ...\n \"icon\": \"<svg xmlns='http://www.w3.org/2000/svg' width='7' height='12' viewBox='0 0 320 512'><path fill='currentColor' d='M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z'></path></svg>\",\n ...\n}\n"})}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"block-name.php"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-php",children:"$manifest = Components::getManifest(__DIR__);\n\necho wp_kses_post($manifest['icon']);\n"})}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"block-name-editor.js"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-jsx",children:"import manifest from 'manifest.json';\n\n<span dangerouslySetInnerHTML={{ __html: manifest.icon }}></span>\n"})}),"\n",(0,o.jsx)(n.p,{children:"As you can see, you can share anything this way. Here are some additional examples:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/components/social-links/manifest.json",children:"Social Links"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/components/button/manifest.json",children:"Button"})}),"\n"]})]})}function d(e={}){const{wrapper:n}={...(0,t.M)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(h,{...e})}):h(e)}},4552:(e,n,s)=>{s.d(n,{I:()=>l,M:()=>r});var o=s(11504);const t={},i=o.createContext(t);function r(e){const n=o.useContext(i);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(t):e.components||t:r(e.components),o.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7ee32c60.16da8ddc.js b/assets/js/7ee32c60.16da8ddc.js deleted file mode 100644 index d862aaced..000000000 --- a/assets/js/7ee32c60.16da8ddc.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[99346],{56489:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>l,toc:()=>r});var i=t(85893),n=t(11151);const o={id:"manifest",title:"Manifest"},a=void 0,l={id:"legacy/v4/guides/manifest",title:"Manifest",description:"docs-source",source:"@site/docs/legacy/v4/guides/manifest.md",sourceDirName:"legacy/v4/guides",slug:"/legacy/v4/guides/manifest",permalink:"/docs/legacy/v4/guides/manifest",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"manifest",title:"Manifest"},sidebar:"docs",previous:{title:"Project Config",permalink:"/docs/legacy/v4/guides/config"},next:{title:"Enqueue",permalink:"/docs/legacy/v4/guides/enqueue"}},c={},r=[{value:"How to use it?",id:"how-to-use-it",level:2},{value:"Example",id:"example",level:2}];function d(e){const s={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",...(0,n.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/manifest",children:(0,i.jsx)(s.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsxs)(s.p,{children:["Manifest class is located in ",(0,i.jsx)(s.code,{children:"Eightshift Libs"}),". To extend it, use ",(0,i.jsx)(s.code,{children:"Eightshift_Libs\\Manifest\\Manifest"})," class."]}),"\n",(0,i.jsxs)(s.p,{children:["In the build process, Webpack creates all static files and also ",(0,i.jsx)(s.code,{children:"manifest.json"})," inside the ",(0,i.jsx)(s.code,{children:"public"})," folder. The manifest file contains a key/value list that we use to call the location of the assets dynamically."]}),"\n",(0,i.jsxs)(s.p,{children:["This class is used to provide ",(0,i.jsx)(s.code,{children:"manifest.json"})," file location and helpers to return the full path for a specific asset."]}),"\n",(0,i.jsx)(s.h2,{id:"how-to-use-it",children:"How to use it?"}),"\n",(0,i.jsxs)(s.p,{children:["The manifest class provides a filter name that is defined in the lib as a class constant. To apply/call this filter you need to provide ",(0,i.jsx)(s.code,{children:"Manifest::MANIFEST_ITEM_FILTER_NAME"})," filter name inside the project config helper. ",(0,i.jsx)(s.a,{href:"config",children:"Config helper"})," is used to append project prefix to a filter name."]}),"\n",(0,i.jsx)(s.h2,{id:"example",children:"Example"}),"\n",(0,i.jsx)(s.p,{children:"Manifest.json:"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-json",children:'{\n "logo.svg": "/wp-content/themes/eightshift-boilerplate/public/logo.svg"\n}\n'})}),"\n",(0,i.jsx)(s.p,{children:"Usage:"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-js",children:"use Eightshift_Libs\\Manifest\\Manifest;\n\n$logo_img = apply_filters( Config::get_config( Manifest::MANIFEST_ITEM_FILTER_NAME ), 'logo.svg' );\n"})}),"\n",(0,i.jsx)(s.p,{children:"Output:"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{children:"https://domain.com/wp-content/themes/eightshift-boilerplate/public/logo.svg\n"})})]})}function h(e={}){const{wrapper:s}={...(0,n.a)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},11151:(e,s,t)=>{t.d(s,{Z:()=>l,a:()=>a});var i=t(67294);const n={},o=i.createContext(n);function a(e){const s=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),i.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7ee32c60.33c46f94.js b/assets/js/7ee32c60.33c46f94.js new file mode 100644 index 000000000..ede762009 --- /dev/null +++ b/assets/js/7ee32c60.33c46f94.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[99632],{69112:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>a,contentTitle:()=>l,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>r});var i=t(17624),n=t(4552);const o={id:"manifest",title:"Manifest"},l=void 0,c={id:"legacy/v4/guides/manifest",title:"Manifest",description:"docs-source",source:"@site/docs/legacy/v4/guides/manifest.md",sourceDirName:"legacy/v4/guides",slug:"/legacy/v4/guides/manifest",permalink:"/docs/legacy/v4/guides/manifest",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"manifest",title:"Manifest"},sidebar:"docs",previous:{title:"Project Config",permalink:"/docs/legacy/v4/guides/config"},next:{title:"Enqueue",permalink:"/docs/legacy/v4/guides/enqueue"}},a={},r=[{value:"How to use it?",id:"how-to-use-it",level:2},{value:"Example",id:"example",level:2}];function d(e){const s={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",...(0,n.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/manifest",children:(0,i.jsx)(s.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsxs)(s.p,{children:["Manifest class is located in ",(0,i.jsx)(s.code,{children:"Eightshift Libs"}),". To extend it, use ",(0,i.jsx)(s.code,{children:"Eightshift_Libs\\Manifest\\Manifest"})," class."]}),"\n",(0,i.jsxs)(s.p,{children:["In the build process, Webpack creates all static files and also ",(0,i.jsx)(s.code,{children:"manifest.json"})," inside the ",(0,i.jsx)(s.code,{children:"public"})," folder. The manifest file contains a key/value list that we use to call the location of the assets dynamically."]}),"\n",(0,i.jsxs)(s.p,{children:["This class is used to provide ",(0,i.jsx)(s.code,{children:"manifest.json"})," file location and helpers to return the full path for a specific asset."]}),"\n",(0,i.jsx)(s.h2,{id:"how-to-use-it",children:"How to use it?"}),"\n",(0,i.jsxs)(s.p,{children:["The manifest class provides a filter name that is defined in the lib as a class constant. To apply/call this filter you need to provide ",(0,i.jsx)(s.code,{children:"Manifest::MANIFEST_ITEM_FILTER_NAME"})," filter name inside the project config helper. ",(0,i.jsx)(s.a,{href:"config",children:"Config helper"})," is used to append project prefix to a filter name."]}),"\n",(0,i.jsx)(s.h2,{id:"example",children:"Example"}),"\n",(0,i.jsx)(s.p,{children:"Manifest.json:"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-json",children:'{\n "logo.svg": "/wp-content/themes/eightshift-boilerplate/public/logo.svg"\n}\n'})}),"\n",(0,i.jsx)(s.p,{children:"Usage:"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-js",children:"use Eightshift_Libs\\Manifest\\Manifest;\n\n$logo_img = apply_filters( Config::get_config( Manifest::MANIFEST_ITEM_FILTER_NAME ), 'logo.svg' );\n"})}),"\n",(0,i.jsx)(s.p,{children:"Output:"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{children:"https://domain.com/wp-content/themes/eightshift-boilerplate/public/logo.svg\n"})})]})}function h(e={}){const{wrapper:s}={...(0,n.M)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},4552:(e,s,t)=>{t.d(s,{I:()=>c,M:()=>l});var i=t(11504);const n={},o=i.createContext(n);function l(e){const s=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:l(e.components),i.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7fa80a78.275fa703.js b/assets/js/7fa80a78.275fa703.js new file mode 100644 index 000000000..83d966b42 --- /dev/null +++ b/assets/js/7fa80a78.275fa703.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[26024],{75936:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>f,frontMatter:()=>o,metadata:()=>r,toc:()=>a});var l=s(17624),n=s(4552);const o={id:"style-classes",title:"Custom field classes"},i=void 0,r={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.",source:"@site/forms/php/filters/block/field/style-classes.md",sourceDirName:"php/filters/block/field",slug:"/php/filters/block/field/style-classes",permalink:"/forms/php/filters/block/field/style-classes",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"style-classes",title:"Custom field classes"},sidebar:"forms",previous:{title:"Custom field styles",permalink:"/forms/php/filters/block/field/style-options"},next:{title:"Additional content",permalink:"/forms/php/filters/block/field/additional-content"}},c={},a=[];function d(e){const t={code:"code",p:"p",pre:"pre",...(0,n.M)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(t.p,{children:"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."}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-php",children:"\\add_filter('es_forms_block_field_style_classes', [$this, 'getBlockFieldStyleClasses']);\n\n/**\n * Add additional style classes to field block.\n *\n * @param array<string, mixed> $attributes Block attributes.\n *\n * @return array<string, mixed>\n */\npublic function getBlockFieldStyleClasses(array $attributes): array\n{\n\treturn [\n\t\t'input' => [\n\t\t\t'custom-style'.\n\t\t],\n\t\t'select' => [\n\t\t\t'default',\n\t\t]\n\t];\n}\n"})})]})}function f(e={}){const{wrapper:t}={...(0,n.M)(),...e.components};return t?(0,l.jsx)(t,{...e,children:(0,l.jsx)(d,{...e})}):d(e)}},4552:(e,t,s)=>{s.d(t,{I:()=>r,M:()=>i});var l=s(11504);const n={},o=l.createContext(n);function i(e){const t=l.useContext(o);return l.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),l.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7fa80a78.8b995c9f.js b/assets/js/7fa80a78.8b995c9f.js deleted file mode 100644 index 50ec095ef..000000000 --- a/assets/js/7fa80a78.8b995c9f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[13234],{47273:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>f,frontMatter:()=>o,metadata:()=>r,toc:()=>a});var l=s(85893),n=s(11151);const o={id:"style-classes",title:"Custom field classes"},i=void 0,r={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.",source:"@site/forms/php/filters/block/field/style-classes.md",sourceDirName:"php/filters/block/field",slug:"/php/filters/block/field/style-classes",permalink:"/forms/php/filters/block/field/style-classes",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"style-classes",title:"Custom field classes"},sidebar:"forms",previous:{title:"Custom field styles",permalink:"/forms/php/filters/block/field/style-options"},next:{title:"Additional content",permalink:"/forms/php/filters/block/field/additional-content"}},c={},a=[];function d(e){const t={code:"code",p:"p",pre:"pre",...(0,n.a)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(t.p,{children:"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."}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-php",children:"\\add_filter('es_forms_block_field_style_classes', [$this, 'getBlockFieldStyleClasses']);\n\n/**\n * Add additional style classes to field block.\n *\n * @param array<string, mixed> $attributes Block attributes.\n *\n * @return array<string, mixed>\n */\npublic function getBlockFieldStyleClasses(array $attributes): array\n{\n\treturn [\n\t\t'input' => [\n\t\t\t'custom-style'.\n\t\t],\n\t\t'select' => [\n\t\t\t'default',\n\t\t]\n\t];\n}\n"})})]})}function f(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,l.jsx)(t,{...e,children:(0,l.jsx)(d,{...e})}):d(e)}},11151:(e,t,s)=>{s.d(t,{Z:()=>r,a:()=>i});var l=s(67294);const n={},o=l.createContext(n);function i(e){const t=l.useContext(o);return l.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),l.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7fbb6eb5.1bf8eeb2.js b/assets/js/7fbb6eb5.1bf8eeb2.js deleted file mode 100644 index accea278f..000000000 --- a/assets/js/7fbb6eb5.1bf8eeb2.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[33346],{49593:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>i,default:()=>l,frontMatter:()=>c,metadata:()=>o,toc:()=>d});var r=n(85893),s=n(11151);const c={id:"scripts-dependency",title:"Scripts dependency"},i=void 0,o={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.",source:"@site/forms/php/filters/general/scripts-dependency.md",sourceDirName:"php/filters/general",slug:"/php/filters/general/scripts-dependency",permalink:"/forms/php/filters/general/scripts-dependency",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"scripts-dependency",title:"Scripts dependency"}},p={},d=[];function a(e){const t={code:"code",p:"p",pre:"pre",...(0,s.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.p,{children:"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."}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-php",children:"\\add_filter('es_forms_general_scripts_dependency', [$this, 'getScriptsDependency']);\n\n/**\n * Provide custom scripts dependency.\n *\n * This filter will provide you with the ability to add custom scripts dependency so you can load your project scripts before the forms scripts.\n *\n * @return string<int, string>\n */\npublic function getScriptsDependency(): array\n{\n\treturn [];\n}\n"})})]})}function l(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(a,{...e})}):a(e)}},11151:(e,t,n)=>{n.d(t,{Z:()=>o,a:()=>i});var r=n(67294);const s={},c=r.createContext(s);function i(e){const t=r.useContext(c);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),r.createElement(c.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7fbb6eb5.eda937de.js b/assets/js/7fbb6eb5.eda937de.js new file mode 100644 index 000000000..8888c0250 --- /dev/null +++ b/assets/js/7fbb6eb5.eda937de.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[17832],{4204:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>i,default:()=>l,frontMatter:()=>c,metadata:()=>o,toc:()=>d});var r=n(17624),s=n(4552);const c={id:"scripts-dependency",title:"Scripts dependency"},i=void 0,o={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.",source:"@site/forms/php/filters/general/scripts-dependency.md",sourceDirName:"php/filters/general",slug:"/php/filters/general/scripts-dependency",permalink:"/forms/php/filters/general/scripts-dependency",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"scripts-dependency",title:"Scripts dependency"}},p={},d=[];function a(e){const t={code:"code",p:"p",pre:"pre",...(0,s.M)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.p,{children:"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."}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-php",children:"\\add_filter('es_forms_general_scripts_dependency', [$this, 'getScriptsDependency']);\n\n/**\n * Provide custom scripts dependency.\n *\n * This filter will provide you with the ability to add custom scripts dependency so you can load your project scripts before the forms scripts.\n *\n * @return string<int, string>\n */\npublic function getScriptsDependency(): array\n{\n\treturn [];\n}\n"})})]})}function l(e={}){const{wrapper:t}={...(0,s.M)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(a,{...e})}):a(e)}},4552:(e,t,n)=>{n.d(t,{I:()=>o,M:()=>i});var r=n(11504);const s={},c=r.createContext(s);function i(e){const t=r.useContext(c);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),r.createElement(c.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/805db72d.d274f2e0.js b/assets/js/805db72d.d274f2e0.js new file mode 100644 index 000000000..10a0c8ea2 --- /dev/null +++ b/assets/js/805db72d.d274f2e0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[32524],{39500:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>o,contentTitle:()=>c,default:()=>p,frontMatter:()=>i,metadata:()=>r,toc:()=>l});var s=t(17624),a=t(4552);const i={id:"backend",title:"General"},c=void 0,r={id:"legacy/v7/basics/backend",title:"General",description:"docs-source",source:"@site/docs/legacy/v7/basics/backend.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/backend",permalink:"/docs/legacy/v7/basics/backend",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"backend",title:"General"},sidebar:"docs",previous:{title:"Architecture concepts",permalink:"/docs/legacy/v7/basics/architecture-concepts"},next:{title:"Namespaces",permalink:"/docs/legacy/v7/basics/namespaces"}},o={},l=[];function h(e){const n={a:"a",img:"img",li:"li",p:"p",ul:"ul",...(0,a.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/tree/5.0.0",children:(0,s.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(n.p,{children:"In general, you can use anything as-is from the vendor library, or you can modify/add the functionality of existing classes by extending them in your project."}),"\n",(0,s.jsx)(n.p,{children:"If you are familiar with the extending classes (class inheritance) in PHP language, you can skip this chapter. For the rest, here are some awesome descriptions of how it works:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.php.net/manual/en/language.oop5.interfaces.php",children:"Interfaces"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://en.wikipedia.org/wiki/Dependency_injection",children:"Dependency Injection"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.php.net/manual/en/language.oop5.abstract.php",children:"Abstract Classes"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.php.net/manual/en/language.oop5.inheritance.php",children:"Object Inheritance"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.php.net/manual/en/language.namespaces.php",children:"Namespaces"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.php.net/manual/en/language.oop5.traits.php",children:"Traits"})}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Please get acquainted with these concepts before you continue because they will help you in the later chapters."})]})}function p(e={}){const{wrapper:n}={...(0,a.M)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},4552:(e,n,t)=>{t.d(n,{I:()=>r,M:()=>c});var s=t(11504);const a={},i=s.createContext(a);function c(e){const n=s.useContext(i);return s.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(a):e.components||a:c(e.components),s.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/805db72d.e5918289.js b/assets/js/805db72d.e5918289.js deleted file mode 100644 index 825d3fb08..000000000 --- a/assets/js/805db72d.e5918289.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[4392],{42393:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>o,contentTitle:()=>c,default:()=>p,frontMatter:()=>i,metadata:()=>r,toc:()=>l});var s=t(85893),a=t(11151);const i={id:"backend",title:"General"},c=void 0,r={id:"legacy/v7/basics/backend",title:"General",description:"docs-source",source:"@site/docs/legacy/v7/basics/backend.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/backend",permalink:"/docs/legacy/v7/basics/backend",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"backend",title:"General"},sidebar:"docs",previous:{title:"Architecture concepts",permalink:"/docs/legacy/v7/basics/architecture-concepts"},next:{title:"Namespaces",permalink:"/docs/legacy/v7/basics/namespaces"}},o={},l=[];function h(e){const n={a:"a",img:"img",li:"li",p:"p",ul:"ul",...(0,a.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/tree/5.0.0",children:(0,s.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(n.p,{children:"In general, you can use anything as-is from the vendor library, or you can modify/add the functionality of existing classes by extending them in your project."}),"\n",(0,s.jsx)(n.p,{children:"If you are familiar with the extending classes (class inheritance) in PHP language, you can skip this chapter. For the rest, here are some awesome descriptions of how it works:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.php.net/manual/en/language.oop5.interfaces.php",children:"Interfaces"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://en.wikipedia.org/wiki/Dependency_injection",children:"Dependency Injection"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.php.net/manual/en/language.oop5.abstract.php",children:"Abstract Classes"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.php.net/manual/en/language.oop5.inheritance.php",children:"Object Inheritance"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.php.net/manual/en/language.namespaces.php",children:"Namespaces"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.php.net/manual/en/language.oop5.traits.php",children:"Traits"})}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Please get acquainted with these concepts before you continue because they will help you in the later chapters."})]})}function p(e={}){const{wrapper:n}={...(0,a.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},11151:(e,n,t)=>{t.d(n,{Z:()=>r,a:()=>c});var s=t(67294);const a={},i=s.createContext(a);function c(e){const n=s.useContext(i);return s.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(a):e.components||a:c(e.components),s.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/80796e9f.46b2c0c2.js b/assets/js/80796e9f.46b2c0c2.js deleted file mode 100644 index 36f8df31d..000000000 --- a/assets/js/80796e9f.46b2c0c2.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[14845],{74025:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>l,default:()=>h,frontMatter:()=>t,metadata:()=>r,toc:()=>a});var i=s(85893),o=s(11151);const t={id:"wp-cli",title:"WP-CLI"},l=void 0,r={id:"legacy/v7/basics/wp-cli",title:"WP-CLI",description:"docs-source",source:"@site/docs/legacy/v7/basics/wp-cli.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/wp-cli",permalink:"/docs/legacy/v7/basics/wp-cli",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"wp-cli",title:"WP-CLI"},sidebar:"docs",previous:{title:"Basics",permalink:"/docs/legacy/v7/basics/basics-intro"},next:{title:"Architecture concepts",permalink:"/docs/legacy/v7/basics/architecture-concepts"}},c={},a=[{value:"How it works",id:"how-it-works",level:2},{value:"Options and commands",id:"options-and-commands",level:2},{value:"Commands",id:"commands",level:3},{value:"Running commands in multisite",id:"running-commands-in-multisite",level:2}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,o.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/tree/5.0.0",children:(0,i.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsxs)(n.p,{children:["Eightshift Development Kit provides extensive ",(0,i.jsx)(n.a,{href:"https://wp-cli.org/",children:"WP-CLI"})," tooling, allowing you to automate bootstrapping of common code, adding blocks from the Frontend Libs library to your projects and more using ",(0,i.jsx)(n.code,{children:"wp boilerplate"}),"."]}),"\n",(0,i.jsx)(n.h2,{id:"how-it-works",children:"How it works"}),"\n",(0,i.jsxs)(n.p,{children:["In your project's entry point (usually ",(0,i.jsx)(n.code,{children:"functions.php"}),"), you'll find something along these lines:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-php",children:"/**\n * Run all WP-CLI commands.\n */\nif (class_exists(Cli::class)) {\n (new Cli())->load('boilerplate');\n}\n"})}),"\n",(0,i.jsxs)(n.p,{children:["This code loads the WP-CLI class from Eightshift Libs, which handles command registration for all of our commands. As this command registration is part of the theme/plugin code, this means that the same theme/plugin ",(0,i.jsx)(n.strong,{children:"must be activated"})," for ",(0,i.jsx)(n.code,{children:"wp boilerplate"})," to work."]}),"\n",(0,i.jsx)(n.p,{children:"To run the WP-CLI command and see what you can use, run this command in your terminal:"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"wp boilerplate --help"})}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:["By default, your project's WP-CLI commands run under the parent name ",(0,i.jsx)(n.code,{children:"boilerplate"}),", as defined above."]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"You can change that by simply replacing the string inside the load method like this:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-php",children:"/**\n * Run all WP-CLI commands.\n */\nif (class_exists(Cli::class)) {\n (new Cli())->load('superCoolTheme');\n}\n"})}),"\n",(0,i.jsx)(n.p,{children:"Now, your project's WP-CLI commands are available using:"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"wp superCoolTheme --help"}),"."]}),"\n",(0,i.jsx)(n.p,{children:"This is especially handy when you have multiple Eightshift Boilerplate powered themes or plugins installed. In that case, you should change the WP-CLI parent name on each of the projects."}),"\n",(0,i.jsx)(n.h2,{id:"options-and-commands",children:"Options and commands"}),"\n",(0,i.jsxs)(n.p,{children:["To get to know which commands are available and what do they do, run ",(0,i.jsx)(n.code,{children:"wp boilerplate --help"}),".\nThe ",(0,i.jsx)(n.code,{children:"--help"})," argument is available on all of our commands and provides a description of the command and a list of required and optional parameters for the command."]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"wp boilerplate create_config --help"})}),"\n",(0,i.jsx)(n.h3,{id:"commands",children:"Commands"}),"\n",(0,i.jsx)(n.p,{children:"We use these common prefixes for commands:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"create"})," - services classes that will be copied to your project."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"init"})," - additional functions, methods and helpers that will be copied to your project."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"run"})," - commands used to run an action directly from Eightshift Libs. They will not copy anything to your project."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"setup"})," - commands that runs multiple already defined commands from the list."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"use"})," - commands used for blocks and block-related stuff. They will copy various files and folders from the blocks folder to your project."]}),"\n"]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Make WP-CLI your best friend, and your coding life will be much more comfortable, trust us."})}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["While we might go into more details about some of these commands, we won't be documenting all of them here - use the built-in manuals for more information about particular commands and to discover what's available. Don't gloss over them, as using ",(0,i.jsx)(n.code,{children:"wp boilerplate"})," is a particularly useful tool when building projects with Eightshift Development Kit."]}),"\n",(0,i.jsx)(n.h2,{id:"running-commands-in-multisite",children:"Running commands in multisite"}),"\n",(0,i.jsxs)(n.p,{children:["When you are running a multisite setup, you should always provide the additional ",(0,i.jsx)(n.code,{children:"--url"})," parameter. Otherwise, WP-CLI will always run the command on the main site."]}),"\n",(0,i.jsx)(n.p,{children:"Here is an example for command running on the primary site:"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"wp boilerplate create_config"})}),"\n",(0,i.jsx)(n.p,{children:"and here is an example for command running on the subsite:"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"wp boilerplate create_config --url='custom.domain.com'"})})]})}function h(e={}){const{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},11151:(e,n,s)=>{s.d(n,{Z:()=>r,a:()=>l});var i=s(67294);const o={},t=i.createContext(o);function l(e){const n=i.useContext(t);return i.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(o):e.components||o:l(e.components),i.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/80796e9f.5f6362c9.js b/assets/js/80796e9f.5f6362c9.js new file mode 100644 index 000000000..f39b44b0a --- /dev/null +++ b/assets/js/80796e9f.5f6362c9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[70864],{34840:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>l,default:()=>h,frontMatter:()=>t,metadata:()=>r,toc:()=>a});var i=s(17624),o=s(4552);const t={id:"wp-cli",title:"WP-CLI"},l=void 0,r={id:"legacy/v7/basics/wp-cli",title:"WP-CLI",description:"docs-source",source:"@site/docs/legacy/v7/basics/wp-cli.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/wp-cli",permalink:"/docs/legacy/v7/basics/wp-cli",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"wp-cli",title:"WP-CLI"},sidebar:"docs",previous:{title:"Basics",permalink:"/docs/legacy/v7/basics/basics-intro"},next:{title:"Architecture concepts",permalink:"/docs/legacy/v7/basics/architecture-concepts"}},c={},a=[{value:"How it works",id:"how-it-works",level:2},{value:"Options and commands",id:"options-and-commands",level:2},{value:"Commands",id:"commands",level:3},{value:"Running commands in multisite",id:"running-commands-in-multisite",level:2}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,o.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/tree/5.0.0",children:(0,i.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsxs)(n.p,{children:["Eightshift Development Kit provides extensive ",(0,i.jsx)(n.a,{href:"https://wp-cli.org/",children:"WP-CLI"})," tooling, allowing you to automate bootstrapping of common code, adding blocks from the Frontend Libs library to your projects and more using ",(0,i.jsx)(n.code,{children:"wp boilerplate"}),"."]}),"\n",(0,i.jsx)(n.h2,{id:"how-it-works",children:"How it works"}),"\n",(0,i.jsxs)(n.p,{children:["In your project's entry point (usually ",(0,i.jsx)(n.code,{children:"functions.php"}),"), you'll find something along these lines:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-php",children:"/**\n * Run all WP-CLI commands.\n */\nif (class_exists(Cli::class)) {\n (new Cli())->load('boilerplate');\n}\n"})}),"\n",(0,i.jsxs)(n.p,{children:["This code loads the WP-CLI class from Eightshift Libs, which handles command registration for all of our commands. As this command registration is part of the theme/plugin code, this means that the same theme/plugin ",(0,i.jsx)(n.strong,{children:"must be activated"})," for ",(0,i.jsx)(n.code,{children:"wp boilerplate"})," to work."]}),"\n",(0,i.jsx)(n.p,{children:"To run the WP-CLI command and see what you can use, run this command in your terminal:"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"wp boilerplate --help"})}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:["By default, your project's WP-CLI commands run under the parent name ",(0,i.jsx)(n.code,{children:"boilerplate"}),", as defined above."]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"You can change that by simply replacing the string inside the load method like this:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-php",children:"/**\n * Run all WP-CLI commands.\n */\nif (class_exists(Cli::class)) {\n (new Cli())->load('superCoolTheme');\n}\n"})}),"\n",(0,i.jsx)(n.p,{children:"Now, your project's WP-CLI commands are available using:"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"wp superCoolTheme --help"}),"."]}),"\n",(0,i.jsx)(n.p,{children:"This is especially handy when you have multiple Eightshift Boilerplate powered themes or plugins installed. In that case, you should change the WP-CLI parent name on each of the projects."}),"\n",(0,i.jsx)(n.h2,{id:"options-and-commands",children:"Options and commands"}),"\n",(0,i.jsxs)(n.p,{children:["To get to know which commands are available and what do they do, run ",(0,i.jsx)(n.code,{children:"wp boilerplate --help"}),".\nThe ",(0,i.jsx)(n.code,{children:"--help"})," argument is available on all of our commands and provides a description of the command and a list of required and optional parameters for the command."]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"wp boilerplate create_config --help"})}),"\n",(0,i.jsx)(n.h3,{id:"commands",children:"Commands"}),"\n",(0,i.jsx)(n.p,{children:"We use these common prefixes for commands:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"create"})," - services classes that will be copied to your project."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"init"})," - additional functions, methods and helpers that will be copied to your project."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"run"})," - commands used to run an action directly from Eightshift Libs. They will not copy anything to your project."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"setup"})," - commands that runs multiple already defined commands from the list."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"use"})," - commands used for blocks and block-related stuff. They will copy various files and folders from the blocks folder to your project."]}),"\n"]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Make WP-CLI your best friend, and your coding life will be much more comfortable, trust us."})}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["While we might go into more details about some of these commands, we won't be documenting all of them here - use the built-in manuals for more information about particular commands and to discover what's available. Don't gloss over them, as using ",(0,i.jsx)(n.code,{children:"wp boilerplate"})," is a particularly useful tool when building projects with Eightshift Development Kit."]}),"\n",(0,i.jsx)(n.h2,{id:"running-commands-in-multisite",children:"Running commands in multisite"}),"\n",(0,i.jsxs)(n.p,{children:["When you are running a multisite setup, you should always provide the additional ",(0,i.jsx)(n.code,{children:"--url"})," parameter. Otherwise, WP-CLI will always run the command on the main site."]}),"\n",(0,i.jsx)(n.p,{children:"Here is an example for command running on the primary site:"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"wp boilerplate create_config"})}),"\n",(0,i.jsx)(n.p,{children:"and here is an example for command running on the subsite:"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"wp boilerplate create_config --url='custom.domain.com'"})})]})}function h(e={}){const{wrapper:n}={...(0,o.M)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},4552:(e,n,s)=>{s.d(n,{I:()=>r,M:()=>l});var i=s(11504);const o={},t=i.createContext(o);function l(e){const n=i.useContext(t);return i.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(o):e.components||o:l(e.components),i.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/80d0bffa.d6c4486e.js b/assets/js/80d0bffa.d6c4486e.js deleted file mode 100644 index ff4b35c62..000000000 --- a/assets/js/80d0bffa.d6c4486e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[23360],{28619:(t,n,o)=>{o.r(n),o.d(n,{assets:()=>c,contentTitle:()=>s,default:()=>m,frontMatter:()=>r,metadata:()=>a,toc:()=>l});var e=o(85893),i=o(11151);const r={id:"migrations",title:"Migrations"},s=void 0,a={id:"php/actions/migrations",title:"Migrations",description:"Based on the migration version you can run custom actions before migration is triggered.",source:"@site/forms/php/actions/migrations.md",sourceDirName:"php/actions",slug:"/php/actions/migrations",permalink:"/forms/php/actions/migrations",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"migrations",title:"Migrations"},sidebar:"forms",previous:{title:"How to use?",permalink:"/forms/php/actions/how-to-use"},next:{title:"Intro",permalink:"/forms/javascript/intro"}},c={},l=[{value:"How to use",id:"how-to-use",level:2}];function u(t){const n={code:"code",h2:"h2",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.a)(),...t.components};return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(n.p,{children:"Based on the migration version you can run custom actions before migration is triggered."}),"\n",(0,e.jsx)(n.p,{children:(0,e.jsx)(n.strong,{children:"Actions list:"})}),"\n",(0,e.jsxs)(n.ul,{children:["\n",(0,e.jsx)(n.li,{children:"es_forms_migration_two_to_three_general"}),"\n",(0,e.jsx)(n.li,{children:"es_forms_migration_two_to_three_forms"}),"\n",(0,e.jsx)(n.li,{children:"es_forms_migration_two_to_three_locale"}),"\n"]}),"\n",(0,e.jsx)(n.h2,{id:"how-to-use",children:"How to use"}),"\n",(0,e.jsx)(n.pre,{children:(0,e.jsx)(n.code,{className:"language-php",children:"\\add_action('es_forms_migration_two_to_three_locale', [$this, 'runMigration2To3Locale']);\n\n/**\n * Run custom action after migration from version 2 to 3 locale.\n *\n * @return void\n */\npublic function runMigration2To3Locale(): void\n{\n\t\\update_option('<option-name>', '<option-value>');\n}\n"})})]})}function m(t={}){const{wrapper:n}={...(0,i.a)(),...t.components};return n?(0,e.jsx)(n,{...t,children:(0,e.jsx)(u,{...t})}):u(t)}},11151:(t,n,o)=>{o.d(n,{Z:()=>a,a:()=>s});var e=o(67294);const i={},r=e.createContext(i);function s(t){const n=e.useContext(r);return e.useMemo((function(){return"function"==typeof t?t(n):{...n,...t}}),[n,t])}function a(t){let n;return n=t.disableParentContext?"function"==typeof t.components?t.components(i):t.components||i:s(t.components),e.createElement(r.Provider,{value:n},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/80d0bffa.dc3b5788.js b/assets/js/80d0bffa.dc3b5788.js new file mode 100644 index 000000000..0a60d2adb --- /dev/null +++ b/assets/js/80d0bffa.dc3b5788.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[38476],{84340:(t,n,o)=>{o.r(n),o.d(n,{assets:()=>c,contentTitle:()=>s,default:()=>m,frontMatter:()=>r,metadata:()=>a,toc:()=>l});var e=o(17624),i=o(4552);const r={id:"migrations",title:"Migrations"},s=void 0,a={id:"php/actions/migrations",title:"Migrations",description:"Based on the migration version you can run custom actions before migration is triggered.",source:"@site/forms/php/actions/migrations.md",sourceDirName:"php/actions",slug:"/php/actions/migrations",permalink:"/forms/php/actions/migrations",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"migrations",title:"Migrations"},sidebar:"forms",previous:{title:"How to use?",permalink:"/forms/php/actions/how-to-use"},next:{title:"Intro",permalink:"/forms/javascript/intro"}},c={},l=[{value:"How to use",id:"how-to-use",level:2}];function u(t){const n={code:"code",h2:"h2",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.M)(),...t.components};return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(n.p,{children:"Based on the migration version you can run custom actions before migration is triggered."}),"\n",(0,e.jsx)(n.p,{children:(0,e.jsx)(n.strong,{children:"Actions list:"})}),"\n",(0,e.jsxs)(n.ul,{children:["\n",(0,e.jsx)(n.li,{children:"es_forms_migration_two_to_three_general"}),"\n",(0,e.jsx)(n.li,{children:"es_forms_migration_two_to_three_forms"}),"\n",(0,e.jsx)(n.li,{children:"es_forms_migration_two_to_three_locale"}),"\n"]}),"\n",(0,e.jsx)(n.h2,{id:"how-to-use",children:"How to use"}),"\n",(0,e.jsx)(n.pre,{children:(0,e.jsx)(n.code,{className:"language-php",children:"\\add_action('es_forms_migration_two_to_three_locale', [$this, 'runMigration2To3Locale']);\n\n/**\n * Run custom action after migration from version 2 to 3 locale.\n *\n * @return void\n */\npublic function runMigration2To3Locale(): void\n{\n\t\\update_option('<option-name>', '<option-value>');\n}\n"})})]})}function m(t={}){const{wrapper:n}={...(0,i.M)(),...t.components};return n?(0,e.jsx)(n,{...t,children:(0,e.jsx)(u,{...t})}):u(t)}},4552:(t,n,o)=>{o.d(n,{I:()=>a,M:()=>s});var e=o(11504);const i={},r=e.createContext(i);function s(t){const n=e.useContext(r);return e.useMemo((function(){return"function"==typeof t?t(n):{...n,...t}}),[n,t])}function a(t){let n;return n=t.disableParentContext?"function"==typeof t.components?t.components(i):t.components||i:s(t.components),e.createElement(r.Provider,{value:n},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/80d5addc.15f0843b.js b/assets/js/80d5addc.15f0843b.js deleted file mode 100644 index 3b2d25dd7..000000000 --- a/assets/js/80d5addc.15f0843b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[123],{26623:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>r,contentTitle:()=>a,default:()=>h,frontMatter:()=>i,metadata:()=>c,toc:()=>l});var n=t(85893),o=t(11151);const i={id:"namespaces",title:"Namespaces",sidebar_label:"Namespaces"},a=void 0,c={id:"legacy/v5/basics/namespaces",title:"Namespaces",description:"docs-source",source:"@site/docs/legacy/v5/basics/namespaces.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/namespaces",permalink:"/docs/legacy/v5/basics/namespaces",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"namespaces",title:"Namespaces",sidebar_label:"Namespaces"},sidebar:"docs",previous:{title:"Backend",permalink:"/docs/legacy/v5/basics/backend"},next:{title:"Extending Classes",permalink:"/docs/legacy/v5/basics/extending-classes"}},r={},l=[];function d(e){const s={a:"a",blockquote:"blockquote",code:"code",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,o.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/infinum/eightshift-libs/tree/3.0.0/",children:(0,n.jsx)(s.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsxs)(s.blockquote,{children:["\n",(0,n.jsxs)(s.p,{children:["PHP part of this project lives in ",(0,n.jsx)(s.code,{children:"EightshiftLibs"})," namespace."]}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["Because WordPress lives in a global namespace, we had to provide the way for your project to be unique. That is why we implemented ",(0,n.jsx)(s.a,{href:"https://github.com/infinum/imposter-plugin",children:(0,n.jsx)(s.strong,{children:"Imposter"})})," script inside ",(0,n.jsx)(s.code,{children:"composer.json"}),". Imposter adds a namespace prefix on all the packages inside the ",(0,n.jsx)(s.code,{children:"vendor"})," folder that uses namespacing."]}),"\n",(0,n.jsxs)(s.p,{children:["You can change the vendor prefix in your ",(0,n.jsx)(s.code,{children:"composer.json"})," file. But if you do this, make sure you delete the ",(0,n.jsx)(s.code,{children:"vendor"})," folder before running the command to install the composer packages again with the ",(0,n.jsx)(s.code,{children:"composer install"})," command."]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-json",children:'"autoload": {\n "psr-4": {\n "CustomProject\\\\": "src/"\n }\n},\n"extra": {\n "imposter": {\n "namespace": "EightshiftBoilerplateVendor"\n }\n}\n'})}),"\n",(0,n.jsx)(s.p,{children:"For example, with the default setup, your project will have the namespace you defined in the setup process. But let's say you have the structure from the parent code:"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:["Your current namespace is: ",(0,n.jsx)(s.code,{children:"CustomProject"}),"."]}),"\n",(0,n.jsxs)(s.li,{children:["Namespace for all packages used from Eightshift libs is ",(0,n.jsx)(s.code,{children:"EightshiftBoilerplateVendor\\CustomProject"}),"."]}),"\n",(0,n.jsxs)(s.li,{children:["Also, every package you additionally install will follow the same convention: ",(0,n.jsx)(s.code,{children:"EightshiftBoilerplateVendor\\SomePackageNamespace"}),"."]}),"\n"]}),"\n",(0,n.jsx)(s.p,{children:"To sum it up: you don't need to change the default vendor prefix if you only run one theme or one plugin with Eightshift Boilerplate. But if you have multiple Eightshift Boilerplate powered themes or plugins installed, please change the vendor prefix on each of the projects."})]})}function h(e={}){const{wrapper:s}={...(0,o.a)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},11151:(e,s,t)=>{t.d(s,{Z:()=>c,a:()=>a});var n=t(67294);const o={},i=n.createContext(o);function a(e){const s=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:a(e.components),n.createElement(i.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/80d5addc.1ef54946.js b/assets/js/80d5addc.1ef54946.js new file mode 100644 index 000000000..4e23c1b95 --- /dev/null +++ b/assets/js/80d5addc.1ef54946.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[67412],{94748:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>r,contentTitle:()=>a,default:()=>h,frontMatter:()=>i,metadata:()=>c,toc:()=>l});var n=t(17624),o=t(4552);const i={id:"namespaces",title:"Namespaces",sidebar_label:"Namespaces"},a=void 0,c={id:"legacy/v5/basics/namespaces",title:"Namespaces",description:"docs-source",source:"@site/docs/legacy/v5/basics/namespaces.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/namespaces",permalink:"/docs/legacy/v5/basics/namespaces",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"namespaces",title:"Namespaces",sidebar_label:"Namespaces"},sidebar:"docs",previous:{title:"Backend",permalink:"/docs/legacy/v5/basics/backend"},next:{title:"Extending Classes",permalink:"/docs/legacy/v5/basics/extending-classes"}},r={},l=[];function d(e){const s={a:"a",blockquote:"blockquote",code:"code",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,o.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/infinum/eightshift-libs/tree/3.0.0/",children:(0,n.jsx)(s.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsxs)(s.blockquote,{children:["\n",(0,n.jsxs)(s.p,{children:["PHP part of this project lives in ",(0,n.jsx)(s.code,{children:"EightshiftLibs"})," namespace."]}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["Because WordPress lives in a global namespace, we had to provide the way for your project to be unique. That is why we implemented ",(0,n.jsx)(s.a,{href:"https://github.com/infinum/imposter-plugin",children:(0,n.jsx)(s.strong,{children:"Imposter"})})," script inside ",(0,n.jsx)(s.code,{children:"composer.json"}),". Imposter adds a namespace prefix on all the packages inside the ",(0,n.jsx)(s.code,{children:"vendor"})," folder that uses namespacing."]}),"\n",(0,n.jsxs)(s.p,{children:["You can change the vendor prefix in your ",(0,n.jsx)(s.code,{children:"composer.json"})," file. But if you do this, make sure you delete the ",(0,n.jsx)(s.code,{children:"vendor"})," folder before running the command to install the composer packages again with the ",(0,n.jsx)(s.code,{children:"composer install"})," command."]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-json",children:'"autoload": {\n "psr-4": {\n "CustomProject\\\\": "src/"\n }\n},\n"extra": {\n "imposter": {\n "namespace": "EightshiftBoilerplateVendor"\n }\n}\n'})}),"\n",(0,n.jsx)(s.p,{children:"For example, with the default setup, your project will have the namespace you defined in the setup process. But let's say you have the structure from the parent code:"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:["Your current namespace is: ",(0,n.jsx)(s.code,{children:"CustomProject"}),"."]}),"\n",(0,n.jsxs)(s.li,{children:["Namespace for all packages used from Eightshift libs is ",(0,n.jsx)(s.code,{children:"EightshiftBoilerplateVendor\\CustomProject"}),"."]}),"\n",(0,n.jsxs)(s.li,{children:["Also, every package you additionally install will follow the same convention: ",(0,n.jsx)(s.code,{children:"EightshiftBoilerplateVendor\\SomePackageNamespace"}),"."]}),"\n"]}),"\n",(0,n.jsx)(s.p,{children:"To sum it up: you don't need to change the default vendor prefix if you only run one theme or one plugin with Eightshift Boilerplate. But if you have multiple Eightshift Boilerplate powered themes or plugins installed, please change the vendor prefix on each of the projects."})]})}function h(e={}){const{wrapper:s}={...(0,o.M)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},4552:(e,s,t)=>{t.d(s,{I:()=>c,M:()=>a});var n=t(11504);const o={},i=n.createContext(o);function a(e){const s=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:a(e.components),n.createElement(i.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/812444b5.ea035503.js b/assets/js/812444b5.ea035503.js deleted file mode 100644 index 66014f061..000000000 --- a/assets/js/812444b5.ea035503.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[22358],{75143:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>i,metadata:()=>c,toc:()=>l});var n=s(85893),o=s(11151);const i={id:"fonts",title:"Fonts"},r=void 0,c={id:"legacy/v6/basics/fonts",title:"Fonts",description:"docs-source",source:"@site/docs/legacy/v6/basics/fonts.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/fonts",permalink:"/docs/legacy/v6/basics/fonts",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"fonts",title:"Fonts"},sidebar:"docs",previous:{title:"Writing Styles",permalink:"/docs/legacy/v6/basics/writing-styles"},next:{title:"Browsersync",permalink:"/docs/legacy/v6/basics/browser-sync"}},a={},l=[];function d(e){const t={a:"a",code:"code",img:"img",li:"li",p:"p",ul:"ul",...(0,o.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(t.p,{children:"Fonts can be added to your project in multiple ways, depending on your project's needs. In general, if you can use fonts from an external source like Google Fonts, use that approach because the fonts are loaded smartly. On the other hand, if you have fonts that are added to your project, below are the steps to follow to make them available in the project."}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["Put your font files in this folder: ",(0,n.jsx)(t.code,{children:"assets/fonts"}),"."]}),"\n",(0,n.jsxs)(t.li,{children:["Import each file in the ",(0,n.jsx)(t.code,{children:"assets/fonts/index.js"})," so that Webpack knows how to process these files in its build process."]}),"\n",(0,n.jsxs)(t.li,{children:["In your project, load the font family using font-face ",(0,n.jsx)(t.a,{href:"/sass",children:"method"}),". We recommend that you create a new file ",(0,n.jsx)(t.code,{children:"assets/styles/parts/utils/_defaults.scss"})," and put everything in that file."]}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},11151:(e,t,s)=>{s.d(t,{Z:()=>c,a:()=>r});var n=s(67294);const o={},i=n.createContext(o);function r(e){const t=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),n.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/812444b5.f43cbc64.js b/assets/js/812444b5.f43cbc64.js new file mode 100644 index 000000000..5c06b91d9 --- /dev/null +++ b/assets/js/812444b5.f43cbc64.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[51320],{43292:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>i,metadata:()=>c,toc:()=>l});var n=s(17624),o=s(4552);const i={id:"fonts",title:"Fonts"},r=void 0,c={id:"legacy/v6/basics/fonts",title:"Fonts",description:"docs-source",source:"@site/docs/legacy/v6/basics/fonts.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/fonts",permalink:"/docs/legacy/v6/basics/fonts",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"fonts",title:"Fonts"},sidebar:"docs",previous:{title:"Writing Styles",permalink:"/docs/legacy/v6/basics/writing-styles"},next:{title:"Browsersync",permalink:"/docs/legacy/v6/basics/browser-sync"}},a={},l=[];function d(e){const t={a:"a",code:"code",img:"img",li:"li",p:"p",ul:"ul",...(0,o.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(t.p,{children:"Fonts can be added to your project in multiple ways, depending on your project's needs. In general, if you can use fonts from an external source like Google Fonts, use that approach because the fonts are loaded smartly. On the other hand, if you have fonts that are added to your project, below are the steps to follow to make them available in the project."}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["Put your font files in this folder: ",(0,n.jsx)(t.code,{children:"assets/fonts"}),"."]}),"\n",(0,n.jsxs)(t.li,{children:["Import each file in the ",(0,n.jsx)(t.code,{children:"assets/fonts/index.js"})," so that Webpack knows how to process these files in its build process."]}),"\n",(0,n.jsxs)(t.li,{children:["In your project, load the font family using font-face ",(0,n.jsx)(t.a,{href:"/docs/basics/library",children:"method"}),". We recommend that you create a new file ",(0,n.jsx)(t.code,{children:"assets/styles/parts/utils/_defaults.scss"})," and put everything in that file."]}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,o.M)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},4552:(e,t,s)=>{s.d(t,{I:()=>c,M:()=>r});var n=s(11504);const o={},i=n.createContext(o);function r(e){const t=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),n.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/814f3328.4a44c4ec.js b/assets/js/814f3328.4a44c4ec.js deleted file mode 100644 index 919680ff7..000000000 --- a/assets/js/814f3328.4a44c4ec.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[52535],{45641:e=>{e.exports=JSON.parse('{"title":"Latest posts","items":[{"title":"Making your project multilingual","permalink":"/blog/making-your-project-multilingual","unlisted":false},{"title":"How to use the Wrapper as a standalone component","permalink":"/blog/wrapper-as-a-standalone-component","unlisted":false},{"title":"Working with custom queries","permalink":"/blog/working-with-custom-queries","unlisted":false},{"title":"Using multiple same components","permalink":"/blog/multiple-same-components","unlisted":false},{"title":"Block Patterns","permalink":"/blog/block-patterns","unlisted":false}]}')}}]); \ No newline at end of file diff --git a/assets/js/814f3328.d17fcfde.js b/assets/js/814f3328.d17fcfde.js new file mode 100644 index 000000000..f3782a8b1 --- /dev/null +++ b/assets/js/814f3328.d17fcfde.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[45512],{4352:e=>{e.exports=JSON.parse('{"title":"Latest posts","items":[{"title":"Making your project multilingual","permalink":"/blog/making-your-project-multilingual","unlisted":false},{"title":"How to use the Wrapper as a standalone component","permalink":"/blog/wrapper-as-a-standalone-component","unlisted":false},{"title":"Working with custom queries","permalink":"/blog/working-with-custom-queries","unlisted":false},{"title":"Using multiple same components","permalink":"/blog/multiple-same-components","unlisted":false},{"title":"Block Patterns","permalink":"/blog/block-patterns","unlisted":false}]}')}}]); \ No newline at end of file diff --git a/assets/js/81676.f9a1025a.js b/assets/js/81676.f9a1025a.js new file mode 100644 index 000000000..125ec92ff --- /dev/null +++ b/assets/js/81676.f9a1025a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[81676],{81676:(s,e,h)=>{h.r(e)}}]); \ No newline at end of file diff --git a/assets/js/81d5dffa.7049f69e.js b/assets/js/81d5dffa.7049f69e.js deleted file mode 100644 index c2ffb4d16..000000000 --- a/assets/js/81d5dffa.7049f69e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[12429],{18927:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>l,contentTitle:()=>o,default:()=>h,frontMatter:()=>i,metadata:()=>a,toc:()=>c});var t=s(85893),r=s(11151);const i={id:"helpers-components-helpers",title:"Components"},o=void 0,a={id:"legacy/v4/advanced/helpers-components-helpers",title:"Components",description:"docs-source",source:"@site/docs/legacy/v4/advanced/helpers-components.md",sourceDirName:"legacy/v4/advanced",slug:"/legacy/v4/advanced/helpers-components-helpers",permalink:"/docs/legacy/v4/advanced/helpers-components-helpers",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"helpers-components-helpers",title:"Components"},sidebar:"docs",previous:{title:"Object",permalink:"/docs/legacy/v4/advanced/helpers-object-helpers"},next:{title:"Shortcode",permalink:"/docs/legacy/v4/advanced/helpers-shortcode-helpers"}},l={},c=[{value:"ensure_string",id:"ensure_string",level:2},{value:"classnames",id:"classnames",level:2},{value:"render",id:"render",level:2}];function d(e){const n={a:"a",code:"code",h2:"h2",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,r.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/helpers/class-components.php",children:(0,t.jsx)(n.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsxs)(n.p,{children:["Components helper is located in ",(0,t.jsx)(n.code,{children:"Eightshift Libs"}),". To extend it, use ",(0,t.jsx)(n.code,{children:"Eightshift_Libs\\Helpers\\Components"})," class."]}),"\n",(0,t.jsxs)(n.p,{children:["We have created this simple helper that you can use in any PHP class as a static helper. To see all of the components helpers go ",(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/helpers/class-components.php",children:"here"}),"."]}),"\n",(0,t.jsx)(n.h2,{id:"ensure_string",children:"ensure_string"}),"\n",(0,t.jsx)(n.p,{children:"Makes sure the output is a string. Useful for converting an array of components into a string."}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"@param array|string $variable Variable we need to convert into a string."}),"\n",(0,t.jsx)(n.li,{children:"@return string"}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"classnames",children:"classnames"}),"\n",(0,t.jsx)(n.p,{children:"Converts an array of classes into a string which can be echoed."}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"@param array $classes Array of classes."}),"\n",(0,t.jsx)(n.li,{children:"@return string"}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"render",children:"render"}),"\n",(0,t.jsx)(n.p,{children:"Renders components and (optionally) passes some attributes to it."}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:'Note about "parentClass" attribute'}),":\nIf provided, the component will be wrapped with a parent BEM selector. For example, if ",(0,t.jsx)(n.code,{children:"$attributes['parentClass'] === 'header'"})," and ",(0,t.jsx)(n.code,{children:"$component === 'logo'"})," are set, the component will be wrapped with a ",(0,t.jsx)(n.code,{children:'<div class="header__logo"></div>'})]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"@param string $component Component's name or full path (ending with .php)."}),"\n",(0,t.jsx)(n.li,{children:"@param array $attributes Array of attributes that are implicitly passed to the component."}),"\n",(0,t.jsx)(n.li,{children:"@return string"}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},11151:(e,n,s)=>{s.d(n,{Z:()=>a,a:()=>o});var t=s(67294);const r={},i=t.createContext(r);function o(e){const n=t.useContext(i);return t.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(r):e.components||r:o(e.components),t.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/81d5dffa.a9109b62.js b/assets/js/81d5dffa.a9109b62.js new file mode 100644 index 000000000..be7c42f6f --- /dev/null +++ b/assets/js/81d5dffa.a9109b62.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[81060],{14924:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>a,contentTitle:()=>o,default:()=>h,frontMatter:()=>i,metadata:()=>l,toc:()=>c});var t=s(17624),r=s(4552);const i={id:"helpers-components-helpers",title:"Components"},o=void 0,l={id:"legacy/v4/advanced/helpers-components-helpers",title:"Components",description:"docs-source",source:"@site/docs/legacy/v4/advanced/helpers-components.md",sourceDirName:"legacy/v4/advanced",slug:"/legacy/v4/advanced/helpers-components-helpers",permalink:"/docs/legacy/v4/advanced/helpers-components-helpers",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"helpers-components-helpers",title:"Components"},sidebar:"docs",previous:{title:"Object",permalink:"/docs/legacy/v4/advanced/helpers-object-helpers"},next:{title:"Shortcode",permalink:"/docs/legacy/v4/advanced/helpers-shortcode-helpers"}},a={},c=[{value:"ensure_string",id:"ensure_string",level:2},{value:"classnames",id:"classnames",level:2},{value:"render",id:"render",level:2}];function d(e){const n={a:"a",code:"code",h2:"h2",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,r.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/helpers/class-components.php",children:(0,t.jsx)(n.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsxs)(n.p,{children:["Components helper is located in ",(0,t.jsx)(n.code,{children:"Eightshift Libs"}),". To extend it, use ",(0,t.jsx)(n.code,{children:"Eightshift_Libs\\Helpers\\Components"})," class."]}),"\n",(0,t.jsxs)(n.p,{children:["We have created this simple helper that you can use in any PHP class as a static helper. To see all of the components helpers go ",(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/helpers/class-components.php",children:"here"}),"."]}),"\n",(0,t.jsx)(n.h2,{id:"ensure_string",children:"ensure_string"}),"\n",(0,t.jsx)(n.p,{children:"Makes sure the output is a string. Useful for converting an array of components into a string."}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"@param array|string $variable Variable we need to convert into a string."}),"\n",(0,t.jsx)(n.li,{children:"@return string"}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"classnames",children:"classnames"}),"\n",(0,t.jsx)(n.p,{children:"Converts an array of classes into a string which can be echoed."}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"@param array $classes Array of classes."}),"\n",(0,t.jsx)(n.li,{children:"@return string"}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"render",children:"render"}),"\n",(0,t.jsx)(n.p,{children:"Renders components and (optionally) passes some attributes to it."}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:'Note about "parentClass" attribute'}),":\nIf provided, the component will be wrapped with a parent BEM selector. For example, if ",(0,t.jsx)(n.code,{children:"$attributes['parentClass'] === 'header'"})," and ",(0,t.jsx)(n.code,{children:"$component === 'logo'"})," are set, the component will be wrapped with a ",(0,t.jsx)(n.code,{children:'<div class="header__logo"></div>'})]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"@param string $component Component's name or full path (ending with .php)."}),"\n",(0,t.jsx)(n.li,{children:"@param array $attributes Array of attributes that are implicitly passed to the component."}),"\n",(0,t.jsx)(n.li,{children:"@return string"}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,r.M)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},4552:(e,n,s)=>{s.d(n,{I:()=>l,M:()=>o});var t=s(11504);const r={},i=t.createContext(r);function o(e){const n=t.useContext(i);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(r):e.components||r:o(e.components),t.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/81faadf7.67952a60.js b/assets/js/81faadf7.67952a60.js deleted file mode 100644 index 02d5d2e35..000000000 --- a/assets/js/81faadf7.67952a60.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[70672],{94080: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/81faadf7.8b804415.js b/assets/js/81faadf7.8b804415.js new file mode 100644 index 000000000..37eb9b3b9 --- /dev/null +++ b/assets/js/81faadf7.8b804415.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[17116],{34512: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/8364cffd.38a46ccf.js b/assets/js/8364cffd.38a46ccf.js new file mode 100644 index 000000000..2a19dedc5 --- /dev/null +++ b/assets/js/8364cffd.38a46ccf.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[21608],{99964:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>d,frontMatter:()=>o,metadata:()=>c,toc:()=>h});var i=s(17624),n=s(4552);const o={id:"versions",title:"Versions"},r=void 0,c={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.",source:"@site/docs/legacy/v8/versions.md",sourceDirName:"legacy/v8",slug:"/legacy/v8/versions",permalink:"/docs/legacy/v8/versions",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"versions",title:"Versions"},sidebar:"docs",previous:{title:"Eightshift Libs Stubs",permalink:"/docs/additional-libraries/stubs"},next:{title:"Basics",permalink:"/docs/legacy/v8/basics/basics-intro"}},a={},h=[];function l(e){const t={a:"a",img:"img",p:"p",...(0,n.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"Now that you understand what makes the Eightshift Development Kit tick, here is a quick reminder about what library versions this documentation refers to."}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-boilerplate",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/version--8.0.0-eightshift--boilerplate-red?style=for-the-badge&logo=",alt:"docs-source"})})}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-boilerplate",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/version--3.0.0-eightshift--boilerplate--plugin-important?style=for-the-badge&logo=",alt:"docs-source"})})}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/version--6.0.0-eightshift--libs-blue?style=for-the-badge&logo=",alt:"docs-source"})})}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/version--7.0.0-eightshift--frontend--libs-yellow?style=for-the-badge&logo=",alt:"docs-source"})})})]})}function d(e={}){const{wrapper:t}={...(0,n.M)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},4552:(e,t,s)=>{s.d(t,{I:()=>c,M:()=>r});var i=s(11504);const n={},o=i.createContext(n);function r(e){const t=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),i.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/8364cffd.774e7dbc.js b/assets/js/8364cffd.774e7dbc.js deleted file mode 100644 index c8d8cc4c0..000000000 --- a/assets/js/8364cffd.774e7dbc.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[81420],{41340:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>d,frontMatter:()=>o,metadata:()=>a,toc:()=>h});var i=s(85893),n=s(11151);const o={id:"versions",title:"Versions"},r=void 0,a={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.",source:"@site/docs/legacy/v8/versions.md",sourceDirName:"legacy/v8",slug:"/legacy/v8/versions",permalink:"/docs/legacy/v8/versions",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"versions",title:"Versions"},sidebar:"docs",previous:{title:"Eightshift Libs Stubs",permalink:"/docs/additional-libraries/stubs"},next:{title:"Basics",permalink:"/docs/legacy/v8/basics/basics-intro"}},c={},h=[];function l(e){const t={a:"a",img:"img",p:"p",...(0,n.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"Now that you understand what makes the Eightshift Development Kit tick, here is a quick reminder about what library versions this documentation refers to."}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-boilerplate",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/version--8.0.0-eightshift--boilerplate-red?style=for-the-badge&logo=",alt:"docs-source"})})}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-boilerplate",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/version--3.0.0-eightshift--boilerplate--plugin-important?style=for-the-badge&logo=",alt:"docs-source"})})}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/version--6.0.0-eightshift--libs-blue?style=for-the-badge&logo=",alt:"docs-source"})})}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/version--7.0.0-eightshift--frontend--libs-yellow?style=for-the-badge&logo=",alt:"docs-source"})})})]})}function d(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},11151:(e,t,s)=>{s.d(t,{Z:()=>a,a:()=>r});var i=s(67294);const n={},o=i.createContext(n);function r(e){const t=i.useContext(o);return i.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:r(e.components),i.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/837a3e8d.42466650.js b/assets/js/837a3e8d.42466650.js deleted file mode 100644 index 0821cf88e..000000000 --- a/assets/js/837a3e8d.42466650.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[71658],{1979:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>c,default:()=>a,frontMatter:()=>o,metadata:()=>i,toc:()=>p});var r=t(85893),s=t(11151);const o={id:"dependency-blocks-editor",title:"Dependency blocks editor"},c=void 0,i={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).",source:"@site/forms/php/filters/scripts/dependency-blocks-editor.md",sourceDirName:"php/filters/scripts",slug:"/php/filters/scripts/dependency-blocks-editor",permalink:"/forms/php/filters/scripts/dependency-blocks-editor",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"dependency-blocks-editor",title:"Dependency blocks editor"},sidebar:"forms",previous:{title:"Dependency theme",permalink:"/forms/php/filters/scripts/dependency-theme"},next:{title:"Dependency blocks frontend",permalink:"/forms/php/filters/scripts/dependency-blocks-frontend"}},d={},p=[];function l(e){const n={code:"code",p:"p",pre:"pre",...(0,s.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.p,{children:"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)."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-php",children:"\\add_filter('es_forms_scripts_dependency_blocks_editor', [$this, 'getScriptsDependency']);\n\n/**\n * Load add-on scripts before Forms scripts.\n *\n * @return array<int, string>\n */\npublic function getScriptsDependency(): array\n{\n\treturn [\n\t\t'<script-handle-name>',\n\t];\n}\n"})})]})}function a(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},11151:(e,n,t)=>{t.d(n,{Z:()=>i,a:()=>c});var r=t(67294);const s={},o=r.createContext(s);function c(e){const n=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),r.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/837a3e8d.c8175387.js b/assets/js/837a3e8d.c8175387.js new file mode 100644 index 000000000..bd71fd862 --- /dev/null +++ b/assets/js/837a3e8d.c8175387.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[24100],{75120:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>c,default:()=>a,frontMatter:()=>o,metadata:()=>i,toc:()=>p});var r=t(17624),s=t(4552);const o={id:"dependency-blocks-editor",title:"Dependency blocks editor"},c=void 0,i={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).",source:"@site/forms/php/filters/scripts/dependency-blocks-editor.md",sourceDirName:"php/filters/scripts",slug:"/php/filters/scripts/dependency-blocks-editor",permalink:"/forms/php/filters/scripts/dependency-blocks-editor",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"dependency-blocks-editor",title:"Dependency blocks editor"},sidebar:"forms",previous:{title:"Dependency theme",permalink:"/forms/php/filters/scripts/dependency-theme"},next:{title:"Dependency blocks frontend",permalink:"/forms/php/filters/scripts/dependency-blocks-frontend"}},d={},p=[];function l(e){const n={code:"code",p:"p",pre:"pre",...(0,s.M)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.p,{children:"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)."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-php",children:"\\add_filter('es_forms_scripts_dependency_blocks_editor', [$this, 'getScriptsDependency']);\n\n/**\n * Load add-on scripts before Forms scripts.\n *\n * @return array<int, string>\n */\npublic function getScriptsDependency(): array\n{\n\treturn [\n\t\t'<script-handle-name>',\n\t];\n}\n"})})]})}function a(e={}){const{wrapper:n}={...(0,s.M)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},4552:(e,n,t)=>{t.d(n,{I:()=>i,M:()=>c});var r=t(11504);const s={},o=r.createContext(s);function c(e){const n=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),r.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/8383ea83.36d0a346.js b/assets/js/8383ea83.36d0a346.js deleted file mode 100644 index ea2029272..000000000 --- a/assets/js/8383ea83.36d0a346.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[96163],{68035:(t,e,i)=>{i.r(e),i.d(e,{assets:()=>c,contentTitle:()=>a,default:()=>p,frontMatter:()=>n,metadata:()=>l,toc:()=>u});var s=i(85893),r=i(11151),o=i(12987);const n={id:"playlist",title:"Playlist"},a=void 0,l={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!",source:"@site/forms/tutorials/playlist.mdx",sourceDirName:"tutorials",slug:"/tutorials/playlist",permalink:"/forms/tutorials/playlist",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"playlist",title:"Playlist"},sidebar:"forms",previous:{title:"Manual initiation",permalink:"/forms/javascript/manual-initiation"},next:{title:"Intro",permalink:"/forms/addons/intro"}},c={},u=[];function d(t){const e={p:"p",...(0,r.a)(),...t.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.p,{children:"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!"}),"\n",(0,s.jsx)("br",{}),"\n",(0,s.jsx)(o.BY,{type:"forms"}),"\n",(0,s.jsx)(o.pE,{type:"forms"})]})}function p(t={}){const{wrapper:e}={...(0,r.a)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(d,{...t})}):d(t)}},12987:(t,e,i)=>{i.d(e,{pE:()=>n,BY:()=>a,nk:()=>o});i(67294);const s=JSON.parse('{"forms":{"playlist":{"video":"https://www.youtube.com/playlist?list=PLFjp6yaGpZJvzqWGi3y9vZ3prra0h5Emx","label":"Eightshift Forms playlist"},"videos":{"intro":{"video":"3jPVuGjh488","label":"Introduction to Eightshift Forms"},"basics":{"video":"4BnTXHviZkI","label":"Getting familiar with Eightshift forms"},"firstForm":{"video":"qcsr7QGFmV4","label":"Step-by-step guide to creating your first form"},"integrations":{"video":"r2KEVIkNt04","label":"Integrating third-party services"},"integrationsSync":{"video":"JyfO328bq08","label":"Syncing your forms with third-party integrations"},"cache":{"video":"gX997f3fUcI","label":"Don\'t be afraid of caching"}}}}');var r=i(85893);function o(t){const{type:e,isPlaylist:i=!1,useTitle:o=!0,title:n="Tutorials",video:a,subtitlePrefix:l=""}=t;let c="",u="";i?(u=s[e].playlist.label,c=s[e].playlist.video):(u=s[e].videos[a].label,c=s[e].videos[a].video),l&&(u=l+" "+u);const d="https://www.youtube.com/embed/"+c;return(0,r.jsxs)(r.Fragment,{children:[o&&(0,r.jsx)("h2",{children:n}),u&&(0,r.jsx)("h3",{children:u}),(0,r.jsx)("iframe",{width:"560",height:"315",src:d,title:"YouTube video player",frameBorder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",allowFullScreen:!0})]})}function n(t){const{type:e}=t;return(0,r.jsx)(r.Fragment,{children:Object.keys(s[e].videos).map(((t,i)=>{const s=String(i+1).padStart(2,"0")+" - ";return(0,r.jsx)(o,{type:e,video:t,useTitle:0===i,subtitlePrefix:s},i)}))})}function a(t){const{type:e,label:i,link:o}=t;let n=null!=i?i:s[e].playlist.label,a=null!=o?o:s[e].playlist.video;return(0,r.jsx)(r.Fragment,{children:(0,r.jsx)("a",{href:a,target:"_blank",rel:"noopener noreferrer",children:n})})}},11151:(t,e,i)=>{i.d(e,{Z:()=>a,a:()=>n});var s=i(67294);const r={},o=s.createContext(r);function n(t){const e=s.useContext(o);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(r):t.components||r:n(t.components),s.createElement(o.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/8383ea83.985491cb.js b/assets/js/8383ea83.985491cb.js new file mode 100644 index 000000000..1385bcae0 --- /dev/null +++ b/assets/js/8383ea83.985491cb.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[44096],{18916:(t,e,i)=>{i.r(e),i.d(e,{assets:()=>c,contentTitle:()=>a,default:()=>p,frontMatter:()=>n,metadata:()=>l,toc:()=>d});var s=i(17624),r=i(4552),o=i(57848);const n={id:"playlist",title:"Playlist"},a=void 0,l={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!",source:"@site/forms/tutorials/playlist.mdx",sourceDirName:"tutorials",slug:"/tutorials/playlist",permalink:"/forms/tutorials/playlist",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"playlist",title:"Playlist"},sidebar:"forms",previous:{title:"Manual initiation",permalink:"/forms/javascript/manual-initiation"},next:{title:"Intro",permalink:"/forms/addons/intro"}},c={},d=[];function u(t){const e={p:"p",...(0,r.M)(),...t.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.p,{children:"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!"}),"\n",(0,s.jsx)("br",{}),"\n",(0,s.jsx)(o.gd,{type:"forms"}),"\n",(0,s.jsx)(o.g7,{type:"forms"})]})}function p(t={}){const{wrapper:e}={...(0,r.M)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(u,{...t})}):u(t)}},57848:(t,e,i)=>{i.d(e,{g7:()=>n,gd:()=>a,E7:()=>o});i(11504);const s=JSON.parse('{"forms":{"playlist":{"video":"https://www.youtube.com/playlist?list=PLFjp6yaGpZJvzqWGi3y9vZ3prra0h5Emx","label":"Eightshift Forms playlist"},"videos":{"intro":{"video":"3jPVuGjh488","label":"Introduction to Eightshift Forms"},"basics":{"video":"4BnTXHviZkI","label":"Getting familiar with Eightshift forms"},"firstForm":{"video":"qcsr7QGFmV4","label":"Step-by-step guide to creating your first form"},"integrations":{"video":"r2KEVIkNt04","label":"Integrating third-party services"},"integrationsSync":{"video":"JyfO328bq08","label":"Syncing your forms with third-party integrations"},"cache":{"video":"gX997f3fUcI","label":"Don\'t be afraid of caching"}}}}');var r=i(17624);function o(t){const{type:e,isPlaylist:i=!1,useTitle:o=!0,title:n="Tutorials",video:a,subtitlePrefix:l=""}=t;let c="",d="";i?(d=s[e].playlist.label,c=s[e].playlist.video):(d=s[e].videos[a].label,c=s[e].videos[a].video),l&&(d=`${l} ${d}`);const u=`https://www.youtube.com/embed/${c}`;return(0,r.jsxs)(r.Fragment,{children:[o&&(0,r.jsx)("h2",{children:n}),d&&(0,r.jsx)("h3",{children:d}),(0,r.jsx)("iframe",{width:"560",height:"315",src:u,title:"YouTube video player",frameBorder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",allowFullScreen:!0})]})}function n(t){const{type:e}=t;return(0,r.jsx)(r.Fragment,{children:Object.keys(s[e].videos).map(((t,i)=>{const s=`${String(i+1).padStart(2,"0")} - `;return(0,r.jsx)(o,{type:e,video:t,useTitle:0===i,subtitlePrefix:s},i)}))})}function a(t){const{type:e,label:i,link:o}=t;let n=i??s[e].playlist.label,a=o??s[e].playlist.video;return(0,r.jsx)(r.Fragment,{children:(0,r.jsx)("a",{href:a,target:"_blank",rel:"noopener noreferrer",children:n})})}},4552:(t,e,i)=>{i.d(e,{I:()=>a,M:()=>n});var s=i(11504);const r={},o=s.createContext(r);function n(t){const e=s.useContext(o);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(r):t.components||r:n(t.components),s.createElement(o.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/83ce5e05.2a4f901a.js b/assets/js/83ce5e05.2a4f901a.js new file mode 100644 index 000000000..f5785ab82 --- /dev/null +++ b/assets/js/83ce5e05.2a4f901a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[31272],{14812:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>m,frontMatter:()=>r,metadata:()=>a,toc:()=>d});var n=s(17624),o=s(4552);const r={id:"how-to-use",title:"How to use?"},i=void 0,a={id:"javascript/events/how-to-use",title:"How to use?",description:"esFormsAfterCaptchaInit",source:"@site/forms/javascript/events/how-to-use.md",sourceDirName:"javascript/events",slug:"/javascript/events/how-to-use",permalink:"/forms/javascript/events/how-to-use",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"how-to-use",title:"How to use?"},sidebar:"forms",previous:{title:"Available events",permalink:"/forms/javascript/events/available-events"},next:{title:"How to use?",permalink:"/forms/javascript/state/how-to-use"}},c={},d=[{value:"esFormsAfterCaptchaInit",id:"esformsaftercaptchainit",level:3},{value:"esFormsJsFormLoaded",id:"esformsjsformloaded",level:3},{value:"esFormsAfterFormSubmitReset",id:"esformsafterformsubmitreset",level:3}];function l(e){const t={code:"code",h3:"h3",li:"li",p:"p",pre:"pre",ul:"ul",...(0,o.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h3,{id:"esformsaftercaptchainit",children:"esFormsAfterCaptchaInit"}),"\n",(0,n.jsxs)(t.p,{children:["In this example the event is hooked to the ",(0,n.jsx)(t.code,{children:"window"})," object and in event details you have:"]}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"esForms"})," - object."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"formId"})," - not available because this is a global event."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"additional"})," - object from the API response."]}),"\n"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-js",children:"window.addEventListener('esFormsAfterCaptchaInit', ({detail}) => {\n\tconst {\n\t\tadditional: {\n\t\t\tstatus,\n\t\t},\n\t} = detail;\n\n\tif (status === 'success') {\n\t\tconst score = data?.response?.score?.toString();\n\n\t\tif (score) {\n\t\t\t// Do some actions with the score.\n\n\t\t\twindow.dataLayer.push({\n\t\t\t\tevent: 'recaptcha',\n\t\t\t\trecaptchaScore: score,\n\t\t\t});\n\t\t}\n\t}\n});\n"})}),"\n",(0,n.jsx)(t.h3,{id:"esformsjsformloaded",children:"esFormsJsFormLoaded"}),"\n",(0,n.jsxs)(t.p,{children:["In this example the event is hooked to the ",(0,n.jsx)(t.code,{children:"form"})," element and in event details you have:"]}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"esForms"})," - object."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"formId"})," - form Id this event is a part of."]}),"\n"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-js",children:"import domReady from '@wordpress/dom-ready';\n\ndomReady(() => {\n\tconst element = document.querySelector('.js-es-block-form');\n\n\tif (!element) {\n\t\treturn;\n\t}\n\n\telement?.addEventListener('esFormsJsFormLoaded', ({detail}) => {\n\t\tconst {\n\t\t\tformId,\n\t\t\tesForms,\n\t\t} = detail;\n\n\t\t// Do some actions with the form.\n\t});\n});\n"})}),"\n",(0,n.jsx)(t.h3,{id:"esformsafterformsubmitreset",children:"esFormsAfterFormSubmitReset"}),"\n",(0,n.jsxs)(t.p,{children:["In this example the event is hooked to the ",(0,n.jsx)(t.code,{children:"form"})," element and in event details you have:"]}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"esForms"})," - object."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"formId"})," - form Id this event is a part of."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"additional"})," - object from the API response."]}),"\n"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-js",children:"const { store } = window.esForms.store;\n\n[...document.querySelectorAll(store.getStateSelector('form'))].forEach((form) => {\n\tform.addEventListener('esFormsAfterFormSubmitReset', ({detail}) => {\n\t\tconst {\n\t\t\tformId,\n\t\t\tesForms,\n\t\t\tadditional\n\t\t} = detail;\n\t\t// Do some actions with the form.\n\t});\n});\n"})})]})}function m(e={}){const{wrapper:t}={...(0,o.M)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(l,{...e})}):l(e)}},4552:(e,t,s)=>{s.d(t,{I:()=>a,M:()=>i});var n=s(11504);const o={},r=n.createContext(o);function i(e){const t=n.useContext(r);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(o):e.components||o:i(e.components),n.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/83ce5e05.36d07a69.js b/assets/js/83ce5e05.36d07a69.js deleted file mode 100644 index 86a6346f2..000000000 --- a/assets/js/83ce5e05.36d07a69.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[75574],{57103:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>m,frontMatter:()=>r,metadata:()=>a,toc:()=>d});var n=s(85893),o=s(11151);const r={id:"how-to-use",title:"How to use?"},i=void 0,a={id:"javascript/events/how-to-use",title:"How to use?",description:"esFormsAfterCaptchaInit",source:"@site/forms/javascript/events/how-to-use.md",sourceDirName:"javascript/events",slug:"/javascript/events/how-to-use",permalink:"/forms/javascript/events/how-to-use",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"how-to-use",title:"How to use?"},sidebar:"forms",previous:{title:"Available events",permalink:"/forms/javascript/events/available-events"},next:{title:"How to use?",permalink:"/forms/javascript/state/how-to-use"}},c={},d=[{value:"esFormsAfterCaptchaInit",id:"esformsaftercaptchainit",level:3},{value:"esFormsJsFormLoaded",id:"esformsjsformloaded",level:3},{value:"esFormsAfterFormSubmitReset",id:"esformsafterformsubmitreset",level:3}];function l(e){const t={code:"code",h3:"h3",li:"li",p:"p",pre:"pre",ul:"ul",...(0,o.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h3,{id:"esformsaftercaptchainit",children:"esFormsAfterCaptchaInit"}),"\n",(0,n.jsxs)(t.p,{children:["In this example the event is hooked to the ",(0,n.jsx)(t.code,{children:"window"})," object and in event details you have:"]}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"esForms"})," - object."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"formId"})," - not available because this is a global event."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"additional"})," - object from the API response."]}),"\n"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-js",children:"window.addEventListener('esFormsAfterCaptchaInit', ({detail}) => {\n\tconst {\n\t\tadditional: {\n\t\t\tstatus,\n\t\t},\n\t} = detail;\n\n\tif (status === 'success') {\n\t\tconst score = data?.response?.score?.toString();\n\n\t\tif (score) {\n\t\t\t// Do some actions with the score.\n\n\t\t\twindow.dataLayer.push({\n\t\t\t\tevent: 'recaptcha',\n\t\t\t\trecaptchaScore: score,\n\t\t\t});\n\t\t}\n\t}\n});\n"})}),"\n",(0,n.jsx)(t.h3,{id:"esformsjsformloaded",children:"esFormsJsFormLoaded"}),"\n",(0,n.jsxs)(t.p,{children:["In this example the event is hooked to the ",(0,n.jsx)(t.code,{children:"form"})," element and in event details you have:"]}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"esForms"})," - object."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"formId"})," - form Id this event is a part of."]}),"\n"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-js",children:"import domReady from '@wordpress/dom-ready';\n\ndomReady(() => {\n\tconst element = document.querySelector('.js-es-block-form');\n\n\tif (!element) {\n\t\treturn;\n\t}\n\n\telement?.addEventListener('esFormsJsFormLoaded', ({detail}) => {\n\t\tconst {\n\t\t\tformId,\n\t\t\tesForms,\n\t\t} = detail;\n\n\t\t// Do some actions with the form.\n\t});\n});\n"})}),"\n",(0,n.jsx)(t.h3,{id:"esformsafterformsubmitreset",children:"esFormsAfterFormSubmitReset"}),"\n",(0,n.jsxs)(t.p,{children:["In this example the event is hooked to the ",(0,n.jsx)(t.code,{children:"form"})," element and in event details you have:"]}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"esForms"})," - object."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"formId"})," - form Id this event is a part of."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"additional"})," - object from the API response."]}),"\n"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-js",children:"const { store } = window.esForms.store;\n\n[...document.querySelectorAll(store.getStateSelector('form'))].forEach((form) => {\n\tform.addEventListener('esFormsAfterFormSubmitReset', ({detail}) => {\n\t\tconst {\n\t\t\tformId,\n\t\t\tesForms,\n\t\t\tadditional\n\t\t} = detail;\n\t\t// Do some actions with the form.\n\t});\n});\n"})})]})}function m(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(l,{...e})}):l(e)}},11151:(e,t,s)=>{s.d(t,{Z:()=>a,a:()=>i});var n=s(67294);const o={},r=n.createContext(o);function i(e){const t=n.useContext(r);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(o):e.components||o:i(e.components),n.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/83ee1d6a.0f4d7760.js b/assets/js/83ee1d6a.0f4d7760.js new file mode 100644 index 000000000..6f8fe65a6 --- /dev/null +++ b/assets/js/83ee1d6a.0f4d7760.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[26128],{37276:(t,e,s)=>{s.r(e),s.d(e,{assets:()=>l,contentTitle:()=>i,default:()=>a,frontMatter:()=>n,metadata:()=>c,toc:()=>u});var r=s(17624),o=s(4552);const n={id:"routes-public",title:"Routes public"},i=void 0,c={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.",source:"@site/forms/php/filters/scripts/routes-public.md",sourceDirName:"php/filters/scripts",slug:"/php/filters/scripts/routes-public",permalink:"/forms/php/filters/scripts/routes-public",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"routes-public",title:"Routes public"},sidebar:"forms",previous:{title:"Dependency blocks frontend",permalink:"/forms/php/filters/scripts/dependency-blocks-frontend"},next:{title:"Routes private",permalink:"/forms/php/filters/scripts/routes-private"}},l={},u=[];function p(t){const e={code:"code",p:"p",pre:"pre",...(0,o.M)(),...t.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(e.p,{children:"Allows adding custom routes to the public routes list, available from the Forms global window object."}),"\n",(0,r.jsx)(e.pre,{children:(0,r.jsx)(e.code,{className:"language-php",children:"\\add_filter('es_forms_scripts_routes_public', [$this, 'getPublicRoutes']);\n\n/**\n * Adds custom routes to the public routes list, available from the Forms global window object.\n *\n * @return array<string>\n */\npublic function getPublicRoutes(): array\n{\n\treturn [\n\t\t'<route-name>' => '<route-slug>',\n\t];\n}\n"})})]})}function a(t={}){const{wrapper:e}={...(0,o.M)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(p,{...t})}):p(t)}},4552:(t,e,s)=>{s.d(e,{I:()=>c,M:()=>i});var r=s(11504);const o={},n=r.createContext(o);function i(t){const e=r.useContext(n);return r.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function c(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(o):t.components||o:i(t.components),r.createElement(n.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/83ee1d6a.52d99159.js b/assets/js/83ee1d6a.52d99159.js deleted file mode 100644 index 26695fc5e..000000000 --- a/assets/js/83ee1d6a.52d99159.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[27639],{30426:(t,e,s)=>{s.r(e),s.d(e,{assets:()=>l,contentTitle:()=>i,default:()=>a,frontMatter:()=>n,metadata:()=>c,toc:()=>u});var r=s(85893),o=s(11151);const n={id:"routes-public",title:"Routes public"},i=void 0,c={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.",source:"@site/forms/php/filters/scripts/routes-public.md",sourceDirName:"php/filters/scripts",slug:"/php/filters/scripts/routes-public",permalink:"/forms/php/filters/scripts/routes-public",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"routes-public",title:"Routes public"},sidebar:"forms",previous:{title:"Dependency blocks frontend",permalink:"/forms/php/filters/scripts/dependency-blocks-frontend"},next:{title:"Routes private",permalink:"/forms/php/filters/scripts/routes-private"}},l={},u=[];function p(t){const e={code:"code",p:"p",pre:"pre",...(0,o.a)(),...t.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(e.p,{children:"Allows adding custom routes to the public routes list, available from the Forms global window object."}),"\n",(0,r.jsx)(e.pre,{children:(0,r.jsx)(e.code,{className:"language-php",children:"\\add_filter('es_forms_scripts_routes_public', [$this, 'getPublicRoutes']);\n\n/**\n * Adds custom routes to the public routes list, available from the Forms global window object.\n *\n * @return array<string>\n */\npublic function getPublicRoutes(): array\n{\n\treturn [\n\t\t'<route-name>' => '<route-slug>',\n\t];\n}\n"})})]})}function a(t={}){const{wrapper:e}={...(0,o.a)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(p,{...t})}):p(t)}},11151:(t,e,s)=>{s.d(e,{Z:()=>c,a:()=>i});var r=s(67294);const o={},n=r.createContext(o);function i(t){const e=r.useContext(n);return r.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function c(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(o):t.components||o:i(t.components),r.createElement(n.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/85434a08.9366b187.js b/assets/js/85434a08.9366b187.js new file mode 100644 index 000000000..06d36028c --- /dev/null +++ b/assets/js/85434a08.9366b187.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[27100],{61273:(s,e,t)=>{t.r(e),t.d(e,{assets:()=>a,contentTitle:()=>i,default:()=>h,frontMatter:()=>r,metadata:()=>c,toc:()=>l});var o=t(17624),n=t(4552);const r={id:"blocks-transforms",title:"Transforms"},i=void 0,c={id:"legacy/v6/basics/blocks-transforms",title:"Transforms",description:"docs-source",source:"@site/docs/legacy/v6/basics/blocks-transforms.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/blocks-transforms",permalink:"/docs/legacy/v6/basics/blocks-transforms",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-transforms",title:"Transforms"},sidebar:"docs",previous:{title:"Patterns",permalink:"/docs/legacy/v6/basics/blocks-patterns"},next:{title:"Hooks",permalink:"/docs/legacy/v6/basics/blocks-hooks"}},a={},l=[];function d(s){const e={a:"a",img:"img",p:"p",...(0,n.M)(),...s.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.p,{children:(0,o.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/",children:(0,o.jsx)(e.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(e.p,{children:"Block Transforms is an API that allows a block to be transformed from and to other blocks, as well as from other entities."}),"\n",(0,o.jsxs)(e.p,{children:["You can check the ",(0,o.jsx)(e.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-transforms/",children:"WordPress documentation"})," on this subject."]}),"\n",(0,o.jsx)(e.p,{children:"We didn't change anything regarding the original documentation; we simply provided you with the structured file where you can write all your transformations."}),"\n",(0,o.jsxs)(e.p,{children:["Please follow this ",(0,o.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/custom/heading/heading-transforms.js",children:"example"})," for more inspiration."]})]})}function h(s={}){const{wrapper:e}={...(0,n.M)(),...s.components};return e?(0,o.jsx)(e,{...s,children:(0,o.jsx)(d,{...s})}):d(s)}},4552:(s,e,t)=>{t.d(e,{I:()=>c,M:()=>i});var o=t(11504);const n={},r=o.createContext(n);function i(s){const e=o.useContext(r);return o.useMemo((function(){return"function"==typeof s?s(e):{...e,...s}}),[e,s])}function c(s){let e;return e=s.disableParentContext?"function"==typeof s.components?s.components(n):s.components||n:i(s.components),o.createElement(r.Provider,{value:e},s.children)}}}]); \ No newline at end of file diff --git a/assets/js/85434a08.edfbabc8.js b/assets/js/85434a08.edfbabc8.js deleted file mode 100644 index e7dee667b..000000000 --- a/assets/js/85434a08.edfbabc8.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[87862],{60031:(s,e,t)=>{t.r(e),t.d(e,{assets:()=>a,contentTitle:()=>i,default:()=>h,frontMatter:()=>r,metadata:()=>c,toc:()=>l});var o=t(85893),n=t(11151);const r={id:"blocks-transforms",title:"Transforms"},i=void 0,c={id:"legacy/v6/basics/blocks-transforms",title:"Transforms",description:"docs-source",source:"@site/docs/legacy/v6/basics/blocks-transforms.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/blocks-transforms",permalink:"/docs/legacy/v6/basics/blocks-transforms",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-transforms",title:"Transforms"},sidebar:"docs",previous:{title:"Patterns",permalink:"/docs/legacy/v6/basics/blocks-patterns"},next:{title:"Hooks",permalink:"/docs/legacy/v6/basics/blocks-hooks"}},a={},l=[];function d(s){const e={a:"a",img:"img",p:"p",...(0,n.a)(),...s.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.p,{children:(0,o.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/",children:(0,o.jsx)(e.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(e.p,{children:"Block Transforms is an API that allows a block to be transformed from and to other blocks, as well as from other entities."}),"\n",(0,o.jsxs)(e.p,{children:["You can check the ",(0,o.jsx)(e.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-transforms/",children:"WordPress documentation"})," on this subject."]}),"\n",(0,o.jsx)(e.p,{children:"We didn't change anything regarding the original documentation; we simply provided you with the structured file where you can write all your transformations."}),"\n",(0,o.jsxs)(e.p,{children:["Please follow this ",(0,o.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/custom/heading/heading-transforms.js",children:"example"})," for more inspiration."]})]})}function h(s={}){const{wrapper:e}={...(0,n.a)(),...s.components};return e?(0,o.jsx)(e,{...s,children:(0,o.jsx)(d,{...s})}):d(s)}},11151:(s,e,t)=>{t.d(e,{Z:()=>c,a:()=>i});var o=t(67294);const n={},r=o.createContext(n);function i(s){const e=o.useContext(r);return o.useMemo((function(){return"function"==typeof s?s(e):{...e,...s}}),[e,s])}function c(s){let e;return e=s.disableParentContext?"function"==typeof s.components?s.components(n):s.components||n:i(s.components),o.createElement(r.Provider,{value:e},s.children)}}}]); \ No newline at end of file diff --git a/assets/js/85c52577.51c91433.js b/assets/js/85c52577.51c91433.js new file mode 100644 index 000000000..172730d72 --- /dev/null +++ b/assets/js/85c52577.51c91433.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[26028],{79272:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>i,contentTitle:()=>a,default:()=>l,frontMatter:()=>s,metadata:()=>d,toc:()=>p});var o=n(17624),r=n(4552);const s={id:"pre-response-addon-data",title:"Pre-Response add-on Data"},a=void 0,d={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.",source:"@site/forms/php/filters/block/form/pre-response-addon-data.md",sourceDirName:"php/filters/block/form",slug:"/php/filters/block/form/pre-response-addon-data",permalink:"/forms/php/filters/block/form/pre-response-addon-data",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"pre-response-addon-data",title:"Pre-Response add-on Data"},sidebar:"forms",previous:{title:"Additional content",permalink:"/forms/php/filters/block/form/additional-content"},next:{title:"Pre-Response Success Redirect Data",permalink:"/forms/php/filters/block/form/pre-response-success-redirect-data"}},i={},p=[];function c(e){const t={code:"code",p:"p",pre:"pre",...(0,r.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:"Allows adding custom data to the API response when the form is submitted."}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-php",children:"\\add_filter('es_forms_block_form_pre_response_addon_data', [$this, 'getPreResponseAddonData'], 10, 2);\n\n/**\n * Set additional data to API response for addon data.\n *\n * @param array<mixed> $output Output data.\n * @param array<string, mixed> $formDetails Data passed from the `getFormDetailsApi` function.\n *\n * @return array<mixed>\n */\npublic function getPreResponseAddonData(array $output, string $formDetails): array\n{\n\t$output['addonData'] = [\n\t\t'key' => 'value',\n\t];\n\n\treturn $output;\n}\n"})})]})}function l(e={}){const{wrapper:t}={...(0,r.M)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(c,{...e})}):c(e)}},4552:(e,t,n)=>{n.d(t,{I:()=>d,M:()=>a});var o=n(11504);const r={},s=o.createContext(r);function a(e){const t=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/85c52577.68316610.js b/assets/js/85c52577.68316610.js deleted file mode 100644 index 040c4c48b..000000000 --- a/assets/js/85c52577.68316610.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[60277],{56962:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>i,contentTitle:()=>a,default:()=>l,frontMatter:()=>s,metadata:()=>d,toc:()=>p});var o=n(85893),r=n(11151);const s={id:"pre-response-addon-data",title:"Pre-Response add-on Data"},a=void 0,d={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.",source:"@site/forms/php/filters/block/form/pre-response-addon-data.md",sourceDirName:"php/filters/block/form",slug:"/php/filters/block/form/pre-response-addon-data",permalink:"/forms/php/filters/block/form/pre-response-addon-data",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"pre-response-addon-data",title:"Pre-Response add-on Data"},sidebar:"forms",previous:{title:"Additional content",permalink:"/forms/php/filters/block/form/additional-content"},next:{title:"Pre-Response Success Redirect Data",permalink:"/forms/php/filters/block/form/pre-response-success-redirect-data"}},i={},p=[];function c(e){const t={code:"code",p:"p",pre:"pre",...(0,r.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:"Allows adding custom data to the API response when the form is submitted."}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-php",children:"\\add_filter('es_forms_block_form_pre_response_addon_data', [$this, 'getPreResponseAddonData'], 10, 2);\n\n/**\n * Set additional data to API response for addon data.\n *\n * @param array<mixed> $output Output data.\n * @param array<string, mixed> $formDetails Data passed from the `getFormDetailsApi` function.\n *\n * @return array<mixed>\n */\npublic function getPreResponseAddonData(array $output, string $formDetails): array\n{\n\t$output['addonData'] = [\n\t\t'key' => 'value',\n\t];\n\n\treturn $output;\n}\n"})})]})}function l(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(c,{...e})}):c(e)}},11151:(e,t,n)=>{n.d(t,{Z:()=>d,a:()=>a});var o=n(67294);const r={},s=o.createContext(r);function a(e){const t=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/85d49e2b.5f63370c.js b/assets/js/85d49e2b.5f63370c.js new file mode 100644 index 000000000..f02f67353 --- /dev/null +++ b/assets/js/85d49e2b.5f63370c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[51360],{91044:(t,i,e)=>{e.r(i),e.d(i,{assets:()=>a,contentTitle:()=>o,default:()=>c,frontMatter:()=>r,metadata:()=>l,toc:()=>d});var n=e(17624),s=e(4552);const r={id:"frontend-libs",title:"Eightshift Frontend Libs"},o=void 0,l={id:"additional-libraries/frontend-libs",title:"Eightshift Frontend Libs",description:"GitHub tag",source:"@site/docs/additional-libraries/frontend-libs.md",sourceDirName:"additional-libraries",slug:"/additional-libraries/frontend-libs",permalink:"/docs/additional-libraries/frontend-libs",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"frontend-libs",title:"Eightshift Frontend Libs"},sidebar:"docs",previous:{title:"Eightshift Boilerplate Plugin",permalink:"/docs/additional-libraries/boilerplate-plugin"},next:{title:"Eightshift Libs",permalink:"/docs/additional-libraries/libs"}},a={},d=[];function h(t){const i={a:"a",img:"img",li:"li",p:"p",ul:"ul",...(0,s.M)(),...t.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"https://github.com/infinum/eightshift-frontend-libs",children:(0,n.jsx)(i.img,{src:"https://img.shields.io/github/tag/infinum/eightshift-frontend-libs.svg?style=for-the-badge",alt:"GitHub tag"})})}),"\n",(0,n.jsxs)(i.p,{children:["This library is meant to bring the modern front-end development tools to the ",(0,n.jsx)(i.a,{href:"https://github.com/infinum/eightshift-boilerplate",children:"Eightshift Boilerplate"})," or ",(0,n.jsx)(i.a,{href:"https://github.com/infinum/eightshift-boilerplate-plugin",children:"Eightshift Boilerplate Plugin"}),", but you can use it on any WordPress project."]}),"\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/docs/eightshift-frontend-libs",children:"Documentation"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"https://github.com/infinum/eightshift-frontend-libs",children:"Github"})}),"\n"]})]})}function c(t={}){const{wrapper:i}={...(0,s.M)(),...t.components};return i?(0,n.jsx)(i,{...t,children:(0,n.jsx)(h,{...t})}):h(t)}},4552:(t,i,e)=>{e.d(i,{I:()=>l,M:()=>o});var n=e(11504);const s={},r=n.createContext(s);function o(t){const i=n.useContext(r);return n.useMemo((function(){return"function"==typeof t?t(i):{...i,...t}}),[i,t])}function l(t){let i;return i=t.disableParentContext?"function"==typeof t.components?t.components(s):t.components||s:o(t.components),n.createElement(r.Provider,{value:i},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/85d49e2b.9566f508.js b/assets/js/85d49e2b.9566f508.js deleted file mode 100644 index 5397846da..000000000 --- a/assets/js/85d49e2b.9566f508.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[79528],{59204:(t,i,e)=>{e.r(i),e.d(i,{assets:()=>a,contentTitle:()=>o,default:()=>c,frontMatter:()=>r,metadata:()=>l,toc:()=>d});var n=e(85893),s=e(11151);const r={id:"frontend-libs",title:"Eightshift Frontend Libs"},o=void 0,l={id:"additional-libraries/frontend-libs",title:"Eightshift Frontend Libs",description:"GitHub tag",source:"@site/docs/additional-libraries/frontend-libs.md",sourceDirName:"additional-libraries",slug:"/additional-libraries/frontend-libs",permalink:"/docs/additional-libraries/frontend-libs",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"frontend-libs",title:"Eightshift Frontend Libs"},sidebar:"docs",previous:{title:"Eightshift Boilerplate Plugin",permalink:"/docs/additional-libraries/boilerplate-plugin"},next:{title:"Eightshift Libs",permalink:"/docs/additional-libraries/libs"}},a={},d=[];function h(t){const i={a:"a",img:"img",li:"li",p:"p",ul:"ul",...(0,s.a)(),...t.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"https://github.com/infinum/eightshift-frontend-libs",children:(0,n.jsx)(i.img,{src:"https://img.shields.io/github/tag/infinum/eightshift-frontend-libs.svg?style=for-the-badge",alt:"GitHub tag"})})}),"\n",(0,n.jsxs)(i.p,{children:["This library is meant to bring the modern front-end development tools to the ",(0,n.jsx)(i.a,{href:"https://github.com/infinum/eightshift-boilerplate",children:"Eightshift Boilerplate"})," or ",(0,n.jsx)(i.a,{href:"https://github.com/infinum/eightshift-boilerplate-plugin",children:"Eightshift Boilerplate Plugin"}),", but you can use it on any WordPress project."]}),"\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/docs/eightshift-frontend-libs",children:"Documentation"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"https://github.com/infinum/eightshift-frontend-libs",children:"Github"})}),"\n"]})]})}function c(t={}){const{wrapper:i}={...(0,s.a)(),...t.components};return i?(0,n.jsx)(i,{...t,children:(0,n.jsx)(h,{...t})}):h(t)}},11151:(t,i,e)=>{e.d(i,{Z:()=>l,a:()=>o});var n=e(67294);const s={},r=n.createContext(s);function o(t){const i=n.useContext(r);return n.useMemo((function(){return"function"==typeof t?t(i):{...i,...t}}),[i,t])}function l(t){let i;return i=t.disableParentContext?"function"==typeof t.components?t.components(s):t.components||s:o(t.components),n.createElement(r.Provider,{value:i},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/86405c0e.0843d1ff.js b/assets/js/86405c0e.0843d1ff.js deleted file mode 100644 index c148f426c..000000000 --- a/assets/js/86405c0e.0843d1ff.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[57182],{19055:(t,e,s)=>{s.r(e),s.d(e,{assets:()=>c,contentTitle:()=>n,default:()=>h,frontMatter:()=>a,metadata:()=>r,toc:()=>l});var i=s(85893),o=s(11151);const a={id:"blocks-variations",title:"Variations"},n=void 0,r={id:"basics/blocks-variations",title:"Variations",description:"docs-source",source:"@site/docs/basics/blocks-variations.md",sourceDirName:"basics",slug:"/basics/blocks-variations",permalink:"/docs/basics/blocks-variations",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-variations",title:"Variations"},sidebar:"docs",previous:{title:"Wrapper",permalink:"/docs/basics/blocks-wrapper"},next:{title:"Patterns",permalink:"/docs/basics/blocks-patterns"}},c={},l=[{value:"Structure",id:"structure",level:3},{value:"Limitations",id:"limitations",level:3},{value:"Changes from native WordPress block variations API",id:"changes-from-native-wordpress-block-variations-api",level:3}];function d(t){const e={a:"a",code:"code",h3:"h3",img:"img",p:"p",...(0,o.a)(),...t.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(e.p,{children:(0,i.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,i.jsx)(e.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsx)(e.p,{children:"Block variations allow developers to define instances of existing blocks by changing their default values."}),"\n",(0,i.jsxs)(e.p,{children:["An example that you\u2019ll see below is a button block. Perhaps your site has three variations of how to display a button on your site. You must create a ",(0,i.jsx)(e.code,{children:"default"})," button block and you can create additional variations that changes the default values for the other two buttons. This sounds awfully familiar to block styles, but the concept of variations goes a bit further than that, as you\u2019ll see."]}),"\n",(0,i.jsxs)(e.p,{children:["Here is the best article on how to better understand ",(0,i.jsx)(e.a,{href:"https://css-tricks.com/how-to-use-block-variations-in-wordpress/",children:"block variations"}),"."]}),"\n",(0,i.jsxs)(e.p,{children:["What we did with variations is just like blocks. Provide the structured data from the ",(0,i.jsx)(e.code,{children:"manifest.json"})," and use that to register your variation."]}),"\n",(0,i.jsx)(e.h3,{id:"structure",children:"Structure"}),"\n",(0,i.jsxs)(e.p,{children:["The structure is the same as a normal block but with some limitations on what you can use. You can check the ",(0,i.jsx)(e.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-registration/#variations-optional",children:"WordPress documentation"})," for more on this subject."]}),"\n",(0,i.jsx)(e.h3,{id:"limitations",children:"Limitations"}),"\n",(0,i.jsxs)(e.p,{children:["As we saw from our testing, you are not limited to only changing the block's default attributes, but adding additional data like inner blocks and such. With this setup, you can use variations the same way as you would block patterns, only in the variation you provide the data using ",(0,i.jsx)(e.code,{children:"manifest.json"}),"."]}),"\n",(0,i.jsx)(e.h3,{id:"changes-from-native-wordpress-block-variations-api",children:"Changes from native WordPress block variations API"}),"\n",(0,i.jsxs)(e.p,{children:[(0,i.jsx)(e.code,{children:"parentName"})," key is the only addition to the original documentation. We implemented this key to be able to connect the original block with its variation. This key must be the same as it is defined in the original blocks ",(0,i.jsx)(e.code,{children:"blockName"})," key."]})]})}function h(t={}){const{wrapper:e}={...(0,o.a)(),...t.components};return e?(0,i.jsx)(e,{...t,children:(0,i.jsx)(d,{...t})}):d(t)}},11151:(t,e,s)=>{s.d(e,{Z:()=>r,a:()=>n});var i=s(67294);const o={},a=i.createContext(o);function n(t){const e=i.useContext(a);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(o):t.components||o:n(t.components),i.createElement(a.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/86405c0e.fb080285.js b/assets/js/86405c0e.fb080285.js new file mode 100644 index 000000000..cf9caf920 --- /dev/null +++ b/assets/js/86405c0e.fb080285.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[87632],{79256:(t,e,s)=>{s.r(e),s.d(e,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>n,metadata:()=>r,toc:()=>l});var i=s(17624),o=s(4552);const n={id:"blocks-variations",title:"Variations"},a=void 0,r={id:"basics/blocks-variations",title:"Variations",description:"docs-source",source:"@site/docs/basics/blocks-variations.md",sourceDirName:"basics",slug:"/basics/blocks-variations",permalink:"/docs/basics/blocks-variations",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-variations",title:"Variations"},sidebar:"docs",previous:{title:"Wrapper",permalink:"/docs/basics/blocks-wrapper"},next:{title:"Patterns",permalink:"/docs/basics/blocks-patterns"}},c={},l=[{value:"Structure",id:"structure",level:3},{value:"Limitations",id:"limitations",level:3},{value:"Changes from native WordPress block variations API",id:"changes-from-native-wordpress-block-variations-api",level:3}];function d(t){const e={a:"a",code:"code",h3:"h3",img:"img",p:"p",...(0,o.M)(),...t.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(e.p,{children:(0,i.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,i.jsx)(e.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsx)(e.p,{children:"Block variations allow developers to define instances of existing blocks by changing their default values."}),"\n",(0,i.jsxs)(e.p,{children:["An example that you\u2019ll see below is a button block. Perhaps your site has three variations of how to display a button on your site. You must create a ",(0,i.jsx)(e.code,{children:"default"})," button block and you can create additional variations that changes the default values for the other two buttons. This sounds awfully familiar to block styles, but the concept of variations goes a bit further than that, as you\u2019ll see."]}),"\n",(0,i.jsxs)(e.p,{children:["Here is the best article on how to better understand ",(0,i.jsx)(e.a,{href:"https://css-tricks.com/how-to-use-block-variations-in-wordpress/",children:"block variations"}),"."]}),"\n",(0,i.jsxs)(e.p,{children:["What we did with variations is just like blocks. Provide the structured data from the ",(0,i.jsx)(e.code,{children:"manifest.json"})," and use that to register your variation."]}),"\n",(0,i.jsx)(e.h3,{id:"structure",children:"Structure"}),"\n",(0,i.jsxs)(e.p,{children:["The structure is the same as a normal block but with some limitations on what you can use. You can check the ",(0,i.jsx)(e.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-registration/#variations-optional",children:"WordPress documentation"})," for more on this subject."]}),"\n",(0,i.jsx)(e.h3,{id:"limitations",children:"Limitations"}),"\n",(0,i.jsxs)(e.p,{children:["As we saw from our testing, you are not limited to only changing the block's default attributes, but adding additional data like inner blocks and such. With this setup, you can use variations the same way as you would block patterns, only in the variation you provide the data using ",(0,i.jsx)(e.code,{children:"manifest.json"}),"."]}),"\n",(0,i.jsx)(e.h3,{id:"changes-from-native-wordpress-block-variations-api",children:"Changes from native WordPress block variations API"}),"\n",(0,i.jsxs)(e.p,{children:[(0,i.jsx)(e.code,{children:"parentName"})," key is the only addition to the original documentation. We implemented this key to be able to connect the original block with its variation. This key must be the same as it is defined in the original blocks ",(0,i.jsx)(e.code,{children:"blockName"})," key."]})]})}function h(t={}){const{wrapper:e}={...(0,o.M)(),...t.components};return e?(0,i.jsx)(e,{...t,children:(0,i.jsx)(d,{...t})}):d(t)}},4552:(t,e,s)=>{s.d(e,{I:()=>r,M:()=>a});var i=s(11504);const o={},n=i.createContext(o);function a(t){const e=i.useContext(n);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(o):t.components||o:a(t.components),i.createElement(n.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/87f23a60.1687ff9c.js b/assets/js/87f23a60.1687ff9c.js new file mode 100644 index 000000000..b28b1f5d0 --- /dev/null +++ b/assets/js/87f23a60.1687ff9c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[19866],{8572:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>c,default:()=>l,frontMatter:()=>s,metadata:()=>i,toc:()=>u});var o=n(17624),r=n(4552);const s={id:"intro",title:"Intro"},c=void 0,i={id:"crash-course/intro",title:"Intro",description:"Coming soon",source:"@site/docs/crash-course/intro.md",sourceDirName:"crash-course",slug:"/crash-course/intro",permalink:"/docs/crash-course/intro",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"intro",title:"Intro"},sidebar:"docs",previous:{title:"Heading Level",permalink:"/docs/legacy/v4/advanced/components-heading-level"}},a={},u=[];function d(e){const t={em:"em",p:"p",...(0,r.M)(),...e.components};return(0,o.jsx)(t.p,{children:(0,o.jsx)(t.em,{children:"Coming soon"})})}function l(e={}){const{wrapper:t}={...(0,r.M)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},4552:(e,t,n)=>{n.d(t,{I:()=>i,M:()=>c});var o=n(11504);const r={},s=o.createContext(r);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(r):e.components||r:c(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/87f23a60.4d0104b4.js b/assets/js/87f23a60.4d0104b4.js deleted file mode 100644 index 97365ea39..000000000 --- a/assets/js/87f23a60.4d0104b4.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[75860],{38312:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>c,default:()=>l,frontMatter:()=>s,metadata:()=>i,toc:()=>u});var o=n(85893),r=n(11151);const s={id:"intro",title:"Intro"},c=void 0,i={id:"crash-course/intro",title:"Intro",description:"Coming soon",source:"@site/docs/crash-course/intro.md",sourceDirName:"crash-course",slug:"/crash-course/intro",permalink:"/docs/crash-course/intro",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"intro",title:"Intro"},sidebar:"docs",previous:{title:"Heading Level",permalink:"/docs/legacy/v4/advanced/components-heading-level"}},a={},u=[];function d(e){const t={em:"em",p:"p",...(0,r.a)(),...e.components};return(0,o.jsx)(t.p,{children:(0,o.jsx)(t.em,{children:"Coming soon"})})}function l(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},11151:(e,t,n)=>{n.d(t,{Z:()=>i,a:()=>c});var o=n(67294);const r={},s=o.createContext(r);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(r):e.components||r:c(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/883d241c.06b2a0a5.js b/assets/js/883d241c.06b2a0a5.js new file mode 100644 index 000000000..ad5b1ff1c --- /dev/null +++ b/assets/js/883d241c.06b2a0a5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[86688],{48702: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/883d241c.d625546e.js b/assets/js/883d241c.d625546e.js deleted file mode 100644 index 9efd102c2..000000000 --- a/assets/js/883d241c.d625546e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[47495],{74272: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/88748759.23187211.js b/assets/js/88748759.23187211.js deleted file mode 100644 index b5e9504c1..000000000 --- a/assets/js/88748759.23187211.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[29340],{77072:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>n,default:()=>h,frontMatter:()=>a,metadata:()=>r,toc:()=>l});var i=s(85893),o=s(11151);const a={id:"blocks-variations",title:"Variations"},n=void 0,r={id:"legacy/v8/basics/blocks-variations",title:"Variations",description:"docs-source",source:"@site/docs/legacy/v8/basics/blocks-variations.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/blocks-variations",permalink:"/docs/legacy/v8/basics/blocks-variations",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-variations",title:"Variations"},sidebar:"docs",previous:{title:"Wrapper",permalink:"/docs/legacy/v8/basics/blocks-wrapper"},next:{title:"Patterns",permalink:"/docs/legacy/v8/basics/blocks-patterns"}},c={},l=[{value:"Structure",id:"structure",level:3},{value:"Limitations",id:"limitations",level:3},{value:"Changes from native WordPress block variations API",id:"changes-from-native-wordpress-block-variations-api",level:3}];function d(e){const t={a:"a",code:"code",h3:"h3",img:"img",p:"p",...(0,o.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsx)(t.p,{children:"Block variations allow developers to define instances of existing blocks by changing their default values."}),"\n",(0,i.jsxs)(t.p,{children:["An example that you\u2019ll see below is a button block. Perhaps your site has three variations of how to display a button on your site. You must create a ",(0,i.jsx)(t.code,{children:"default"})," button block and you can create additional variations that changes the default values for the other two buttons. This sounds awfully familiar to block styles, but the concept of variations goes a bit further than that, as you\u2019ll see."]}),"\n",(0,i.jsxs)(t.p,{children:["Here is the best article on how to better understand ",(0,i.jsx)(t.a,{href:"https://css-tricks.com/how-to-use-block-variations-in-wordpress/",children:"block variations"}),"."]}),"\n",(0,i.jsxs)(t.p,{children:["What we did with variations is just like blocks. Provide the structured data from the ",(0,i.jsx)(t.code,{children:"manifest.json"})," and use that to register your variation."]}),"\n",(0,i.jsx)(t.h3,{id:"structure",children:"Structure"}),"\n",(0,i.jsxs)(t.p,{children:["The structure is the same as a normal block but with some limitations on what you can use. You can check the ",(0,i.jsx)(t.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-registration/#variations-optional",children:"WordPress documentation"})," for more on this subject."]}),"\n",(0,i.jsx)(t.h3,{id:"limitations",children:"Limitations"}),"\n",(0,i.jsxs)(t.p,{children:["As we saw from our testing, you are not limited to only changing the block's default attributes, but adding additional data like inner blocks and such. With this setup, you can use variations the same way as you would block patterns, only in the variation you provide the data using ",(0,i.jsx)(t.code,{children:"manifest.json"}),"."]}),"\n",(0,i.jsx)(t.h3,{id:"changes-from-native-wordpress-block-variations-api",children:"Changes from native WordPress block variations API"}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:"parentName"})," key is the only addition to the original documentation. We implemented this key to be able to connect the original block with its variation. This key must be the same as it is defined in the original blocks ",(0,i.jsx)(t.code,{children:"blockName"})," key."]})]})}function h(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},11151:(e,t,s)=>{s.d(t,{Z:()=>r,a:()=>n});var i=s(67294);const o={},a=i.createContext(o);function n(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:n(e.components),i.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/88748759.6f8bafa9.js b/assets/js/88748759.6f8bafa9.js new file mode 100644 index 000000000..be43fb117 --- /dev/null +++ b/assets/js/88748759.6f8bafa9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[3360],{80888:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>n,default:()=>h,frontMatter:()=>a,metadata:()=>r,toc:()=>l});var i=s(17624),o=s(4552);const a={id:"blocks-variations",title:"Variations"},n=void 0,r={id:"legacy/v8/basics/blocks-variations",title:"Variations",description:"docs-source",source:"@site/docs/legacy/v8/basics/blocks-variations.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/blocks-variations",permalink:"/docs/legacy/v8/basics/blocks-variations",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-variations",title:"Variations"},sidebar:"docs",previous:{title:"Wrapper",permalink:"/docs/legacy/v8/basics/blocks-wrapper"},next:{title:"Patterns",permalink:"/docs/legacy/v8/basics/blocks-patterns"}},c={},l=[{value:"Structure",id:"structure",level:3},{value:"Limitations",id:"limitations",level:3},{value:"Changes from native WordPress block variations API",id:"changes-from-native-wordpress-block-variations-api",level:3}];function d(e){const t={a:"a",code:"code",h3:"h3",img:"img",p:"p",...(0,o.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsx)(t.p,{children:"Block variations allow developers to define instances of existing blocks by changing their default values."}),"\n",(0,i.jsxs)(t.p,{children:["An example that you\u2019ll see below is a button block. Perhaps your site has three variations of how to display a button on your site. You must create a ",(0,i.jsx)(t.code,{children:"default"})," button block and you can create additional variations that changes the default values for the other two buttons. This sounds awfully familiar to block styles, but the concept of variations goes a bit further than that, as you\u2019ll see."]}),"\n",(0,i.jsxs)(t.p,{children:["Here is the best article on how to better understand ",(0,i.jsx)(t.a,{href:"https://css-tricks.com/how-to-use-block-variations-in-wordpress/",children:"block variations"}),"."]}),"\n",(0,i.jsxs)(t.p,{children:["What we did with variations is just like blocks. Provide the structured data from the ",(0,i.jsx)(t.code,{children:"manifest.json"})," and use that to register your variation."]}),"\n",(0,i.jsx)(t.h3,{id:"structure",children:"Structure"}),"\n",(0,i.jsxs)(t.p,{children:["The structure is the same as a normal block but with some limitations on what you can use. You can check the ",(0,i.jsx)(t.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-registration/#variations-optional",children:"WordPress documentation"})," for more on this subject."]}),"\n",(0,i.jsx)(t.h3,{id:"limitations",children:"Limitations"}),"\n",(0,i.jsxs)(t.p,{children:["As we saw from our testing, you are not limited to only changing the block's default attributes, but adding additional data like inner blocks and such. With this setup, you can use variations the same way as you would block patterns, only in the variation you provide the data using ",(0,i.jsx)(t.code,{children:"manifest.json"}),"."]}),"\n",(0,i.jsx)(t.h3,{id:"changes-from-native-wordpress-block-variations-api",children:"Changes from native WordPress block variations API"}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:"parentName"})," key is the only addition to the original documentation. We implemented this key to be able to connect the original block with its variation. This key must be the same as it is defined in the original blocks ",(0,i.jsx)(t.code,{children:"blockName"})," key."]})]})}function h(e={}){const{wrapper:t}={...(0,o.M)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},4552:(e,t,s)=>{s.d(t,{I:()=>r,M:()=>n});var i=s(11504);const o={},a=i.createContext(o);function n(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:n(e.components),i.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/889c25c7.d5e55465.js b/assets/js/889c25c7.d5e55465.js new file mode 100644 index 000000000..849980ca0 --- /dev/null +++ b/assets/js/889c25c7.d5e55465.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[23868],{28484:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>o,default:()=>d,frontMatter:()=>a,metadata:()=>s,toc:()=>p});var i=t(17624),r=t(4552);const a={id:"workable",title:"Workable"},o=void 0,s={id:"php/global-variables/integrations/workable",title:"Workable",description:"ESAPIKEY_WORKABLE",source:"@site/forms/php/global-variables/integrations/workable.md",sourceDirName:"php/global-variables/integrations",slug:"/php/global-variables/integrations/workable",permalink:"/forms/php/global-variables/integrations/workable",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"workable",title:"Workable"},sidebar:"forms",previous:{title:"Moments",permalink:"/forms/php/global-variables/integrations/moments"},next:{title:"Pipedrive",permalink:"/forms/php/global-variables/integrations/pipedrive"}},l={},p=[{value:"ES_API_KEY_WORKABLE",id:"es_api_key_workable",level:3},{value:"ES_SUBDOMAIN_WORKABLE",id:"es_subdomain_workable",level:3}];function c(e){const n={code:"code",h3:"h3",p:"p",pre:"pre",...(0,r.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h3,{id:"es_api_key_workable",children:"ES_API_KEY_WORKABLE"}),"\n",(0,i.jsx)(n.p,{children:"This variable will set the Workable integration API key."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-php",children:"define('ES_API_KEY_WORKABLE', '<api-key>');\n"})}),"\n",(0,i.jsx)(n.h3,{id:"es_subdomain_workable",children:"ES_SUBDOMAIN_WORKABLE"}),"\n",(0,i.jsx)(n.p,{children:"This variable will set Workable integration subdomain key."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-php",children:"define('ES_SUBDOMAIN_WORKABLE', '<subdomain-key>');\n"})})]})}function d(e={}){const{wrapper:n}={...(0,r.M)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},4552:(e,n,t)=>{t.d(n,{I:()=>s,M:()=>o});var i=t(11504);const r={},a=i.createContext(r);function o(e){const n=i.useContext(a);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function s(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),i.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/889c25c7.de1538ba.js b/assets/js/889c25c7.de1538ba.js deleted file mode 100644 index b43402912..000000000 --- a/assets/js/889c25c7.de1538ba.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[92149],{4761:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>o,default:()=>d,frontMatter:()=>r,metadata:()=>s,toc:()=>p});var a=t(85893),i=t(11151);const r={id:"workable",title:"Workable"},o=void 0,s={id:"php/global-variables/integrations/workable",title:"Workable",description:"ESAPIKEY_WORKABLE",source:"@site/forms/php/global-variables/integrations/workable.md",sourceDirName:"php/global-variables/integrations",slug:"/php/global-variables/integrations/workable",permalink:"/forms/php/global-variables/integrations/workable",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"workable",title:"Workable"},sidebar:"forms",previous:{title:"Moments",permalink:"/forms/php/global-variables/integrations/moments"},next:{title:"Pipedrive",permalink:"/forms/php/global-variables/integrations/pipedrive"}},l={},p=[{value:"ES_API_KEY_WORKABLE",id:"es_api_key_workable",level:3},{value:"ES_SUBDOMAIN_WORKABLE",id:"es_subdomain_workable",level:3}];function c(e){const n={code:"code",h3:"h3",p:"p",pre:"pre",...(0,i.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.h3,{id:"es_api_key_workable",children:"ES_API_KEY_WORKABLE"}),"\n",(0,a.jsx)(n.p,{children:"This variable will set the Workable integration API key."}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-php",children:"define('ES_API_KEY_WORKABLE', '<api-key>');\n"})}),"\n",(0,a.jsx)(n.h3,{id:"es_subdomain_workable",children:"ES_SUBDOMAIN_WORKABLE"}),"\n",(0,a.jsx)(n.p,{children:"This variable will set Workable integration subdomain key."}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-php",children:"define('ES_SUBDOMAIN_WORKABLE', '<subdomain-key>');\n"})})]})}function d(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(c,{...e})}):c(e)}},11151:(e,n,t)=>{t.d(n,{Z:()=>s,a:()=>o});var a=t(67294);const i={},r=a.createContext(i);function o(e){const n=a.useContext(r);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function s(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),a.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/89c5f7f6.2907a714.js b/assets/js/89c5f7f6.2907a714.js new file mode 100644 index 000000000..40a17b47e --- /dev/null +++ b/assets/js/89c5f7f6.2907a714.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[84174],{67752:(s,e,t)=>{t.r(e),t.d(e,{assets:()=>a,contentTitle:()=>i,default:()=>h,frontMatter:()=>n,metadata:()=>c,toc:()=>l});var o=t(17624),r=t(4552);const n={id:"blocks-transforms",title:"Transforms"},i=void 0,c={id:"legacy/v7/basics/blocks-transforms",title:"Transforms",description:"docs-source",source:"@site/docs/legacy/v7/basics/blocks-transforms.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/blocks-transforms",permalink:"/docs/legacy/v7/basics/blocks-transforms",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-transforms",title:"Transforms"},sidebar:"docs",previous:{title:"Patterns",permalink:"/docs/legacy/v7/basics/blocks-patterns"},next:{title:"Hooks",permalink:"/docs/legacy/v7/basics/blocks-hooks"}},a={},l=[];function d(s){const e={a:"a",img:"img",p:"p",...(0,r.M)(),...s.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.p,{children:(0,o.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/",children:(0,o.jsx)(e.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(e.p,{children:"Block Transforms is an API that allows a block to be transformed from and to other blocks, as well as from other entities."}),"\n",(0,o.jsxs)(e.p,{children:["You can check the ",(0,o.jsx)(e.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-transforms/",children:"WordPress documentation"})," on this subject."]}),"\n",(0,o.jsx)(e.p,{children:"We didn't change anything regarding the original documentation; we simply provided you with the structured file where you can write all your transformations."}),"\n",(0,o.jsxs)(e.p,{children:["Please follow this ",(0,o.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/Blocks/custom/heading/heading-transforms.js",children:"example"})," for more inspiration."]})]})}function h(s={}){const{wrapper:e}={...(0,r.M)(),...s.components};return e?(0,o.jsx)(e,{...s,children:(0,o.jsx)(d,{...s})}):d(s)}},4552:(s,e,t)=>{t.d(e,{I:()=>c,M:()=>i});var o=t(11504);const r={},n=o.createContext(r);function i(s){const e=o.useContext(n);return o.useMemo((function(){return"function"==typeof s?s(e):{...e,...s}}),[e,s])}function c(s){let e;return e=s.disableParentContext?"function"==typeof s.components?s.components(r):s.components||r:i(s.components),o.createElement(n.Provider,{value:e},s.children)}}}]); \ No newline at end of file diff --git a/assets/js/89c5f7f6.98173ac8.js b/assets/js/89c5f7f6.98173ac8.js deleted file mode 100644 index eb73b2344..000000000 --- a/assets/js/89c5f7f6.98173ac8.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[16337],{22863:(s,e,t)=>{t.r(e),t.d(e,{assets:()=>a,contentTitle:()=>i,default:()=>h,frontMatter:()=>n,metadata:()=>c,toc:()=>l});var o=t(85893),r=t(11151);const n={id:"blocks-transforms",title:"Transforms"},i=void 0,c={id:"legacy/v7/basics/blocks-transforms",title:"Transforms",description:"docs-source",source:"@site/docs/legacy/v7/basics/blocks-transforms.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/blocks-transforms",permalink:"/docs/legacy/v7/basics/blocks-transforms",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-transforms",title:"Transforms"},sidebar:"docs",previous:{title:"Patterns",permalink:"/docs/legacy/v7/basics/blocks-patterns"},next:{title:"Hooks",permalink:"/docs/legacy/v7/basics/blocks-hooks"}},a={},l=[];function d(s){const e={a:"a",img:"img",p:"p",...(0,r.a)(),...s.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.p,{children:(0,o.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/",children:(0,o.jsx)(e.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(e.p,{children:"Block Transforms is an API that allows a block to be transformed from and to other blocks, as well as from other entities."}),"\n",(0,o.jsxs)(e.p,{children:["You can check the ",(0,o.jsx)(e.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-transforms/",children:"WordPress documentation"})," on this subject."]}),"\n",(0,o.jsx)(e.p,{children:"We didn't change anything regarding the original documentation; we simply provided you with the structured file where you can write all your transformations."}),"\n",(0,o.jsxs)(e.p,{children:["Please follow this ",(0,o.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/Blocks/custom/heading/heading-transforms.js",children:"example"})," for more inspiration."]})]})}function h(s={}){const{wrapper:e}={...(0,r.a)(),...s.components};return e?(0,o.jsx)(e,{...s,children:(0,o.jsx)(d,{...s})}):d(s)}},11151:(s,e,t)=>{t.d(e,{Z:()=>c,a:()=>i});var o=t(67294);const r={},n=o.createContext(r);function i(s){const e=o.useContext(n);return o.useMemo((function(){return"function"==typeof s?s(e):{...e,...s}}),[e,s])}function c(s){let e;return e=s.disableParentContext?"function"==typeof s.components?s.components(r):s.components||r:i(s.components),o.createElement(n.Provider,{value:e},s.children)}}}]); \ No newline at end of file diff --git a/assets/js/8ae4ee15.793c3c8b.js b/assets/js/8ae4ee15.793c3c8b.js new file mode 100644 index 000000000..c5299d464 --- /dev/null +++ b/assets/js/8ae4ee15.793c3c8b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[16968],{37524:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var i=s(17624),t=s(4552);const o={id:"dynamic-import",title:"Dynamic Import",sidebar_label:"Dynamic Import"},r=void 0,l={id:"legacy/v5/basics/dynamic-import",title:"Dynamic Import",description:"docs-source",source:"@site/docs/legacy/v5/basics/dynamic-import.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/dynamic-import",permalink:"/docs/legacy/v5/basics/dynamic-import",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"dynamic-import",title:"Dynamic Import",sidebar_label:"Dynamic Import"},sidebar:"docs",previous:{title:"Browser Sync",permalink:"/docs/legacy/v5/basics/browser-sync"},next:{title:"Blocks",permalink:"/docs/legacy/v5/basics/blocks"}},a={},c=[{value:"How does it work?",id:"how-does-it-work",level:2},{value:"Example",id:"example",level:2},{value:"index.js",id:"indexjs",level:3},{value:"carousel-slider.js",id:"carousel-sliderjs",level:3}];function d(e){const n={a:"a",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0",children:(0,i.jsx)(n.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsxs)(n.p,{children:["When writing all our JavaScript code we like to make it as fast and optimized as possible and there is no better way of doing that other than utilizing one powerful tool from Webpack called ",(0,i.jsx)(n.a,{href:"https://webpack.js.org/guides/code-splitting/#dynamic-imports",children:"dynamic imports"}),"."]}),"\n",(0,i.jsx)(n.p,{children:"This method provides us the ability to write all our JavaScript code but load them in the DOM only when it is used, basically, this is what all JavaScript libraries use out of the box."}),"\n",(0,i.jsx)(n.p,{children:"By writing all our JavaScript code like this we can:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"optimize loading time."}),"\n",(0,i.jsx)(n.li,{children:"reduce the size of finished bundled JavaScript code."}),"\n",(0,i.jsx)(n.li,{children:"have websites that are fast and this can positively impact your Seo rating."}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"how-does-it-work",children:"How does it work?"}),"\n",(0,i.jsxs)(n.p,{children:["In a nutshell, you load all your code using JavaScript promises and Webpack splits all these promises into separate file chinks. Once the condition to resolve the promise is set (generally we check if the selector is present in the DOM), Webpack automatically injects your chunk in the DOM and loads it up. This is why you will see in your public folder a bunch of smaller files called (",(0,i.jsx)(n.code,{children:"0.js"}),", ",(0,i.jsx)(n.code,{children:"1.js"}),", ",(0,i.jsx)(n.code,{children:"2.js"}),", etc)."]}),"\n",(0,i.jsx)(n.p,{children:"You don't need to think about this. Webpack just does it for you."}),"\n",(0,i.jsx)(n.h2,{id:"example",children:"Example"}),"\n",(0,i.jsx)(n.p,{children:"For example, let's make a carousel. We like to write all our JavaScript code in classes so we will provide an example for that but you can use this with functions as well."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"We have to files:"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"index.js"})," - the main entry point for your JavaScript feature."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"className.js"})," - class with your JavaScript features that you can reuse."]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"indexjs",children:"index.js"}),"\n",(0,i.jsx)(n.p,{children:"This is a version where you have multiple instances of this feature on one page. If you are creating a feature for your block/component you will use the following example."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"import domReady from '@wordpress/dom-ready';\n\n// Use this helper to make sure this code is executed when everything in DOM is set.\ndomReady(() => {\n\n // Provide selectors to check.\n const selector = '.js-block-carousel';\n const elements = document.querySelectorAll(selector);\n\n // This is the important part because if this condition is true this promise will resolve and your chink will be loaded in the DOM.\n if (elements.length) {\n\n // Normally load and resolve a promise on file import.\n import('./carousel-slider').then(({ CarouselSlider }) => {\n\n // Loop possible multiple iterations.\n [...elements].forEach((element) => {\n\n // Load a class for all sliders\n const carouselSlider = new CarouselSlider({\n element,\n nextElement: `${selector}-next-arrow`,\n prevElement: `${selector}-prev-arrow`,\n });\n\n // Run and init function that starts everything in your class.\n carouselSlider.init();\n });\n });\n }\n});\n"})}),"\n",(0,i.jsxs)(n.p,{children:["If you are sure you will have only one instance of this feature on one-page use the following code in your ",(0,i.jsx)(n.code,{children:"index.js"})," file."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"import domReady from '@wordpress/dom-ready';\n\n// Use this helper to make sure this code is executed when everything in DOM is set.\ndomReady(() => {\n\n // Provide selectors to check.\n const selector = '.js-block-carousel';\n const element = document.querySelector(selector);\n\n // This is the important part. Because of it, your code will only be imported when there's an element on the page that uses it.\n if (element) {\n\n // Normally load and resolve a promise on file import.\n import('./carousel-slider').then(({ CarouselSlider }) => {\n // Load a class for each iteration.\n const carouselSlider = new CarouselSlider({\n element,\n nextElement: `${selector}-next-arrow`,\n prevElement: `${selector}-prev-arrow`,\n });\n\n // Run and init function that starts everything in your class.\n carouselSlider.init();\n });\n }\n});\n"})}),"\n",(0,i.jsx)(n.h3,{id:"carousel-sliderjs",children:"carousel-slider.js"}),"\n",(0,i.jsx)(n.p,{children:"This is a normal class with some JavaScript functionality."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"import Swiper from 'swiper';\n\nexport class CarouselSlider {\n constructor(options) {\n this.element = options.element;\n this.nextElement = options.nextElement;\n this.prevElement = options.prevElement;\n }\n\n init() {\n new Swiper(\n this.element,\n {\n // ...\n navigation: {\n nextEl: this.nextElement,\n prevEl: this.prevElement,\n },\n // ...\n }\n );\n }\n}\n"})})]})}function h(e={}){const{wrapper:n}={...(0,t.M)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},4552:(e,n,s)=>{s.d(n,{I:()=>l,M:()=>r});var i=s(11504);const t={},o=i.createContext(t);function r(e){const n=i.useContext(o);return i.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(t):e.components||t:r(e.components),i.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/8ae4ee15.c09704a7.js b/assets/js/8ae4ee15.c09704a7.js deleted file mode 100644 index 24e50d5b4..000000000 --- a/assets/js/8ae4ee15.c09704a7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[56664],{81045:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var i=s(85893),t=s(11151);const o={id:"dynamic-import",title:"Dynamic Import",sidebar_label:"Dynamic Import"},r=void 0,l={id:"legacy/v5/basics/dynamic-import",title:"Dynamic Import",description:"docs-source",source:"@site/docs/legacy/v5/basics/dynamic-import.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/dynamic-import",permalink:"/docs/legacy/v5/basics/dynamic-import",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"dynamic-import",title:"Dynamic Import",sidebar_label:"Dynamic Import"},sidebar:"docs",previous:{title:"Browser Sync",permalink:"/docs/legacy/v5/basics/browser-sync"},next:{title:"Blocks",permalink:"/docs/legacy/v5/basics/blocks"}},a={},c=[{value:"How does it work?",id:"how-does-it-work",level:2},{value:"Example",id:"example",level:2},{value:"index.js",id:"indexjs",level:3},{value:"carousel-slider.js",id:"carousel-sliderjs",level:3}];function d(e){const n={a:"a",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0",children:(0,i.jsx)(n.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsxs)(n.p,{children:["When writing all our JavaScript code we like to make it as fast and optimized as possible and there is no better way of doing that other than utilizing one powerful tool from Webpack called ",(0,i.jsx)(n.a,{href:"https://webpack.js.org/guides/code-splitting/#dynamic-imports",children:"dynamic imports"}),"."]}),"\n",(0,i.jsx)(n.p,{children:"This method provides us the ability to write all our JavaScript code but load them in the DOM only when it is used, basically, this is what all JavaScript libraries use out of the box."}),"\n",(0,i.jsx)(n.p,{children:"By writing all our JavaScript code like this we can:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"optimize loading time."}),"\n",(0,i.jsx)(n.li,{children:"reduce the size of finished bundled JavaScript code."}),"\n",(0,i.jsx)(n.li,{children:"have websites that are fast and this can positively impact your Seo rating."}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"how-does-it-work",children:"How does it work?"}),"\n",(0,i.jsxs)(n.p,{children:["In a nutshell, you load all your code using JavaScript promises and Webpack splits all these promises into separate file chinks. Once the condition to resolve the promise is set (generally we check if the selector is present in the DOM), Webpack automatically injects your chunk in the DOM and loads it up. This is why you will see in your public folder a bunch of smaller files called (",(0,i.jsx)(n.code,{children:"0.js"}),", ",(0,i.jsx)(n.code,{children:"1.js"}),", ",(0,i.jsx)(n.code,{children:"2.js"}),", etc)."]}),"\n",(0,i.jsx)(n.p,{children:"You don't need to think about this. Webpack just does it for you."}),"\n",(0,i.jsx)(n.h2,{id:"example",children:"Example"}),"\n",(0,i.jsx)(n.p,{children:"For example, let's make a carousel. We like to write all our JavaScript code in classes so we will provide an example for that but you can use this with functions as well."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"We have to files:"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"index.js"})," - the main entry point for your JavaScript feature."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"className.js"})," - class with your JavaScript features that you can reuse."]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"indexjs",children:"index.js"}),"\n",(0,i.jsx)(n.p,{children:"This is a version where you have multiple instances of this feature on one page. If you are creating a feature for your block/component you will use the following example."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"import domReady from '@wordpress/dom-ready';\n\n// Use this helper to make sure this code is executed when everything in DOM is set.\ndomReady(() => {\n\n // Provide selectors to check.\n const selector = '.js-block-carousel';\n const elements = document.querySelectorAll(selector);\n\n // This is the important part because if this condition is true this promise will resolve and your chink will be loaded in the DOM.\n if (elements.length) {\n\n // Normally load and resolve a promise on file import.\n import('./carousel-slider').then(({ CarouselSlider }) => {\n\n // Loop possible multiple iterations.\n [...elements].forEach((element) => {\n\n // Load a class for all sliders\n const carouselSlider = new CarouselSlider({\n element,\n nextElement: `${selector}-next-arrow`,\n prevElement: `${selector}-prev-arrow`,\n });\n\n // Run and init function that starts everything in your class.\n carouselSlider.init();\n });\n });\n }\n});\n"})}),"\n",(0,i.jsxs)(n.p,{children:["If you are sure you will have only one instance of this feature on one-page use the following code in your ",(0,i.jsx)(n.code,{children:"index.js"})," file."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"import domReady from '@wordpress/dom-ready';\n\n// Use this helper to make sure this code is executed when everything in DOM is set.\ndomReady(() => {\n\n // Provide selectors to check.\n const selector = '.js-block-carousel';\n const element = document.querySelector(selector);\n\n // This is the important part. Because of it, your code will only be imported when there's an element on the page that uses it.\n if (element) {\n\n // Normally load and resolve a promise on file import.\n import('./carousel-slider').then(({ CarouselSlider }) => {\n // Load a class for each iteration.\n const carouselSlider = new CarouselSlider({\n element,\n nextElement: `${selector}-next-arrow`,\n prevElement: `${selector}-prev-arrow`,\n });\n\n // Run and init function that starts everything in your class.\n carouselSlider.init();\n });\n }\n});\n"})}),"\n",(0,i.jsx)(n.h3,{id:"carousel-sliderjs",children:"carousel-slider.js"}),"\n",(0,i.jsx)(n.p,{children:"This is a normal class with some JavaScript functionality."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"import Swiper from 'swiper';\n\nexport class CarouselSlider {\n constructor(options) {\n this.element = options.element;\n this.nextElement = options.nextElement;\n this.prevElement = options.prevElement;\n }\n\n init() {\n new Swiper(\n this.element,\n {\n // ...\n navigation: {\n nextEl: this.nextElement,\n prevEl: this.prevElement,\n },\n // ...\n }\n );\n }\n}\n"})})]})}function h(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},11151:(e,n,s)=>{s.d(n,{Z:()=>l,a:()=>r});var i=s(67294);const t={},o=i.createContext(t);function r(e){const n=i.useContext(o);return i.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(t):e.components||t:r(e.components),i.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/8b62c48f.1dfb1c2b.js b/assets/js/8b62c48f.1dfb1c2b.js deleted file mode 100644 index 5685a4621..000000000 --- a/assets/js/8b62c48f.1dfb1c2b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[21260],{30424: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/8b62c48f.7bfc13fd.js b/assets/js/8b62c48f.7bfc13fd.js new file mode 100644 index 000000000..f5bc5b3b3 --- /dev/null +++ b/assets/js/8b62c48f.7bfc13fd.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[3536],{19568: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/8c05f4d5.04a95d39.js b/assets/js/8c05f4d5.04a95d39.js new file mode 100644 index 000000000..a74d07f5d --- /dev/null +++ b/assets/js/8c05f4d5.04a95d39.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[59088],{15476:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>u,frontMatter:()=>i,metadata:()=>c,toc:()=>d});var o=n(17624),s=n(4552);const i={id:"rest-route",title:"REST Route"},r=void 0,c={id:"basics/rest-route",title:"REST Route",description:"docs-source",source:"@site/docs/basics/rest-route.md",sourceDirName:"basics",slug:"/basics/rest-route",permalink:"/docs/basics/rest-route",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"rest-route",title:"REST Route"},sidebar:"docs",previous:{title:"REST Field",permalink:"/docs/basics/rest-field"},next:{title:"General",permalink:"/docs/basics/frontend"}},a={},d=[{value:"Test it in action",id:"test-it-in-action",level:2}];function l(e){const t={a:"a",admonition:"admonition",code:"code",h2:"h2",img:"img",p:"p",...(0,s.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs",children:(0,o.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(t.p,{children:"This class is used to create a new REST API route."}),"\n",(0,o.jsx)(t.p,{children:"To create a new class for the REST API route, run this command:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"wp boilerplate create rest-route"})}),"\n",(0,o.jsxs)(t.p,{children:["The output will ask you to input the correct endpoint slug and method (",(0,o.jsx)(t.code,{children:"POST"}),", ",(0,o.jsx)(t.code,{children:"GET"}),", etc.). Everything else will be done for you, setting the namespace, package, vendor prefixes, class, and folder name, and you will be set to write your field implementation in the ",(0,o.jsx)(t.code,{children:"routeCallback"})," method."]}),"\n",(0,o.jsx)(t.h2,{id:"test-it-in-action",children:"Test it in action"}),"\n",(0,o.jsxs)(t.p,{children:["To test it in action, you should check the ",(0,o.jsx)(t.code,{children:"wp-json"})," path in your browser. You can do that with something like this:"]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"domain.ext/wp-json/routeNamespace/routeVersion/routeName"})}),"\n",(0,o.jsx)(t.admonition,{type:"note",children:(0,o.jsx)(t.p,{children:"This link will be different based on your project implementation."})})]})}function u(e={}){const{wrapper:t}={...(0,s.M)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},4552:(e,t,n)=>{n.d(t,{I:()=>c,M:()=>r});var o=n(11504);const s={},i=o.createContext(s);function r(e){const t=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),o.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/8c05f4d5.725994e0.js b/assets/js/8c05f4d5.725994e0.js deleted file mode 100644 index 46f11dc33..000000000 --- a/assets/js/8c05f4d5.725994e0.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[41772],{40382:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>u,frontMatter:()=>i,metadata:()=>c,toc:()=>d});var o=n(85893),s=n(11151);const i={id:"rest-route",title:"REST Route"},r=void 0,c={id:"basics/rest-route",title:"REST Route",description:"docs-source",source:"@site/docs/basics/rest-route.md",sourceDirName:"basics",slug:"/basics/rest-route",permalink:"/docs/basics/rest-route",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"rest-route",title:"REST Route"},sidebar:"docs",previous:{title:"REST Field",permalink:"/docs/basics/rest-field"},next:{title:"General",permalink:"/docs/basics/frontend"}},a={},d=[{value:"Test it in action",id:"test-it-in-action",level:2}];function l(e){const t={a:"a",admonition:"admonition",code:"code",h2:"h2",img:"img",p:"p",...(0,s.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs",children:(0,o.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(t.p,{children:"This class is used to create a new REST API route."}),"\n",(0,o.jsx)(t.p,{children:"To create a new class for the REST API route, run this command:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"wp boilerplate create rest-route"})}),"\n",(0,o.jsxs)(t.p,{children:["The output will ask you to input the correct endpoint slug and method (",(0,o.jsx)(t.code,{children:"POST"}),", ",(0,o.jsx)(t.code,{children:"GET"}),", etc.). Everything else will be done for you, setting the namespace, package, vendor prefixes, class, and folder name, and you will be set to write your field implementation in the ",(0,o.jsx)(t.code,{children:"routeCallback"})," method."]}),"\n",(0,o.jsx)(t.h2,{id:"test-it-in-action",children:"Test it in action"}),"\n",(0,o.jsxs)(t.p,{children:["To test it in action, you should check the ",(0,o.jsx)(t.code,{children:"wp-json"})," path in your browser. You can do that with something like this:"]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"domain.ext/wp-json/routeNamespace/routeVersion/routeName"})}),"\n",(0,o.jsx)(t.admonition,{type:"note",children:(0,o.jsx)(t.p,{children:"This link will be different based on your project implementation."})})]})}function u(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},11151:(e,t,n)=>{n.d(t,{Z:()=>c,a:()=>r});var o=n(67294);const s={},i=o.createContext(s);function r(e){const t=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),o.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/8cdd3050.96eb956a.js b/assets/js/8cdd3050.96eb956a.js deleted file mode 100644 index 66814318f..000000000 --- a/assets/js/8cdd3050.96eb956a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[2110],{58861:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>l,default:()=>d,frontMatter:()=>r,metadata:()=>s,toc:()=>c});var o=n(85893),i=n(11151);const r={id:"preview-remove-label",title:"Uploaded item remove button label"},l=void 0,s={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.",source:"@site/forms/php/filters/block/file/preview-remove-label.md",sourceDirName:"php/filters/block/file",slug:"/php/filters/block/file/preview-remove-label",permalink:"/forms/php/filters/block/file/preview-remove-label",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"preview-remove-label",title:"Uploaded item remove button label"},sidebar:"forms",previous:{title:"Additional content",permalink:"/forms/php/filters/block/select/additional-content"},next:{title:"Additional content",permalink:"/forms/php/filters/block/file/additional-content"}},a={},c=[];function p(e){const t={code:"code",em:"em",p:"p",pre:"pre",...(0,i.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(t.p,{children:["This filter allows you to change the label for the ",(0,o.jsx)(t.em,{children:"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 ",(0,o.jsx)(t.code,{children:"Dropzone.js"})," supports."]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-php",children:"\\add_filter('es_forms_block_file_preview_remove_label', [$this, 'getBlockFilePreviewRemoveLabel']);\n\n/**\n * Changing the default custom file preview remove label.\n *\n * This filter will override our default file preview remove label.\n *\n * @return string\n */\npublic function getBlockFilePreviewRemoveLabel(): string\n{\n\treturn \\esc_html__('Remove item', 'text-domain'); // This can be string or svg.\n}\n"})})]})}function d(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(p,{...e})}):p(e)}},11151:(e,t,n)=>{n.d(t,{Z:()=>s,a:()=>l});var o=n(67294);const i={},r=o.createContext(i);function l(e){const t=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:l(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/8cdd3050.a999d805.js b/assets/js/8cdd3050.a999d805.js new file mode 100644 index 000000000..2e12cb425 --- /dev/null +++ b/assets/js/8cdd3050.a999d805.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[80800],{73900:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>l,default:()=>d,frontMatter:()=>r,metadata:()=>s,toc:()=>c});var o=n(17624),i=n(4552);const r={id:"preview-remove-label",title:"Uploaded item remove button label"},l=void 0,s={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.",source:"@site/forms/php/filters/block/file/preview-remove-label.md",sourceDirName:"php/filters/block/file",slug:"/php/filters/block/file/preview-remove-label",permalink:"/forms/php/filters/block/file/preview-remove-label",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"preview-remove-label",title:"Uploaded item remove button label"},sidebar:"forms",previous:{title:"Additional content",permalink:"/forms/php/filters/block/select/additional-content"},next:{title:"Additional content",permalink:"/forms/php/filters/block/file/additional-content"}},a={},c=[];function p(e){const t={code:"code",em:"em",p:"p",pre:"pre",...(0,i.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(t.p,{children:["This filter allows you to change the label for the ",(0,o.jsx)(t.em,{children:"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 ",(0,o.jsx)(t.code,{children:"Dropzone.js"})," supports."]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-php",children:"\\add_filter('es_forms_block_file_preview_remove_label', [$this, 'getBlockFilePreviewRemoveLabel']);\n\n/**\n * Changing the default custom file preview remove label.\n *\n * This filter will override our default file preview remove label.\n *\n * @return string\n */\npublic function getBlockFilePreviewRemoveLabel(): string\n{\n\treturn \\esc_html__('Remove item', 'text-domain'); // This can be string or svg.\n}\n"})})]})}function d(e={}){const{wrapper:t}={...(0,i.M)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(p,{...e})}):p(e)}},4552:(e,t,n)=>{n.d(t,{I:()=>s,M:()=>l});var o=n(11504);const i={},r=o.createContext(i);function l(e){const t=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:l(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/8d5ae15a.213a1286.js b/assets/js/8d5ae15a.213a1286.js new file mode 100644 index 000000000..f17849601 --- /dev/null +++ b/assets/js/8d5ae15a.213a1286.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[49692],{76480:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>a,contentTitle:()=>l,default:()=>h,frontMatter:()=>t,metadata:()=>r,toc:()=>c});var i=s(17624),o=s(4552);const t={id:"wp-cli",title:"WP-CLI"},l=void 0,r={id:"basics/wp-cli",title:"WP-CLI",description:"docs-source",source:"@site/docs/basics/wp-cli.md",sourceDirName:"basics",slug:"/basics/wp-cli",permalink:"/docs/basics/wp-cli",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"wp-cli",title:"WP-CLI"},sidebar:"docs",previous:{title:"Basics",permalink:"/docs/basics/basics-intro"},next:{title:"Architecture concepts",permalink:"/docs/basics/architecture-concepts"}},a={},c=[{value:"How it works",id:"how-it-works",level:2},{value:"Options and commands",id:"options-and-commands",level:2},{value:"Commands",id:"commands",level:3},{value:"Running commands in multisite",id:"running-commands-in-multisite",level:2}];function d(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,o.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs",children:(0,i.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsxs)(n.p,{children:["Eightshift Development Kit provides extensive ",(0,i.jsx)(n.a,{href:"https://wp-cli.org/",children:"WP-CLI"})," tooling, allowing you to automate bootstrapping of common code, adding blocks from the Frontend Libs library to your projects and more using ",(0,i.jsx)(n.code,{children:"wp boilerplate"}),"."]}),"\n",(0,i.jsx)(n.h2,{id:"how-it-works",children:"How it works"}),"\n",(0,i.jsxs)(n.p,{children:["In your project's entry point (usually ",(0,i.jsx)(n.code,{children:"functions.php"}),"), you'll find something along these lines:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-php",children:"/**\n * Run all WP-CLI commands.\n */\nif (\\class_exists(Cli::class)) {\n\t(new Cli())->load('boilerplate');\n}\n"})}),"\n",(0,i.jsxs)(n.p,{children:["This code loads the WP-CLI class from Eightshift Libs, which handles command registration for all of our commands. As this command registration is part of the theme/plugin code, this means that the same theme/plugin ",(0,i.jsx)(n.strong,{children:"must be activated"})," for ",(0,i.jsx)(n.code,{children:"wp boilerplate"})," to work."]}),"\n",(0,i.jsx)(n.p,{children:"To run the WP-CLI command and see what you can use, run this command in your terminal:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"wp boilerplate --help\n"})}),"\n",(0,i.jsx)(n.admonition,{type:"note",children:(0,i.jsxs)(n.p,{children:["By default, your project's WP-CLI commands run under the parent name ",(0,i.jsx)(n.code,{children:"boilerplate"}),", as defined above."]})}),"\n",(0,i.jsx)(n.p,{children:"You can change that by simply replacing the string inside the load method like this:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-php",children:"/**\n * Run all WP-CLI commands.\n */\nif (\\class_exists(Cli::class)) {\n (new Cli())->load('superCoolTheme');\n}\n"})}),"\n",(0,i.jsx)(n.p,{children:"Now, your project's WP-CLI commands are available using:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"wp superCoolTheme --help\n"})}),"\n",(0,i.jsx)(n.p,{children:"This is especially handy when you have multiple Eightshift Boilerplate powered themes or plugins installed. In that case, you should change the WP-CLI parent name on each of the projects."}),"\n",(0,i.jsx)(n.h2,{id:"options-and-commands",children:"Options and commands"}),"\n",(0,i.jsxs)(n.p,{children:["To get to know which commands are available and what do they do, run ",(0,i.jsx)(n.code,{children:"wp boilerplate --help"}),".\nThe ",(0,i.jsx)(n.code,{children:"--help"})," argument is available on all of our commands and provides a description of the command and a list of required and optional parameters for the command."]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"wp boilerplate create config --help"})}),"\n",(0,i.jsx)(n.h3,{id:"commands",children:"Commands"}),"\n",(0,i.jsx)(n.p,{children:"We use these common prefixes for commands:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"create"})," - services classes that will be copied to your project."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"init"})," - additional functions, methods and helpers that will be copied to your project."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"run"})," - commands used to run an action directly from Eightshift Libs. They will not copy anything to your project."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"setup"})," - commands that runs multiple already defined commands from the list."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"use"})," - commands used for blocks and block-related stuff. They will copy various files and folders from the blocks folder to your project."]}),"\n"]}),"\n",(0,i.jsx)(n.admonition,{title:"Tip",type:"success",children:(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Make WP-CLI your best friend, and your coding life will be much more comfortable, trust us."})})}),"\n",(0,i.jsxs)(n.p,{children:["While we might go into more details about some of these commands, we won't be documenting all of them here - use the built-in manuals for more information about particular commands and to discover what's available. Don't gloss over them, as using ",(0,i.jsx)(n.code,{children:"wp boilerplate"})," is a particularly useful tool when building projects with Eightshift Development Kit."]}),"\n",(0,i.jsx)(n.h2,{id:"running-commands-in-multisite",children:"Running commands in multisite"}),"\n",(0,i.jsxs)(n.p,{children:["When you are running a multisite setup, you should always provide the additional ",(0,i.jsx)(n.code,{children:"--url"})," parameter. Otherwise, WP-CLI will always run the command on the main site."]}),"\n",(0,i.jsx)(n.p,{children:"Here is an example for command running on the primary site:"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"wp boilerplate create config"})}),"\n",(0,i.jsx)(n.p,{children:"and here is an example for command running on the subsite:"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"wp boilerplate create config --url='custom.domain.com'"})})]})}function h(e={}){const{wrapper:n}={...(0,o.M)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},4552:(e,n,s)=>{s.d(n,{I:()=>r,M:()=>l});var i=s(11504);const o={},t=i.createContext(o);function l(e){const n=i.useContext(t);return i.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(o):e.components||o:l(e.components),i.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/8d5ae15a.466ab492.js b/assets/js/8d5ae15a.466ab492.js deleted file mode 100644 index 5f0b0d210..000000000 --- a/assets/js/8d5ae15a.466ab492.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[86438],{52732:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>a,contentTitle:()=>l,default:()=>h,frontMatter:()=>t,metadata:()=>r,toc:()=>c});var i=s(85893),o=s(11151);const t={id:"wp-cli",title:"WP-CLI"},l=void 0,r={id:"basics/wp-cli",title:"WP-CLI",description:"docs-source",source:"@site/docs/basics/wp-cli.md",sourceDirName:"basics",slug:"/basics/wp-cli",permalink:"/docs/basics/wp-cli",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"wp-cli",title:"WP-CLI"},sidebar:"docs",previous:{title:"Basics",permalink:"/docs/basics/basics-intro"},next:{title:"Architecture concepts",permalink:"/docs/basics/architecture-concepts"}},a={},c=[{value:"How it works",id:"how-it-works",level:2},{value:"Options and commands",id:"options-and-commands",level:2},{value:"Commands",id:"commands",level:3},{value:"Running commands in multisite",id:"running-commands-in-multisite",level:2}];function d(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,o.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs",children:(0,i.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsxs)(n.p,{children:["Eightshift Development Kit provides extensive ",(0,i.jsx)(n.a,{href:"https://wp-cli.org/",children:"WP-CLI"})," tooling, allowing you to automate bootstrapping of common code, adding blocks from the Frontend Libs library to your projects and more using ",(0,i.jsx)(n.code,{children:"wp boilerplate"}),"."]}),"\n",(0,i.jsx)(n.h2,{id:"how-it-works",children:"How it works"}),"\n",(0,i.jsxs)(n.p,{children:["In your project's entry point (usually ",(0,i.jsx)(n.code,{children:"functions.php"}),"), you'll find something along these lines:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-php",children:"/**\n * Run all WP-CLI commands.\n */\nif (\\class_exists(Cli::class)) {\n\t(new Cli())->load('boilerplate');\n}\n"})}),"\n",(0,i.jsxs)(n.p,{children:["This code loads the WP-CLI class from Eightshift Libs, which handles command registration for all of our commands. As this command registration is part of the theme/plugin code, this means that the same theme/plugin ",(0,i.jsx)(n.strong,{children:"must be activated"})," for ",(0,i.jsx)(n.code,{children:"wp boilerplate"})," to work."]}),"\n",(0,i.jsx)(n.p,{children:"To run the WP-CLI command and see what you can use, run this command in your terminal:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"wp boilerplate --help\n"})}),"\n",(0,i.jsx)(n.admonition,{type:"note",children:(0,i.jsxs)(n.p,{children:["By default, your project's WP-CLI commands run under the parent name ",(0,i.jsx)(n.code,{children:"boilerplate"}),", as defined above."]})}),"\n",(0,i.jsx)(n.p,{children:"You can change that by simply replacing the string inside the load method like this:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-php",children:"/**\n * Run all WP-CLI commands.\n */\nif (\\class_exists(Cli::class)) {\n (new Cli())->load('superCoolTheme');\n}\n"})}),"\n",(0,i.jsx)(n.p,{children:"Now, your project's WP-CLI commands are available using:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"wp superCoolTheme --help\n"})}),"\n",(0,i.jsx)(n.p,{children:"This is especially handy when you have multiple Eightshift Boilerplate powered themes or plugins installed. In that case, you should change the WP-CLI parent name on each of the projects."}),"\n",(0,i.jsx)(n.h2,{id:"options-and-commands",children:"Options and commands"}),"\n",(0,i.jsxs)(n.p,{children:["To get to know which commands are available and what do they do, run ",(0,i.jsx)(n.code,{children:"wp boilerplate --help"}),".\nThe ",(0,i.jsx)(n.code,{children:"--help"})," argument is available on all of our commands and provides a description of the command and a list of required and optional parameters for the command."]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"wp boilerplate create config --help"})}),"\n",(0,i.jsx)(n.h3,{id:"commands",children:"Commands"}),"\n",(0,i.jsx)(n.p,{children:"We use these common prefixes for commands:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"create"})," - services classes that will be copied to your project."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"init"})," - additional functions, methods and helpers that will be copied to your project."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"run"})," - commands used to run an action directly from Eightshift Libs. They will not copy anything to your project."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"setup"})," - commands that runs multiple already defined commands from the list."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"use"})," - commands used for blocks and block-related stuff. They will copy various files and folders from the blocks folder to your project."]}),"\n"]}),"\n",(0,i.jsx)(n.admonition,{title:"Tip",type:"success",children:(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Make WP-CLI your best friend, and your coding life will be much more comfortable, trust us."})})}),"\n",(0,i.jsxs)(n.p,{children:["While we might go into more details about some of these commands, we won't be documenting all of them here - use the built-in manuals for more information about particular commands and to discover what's available. Don't gloss over them, as using ",(0,i.jsx)(n.code,{children:"wp boilerplate"})," is a particularly useful tool when building projects with Eightshift Development Kit."]}),"\n",(0,i.jsx)(n.h2,{id:"running-commands-in-multisite",children:"Running commands in multisite"}),"\n",(0,i.jsxs)(n.p,{children:["When you are running a multisite setup, you should always provide the additional ",(0,i.jsx)(n.code,{children:"--url"})," parameter. Otherwise, WP-CLI will always run the command on the main site."]}),"\n",(0,i.jsx)(n.p,{children:"Here is an example for command running on the primary site:"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"wp boilerplate create config"})}),"\n",(0,i.jsx)(n.p,{children:"and here is an example for command running on the subsite:"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"wp boilerplate create config --url='custom.domain.com'"})})]})}function h(e={}){const{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},11151:(e,n,s)=>{s.d(n,{Z:()=>r,a:()=>l});var i=s(67294);const o={},t=i.createContext(o);function l(e){const n=i.useContext(t);return i.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(o):e.components||o:l(e.components),i.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/8ddbe34c.554695cd.js b/assets/js/8ddbe34c.554695cd.js new file mode 100644 index 000000000..4ee92ccf0 --- /dev/null +++ b/assets/js/8ddbe34c.554695cd.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[19768],{25167:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>s,default:()=>c,frontMatter:()=>o,metadata:()=>l,toc:()=>f});var r=n(17624),i=n(4552),a=n(80148);const o={id:"additional-content",title:"Additional content"},s=void 0,l={id:"php/filters/block/form/additional-content",title:"Additional content",description:"",source:"@site/forms/php/filters/block/form/additional-content.mdx",sourceDirName:"php/filters/block/form",slug:"/php/filters/block/form/additional-content",permalink:"/forms/php/filters/block/form/additional-content",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"additional-content",title:"Additional content"},sidebar:"forms",previous:{title:"Global msg headings",permalink:"/forms/php/filters/block/form/global-msg-headings"},next:{title:"Pre-Response add-on Data",permalink:"/forms/php/filters/block/form/pre-response-addon-data"}},d={},f=[];function m(t){return(0,r.jsx)(a.g,{filter:"form"})}function c(t={}){const{wrapper:e}={...(0,i.M)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(m,{...t})}):m()}},80148:(t,e,n)=>{n.d(e,{g:()=>s,y:()=>o});n(11504);var r=n(1608),i=n(96616),a=n(17624);function o(t){let{filter:e,onlyUse:n=["dataFilter","orderFilter","prePostIdFilter","prePostParamsFilter"]}=t;return(0,a.jsxs)(a.Fragment,{children:[n.includes("dataFilter")&&(0,a.jsx)(l,{filter:e}),n.includes("orderFilter")&&(0,a.jsx)(d,{filter:e}),n.includes("prePostIdFilter")&&(0,a.jsx)(f,{filter:e}),n.includes("prePostParamsFilter")&&(0,a.jsx)(m,{filter:e})]})}function s(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{children:"Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc."}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\tadd_filter('es_forms_block_${e}_additional_content', function(): string {\n\t\t\t\treturn '<custom-string>';\n\t\t\t})\n\t\t\t`)})]})}function l(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Data filter"}),(0,a.jsx)("p",{children:"Allows modifying form field data before it's shown in the Block Editor or output on the frontend."}),(0,a.jsx)("p",{children:"Useful if, for example, you want to ensure that all fields fit into a 2-column layout."}),(0,a.jsx)("p",{children:"Overrides any Block Editor changes!"}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\tadd_filter('es_forms_integrations_${e}_data', 'getIntegrationFilterData', 10, 2);\n\n\t\t\t/**\n\t\t\t * Manipulate form fields data before it is sent to the Block Editor.\n\t\t\t *\n\t\t\t * @param array<mixed> $data Form fields data.\n\t\t\t * @param string $formId Form ID.\n\t\t\t *\n\t\t\t * @return array<mixed>\n\t\t\t */\n\t\t\tfunction getIntegrationFilterData(array $data, string $formId): array\n\t\t\t{\n\t\t\t\tforeach ($data as $index => $field) {\n\t\t\t\t\t$component = $field['component'] ?? '';\n\n\t\t\t\t\tif (!$component) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t$name = $field["{$component}Name"] ?? '';\n\n\t\t\t\t\tif (!$name) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch ($name) {\n\t\t\t\t\t\tcase 'firstname':\n\t\t\t\t\t\tcase 'lastname':\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthMobile"] = 12;\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthLarge"] = 6;\n\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"] = array_merge(\n\t\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthMobile",\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthLarge",\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t`)})]})}function d(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Order filter"}),(0,a.jsx)("p",{children:"Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor."}),(0,a.jsxs)("p",{children:["Not all fields need to have an order defined. For example, you may want to make sure ",(0,a.jsx)("code",{children:"firstname"}),", ",(0,a.jsx)("code",{children:"lastname"})," and ",(0,a.jsx)("code",{children:"email"})," are displayed first, but other fields follow their Block editor order."]}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_order', 'getIntegrationOrder');\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Forces form field order for the provided fields. For other fields, Block editor order is used.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationOrder(): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t'firstname',\n\t\t\t\t\t\t\t'lastname',\n\t\t\t\t\t\t\t'email',\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t`)})]})}function f(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post ID filter"}),(0,a.jsx)("p",{children:"Allows updating item IDs sent to external integrations to which the form data is sent."}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_pre_post_id', 'getIntegrationPrePostId', 10, 3);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies integration item ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @param string $itemId Integration item ID.\n\t\t\t\t\t * @param array<mixed> $params Params to be sent to the integration.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @return array<mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostId(string $itemId, array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn $itemId;\n\t\t\t\t\t}\n\t\t\t\t`)})]})}function m(t){let{filter:e}=t,n="";if("mailer"===e)n="mailer system";else n="external integration";return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post parameters filter"}),(0,a.jsxs)("p",{children:["Allows modifying form field data before it's sent to ",n,". Useful if you want to make values derived from the sent data, or add new fields."]}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_pre_post_params', 'getIntegrationPrePostParams', 10, 2);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies form field data before it's sent to ${n}.\n\t\t\t\t\t *\n\t\t\t\t\t * @param array<string, mixed> $params Array of params.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string, mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostParams(array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\t$formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? '';\n\n\t\t\t\t\t\tif ($formSubmissionPageLt) {\n\t\t\t\t\t\t\t$params['ib-submission-source'] = [\n\t\t\t\t\t\t\t\t'name' => 'ib-submission-source',\n\t\t\t\t\t\t\t\t'value' => $formSubmissionPageLt,\n\t\t\t\t\t\t\t\t'type' => 'text',\n\t\t\t\t\t\t\t\t'internalType' => '',\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn $params;\n\t\t\t\t\t}\n\t\t\t\t`)})]})}},96616:(t,e,n)=>{function r(t){const e=t.split(/\n/g);for(;0===e[0]?.replace(/\s/g,"").length;)e.shift();for(;0===e[e.length-1]?.replace(/\s/g,"").length;)e.pop();const n=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>t.match(/^\s*/)?.[0]?.length??0)),r=Math.min(...n);return e.map((t=>t.slice(r))).join("\n")}n.d(e,{c:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/8ddbe34c.6ebe2282.js b/assets/js/8ddbe34c.6ebe2282.js deleted file mode 100644 index e92e78e1a..000000000 --- a/assets/js/8ddbe34c.6ebe2282.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[16899],{23790:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>s,default:()=>c,frontMatter:()=>o,metadata:()=>l,toc:()=>f});var r=n(85893),i=n(11151),a=n(8122);const o={id:"additional-content",title:"Additional content"},s=void 0,l={id:"php/filters/block/form/additional-content",title:"Additional content",description:"",source:"@site/forms/php/filters/block/form/additional-content.mdx",sourceDirName:"php/filters/block/form",slug:"/php/filters/block/form/additional-content",permalink:"/forms/php/filters/block/form/additional-content",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"additional-content",title:"Additional content"},sidebar:"forms",previous:{title:"Global msg headings",permalink:"/forms/php/filters/block/form/global-msg-headings"},next:{title:"Pre-Response add-on Data",permalink:"/forms/php/filters/block/form/pre-response-addon-data"}},d={},f=[];function m(t){return(0,r.jsx)(a.F,{filter:"form"})}function c(t={}){const{wrapper:e}={...(0,i.a)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(m,{...t})}):m()}},8122:(t,e,n)=>{n.d(e,{F:()=>s,k:()=>o});n(67294);var r=n(9286),i=n(61684),a=n(85893);function o(t){let{filter:e,onlyUse:n=["dataFilter","orderFilter","prePostIdFilter","prePostParamsFilter"]}=t;return(0,a.jsxs)(a.Fragment,{children:[n.includes("dataFilter")&&(0,a.jsx)(l,{filter:e}),n.includes("orderFilter")&&(0,a.jsx)(d,{filter:e}),n.includes("prePostIdFilter")&&(0,a.jsx)(f,{filter:e}),n.includes("prePostParamsFilter")&&(0,a.jsx)(m,{filter:e})]})}function s(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{children:"Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc."}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\tadd_filter('es_forms_block_"+e+"_additional_content', function(): string {\n\t\t\t\treturn '<custom-string>';\n\t\t\t})\n\t\t\t")})]})}function l(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Data filter"}),(0,a.jsx)("p",{children:"Allows modifying form field data before it's shown in the Block Editor or output on the frontend."}),(0,a.jsx)("p",{children:"Useful if, for example, you want to ensure that all fields fit into a 2-column layout."}),(0,a.jsx)("p",{children:"Overrides any Block Editor changes!"}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\tadd_filter('es_forms_integrations_"+e+'_data\', \'getIntegrationFilterData\', 10, 2);\n\n\t\t\t/**\n\t\t\t * Manipulate form fields data before it is sent to the Block Editor.\n\t\t\t *\n\t\t\t * @param array<mixed> $data Form fields data.\n\t\t\t * @param string $formId Form ID.\n\t\t\t *\n\t\t\t * @return array<mixed>\n\t\t\t */\n\t\t\tfunction getIntegrationFilterData(array $data, string $formId): array\n\t\t\t{\n\t\t\t\tforeach ($data as $index => $field) {\n\t\t\t\t\t$component = $field[\'component\'] ?? \'\';\n\n\t\t\t\t\tif (!$component) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t$name = $field["{$component}Name"] ?? \'\';\n\n\t\t\t\t\tif (!$name) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch ($name) {\n\t\t\t\t\t\tcase \'firstname\':\n\t\t\t\t\t\tcase \'lastname\':\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthMobile"] = 12;\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthLarge"] = 6;\n\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"] = array_merge(\n\t\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthMobile",\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthLarge",\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t')})]})}function d(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Order filter"}),(0,a.jsx)("p",{children:"Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor."}),(0,a.jsxs)("p",{children:["Not all fields need to have an order defined. For example, you may want to make sure ",(0,a.jsx)("code",{children:"firstname"}),", ",(0,a.jsx)("code",{children:"lastname"})," and ",(0,a.jsx)("code",{children:"email"})," are displayed first, but other fields follow their Block editor order."]}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_order', 'getIntegrationOrder');\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Forces form field order for the provided fields. For other fields, Block editor order is used.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationOrder(): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t'firstname',\n\t\t\t\t\t\t\t'lastname',\n\t\t\t\t\t\t\t'email',\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t")})]})}function f(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post ID filter"}),(0,a.jsx)("p",{children:"Allows updating item IDs sent to external integrations to which the form data is sent."}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_pre_post_id', 'getIntegrationPrePostId', 10, 3);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies integration item ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @param string $itemId Integration item ID.\n\t\t\t\t\t * @param array<mixed> $params Params to be sent to the integration.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @return array<mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostId(string $itemId, array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn $itemId;\n\t\t\t\t\t}\n\t\t\t\t")})]})}function m(t){let{filter:e}=t,n="";if("mailer"===e)n="mailer system";else n="external integration";return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post parameters filter"}),(0,a.jsxs)("p",{children:["Allows modifying form field data before it's sent to ",n,". Useful if you want to make values derived from the sent data, or add new fields."]}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_pre_post_params', 'getIntegrationPrePostParams', 10, 2);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies form field data before it's sent to "+n+".\n\t\t\t\t\t *\n\t\t\t\t\t * @param array<string, mixed> $params Array of params.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string, mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostParams(array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\t$formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? '';\n\n\t\t\t\t\t\tif ($formSubmissionPageLt) {\n\t\t\t\t\t\t\t$params['ib-submission-source'] = [\n\t\t\t\t\t\t\t\t'name' => 'ib-submission-source',\n\t\t\t\t\t\t\t\t'value' => $formSubmissionPageLt,\n\t\t\t\t\t\t\t\t'type' => 'text',\n\t\t\t\t\t\t\t\t'internalType' => '',\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn $params;\n\t\t\t\t\t}\n\t\t\t\t")})]})}},61684:(t,e,n)=>{function r(t){const e=t.split(/\n/g);for(;0===(null==(n=e[0])?void 0:n.replace(/\s/g,"").length);){var n;e.shift()}for(;0===(null==(r=e[e.length-1])?void 0:r.replace(/\s/g,"").length);){var r;e.pop()}const i=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>{var e,n;return null!=(e=null==(n=t.match(/^\s*/))||null==(n=n[0])?void 0:n.length)?e:0})),a=Math.min(...i);return e.map((t=>t.slice(a))).join("\n")}n.d(e,{p:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/8ddd1f69.1ccd0d48.js b/assets/js/8ddd1f69.1ccd0d48.js deleted file mode 100644 index 6e1cdd8b6..000000000 --- a/assets/js/8ddd1f69.1ccd0d48.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[60322],{75283:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>s,metadata:()=>r,toc:()=>d});var l=o(85893),n=o(11151);const s={id:"allowed-blocks",title:"Allowed blocks"},i=void 0,r={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.",source:"@site/forms/php/filters/blocks/allowed-blocks.md",sourceDirName:"php/filters/blocks",slug:"/php/filters/blocks/allowed-blocks",permalink:"/forms/php/filters/blocks/allowed-blocks",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"allowed-blocks",title:"Allowed blocks"},sidebar:"forms",previous:{title:"Additional content",permalink:"/forms/php/filters/block/rating/additional-content"},next:{title:"Additional blocks",permalink:"/forms/php/filters/blocks/additional-blocks"}},c={},d=[];function a(e){const t={admonition:"admonition",code:"code",em:"em",p:"p",pre:"pre",...(0,n.a)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(t.p,{children:"Allows setting a custom list of the allowed blocks within the form editor. It will override the project settings.\nUseful if you want to ensure that a custom block (e.g. from an add-on) is visible in the form editor."}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-php",children:"\\add_filter('es_forms_blocks_allowed_blocks', [$this, 'getAllowedBlocks']);\n\n/**\n * Override the allowed blocks list and provide add-on block.\n *\n * @return array<int, string> List of blocks.\n */\npublic function getAllowedBlocks(): array\n{\n\treturn [\n\t\t'<block-namespace>/<block-name>',\n\t];\n}\n"})}),"\n",(0,l.jsx)(t.admonition,{type:"note",children:(0,l.jsxs)(t.p,{children:["Blocks should be listed with their ",(0,l.jsx)(t.em,{children:"fully qualified"})," names, e.g. ",(0,l.jsx)(t.code,{children:"eightshift-boilerplate/heading"}),"."]})})]})}function p(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,l.jsx)(t,{...e,children:(0,l.jsx)(a,{...e})}):a(e)}},11151:(e,t,o)=>{o.d(t,{Z:()=>r,a:()=>i});var l=o(67294);const n={},s=l.createContext(n);function i(e){const t=l.useContext(s);return l.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),l.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/8ddd1f69.bf63c01a.js b/assets/js/8ddd1f69.bf63c01a.js new file mode 100644 index 000000000..7111f6264 --- /dev/null +++ b/assets/js/8ddd1f69.bf63c01a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[23736],{18628:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>s,metadata:()=>r,toc:()=>d});var l=o(17624),n=o(4552);const s={id:"allowed-blocks",title:"Allowed blocks"},i=void 0,r={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.",source:"@site/forms/php/filters/blocks/allowed-blocks.md",sourceDirName:"php/filters/blocks",slug:"/php/filters/blocks/allowed-blocks",permalink:"/forms/php/filters/blocks/allowed-blocks",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"allowed-blocks",title:"Allowed blocks"},sidebar:"forms",previous:{title:"Additional content",permalink:"/forms/php/filters/block/rating/additional-content"},next:{title:"Additional blocks",permalink:"/forms/php/filters/blocks/additional-blocks"}},c={},d=[];function a(e){const t={admonition:"admonition",code:"code",em:"em",p:"p",pre:"pre",...(0,n.M)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(t.p,{children:"Allows setting a custom list of the allowed blocks within the form editor. It will override the project settings.\nUseful if you want to ensure that a custom block (e.g. from an add-on) is visible in the form editor."}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-php",children:"\\add_filter('es_forms_blocks_allowed_blocks', [$this, 'getAllowedBlocks']);\n\n/**\n * Override the allowed blocks list and provide add-on block.\n *\n * @return array<int, string> List of blocks.\n */\npublic function getAllowedBlocks(): array\n{\n\treturn [\n\t\t'<block-namespace>/<block-name>',\n\t];\n}\n"})}),"\n",(0,l.jsx)(t.admonition,{type:"note",children:(0,l.jsxs)(t.p,{children:["Blocks should be listed with their ",(0,l.jsx)(t.em,{children:"fully qualified"})," names, e.g. ",(0,l.jsx)(t.code,{children:"eightshift-boilerplate/heading"}),"."]})})]})}function p(e={}){const{wrapper:t}={...(0,n.M)(),...e.components};return t?(0,l.jsx)(t,{...e,children:(0,l.jsx)(a,{...e})}):a(e)}},4552:(e,t,o)=>{o.d(t,{I:()=>r,M:()=>i});var l=o(11504);const n={},s=l.createContext(n);function i(e){const t=l.useContext(s);return l.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),l.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/8df1c5c9.78e21d91.js b/assets/js/8df1c5c9.78e21d91.js new file mode 100644 index 000000000..e3710dd6f --- /dev/null +++ b/assets/js/8df1c5c9.78e21d91.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[58432],{30988:(i,t,e)=>{e.r(t),e.d(t,{assets:()=>a,contentTitle:()=>o,default:()=>d,frontMatter:()=>r,metadata:()=>l,toc:()=>h});var s=e(17624),n=e(4552);const r={id:"libs",title:"Eightshift Libs"},o=void 0,l={id:"additional-libraries/libs",title:"Eightshift Libs",description:"GitHub tag",source:"@site/docs/additional-libraries/libs.md",sourceDirName:"additional-libraries",slug:"/additional-libraries/libs",permalink:"/docs/additional-libraries/libs",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"libs",title:"Eightshift Libs"},sidebar:"docs",previous:{title:"Eightshift Frontend Libs",permalink:"/docs/additional-libraries/frontend-libs"},next:{title:"Eightshift Forms",permalink:"/docs/additional-libraries/forms"}},a={},h=[];function c(i){const t={a:"a",img:"img",li:"li",p:"p",ul:"ul",...(0,n.M)(),...i.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs",children:(0,s.jsx)(t.img,{src:"https://img.shields.io/github/tag/infinum/eightshift-libs.svg?style=for-the-badge",alt:"GitHub tag"})})}),"\n",(0,s.jsxs)(t.p,{children:["This library is aimed at bringing the modern back-end development tools to the ",(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-boilerplate",children:"Eightshift Boilerplate"})," or ",(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-boilerplate-plugin",children:"Eightshift Boilerplate Plugin"}),", but you can use it on any WordPress project."]}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"/docs/eightshift-libs",children:"Documentation"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs",children:"Github"})}),"\n"]})]})}function d(i={}){const{wrapper:t}={...(0,n.M)(),...i.components};return t?(0,s.jsx)(t,{...i,children:(0,s.jsx)(c,{...i})}):c(i)}},4552:(i,t,e)=>{e.d(t,{I:()=>l,M:()=>o});var s=e(11504);const n={},r=s.createContext(n);function o(i){const t=s.useContext(r);return s.useMemo((function(){return"function"==typeof i?i(t):{...t,...i}}),[t,i])}function l(i){let t;return t=i.disableParentContext?"function"==typeof i.components?i.components(n):i.components||n:o(i.components),s.createElement(r.Provider,{value:t},i.children)}}}]); \ No newline at end of file diff --git a/assets/js/8df1c5c9.f2356997.js b/assets/js/8df1c5c9.f2356997.js deleted file mode 100644 index c8892e80c..000000000 --- a/assets/js/8df1c5c9.f2356997.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[84951],{15013:(i,t,e)=>{e.r(t),e.d(t,{assets:()=>a,contentTitle:()=>o,default:()=>d,frontMatter:()=>r,metadata:()=>l,toc:()=>h});var s=e(85893),n=e(11151);const r={id:"libs",title:"Eightshift Libs"},o=void 0,l={id:"additional-libraries/libs",title:"Eightshift Libs",description:"GitHub tag",source:"@site/docs/additional-libraries/libs.md",sourceDirName:"additional-libraries",slug:"/additional-libraries/libs",permalink:"/docs/additional-libraries/libs",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"libs",title:"Eightshift Libs"},sidebar:"docs",previous:{title:"Eightshift Frontend Libs",permalink:"/docs/additional-libraries/frontend-libs"},next:{title:"Eightshift Forms",permalink:"/docs/additional-libraries/forms"}},a={},h=[];function c(i){const t={a:"a",img:"img",li:"li",p:"p",ul:"ul",...(0,n.a)(),...i.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs",children:(0,s.jsx)(t.img,{src:"https://img.shields.io/github/tag/infinum/eightshift-libs.svg?style=for-the-badge",alt:"GitHub tag"})})}),"\n",(0,s.jsxs)(t.p,{children:["This library is aimed at bringing the modern back-end development tools to the ",(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-boilerplate",children:"Eightshift Boilerplate"})," or ",(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-boilerplate-plugin",children:"Eightshift Boilerplate Plugin"}),", but you can use it on any WordPress project."]}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"/docs/eightshift-libs",children:"Documentation"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs",children:"Github"})}),"\n"]})]})}function d(i={}){const{wrapper:t}={...(0,n.a)(),...i.components};return t?(0,s.jsx)(t,{...i,children:(0,s.jsx)(c,{...i})}):c(i)}},11151:(i,t,e)=>{e.d(t,{Z:()=>l,a:()=>o});var s=e(67294);const n={},r=s.createContext(n);function o(i){const t=s.useContext(r);return s.useMemo((function(){return"function"==typeof i?i(t):{...t,...i}}),[t,i])}function l(i){let t;return t=i.disableParentContext?"function"==typeof i.components?i.components(n):i.components||n:o(i.components),s.createElement(r.Provider,{value:t},i.children)}}}]); \ No newline at end of file diff --git a/assets/js/8df52c09.7cd49fce.js b/assets/js/8df52c09.7cd49fce.js deleted file mode 100644 index 592fc0436..000000000 --- a/assets/js/8df52c09.7cd49fce.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[3197],{86342:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>r,toc:()=>l});var t=s(85893),i=s(11151);const o={id:"extending-classes",title:"Extending Classes"},a=void 0,r={id:"basics/extending-classes",title:"Extending Classes",description:"docs-source",source:"@site/docs/basics/extending-classes.md",sourceDirName:"basics",slug:"/basics/extending-classes",permalink:"/docs/basics/extending-classes",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"extending-classes",title:"Extending Classes"},sidebar:"docs",previous:{title:"Namespaces",permalink:"/docs/basics/namespaces"},next:{title:"Autowiring",permalink:"/docs/basics/autowiring"}},c={},l=[{value:"Example",id:"example",level:2}];function d(e){const n={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",strong:"strong",...(0,i.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs",children:(0,t.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsxs)(n.p,{children:["You can extend every class from the library. To follow the good practice, you should never use the class directly from the Eightshift Libs in your service container (except from helpers and traits). Instead, you should create a class in your project and extend the class from the Eightshift Libs. That is why we made all those ",(0,t.jsx)(n.a,{href:"wp-cli",children:"WP-CLI"})," commands you saw in the previous chapter."]}),"\n",(0,t.jsx)(n.p,{children:"We don't do any magic in the Eightshift Libs like in previous versions. All classes contain only the methods you need to call using WordPress hooks or filters."}),"\n",(0,t.jsx)(n.h2,{id:"example",children:"Example"}),"\n",(0,t.jsxs)(n.p,{children:["Let's look at a way to add a class that enqueues theme front-end scripts and styles.\nGo to the ",(0,t.jsx)(n.strong,{children:"root"})," of your theme. Using the terminal, run this command:"]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"wp boilerplate create enqueue-admin"})}),"\n",(0,t.jsx)(n.p,{children:"This command will output something like this in your project, taking care of your projects namespace and vendor prefixes, as well as the package name and the text-domain:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"<?php\n\n/**\n * The Admin Enqueue specific functionality.\n *\n * @package CoolProject\\Enqueue\\Admin\n */\n\ndeclare(strict_types=1);\n\nnamespace CoolProject\\Enqueue\\Admin;\n\nuse CoolProject\\Config\\Config;\nuse CoolProjectVendor\\EightshiftLibs\\Enqueue\\Admin\\AbstractEnqueueAdmin;\nuse CoolProjectVendor\\EightshiftLibs\\Manifest\\ManifestInterface;\n\n/**\n * Class EnqueueAdmin\n *\n * This class handles enqueue scripts and styles.\n */\nclass EnqueueAdmin extends AbstractEnqueueAdmin\n{\n\n /**\n * Create a new admin instance.\n *\n * @param ManifestInterface $manifest Inject manifest which holds data about assets from manifest.json.\n */\n public function __construct(ManifestInterface $manifest)\n {\n $this->manifest = $manifest;\n }\n\n /**\n * Register all the hooks\n *\n * @return void\n */\n public function register(): void\n {\n add_action('login_enqueue_scripts', [ $this, 'enqueueStyles' ]);\n add_action('admin_enqueue_scripts', [ $this, 'enqueueStyles' ], 50);\n add_action('admin_enqueue_scripts', [ $this, 'enqueueScripts' ]);\n }\n\n /**\n * Method that returns assets name used to prefix asset handlers.\n *\n * @return string\n */\n public function getAssetsPrefix(): string\n {\n return Config::getProjectName();\n }\n\n /**\n * Method that returns assets version for versioning asset handlers.\n *\n * @return string\n */\n public function getAssetsVersion(): string\n {\n return Config::getProjectVersion();\n }\n}\n"})}),"\n",(0,t.jsx)(n.p,{children:"As you can see from the provided example, we created a new class and extended the functionality from the Eightshift Libs."}),"\n",(0,t.jsxs)(n.p,{children:["In your new class, you have a ",(0,t.jsx)(n.code,{children:"register"})," method that must be in every class that registers WordPress action hooks or filters. We call these ",(0,t.jsx)(n.strong,{children:"service classes"}),"."]}),"\n",(0,t.jsx)(n.p,{children:"Your class contains three action hooks now. From this example, you can see that, if you don't want to use some functionality, remove the action, and it will not be used anymore. For more details on what each hook's callback does, go to the extended class in the Eightshift Libs and see the logic defined there."})]})}function h(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},11151:(e,n,s)=>{s.d(n,{Z:()=>r,a:()=>a});var t=s(67294);const i={},o=t.createContext(i);function a(e){const n=t.useContext(o);return t.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:a(e.components),t.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/8df52c09.d0e8439f.js b/assets/js/8df52c09.d0e8439f.js new file mode 100644 index 000000000..3ecd11ffa --- /dev/null +++ b/assets/js/8df52c09.d0e8439f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[51440],{10116:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>r,toc:()=>l});var t=s(17624),i=s(4552);const o={id:"extending-classes",title:"Extending Classes"},a=void 0,r={id:"basics/extending-classes",title:"Extending Classes",description:"docs-source",source:"@site/docs/basics/extending-classes.md",sourceDirName:"basics",slug:"/basics/extending-classes",permalink:"/docs/basics/extending-classes",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"extending-classes",title:"Extending Classes"},sidebar:"docs",previous:{title:"Namespaces",permalink:"/docs/basics/namespaces"},next:{title:"Autowiring",permalink:"/docs/basics/autowiring"}},c={},l=[{value:"Example",id:"example",level:2}];function d(e){const n={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",strong:"strong",...(0,i.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs",children:(0,t.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsxs)(n.p,{children:["You can extend every class from the library. To follow the good practice, you should never use the class directly from the Eightshift Libs in your service container (except from helpers and traits). Instead, you should create a class in your project and extend the class from the Eightshift Libs. That is why we made all those ",(0,t.jsx)(n.a,{href:"wp-cli",children:"WP-CLI"})," commands you saw in the previous chapter."]}),"\n",(0,t.jsx)(n.p,{children:"We don't do any magic in the Eightshift Libs like in previous versions. All classes contain only the methods you need to call using WordPress hooks or filters."}),"\n",(0,t.jsx)(n.h2,{id:"example",children:"Example"}),"\n",(0,t.jsxs)(n.p,{children:["Let's look at a way to add a class that enqueues theme front-end scripts and styles.\nGo to the ",(0,t.jsx)(n.strong,{children:"root"})," of your theme. Using the terminal, run this command:"]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"wp boilerplate create enqueue-admin"})}),"\n",(0,t.jsx)(n.p,{children:"This command will output something like this in your project, taking care of your projects namespace and vendor prefixes, as well as the package name and the text-domain:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"<?php\n\n/**\n * The Admin Enqueue specific functionality.\n *\n * @package CoolProject\\Enqueue\\Admin\n */\n\ndeclare(strict_types=1);\n\nnamespace CoolProject\\Enqueue\\Admin;\n\nuse CoolProject\\Config\\Config;\nuse CoolProjectVendor\\EightshiftLibs\\Enqueue\\Admin\\AbstractEnqueueAdmin;\nuse CoolProjectVendor\\EightshiftLibs\\Manifest\\ManifestInterface;\n\n/**\n * Class EnqueueAdmin\n *\n * This class handles enqueue scripts and styles.\n */\nclass EnqueueAdmin extends AbstractEnqueueAdmin\n{\n\n /**\n * Create a new admin instance.\n *\n * @param ManifestInterface $manifest Inject manifest which holds data about assets from manifest.json.\n */\n public function __construct(ManifestInterface $manifest)\n {\n $this->manifest = $manifest;\n }\n\n /**\n * Register all the hooks\n *\n * @return void\n */\n public function register(): void\n {\n add_action('login_enqueue_scripts', [ $this, 'enqueueStyles' ]);\n add_action('admin_enqueue_scripts', [ $this, 'enqueueStyles' ], 50);\n add_action('admin_enqueue_scripts', [ $this, 'enqueueScripts' ]);\n }\n\n /**\n * Method that returns assets name used to prefix asset handlers.\n *\n * @return string\n */\n public function getAssetsPrefix(): string\n {\n return Config::getProjectName();\n }\n\n /**\n * Method that returns assets version for versioning asset handlers.\n *\n * @return string\n */\n public function getAssetsVersion(): string\n {\n return Config::getProjectVersion();\n }\n}\n"})}),"\n",(0,t.jsx)(n.p,{children:"As you can see from the provided example, we created a new class and extended the functionality from the Eightshift Libs."}),"\n",(0,t.jsxs)(n.p,{children:["In your new class, you have a ",(0,t.jsx)(n.code,{children:"register"})," method that must be in every class that registers WordPress action hooks or filters. We call these ",(0,t.jsx)(n.strong,{children:"service classes"}),"."]}),"\n",(0,t.jsx)(n.p,{children:"Your class contains three action hooks now. From this example, you can see that, if you don't want to use some functionality, remove the action, and it will not be used anymore. For more details on what each hook's callback does, go to the extended class in the Eightshift Libs and see the logic defined there."})]})}function h(e={}){const{wrapper:n}={...(0,i.M)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},4552:(e,n,s)=>{s.d(n,{I:()=>r,M:()=>a});var t=s(11504);const i={},o=t.createContext(i);function a(e){const n=t.useContext(o);return t.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:a(e.components),t.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/8e0a64cf.4488e7b2.js b/assets/js/8e0a64cf.4488e7b2.js deleted file mode 100644 index 7bac96d4d..000000000 --- a/assets/js/8e0a64cf.4488e7b2.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[11832],{62863: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/8e0a64cf.849bfc4b.js b/assets/js/8e0a64cf.849bfc4b.js new file mode 100644 index 000000000..215808e8e --- /dev/null +++ b/assets/js/8e0a64cf.849bfc4b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[18712],{94134: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.417e18a3.js b/assets/js/8e2e6ad6.417e18a3.js deleted file mode 100644 index 9e2501088..000000000 --- a/assets/js/8e2e6ad6.417e18a3.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[77579],{64717: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/8e2e6ad6.69d8ea89.js b/assets/js/8e2e6ad6.69d8ea89.js new file mode 100644 index 000000000..aa929bf63 --- /dev/null +++ b/assets/js/8e2e6ad6.69d8ea89.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[51976],{77800: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.6c571dcd.js b/assets/js/8eb4e46b.6c571dcd.js deleted file mode 100644 index c50e4a854..000000000 --- a/assets/js/8eb4e46b.6c571dcd.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[10001],{82638:t=>{t.exports=JSON.parse('{"permalink":"/blog/page/2","page":2,"postsPerPage":9,"totalPages":2,"totalCount":14,"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/8eb4e46b.b29d9b47.js b/assets/js/8eb4e46b.b29d9b47.js new file mode 100644 index 000000000..2c3126c80 --- /dev/null +++ b/assets/js/8eb4e46b.b29d9b47.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[92296],{48376:t=>{t.exports=JSON.parse('{"permalink":"/blog/page/2","page":2,"postsPerPage":9,"totalPages":2,"totalCount":14,"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/8eb5a1d8.2c9aa8b7.js b/assets/js/8eb5a1d8.2c9aa8b7.js deleted file mode 100644 index 86486bf8f..000000000 --- a/assets/js/8eb5a1d8.2c9aa8b7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[80816],{21212:(e,o,n)=>{n.r(o),n.d(o,{assets:()=>r,contentTitle:()=>a,default:()=>h,frontMatter:()=>i,metadata:()=>l,toc:()=>c});var t=n(85893),s=n(11151);const i={id:"blocks-faq",title:"Faq"},a=void 0,l={id:"legacy/v6/basics/blocks-faq",title:"Faq",description:"docs-source",source:"@site/docs/legacy/v6/basics/blocks-faq.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/blocks-faq",permalink:"/docs/legacy/v6/basics/blocks-faq",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-faq",title:"Faq"},sidebar:"docs",previous:{title:"Important",permalink:"/docs/legacy/v6/basics/blocks-important"},next:{title:"Registration",permalink:"/docs/legacy/v6/basics/blocks-registration"}},r={},c=[{value:"Why do all my blocks look the same and have the same name structure?",id:"why-do-all-my-blocks-look-the-same-and-have-the-same-name-structure",level:3},{value:"What is the difference between components and blocks?",id:"what-is-the-difference-between-components-and-blocks",level:3},{value:"Do I need to have Storybook stories in my block?",id:"do-i-need-to-have-storybook-stories-in-my-block",level:3},{value:"Do you support block variations, and how can I use them?",id:"do-you-support-block-variations-and-how-can-i-use-them",level:3},{value:"Do you support patterns, and how can I use them?",id:"do-you-support-patterns-and-how-can-i-use-them",level:3},{value:"What is a wrapper?",id:"what-is-a-wrapper",level:3},{value:"Do you support inner blocks?",id:"do-you-support-inner-blocks",level:3},{value:"Why do you use manifest.json in all blocks and components?",id:"why-do-you-use-manifestjson-in-all-blocks-and-components",level:3},{value:"Why do you use global manifest.json?",id:"why-do-you-use-global-manifestjson",level:3},{value:"If I want to create a new block/component, what do I do?",id:"if-i-want-to-create-a-new-blockcomponent-what-do-i-do",level:3},{value:"What if I add a block and it throws an error that it is missing some components, what do I do?",id:"what-if-i-add-a-block-and-it-throws-an-error-that-it-is-missing-some-components-what-do-i-do",level:3},{value:"How can I use your pre-made blocks?",id:"how-can-i-use-your-pre-made-blocks",level:3},{value:"Can I use block/component from Eightshift-frontend-libs directly?",id:"can-i-use-blockcomponent-from-eightshift-frontend-libs-directly",level:3},{value:"I want to change attributes on inner blocks. How do I do it?",id:"i-want-to-change-attributes-on-inner-blocks-how-do-i-do-it",level:3},{value:"Do I need to write JS and PHP implementation for all my blocks?",id:"do-i-need-to-write-js-and-php-implementation-for-all-my-blocks",level:3},{value:"How do I use components in blocks?",id:"how-do-i-use-components-in-blocks",level:3},{value:"How do I use multiple heading components in my block?",id:"how-do-i-use-multiple-heading-components-in-my-block",level:3},{value:"Where can I define my global styles?",id:"where-can-i-define-my-global-styles",level:3},{value:"Where can I define global typography for all my blocks/components?",id:"where-can-i-define-global-typography-for-all-my-blockscomponents",level:3},{value:"Can I make a component with WP_Query logic in it?",id:"can-i-make-a-component-with-wp_query-logic-in-it",level:3},{value:"Do I need to make components for all my blocks?",id:"do-i-need-to-make-components-for-all-my-blocks",level:3},{value:"Will this setup work with full site editing?",id:"will-this-setup-work-with-full-site-editing",level:3},{value:"Can I use core blocks with your setup?",id:"can-i-use-core-blocks-with-your-setup",level:3},{value:"How can I limit my blocklist?",id:"how-can-i-limit-my-blocklist",level:3},{value:"How to allow only one pattern category?",id:"how-to-allow-only-one-pattern-category",level:3},{value:"Can I have blocks in multiple categories?",id:"can-i-have-blocks-in-multiple-categories",level:3},{value:"How can I add a new blocks category?",id:"how-can-i-add-a-new-blocks-category",level:3},{value:"What if you don't yet support something from the native setup? What can I do?",id:"what-if-you-dont-yet-support-something-from-the-native-setup-what-can-i-do",level:3},{value:"Why is my blocks folder called <code>custom</code> and not <code>blocks</code>, for example?",id:"why-is-my-blocks-folder-called-custom-and-not-blocks-for-example",level:3},{value:"In the global manifest, you have a key called \u201ccustomBlocksName\u201d: \u201ceightshift-block\u201d. Can I change this to my-project-name-block?",id:"in-the-global-manifest-you-have-a-key-called-customblocksname-eightshift-block-can-i-change-this-to-my-project-name-block",level:3},{value:"Simple vs Compound blocks",id:"simple-vs-compound-blocks",level:3},{value:"Naming is hard",id:"naming-is-hard",level:3}];function d(e){const o={a:"a",code:"code",em:"em",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(o.p,{children:(0,t.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/",children:(0,t.jsx)(o.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsxs)(o.p,{children:["Before we dive into blocks and see how everything is set, we should describe this setup's mindset.\nIf you've managed to set up your project by this point with the ",(0,t.jsx)(o.a,{href:"wp-cli",children:"WP-CLI"})," command ",(0,t.jsx)(o.code,{children:"setup_theme"}),", you might have a few questions. We will try to answer all those questions here."]}),"\n",(0,t.jsx)(o.h3,{id:"why-do-all-my-blocks-look-the-same-and-have-the-same-name-structure",children:"Why do all my blocks look the same and have the same name structure?"}),"\n",(0,t.jsxs)(o.p,{children:["This is so because we defined the name structure for all our blocks and components to load everything automatically. For more information, please check the ",(0,t.jsx)(o.a,{href:"block-structure",children:"block structure"})," and ",(0,t.jsx)(o.a,{href:"blocks-component-structure",children:"component structure"})," chapters."]}),"\n",(0,t.jsx)(o.h3,{id:"what-is-the-difference-between-components-and-blocks",children:"What is the difference between components and blocks?"}),"\n",(0,t.jsxs)(o.p,{children:["The main difference is that blocks are available in the block editor's block picker, and components are not. With that being said, blocks are registered using the ",(0,t.jsx)(o.code,{children:"registerBlockType"})," method, and components are just here for you to bundle some functionality in one place and reuse it wherever you need."]}),"\n",(0,t.jsxs)(o.p,{children:["For more information about blocks, read the ",(0,t.jsx)(o.a,{href:"block-structure",children:"block structure"})," chapter. To find out more about components, read the ",(0,t.jsx)(o.a,{href:"blocks-component-structure",children:"component structure"})," chapter."]}),"\n",(0,t.jsx)(o.h3,{id:"do-i-need-to-have-storybook-stories-in-my-block",children:"Do I need to have Storybook stories in my block?"}),"\n",(0,t.jsx)(o.p,{children:"No, you don't. But we provided you with the ability to use the Storybook for all of your blocks and components. Why not use it? It will speed up your development time. Trust us. \ud83d\ude42"}),"\n",(0,t.jsxs)(o.p,{children:["For more details on how to write stories, check out ",(0,t.jsx)(o.a,{href:"blocks-storybook",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"do-you-support-block-variations-and-how-can-i-use-them",children:"Do you support block variations, and how can I use them?"}),"\n",(0,t.jsxs)(o.p,{children:["Yes, we do. All block variations are located in the ",(0,t.jsx)(o.code,{children:"src/Blocks/variations"})," folder. For more information about this, please check the ",(0,t.jsx)(o.a,{href:"blocks-variations",children:"variations"})," chapter."]}),"\n",(0,t.jsx)(o.h3,{id:"do-you-support-patterns-and-how-can-i-use-them",children:"Do you support patterns, and how can I use them?"}),"\n",(0,t.jsxs)(o.p,{children:["Yes, we do. For more information, please read the ",(0,t.jsx)(o.a,{href:"blocks-patterns",children:"patterns"})," chapter."]}),"\n",(0,t.jsx)(o.h3,{id:"what-is-a-wrapper",children:"What is a wrapper?"}),"\n",(0,t.jsxs)(o.p,{children:["Read about wrappers in ",(0,t.jsx)(o.a,{href:"blocks-wrapper",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"do-you-support-inner-blocks",children:"Do you support inner blocks?"}),"\n",(0,t.jsxs)(o.p,{children:["Yes, we support everything that the core natively supports. You can find more information on how to use them in ",(0,t.jsx)(o.a,{href:"block-manifest",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"why-do-you-use-manifestjson-in-all-blocks-and-components",children:"Why do you use manifest.json in all blocks and components?"}),"\n",(0,t.jsxs)(o.p,{children:["So that we can provide content, attributes, options, and much more across multiple different files in multiple contexts (in both PHP and JS). You can read all about it in ",(0,t.jsx)(o.a,{href:"block-manifest",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"why-do-you-use-global-manifestjson",children:"Why do you use global manifest.json?"}),"\n",(0,t.jsxs)(o.p,{children:["The answer is the same as the previous one. In the global ",(0,t.jsx)(o.code,{children:"manifest.json"}),", we have options that are shared across all blocks and components. Read more about it in ",(0,t.jsx)(o.a,{href:"blocks-global-manifest",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"if-i-want-to-create-a-new-blockcomponent-what-do-i-do",children:"If I want to create a new block/component, what do I do?"}),"\n",(0,t.jsx)(o.p,{children:"In your terminal, write"}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-shell",children:"wp boilerplate use_block --name=example\n"})}),"\n",(0,t.jsx)(o.p,{children:"and style that block however you seem fit."}),"\n",(0,t.jsx)(o.h3,{id:"what-if-i-add-a-block-and-it-throws-an-error-that-it-is-missing-some-components-what-do-i-do",children:"What if I add a block and it throws an error that it is missing some components, what do I do?"}),"\n",(0,t.jsxs)(o.p,{children:["All blocks/components have some kind of documentation and in that documentation we have a list of dependencies each block/component needs to have in the project in order for it to work. For example you can look in the ",(0,t.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/custom/heading/docs/readme.mdx",children:"heading block"}),", as you can see the heading blocks depends on the heading component, so if you install a heading block before heading component it will resolve in to an error. So please be sure that your block/component installation follows the correct order."]}),"\n",(0,t.jsx)(o.h3,{id:"how-can-i-use-your-pre-made-blocks",children:"How can I use your pre-made blocks?"}),"\n",(0,t.jsx)(o.p,{children:"You can check all available blocks/components using these two commands"}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-shell",children:"wp boilerplate use_block --help\n\nwp boilerplate use_component --help\n"})}),"\n",(0,t.jsx)(o.h3,{id:"can-i-use-blockcomponent-from-eightshift-frontend-libs-directly",children:"Can I use block/component from Eightshift-frontend-libs directly?"}),"\n",(0,t.jsxs)(o.p,{children:["It depends. You can't use things from the blocks folder like ",(0,t.jsx)(o.code,{children:"components"}),", ",(0,t.jsx)(o.code,{children:"custom"}),", ",(0,t.jsx)(o.code,{children:"variations"}),", ",(0,t.jsx)(o.code,{children:"wrapper"}),", etc. They are meant to be copied to your project, styled, and changed depending on your project's needs."]}),"\n",(0,t.jsxs)(o.p,{children:["You can move things from a block to your project using the commands described ",(0,t.jsx)(o.a,{href:"#how-can-i-use-your-pre-made-blocks",children:"above"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"i-want-to-change-attributes-on-inner-blocks-how-do-i-do-it",children:"I want to change attributes on inner blocks. How do I do it?"}),"\n",(0,t.jsxs)(o.p,{children:["We described how attributes are used and combined in ",(0,t.jsx)(o.a,{href:"blocks-attributes",children:"this chapter"})," and ",(0,t.jsx)(o.a,{href:"blocks-component-in-block",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"do-i-need-to-write-js-and-php-implementation-for-all-my-blocks",children:"Do I need to write JS and PHP implementation for all my blocks?"}),"\n",(0,t.jsx)(o.p,{children:"For a block, you must provide the JS and PHP implementations because it won't work without them."}),"\n",(0,t.jsx)(o.p,{children:"For components, if you are not using the JS part, you don't need to write one, but we recommend you do so because the JS part is used in Storybook."}),"\n",(0,t.jsxs)(o.p,{children:["If you have a more advanced block and don't benefit from writing the JS implementation of the block, you can always use the ",(0,t.jsx)(o.a,{href:"https://developer.wordpress.org/block-editor/packages/packages-server-side-render/",children:"ServerSideRender component"})," form the core. If you have no inputs in the editor from the admin, there is no need to write JS implementation of the block. Just use ",(0,t.jsx)(o.code,{children:"ServerSideRender"})," component in that case."]}),"\n",(0,t.jsx)(o.h3,{id:"how-do-i-use-components-in-blocks",children:"How do I use components in blocks?"}),"\n",(0,t.jsxs)(o.p,{children:["Please check out ",(0,t.jsx)(o.a,{href:"blocks-component-in-block",children:"this chapter"})," for more information."]}),"\n",(0,t.jsx)(o.h3,{id:"how-do-i-use-multiple-heading-components-in-my-block",children:"How do I use multiple heading components in my block?"}),"\n",(0,t.jsxs)(o.p,{children:["You can follow the instructions given in ",(0,t.jsx)(o.a,{href:"blocks-component-in-block",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"where-can-i-define-my-global-styles",children:"Where can I define my global styles?"}),"\n",(0,t.jsxs)(o.p,{children:["You can follow the instructions given in ",(0,t.jsx)(o.a,{href:"writing-styles",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"where-can-i-define-global-typography-for-all-my-blockscomponents",children:"Where can I define global typography for all my blocks/components?"}),"\n",(0,t.jsxs)(o.p,{children:["You can follow the instructions given in ",(0,t.jsx)(o.a,{href:"writing-styles",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"can-i-make-a-component-with-wp_query-logic-in-it",children:"Can I make a component with WP_Query logic in it?"}),"\n",(0,t.jsx)(o.p,{children:"Yes, you can, but think of the component as a dumb and simple piece of code that should not hold any business logic. A component should only be used as a view. If you need to write WP_Query logic, you can do that in a block and just pass the data to your component as props."}),"\n",(0,t.jsx)(o.h3,{id:"do-i-need-to-make-components-for-all-my-blocks",children:"Do I need to make components for all my blocks?"}),"\n",(0,t.jsx)(o.p,{children:"No, it might look like that from the examples provided, but that is not the case. You should create components depending on your needs."}),"\n",(0,t.jsx)(o.p,{children:"Ask yourself, will I reuse this functionality anywhere else?"}),"\n",(0,t.jsxs)(o.ul,{children:["\n",(0,t.jsxs)(o.li,{children:["If the answer is ",(0,t.jsx)(o.strong,{children:"yes"}),", create a component."]}),"\n",(0,t.jsxs)(o.li,{children:["If the answer is ",(0,t.jsx)(o.strong,{children:"no"}),", don't create a component."]}),"\n"]}),"\n",(0,t.jsx)(o.p,{children:"Our recommendation is not to burden yourself with components from the beginning. Start creating blocks and, if you find yourself in need of code that you already wrote, just extract it in a component."}),"\n",(0,t.jsx)(o.h3,{id:"will-this-setup-work-with-full-site-editing",children:"Will this setup work with full site editing?"}),"\n",(0,t.jsx)(o.p,{children:"Yes, it will. We are constantly upgrading this documentation and our code to say that it will work with full site editing. This boilerplate was made for the Infinum/Eightshift WordPress team, so we are constantly using it in our projects."}),"\n",(0,t.jsx)(o.h3,{id:"can-i-use-core-blocks-with-your-setup",children:"Can I use core blocks with your setup?"}),"\n",(0,t.jsx)(o.p,{children:"Yes, you can. We are working on the ability to override core blocks in our smart way. Until we make this work, you can use everything that is already defined in the core documentation."}),"\n",(0,t.jsx)(o.p,{children:"We avoid using core blocks because they add different class naming and additional markup that makes it harder to style things."}),"\n",(0,t.jsx)(o.p,{children:"Also, they are prone to breaking changes every several months, so we prefer to write our own implementation."}),"\n",(0,t.jsx)(o.h3,{id:"how-can-i-limit-my-blocklist",children:"How can I limit my blocklist?"}),"\n",(0,t.jsxs)(o.p,{children:["Easy. We have a method you can extend that limits your project's block to the only block from your project. You should put this filter in your project's ",(0,t.jsx)(o.code,{children:"src/Blocks/Blocks.php"})," file under the ",(0,t.jsx)(o.code,{children:"register"})," method:"]}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-php",children:" // Limits the usage of only custom project blocks.\n add_filter('allowed_block_types', [ $this, 'getAllBlocksList' ], 10, 2);\n"})}),"\n",(0,t.jsx)(o.h3,{id:"how-to-allow-only-one-pattern-category",children:"How to allow only one pattern category?"}),"\n",(0,t.jsx)(o.p,{children:(0,t.jsx)(o.em,{children:"Coming soon"})}),"\n",(0,t.jsx)(o.h3,{id:"can-i-have-blocks-in-multiple-categories",children:"Can I have blocks in multiple categories?"}),"\n",(0,t.jsxs)(o.p,{children:["In your block manifest, you can define in what category your block will appear. You can create a new category for your project or use our category. We created our category called ",(0,t.jsx)(o.code,{children:"eightshift"})," using this filter:"]}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-php",children:" // Create a new custom category for custom blocks.\n add_filter('block_categories', [ $this, 'getCustomCategory' ]);\n"})}),"\n",(0,t.jsx)(o.h3,{id:"how-can-i-add-a-new-blocks-category",children:"How can I add a new blocks category?"}),"\n",(0,t.jsx)(o.p,{children:"You can provide your implementation, or you can extend our method for registering a custom category. Here is how you do it:"}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-php",children:" /**\n * Register all the hooks\n *\n * @return void\n */\npublic function register(): void\n{\n // Create a new custom category for custom blocks.\n add_filter('block_categories', [ $this, 'getCustomCategory' ]);\n}\n\n /**\n * Create a custom category to assign all custom blocks\n *\n * This category will be shown on all blocks list in the \"Add Block\" button.\n *\n * @param array[] $categories Array of all block categories.\n * @param \\WP_Post $post Post being loaded.\n *\n * @return array[] Array of block categories.\n */\npublic function getCustomCategory(array $categories, \\WP_Post $post): array\n{\n return array_merge(\n parent::getCustomCategory($categories, $post),\n [\n [\n 'slug' => 'custom-category-name',\n 'title' => \\esc_html__('Custom Category', 'project-text-domain'),\n 'icon' => 'admin-settings',\n ],\n ]\n );\n}\n"})}),"\n",(0,t.jsx)(o.h3,{id:"what-if-you-dont-yet-support-something-from-the-native-setup-what-can-i-do",children:"What if you don't yet support something from the native setup? What can I do?"}),"\n",(0,t.jsxs)(o.p,{children:["As we described in ",(0,t.jsx)(o.a,{href:"blocks",children:"this chapter"}),", if we don't support something natively from the core or you can't find it in this documentation, you can always use it in the normal native way from the ",(0,t.jsx)(o.a,{href:"https://developer.wordpress.org/block-editor/tutorials/block-tutorial/",children:"WordPress documentation"}),". Also, if you think we are missing something, please open a ",(0,t.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/pulls",children:"pull request"})," or an ",(0,t.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/issues",children:"issue"})," on our GitHub repository."]}),"\n",(0,t.jsxs)(o.h3,{id:"why-is-my-blocks-folder-called-custom-and-not-blocks-for-example",children:["Why is my blocks folder called ",(0,t.jsx)(o.code,{children:"custom"})," and not ",(0,t.jsx)(o.code,{children:"blocks"}),", for example?"]}),"\n",(0,t.jsx)(o.p,{children:"The idea was to put all your custom blocks inside the custom folder and all core block in the core folder. This boilerplate is not designed only for your custom block, but you can use it as an ultimate block setup."}),"\n",(0,t.jsxs)(o.p,{children:["And folder structure ",(0,t.jsx)(o.code,{children:"src/Blocks/blocks"})," is kind of weird."]}),"\n",(0,t.jsx)(o.h3,{id:"in-the-global-manifest-you-have-a-key-called-customblocksname-eightshift-block-can-i-change-this-to-my-project-name-block",children:"In the global manifest, you have a key called \u201ccustomBlocksName\u201d: \u201ceightshift-block\u201d. Can I change this to my-project-name-block?"}),"\n",(0,t.jsx)(o.p,{children:"You can, but you shouldn't. We use this key to provide the CSS selectors on all our custom blocks in the block editor. Additional styles are added to this selector for the wrapper to work on full width and remove some of the native block editor styles."}),"\n",(0,t.jsx)(o.p,{children:"So don't remove or change this \ud83d\ude05."}),"\n",(0,t.jsx)(o.h3,{id:"simple-vs-compound-blocks",children:"Simple vs Compound blocks"}),"\n",(0,t.jsx)(o.p,{children:"In a nutshell, there is no difference between blocks. The WordPress core block is a block, but we like to make a distinction between what is simple and what is a compound block."}),"\n",(0,t.jsxs)(o.p,{children:[(0,t.jsx)(o.strong,{children:"Simple block"})," is a block that is used just as is and provides a small isolated functionality. For example: heading, paragraph, button, etc."]}),"\n",(0,t.jsxs)(o.p,{children:[(0,t.jsx)(o.strong,{children:"Compound block"})," is a block built from multiple components. For example: card, featured posts, etc"]}),"\n",(0,t.jsx)(o.h3,{id:"naming-is-hard",children:"Naming is hard"}),"\n",(0,t.jsx)(o.p,{children:(0,t.jsx)(o.em,{children:"There are only two hard things in Computer Science: cache invalidation and naming things. - Phil Karlton"})}),"\n",(0,t.jsx)(o.p,{children:"Yes, naming is hard, and no matter how long your development experience is you will always struggle with names for your components, block, files, variables, functions, etc."}),"\n",(0,t.jsx)(o.p,{children:"Here are some of our recommendations to ease your pain:"}),"\n",(0,t.jsxs)(o.ul,{children:["\n",(0,t.jsxs)(o.li,{children:["Always try to name your block based on ",(0,t.jsx)(o.strong,{children:"what they are"}),", rather than ",(0,t.jsx)(o.strong,{children:"what they will be used for"}),". For example, if you have a component card for custom post-type ",(0,t.jsx)(o.code,{children:"books"}),", you should never call this component ",(0,t.jsx)(o.code,{children:"card-book"}),". Instead, use a more generic name like ",(0,t.jsx)(o.code,{children:"card-product"}),"."]}),"\n",(0,t.jsx)(o.li,{children:"Make your names as generic as possible for better reusability, but specific enough to fully understand what the block/component is used for."}),"\n",(0,t.jsx)(o.li,{children:"Always think about the future. How can this feature be used in some other way?"}),"\n",(0,t.jsxs)(o.li,{children:['When naming your attributes ask yourself: "is this attribute going to be used in any other way?". For example, you have an attribute for adding font-weight: bold to your text. You can create an attribute called font-weight and set it as a ',(0,t.jsx)(o.code,{children:"boolean"})," type and that will be ok if you have only one font-weight. A better way would be to put it as a string and provide a ",(0,t.jsx)(o.code,{children:"SelectControl"})," component if there is any possibility that in the future you will have additional font-weight."]}),"\n",(0,t.jsxs)(o.li,{children:["Name booleans positively as a question. Example: ",(0,t.jsx)(o.code,{children:"isValid"}),", ",(0,t.jsx)(o.code,{children:"isLoading"}),", ",(0,t.jsx)(o.code,{children:"isComplete"}),"."]}),"\n",(0,t.jsx)(o.li,{children:"Don\u2019t hesitate to use longer names."}),"\n",(0,t.jsx)(o.li,{children:"Use singular names."}),"\n",(0,t.jsx)(o.li,{children:"The variables or functions should be named by their work: Name of variables/functions should always try to express their meaning without diving into the code base try to pack meaningful information inside the name."}),"\n",(0,t.jsx)(o.li,{children:"Naming should be simple enough to be understood by everyone: Using complex words to describe a simple thing only creates hassle while reading the code. Also, use simple English."}),"\n",(0,t.jsx)(o.li,{children:"You might not be the only person working on your particular project in the future. Think about the next person. Your naming will provide an insight into the process and project."}),"\n",(0,t.jsxs)(o.li,{children:[(0,t.jsx)(o.strong,{children:"BE CONSISTENT"}),"."]}),"\n"]})]})}function h(e={}){const{wrapper:o}={...(0,s.a)(),...e.components};return o?(0,t.jsx)(o,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},11151:(e,o,n)=>{n.d(o,{Z:()=>l,a:()=>a});var t=n(67294);const s={},i=t.createContext(s);function a(e){const o=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function l(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),t.createElement(i.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/8eb5a1d8.61a17202.js b/assets/js/8eb5a1d8.61a17202.js new file mode 100644 index 000000000..4809abff5 --- /dev/null +++ b/assets/js/8eb5a1d8.61a17202.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[73908],{45028:(e,o,n)=>{n.r(o),n.d(o,{assets:()=>r,contentTitle:()=>a,default:()=>h,frontMatter:()=>i,metadata:()=>l,toc:()=>c});var t=n(17624),s=n(4552);const i={id:"blocks-faq",title:"Faq"},a=void 0,l={id:"legacy/v6/basics/blocks-faq",title:"Faq",description:"docs-source",source:"@site/docs/legacy/v6/basics/blocks-faq.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/blocks-faq",permalink:"/docs/legacy/v6/basics/blocks-faq",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-faq",title:"Faq"},sidebar:"docs",previous:{title:"Important",permalink:"/docs/legacy/v6/basics/blocks-important"},next:{title:"Registration",permalink:"/docs/legacy/v6/basics/blocks-registration"}},r={},c=[{value:"Why do all my blocks look the same and have the same name structure?",id:"why-do-all-my-blocks-look-the-same-and-have-the-same-name-structure",level:3},{value:"What is the difference between components and blocks?",id:"what-is-the-difference-between-components-and-blocks",level:3},{value:"Do I need to have Storybook stories in my block?",id:"do-i-need-to-have-storybook-stories-in-my-block",level:3},{value:"Do you support block variations, and how can I use them?",id:"do-you-support-block-variations-and-how-can-i-use-them",level:3},{value:"Do you support patterns, and how can I use them?",id:"do-you-support-patterns-and-how-can-i-use-them",level:3},{value:"What is a wrapper?",id:"what-is-a-wrapper",level:3},{value:"Do you support inner blocks?",id:"do-you-support-inner-blocks",level:3},{value:"Why do you use manifest.json in all blocks and components?",id:"why-do-you-use-manifestjson-in-all-blocks-and-components",level:3},{value:"Why do you use global manifest.json?",id:"why-do-you-use-global-manifestjson",level:3},{value:"If I want to create a new block/component, what do I do?",id:"if-i-want-to-create-a-new-blockcomponent-what-do-i-do",level:3},{value:"What if I add a block and it throws an error that it is missing some components, what do I do?",id:"what-if-i-add-a-block-and-it-throws-an-error-that-it-is-missing-some-components-what-do-i-do",level:3},{value:"How can I use your pre-made blocks?",id:"how-can-i-use-your-pre-made-blocks",level:3},{value:"Can I use block/component from Eightshift-frontend-libs directly?",id:"can-i-use-blockcomponent-from-eightshift-frontend-libs-directly",level:3},{value:"I want to change attributes on inner blocks. How do I do it?",id:"i-want-to-change-attributes-on-inner-blocks-how-do-i-do-it",level:3},{value:"Do I need to write JS and PHP implementation for all my blocks?",id:"do-i-need-to-write-js-and-php-implementation-for-all-my-blocks",level:3},{value:"How do I use components in blocks?",id:"how-do-i-use-components-in-blocks",level:3},{value:"How do I use multiple heading components in my block?",id:"how-do-i-use-multiple-heading-components-in-my-block",level:3},{value:"Where can I define my global styles?",id:"where-can-i-define-my-global-styles",level:3},{value:"Where can I define global typography for all my blocks/components?",id:"where-can-i-define-global-typography-for-all-my-blockscomponents",level:3},{value:"Can I make a component with WP_Query logic in it?",id:"can-i-make-a-component-with-wp_query-logic-in-it",level:3},{value:"Do I need to make components for all my blocks?",id:"do-i-need-to-make-components-for-all-my-blocks",level:3},{value:"Will this setup work with full site editing?",id:"will-this-setup-work-with-full-site-editing",level:3},{value:"Can I use core blocks with your setup?",id:"can-i-use-core-blocks-with-your-setup",level:3},{value:"How can I limit my blocklist?",id:"how-can-i-limit-my-blocklist",level:3},{value:"How to allow only one pattern category?",id:"how-to-allow-only-one-pattern-category",level:3},{value:"Can I have blocks in multiple categories?",id:"can-i-have-blocks-in-multiple-categories",level:3},{value:"How can I add a new blocks category?",id:"how-can-i-add-a-new-blocks-category",level:3},{value:"What if you don't yet support something from the native setup? What can I do?",id:"what-if-you-dont-yet-support-something-from-the-native-setup-what-can-i-do",level:3},{value:"Why is my blocks folder called <code>custom</code> and not <code>blocks</code>, for example?",id:"why-is-my-blocks-folder-called-custom-and-not-blocks-for-example",level:3},{value:"In the global manifest, you have a key called \u201ccustomBlocksName\u201d: \u201ceightshift-block\u201d. Can I change this to my-project-name-block?",id:"in-the-global-manifest-you-have-a-key-called-customblocksname-eightshift-block-can-i-change-this-to-my-project-name-block",level:3},{value:"Simple vs Compound blocks",id:"simple-vs-compound-blocks",level:3},{value:"Naming is hard",id:"naming-is-hard",level:3}];function d(e){const o={a:"a",code:"code",em:"em",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(o.p,{children:(0,t.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/",children:(0,t.jsx)(o.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsxs)(o.p,{children:["Before we dive into blocks and see how everything is set, we should describe this setup's mindset.\nIf you've managed to set up your project by this point with the ",(0,t.jsx)(o.a,{href:"wp-cli",children:"WP-CLI"})," command ",(0,t.jsx)(o.code,{children:"setup_theme"}),", you might have a few questions. We will try to answer all those questions here."]}),"\n",(0,t.jsx)(o.h3,{id:"why-do-all-my-blocks-look-the-same-and-have-the-same-name-structure",children:"Why do all my blocks look the same and have the same name structure?"}),"\n",(0,t.jsxs)(o.p,{children:["This is so because we defined the name structure for all our blocks and components to load everything automatically. For more information, please check the ",(0,t.jsx)(o.a,{href:"block-structure",children:"block structure"})," and ",(0,t.jsx)(o.a,{href:"blocks-component-structure",children:"component structure"})," chapters."]}),"\n",(0,t.jsx)(o.h3,{id:"what-is-the-difference-between-components-and-blocks",children:"What is the difference between components and blocks?"}),"\n",(0,t.jsxs)(o.p,{children:["The main difference is that blocks are available in the block editor's block picker, and components are not. With that being said, blocks are registered using the ",(0,t.jsx)(o.code,{children:"registerBlockType"})," method, and components are just here for you to bundle some functionality in one place and reuse it wherever you need."]}),"\n",(0,t.jsxs)(o.p,{children:["For more information about blocks, read the ",(0,t.jsx)(o.a,{href:"block-structure",children:"block structure"})," chapter. To find out more about components, read the ",(0,t.jsx)(o.a,{href:"blocks-component-structure",children:"component structure"})," chapter."]}),"\n",(0,t.jsx)(o.h3,{id:"do-i-need-to-have-storybook-stories-in-my-block",children:"Do I need to have Storybook stories in my block?"}),"\n",(0,t.jsx)(o.p,{children:"No, you don't. But we provided you with the ability to use the Storybook for all of your blocks and components. Why not use it? It will speed up your development time. Trust us. \ud83d\ude42"}),"\n",(0,t.jsxs)(o.p,{children:["For more details on how to write stories, check out ",(0,t.jsx)(o.a,{href:"blocks-storybook",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"do-you-support-block-variations-and-how-can-i-use-them",children:"Do you support block variations, and how can I use them?"}),"\n",(0,t.jsxs)(o.p,{children:["Yes, we do. All block variations are located in the ",(0,t.jsx)(o.code,{children:"src/Blocks/variations"})," folder. For more information about this, please check the ",(0,t.jsx)(o.a,{href:"blocks-variations",children:"variations"})," chapter."]}),"\n",(0,t.jsx)(o.h3,{id:"do-you-support-patterns-and-how-can-i-use-them",children:"Do you support patterns, and how can I use them?"}),"\n",(0,t.jsxs)(o.p,{children:["Yes, we do. For more information, please read the ",(0,t.jsx)(o.a,{href:"blocks-patterns",children:"patterns"})," chapter."]}),"\n",(0,t.jsx)(o.h3,{id:"what-is-a-wrapper",children:"What is a wrapper?"}),"\n",(0,t.jsxs)(o.p,{children:["Read about wrappers in ",(0,t.jsx)(o.a,{href:"blocks-wrapper",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"do-you-support-inner-blocks",children:"Do you support inner blocks?"}),"\n",(0,t.jsxs)(o.p,{children:["Yes, we support everything that the core natively supports. You can find more information on how to use them in ",(0,t.jsx)(o.a,{href:"block-manifest",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"why-do-you-use-manifestjson-in-all-blocks-and-components",children:"Why do you use manifest.json in all blocks and components?"}),"\n",(0,t.jsxs)(o.p,{children:["So that we can provide content, attributes, options, and much more across multiple different files in multiple contexts (in both PHP and JS). You can read all about it in ",(0,t.jsx)(o.a,{href:"block-manifest",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"why-do-you-use-global-manifestjson",children:"Why do you use global manifest.json?"}),"\n",(0,t.jsxs)(o.p,{children:["The answer is the same as the previous one. In the global ",(0,t.jsx)(o.code,{children:"manifest.json"}),", we have options that are shared across all blocks and components. Read more about it in ",(0,t.jsx)(o.a,{href:"blocks-global-manifest",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"if-i-want-to-create-a-new-blockcomponent-what-do-i-do",children:"If I want to create a new block/component, what do I do?"}),"\n",(0,t.jsx)(o.p,{children:"In your terminal, write"}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-shell",children:"wp boilerplate use_block --name=example\n"})}),"\n",(0,t.jsx)(o.p,{children:"and style that block however you seem fit."}),"\n",(0,t.jsx)(o.h3,{id:"what-if-i-add-a-block-and-it-throws-an-error-that-it-is-missing-some-components-what-do-i-do",children:"What if I add a block and it throws an error that it is missing some components, what do I do?"}),"\n",(0,t.jsxs)(o.p,{children:["All blocks/components have some kind of documentation and in that documentation we have a list of dependencies each block/component needs to have in the project in order for it to work. For example you can look in the ",(0,t.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/custom/heading/docs/readme.mdx",children:"heading block"}),", as you can see the heading blocks depends on the heading component, so if you install a heading block before heading component it will resolve in to an error. So please be sure that your block/component installation follows the correct order."]}),"\n",(0,t.jsx)(o.h3,{id:"how-can-i-use-your-pre-made-blocks",children:"How can I use your pre-made blocks?"}),"\n",(0,t.jsx)(o.p,{children:"You can check all available blocks/components using these two commands"}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-shell",children:"wp boilerplate use_block --help\n\nwp boilerplate use_component --help\n"})}),"\n",(0,t.jsx)(o.h3,{id:"can-i-use-blockcomponent-from-eightshift-frontend-libs-directly",children:"Can I use block/component from Eightshift-frontend-libs directly?"}),"\n",(0,t.jsxs)(o.p,{children:["It depends. You can't use things from the blocks folder like ",(0,t.jsx)(o.code,{children:"components"}),", ",(0,t.jsx)(o.code,{children:"custom"}),", ",(0,t.jsx)(o.code,{children:"variations"}),", ",(0,t.jsx)(o.code,{children:"wrapper"}),", etc. They are meant to be copied to your project, styled, and changed depending on your project's needs."]}),"\n",(0,t.jsxs)(o.p,{children:["You can move things from a block to your project using the commands described ",(0,t.jsx)(o.a,{href:"#how-can-i-use-your-pre-made-blocks",children:"above"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"i-want-to-change-attributes-on-inner-blocks-how-do-i-do-it",children:"I want to change attributes on inner blocks. How do I do it?"}),"\n",(0,t.jsxs)(o.p,{children:["We described how attributes are used and combined in ",(0,t.jsx)(o.a,{href:"blocks-attributes",children:"this chapter"})," and ",(0,t.jsx)(o.a,{href:"blocks-component-in-block",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"do-i-need-to-write-js-and-php-implementation-for-all-my-blocks",children:"Do I need to write JS and PHP implementation for all my blocks?"}),"\n",(0,t.jsx)(o.p,{children:"For a block, you must provide the JS and PHP implementations because it won't work without them."}),"\n",(0,t.jsx)(o.p,{children:"For components, if you are not using the JS part, you don't need to write one, but we recommend you do so because the JS part is used in Storybook."}),"\n",(0,t.jsxs)(o.p,{children:["If you have a more advanced block and don't benefit from writing the JS implementation of the block, you can always use the ",(0,t.jsx)(o.a,{href:"https://developer.wordpress.org/block-editor/packages/packages-server-side-render/",children:"ServerSideRender component"})," form the core. If you have no inputs in the editor from the admin, there is no need to write JS implementation of the block. Just use ",(0,t.jsx)(o.code,{children:"ServerSideRender"})," component in that case."]}),"\n",(0,t.jsx)(o.h3,{id:"how-do-i-use-components-in-blocks",children:"How do I use components in blocks?"}),"\n",(0,t.jsxs)(o.p,{children:["Please check out ",(0,t.jsx)(o.a,{href:"blocks-component-in-block",children:"this chapter"})," for more information."]}),"\n",(0,t.jsx)(o.h3,{id:"how-do-i-use-multiple-heading-components-in-my-block",children:"How do I use multiple heading components in my block?"}),"\n",(0,t.jsxs)(o.p,{children:["You can follow the instructions given in ",(0,t.jsx)(o.a,{href:"blocks-component-in-block",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"where-can-i-define-my-global-styles",children:"Where can I define my global styles?"}),"\n",(0,t.jsxs)(o.p,{children:["You can follow the instructions given in ",(0,t.jsx)(o.a,{href:"writing-styles",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"where-can-i-define-global-typography-for-all-my-blockscomponents",children:"Where can I define global typography for all my blocks/components?"}),"\n",(0,t.jsxs)(o.p,{children:["You can follow the instructions given in ",(0,t.jsx)(o.a,{href:"writing-styles",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"can-i-make-a-component-with-wp_query-logic-in-it",children:"Can I make a component with WP_Query logic in it?"}),"\n",(0,t.jsx)(o.p,{children:"Yes, you can, but think of the component as a dumb and simple piece of code that should not hold any business logic. A component should only be used as a view. If you need to write WP_Query logic, you can do that in a block and just pass the data to your component as props."}),"\n",(0,t.jsx)(o.h3,{id:"do-i-need-to-make-components-for-all-my-blocks",children:"Do I need to make components for all my blocks?"}),"\n",(0,t.jsx)(o.p,{children:"No, it might look like that from the examples provided, but that is not the case. You should create components depending on your needs."}),"\n",(0,t.jsx)(o.p,{children:"Ask yourself, will I reuse this functionality anywhere else?"}),"\n",(0,t.jsxs)(o.ul,{children:["\n",(0,t.jsxs)(o.li,{children:["If the answer is ",(0,t.jsx)(o.strong,{children:"yes"}),", create a component."]}),"\n",(0,t.jsxs)(o.li,{children:["If the answer is ",(0,t.jsx)(o.strong,{children:"no"}),", don't create a component."]}),"\n"]}),"\n",(0,t.jsx)(o.p,{children:"Our recommendation is not to burden yourself with components from the beginning. Start creating blocks and, if you find yourself in need of code that you already wrote, just extract it in a component."}),"\n",(0,t.jsx)(o.h3,{id:"will-this-setup-work-with-full-site-editing",children:"Will this setup work with full site editing?"}),"\n",(0,t.jsx)(o.p,{children:"Yes, it will. We are constantly upgrading this documentation and our code to say that it will work with full site editing. This boilerplate was made for the Infinum/Eightshift WordPress team, so we are constantly using it in our projects."}),"\n",(0,t.jsx)(o.h3,{id:"can-i-use-core-blocks-with-your-setup",children:"Can I use core blocks with your setup?"}),"\n",(0,t.jsx)(o.p,{children:"Yes, you can. We are working on the ability to override core blocks in our smart way. Until we make this work, you can use everything that is already defined in the core documentation."}),"\n",(0,t.jsx)(o.p,{children:"We avoid using core blocks because they add different class naming and additional markup that makes it harder to style things."}),"\n",(0,t.jsx)(o.p,{children:"Also, they are prone to breaking changes every several months, so we prefer to write our own implementation."}),"\n",(0,t.jsx)(o.h3,{id:"how-can-i-limit-my-blocklist",children:"How can I limit my blocklist?"}),"\n",(0,t.jsxs)(o.p,{children:["Easy. We have a method you can extend that limits your project's block to the only block from your project. You should put this filter in your project's ",(0,t.jsx)(o.code,{children:"src/Blocks/Blocks.php"})," file under the ",(0,t.jsx)(o.code,{children:"register"})," method:"]}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-php",children:" // Limits the usage of only custom project blocks.\n add_filter('allowed_block_types', [ $this, 'getAllBlocksList' ], 10, 2);\n"})}),"\n",(0,t.jsx)(o.h3,{id:"how-to-allow-only-one-pattern-category",children:"How to allow only one pattern category?"}),"\n",(0,t.jsx)(o.p,{children:(0,t.jsx)(o.em,{children:"Coming soon"})}),"\n",(0,t.jsx)(o.h3,{id:"can-i-have-blocks-in-multiple-categories",children:"Can I have blocks in multiple categories?"}),"\n",(0,t.jsxs)(o.p,{children:["In your block manifest, you can define in what category your block will appear. You can create a new category for your project or use our category. We created our category called ",(0,t.jsx)(o.code,{children:"eightshift"})," using this filter:"]}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-php",children:" // Create a new custom category for custom blocks.\n add_filter('block_categories', [ $this, 'getCustomCategory' ]);\n"})}),"\n",(0,t.jsx)(o.h3,{id:"how-can-i-add-a-new-blocks-category",children:"How can I add a new blocks category?"}),"\n",(0,t.jsx)(o.p,{children:"You can provide your implementation, or you can extend our method for registering a custom category. Here is how you do it:"}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-php",children:" /**\n * Register all the hooks\n *\n * @return void\n */\npublic function register(): void\n{\n // Create a new custom category for custom blocks.\n add_filter('block_categories', [ $this, 'getCustomCategory' ]);\n}\n\n /**\n * Create a custom category to assign all custom blocks\n *\n * This category will be shown on all blocks list in the \"Add Block\" button.\n *\n * @param array[] $categories Array of all block categories.\n * @param \\WP_Post $post Post being loaded.\n *\n * @return array[] Array of block categories.\n */\npublic function getCustomCategory(array $categories, \\WP_Post $post): array\n{\n return array_merge(\n parent::getCustomCategory($categories, $post),\n [\n [\n 'slug' => 'custom-category-name',\n 'title' => \\esc_html__('Custom Category', 'project-text-domain'),\n 'icon' => 'admin-settings',\n ],\n ]\n );\n}\n"})}),"\n",(0,t.jsx)(o.h3,{id:"what-if-you-dont-yet-support-something-from-the-native-setup-what-can-i-do",children:"What if you don't yet support something from the native setup? What can I do?"}),"\n",(0,t.jsxs)(o.p,{children:["As we described in ",(0,t.jsx)(o.a,{href:"blocks",children:"this chapter"}),", if we don't support something natively from the core or you can't find it in this documentation, you can always use it in the normal native way from the ",(0,t.jsx)(o.a,{href:"https://developer.wordpress.org/block-editor/tutorials/block-tutorial/",children:"WordPress documentation"}),". Also, if you think we are missing something, please open a ",(0,t.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/pulls",children:"pull request"})," or an ",(0,t.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/issues",children:"issue"})," on our GitHub repository."]}),"\n",(0,t.jsxs)(o.h3,{id:"why-is-my-blocks-folder-called-custom-and-not-blocks-for-example",children:["Why is my blocks folder called ",(0,t.jsx)(o.code,{children:"custom"})," and not ",(0,t.jsx)(o.code,{children:"blocks"}),", for example?"]}),"\n",(0,t.jsx)(o.p,{children:"The idea was to put all your custom blocks inside the custom folder and all core block in the core folder. This boilerplate is not designed only for your custom block, but you can use it as an ultimate block setup."}),"\n",(0,t.jsxs)(o.p,{children:["And folder structure ",(0,t.jsx)(o.code,{children:"src/Blocks/blocks"})," is kind of weird."]}),"\n",(0,t.jsx)(o.h3,{id:"in-the-global-manifest-you-have-a-key-called-customblocksname-eightshift-block-can-i-change-this-to-my-project-name-block",children:"In the global manifest, you have a key called \u201ccustomBlocksName\u201d: \u201ceightshift-block\u201d. Can I change this to my-project-name-block?"}),"\n",(0,t.jsx)(o.p,{children:"You can, but you shouldn't. We use this key to provide the CSS selectors on all our custom blocks in the block editor. Additional styles are added to this selector for the wrapper to work on full width and remove some of the native block editor styles."}),"\n",(0,t.jsx)(o.p,{children:"So don't remove or change this \ud83d\ude05."}),"\n",(0,t.jsx)(o.h3,{id:"simple-vs-compound-blocks",children:"Simple vs Compound blocks"}),"\n",(0,t.jsx)(o.p,{children:"In a nutshell, there is no difference between blocks. The WordPress core block is a block, but we like to make a distinction between what is simple and what is a compound block."}),"\n",(0,t.jsxs)(o.p,{children:[(0,t.jsx)(o.strong,{children:"Simple block"})," is a block that is used just as is and provides a small isolated functionality. For example: heading, paragraph, button, etc."]}),"\n",(0,t.jsxs)(o.p,{children:[(0,t.jsx)(o.strong,{children:"Compound block"})," is a block built from multiple components. For example: card, featured posts, etc"]}),"\n",(0,t.jsx)(o.h3,{id:"naming-is-hard",children:"Naming is hard"}),"\n",(0,t.jsx)(o.p,{children:(0,t.jsx)(o.em,{children:"There are only two hard things in Computer Science: cache invalidation and naming things. - Phil Karlton"})}),"\n",(0,t.jsx)(o.p,{children:"Yes, naming is hard, and no matter how long your development experience is you will always struggle with names for your components, block, files, variables, functions, etc."}),"\n",(0,t.jsx)(o.p,{children:"Here are some of our recommendations to ease your pain:"}),"\n",(0,t.jsxs)(o.ul,{children:["\n",(0,t.jsxs)(o.li,{children:["Always try to name your block based on ",(0,t.jsx)(o.strong,{children:"what they are"}),", rather than ",(0,t.jsx)(o.strong,{children:"what they will be used for"}),". For example, if you have a component card for custom post-type ",(0,t.jsx)(o.code,{children:"books"}),", you should never call this component ",(0,t.jsx)(o.code,{children:"card-book"}),". Instead, use a more generic name like ",(0,t.jsx)(o.code,{children:"card-product"}),"."]}),"\n",(0,t.jsx)(o.li,{children:"Make your names as generic as possible for better reusability, but specific enough to fully understand what the block/component is used for."}),"\n",(0,t.jsx)(o.li,{children:"Always think about the future. How can this feature be used in some other way?"}),"\n",(0,t.jsxs)(o.li,{children:['When naming your attributes ask yourself: "is this attribute going to be used in any other way?". For example, you have an attribute for adding font-weight: bold to your text. You can create an attribute called font-weight and set it as a ',(0,t.jsx)(o.code,{children:"boolean"})," type and that will be ok if you have only one font-weight. A better way would be to put it as a string and provide a ",(0,t.jsx)(o.code,{children:"SelectControl"})," component if there is any possibility that in the future you will have additional font-weight."]}),"\n",(0,t.jsxs)(o.li,{children:["Name booleans positively as a question. Example: ",(0,t.jsx)(o.code,{children:"isValid"}),", ",(0,t.jsx)(o.code,{children:"isLoading"}),", ",(0,t.jsx)(o.code,{children:"isComplete"}),"."]}),"\n",(0,t.jsx)(o.li,{children:"Don\u2019t hesitate to use longer names."}),"\n",(0,t.jsx)(o.li,{children:"Use singular names."}),"\n",(0,t.jsx)(o.li,{children:"The variables or functions should be named by their work: Name of variables/functions should always try to express their meaning without diving into the code base try to pack meaningful information inside the name."}),"\n",(0,t.jsx)(o.li,{children:"Naming should be simple enough to be understood by everyone: Using complex words to describe a simple thing only creates hassle while reading the code. Also, use simple English."}),"\n",(0,t.jsx)(o.li,{children:"You might not be the only person working on your particular project in the future. Think about the next person. Your naming will provide an insight into the process and project."}),"\n",(0,t.jsxs)(o.li,{children:[(0,t.jsx)(o.strong,{children:"BE CONSISTENT"}),"."]}),"\n"]})]})}function h(e={}){const{wrapper:o}={...(0,s.M)(),...e.components};return o?(0,t.jsx)(o,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},4552:(e,o,n)=>{n.d(o,{I:()=>l,M:()=>a});var t=n(11504);const s={},i=t.createContext(s);function a(e){const o=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function l(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),t.createElement(i.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/8f5a650f.58767671.js b/assets/js/8f5a650f.58767671.js new file mode 100644 index 000000000..12bdb471b --- /dev/null +++ b/assets/js/8f5a650f.58767671.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[92686],{31948:(e,i,s)=>{s.r(i),s.d(i,{assets:()=>c,contentTitle:()=>r,default:()=>d,frontMatter:()=>h,metadata:()=>n,toc:()=>o});var t=s(17624),l=s(4552);const h={id:"helpers-aliases-helpers",title:"Aliases"},r=void 0,n={id:"legacy/v4/advanced/helpers-aliases-helpers",title:"Aliases",description:"docs-source",source:"@site/docs/legacy/v4/advanced/aliases.md",sourceDirName:"legacy/v4/advanced",slug:"/legacy/v4/advanced/helpers-aliases-helpers",permalink:"/docs/legacy/v4/advanced/helpers-aliases-helpers",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"helpers-aliases-helpers",title:"Aliases"},sidebar:"docs",previous:{title:"Browsersync",permalink:"/docs/legacy/v4/advanced/browsersync"},next:{title:"Object",permalink:"/docs/legacy/v4/advanced/helpers-object-helpers"}},c={},o=[{value:"EightshiftBlocksWhatwgFetch",id:"eightshiftblockswhatwgfetch",level:2},{value:"EightshiftBlocksSwiper",id:"eightshiftblocksswiper",level:2},{value:"EightshiftBlocksSwiperIE",id:"eightshiftblocksswiperie",level:2},{value:"EightshiftBlocksBabelPolyfill",id:"eightshiftblocksbabelpolyfill",level:2},{value:"EightshiftBlocksAutoprefixer",id:"eightshiftblocksautoprefixer",level:2},{value:"EightshiftBlocksNormalize",id:"eightshiftblocksnormalize",level:2},{value:"EightshiftBlocksMediaBlender",id:"eightshiftblocksmediablender",level:2},{value:"EightshiftBlocksSwiperStyle",id:"eightshiftblocksswiperstyle",level:2},{value:"EightshiftBlocksDynamicImport",id:"eightshiftblocksdynamicimport",level:2},{value:"EightshiftBlocksRegisterBlocks",id:"eightshiftblocksregisterblocks",level:2},{value:"EightshiftBlocksUcfirst",id:"eightshiftblocksucfirst",level:2},{value:"EightshiftBlocksGetActions",id:"eightshiftblocksgetactions",level:2},{value:"EightshiftBlocksUtilityHelpersPath",id:"eightshiftblocksutilityhelperspath",level:2},{value:"EightshiftFrontendLibs",id:"eightshiftfrontendlibs",level:2},{value:"EightshiftEditorStyleOverride",id:"eightshifteditorstyleoverride",level:2},{value:"EightshiftComponentColorPalette",id:"eightshiftcomponentcolorpalette",level:2},{value:"EightshiftComponentHeadingLevel",id:"eightshiftcomponentheadinglevel",level:2}];function a(e){const i={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",...(0,l.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.p,{children:(0,t.jsx)(i.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/v2.0.0/scripts",children:(0,t.jsx)(i.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsx)(i.p,{children:"We have created a lot of helpful aliases that you can use in your project."}),"\n",(0,t.jsx)(i.h2,{id:"eightshiftblockswhatwgfetch",children:"EightshiftBlocksWhatwgFetch"}),"\n",(0,t.jsxs)(i.p,{children:["Alias providing ",(0,t.jsx)(i.a,{href:"https://www.npmjs.com/package/whatwg-fetch",children:"Whatwg-fetch"}),"."]}),"\n",(0,t.jsx)(i.pre,{children:(0,t.jsx)(i.code,{className:"language-js",children:"import 'EightshiftBlocksWhatwgFetch';\n"})}),"\n",(0,t.jsx)(i.h2,{id:"eightshiftblocksswiper",children:"EightshiftBlocksSwiper"}),"\n",(0,t.jsxs)(i.p,{children:["Alias providing ",(0,t.jsx)(i.a,{href:"https://www.npmjs.com/package/swiper",children:"Swiper"}),"."]}),"\n",(0,t.jsx)(i.pre,{children:(0,t.jsx)(i.code,{className:"language-js",children:"import 'EightshiftBlocksSwiper';\n"})}),"\n",(0,t.jsx)(i.h2,{id:"eightshiftblocksswiperie",children:"EightshiftBlocksSwiperIE"}),"\n",(0,t.jsxs)(i.p,{children:["Alias providing ",(0,t.jsx)(i.a,{href:"https://www.npmjs.com/package/swiper",children:"Swiper"})," but for IE11 version."]}),"\n",(0,t.jsx)(i.pre,{children:(0,t.jsx)(i.code,{className:"language-js",children:"import 'EightshiftBlocksSwiperIE';\n"})}),"\n",(0,t.jsx)(i.h2,{id:"eightshiftblocksbabelpolyfill",children:"EightshiftBlocksBabelPolyfill"}),"\n",(0,t.jsxs)(i.p,{children:["Alias providing ",(0,t.jsx)(i.a,{href:"https://babeljs.io/docs/en/babel-polyfill",children:"Babel Polyfill"}),"."]}),"\n",(0,t.jsx)(i.pre,{children:(0,t.jsx)(i.code,{className:"language-js",children:"import 'EightshiftBlocksBabelPolyfill';\n"})}),"\n",(0,t.jsx)(i.h2,{id:"eightshiftblocksautoprefixer",children:"EightshiftBlocksAutoprefixer"}),"\n",(0,t.jsxs)(i.p,{children:["Alias providing ",(0,t.jsx)(i.a,{href:"https://github.com/postcss/autoprefixer",children:"Autoprefixer"}),"."]}),"\n",(0,t.jsx)(i.pre,{children:(0,t.jsx)(i.code,{className:"language-js",children:"import 'EightshiftBlocksAutoprefixer';\n"})}),"\n",(0,t.jsx)(i.h2,{id:"eightshiftblocksnormalize",children:"EightshiftBlocksNormalize"}),"\n",(0,t.jsxs)(i.p,{children:["Alias providing ",(0,t.jsx)(i.a,{href:"https://www.npmjs.com/package/normalize-scss",children:"Normalize"}),". Check documentation for more details."]}),"\n",(0,t.jsx)(i.pre,{children:(0,t.jsx)(i.code,{className:"language-scss",children:"@import 'EightshiftBlocksNormalize';\n@include normalize(); // stylelint-disable-line at-rule-empty-line-before\n"})}),"\n",(0,t.jsx)(i.h2,{id:"eightshiftblocksmediablender",children:"EightshiftBlocksMediaBlender"}),"\n",(0,t.jsxs)(i.p,{children:["Alias providing ",(0,t.jsx)(i.a,{href:"https://github.com/infinum/media-blender",children:"Media Blender"}),". Check documentation for more details."]}),"\n",(0,t.jsx)(i.pre,{children:(0,t.jsx)(i.code,{className:"language-scss",children:"@import 'EightshiftBlocksMediaBlender';\n"})}),"\n",(0,t.jsx)(i.h2,{id:"eightshiftblocksswiperstyle",children:"EightshiftBlocksSwiperStyle"}),"\n",(0,t.jsxs)(i.p,{children:["Alias providing ",(0,t.jsx)(i.a,{href:"https://www.npmjs.com/package/swiper",children:"Swiper"}),"."]}),"\n",(0,t.jsx)(i.pre,{children:(0,t.jsx)(i.code,{className:"language-scss",children:"@import 'EightshiftBlocksSwiperStyle';\n"})}),"\n",(0,t.jsx)(i.h2,{id:"eightshiftblocksdynamicimport",children:"EightshiftBlocksDynamicImport"}),"\n",(0,t.jsxs)(i.p,{children:["To get (require) all the files using the ",(0,t.jsx)(i.code,{children:"require.context"})," method, we created a helper located ",(0,t.jsx)(i.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/v2.0.0/scripts/helpers/dynamic-import.js",children:"here"}),"."]}),"\n",(0,t.jsxs)(i.p,{children:["It will find all files recursively in the folder using a regex. The following example will require all ",(0,t.jsx)(i.code,{children:"assets/index.js"})," files inside the ",(0,t.jsx)(i.code,{children:"custom"})," folder, so there is no need to add the files to the build manually."]}),"\n",(0,t.jsx)(i.pre,{children:(0,t.jsx)(i.code,{className:"language-js",children:"import { dynamicImport } from 'EightshiftBlocksDynamicImport';\n\ndynamicImport(require.context('./../../custom', true, /assets\\/index.js$/));\n"})}),"\n",(0,t.jsx)(i.h2,{id:"eightshiftblocksregisterblocks",children:"EightshiftBlocksRegisterBlocks"}),"\n",(0,t.jsxs)(i.p,{children:["Alias providing blocks registration. For more details check ",(0,t.jsx)(i.a,{href:"/docs/legacy/v4/guides/blocks-registration",children:"here"}),"."]}),"\n",(0,t.jsx)(i.h2,{id:"eightshiftblocksucfirst",children:"EightshiftBlocksUcfirst"}),"\n",(0,t.jsx)(i.p,{children:"Converts the first letter of a string to uppercase."}),"\n",(0,t.jsx)(i.pre,{children:(0,t.jsx)(i.code,{className:"language-js",children:"import { ucfirst } from 'EightshiftBlocksUcfirst';\n\nucfirst('custom string');\n"})}),"\n",(0,t.jsx)(i.h2,{id:"eightshiftblocksgetactions",children:"EightshiftBlocksGetActions"}),"\n",(0,t.jsxs)(i.p,{children:["Alias providing blocks actions helper. For more details check ",(0,t.jsx)(i.a,{href:"/docs/legacy/v4/guides/blocks-get-actions-helper",children:"here"}),"."]}),"\n",(0,t.jsx)(i.h2,{id:"eightshiftblocksutilityhelperspath",children:"EightshiftBlocksUtilityHelpersPath"}),"\n",(0,t.jsxs)(i.p,{children:["We have also created a bunch of JavaScript helpers located in the ",(0,t.jsx)(i.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/v2.0.0/scripts/helpers",children:"helpers folder"}),"."]}),"\n",(0,t.jsx)(i.p,{children:"This alias provides only path to the helpers folder."}),"\n",(0,t.jsx)(i.pre,{children:(0,t.jsx)(i.code,{className:"language-js",children:"import { media } from 'EightshiftBlocksUtilityHelpersPath/media';\n"})}),"\n",(0,t.jsx)(i.h2,{id:"eightshiftfrontendlibs",children:"EightshiftFrontendLibs"}),"\n",(0,t.jsxs)(i.p,{children:["Alias providing ",(0,t.jsx)(i.a,{href:"https://infinum.github.io/eightshift-frontend-libs/sassdocs/",children:"Eightshift Frontend Libs"}),"."]}),"\n",(0,t.jsx)(i.pre,{children:(0,t.jsx)(i.code,{className:"language-scss",children:"@import 'EightshiftFrontendLibs';\n"})}),"\n",(0,t.jsx)(i.h2,{id:"eightshifteditorstyleoverride",children:"EightshiftEditorStyleOverride"}),"\n",(0,t.jsx)(i.p,{children:"It provides the Block Editor overrides on some styles to give better UX for our block."}),"\n",(0,t.jsx)(i.pre,{children:(0,t.jsx)(i.code,{className:"language-scss",children:"@import 'EightshiftEditorStyleOverride';\n"})}),"\n",(0,t.jsx)(i.h2,{id:"eightshiftcomponentcolorpalette",children:"EightshiftComponentColorPalette"}),"\n",(0,t.jsxs)(i.p,{children:["Alias providing custom React component. For more details check ",(0,t.jsx)(i.a,{href:"/docs/legacy/v4/advanced/components-color-palette",children:"here"}),"."]}),"\n",(0,t.jsx)(i.h2,{id:"eightshiftcomponentheadinglevel",children:"EightshiftComponentHeadingLevel"}),"\n",(0,t.jsxs)(i.p,{children:["Alias providing custom React component. For more details check ",(0,t.jsx)(i.a,{href:"/docs/legacy/v4/advanced/components-heading-level",children:"here"}),"."]})]})}function d(e={}){const{wrapper:i}={...(0,l.M)(),...e.components};return i?(0,t.jsx)(i,{...e,children:(0,t.jsx)(a,{...e})}):a(e)}},4552:(e,i,s)=>{s.d(i,{I:()=>n,M:()=>r});var t=s(11504);const l={},h=t.createContext(l);function r(e){const i=t.useContext(h);return t.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function n(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:r(e.components),t.createElement(h.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/8f5a650f.e0347b62.js b/assets/js/8f5a650f.e0347b62.js deleted file mode 100644 index 6b0ed9f90..000000000 --- a/assets/js/8f5a650f.e0347b62.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[98202],{98441:(e,i,s)=>{s.r(i),s.d(i,{assets:()=>c,contentTitle:()=>r,default:()=>d,frontMatter:()=>h,metadata:()=>n,toc:()=>o});var t=s(85893),l=s(11151);const h={id:"helpers-aliases-helpers",title:"Aliases"},r=void 0,n={id:"legacy/v4/advanced/helpers-aliases-helpers",title:"Aliases",description:"docs-source",source:"@site/docs/legacy/v4/advanced/aliases.md",sourceDirName:"legacy/v4/advanced",slug:"/legacy/v4/advanced/helpers-aliases-helpers",permalink:"/docs/legacy/v4/advanced/helpers-aliases-helpers",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"helpers-aliases-helpers",title:"Aliases"},sidebar:"docs",previous:{title:"Browsersync",permalink:"/docs/legacy/v4/advanced/browsersync"},next:{title:"Object",permalink:"/docs/legacy/v4/advanced/helpers-object-helpers"}},c={},o=[{value:"EightshiftBlocksWhatwgFetch",id:"eightshiftblockswhatwgfetch",level:2},{value:"EightshiftBlocksSwiper",id:"eightshiftblocksswiper",level:2},{value:"EightshiftBlocksSwiperIE",id:"eightshiftblocksswiperie",level:2},{value:"EightshiftBlocksBabelPolyfill",id:"eightshiftblocksbabelpolyfill",level:2},{value:"EightshiftBlocksAutoprefixer",id:"eightshiftblocksautoprefixer",level:2},{value:"EightshiftBlocksNormalize",id:"eightshiftblocksnormalize",level:2},{value:"EightshiftBlocksMediaBlender",id:"eightshiftblocksmediablender",level:2},{value:"EightshiftBlocksSwiperStyle",id:"eightshiftblocksswiperstyle",level:2},{value:"EightshiftBlocksDynamicImport",id:"eightshiftblocksdynamicimport",level:2},{value:"EightshiftBlocksRegisterBlocks",id:"eightshiftblocksregisterblocks",level:2},{value:"EightshiftBlocksUcfirst",id:"eightshiftblocksucfirst",level:2},{value:"EightshiftBlocksGetActions",id:"eightshiftblocksgetactions",level:2},{value:"EightshiftBlocksUtilityHelpersPath",id:"eightshiftblocksutilityhelperspath",level:2},{value:"EightshiftFrontendLibs",id:"eightshiftfrontendlibs",level:2},{value:"EightshiftEditorStyleOverride",id:"eightshifteditorstyleoverride",level:2},{value:"EightshiftComponentColorPalette",id:"eightshiftcomponentcolorpalette",level:2},{value:"EightshiftComponentHeadingLevel",id:"eightshiftcomponentheadinglevel",level:2}];function a(e){const i={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",...(0,l.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.p,{children:(0,t.jsx)(i.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/v2.0.0/scripts",children:(0,t.jsx)(i.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsx)(i.p,{children:"We have created a lot of helpful aliases that you can use in your project."}),"\n",(0,t.jsx)(i.h2,{id:"eightshiftblockswhatwgfetch",children:"EightshiftBlocksWhatwgFetch"}),"\n",(0,t.jsxs)(i.p,{children:["Alias providing ",(0,t.jsx)(i.a,{href:"https://www.npmjs.com/package/whatwg-fetch",children:"Whatwg-fetch"}),"."]}),"\n",(0,t.jsx)(i.pre,{children:(0,t.jsx)(i.code,{className:"language-js",children:"import 'EightshiftBlocksWhatwgFetch';\n"})}),"\n",(0,t.jsx)(i.h2,{id:"eightshiftblocksswiper",children:"EightshiftBlocksSwiper"}),"\n",(0,t.jsxs)(i.p,{children:["Alias providing ",(0,t.jsx)(i.a,{href:"https://www.npmjs.com/package/swiper",children:"Swiper"}),"."]}),"\n",(0,t.jsx)(i.pre,{children:(0,t.jsx)(i.code,{className:"language-js",children:"import 'EightshiftBlocksSwiper';\n"})}),"\n",(0,t.jsx)(i.h2,{id:"eightshiftblocksswiperie",children:"EightshiftBlocksSwiperIE"}),"\n",(0,t.jsxs)(i.p,{children:["Alias providing ",(0,t.jsx)(i.a,{href:"https://www.npmjs.com/package/swiper",children:"Swiper"})," but for IE11 version."]}),"\n",(0,t.jsx)(i.pre,{children:(0,t.jsx)(i.code,{className:"language-js",children:"import 'EightshiftBlocksSwiperIE';\n"})}),"\n",(0,t.jsx)(i.h2,{id:"eightshiftblocksbabelpolyfill",children:"EightshiftBlocksBabelPolyfill"}),"\n",(0,t.jsxs)(i.p,{children:["Alias providing ",(0,t.jsx)(i.a,{href:"https://babeljs.io/docs/en/babel-polyfill",children:"Babel Polyfill"}),"."]}),"\n",(0,t.jsx)(i.pre,{children:(0,t.jsx)(i.code,{className:"language-js",children:"import 'EightshiftBlocksBabelPolyfill';\n"})}),"\n",(0,t.jsx)(i.h2,{id:"eightshiftblocksautoprefixer",children:"EightshiftBlocksAutoprefixer"}),"\n",(0,t.jsxs)(i.p,{children:["Alias providing ",(0,t.jsx)(i.a,{href:"https://github.com/postcss/autoprefixer",children:"Autoprefixer"}),"."]}),"\n",(0,t.jsx)(i.pre,{children:(0,t.jsx)(i.code,{className:"language-js",children:"import 'EightshiftBlocksAutoprefixer';\n"})}),"\n",(0,t.jsx)(i.h2,{id:"eightshiftblocksnormalize",children:"EightshiftBlocksNormalize"}),"\n",(0,t.jsxs)(i.p,{children:["Alias providing ",(0,t.jsx)(i.a,{href:"https://www.npmjs.com/package/normalize-scss",children:"Normalize"}),". Check documentation for more details."]}),"\n",(0,t.jsx)(i.pre,{children:(0,t.jsx)(i.code,{className:"language-scss",children:"@import 'EightshiftBlocksNormalize';\n@include normalize(); // stylelint-disable-line at-rule-empty-line-before\n"})}),"\n",(0,t.jsx)(i.h2,{id:"eightshiftblocksmediablender",children:"EightshiftBlocksMediaBlender"}),"\n",(0,t.jsxs)(i.p,{children:["Alias providing ",(0,t.jsx)(i.a,{href:"https://github.com/infinum/media-blender",children:"Media Blender"}),". Check documentation for more details."]}),"\n",(0,t.jsx)(i.pre,{children:(0,t.jsx)(i.code,{className:"language-scss",children:"@import 'EightshiftBlocksMediaBlender';\n"})}),"\n",(0,t.jsx)(i.h2,{id:"eightshiftblocksswiperstyle",children:"EightshiftBlocksSwiperStyle"}),"\n",(0,t.jsxs)(i.p,{children:["Alias providing ",(0,t.jsx)(i.a,{href:"https://www.npmjs.com/package/swiper",children:"Swiper"}),"."]}),"\n",(0,t.jsx)(i.pre,{children:(0,t.jsx)(i.code,{className:"language-scss",children:"@import 'EightshiftBlocksSwiperStyle';\n"})}),"\n",(0,t.jsx)(i.h2,{id:"eightshiftblocksdynamicimport",children:"EightshiftBlocksDynamicImport"}),"\n",(0,t.jsxs)(i.p,{children:["To get (require) all the files using the ",(0,t.jsx)(i.code,{children:"require.context"})," method, we created a helper located ",(0,t.jsx)(i.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/v2.0.0/scripts/helpers/dynamic-import.js",children:"here"}),"."]}),"\n",(0,t.jsxs)(i.p,{children:["It will find all files recursively in the folder using a regex. The following example will require all ",(0,t.jsx)(i.code,{children:"assets/index.js"})," files inside the ",(0,t.jsx)(i.code,{children:"custom"})," folder, so there is no need to add the files to the build manually."]}),"\n",(0,t.jsx)(i.pre,{children:(0,t.jsx)(i.code,{className:"language-js",children:"import { dynamicImport } from 'EightshiftBlocksDynamicImport';\n\ndynamicImport(require.context('./../../custom', true, /assets\\/index.js$/));\n"})}),"\n",(0,t.jsx)(i.h2,{id:"eightshiftblocksregisterblocks",children:"EightshiftBlocksRegisterBlocks"}),"\n",(0,t.jsxs)(i.p,{children:["Alias providing blocks registration. For more details check ",(0,t.jsx)(i.a,{href:"/docs/legacy/v4/guides/blocks-registration",children:"here"}),"."]}),"\n",(0,t.jsx)(i.h2,{id:"eightshiftblocksucfirst",children:"EightshiftBlocksUcfirst"}),"\n",(0,t.jsx)(i.p,{children:"Converts the first letter of a string to uppercase."}),"\n",(0,t.jsx)(i.pre,{children:(0,t.jsx)(i.code,{className:"language-js",children:"import { ucfirst } from 'EightshiftBlocksUcfirst';\n\nucfirst('custom string');\n"})}),"\n",(0,t.jsx)(i.h2,{id:"eightshiftblocksgetactions",children:"EightshiftBlocksGetActions"}),"\n",(0,t.jsxs)(i.p,{children:["Alias providing blocks actions helper. For more details check ",(0,t.jsx)(i.a,{href:"/docs/legacy/v4/guides/blocks-get-actions-helper",children:"here"}),"."]}),"\n",(0,t.jsx)(i.h2,{id:"eightshiftblocksutilityhelperspath",children:"EightshiftBlocksUtilityHelpersPath"}),"\n",(0,t.jsxs)(i.p,{children:["We have also created a bunch of JavaScript helpers located in the ",(0,t.jsx)(i.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/v2.0.0/scripts/helpers",children:"helpers folder"}),"."]}),"\n",(0,t.jsx)(i.p,{children:"This alias provides only path to the helpers folder."}),"\n",(0,t.jsx)(i.pre,{children:(0,t.jsx)(i.code,{className:"language-js",children:"import { media } from 'EightshiftBlocksUtilityHelpersPath/media';\n"})}),"\n",(0,t.jsx)(i.h2,{id:"eightshiftfrontendlibs",children:"EightshiftFrontendLibs"}),"\n",(0,t.jsxs)(i.p,{children:["Alias providing ",(0,t.jsx)(i.a,{href:"https://infinum.github.io/eightshift-frontend-libs/sassdocs/",children:"Eightshift Frontend Libs"}),"."]}),"\n",(0,t.jsx)(i.pre,{children:(0,t.jsx)(i.code,{className:"language-scss",children:"@import 'EightshiftFrontendLibs';\n"})}),"\n",(0,t.jsx)(i.h2,{id:"eightshifteditorstyleoverride",children:"EightshiftEditorStyleOverride"}),"\n",(0,t.jsx)(i.p,{children:"It provides the Block Editor overrides on some styles to give better UX for our block."}),"\n",(0,t.jsx)(i.pre,{children:(0,t.jsx)(i.code,{className:"language-scss",children:"@import 'EightshiftEditorStyleOverride';\n"})}),"\n",(0,t.jsx)(i.h2,{id:"eightshiftcomponentcolorpalette",children:"EightshiftComponentColorPalette"}),"\n",(0,t.jsxs)(i.p,{children:["Alias providing custom React component. For more details check ",(0,t.jsx)(i.a,{href:"/docs/legacy/v4/advanced/components-color-palette",children:"here"}),"."]}),"\n",(0,t.jsx)(i.h2,{id:"eightshiftcomponentheadinglevel",children:"EightshiftComponentHeadingLevel"}),"\n",(0,t.jsxs)(i.p,{children:["Alias providing custom React component. For more details check ",(0,t.jsx)(i.a,{href:"/docs/legacy/v4/advanced/components-heading-level",children:"here"}),"."]})]})}function d(e={}){const{wrapper:i}={...(0,l.a)(),...e.components};return i?(0,t.jsx)(i,{...e,children:(0,t.jsx)(a,{...e})}):a(e)}},11151:(e,i,s)=>{s.d(i,{Z:()=>n,a:()=>r});var t=s(67294);const l={},h=t.createContext(l);function r(e){const i=t.useContext(h);return t.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function n(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:r(e.components),t.createElement(h.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/90151e6b.b4eb08c2.js b/assets/js/90151e6b.b4eb08c2.js new file mode 100644 index 000000000..ee4640d41 --- /dev/null +++ b/assets/js/90151e6b.b4eb08c2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[70058],{66268:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>u,frontMatter:()=>o,metadata:()=>r,toc:()=>l});var i=n(17624),s=n(4552);const o={id:"intro",title:"Intro"},a=void 0,r={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.",source:"@site/forms/javascript/intro.md",sourceDirName:"javascript",slug:"/javascript/intro",permalink:"/forms/javascript/intro",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"intro",title:"Intro"},sidebar:"forms",previous:{title:"Migrations",permalink:"/forms/php/actions/migrations"},next:{title:"Available events",permalink:"/forms/javascript/events/available-events"}},c={},l=[];function d(e){const t={a:"a",code:"code",p:"p",...(0,s.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"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."}),"\n",(0,i.jsxs)(t.p,{children:["You can customize both the Block Editor and Frontend forms with different options. On the Frontend, the global window object ",(0,i.jsx)(t.code,{children:"esForms"})," provides all the necessary features. Additionally, there are multiple events triggered by various actions which you can utilize."]}),"\n",(0,i.jsx)(t.p,{children:"Crucially, the Frontend forms employ a specially-designed state management system that handles all data-related operations."}),"\n",(0,i.jsxs)(t.p,{children:["If you require further customization options, please don't hesitate to ",(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-forms/issues/new/choose",children:"open an issue"})," and we will work on adding it as soon as possible."]})]})}function u(e={}){const{wrapper:t}={...(0,s.M)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},4552:(e,t,n)=>{n.d(t,{I:()=>r,M:()=>a});var i=n(11504);const s={},o=i.createContext(s);function a(e){const t=i.useContext(o);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(s):e.components||s:a(e.components),i.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/90151e6b.d5c1b2ff.js b/assets/js/90151e6b.d5c1b2ff.js deleted file mode 100644 index cc218f78a..000000000 --- a/assets/js/90151e6b.d5c1b2ff.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[66171],{61917:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>u,frontMatter:()=>o,metadata:()=>r,toc:()=>l});var i=n(85893),s=n(11151);const o={id:"intro",title:"Intro"},a=void 0,r={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.",source:"@site/forms/javascript/intro.md",sourceDirName:"javascript",slug:"/javascript/intro",permalink:"/forms/javascript/intro",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"intro",title:"Intro"},sidebar:"forms",previous:{title:"Migrations",permalink:"/forms/php/actions/migrations"},next:{title:"Available events",permalink:"/forms/javascript/events/available-events"}},c={},l=[];function d(e){const t={a:"a",code:"code",p:"p",...(0,s.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"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."}),"\n",(0,i.jsxs)(t.p,{children:["You can customize both the Block Editor and Frontend forms with different options. On the Frontend, the global window object ",(0,i.jsx)(t.code,{children:"esForms"})," provides all the necessary features. Additionally, there are multiple events triggered by various actions which you can utilize."]}),"\n",(0,i.jsx)(t.p,{children:"Crucially, the Frontend forms employ a specially-designed state management system that handles all data-related operations."}),"\n",(0,i.jsxs)(t.p,{children:["If you require further customization options, please don't hesitate to ",(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-forms/issues/new/choose",children:"open an issue"})," and we will work on adding it as soon as possible."]})]})}function u(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},11151:(e,t,n)=>{n.d(t,{Z:()=>r,a:()=>a});var i=n(67294);const s={},o=i.createContext(s);function a(e){const t=i.useContext(o);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(s):e.components||s:a(e.components),i.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/901c0002.05061481.js b/assets/js/901c0002.05061481.js new file mode 100644 index 000000000..9f1eabddf --- /dev/null +++ b/assets/js/901c0002.05061481.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[82694],{50764:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>l,contentTitle:()=>r,default:()=>u,frontMatter:()=>o,metadata:()=>c,toc:()=>a});var n=t(17624),i=t(4552);const o={id:"blocks-registration",title:"Registration"},r=void 0,c={id:"legacy/v6/basics/blocks-registration",title:"Registration",description:"docs-source",source:"@site/docs/legacy/v6/basics/blocks-registration.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/blocks-registration",permalink:"/docs/legacy/v6/basics/blocks-registration",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-registration",title:"Registration"},sidebar:"docs",previous:{title:"Faq",permalink:"/docs/legacy/v6/basics/blocks-faq"},next:{title:"Structure",permalink:"/docs/legacy/v6/basics/blocks-structure"}},l={},a=[];function d(e){const s={a:"a",code:"code",img:"img",li:"li",p:"p",ul:"ul",...(0,i.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/",children:(0,n.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(s.p,{children:"Our setup works if you follow our naming convention and strict folder structure for all blocks, components, variations, patterns, and wrapper."}),"\n",(0,n.jsxs)(s.p,{children:["By following our structure, we can find all files using the ",(0,n.jsx)(s.code,{children:"require.context"})," regular expression inside the ",(0,n.jsx)(s.code,{children:"Blocks"})," folder. Alongside some JavaScript magic, we have been able to leave out all those unnecessary steps when creating new blocks like:"]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"providing style files;"}),"\n",(0,n.jsx)(s.li,{children:"writing register method;"}),"\n",(0,n.jsx)(s.li,{children:"setting PHP method for registering dynamic blocks; and"}),"\n",(0,n.jsx)(s.li,{children:"including files when adding new components."}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["You can check out how this works inside the ",(0,n.jsx)(s.code,{children:"src/Blocks/assets/scripts/application-blocks-editor.js"})," file."]}),"\n",(0,n.jsxs)(s.p,{children:["Please follow our ",(0,n.jsx)(s.a,{href:"blocks-structure",children:"blocks structure folder"})," to see the naming standard and how blocks are set."]})]})}function u(e={}){const{wrapper:s}={...(0,i.M)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},4552:(e,s,t)=>{t.d(s,{I:()=>c,M:()=>r});var n=t(11504);const i={},o=n.createContext(i);function r(e){const s=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),n.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/901c0002.b7f55f91.js b/assets/js/901c0002.b7f55f91.js deleted file mode 100644 index b1339216a..000000000 --- a/assets/js/901c0002.b7f55f91.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[72558],{32368:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>l,contentTitle:()=>r,default:()=>u,frontMatter:()=>o,metadata:()=>c,toc:()=>a});var n=t(85893),i=t(11151);const o={id:"blocks-registration",title:"Registration"},r=void 0,c={id:"legacy/v6/basics/blocks-registration",title:"Registration",description:"docs-source",source:"@site/docs/legacy/v6/basics/blocks-registration.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/blocks-registration",permalink:"/docs/legacy/v6/basics/blocks-registration",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-registration",title:"Registration"},sidebar:"docs",previous:{title:"Faq",permalink:"/docs/legacy/v6/basics/blocks-faq"},next:{title:"Structure",permalink:"/docs/legacy/v6/basics/blocks-structure"}},l={},a=[];function d(e){const s={a:"a",code:"code",img:"img",li:"li",p:"p",ul:"ul",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/",children:(0,n.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(s.p,{children:"Our setup works if you follow our naming convention and strict folder structure for all blocks, components, variations, patterns, and wrapper."}),"\n",(0,n.jsxs)(s.p,{children:["By following our structure, we can find all files using the ",(0,n.jsx)(s.code,{children:"require.context"})," regular expression inside the ",(0,n.jsx)(s.code,{children:"Blocks"})," folder. Alongside some JavaScript magic, we have been able to leave out all those unnecessary steps when creating new blocks like:"]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"providing style files;"}),"\n",(0,n.jsx)(s.li,{children:"writing register method;"}),"\n",(0,n.jsx)(s.li,{children:"setting PHP method for registering dynamic blocks; and"}),"\n",(0,n.jsx)(s.li,{children:"including files when adding new components."}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["You can check out how this works inside the ",(0,n.jsx)(s.code,{children:"src/Blocks/assets/scripts/application-blocks-editor.js"})," file."]}),"\n",(0,n.jsxs)(s.p,{children:["Please follow our ",(0,n.jsx)(s.a,{href:"blocks-structure",children:"blocks structure folder"})," to see the naming standard and how blocks are set."]})]})}function u(e={}){const{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},11151:(e,s,t)=>{t.d(s,{Z:()=>c,a:()=>r});var n=t(67294);const i={},o=n.createContext(i);function r(e){const s=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),n.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/90c2c848.3f846c86.js b/assets/js/90c2c848.3f846c86.js new file mode 100644 index 000000000..f20fd7e99 --- /dev/null +++ b/assets/js/90c2c848.3f846c86.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[55120],{27832:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>n,metadata:()=>c,toc:()=>l});var i=s(17624),o=s(4552);const n={id:"library",title:"SCSS Library"},r=void 0,c={id:"legacy/v7/basics/library",title:"SCSS Library",description:"docs-source",source:"@site/docs/legacy/v7/basics/library.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/library",permalink:"/docs/legacy/v7/basics/library",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"library",title:"SCSS Library"},sidebar:"docs",previous:{title:"Webpack",permalink:"/docs/legacy/v7/basics/webpack"},next:{title:"Global Settings",permalink:"/docs/legacy/v7/basics/global-settings"}},a={},l=[{value:"How to use it",id:"how-to-use-it",level:2}];function d(e){const t={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",strong:"strong",...(0,o.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsx)(t.p,{children:"Eightshift Frontend Libs contains a collection of useful SCSS mixins, functions and helpers you can use in projects."}),"\n",(0,i.jsx)(t.p,{children:"For years, we have collected a list of them. At one point, we felt it was ineffective to copy-paste code across multiple projects, so we created Eightshift Frontend Libs. This allows you to use whatever we offer without all that unnecessary clutter."}),"\n",(0,i.jsx)(t.p,{children:"Check out our documentation and import what you need from Eightshift Frontend Libs."}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsxs)(t.strong,{children:["Visit ",(0,i.jsx)(t.a,{href:"/docs/basics/library",children:"SassDocs"})," for more details."]})}),"\n",(0,i.jsx)(t.h2,{id:"how-to-use-it",children:"How to use it"}),"\n",(0,i.jsx)(t.p,{children:"SCSS mixins, functions, and helpers are located in Eightshift Frontend Libs. Therefore, if you are using our Webpack build, you are all set. You can use it by importing it into your project like this:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-scss",children:"@import '@eightshift/frontend-libs/styles/index.scss';\n"})}),"\n",(0,i.jsxs)(t.p,{children:["However, if you used our ",(0,i.jsx)(t.code,{children:"wp boilerplate setup_theme"})," command, you are all set. Eightshift Frontend Libs are injected in the ",(0,i.jsx)(t.code,{children:"_shared.scss"})," file in your project."]})]})}function h(e={}){const{wrapper:t}={...(0,o.M)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},4552:(e,t,s)=>{s.d(t,{I:()=>c,M:()=>r});var i=s(11504);const o={},n=i.createContext(o);function r(e){const t=i.useContext(n);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),i.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/90c2c848.9f4c7505.js b/assets/js/90c2c848.9f4c7505.js deleted file mode 100644 index c41099ac7..000000000 --- a/assets/js/90c2c848.9f4c7505.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[23289],{37199:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>n,metadata:()=>c,toc:()=>l});var i=s(85893),o=s(11151);const n={id:"library",title:"SCSS Library"},r=void 0,c={id:"legacy/v7/basics/library",title:"SCSS Library",description:"docs-source",source:"@site/docs/legacy/v7/basics/library.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/library",permalink:"/docs/legacy/v7/basics/library",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"library",title:"SCSS Library"},sidebar:"docs",previous:{title:"Webpack",permalink:"/docs/legacy/v7/basics/webpack"},next:{title:"Global Settings",permalink:"/docs/legacy/v7/basics/global-settings"}},a={},l=[{value:"How to use it",id:"how-to-use-it",level:2}];function d(e){const t={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",strong:"strong",...(0,o.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsx)(t.p,{children:"Eightshift Frontend Libs contains a collection of useful SCSS mixins, functions and helpers you can use in projects."}),"\n",(0,i.jsx)(t.p,{children:"For years, we have collected a list of them. At one point, we felt it was ineffective to copy-paste code across multiple projects, so we created Eightshift Frontend Libs. This allows you to use whatever we offer without all that unnecessary clutter."}),"\n",(0,i.jsx)(t.p,{children:"Check out our documentation and import what you need from Eightshift Frontend Libs."}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsxs)(t.strong,{children:["Visit ",(0,i.jsx)(t.a,{href:"/sass",children:"SassDocs"})," for more details."]})}),"\n",(0,i.jsx)(t.h2,{id:"how-to-use-it",children:"How to use it"}),"\n",(0,i.jsx)(t.p,{children:"SCSS mixins, functions, and helpers are located in Eightshift Frontend Libs. Therefore, if you are using our Webpack build, you are all set. You can use it by importing it into your project like this:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-scss",children:"@import '@eightshift/frontend-libs/styles/index.scss';\n"})}),"\n",(0,i.jsxs)(t.p,{children:["However, if you used our ",(0,i.jsx)(t.code,{children:"wp boilerplate setup_theme"})," command, you are all set. Eightshift Frontend Libs are injected in the ",(0,i.jsx)(t.code,{children:"_shared.scss"})," file in your project."]})]})}function h(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},11151:(e,t,s)=>{s.d(t,{Z:()=>c,a:()=>r});var i=s(67294);const o={},n=i.createContext(o);function r(e){const t=i.useContext(n);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),i.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/92621e92.96d29f14.js b/assets/js/92621e92.96d29f14.js new file mode 100644 index 000000000..0feb2b465 --- /dev/null +++ b/assets/js/92621e92.96d29f14.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[54162],{92700:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>i,default:()=>f,frontMatter:()=>l,metadata:()=>r,toc:()=>a});var s=n(17624),o=n(4552);const l={id:"style-options",title:"Custom field styles"},i=void 0,r={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.",source:"@site/forms/php/filters/block/field/style-options.md",sourceDirName:"php/filters/block/field",slug:"/php/filters/block/field/style-options",permalink:"/forms/php/filters/block/field/style-options",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"style-options",title:"Custom field styles"},sidebar:"forms",previous:{title:"Additional content",permalink:"/forms/php/filters/block/form-selector/additional-content"},next:{title:"Custom field classes",permalink:"/forms/php/filters/block/field/style-classes"}},d={},a=[];function c(t){const e={code:"code",p:"p",pre:"pre",...(0,o.M)(),...t.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(e.p,{children:["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 ",(0,s.jsx)(e.code,{children:"value"})," provided."]}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-php",children:"\\add_filter('es_forms_block_field_style_options', [$this, 'getBlockFieldStyleOptions']);\n\n/**\n * Add additional style options to field block\n *\n * This filter will add new options to the style select dropdown in the field block. Field style option selector will not show unless a filter is provided. This option is shown in Block Editor.\n *\n * @return array<string, mixed>\n */\npublic function getBlockFieldStyleOptions(): array\n{\n\treturn [\n\t\t\t'input' => [\n\t\t\t\t[\n\t\t\t\t\t'label' => 'Default',\n\t\t\t\t\t'value' => 'default'\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t'label' => 'Custom Style',\n\t\t\t\t\t'value' => 'custom-style'\n\t\t\t\t],\n\t\t\t],\n\t\t\t'select' => [\n\t\t\t\t[\n\t\t\t\t\t'label' => 'Default',\n\t\t\t\t\t'value' => 'default'\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t'label' => 'Custom Style',\n\t\t\t\t\t'value' => 'custom-style',\n\t\t\t\t],\n\t\t\t]\n\t\t];\n}\n"})})]})}function f(t={}){const{wrapper:e}={...(0,o.M)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(c,{...t})}):c(t)}},4552:(t,e,n)=>{n.d(e,{I:()=>r,M:()=>i});var s=n(11504);const o={},l=s.createContext(o);function i(t){const e=s.useContext(l);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:i(t.components),s.createElement(l.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/92621e92.f0d805f2.js b/assets/js/92621e92.f0d805f2.js deleted file mode 100644 index f5a416f5c..000000000 --- a/assets/js/92621e92.f0d805f2.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[43621],{93572:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>i,default:()=>f,frontMatter:()=>l,metadata:()=>r,toc:()=>a});var s=n(85893),o=n(11151);const l={id:"style-options",title:"Custom field styles"},i=void 0,r={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.",source:"@site/forms/php/filters/block/field/style-options.md",sourceDirName:"php/filters/block/field",slug:"/php/filters/block/field/style-options",permalink:"/forms/php/filters/block/field/style-options",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"style-options",title:"Custom field styles"},sidebar:"forms",previous:{title:"Additional content",permalink:"/forms/php/filters/block/form-selector/additional-content"},next:{title:"Custom field classes",permalink:"/forms/php/filters/block/field/style-classes"}},d={},a=[];function c(t){const e={code:"code",p:"p",pre:"pre",...(0,o.a)(),...t.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(e.p,{children:["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 ",(0,s.jsx)(e.code,{children:"value"})," provided."]}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-php",children:"\\add_filter('es_forms_block_field_style_options', [$this, 'getBlockFieldStyleOptions']);\n\n/**\n * Add additional style options to field block\n *\n * This filter will add new options to the style select dropdown in the field block. Field style option selector will not show unless a filter is provided. This option is shown in Block Editor.\n *\n * @return array<string, mixed>\n */\npublic function getBlockFieldStyleOptions(): array\n{\n\treturn [\n\t\t\t'input' => [\n\t\t\t\t[\n\t\t\t\t\t'label' => 'Default',\n\t\t\t\t\t'value' => 'default'\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t'label' => 'Custom Style',\n\t\t\t\t\t'value' => 'custom-style'\n\t\t\t\t],\n\t\t\t],\n\t\t\t'select' => [\n\t\t\t\t[\n\t\t\t\t\t'label' => 'Default',\n\t\t\t\t\t'value' => 'default'\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t'label' => 'Custom Style',\n\t\t\t\t\t'value' => 'custom-style',\n\t\t\t\t],\n\t\t\t]\n\t\t];\n}\n"})})]})}function f(t={}){const{wrapper:e}={...(0,o.a)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(c,{...t})}):c(t)}},11151:(t,e,n)=>{n.d(e,{Z:()=>r,a:()=>i});var s=n(67294);const o={},l=s.createContext(o);function i(t){const e=s.useContext(l);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:i(t.components),s.createElement(l.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/92a392ff.6d1f2e16.js b/assets/js/92a392ff.6d1f2e16.js new file mode 100644 index 000000000..08c8ac243 --- /dev/null +++ b/assets/js/92a392ff.6d1f2e16.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[96344],{57004:(e,s,r)=>{r.r(s),r.d(s,{assets:()=>a,contentTitle:()=>i,default:()=>m,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var t=r(17624),n=r(4552);const o={id:"helpers",title:"Helpers"},i=void 0,l={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.",source:"@site/forms/php/helpers.md",sourceDirName:"php",slug:"/php/helpers",permalink:"/forms/php/helpers",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"helpers",title:"Helpers"},sidebar:"forms",previous:{title:"Pipedrive",permalink:"/forms/php/global-variables/integrations/pipedrive"},next:{title:"WP-CLI",permalink:"/forms/php/wp-cli"}},a={},c=[{value:"esFormsGetFormIdByName",id:"esformsgetformidbyname",level:3},{value:"esFormsDecryptor",id:"esformsdecryptor",level:3},{value:"esFormsGeolocationCountriesList",id:"esformsgeolocationcountrieslist",level:3},{value:"esFormsGetSelectOptionsArrayFromString",id:"esformsgetselectoptionsarrayfromstring",level:3},{value:"esFormsGetComponentsRender",id:"esformsgetcomponentsrender",level:3},{value:"esFormRenderForm",id:"esformrenderform",level:3},{value:"esFormGetEntry",id:"esformgetentry",level:3}];function h(e){const s={a:"a",code:"code",h3:"h3",p:"p",pre:"pre",...(0,n.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:"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."}),"\n",(0,t.jsxs)(s.p,{children:["All helpers can be found ",(0,t.jsx)(s.a,{href:"https://github.com/infinum/eightshift-forms/blob/develop/src/Helpers/esForms.php",children:"here"}),"."]}),"\n",(0,t.jsx)(s.h3,{id:"esformsgetformidbyname",children:"esFormsGetFormIdByName"}),"\n",(0,t.jsx)(s.p,{children:"This function retrieves the custom, unique name of a form, as set in the Form settings, from the provided form ID. It's useful when applying specific settings to one or more forms using filters in your project."}),"\n",(0,t.jsx)(s.p,{children:'Form identification by name (instead of the default "by ID"), can be useful if switching environments when the form ID could change.'}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-php",children:"if (\\function_exists('esFormsGetFormIdByName')) {\n echo esFormsGetFormIdByName('<form-id>');\n}\n"})}),"\n",(0,t.jsx)(s.h3,{id:"esformsdecryptor",children:"esFormsDecryptor"}),"\n",(0,t.jsx)(s.p,{children:'This helper provides decrypt and encrypt methods for variations set in the Form settings, passed to the "Thank you" page after form submission.'}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-php",children:"if (\\function_exists('esFormsDecryptor')) {\n $variation = isset($_GET['es-variation']) ? \\esFormsDecryptor(\\sanitize_text_field(\\wp_unslash($_GET['es-variation']))) : '';\n}\n"})}),"\n",(0,t.jsx)(s.h3,{id:"esformsgeolocationcountrieslist",children:"esFormsGeolocationCountriesList"}),"\n",(0,t.jsx)(s.p,{children:"This method generates a list of countries available in the geolocation API and country fields."}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-php",children:"if (\\function_exists('esFormsGeolocationCountriesList')) {\n $countriesList = esFormsGeolocationCountriesList();\n}\n"})}),"\n",(0,t.jsx)(s.h3,{id:"esformsgetselectoptionsarrayfromstring",children:"esFormsGetSelectOptionsArrayFromString"}),"\n",(0,t.jsx)(s.p,{children:"This helper parses the block grammar output (that the Gutenberg editor generates) for block options, making it easy to use them in your projects."}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-php",children:"if (\\function_exists('esFormsGetSelectOptionsArrayFromString')) {\n $select = esFormsGetSelectOptionsArrayFromString('<options>');\n}\n"})}),"\n",(0,t.jsx)(s.h3,{id:"esformsgetcomponentsrender",children:"esFormsGetComponentsRender"}),"\n",(0,t.jsxs)(s.p,{children:["This helper allows you to access the Eightshift Forms component ",(0,t.jsx)(s.code,{children:"render"})," method, enabling you to utilize all Forms components in your projects. If you already have a style set for the selected component, you can use this helper to render it with all the necessary data and styling applied."]}),"\n",(0,t.jsxs)(s.p,{children:["A list of all components can be found ",(0,t.jsx)(s.a,{href:"https://github.com/infinum/eightshift-forms/tree/develop/src/Blocks/components",children:"here"}),"."]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-php",children:"if (\\function_exists('esFormsGetComponentsRender')) {\n $render = esFormsGetComponentsRender('<component>', '[<attributes>]');\n}\n"})}),"\n",(0,t.jsx)(s.h3,{id:"esformrenderform",children:"esFormRenderForm"}),"\n",(0,t.jsx)(s.p,{children:"If you want to output a form in a custom template or block, you can use this helper to do so."}),"\n",(0,t.jsx)(s.p,{children:"Please note that not all functionalities are available, and certain options might not be available."}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-php",children:"if (\\function_exists('esFormRenderForm')) {\n echo esFormRenderForm('<formId>', '[<attributes>]');\n}\n"})}),"\n",(0,t.jsx)(s.h3,{id:"esformgetentry",children:"esFormGetEntry"}),"\n",(0,t.jsx)(s.p,{children:"If you need to retrieve form entry data, you can use this helper by providing entry unique ID."}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-php",children:"if (\\function_exists('esFormGetEntry')) {\n $entry = esFormGetEntry('<entryId>');\n}\n"})})]})}function m(e={}){const{wrapper:s}={...(0,n.M)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(h,{...e})}):h(e)}},4552:(e,s,r)=>{r.d(s,{I:()=>l,M:()=>i});var t=r(11504);const n={},o=t.createContext(n);function i(e){const s=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),t.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/92a392ff.eda5b668.js b/assets/js/92a392ff.eda5b668.js deleted file mode 100644 index 30689344b..000000000 --- a/assets/js/92a392ff.eda5b668.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[33206],{31807:(e,s,r)=>{r.r(s),r.d(s,{assets:()=>a,contentTitle:()=>i,default:()=>m,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var t=r(85893),n=r(11151);const o={id:"helpers",title:"Helpers"},i=void 0,l={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.",source:"@site/forms/php/helpers.md",sourceDirName:"php",slug:"/php/helpers",permalink:"/forms/php/helpers",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"helpers",title:"Helpers"},sidebar:"forms",previous:{title:"Pipedrive",permalink:"/forms/php/global-variables/integrations/pipedrive"},next:{title:"WP-CLI",permalink:"/forms/php/wp-cli"}},a={},c=[{value:"esFormsGetFormIdByName",id:"esformsgetformidbyname",level:3},{value:"esFormsDecryptor",id:"esformsdecryptor",level:3},{value:"esFormsGeolocationCountriesList",id:"esformsgeolocationcountrieslist",level:3},{value:"esFormsGetSelectOptionsArrayFromString",id:"esformsgetselectoptionsarrayfromstring",level:3},{value:"esFormsGetComponentsRender",id:"esformsgetcomponentsrender",level:3},{value:"esFormRenderForm",id:"esformrenderform",level:3},{value:"esFormGetEntry",id:"esformgetentry",level:3}];function h(e){const s={a:"a",code:"code",h3:"h3",p:"p",pre:"pre",...(0,n.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:"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."}),"\n",(0,t.jsxs)(s.p,{children:["All helpers can be found ",(0,t.jsx)(s.a,{href:"https://github.com/infinum/eightshift-forms/blob/develop/src/Helpers/esForms.php",children:"here"}),"."]}),"\n",(0,t.jsx)(s.h3,{id:"esformsgetformidbyname",children:"esFormsGetFormIdByName"}),"\n",(0,t.jsx)(s.p,{children:"This function retrieves the custom, unique name of a form, as set in the Form settings, from the provided form ID. It's useful when applying specific settings to one or more forms using filters in your project."}),"\n",(0,t.jsx)(s.p,{children:'Form identification by name (instead of the default "by ID"), can be useful if switching environments when the form ID could change.'}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-php",children:"if (\\function_exists('esFormsGetFormIdByName')) {\n echo esFormsGetFormIdByName('<form-id>');\n}\n"})}),"\n",(0,t.jsx)(s.h3,{id:"esformsdecryptor",children:"esFormsDecryptor"}),"\n",(0,t.jsx)(s.p,{children:'This helper provides decrypt and encrypt methods for variations set in the Form settings, passed to the "Thank you" page after form submission.'}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-php",children:"if (\\function_exists('esFormsDecryptor')) {\n $variation = isset($_GET['es-variation']) ? \\esFormsDecryptor(\\sanitize_text_field(\\wp_unslash($_GET['es-variation']))) : '';\n}\n"})}),"\n",(0,t.jsx)(s.h3,{id:"esformsgeolocationcountrieslist",children:"esFormsGeolocationCountriesList"}),"\n",(0,t.jsx)(s.p,{children:"This method generates a list of countries available in the geolocation API and country fields."}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-php",children:"if (\\function_exists('esFormsGeolocationCountriesList')) {\n $countriesList = esFormsGeolocationCountriesList();\n}\n"})}),"\n",(0,t.jsx)(s.h3,{id:"esformsgetselectoptionsarrayfromstring",children:"esFormsGetSelectOptionsArrayFromString"}),"\n",(0,t.jsx)(s.p,{children:"This helper parses the block grammar output (that the Gutenberg editor generates) for block options, making it easy to use them in your projects."}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-php",children:"if (\\function_exists('esFormsGetSelectOptionsArrayFromString')) {\n $select = esFormsGetSelectOptionsArrayFromString('<options>');\n}\n"})}),"\n",(0,t.jsx)(s.h3,{id:"esformsgetcomponentsrender",children:"esFormsGetComponentsRender"}),"\n",(0,t.jsxs)(s.p,{children:["This helper allows you to access the Eightshift Forms component ",(0,t.jsx)(s.code,{children:"render"})," method, enabling you to utilize all Forms components in your projects. If you already have a style set for the selected component, you can use this helper to render it with all the necessary data and styling applied."]}),"\n",(0,t.jsxs)(s.p,{children:["A list of all components can be found ",(0,t.jsx)(s.a,{href:"https://github.com/infinum/eightshift-forms/tree/develop/src/Blocks/components",children:"here"}),"."]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-php",children:"if (\\function_exists('esFormsGetComponentsRender')) {\n $render = esFormsGetComponentsRender('<component>', '[<attributes>]');\n}\n"})}),"\n",(0,t.jsx)(s.h3,{id:"esformrenderform",children:"esFormRenderForm"}),"\n",(0,t.jsx)(s.p,{children:"If you want to output a form in a custom template or block, you can use this helper to do so."}),"\n",(0,t.jsx)(s.p,{children:"Please note that not all functionalities are available, and certain options might not be available."}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-php",children:"if (\\function_exists('esFormRenderForm')) {\n echo esFormRenderForm('<formId>', '[<attributes>]');\n}\n"})}),"\n",(0,t.jsx)(s.h3,{id:"esformgetentry",children:"esFormGetEntry"}),"\n",(0,t.jsx)(s.p,{children:"If you need to retrieve form entry data, you can use this helper by providing entry unique ID."}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-php",children:"if (\\function_exists('esFormGetEntry')) {\n $entry = esFormGetEntry('<entryId>');\n}\n"})})]})}function m(e={}){const{wrapper:s}={...(0,n.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(h,{...e})}):h(e)}},11151:(e,s,r)=>{r.d(s,{Z:()=>l,a:()=>i});var t=r(67294);const n={},o=t.createContext(n);function i(e){const s=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),t.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/935f2afb.03e23328.js b/assets/js/935f2afb.03e23328.js new file mode 100644 index 000000000..ab188b168 --- /dev/null +++ b/assets/js/935f2afb.03e23328.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[55696],{35988: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/935f2afb.9900e50f.js b/assets/js/935f2afb.9900e50f.js deleted file mode 100644 index 34447b4aa..000000000 --- a/assets/js/935f2afb.9900e50f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[80053],{1109: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.1b416ff9.js b/assets/js/938b8490.1b416ff9.js new file mode 100644 index 000000000..5761b9ff0 --- /dev/null +++ b/assets/js/938b8490.1b416ff9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[23928],{65068:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>t,metadata:()=>l,toc:()=>c});var o=s(17624),i=s(4552);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},r=void 0,l={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.935,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.M)(),...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(72580).c+"",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:"/storybook",children:"Storybook"})," under ",(0,o.jsx)(n.code,{children:"Editor -> 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(36244).c+"",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.M)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},36244:(e,n,s)=>{s.d(n,{c:()=>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"},72580:(e,n,s)=>{s.d(n,{c:()=>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"},4552:(e,n,s)=>{s.d(n,{I:()=>l,M:()=>r});var o=s(11504);const i={},t=o.createContext(i);function r(e){const n=o.useContext(t);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(i):e.components||i:r(e.components),o.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/938b8490.9177d581.js b/assets/js/938b8490.9177d581.js deleted file mode 100644 index 31f8148dd..000000000 --- a/assets/js/938b8490.9177d581.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[24033],{73607:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>h,frontMatter:()=>t,metadata:()=>a,toc:()=>c});var o=s(85893),i=s(11151);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},r=void 0,a={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.935,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=[{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.a)(),...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(23884).Z+"",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:"/storybook",children:"Storybook"})," under ",(0,o.jsx)(n.code,{children:"Editor -> 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(57170).Z+"",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.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},57170:(e,n,s)=>{s.d(n,{Z:()=>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"},23884:(e,n,s)=>{s.d(n,{Z:()=>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"},11151:(e,n,s)=>{s.d(n,{Z:()=>a,a:()=>r});var o=s(67294);const i={},t=o.createContext(i);function r(e){const n=o.useContext(t);return o.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(i):e.components||i:r(e.components),o.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/94335e76.51a18c18.js b/assets/js/94335e76.51a18c18.js new file mode 100644 index 000000000..b06ba911e --- /dev/null +++ b/assets/js/94335e76.51a18c18.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[22632],{11380:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>l,default:()=>h,frontMatter:()=>s,metadata:()=>r,toc:()=>d});var i=t(17624),o=t(4552);const s={id:"8-9",title:"Version 8 to 9"},l=void 0,r={id:"migrations/8-9",title:"Version 8 to 9",description:"This migration guide contains migration instructions for:",source:"@site/docs/migrations/8-9.md",sourceDirName:"migrations",slug:"/migrations/8-9",permalink:"/docs/migrations/8-9",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"8-9",title:"Version 8 to 9"},sidebar:"docs",previous:{title:"Version 9 to 10",permalink:"/docs/migrations/9-10"},next:{title:"Version 7 to 8",permalink:"/docs/migrations/7-8"}},c={},d=[{value:"Required changes",id:"required-changes",level:2},{value:"Component updates and replacements",id:"component-updates-and-replacements",level:3},{value:"Common between components",id:"common-between-components",level:3},{value:"<code>CollapsableComponentUseToggle</code>",id:"collapsablecomponentusetoggle",level:4},{value:"<code>ComponentUseToggle</code>",id:"componentusetoggle",level:4},{value:"<code>ColorPaletteCustom</code>",id:"colorpalettecustom",level:4},{value:"<code>ColorPickerComponent</code>",id:"colorpickercomponent",level:4},{value:"<code>Responsive</code>",id:"responsive",level:4},{value:"<code>CompactResponsive</code>",id:"compactresponsive",level:4},{value:"<code>CustomSelect</code>",id:"customselect",level:4},{value:"<code>LinkEditComponent</code>",id:"linkeditcomponent",level:4},{value:"<code>SimpleVerticalSingleSelect</code>",id:"simpleverticalsingleselect",level:4},{value:"<code>OptionPicker</code>",id:"optionpicker",level:4},{value:"<code>LinkToolbarButton</code>",id:"linktoolbarbutton",level:4},{value:"<code>InlineNotification</code>",id:"inlinenotification",level:4},{value:"<code>SpacingSlider</code>",id:"spacingslider",level:4},{value:"<code>WidthOffsetRangeSlider</code>",id:"widthoffsetrangeslider",level:4},{value:"<code>VisibilityToggleResponsive</code>",id:"visibilitytoggleresponsive",level:4},{value:"<code>SimpleHorizontalSingleSelect</code>",id:"simplehorizontalsingleselect",level:4},{value:"<code>AlignmentToolbar</code>",id:"alignmenttoolbar",level:4},{value:"<code>HeadingLevel</code>",id:"headinglevel",level:4},{value:"<code>CustomSlider</code>",id:"customslider",level:4},{value:"<code>SimpleRepeater</code> / <code>SimpleRepeaterItem</code>",id:"simplerepeater--simplerepeateritem",level:4}];function a(e){const n={a:"a",code:"code",em:"em",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,o.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:"This migration guide contains migration instructions for:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"https://github.com/infinum/eightshift-boilerplate/releases/tag/9.0.0",children:"eightshift/boilerplate"})," - ",(0,i.jsx)(n.strong,{children:"8+ --\x3e 9.0.0"})]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/releases/tag/8.0.0",children:"eightshift/frontend-libs"})," - ",(0,i.jsx)(n.strong,{children:"7+ --\x3e 8.0.0"})]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/releases/tag/6.4.0",children:"eightshift/libs"})," - ",(0,i.jsx)(n.strong,{children:"6.4.0"})]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"required-changes",children:"Required changes"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Migration time: ~45min to a couple of hours, depending on project size and components used."})}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:["Update ",(0,i.jsx)(n.code,{children:"composer"})," packages and check if Eightshift Libs are on version 6.4 (or higher)"]}),"\n",(0,i.jsxs)(n.li,{children:["Update ",(0,i.jsx)(n.code,{children:"@eightshift/frontend-libs"})," in your ",(0,i.jsx)(n.code,{children:"package.json"})," file to the latest version:","\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-json",children:'"@eightshift/frontend-libs": "^8.0.0",\n'})}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Important:"})," Delete your lockfile (",(0,i.jsx)(n.code,{children:"package.lock"}),") and your ",(0,i.jsx)(n.code,{children:"node_modules"})," folder, then run ",(0,i.jsx)(n.code,{children:"npm install"})]}),"\n",(0,i.jsx)(n.li,{children:"Rename updated components, update changed properties and replace deprecated components (see chapter below)"}),"\n",(0,i.jsxs)(n.li,{children:["Do a ",(0,i.jsx)(n.code,{children:"npm start"}),", check that you have no build errors visible"]}),"\n",(0,i.jsx)(n.li,{children:"Smoke test your blocks - to verify everything was migrated properly, go through all the blocks and check if everything looks good visually and that everything is functional"}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"component-updates-and-replacements",children:"Component updates and replacements"}),"\n",(0,i.jsx)(n.p,{children:"Below you will find some of the more common components that will need to be modified, and also some possible caveats."}),"\n",(0,i.jsx)(n.p,{children:"Your code editor should mark the components that need replacement with a strikethrough over the component name:"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Component deprecation notice in Visual Studio Code",src:t(5120).c+"",width:"556",height:"226"})}),"\n",(0,i.jsx)(n.h3,{id:"common-between-components",children:"Common between components"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["if you have a label with an ",(0,i.jsx)(n.code,{children:"IconLabel"})," inside, you can migrate it to separate ",(0,i.jsx)(n.code,{children:"icon"})," and ",(0,i.jsx)(n.code,{children:"label"})," props:","\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"label={<IconLabel icon={icons.color} label={__('Background', 'domain')} />}\n"})}),"\n","becomes","\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"icon={icons.color}\nlabel={__('Background', 'domain')}\n"})}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["if the component is the last in the list of options, you can add ",(0,i.jsx)(n.code,{children:"noBottomSpacing"})," to make everything look a bit nicer"]}),"\n",(0,i.jsxs)(n.li,{children:["if you want to visually group two similar components, e.g. toggles, you can bring them vertically closer together with ",(0,i.jsx)(n.code,{children:"reducedBottomSpacing"})]}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"collapsablecomponentusetoggle",children:(0,i.jsx)(n.code,{children:"CollapsableComponentUseToggle"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["rename the component and imports to ",(0,i.jsx)(n.code,{children:"UseToggle"})]}),"\n",(0,i.jsxs)(n.li,{children:["change ",(0,i.jsx)(n.code,{children:"showUseToggle"})," to ",(0,i.jsx)(n.code,{children:"noUseToggle"})," and flip its logic"]}),"\n",(0,i.jsxs)(n.li,{children:["change ",(0,i.jsx)(n.code,{children:"showLabel"})," to ",(0,i.jsx)(n.code,{children:"noLabel"})," and flip its logic"]}),"\n",(0,i.jsxs)(n.li,{children:["change ",(0,i.jsx)(n.code,{children:"showExpanderButton"})," to ",(0,i.jsx)(n.code,{children:"noExpandButton"})," and flip its logic"]}),"\n",(0,i.jsxs)(n.li,{children:["consider adding ",(0,i.jsx)(n.code,{children:"noExpandButton"})," to your attributes and add it to all your blocks, so the options render nicely"]}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"componentusetoggle",children:(0,i.jsx)(n.code,{children:"ComponentUseToggle"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["replace the component with ",(0,i.jsx)(n.code,{children:"UseToggle"})]}),"\n",(0,i.jsx)(n.li,{children:"move all of the options inside the useToggle"}),"\n",(0,i.jsxs)(n.li,{children:["change ",(0,i.jsx)(n.code,{children:"showUseToggle"})," to ",(0,i.jsx)(n.code,{children:"noUseToggle"})," and flip its logic"]}),"\n",(0,i.jsxs)(n.li,{children:["change ",(0,i.jsx)(n.code,{children:"showLabel"})," to ",(0,i.jsx)(n.code,{children:"noLabel"})," and flip its logic"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Example"})}),"\n",(0,i.jsx)(n.p,{children:"Before"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"<ComponentUseToggle\n\tlabel={label}\n\tchecked={accordionUse}\n\tonChange={(value) => setAttributes({ [getAttrKey('accordionUse', attributes, manifest)]: value })}\n\tshowUseToggle={showAccordionUse}\n\tshowLabel={showLabel}\n/>\n\n{accordionUse &&\n\t// Other options.\n}\n"})}),"\n",(0,i.jsx)(n.p,{children:"After:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"<UseToggle\n\tlabel={label}\n\tchecked={accordionUse}\n\tonChange={(value) => setAttributes({ [getAttrKey('accordionUse', attributes, manifest)]: value })}\n\tnoUseToggle={!showAccordionUse} // Inverted logic!\n\tnoLabel={!showLabel} // Inverted logic!\n\tnoBottomSpacing // If the component is the only one in the options panel\n>\n\t// Other options.\n</UseToggle>\n"})}),"\n",(0,i.jsx)(n.h4,{id:"colorpalettecustom",children:(0,i.jsx)(n.code,{children:"ColorPaletteCustom"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["rename the component and imports to ",(0,i.jsx)(n.code,{children:"ColorPalette"})]}),"\n",(0,i.jsxs)(n.li,{children:["remove the ",(0,i.jsx)(n.code,{children:"inline"})," prop if you have it added"]}),"\n",(0,i.jsxs)(n.li,{children:["change the ",(0,i.jsx)(n.code,{children:"layout"})," prop to a string instead of a ",(0,i.jsx)(n.code,{children:"ColorPaletteCustomLayout"})," object (hint: use autocomplete to see all the possible values)"]}),"\n",(0,i.jsxs)(n.li,{children:["if you have it set, change ",(0,i.jsx)(n.code,{children:"groupShades={false}"})," to ",(0,i.jsx)(n.code,{children:"noShadeGrouping"})]}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"colorpickercomponent",children:(0,i.jsx)(n.code,{children:"ColorPickerComponent"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["rename the component and imports to ",(0,i.jsx)(n.code,{children:"ColorPicker"})]}),"\n",(0,i.jsxs)(n.li,{children:["change the ",(0,i.jsx)(n.code,{children:"type"})," prop to a string instead of a ",(0,i.jsx)(n.code,{children:"ColorPickerType"})," object (hint: use autocomplete to see all the possible values)"]}),"\n",(0,i.jsxs)(n.li,{children:["if you have it set, change ",(0,i.jsx)(n.code,{children:"groupShades={false}"})," to ",(0,i.jsx)(n.code,{children:"noShadeGrouping"})]}),"\n",(0,i.jsxs)(n.li,{children:["if you have it set, replace ",(0,i.jsx)(n.code,{children:"includeWpBottomSpacing={false}"})," with ",(0,i.jsx)(n.code,{children:"noBottomSpacing"})]}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"responsive",children:(0,i.jsx)(n.code,{children:"Responsive"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"check and remove all breakpoint labels you had set manually, they're now automatically rendered by the component"}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"compactresponsive",children:(0,i.jsx)(n.code,{children:"CompactResponsive"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["rename the component and imports to ",(0,i.jsx)(n.code,{children:"Responsive"})]}),"\n",(0,i.jsx)(n.li,{children:"check and remove all breakpoint labels you had set manually, they're now automatically rendered by the component"}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"customselect",children:(0,i.jsx)(n.code,{children:"CustomSelect"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["this component has been split up into 4 more specific components","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["if you had a CustomSelect ",(0,i.jsx)(n.strong,{children:"without"})," ",(0,i.jsx)(n.code,{children:"multiple"})," and with ",(0,i.jsx)(n.code,{children:"options"}),", replace it with ",(0,i.jsx)(n.code,{children:"Select"})]}),"\n",(0,i.jsxs)(n.li,{children:["if you had a CustomSelect ",(0,i.jsx)(n.strong,{children:"without"})," ",(0,i.jsx)(n.code,{children:"multiple"})," and with ",(0,i.jsx)(n.code,{children:"loadOptions"}),", replace it with ",(0,i.jsx)(n.code,{children:"MultiSelect"})]}),"\n",(0,i.jsxs)(n.li,{children:["if you had a CustomSelect with ",(0,i.jsx)(n.code,{children:"multiple"})," and with ",(0,i.jsx)(n.code,{children:"options"}),", replace it with ",(0,i.jsx)(n.code,{children:"MultiSelect"})]}),"\n",(0,i.jsxs)(n.li,{children:["if you had a CustomSelect with ",(0,i.jsx)(n.code,{children:"multiple"})," and with ",(0,i.jsx)(n.code,{children:"loadOptions"}),", replace it with ",(0,i.jsx)(n.code,{children:"AsyncMultiSelect"})]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["replace ",(0,i.jsx)(n.code,{children:"isClearable"})," with ",(0,i.jsx)(n.code,{children:"clearable"})," if you had it set to ",(0,i.jsx)(n.code,{children:"true"})]}),"\n",(0,i.jsxs)(n.li,{children:["replace ",(0,i.jsx)(n.code,{children:"isSearchable"})," with ",(0,i.jsx)(n.code,{children:"noSearch"})," if you had it set to ",(0,i.jsx)(n.code,{children:"false"}),", otherwise remove it"]}),"\n",(0,i.jsxs)(n.li,{children:["remove ",(0,i.jsx)(n.code,{children:"reFetchOnSearch"}),", as it was removed"]}),"\n",(0,i.jsxs)(n.li,{children:["remove ",(0,i.jsx)(n.code,{children:"multiple"})," (make sure you add the proper kind of Select!)"]}),"\n",(0,i.jsxs)(n.li,{children:["if you had an async select (with ",(0,i.jsx)(n.code,{children:"loadOptions"}),"), and had ",(0,i.jsx)(n.code,{children:"simpleValue"})," set, you will need to find a slightly different solution, as this is not supported anymore"]}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"linkeditcomponent",children:(0,i.jsx)(n.code,{children:"LinkEditComponent"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.strong,{children:"\u26a0\ufe0f props have changed here, it'll leave URL pickers broken if you forget to change them!"})}),"\n",(0,i.jsxs)(n.li,{children:["replace ",(0,i.jsx)(n.code,{children:"setAttributes"}),", ",(0,i.jsx)(n.code,{children:"urlAttrName"}),", ",(0,i.jsx)(n.code,{children:"isNewTabAttrName"})," (if set) with an ",(0,i.jsx)(n.code,{children:"onChange"})," callback (see example below)"]}),"\n",(0,i.jsxs)(n.li,{children:["remove ",(0,i.jsx)(n.code,{children:"title"})," with ",(0,i.jsx)(n.code,{children:"label"})," if you want to keep it customized (you can also just remove it)"]}),"\n",(0,i.jsxs)(n.li,{children:["replace ",(0,i.jsx)(n.code,{children:"showNewTabOption"})," with ",(0,i.jsx)(n.code,{children:"hideOpensInNewTab"})," and invert its logic"]}),"\n",(0,i.jsxs)(n.li,{children:["you can now hide the anchor notice with ",(0,i.jsx)(n.code,{children:"hideAnchorNotice"})]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Example"})}),"\n",(0,i.jsx)(n.p,{children:"Before"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"url={buttonUrl}\n<LinkEditComponent\n\turl={buttonUrl}\n\topensInNewTab={buttonIsNewTab}\n\tsetAttributes={setAttributes}\n\ttitle={variableLabel}\n\turlAttrName={getAttrKey('buttonUrl', attributes, manifest)}\n\tisNewTabAttrName={getAttrKey('buttonIsNewTab', attributes, manifest)}\n\tshowNewTabOption={showButtonIsNewTab}\n/>\n"})}),"\n",(0,i.jsx)(n.p,{children:"After"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"<LinkEditComponent\n\turl={buttonUrl}\n\topensInNewTab={buttonIsNewTab}\n\thideOpensInNewTab={!showButtonIsNewTab} // Inverted logic!\n\tonChange={({ url, newTab, isAnchor }) => setAttributes({\n\t\t[getAttrKey('buttonUrl', attributes, manifest)]: url,\n\t\t[getAttrKey('buttonIsNewTab', attributes, manifest)]: newTab,\n\t\t[getAttrKey('buttonIsAnchor', attributes, manifest)]: isAnchor ?? false, // Optional, can replace a manual toggle (detects setting anchor links automatically).\n\t})}\n/>\n"})}),"\n",(0,i.jsx)(n.h4,{id:"simpleverticalsingleselect",children:(0,i.jsx)(n.code,{children:"SimpleVerticalSingleSelect"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["replace the component with ",(0,i.jsx)(n.code,{children:"OptionSelector"})]}),"\n",(0,i.jsxs)(n.li,{children:["replace the ",(0,i.jsx)(n.code,{children:"options"})," prop (one that returns an object) with ",(0,i.jsx)(n.code,{children:"value"}),", ",(0,i.jsx)(n.code,{children:"onChange"})," callback and available ",(0,i.jsx)(n.code,{children:"options"})," (array)"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Example"})}),"\n",(0,i.jsxs)(n.p,{children:["Make sure your options have at least a ",(0,i.jsx)(n.code,{children:"label"})," and a ",(0,i.jsx)(n.code,{children:"value"}),"!"]}),"\n",(0,i.jsx)(n.p,{children:"Before"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"const sizeOptions = getOption('buttonSize', attributes, manifest).map(({ label, value, icon: iconName }) => {\n\t\treturn {\n\t\t\tonClick: () => setAttributes({\n\t\t\t\t[getAttrKey('buttonSize', attributes, manifest)]: value,\n\t\t\t\t[getAttrKey('buttonIsLink', attributes, manifest)]: false\n\t\t\t}),\n\t\t\tlabel: label,\n\t\t\tisActive: buttonSize === value,\n\t\t\ticon: icons[iconName],\n\t\t};\n\t});\n\n// ...\n\n<SimpleVerticalSingleSelect\n\tlabel={<IconLabel icon={icons.size} label={__('Size', 'domain')} />}\n\toptions={sizeOptions}\n/>\n"})}),"\n",(0,i.jsx)(n.p,{children:"After"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"<OptionSelector\n\ticon={icons.size}\n\tlabel={__('Size', 'domain')}\n\toptions={getOption('buttonSize', attributes, manifest)}\n\tvalue={buttonSize}\n\tonChange={(value) => setAttributes({\n\t\t[getAttrKey('buttonSize', attributes, manifest)]: value,\n\t\t[getAttrKey('buttonIsLink', attributes, manifest)]: false\n\t})}\n/>\n"})}),"\n",(0,i.jsx)(n.h4,{id:"optionpicker",children:(0,i.jsx)(n.code,{children:"OptionPicker"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["replace with ",(0,i.jsx)(n.code,{children:"OptionSelector"})]}),"\n",(0,i.jsxs)(n.li,{children:["add ",(0,i.jsx)(n.code,{children:"noBottomSpacing"})," and ",(0,i.jsx)(n.code,{children:"border='none'"})]}),"\n",(0,i.jsxs)(n.li,{children:["add ",(0,i.jsx)(n.code,{children:"additionalContainerClass='es-p-1.25'"})," to align it properly with other controls"]}),"\n",(0,i.jsxs)(n.li,{children:["remove the ",(0,i.jsx)(n.code,{children:"label"})]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"Consider relocating your toolbar option to the options sidebar."}),"\n",(0,i.jsx)(n.h4,{id:"linktoolbarbutton",children:(0,i.jsx)(n.code,{children:"LinkToolbarButton"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["replace with ",(0,i.jsx)(n.code,{children:"LinkEditComponent"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"follow the guide for that component for other prop replacements"}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.li,{children:"you might need to place it in a"}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Example"})}),"\n",(0,i.jsx)(n.p,{children:"Before"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"<LinkToolbarButton\n\turlAttrName={getAttrKey('chevronUrl', attributes, manifest)}\n\tisNewTabAttrName={getAttrKey('chevronIsNewTab', attributes, manifest)}\n\turl={chevronUrl}\n\topensInNewTab={chevronIsNewTab}\n\tsetAttributes={setAttributes}\n\ttitle={__(ucfirst(componentName), 'domain')}\n/>\n"})}),"\n",(0,i.jsx)(n.p,{children:"After"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"import { ToolbarButton, ToolbarItem, } from '@wordpress/components';\nimport { PopoverWithTrigger } from '@eightshift/frontend-libs/scripts';\n\n// ...\n\n<ToolbarItem as='div'>\n\t<PopoverWithTrigger\n\t\tposition='top right'\n\t\tcontentClass='es-w-80 es-p-4'\n\t\ttrigger={\n\t\t\t({ ref, setIsOpen, isOpen }) => (\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tref={ref}\n\t\t\t\t\tonClick={() => setIsOpen(!isOpen)}\n\t\t\t\t\tisPressed={chevronUrl?.length > 0}\n\t\t\t\t\ticon={icons.link}\n\t\t\t\t/>\n\t\t\t)\n\t\t}\n\t>\n\t\t<LinkEditComponent\n\t\t\turl={chevronUrl}\n\t\t\topensInNewTab={chevronIsNewTab}\n\t\t\tonChange={({ url, newTab }) => setAttributes({\n\t\t\t\t[getAttrKey('chevronUrl', attributes, manifest)]: url,\n\t\t\t\t[getAttrKey('chevronIsNewTab', attributes, manifest)]: newTab,\n\t\t\t})}\n\t\t\thideOpensInNewTab\n\t\t\tnoBottomSpacing\n\t\t/>\n\t</PopoverWithTrigger>\n</ToolbarItem>\n"})}),"\n",(0,i.jsx)(n.h4,{id:"inlinenotification",children:(0,i.jsx)(n.code,{children:"InlineNotification"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["rename the component and imports to ",(0,i.jsx)(n.code,{children:"Notification"})]}),"\n",(0,i.jsxs)(n.li,{children:["change the ",(0,i.jsx)(n.code,{children:"type"})," prop to a string instead of a ",(0,i.jsx)(n.code,{children:"InlineNotificationType"})," object (hint: use autocomplete to see all the possible values)"]}),"\n",(0,i.jsxs)(n.li,{children:["replace ",(0,i.jsx)(n.code,{children:"removeBottomFieldSpacing"})," with ",(0,i.jsx)(n.code,{children:"noBottomSpacing"}),", if set"]}),"\n",(0,i.jsxs)(n.li,{children:["remove ",(0,i.jsx)(n.code,{children:"showContrastOutline"})," as it's not supported anymore"]}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"spacingslider",children:(0,i.jsx)(n.code,{children:"SpacingSlider"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["replace with ",(0,i.jsx)(n.code,{children:"ResponsiveSlider"})," with the config generator"]}),"\n",(0,i.jsx)(n.li,{children:"remove deprecated props"}),"\n",(0,i.jsxs)(n.li,{children:["if you had ",(0,i.jsx)(n.code,{children:"compensateForRemBase10"}),", add","\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"\tmodifyInput={(v) => v * 10}\n\tmodifyOutput={(v) => v / 10}\n"})}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Example"})}),"\n",(0,i.jsx)(n.p,{children:"Before"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"<SpacingSlider\n\ticon={icons.order}\n\tlabel={__('Order', 'domain')}\n\tattributeName='columnOrder'\n\tattributes={attributes}\n\tsetAttributes={setAttributes}\n\tmanifest={manifest}\n\tmarkSteps={2}\n\thasInputField={false}\n\thasValueDisplay\n\tvalueDisplayFormat={(v) => !isNaN(v) && v > 0 ? v : '-'}\n\tshowDisableButton\n\tdisableWithUndefined\n\tisNumeric\n/>\n"})}),"\n",(0,i.jsx)(n.p,{children:"After"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"<ResponsiveSlider\n\t{...generateResponsiveSliderConfig({\n\t\tattributeName: 'columnOrder',\n\t\tattributes: attributes,\n\t\tmanifest: manifest,\n\t\tsetAttributes: setAttributes,\n\t})}\n\ticon={icons.order}\n\tlabel={__('Order', 'domain')}\n/>\n"})}),"\n",(0,i.jsx)(n.h4,{id:"widthoffsetrangeslider",children:(0,i.jsx)(n.code,{children:"WidthOffsetRangeSlider"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"wrap some of the deprecated options with a config generator"}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Example"})}),"\n",(0,i.jsx)(n.p,{children:"Before"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"<WidthOffsetRangeSlider\n\toffsetAttributeName='columnOffset'\n\twidthAttributeName='columnWidth'\n\tmanifest={manifest}\n\tattributes={attributes}\n\tsetAttributes={setAttributes}\n\tshowFullWidthToggle={false}\n\tincludeGutters\n\tshowOffsetAutoToggle\n/>\n"})}),"\n",(0,i.jsx)(n.p,{children:"After"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"<WidthOffsetRangeSlider\n\t{...generateWidthOffsetRangeSliderConfig({\n\t\toffsetAttributeName: 'columnOffset',\n\t\twidthAttributeName: 'columnWidth',\n\t\tattributes: attributes,\n\t\tmanifest: manifest,\n\t\tsetAttributes: (attr) => {\n\t\t\t// This is only required if you have \"Auto\" offset as an option, and the attributes are numeric, otherwise just pass setAttributes as-is.\n\t\t\tconst newAttr = {};\n\n\t\t\tObject.entries(attr).forEach(([key, value]) => {\n\t\t\t\tif (value !== 'auto' && typeof value !== 'undefined') {\n\t\t\t\t\tnewAttr[key] = parseInt(value);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tnewAttr[key] = value;\n\t\t\t});\n\n\t\t\tsetAttributes(newAttr);\n\t\t},\n\t\tnumOfColumns: 14,\n\t\tshowOffsetAutoToggle: true,\n\t\tnumericValues: true,\n\t\tshowFullWidth: false,\n\t})}\n/>\n"})}),"\n",(0,i.jsx)(n.h4,{id:"visibilitytoggleresponsive",children:(0,i.jsx)(n.code,{children:"VisibilityToggleResponsive"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["replace with ",(0,i.jsx)(n.code,{children:"ResponsiveToggleButton"})," and use the config generator"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Example"})}),"\n",(0,i.jsx)(n.p,{children:"Before"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"<VisibilityToggleResponsive\n\tattributeName='columnHide'\n\tlabel={__('Visibility', 'redesign')}\n\tmanifest={manifest}\n\tattributes={attributes}\n\tsetAttributes={setAttributes}\n/>\n"})}),"\n",(0,i.jsx)(n.p,{children:"After"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"<ResponsiveToggleButton\n\t{...generateResponsiveToggleButtonConfig({\n\t\tattributeName: 'columnHide',\n\t\tmanifest: manifest,\n\t\tattributes: attributes,\n\t\tsetAttributes: setAttributes,\n\t})}\n\n\tlabel={__('Hide', 'domain')}\n\ticon={icons.hide}\n/>\n"})}),"\n",(0,i.jsx)(n.h4,{id:"simplehorizontalsingleselect",children:(0,i.jsx)(n.code,{children:"SimpleHorizontalSingleSelect"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["rename the component and imports to ",(0,i.jsx)(n.code,{children:"OptionSelector"})]}),"\n",(0,i.jsxs)(n.li,{children:["remove ",(0,i.jsx)(n.code,{children:"border='offset'"})," if set, that's now the default"]}),"\n",(0,i.jsxs)(n.li,{children:["replace ",(0,i.jsx)(n.code,{children:"includeWpBottomSpacing={false}"})," with ",(0,i.jsx)(n.code,{children:"noBottomSpacing"})]}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"alignmenttoolbar",children:(0,i.jsx)(n.code,{children:"AlignmentToolbar"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["replace with ",(0,i.jsx)(n.code,{children:"OptionSelector"})]}),"\n",(0,i.jsxs)(n.li,{children:["add ",(0,i.jsx)(n.code,{children:"optionLabels"})," to transform just values into ",(0,i.jsx)(n.code,{children:"{label, value}"})," (or ",(0,i.jsx)(n.code,{children:"{label, value, icon}"}),") entries"]}),"\n",(0,i.jsxs)(n.li,{children:["add ",(0,i.jsx)(n.code,{children:"noBottomSpacing"}),", ",(0,i.jsx)(n.code,{children:"additionalContainerClass='es-p-1.25'"}),", and ",(0,i.jsx)(n.code,{children:"border='none'"})," so it fits the toolbar better"]}),"\n",(0,i.jsxs)(n.li,{children:["remove ",(0,i.jsx)(n.code,{children:"label"})," and ",(0,i.jsx)(n.code,{children:"type"})]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Example"})}),"\n",(0,i.jsx)(n.p,{children:"Before"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"<AlignmentToolbar\n\tvalue={cardAlign}\n\toptions={getOption('cardAlign', attributes, manifest)}\n\tlabel={sprintf(__('%s content align', 'domain'), manifestTitle)}\n\tonChange={(value) => setAttributes({ [getAttrKey('cardAlign', attributes, manifest)]: value })}\n\ttype={AlignmentToolbarType.HORIZONTAL}\n/>\n"})}),"\n",(0,i.jsx)(n.p,{children:"After"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"<OptionSelector\n\tvalue={cardAlign}\n\toptions={getOption('cardAlign', attributes, manifest)}\n\tonChange={(value) => setAttributes({ [getAttrKey('cardAlign', attributes, manifest)]: value })}\n\toptionLabels={getOption('cardAlign', attributes, manifest).map((v) => ({ label: ucfirst(v), icon: icons[`textAlign${ucfirst(v)}`] }))}\n\tadditionalContainerClass='es-p-1.25'\n\tnoBottomSpacing\n\tborder='none'\n\ticonOnly\n/>\n"})}),"\n",(0,i.jsx)(n.h4,{id:"headinglevel",children:(0,i.jsx)(n.code,{children:"HeadingLevel"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["replace with ",(0,i.jsx)(n.code,{children:"OptionSelector"})]}),"\n",(0,i.jsxs)(n.li,{children:["change ",(0,i.jsx)(n.code,{children:"selectedLevel"})," to ",(0,i.jsx)(n.code,{children:"value"})]}),"\n",(0,i.jsxs)(n.li,{children:["add ",(0,i.jsx)(n.code,{children:"noBottomSpacing"}),", ",(0,i.jsx)(n.code,{children:"additionalContainerClass='es-p-1.25'"}),", and ",(0,i.jsx)(n.code,{children:"border='none'"})," so it fits the toolbar better"]}),"\n",(0,i.jsxs)(n.li,{children:["add ",(0,i.jsx)(n.code,{children:"options"})," with all the available heading level options (see ",(0,i.jsx)(n.em,{children:"After"})," in the example below)"]}),"\n",(0,i.jsxs)(n.li,{children:["if you want the options to look a bit better, you can add ",(0,i.jsx)(n.code,{children:"additionalButtonClass"}),", just like in the ",(0,i.jsx)(n.em,{children:"After"})," example below"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Example"})}),"\n",(0,i.jsx)(n.p,{children:"Before"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"<HeadingLevel\n\tselectedLevel={typographyLevel}\n\tonChange={(value) => setAttributes({ [getAttrKey('typographyLevel', attributes, manifest)]: value })}\n/>\n"})}),"\n",(0,i.jsx)(n.p,{children:"After"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"<OptionSelector\n\tvalue={typographyLevel}\n\tonChange={(value) => setAttributes({ [getAttrKey('typographyLevel', attributes, manifest)]: value })}\n\tadditionalContainerClass='es-p-1.25'\n\tnoBottomSpacing\n\tborder='none'\n\toptions={[\n\t\t{ label: 'H1', tooltip: __('Heading 1', 'domain'), value: 1 },\n\t\t{ label: 'H2', tooltip: __('Heading 2', 'domain'), value: 2 },\n\t\t{ label: 'H3', tooltip: __('Heading 3', 'domain'), value: 3 },\n\t\t{ label: 'H4', tooltip: __('Heading 4', 'domain'), value: 4 },\n\t\t{ label: 'H5', tooltip: __('Heading 5', 'domain'), value: 5 },\n\t\t{ label: 'H6', tooltip: __('Heading 6', 'domain'), value: 6 },\n\t]}\n\tadditionalButtonClass='es-button-square-36 es-text-4 es-font-weight-300'\n/>\n"})}),"\n",(0,i.jsx)(n.h4,{id:"customslider",children:(0,i.jsx)(n.code,{children:"CustomSlider"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["rename the component and imports to ",(0,i.jsx)(n.code,{children:"OptionSelector"})]}),"\n",(0,i.jsxs)(n.li,{children:["you might want to remove ",(0,i.jsx)(n.code,{children:"marks"})," if not very specific, as an auto-generator for marks is now included"]}),"\n"]}),"\n",(0,i.jsxs)(n.h4,{id:"simplerepeater--simplerepeateritem",children:[(0,i.jsx)(n.code,{children:"SimpleRepeater"})," / ",(0,i.jsx)(n.code,{children:"SimpleRepeaterItem"})]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["rename the component and imports to ",(0,i.jsx)(n.code,{children:"Repeater"})," / ",(0,i.jsx)(n.code,{children:"RepeaterItem"})]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,o.M)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(a,{...e})}):a(e)}},5120:(e,n,t)=>{t.d(n,{c:()=>i});const i=t.p+"assets/images/component-deprecation-notice-2d5aa7a20bdb52d9769388acb9e5a725.webp"},4552:(e,n,t)=>{t.d(n,{I:()=>r,M:()=>l});var i=t(11504);const o={},s=i.createContext(o);function l(e){const n=i.useContext(s);return i.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(o):e.components||o:l(e.components),i.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/94335e76.74a30512.js b/assets/js/94335e76.74a30512.js deleted file mode 100644 index bb1da475d..000000000 --- a/assets/js/94335e76.74a30512.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[2860],{97670:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>l,default:()=>h,frontMatter:()=>s,metadata:()=>r,toc:()=>d});var i=t(85893),o=t(11151);const s={id:"8-9",title:"Version 8 to 9"},l=void 0,r={id:"migrations/8-9",title:"Version 8 to 9",description:"This migration guide contains migration instructions for:",source:"@site/docs/migrations/8-9.md",sourceDirName:"migrations",slug:"/migrations/8-9",permalink:"/docs/migrations/8-9",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"8-9",title:"Version 8 to 9"},sidebar:"docs",previous:{title:"Version 9 to 10",permalink:"/docs/migrations/9-10"},next:{title:"Version 7 to 8",permalink:"/docs/migrations/7-8"}},c={},d=[{value:"Required changes",id:"required-changes",level:2},{value:"Component updates and replacements",id:"component-updates-and-replacements",level:3},{value:"Common between components",id:"common-between-components",level:3},{value:"<code>CollapsableComponentUseToggle</code>",id:"collapsablecomponentusetoggle",level:4},{value:"<code>ComponentUseToggle</code>",id:"componentusetoggle",level:4},{value:"<code>ColorPaletteCustom</code>",id:"colorpalettecustom",level:4},{value:"<code>ColorPickerComponent</code>",id:"colorpickercomponent",level:4},{value:"<code>Responsive</code>",id:"responsive",level:4},{value:"<code>CompactResponsive</code>",id:"compactresponsive",level:4},{value:"<code>CustomSelect</code>",id:"customselect",level:4},{value:"<code>LinkEditComponent</code>",id:"linkeditcomponent",level:4},{value:"<code>SimpleVerticalSingleSelect</code>",id:"simpleverticalsingleselect",level:4},{value:"<code>OptionPicker</code>",id:"optionpicker",level:4},{value:"<code>LinkToolbarButton</code>",id:"linktoolbarbutton",level:4},{value:"<code>InlineNotification</code>",id:"inlinenotification",level:4},{value:"<code>SpacingSlider</code>",id:"spacingslider",level:4},{value:"<code>WidthOffsetRangeSlider</code>",id:"widthoffsetrangeslider",level:4},{value:"<code>VisibilityToggleResponsive</code>",id:"visibilitytoggleresponsive",level:4},{value:"<code>SimpleHorizontalSingleSelect</code>",id:"simplehorizontalsingleselect",level:4},{value:"<code>AlignmentToolbar</code>",id:"alignmenttoolbar",level:4},{value:"<code>HeadingLevel</code>",id:"headinglevel",level:4},{value:"<code>CustomSlider</code>",id:"customslider",level:4},{value:"<code>SimpleRepeater</code> / <code>SimpleRepeaterItem</code>",id:"simplerepeater--simplerepeateritem",level:4}];function a(e){const n={a:"a",code:"code",em:"em",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,o.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:"This migration guide contains migration instructions for:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"https://github.com/infinum/eightshift-boilerplate/releases/tag/9.0.0",children:"eightshift/boilerplate"})," - ",(0,i.jsx)(n.strong,{children:"8+ --\x3e 9.0.0"})]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/releases/tag/8.0.0",children:"eightshift/frontend-libs"})," - ",(0,i.jsx)(n.strong,{children:"7+ --\x3e 8.0.0"})]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/releases/tag/6.4.0",children:"eightshift/libs"})," - ",(0,i.jsx)(n.strong,{children:"6.4.0"})]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"required-changes",children:"Required changes"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Migration time: ~45min to a couple of hours, depending on project size and components used."})}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:["Update ",(0,i.jsx)(n.code,{children:"composer"})," packages and check if Eightshift Libs are on version 6.4 (or higher)"]}),"\n",(0,i.jsxs)(n.li,{children:["Update ",(0,i.jsx)(n.code,{children:"@eightshift/frontend-libs"})," in your ",(0,i.jsx)(n.code,{children:"package.json"})," file to the latest version:","\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-json",children:'"@eightshift/frontend-libs": "^8.0.0",\n'})}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Important:"})," Delete your lockfile (",(0,i.jsx)(n.code,{children:"package.lock"}),") and your ",(0,i.jsx)(n.code,{children:"node_modules"})," folder, then run ",(0,i.jsx)(n.code,{children:"npm install"})]}),"\n",(0,i.jsx)(n.li,{children:"Rename updated components, update changed properties and replace deprecated components (see chapter below)"}),"\n",(0,i.jsxs)(n.li,{children:["Do a ",(0,i.jsx)(n.code,{children:"npm start"}),", check that you have no build errors visible"]}),"\n",(0,i.jsx)(n.li,{children:"Smoke test your blocks - to verify everything was migrated properly, go through all the blocks and check if everything looks good visually and that everything is functional"}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"component-updates-and-replacements",children:"Component updates and replacements"}),"\n",(0,i.jsx)(n.p,{children:"Below you will find some of the more common components that will need to be modified, and also some possible caveats."}),"\n",(0,i.jsx)(n.p,{children:"Your code editor should mark the components that need replacement with a strikethrough over the component name:"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Component deprecation notice in Visual Studio Code",src:t(46645).Z+"",width:"556",height:"226"})}),"\n",(0,i.jsx)(n.h3,{id:"common-between-components",children:"Common between components"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["if you have a label with an ",(0,i.jsx)(n.code,{children:"IconLabel"})," inside, you can migrate it to separate ",(0,i.jsx)(n.code,{children:"icon"})," and ",(0,i.jsx)(n.code,{children:"label"})," props:","\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"label={<IconLabel icon={icons.color} label={__('Background', 'domain')} />}\n"})}),"\n","becomes","\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"icon={icons.color}\nlabel={__('Background', 'domain')}\n"})}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["if the component is the last in the list of options, you can add ",(0,i.jsx)(n.code,{children:"noBottomSpacing"})," to make everything look a bit nicer"]}),"\n",(0,i.jsxs)(n.li,{children:["if you want to visually group two similar components, e.g. toggles, you can bring them vertically closer together with ",(0,i.jsx)(n.code,{children:"reducedBottomSpacing"})]}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"collapsablecomponentusetoggle",children:(0,i.jsx)(n.code,{children:"CollapsableComponentUseToggle"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["rename the component and imports to ",(0,i.jsx)(n.code,{children:"UseToggle"})]}),"\n",(0,i.jsxs)(n.li,{children:["change ",(0,i.jsx)(n.code,{children:"showUseToggle"})," to ",(0,i.jsx)(n.code,{children:"noUseToggle"})," and flip its logic"]}),"\n",(0,i.jsxs)(n.li,{children:["change ",(0,i.jsx)(n.code,{children:"showLabel"})," to ",(0,i.jsx)(n.code,{children:"noLabel"})," and flip its logic"]}),"\n",(0,i.jsxs)(n.li,{children:["change ",(0,i.jsx)(n.code,{children:"showExpanderButton"})," to ",(0,i.jsx)(n.code,{children:"noExpandButton"})," and flip its logic"]}),"\n",(0,i.jsxs)(n.li,{children:["consider adding ",(0,i.jsx)(n.code,{children:"noExpandButton"})," to your attributes and add it to all your blocks, so the options render nicely"]}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"componentusetoggle",children:(0,i.jsx)(n.code,{children:"ComponentUseToggle"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["replace the component with ",(0,i.jsx)(n.code,{children:"UseToggle"})]}),"\n",(0,i.jsx)(n.li,{children:"move all of the options inside the useToggle"}),"\n",(0,i.jsxs)(n.li,{children:["change ",(0,i.jsx)(n.code,{children:"showUseToggle"})," to ",(0,i.jsx)(n.code,{children:"noUseToggle"})," and flip its logic"]}),"\n",(0,i.jsxs)(n.li,{children:["change ",(0,i.jsx)(n.code,{children:"showLabel"})," to ",(0,i.jsx)(n.code,{children:"noLabel"})," and flip its logic"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Example"})}),"\n",(0,i.jsx)(n.p,{children:"Before"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"<ComponentUseToggle\n\tlabel={label}\n\tchecked={accordionUse}\n\tonChange={(value) => setAttributes({ [getAttrKey('accordionUse', attributes, manifest)]: value })}\n\tshowUseToggle={showAccordionUse}\n\tshowLabel={showLabel}\n/>\n\n{accordionUse &&\n\t// Other options.\n}\n"})}),"\n",(0,i.jsx)(n.p,{children:"After:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"<UseToggle\n\tlabel={label}\n\tchecked={accordionUse}\n\tonChange={(value) => setAttributes({ [getAttrKey('accordionUse', attributes, manifest)]: value })}\n\tnoUseToggle={!showAccordionUse} // Inverted logic!\n\tnoLabel={!showLabel} // Inverted logic!\n\tnoBottomSpacing // If the component is the only one in the options panel\n>\n\t// Other options.\n</UseToggle>\n"})}),"\n",(0,i.jsx)(n.h4,{id:"colorpalettecustom",children:(0,i.jsx)(n.code,{children:"ColorPaletteCustom"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["rename the component and imports to ",(0,i.jsx)(n.code,{children:"ColorPalette"})]}),"\n",(0,i.jsxs)(n.li,{children:["remove the ",(0,i.jsx)(n.code,{children:"inline"})," prop if you have it added"]}),"\n",(0,i.jsxs)(n.li,{children:["change the ",(0,i.jsx)(n.code,{children:"layout"})," prop to a string instead of a ",(0,i.jsx)(n.code,{children:"ColorPaletteCustomLayout"})," object (hint: use autocomplete to see all the possible values)"]}),"\n",(0,i.jsxs)(n.li,{children:["if you have it set, change ",(0,i.jsx)(n.code,{children:"groupShades={false}"})," to ",(0,i.jsx)(n.code,{children:"noShadeGrouping"})]}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"colorpickercomponent",children:(0,i.jsx)(n.code,{children:"ColorPickerComponent"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["rename the component and imports to ",(0,i.jsx)(n.code,{children:"ColorPicker"})]}),"\n",(0,i.jsxs)(n.li,{children:["change the ",(0,i.jsx)(n.code,{children:"type"})," prop to a string instead of a ",(0,i.jsx)(n.code,{children:"ColorPickerType"})," object (hint: use autocomplete to see all the possible values)"]}),"\n",(0,i.jsxs)(n.li,{children:["if you have it set, change ",(0,i.jsx)(n.code,{children:"groupShades={false}"})," to ",(0,i.jsx)(n.code,{children:"noShadeGrouping"})]}),"\n",(0,i.jsxs)(n.li,{children:["if you have it set, replace ",(0,i.jsx)(n.code,{children:"includeWpBottomSpacing={false}"})," with ",(0,i.jsx)(n.code,{children:"noBottomSpacing"})]}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"responsive",children:(0,i.jsx)(n.code,{children:"Responsive"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"check and remove all breakpoint labels you had set manually, they're now automatically rendered by the component"}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"compactresponsive",children:(0,i.jsx)(n.code,{children:"CompactResponsive"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["rename the component and imports to ",(0,i.jsx)(n.code,{children:"Responsive"})]}),"\n",(0,i.jsx)(n.li,{children:"check and remove all breakpoint labels you had set manually, they're now automatically rendered by the component"}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"customselect",children:(0,i.jsx)(n.code,{children:"CustomSelect"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["this component has been split up into 4 more specific components","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["if you had a CustomSelect ",(0,i.jsx)(n.strong,{children:"without"})," ",(0,i.jsx)(n.code,{children:"multiple"})," and with ",(0,i.jsx)(n.code,{children:"options"}),", replace it with ",(0,i.jsx)(n.code,{children:"Select"})]}),"\n",(0,i.jsxs)(n.li,{children:["if you had a CustomSelect ",(0,i.jsx)(n.strong,{children:"without"})," ",(0,i.jsx)(n.code,{children:"multiple"})," and with ",(0,i.jsx)(n.code,{children:"loadOptions"}),", replace it with ",(0,i.jsx)(n.code,{children:"MultiSelect"})]}),"\n",(0,i.jsxs)(n.li,{children:["if you had a CustomSelect with ",(0,i.jsx)(n.code,{children:"multiple"})," and with ",(0,i.jsx)(n.code,{children:"options"}),", replace it with ",(0,i.jsx)(n.code,{children:"MultiSelect"})]}),"\n",(0,i.jsxs)(n.li,{children:["if you had a CustomSelect with ",(0,i.jsx)(n.code,{children:"multiple"})," and with ",(0,i.jsx)(n.code,{children:"loadOptions"}),", replace it with ",(0,i.jsx)(n.code,{children:"AsyncMultiSelect"})]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["replace ",(0,i.jsx)(n.code,{children:"isClearable"})," with ",(0,i.jsx)(n.code,{children:"clearable"})," if you had it set to ",(0,i.jsx)(n.code,{children:"true"})]}),"\n",(0,i.jsxs)(n.li,{children:["replace ",(0,i.jsx)(n.code,{children:"isSearchable"})," with ",(0,i.jsx)(n.code,{children:"noSearch"})," if you had it set to ",(0,i.jsx)(n.code,{children:"false"}),", otherwise remove it"]}),"\n",(0,i.jsxs)(n.li,{children:["remove ",(0,i.jsx)(n.code,{children:"reFetchOnSearch"}),", as it was removed"]}),"\n",(0,i.jsxs)(n.li,{children:["remove ",(0,i.jsx)(n.code,{children:"multiple"})," (make sure you add the proper kind of Select!)"]}),"\n",(0,i.jsxs)(n.li,{children:["if you had an async select (with ",(0,i.jsx)(n.code,{children:"loadOptions"}),"), and had ",(0,i.jsx)(n.code,{children:"simpleValue"})," set, you will need to find a slightly different solution, as this is not supported anymore"]}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"linkeditcomponent",children:(0,i.jsx)(n.code,{children:"LinkEditComponent"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.strong,{children:"\u26a0\ufe0f props have changed here, it'll leave URL pickers broken if you forget to change them!"})}),"\n",(0,i.jsxs)(n.li,{children:["replace ",(0,i.jsx)(n.code,{children:"setAttributes"}),", ",(0,i.jsx)(n.code,{children:"urlAttrName"}),", ",(0,i.jsx)(n.code,{children:"isNewTabAttrName"})," (if set) with an ",(0,i.jsx)(n.code,{children:"onChange"})," callback (see example below)"]}),"\n",(0,i.jsxs)(n.li,{children:["remove ",(0,i.jsx)(n.code,{children:"title"})," with ",(0,i.jsx)(n.code,{children:"label"})," if you want to keep it customized (you can also just remove it)"]}),"\n",(0,i.jsxs)(n.li,{children:["replace ",(0,i.jsx)(n.code,{children:"showNewTabOption"})," with ",(0,i.jsx)(n.code,{children:"hideOpensInNewTab"})," and invert its logic"]}),"\n",(0,i.jsxs)(n.li,{children:["you can now hide the anchor notice with ",(0,i.jsx)(n.code,{children:"hideAnchorNotice"})]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Example"})}),"\n",(0,i.jsx)(n.p,{children:"Before"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"url={buttonUrl}\n<LinkEditComponent\n\turl={buttonUrl}\n\topensInNewTab={buttonIsNewTab}\n\tsetAttributes={setAttributes}\n\ttitle={variableLabel}\n\turlAttrName={getAttrKey('buttonUrl', attributes, manifest)}\n\tisNewTabAttrName={getAttrKey('buttonIsNewTab', attributes, manifest)}\n\tshowNewTabOption={showButtonIsNewTab}\n/>\n"})}),"\n",(0,i.jsx)(n.p,{children:"After"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"<LinkEditComponent\n\turl={buttonUrl}\n\topensInNewTab={buttonIsNewTab}\n\thideOpensInNewTab={!showButtonIsNewTab} // Inverted logic!\n\tonChange={({ url, newTab, isAnchor }) => setAttributes({\n\t\t[getAttrKey('buttonUrl', attributes, manifest)]: url,\n\t\t[getAttrKey('buttonIsNewTab', attributes, manifest)]: newTab,\n\t\t[getAttrKey('buttonIsAnchor', attributes, manifest)]: isAnchor ?? false, // Optional, can replace a manual toggle (detects setting anchor links automatically).\n\t})}\n/>\n"})}),"\n",(0,i.jsx)(n.h4,{id:"simpleverticalsingleselect",children:(0,i.jsx)(n.code,{children:"SimpleVerticalSingleSelect"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["replace the component with ",(0,i.jsx)(n.code,{children:"OptionSelector"})]}),"\n",(0,i.jsxs)(n.li,{children:["replace the ",(0,i.jsx)(n.code,{children:"options"})," prop (one that returns an object) with ",(0,i.jsx)(n.code,{children:"value"}),", ",(0,i.jsx)(n.code,{children:"onChange"})," callback and available ",(0,i.jsx)(n.code,{children:"options"})," (array)"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Example"})}),"\n",(0,i.jsxs)(n.p,{children:["Make sure your options have at least a ",(0,i.jsx)(n.code,{children:"label"})," and a ",(0,i.jsx)(n.code,{children:"value"}),"!"]}),"\n",(0,i.jsx)(n.p,{children:"Before"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"const sizeOptions = getOption('buttonSize', attributes, manifest).map(({ label, value, icon: iconName }) => {\n\t\treturn {\n\t\t\tonClick: () => setAttributes({\n\t\t\t\t[getAttrKey('buttonSize', attributes, manifest)]: value,\n\t\t\t\t[getAttrKey('buttonIsLink', attributes, manifest)]: false\n\t\t\t}),\n\t\t\tlabel: label,\n\t\t\tisActive: buttonSize === value,\n\t\t\ticon: icons[iconName],\n\t\t};\n\t});\n\n// ...\n\n<SimpleVerticalSingleSelect\n\tlabel={<IconLabel icon={icons.size} label={__('Size', 'domain')} />}\n\toptions={sizeOptions}\n/>\n"})}),"\n",(0,i.jsx)(n.p,{children:"After"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"<OptionSelector\n\ticon={icons.size}\n\tlabel={__('Size', 'domain')}\n\toptions={getOption('buttonSize', attributes, manifest)}\n\tvalue={buttonSize}\n\tonChange={(value) => setAttributes({\n\t\t[getAttrKey('buttonSize', attributes, manifest)]: value,\n\t\t[getAttrKey('buttonIsLink', attributes, manifest)]: false\n\t})}\n/>\n"})}),"\n",(0,i.jsx)(n.h4,{id:"optionpicker",children:(0,i.jsx)(n.code,{children:"OptionPicker"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["replace with ",(0,i.jsx)(n.code,{children:"OptionSelector"})]}),"\n",(0,i.jsxs)(n.li,{children:["add ",(0,i.jsx)(n.code,{children:"noBottomSpacing"})," and ",(0,i.jsx)(n.code,{children:"border='none'"})]}),"\n",(0,i.jsxs)(n.li,{children:["add ",(0,i.jsx)(n.code,{children:"additionalContainerClass='es-p-1.25'"})," to align it properly with other controls"]}),"\n",(0,i.jsxs)(n.li,{children:["remove the ",(0,i.jsx)(n.code,{children:"label"})]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"Consider relocating your toolbar option to the options sidebar."}),"\n",(0,i.jsx)(n.h4,{id:"linktoolbarbutton",children:(0,i.jsx)(n.code,{children:"LinkToolbarButton"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["replace with ",(0,i.jsx)(n.code,{children:"LinkEditComponent"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"follow the guide for that component for other prop replacements"}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.li,{children:"you might need to place it in a"}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Example"})}),"\n",(0,i.jsx)(n.p,{children:"Before"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"<LinkToolbarButton\n\turlAttrName={getAttrKey('chevronUrl', attributes, manifest)}\n\tisNewTabAttrName={getAttrKey('chevronIsNewTab', attributes, manifest)}\n\turl={chevronUrl}\n\topensInNewTab={chevronIsNewTab}\n\tsetAttributes={setAttributes}\n\ttitle={__(ucfirst(componentName), 'domain')}\n/>\n"})}),"\n",(0,i.jsx)(n.p,{children:"After"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"import { ToolbarButton, ToolbarItem, } from '@wordpress/components';\nimport { PopoverWithTrigger } from '@eightshift/frontend-libs/scripts';\n\n// ...\n\n<ToolbarItem as='div'>\n\t<PopoverWithTrigger\n\t\tposition='top right'\n\t\tcontentClass='es-w-80 es-p-4'\n\t\ttrigger={\n\t\t\t({ ref, setIsOpen, isOpen }) => (\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tref={ref}\n\t\t\t\t\tonClick={() => setIsOpen(!isOpen)}\n\t\t\t\t\tisPressed={chevronUrl?.length > 0}\n\t\t\t\t\ticon={icons.link}\n\t\t\t\t/>\n\t\t\t)\n\t\t}\n\t>\n\t\t<LinkEditComponent\n\t\t\turl={chevronUrl}\n\t\t\topensInNewTab={chevronIsNewTab}\n\t\t\tonChange={({ url, newTab }) => setAttributes({\n\t\t\t\t[getAttrKey('chevronUrl', attributes, manifest)]: url,\n\t\t\t\t[getAttrKey('chevronIsNewTab', attributes, manifest)]: newTab,\n\t\t\t})}\n\t\t\thideOpensInNewTab\n\t\t\tnoBottomSpacing\n\t\t/>\n\t</PopoverWithTrigger>\n</ToolbarItem>\n"})}),"\n",(0,i.jsx)(n.h4,{id:"inlinenotification",children:(0,i.jsx)(n.code,{children:"InlineNotification"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["rename the component and imports to ",(0,i.jsx)(n.code,{children:"Notification"})]}),"\n",(0,i.jsxs)(n.li,{children:["change the ",(0,i.jsx)(n.code,{children:"type"})," prop to a string instead of a ",(0,i.jsx)(n.code,{children:"InlineNotificationType"})," object (hint: use autocomplete to see all the possible values)"]}),"\n",(0,i.jsxs)(n.li,{children:["replace ",(0,i.jsx)(n.code,{children:"removeBottomFieldSpacing"})," with ",(0,i.jsx)(n.code,{children:"noBottomSpacing"}),", if set"]}),"\n",(0,i.jsxs)(n.li,{children:["remove ",(0,i.jsx)(n.code,{children:"showContrastOutline"})," as it's not supported anymore"]}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"spacingslider",children:(0,i.jsx)(n.code,{children:"SpacingSlider"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["replace with ",(0,i.jsx)(n.code,{children:"ResponsiveSlider"})," with the config generator"]}),"\n",(0,i.jsx)(n.li,{children:"remove deprecated props"}),"\n",(0,i.jsxs)(n.li,{children:["if you had ",(0,i.jsx)(n.code,{children:"compensateForRemBase10"}),", add","\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"\tmodifyInput={(v) => v * 10}\n\tmodifyOutput={(v) => v / 10}\n"})}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Example"})}),"\n",(0,i.jsx)(n.p,{children:"Before"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"<SpacingSlider\n\ticon={icons.order}\n\tlabel={__('Order', 'domain')}\n\tattributeName='columnOrder'\n\tattributes={attributes}\n\tsetAttributes={setAttributes}\n\tmanifest={manifest}\n\tmarkSteps={2}\n\thasInputField={false}\n\thasValueDisplay\n\tvalueDisplayFormat={(v) => !isNaN(v) && v > 0 ? v : '-'}\n\tshowDisableButton\n\tdisableWithUndefined\n\tisNumeric\n/>\n"})}),"\n",(0,i.jsx)(n.p,{children:"After"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"<ResponsiveSlider\n\t{...generateResponsiveSliderConfig({\n\t\tattributeName: 'columnOrder',\n\t\tattributes: attributes,\n\t\tmanifest: manifest,\n\t\tsetAttributes: setAttributes,\n\t})}\n\ticon={icons.order}\n\tlabel={__('Order', 'domain')}\n/>\n"})}),"\n",(0,i.jsx)(n.h4,{id:"widthoffsetrangeslider",children:(0,i.jsx)(n.code,{children:"WidthOffsetRangeSlider"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"wrap some of the deprecated options with a config generator"}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Example"})}),"\n",(0,i.jsx)(n.p,{children:"Before"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"<WidthOffsetRangeSlider\n\toffsetAttributeName='columnOffset'\n\twidthAttributeName='columnWidth'\n\tmanifest={manifest}\n\tattributes={attributes}\n\tsetAttributes={setAttributes}\n\tshowFullWidthToggle={false}\n\tincludeGutters\n\tshowOffsetAutoToggle\n/>\n"})}),"\n",(0,i.jsx)(n.p,{children:"After"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"<WidthOffsetRangeSlider\n\t{...generateWidthOffsetRangeSliderConfig({\n\t\toffsetAttributeName: 'columnOffset',\n\t\twidthAttributeName: 'columnWidth',\n\t\tattributes: attributes,\n\t\tmanifest: manifest,\n\t\tsetAttributes: (attr) => {\n\t\t\t// This is only required if you have \"Auto\" offset as an option, and the attributes are numeric, otherwise just pass setAttributes as-is.\n\t\t\tconst newAttr = {};\n\n\t\t\tObject.entries(attr).forEach(([key, value]) => {\n\t\t\t\tif (value !== 'auto' && typeof value !== 'undefined') {\n\t\t\t\t\tnewAttr[key] = parseInt(value);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tnewAttr[key] = value;\n\t\t\t});\n\n\t\t\tsetAttributes(newAttr);\n\t\t},\n\t\tnumOfColumns: 14,\n\t\tshowOffsetAutoToggle: true,\n\t\tnumericValues: true,\n\t\tshowFullWidth: false,\n\t})}\n/>\n"})}),"\n",(0,i.jsx)(n.h4,{id:"visibilitytoggleresponsive",children:(0,i.jsx)(n.code,{children:"VisibilityToggleResponsive"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["replace with ",(0,i.jsx)(n.code,{children:"ResponsiveToggleButton"})," and use the config generator"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Example"})}),"\n",(0,i.jsx)(n.p,{children:"Before"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"<VisibilityToggleResponsive\n\tattributeName='columnHide'\n\tlabel={__('Visibility', 'redesign')}\n\tmanifest={manifest}\n\tattributes={attributes}\n\tsetAttributes={setAttributes}\n/>\n"})}),"\n",(0,i.jsx)(n.p,{children:"After"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"<ResponsiveToggleButton\n\t{...generateResponsiveToggleButtonConfig({\n\t\tattributeName: 'columnHide',\n\t\tmanifest: manifest,\n\t\tattributes: attributes,\n\t\tsetAttributes: setAttributes,\n\t})}\n\n\tlabel={__('Hide', 'domain')}\n\ticon={icons.hide}\n/>\n"})}),"\n",(0,i.jsx)(n.h4,{id:"simplehorizontalsingleselect",children:(0,i.jsx)(n.code,{children:"SimpleHorizontalSingleSelect"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["rename the component and imports to ",(0,i.jsx)(n.code,{children:"OptionSelector"})]}),"\n",(0,i.jsxs)(n.li,{children:["remove ",(0,i.jsx)(n.code,{children:"border='offset'"})," if set, that's now the default"]}),"\n",(0,i.jsxs)(n.li,{children:["replace ",(0,i.jsx)(n.code,{children:"includeWpBottomSpacing={false}"})," with ",(0,i.jsx)(n.code,{children:"noBottomSpacing"})]}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"alignmenttoolbar",children:(0,i.jsx)(n.code,{children:"AlignmentToolbar"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["replace with ",(0,i.jsx)(n.code,{children:"OptionSelector"})]}),"\n",(0,i.jsxs)(n.li,{children:["add ",(0,i.jsx)(n.code,{children:"optionLabels"})," to transform just values into ",(0,i.jsx)(n.code,{children:"{label, value}"})," (or ",(0,i.jsx)(n.code,{children:"{label, value, icon}"}),") entries"]}),"\n",(0,i.jsxs)(n.li,{children:["add ",(0,i.jsx)(n.code,{children:"noBottomSpacing"}),", ",(0,i.jsx)(n.code,{children:"additionalContainerClass='es-p-1.25'"}),", and ",(0,i.jsx)(n.code,{children:"border='none'"})," so it fits the toolbar better"]}),"\n",(0,i.jsxs)(n.li,{children:["remove ",(0,i.jsx)(n.code,{children:"label"})," and ",(0,i.jsx)(n.code,{children:"type"})]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Example"})}),"\n",(0,i.jsx)(n.p,{children:"Before"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"<AlignmentToolbar\n\tvalue={cardAlign}\n\toptions={getOption('cardAlign', attributes, manifest)}\n\tlabel={sprintf(__('%s content align', 'domain'), manifestTitle)}\n\tonChange={(value) => setAttributes({ [getAttrKey('cardAlign', attributes, manifest)]: value })}\n\ttype={AlignmentToolbarType.HORIZONTAL}\n/>\n"})}),"\n",(0,i.jsx)(n.p,{children:"After"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"<OptionSelector\n\tvalue={cardAlign}\n\toptions={getOption('cardAlign', attributes, manifest)}\n\tonChange={(value) => setAttributes({ [getAttrKey('cardAlign', attributes, manifest)]: value })}\n\toptionLabels={getOption('cardAlign', attributes, manifest).map((v) => ({ label: ucfirst(v), icon: icons[`textAlign${ucfirst(v)}`] }))}\n\tadditionalContainerClass='es-p-1.25'\n\tnoBottomSpacing\n\tborder='none'\n\ticonOnly\n/>\n"})}),"\n",(0,i.jsx)(n.h4,{id:"headinglevel",children:(0,i.jsx)(n.code,{children:"HeadingLevel"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["replace with ",(0,i.jsx)(n.code,{children:"OptionSelector"})]}),"\n",(0,i.jsxs)(n.li,{children:["change ",(0,i.jsx)(n.code,{children:"selectedLevel"})," to ",(0,i.jsx)(n.code,{children:"value"})]}),"\n",(0,i.jsxs)(n.li,{children:["add ",(0,i.jsx)(n.code,{children:"noBottomSpacing"}),", ",(0,i.jsx)(n.code,{children:"additionalContainerClass='es-p-1.25'"}),", and ",(0,i.jsx)(n.code,{children:"border='none'"})," so it fits the toolbar better"]}),"\n",(0,i.jsxs)(n.li,{children:["add ",(0,i.jsx)(n.code,{children:"options"})," with all the available heading level options (see ",(0,i.jsx)(n.em,{children:"After"})," in the example below)"]}),"\n",(0,i.jsxs)(n.li,{children:["if you want the options to look a bit better, you can add ",(0,i.jsx)(n.code,{children:"additionalButtonClass"}),", just like in the ",(0,i.jsx)(n.em,{children:"After"})," example below"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Example"})}),"\n",(0,i.jsx)(n.p,{children:"Before"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"<HeadingLevel\n\tselectedLevel={typographyLevel}\n\tonChange={(value) => setAttributes({ [getAttrKey('typographyLevel', attributes, manifest)]: value })}\n/>\n"})}),"\n",(0,i.jsx)(n.p,{children:"After"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"<OptionSelector\n\tvalue={typographyLevel}\n\tonChange={(value) => setAttributes({ [getAttrKey('typographyLevel', attributes, manifest)]: value })}\n\tadditionalContainerClass='es-p-1.25'\n\tnoBottomSpacing\n\tborder='none'\n\toptions={[\n\t\t{ label: 'H1', tooltip: __('Heading 1', 'domain'), value: 1 },\n\t\t{ label: 'H2', tooltip: __('Heading 2', 'domain'), value: 2 },\n\t\t{ label: 'H3', tooltip: __('Heading 3', 'domain'), value: 3 },\n\t\t{ label: 'H4', tooltip: __('Heading 4', 'domain'), value: 4 },\n\t\t{ label: 'H5', tooltip: __('Heading 5', 'domain'), value: 5 },\n\t\t{ label: 'H6', tooltip: __('Heading 6', 'domain'), value: 6 },\n\t]}\n\tadditionalButtonClass='es-button-square-36 es-text-4 es-font-weight-300'\n/>\n"})}),"\n",(0,i.jsx)(n.h4,{id:"customslider",children:(0,i.jsx)(n.code,{children:"CustomSlider"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["rename the component and imports to ",(0,i.jsx)(n.code,{children:"OptionSelector"})]}),"\n",(0,i.jsxs)(n.li,{children:["you might want to remove ",(0,i.jsx)(n.code,{children:"marks"})," if not very specific, as an auto-generator for marks is now included"]}),"\n"]}),"\n",(0,i.jsxs)(n.h4,{id:"simplerepeater--simplerepeateritem",children:[(0,i.jsx)(n.code,{children:"SimpleRepeater"})," / ",(0,i.jsx)(n.code,{children:"SimpleRepeaterItem"})]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["rename the component and imports to ",(0,i.jsx)(n.code,{children:"Repeater"})," / ",(0,i.jsx)(n.code,{children:"RepeaterItem"})]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(a,{...e})}):a(e)}},46645:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/component-deprecation-notice-2d5aa7a20bdb52d9769388acb9e5a725.webp"},11151:(e,n,t)=>{t.d(n,{Z:()=>r,a:()=>l});var i=t(67294);const o={},s=i.createContext(o);function l(e){const n=i.useContext(s);return i.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(o):e.components||o:l(e.components),i.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/952356a8.3aff99d8.js b/assets/js/952356a8.3aff99d8.js deleted file mode 100644 index ee150c786..000000000 --- a/assets/js/952356a8.3aff99d8.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[29711],{17750:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>p,frontMatter:()=>i,metadata:()=>l,toc:()=>r});var o=t(85893),s=t(11151);const i={id:"blocks-component-manifest",title:"Component Manifest"},a=void 0,l={id:"legacy/v8/basics/blocks-component-manifest",title:"Component Manifest",description:"docs-source",source:"@site/docs/legacy/v8/basics/blocks-component-manifest.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/blocks-component-manifest",permalink:"/docs/legacy/v8/basics/blocks-component-manifest",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-component-manifest",title:"Component Manifest"},sidebar:"docs",previous:{title:"Block Manifest",permalink:"/docs/legacy/v8/basics/block-manifest"},next:{title:"Attributes",permalink:"/docs/legacy/v8/basics/blocks-attributes"}},c={},r=[{value:"Example",id:"example",level:3},{value:"componentName",id:"componentname",level:3},{value:"title",id:"title",level:3},{value:"componentClass",id:"componentclass",level:3},{value:"example",id:"example-1",level:3},{value:"attributes",id:"attributes",level:3},{value:"options",id:"options",level:3},{value:"components",id:"components",level:3}];function d(e){const n={a:"a",code:"code",h3:"h3",img:"img",p:"p",pre:"pre",...(0,s.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,o.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(n.p,{children:"A component manifest is a bit different from the block manifest. The main difference is that the component manifest is a fully custom feature, and it is only here to provide a way to store configuration data and share it with multiple files in your project."}),"\n",(0,o.jsx)(n.h3,{id:"example",children:"Example"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n "componentName": "heading",\n "title": "Heading",\n "componentClass": "heading",\n "example": {\n "attributes": {\n "headingContent": "This is heading",\n "headingLevel": 2,\n "headingSize": "default",\n "headingUse": true\n }\n },\n "attributes": {\n "headingContent": {\n "type": "string"\n },\n "headingLevel": {\n "type": "integer",\n "default": 2\n },\n "headingSize": {\n "type": "string",\n "default": "default"\n },\n "headingUse": {\n "type": "boolean",\n "default": true\n }\n },\n "options": {\n "sizes": [\n {\n "label": "Default (30px)",\n "value": "default"\n },\n {\n "label": "Big (50px)",\n "value": "big"\n }\n ],\n "aligns": [\n "left",\n "center",\n "right"\n ],\n "colors": [\n "primary",\n "black"\n ]\n },\n "components": {}\n}\n'})}),"\n",(0,o.jsx)(n.h3,{id:"componentname",children:"componentName"}),"\n",(0,o.jsx)(n.p,{children:"This key is the most important one. We use this key to specify the component attributes prefix. When it's used correctly, we are able to change the attributes prefix depending on the component name passed from the parent component or block."}),"\n",(0,o.jsx)(n.h3,{id:"title",children:"title"}),"\n",(0,o.jsx)(n.p,{children:"This key is used to provide the label for all your component options and provide the storybook's automatic story title."}),"\n",(0,o.jsx)(n.h3,{id:"componentclass",children:"componentClass"}),"\n",(0,o.jsx)(n.p,{children:"These keys are used to provide a single point of reference for a component name. You'll use this key to provide a prefix for all the CSS selectors in your component."}),"\n",(0,o.jsx)(n.h3,{id:"example-1",children:"example"}),"\n",(0,o.jsxs)(n.p,{children:["The same as in the blocks manifest. Please check ",(0,o.jsx)(n.a,{href:"block-manifest",children:"this chapter"})," for more details."]}),"\n",(0,o.jsx)(n.h3,{id:"attributes",children:"attributes"}),"\n",(0,o.jsxs)(n.p,{children:["For more details please check ",(0,o.jsx)(n.a,{href:"blocks-attributes",children:"this chapter"}),"."]}),"\n",(0,o.jsx)(n.h3,{id:"options",children:"options"}),"\n",(0,o.jsxs)(n.p,{children:["These keys are used to provide a single point of reference for component options used in the options part. If you have a ",(0,o.jsx)(n.code,{children:"SelectControl"})," or a ",(0,o.jsx)(n.code,{children:"ColorSelector"})," component, you can set all your options here and use those options in the options section and story for mocking components. Please check ",(0,o.jsx)(n.a,{href:"blocks-component-in-block",children:"this chapter"})," for more details."]}),"\n",(0,o.jsx)(n.h3,{id:"components",children:"components"}),"\n",(0,o.jsxs)(n.p,{children:["The same as in the blocks manifest. Please check ",(0,o.jsx)(n.a,{href:"block-manifest",children:"this chapter"})," for more details."]})]})}function p(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},11151:(e,n,t)=>{t.d(n,{Z:()=>l,a:()=>a});var o=t(67294);const s={},i=o.createContext(s);function a(e){const n=o.useContext(i);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:a(e.components),o.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/952356a8.91884769.js b/assets/js/952356a8.91884769.js new file mode 100644 index 000000000..b7fa1a6c3 --- /dev/null +++ b/assets/js/952356a8.91884769.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[97800],{14472:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>p,frontMatter:()=>i,metadata:()=>l,toc:()=>r});var o=t(17624),s=t(4552);const i={id:"blocks-component-manifest",title:"Component Manifest"},a=void 0,l={id:"legacy/v8/basics/blocks-component-manifest",title:"Component Manifest",description:"docs-source",source:"@site/docs/legacy/v8/basics/blocks-component-manifest.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/blocks-component-manifest",permalink:"/docs/legacy/v8/basics/blocks-component-manifest",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-component-manifest",title:"Component Manifest"},sidebar:"docs",previous:{title:"Block Manifest",permalink:"/docs/legacy/v8/basics/block-manifest"},next:{title:"Attributes",permalink:"/docs/legacy/v8/basics/blocks-attributes"}},c={},r=[{value:"Example",id:"example",level:3},{value:"componentName",id:"componentname",level:3},{value:"title",id:"title",level:3},{value:"componentClass",id:"componentclass",level:3},{value:"example",id:"example-1",level:3},{value:"attributes",id:"attributes",level:3},{value:"options",id:"options",level:3},{value:"components",id:"components",level:3}];function d(e){const n={a:"a",code:"code",h3:"h3",img:"img",p:"p",pre:"pre",...(0,s.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,o.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(n.p,{children:"A component manifest is a bit different from the block manifest. The main difference is that the component manifest is a fully custom feature, and it is only here to provide a way to store configuration data and share it with multiple files in your project."}),"\n",(0,o.jsx)(n.h3,{id:"example",children:"Example"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n "componentName": "heading",\n "title": "Heading",\n "componentClass": "heading",\n "example": {\n "attributes": {\n "headingContent": "This is heading",\n "headingLevel": 2,\n "headingSize": "default",\n "headingUse": true\n }\n },\n "attributes": {\n "headingContent": {\n "type": "string"\n },\n "headingLevel": {\n "type": "integer",\n "default": 2\n },\n "headingSize": {\n "type": "string",\n "default": "default"\n },\n "headingUse": {\n "type": "boolean",\n "default": true\n }\n },\n "options": {\n "sizes": [\n {\n "label": "Default (30px)",\n "value": "default"\n },\n {\n "label": "Big (50px)",\n "value": "big"\n }\n ],\n "aligns": [\n "left",\n "center",\n "right"\n ],\n "colors": [\n "primary",\n "black"\n ]\n },\n "components": {}\n}\n'})}),"\n",(0,o.jsx)(n.h3,{id:"componentname",children:"componentName"}),"\n",(0,o.jsx)(n.p,{children:"This key is the most important one. We use this key to specify the component attributes prefix. When it's used correctly, we are able to change the attributes prefix depending on the component name passed from the parent component or block."}),"\n",(0,o.jsx)(n.h3,{id:"title",children:"title"}),"\n",(0,o.jsx)(n.p,{children:"This key is used to provide the label for all your component options and provide the storybook's automatic story title."}),"\n",(0,o.jsx)(n.h3,{id:"componentclass",children:"componentClass"}),"\n",(0,o.jsx)(n.p,{children:"These keys are used to provide a single point of reference for a component name. You'll use this key to provide a prefix for all the CSS selectors in your component."}),"\n",(0,o.jsx)(n.h3,{id:"example-1",children:"example"}),"\n",(0,o.jsxs)(n.p,{children:["The same as in the blocks manifest. Please check ",(0,o.jsx)(n.a,{href:"block-manifest",children:"this chapter"})," for more details."]}),"\n",(0,o.jsx)(n.h3,{id:"attributes",children:"attributes"}),"\n",(0,o.jsxs)(n.p,{children:["For more details please check ",(0,o.jsx)(n.a,{href:"blocks-attributes",children:"this chapter"}),"."]}),"\n",(0,o.jsx)(n.h3,{id:"options",children:"options"}),"\n",(0,o.jsxs)(n.p,{children:["These keys are used to provide a single point of reference for component options used in the options part. If you have a ",(0,o.jsx)(n.code,{children:"SelectControl"})," or a ",(0,o.jsx)(n.code,{children:"ColorSelector"})," component, you can set all your options here and use those options in the options section and story for mocking components. Please check ",(0,o.jsx)(n.a,{href:"blocks-component-in-block",children:"this chapter"})," for more details."]}),"\n",(0,o.jsx)(n.h3,{id:"components",children:"components"}),"\n",(0,o.jsxs)(n.p,{children:["The same as in the blocks manifest. Please check ",(0,o.jsx)(n.a,{href:"block-manifest",children:"this chapter"})," for more details."]})]})}function p(e={}){const{wrapper:n}={...(0,s.M)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},4552:(e,n,t)=>{t.d(n,{I:()=>l,M:()=>a});var o=t(11504);const s={},i=o.createContext(s);function a(e){const n=o.useContext(i);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:a(e.components),o.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/962afcd6.56c29317.js b/assets/js/962afcd6.56c29317.js deleted file mode 100644 index ca6f146ec..000000000 --- a/assets/js/962afcd6.56c29317.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[73670],{14843:(t,o,e)=>{e.r(o),e.d(o,{assets:()=>l,contentTitle:()=>i,default:()=>m,frontMatter:()=>r,metadata:()=>a,toc:()=>c});var n=e(85893),s=e(11151);const r={id:"blocks-storybook",title:"Storybook",sidebar_label:"Storybook"},i=void 0,a={id:"legacy/v5/basics/blocks-storybook",title:"Storybook",description:"docs-source",source:"@site/docs/legacy/v5/basics/blocks-storybook.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/blocks-storybook",permalink:"/docs/legacy/v5/basics/blocks-storybook",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-storybook",title:"Storybook",sidebar_label:"Storybook"},sidebar:"docs",previous:{title:"Styles",permalink:"/docs/legacy/v5/basics/blocks-styles"},next:{title:"Helpers",permalink:"/docs/legacy/v5/basics/helpers"}},l={},c=[{value:"Create my custom story",id:"create-my-custom-story",level:2},{value:"Block story",id:"block-story",level:3},{value:"Variation story",id:"variation-story",level:3},{value:"Component story",id:"component-story",level:3}];function d(t){const o={a:"a",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",...(0,s.a)(),...t.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.p,{children:(0,n.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/",children:(0,n.jsx)(o.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(o.p,{children:"We have created a full storybook that hosts all our blocks/components/variations with a fully functional block editor, where you can try out how blocks work and behave."}),"\n",(0,n.jsxs)(o.blockquote,{children:["\n",(0,n.jsx)(o.p,{children:"To speed up project build time, Eightshift Boilerplate doesn't come with the storybook out of the box; you need to install it. To install Storybook to your project, just type this command in you terminal and follow the instructions:"}),"\n"]}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-bash",children:"wp boilerplate create_blocks_storybook\n"})}),"\n",(0,n.jsx)(o.h2,{id:"create-my-custom-story",children:"Create my custom story"}),"\n",(0,n.jsx)(o.p,{children:"You don't need to have stories in your block/component, but we provided you with the ability to use the Storybook for all of your blocks and components. Why not use it? It will speed up your development time. Trust us."}),"\n",(0,n.jsx)(o.p,{children:"If you used our way to set up your project, you already have Storybook ready to use. To start the Storybook, run this command:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-bash",children:"npm run storybook\n"})}),"\n",(0,n.jsxs)(o.p,{children:["In your project, you also have the ",(0,n.jsx)(o.code,{children:".storybook"})," folder, where all the configuration for Storybook is defined."]}),"\n",(0,n.jsxs)(o.p,{children:["For your blocks/components/variation to be seen in the Storybook, you must have the ",(0,n.jsx)(o.code,{children:"docs"})," folder and the ",(0,n.jsx)(o.code,{children:"story.js"})," file in it."]}),"\n",(0,n.jsx)(o.h3,{id:"block-story",children:"Block story"}),"\n",(0,n.jsx)(o.p,{children:"For all blocks, you don't need to write anything because all blocks stories look the same:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-jsx",children:"import React from 'react';\nimport { Gutenberg, blockDetails } from '@eightshift/frontend-libs/scripts/storybook';\nimport manifest from './../manifest.json';\nimport globalManifest from './../../../manifest.json';\nimport readme from './readme.mdx';\n\nexport default {\n\ttitle: `Blocks/${manifest.title}`,\n\tparameters: {\n\t\tdocs: {\n\t\t\tpage: readme\n\t\t}\n\t},\n};\n\nexport const block = () => (\n\t<Gutenberg props={blockDetails(manifest, globalManifest)} />\n);\n"})}),"\n",(0,n.jsxs)(o.p,{children:["We pull all the data from the manifest.json file and all the attribute values from the ",(0,n.jsx)(o.code,{children:"example"})," key."]}),"\n",(0,n.jsx)(o.h3,{id:"variation-story",children:"Variation story"}),"\n",(0,n.jsx)(o.p,{children:"The same as the block's story."}),"\n",(0,n.jsx)(o.h3,{id:"component-story",children:"Component story"}),"\n",(0,n.jsxs)(o.p,{children:["Components are not smart and can't be automatically built into the story. This is why you must create a story of all your components and mock the data.\nYou should set all the mock data in the component ",(0,n.jsx)(o.code,{children:"manifest.json"})," and just provide the story's implementation."]}),"\n",(0,n.jsx)(o.p,{children:"Button block editor component:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-jsx",children:"import React from 'react';\nimport { Fragment } from '@wordpress/element';\nimport readme from './readme.mdx';\nimport manifest from './../manifest.json';\nimport { ButtonEditor } from '../components/button-editor';\nimport { ButtonOptions } from '../components/button-options';\nimport { ButtonToolbar } from '../components/button-toolbar';\n\nexport default {\n\ttitle: `Components/${manifest.title}`,\n\tparameters: {\n\t\tdocs: {\n\t\t\tpage: readme\n\t\t}\n\t},\n};\n\nconst props = manifest.example.attributes;\n\nexport const editor = () => (\n\t<ButtonEditor {...props} />\n);\n"})}),"\n",(0,n.jsx)(o.p,{children:"Button block editor size variation:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-jsx",children:"import React from 'react';\nimport { Fragment } from '@wordpress/element';\nimport readme from './readme.mdx';\nimport manifest from './../manifest.json';\nimport { ButtonEditor } from '../components/button-editor';\nimport { ButtonOptions } from '../components/button-options';\nimport { ButtonToolbar } from '../components/button-toolbar';\n\nexport default {\n\ttitle: `Components/${manifest.title}`,\n\tparameters: {\n\t\tdocs: {\n\t\t\tpage: readme\n\t\t}\n\t},\n};\n\nconst props = manifest.example.attributes;\n\nexport const size = () => (\n\t<Fragment>\n\t\t{manifest.options.sizes.map((values, index) => (\n\t\t\t<Fragment key={index}>\n\t\t\t\t<ButtonEditor\n\t\t\t\t\t{...props}\n\t\t\t\t\tbuttonContent={values.label}\n\t\t\t\t\tbuttonSize={values.value}\n\t\t\t\t/>\n\t\t\t\t<br />\n\t\t\t</Fragment>\n\t\t))}\n\t</Fragment>\n);\n"})})]})}function m(t={}){const{wrapper:o}={...(0,s.a)(),...t.components};return o?(0,n.jsx)(o,{...t,children:(0,n.jsx)(d,{...t})}):d(t)}},11151:(t,o,e)=>{e.d(o,{Z:()=>a,a:()=>i});var n=e(67294);const s={},r=n.createContext(s);function i(t){const o=n.useContext(r);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(s):t.components||s:i(t.components),n.createElement(r.Provider,{value:o},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/962afcd6.ba8031c0.js b/assets/js/962afcd6.ba8031c0.js new file mode 100644 index 000000000..f50676c1a --- /dev/null +++ b/assets/js/962afcd6.ba8031c0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[66024],{1320:(t,o,e)=>{e.r(o),e.d(o,{assets:()=>l,contentTitle:()=>i,default:()=>m,frontMatter:()=>r,metadata:()=>a,toc:()=>c});var n=e(17624),s=e(4552);const r={id:"blocks-storybook",title:"Storybook",sidebar_label:"Storybook"},i=void 0,a={id:"legacy/v5/basics/blocks-storybook",title:"Storybook",description:"docs-source",source:"@site/docs/legacy/v5/basics/blocks-storybook.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/blocks-storybook",permalink:"/docs/legacy/v5/basics/blocks-storybook",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-storybook",title:"Storybook",sidebar_label:"Storybook"},sidebar:"docs",previous:{title:"Styles",permalink:"/docs/legacy/v5/basics/blocks-styles"},next:{title:"Helpers",permalink:"/docs/legacy/v5/basics/helpers"}},l={},c=[{value:"Create my custom story",id:"create-my-custom-story",level:2},{value:"Block story",id:"block-story",level:3},{value:"Variation story",id:"variation-story",level:3},{value:"Component story",id:"component-story",level:3}];function d(t){const o={a:"a",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",...(0,s.M)(),...t.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.p,{children:(0,n.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/",children:(0,n.jsx)(o.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(o.p,{children:"We have created a full storybook that hosts all our blocks/components/variations with a fully functional block editor, where you can try out how blocks work and behave."}),"\n",(0,n.jsxs)(o.blockquote,{children:["\n",(0,n.jsx)(o.p,{children:"To speed up project build time, Eightshift Boilerplate doesn't come with the storybook out of the box; you need to install it. To install Storybook to your project, just type this command in you terminal and follow the instructions:"}),"\n"]}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-bash",children:"wp boilerplate create_blocks_storybook\n"})}),"\n",(0,n.jsx)(o.h2,{id:"create-my-custom-story",children:"Create my custom story"}),"\n",(0,n.jsx)(o.p,{children:"You don't need to have stories in your block/component, but we provided you with the ability to use the Storybook for all of your blocks and components. Why not use it? It will speed up your development time. Trust us."}),"\n",(0,n.jsx)(o.p,{children:"If you used our way to set up your project, you already have Storybook ready to use. To start the Storybook, run this command:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-bash",children:"npm run storybook\n"})}),"\n",(0,n.jsxs)(o.p,{children:["In your project, you also have the ",(0,n.jsx)(o.code,{children:".storybook"})," folder, where all the configuration for Storybook is defined."]}),"\n",(0,n.jsxs)(o.p,{children:["For your blocks/components/variation to be seen in the Storybook, you must have the ",(0,n.jsx)(o.code,{children:"docs"})," folder and the ",(0,n.jsx)(o.code,{children:"story.js"})," file in it."]}),"\n",(0,n.jsx)(o.h3,{id:"block-story",children:"Block story"}),"\n",(0,n.jsx)(o.p,{children:"For all blocks, you don't need to write anything because all blocks stories look the same:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-jsx",children:"import React from 'react';\nimport { Gutenberg, blockDetails } from '@eightshift/frontend-libs/scripts/storybook';\nimport manifest from './../manifest.json';\nimport globalManifest from './../../../manifest.json';\nimport readme from './readme.mdx';\n\nexport default {\n\ttitle: `Blocks/${manifest.title}`,\n\tparameters: {\n\t\tdocs: {\n\t\t\tpage: readme\n\t\t}\n\t},\n};\n\nexport const block = () => (\n\t<Gutenberg props={blockDetails(manifest, globalManifest)} />\n);\n"})}),"\n",(0,n.jsxs)(o.p,{children:["We pull all the data from the manifest.json file and all the attribute values from the ",(0,n.jsx)(o.code,{children:"example"})," key."]}),"\n",(0,n.jsx)(o.h3,{id:"variation-story",children:"Variation story"}),"\n",(0,n.jsx)(o.p,{children:"The same as the block's story."}),"\n",(0,n.jsx)(o.h3,{id:"component-story",children:"Component story"}),"\n",(0,n.jsxs)(o.p,{children:["Components are not smart and can't be automatically built into the story. This is why you must create a story of all your components and mock the data.\nYou should set all the mock data in the component ",(0,n.jsx)(o.code,{children:"manifest.json"})," and just provide the story's implementation."]}),"\n",(0,n.jsx)(o.p,{children:"Button block editor component:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-jsx",children:"import React from 'react';\nimport { Fragment } from '@wordpress/element';\nimport readme from './readme.mdx';\nimport manifest from './../manifest.json';\nimport { ButtonEditor } from '../components/button-editor';\nimport { ButtonOptions } from '../components/button-options';\nimport { ButtonToolbar } from '../components/button-toolbar';\n\nexport default {\n\ttitle: `Components/${manifest.title}`,\n\tparameters: {\n\t\tdocs: {\n\t\t\tpage: readme\n\t\t}\n\t},\n};\n\nconst props = manifest.example.attributes;\n\nexport const editor = () => (\n\t<ButtonEditor {...props} />\n);\n"})}),"\n",(0,n.jsx)(o.p,{children:"Button block editor size variation:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-jsx",children:"import React from 'react';\nimport { Fragment } from '@wordpress/element';\nimport readme from './readme.mdx';\nimport manifest from './../manifest.json';\nimport { ButtonEditor } from '../components/button-editor';\nimport { ButtonOptions } from '../components/button-options';\nimport { ButtonToolbar } from '../components/button-toolbar';\n\nexport default {\n\ttitle: `Components/${manifest.title}`,\n\tparameters: {\n\t\tdocs: {\n\t\t\tpage: readme\n\t\t}\n\t},\n};\n\nconst props = manifest.example.attributes;\n\nexport const size = () => (\n\t<Fragment>\n\t\t{manifest.options.sizes.map((values, index) => (\n\t\t\t<Fragment key={index}>\n\t\t\t\t<ButtonEditor\n\t\t\t\t\t{...props}\n\t\t\t\t\tbuttonContent={values.label}\n\t\t\t\t\tbuttonSize={values.value}\n\t\t\t\t/>\n\t\t\t\t<br />\n\t\t\t</Fragment>\n\t\t))}\n\t</Fragment>\n);\n"})})]})}function m(t={}){const{wrapper:o}={...(0,s.M)(),...t.components};return o?(0,n.jsx)(o,{...t,children:(0,n.jsx)(d,{...t})}):d(t)}},4552:(t,o,e)=>{e.d(o,{I:()=>a,M:()=>i});var n=e(11504);const s={},r=n.createContext(s);function i(t){const o=n.useContext(r);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(s):t.components||s:i(t.components),n.createElement(r.Provider,{value:o},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/963c8ac0.813e4dbd.js b/assets/js/963c8ac0.813e4dbd.js new file mode 100644 index 000000000..2faccbb2b --- /dev/null +++ b/assets/js/963c8ac0.813e4dbd.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[41160],{59024:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>r,contentTitle:()=>l,default:()=>g,frontMatter:()=>o,metadata:()=>c,toc:()=>a});var s=t(17624),i=t(4552);const o={id:"login",title:"Login"},l=void 0,c={id:"legacy/v4/guides/login",title:"Login",description:"docs-source",source:"@site/docs/legacy/v4/guides/login.md",sourceDirName:"legacy/v4/guides",slug:"/legacy/v4/guides/login",permalink:"/docs/legacy/v4/guides/login",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"login",title:"Login"},sidebar:"docs",previous:{title:"User",permalink:"/docs/legacy/v4/guides/columns-user"},next:{title:"Custom fonts",permalink:"/docs/legacy/v4/guides/fonts-custom"}},r={},a=[{value:"Additional options",id:"additional-options",level:2}];function d(e){const n={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",...(0,i.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/login/class-login.php",children:(0,s.jsx)(n.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsxs)(n.p,{children:["Login class is located in ",(0,s.jsx)(n.code,{children:"Eightshift Libs"}),". To extend it use ",(0,s.jsx)(n.code,{children:"Eightshift_Libs\\Login\\Login"})," class."]}),"\n",(0,s.jsx)(n.p,{children:"It changes the default logo url on WordPress login page to you site home url."}),"\n",(0,s.jsx)(n.h2,{id:"additional-options",children:"Additional options"}),"\n",(0,s.jsxs)(n.p,{children:["This class goes great hand in hand with ",(0,s.jsx)(n.code,{children:"assets/styles/application-admin.scss"})," file. This is the main style entry point for project style used for the ",(0,s.jsx)(n.code,{children:"WordPress admin screen"}),"."]}),"\n",(0,s.jsx)(n.p,{children:"For example, you can provide custom login logo image for some custom project styling:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-scss",children:"/* Full path due to wp-login.php is not in the theme folder */\n\n.login h1 a { /* stylelint-disable-line selector-no-type */\n background-image: url('/wp-content/themes/eightshift-boilerplate/public/logo.svg');\n background-repeat: no-repeat;\n background-position: top center;\n background-size: 49%;\n width: 100%;\n height: 70px;\n margin: 0 auto 15px;\n}\n\n"})})]})}function g(e={}){const{wrapper:n}={...(0,i.M)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},4552:(e,n,t)=>{t.d(n,{I:()=>c,M:()=>l});var s=t(11504);const i={},o=s.createContext(i);function l(e){const n=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:l(e.components),s.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/963c8ac0.f28dfada.js b/assets/js/963c8ac0.f28dfada.js deleted file mode 100644 index e14eaaae7..000000000 --- a/assets/js/963c8ac0.f28dfada.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[24302],{30304:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>r,contentTitle:()=>l,default:()=>g,frontMatter:()=>o,metadata:()=>c,toc:()=>a});var s=t(85893),i=t(11151);const o={id:"login",title:"Login"},l=void 0,c={id:"legacy/v4/guides/login",title:"Login",description:"docs-source",source:"@site/docs/legacy/v4/guides/login.md",sourceDirName:"legacy/v4/guides",slug:"/legacy/v4/guides/login",permalink:"/docs/legacy/v4/guides/login",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"login",title:"Login"},sidebar:"docs",previous:{title:"User",permalink:"/docs/legacy/v4/guides/columns-user"},next:{title:"Custom fonts",permalink:"/docs/legacy/v4/guides/fonts-custom"}},r={},a=[{value:"Additional options",id:"additional-options",level:2}];function d(e){const n={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/login/class-login.php",children:(0,s.jsx)(n.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsxs)(n.p,{children:["Login class is located in ",(0,s.jsx)(n.code,{children:"Eightshift Libs"}),". To extend it use ",(0,s.jsx)(n.code,{children:"Eightshift_Libs\\Login\\Login"})," class."]}),"\n",(0,s.jsx)(n.p,{children:"It changes the default logo url on WordPress login page to you site home url."}),"\n",(0,s.jsx)(n.h2,{id:"additional-options",children:"Additional options"}),"\n",(0,s.jsxs)(n.p,{children:["This class goes great hand in hand with ",(0,s.jsx)(n.code,{children:"assets/styles/application-admin.scss"})," file. This is the main style entry point for project style used for the ",(0,s.jsx)(n.code,{children:"WordPress admin screen"}),"."]}),"\n",(0,s.jsx)(n.p,{children:"For example, you can provide custom login logo image for some custom project styling:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-scss",children:"/* Full path due to wp-login.php is not in the theme folder */\n\n.login h1 a { /* stylelint-disable-line selector-no-type */\n background-image: url('/wp-content/themes/eightshift-boilerplate/public/logo.svg');\n background-repeat: no-repeat;\n background-position: top center;\n background-size: 49%;\n width: 100%;\n height: 70px;\n margin: 0 auto 15px;\n}\n\n"})})]})}function g(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},11151:(e,n,t)=>{t.d(n,{Z:()=>c,a:()=>l});var s=t(67294);const i={},o=s.createContext(i);function l(e){const n=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:l(e.components),s.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/96795ae1.1d6dc14e.js b/assets/js/96795ae1.1d6dc14e.js new file mode 100644 index 000000000..80fe5f4e9 --- /dev/null +++ b/assets/js/96795ae1.1d6dc14e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[63744],{35340:(e,n,o)=>{o.r(n),o.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>s,metadata:()=>l,toc:()=>r});var t=o(17624),i=o(4552);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.M)(),...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(42892).c+"",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.M)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},42892:(e,n,o)=>{o.d(n,{c:()=>t});const t=o.p+"assets/images/components-257a09f77e42c302781faf91fc8de6a6.webp"},4552:(e,n,o)=>{o.d(n,{I:()=>l,M:()=>a});var t=o(11504);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.24b3cd03.js b/assets/js/96795ae1.24b3cd03.js deleted file mode 100644 index df8feeec6..000000000 --- a/assets/js/96795ae1.24b3cd03.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[29824],{23022:(e,n,o)=>{o.r(n),o.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>s,metadata:()=>l,toc:()=>r});var t=o(85893),i=o(11151);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.a)(),...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(97034).Z+"",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.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},97034:(e,n,o)=>{o.d(n,{Z:()=>t});const t=o.p+"assets/images/components-257a09f77e42c302781faf91fc8de6a6.webp"},11151:(e,n,o)=>{o.d(n,{Z:()=>l,a:()=>a});var t=o(67294);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.231d3ea6.js b/assets/js/96c3e083.231d3ea6.js deleted file mode 100644 index c86ee2e46..000000000 --- a/assets/js/96c3e083.231d3ea6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[57720],{19478: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/96c3e083.ec2a72db.js b/assets/js/96c3e083.ec2a72db.js new file mode 100644 index 000000000..f015da785 --- /dev/null +++ b/assets/js/96c3e083.ec2a72db.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[11408],{9604: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/97cb0cff.78f7ad75.js b/assets/js/97cb0cff.78f7ad75.js deleted file mode 100644 index 4f6fb90de..000000000 --- a/assets/js/97cb0cff.78f7ad75.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[14650],{31433:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>l});var i=s(85893),n=s(11151);const o={id:"library",title:"SCSS Library"},r=void 0,c={id:"legacy/v8/basics/library",title:"SCSS Library",description:"docs-source",source:"@site/docs/legacy/v8/basics/library.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/library",permalink:"/docs/legacy/v8/basics/library",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"library",title:"SCSS Library"},sidebar:"docs",previous:{title:"Webpack",permalink:"/docs/legacy/v8/basics/webpack"},next:{title:"Global Settings",permalink:"/docs/legacy/v8/basics/global-settings"}},a={},l=[{value:"How to use it",id:"how-to-use-it",level:2}];function d(e){const t={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",strong:"strong",...(0,n.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsx)(t.p,{children:"Eightshift Frontend Libs contains a collection of useful SCSS mixins, functions and helpers you can use in projects."}),"\n",(0,i.jsx)(t.p,{children:"For years, we have collected a list of them. At one point, we felt it was ineffective to copy-paste code across multiple projects, so we created Eightshift Frontend Libs. This allows you to use whatever we offer without all that unnecessary clutter."}),"\n",(0,i.jsx)(t.p,{children:"Check out our documentation and import what you need from Eightshift Frontend Libs."}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsxs)(t.strong,{children:["Visit ",(0,i.jsx)(t.a,{href:"/sass",children:"SassDocs"})," for more details."]})}),"\n",(0,i.jsx)(t.h2,{id:"how-to-use-it",children:"How to use it"}),"\n",(0,i.jsx)(t.p,{children:"SCSS mixins, functions, and helpers are located in Eightshift Frontend Libs. Therefore, if you are using our Webpack build, you are all set. You can use it by importing it into your project like this:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-scss",children:"@import '@eightshift/frontend-libs/styles/index.scss';\n"})}),"\n",(0,i.jsxs)(t.p,{children:["However, if you used our ",(0,i.jsx)(t.code,{children:"wp boilerplate init theme"})," command, you are all set. Eightshift Frontend Libs are injected in the ",(0,i.jsx)(t.code,{children:"_shared.scss"})," file in your project."]})]})}function h(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},11151:(e,t,s)=>{s.d(t,{Z:()=>c,a:()=>r});var i=s(67294);const n={},o=i.createContext(n);function r(e){const t=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),i.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/97cb0cff.c135501b.js b/assets/js/97cb0cff.c135501b.js new file mode 100644 index 000000000..17627bf0d --- /dev/null +++ b/assets/js/97cb0cff.c135501b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[28752],{71408:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>n,metadata:()=>c,toc:()=>l});var i=s(17624),o=s(4552);const n={id:"library",title:"SCSS Library"},r=void 0,c={id:"legacy/v8/basics/library",title:"SCSS Library",description:"docs-source",source:"@site/docs/legacy/v8/basics/library.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/library",permalink:"/docs/legacy/v8/basics/library",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"library",title:"SCSS Library"},sidebar:"docs",previous:{title:"Webpack",permalink:"/docs/legacy/v8/basics/webpack"},next:{title:"Global Settings",permalink:"/docs/legacy/v8/basics/global-settings"}},a={},l=[{value:"How to use it",id:"how-to-use-it",level:2}];function d(e){const t={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",strong:"strong",...(0,o.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsx)(t.p,{children:"Eightshift Frontend Libs contains a collection of useful SCSS mixins, functions and helpers you can use in projects."}),"\n",(0,i.jsx)(t.p,{children:"For years, we have collected a list of them. At one point, we felt it was ineffective to copy-paste code across multiple projects, so we created Eightshift Frontend Libs. This allows you to use whatever we offer without all that unnecessary clutter."}),"\n",(0,i.jsx)(t.p,{children:"Check out our documentation and import what you need from Eightshift Frontend Libs."}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsxs)(t.strong,{children:["Visit ",(0,i.jsx)(t.a,{href:"/docs/basics/library",children:"SassDocs"})," for more details."]})}),"\n",(0,i.jsx)(t.h2,{id:"how-to-use-it",children:"How to use it"}),"\n",(0,i.jsx)(t.p,{children:"SCSS mixins, functions, and helpers are located in Eightshift Frontend Libs. Therefore, if you are using our Webpack build, you are all set. You can use it by importing it into your project like this:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-scss",children:"@import '@eightshift/frontend-libs/styles/index.scss';\n"})}),"\n",(0,i.jsxs)(t.p,{children:["However, if you used our ",(0,i.jsx)(t.code,{children:"wp boilerplate init theme"})," command, you are all set. Eightshift Frontend Libs are injected in the ",(0,i.jsx)(t.code,{children:"_shared.scss"})," file in your project."]})]})}function h(e={}){const{wrapper:t}={...(0,o.M)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},4552:(e,t,s)=>{s.d(t,{I:()=>c,M:()=>r});var i=s(11504);const o={},n=i.createContext(o);function r(e){const t=i.useContext(n);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),i.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/98c40af1.84218806.js b/assets/js/98c40af1.84218806.js new file mode 100644 index 000000000..63799a973 --- /dev/null +++ b/assets/js/98c40af1.84218806.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[1136],{284:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>i,contentTitle:()=>a,default:()=>u,frontMatter:()=>l,metadata:()=>r,toc:()=>c});var s=t(17624),o=t(4552);const l={id:"blocks-global-manifest",title:"Global Manifest"},a=void 0,r={id:"legacy/v7/basics/blocks-global-manifest",title:"Global Manifest",description:"docs-source",source:"@site/docs/legacy/v7/basics/blocks-global-manifest.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/blocks-global-manifest",permalink:"/docs/legacy/v7/basics/blocks-global-manifest",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-global-manifest",title:"Global Manifest"},sidebar:"docs",previous:{title:"Structure",permalink:"/docs/legacy/v7/basics/blocks-structure"},next:{title:"Block Structure",permalink:"/docs/legacy/v7/basics/block-structure"}},i={},c=[{value:"Namespace",id:"namespace",level:3},{value:"Background and foreground",id:"background-and-foreground",level:3},{value:"Global variables",id:"global-variables",level:3},{value:"Attributes",id:"attributes",level:3}];function d(e){const n={a:"a",code:"code",h3:"h3",img:"img",p:"p",pre:"pre",...(0,o.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/",children:(0,s.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(n.p,{children:"Global manifest is used to provide all the global configuration to the blocks and components, and much more."}),"\n",(0,s.jsx)(n.p,{children:"Currently, our default global manifest looks like this:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-json",children:'{\n "namespace": "eightshift-boilerplate",\n "background": "#FBF9FF",\n "foreground": "#9973E3",\n "globalVariables": {\n "customBlocksName": "eightshift-block",\n "maxCols": 12,\n "baseFont": "Inter",\n "zIndex": {\n "header": 100,\n "drawer": 99,\n "overlay": 98\n },\n "breakpoints": {\n "mobile": 480,\n "tablet": 960,\n "desktop": 1920,\n "large": 1921\n },\n "containers": {\n "default": "66rem"\n },\n "gutters": {\n "none": "0",\n "default": "1.25rem",\n "big": "2.5rem"\n },\n "sectionSpacing": {\n "min": -300,\n "max": 300,\n "step": 10\n },\n "sectionInSpacing": {\n "min": 0,\n "max": 300,\n "step": 10\n },\n "colors": [\n {\n "name": "Primary",\n "slug": "primary",\n "color": "#9973E3"\n },\n {\n "name": "Black",\n "slug": "black",\n "color": "#000000"\n },\n {\n "name": "Light",\n "slug": "light",\n "color": "#CCCCCC"\n },\n {\n "name": "White",\n "slug": "white",\n "color": "#FFFFFF"\n },\n {\n "name": "Eightshift",\n "slug": "eightshift",\n "color": "#0D3636"\n }\n ]\n }\n}\n'})}),"\n",(0,s.jsx)(n.p,{children:"As you can see, we have some global configuration for blocks and some SCSS variables. Along with these default keys, here you can define anything you need for the project."}),"\n",(0,s.jsx)(n.h3,{id:"namespace",children:"Namespace"}),"\n",(0,s.jsx)(n.p,{children:"All blocks must have a valid block name to be registered. A valid block consists of namespace and block name, like this:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:"eightshift-boilerplate/heading\n"})}),"\n",(0,s.jsx)(n.p,{children:"To remove the need to write namespace multiple times across multiple blocks, we have defined the namespace in the global manifest, and we use it in the block registration process."}),"\n",(0,s.jsxs)(n.p,{children:["If you want to define multiple namespaces for your blocks in a single folder, please refer to the ",(0,s.jsx)(n.a,{href:"block-structure",children:"block-structure"})," chapter for more details."]}),"\n",(0,s.jsx)(n.h3,{id:"background-and-foreground",children:"Background and foreground"}),"\n",(0,s.jsx)(n.p,{children:"Just like a namespace, we use the same logic for icons background and foreground when selecting a block from the list. Here you define global background and foreground for all your custom blocks."}),"\n",(0,s.jsxs)(n.p,{children:["Please refer to the ",(0,s.jsx)(n.a,{href:"block-structure",children:"block-structure"})," chapter for more details on how to override global background and foreground your blocks icon."]}),"\n",(0,s.jsx)(n.h3,{id:"global-variables",children:"Global variables"}),"\n",(0,s.jsxs)(n.p,{children:["These are all the global settings you can use in JavaScript, SCSS, and PHP files. We have covered this topic in more detail in the ",(0,s.jsx)(n.a,{href:"blocks-styles",children:"block-styles"})," chapter."]}),"\n",(0,s.jsx)(n.h3,{id:"attributes",children:"Attributes"}),"\n",(0,s.jsx)(n.p,{children:"We don't have this key in the example, but you can set the default attributes in this file, and they will be applied to all the blocks."}),"\n",(0,s.jsxs)(n.p,{children:["Please refer to the ",(0,s.jsx)(n.a,{href:"blocks-attributes",children:"blocks attributes"})," chapter for more details."]})]})}function u(e={}){const{wrapper:n}={...(0,o.M)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},4552:(e,n,t)=>{t.d(n,{I:()=>r,M:()=>a});var s=t(11504);const o={},l=s.createContext(o);function a(e){const n=s.useContext(l);return s.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(o):e.components||o:a(e.components),s.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/98c40af1.fbafb9a3.js b/assets/js/98c40af1.fbafb9a3.js deleted file mode 100644 index a4fb4ab82..000000000 --- a/assets/js/98c40af1.fbafb9a3.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[86873],{15092:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>i,contentTitle:()=>l,default:()=>u,frontMatter:()=>a,metadata:()=>r,toc:()=>c});var s=t(85893),o=t(11151);const a={id:"blocks-global-manifest",title:"Global Manifest"},l=void 0,r={id:"legacy/v7/basics/blocks-global-manifest",title:"Global Manifest",description:"docs-source",source:"@site/docs/legacy/v7/basics/blocks-global-manifest.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/blocks-global-manifest",permalink:"/docs/legacy/v7/basics/blocks-global-manifest",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-global-manifest",title:"Global Manifest"},sidebar:"docs",previous:{title:"Structure",permalink:"/docs/legacy/v7/basics/blocks-structure"},next:{title:"Block Structure",permalink:"/docs/legacy/v7/basics/block-structure"}},i={},c=[{value:"Namespace",id:"namespace",level:3},{value:"Background and foreground",id:"background-and-foreground",level:3},{value:"Global variables",id:"global-variables",level:3},{value:"Attributes",id:"attributes",level:3}];function d(e){const n={a:"a",code:"code",h3:"h3",img:"img",p:"p",pre:"pre",...(0,o.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/",children:(0,s.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(n.p,{children:"Global manifest is used to provide all the global configuration to the blocks and components, and much more."}),"\n",(0,s.jsx)(n.p,{children:"Currently, our default global manifest looks like this:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-json",children:'{\n "namespace": "eightshift-boilerplate",\n "background": "#FBF9FF",\n "foreground": "#9973E3",\n "globalVariables": {\n "customBlocksName": "eightshift-block",\n "maxCols": 12,\n "baseFont": "Inter",\n "zIndex": {\n "header": 100,\n "drawer": 99,\n "overlay": 98\n },\n "breakpoints": {\n "mobile": 480,\n "tablet": 960,\n "desktop": 1920,\n "large": 1921\n },\n "containers": {\n "default": "66rem"\n },\n "gutters": {\n "none": "0",\n "default": "1.25rem",\n "big": "2.5rem"\n },\n "sectionSpacing": {\n "min": -300,\n "max": 300,\n "step": 10\n },\n "sectionInSpacing": {\n "min": 0,\n "max": 300,\n "step": 10\n },\n "colors": [\n {\n "name": "Primary",\n "slug": "primary",\n "color": "#9973E3"\n },\n {\n "name": "Black",\n "slug": "black",\n "color": "#000000"\n },\n {\n "name": "Light",\n "slug": "light",\n "color": "#CCCCCC"\n },\n {\n "name": "White",\n "slug": "white",\n "color": "#FFFFFF"\n },\n {\n "name": "Eightshift",\n "slug": "eightshift",\n "color": "#0D3636"\n }\n ]\n }\n}\n'})}),"\n",(0,s.jsx)(n.p,{children:"As you can see, we have some global configuration for blocks and some SCSS variables. Along with these default keys, here you can define anything you need for the project."}),"\n",(0,s.jsx)(n.h3,{id:"namespace",children:"Namespace"}),"\n",(0,s.jsx)(n.p,{children:"All blocks must have a valid block name to be registered. A valid block consists of namespace and block name, like this:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:"eightshift-boilerplate/heading\n"})}),"\n",(0,s.jsx)(n.p,{children:"To remove the need to write namespace multiple times across multiple blocks, we have defined the namespace in the global manifest, and we use it in the block registration process."}),"\n",(0,s.jsxs)(n.p,{children:["If you want to define multiple namespaces for your blocks in a single folder, please refer to the ",(0,s.jsx)(n.a,{href:"block-structure",children:"block-structure"})," chapter for more details."]}),"\n",(0,s.jsx)(n.h3,{id:"background-and-foreground",children:"Background and foreground"}),"\n",(0,s.jsx)(n.p,{children:"Just like a namespace, we use the same logic for icons background and foreground when selecting a block from the list. Here you define global background and foreground for all your custom blocks."}),"\n",(0,s.jsxs)(n.p,{children:["Please refer to the ",(0,s.jsx)(n.a,{href:"block-structure",children:"block-structure"})," chapter for more details on how to override global background and foreground your blocks icon."]}),"\n",(0,s.jsx)(n.h3,{id:"global-variables",children:"Global variables"}),"\n",(0,s.jsxs)(n.p,{children:["These are all the global settings you can use in JavaScript, SCSS, and PHP files. We have covered this topic in more detail in the ",(0,s.jsx)(n.a,{href:"blocks-styles",children:"block-styles"})," chapter."]}),"\n",(0,s.jsx)(n.h3,{id:"attributes",children:"Attributes"}),"\n",(0,s.jsx)(n.p,{children:"We don't have this key in the example, but you can set the default attributes in this file, and they will be applied to all the blocks."}),"\n",(0,s.jsxs)(n.p,{children:["Please refer to the ",(0,s.jsx)(n.a,{href:"blocks-attributes",children:"blocks attributes"})," chapter for more details."]})]})}function u(e={}){const{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},11151:(e,n,t)=>{t.d(n,{Z:()=>r,a:()=>l});var s=t(67294);const o={},a=s.createContext(o);function l(e){const n=s.useContext(a);return s.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(o):e.components||o:l(e.components),s.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9962ee1e.ed6b8b83.js b/assets/js/9962ee1e.ed6b8b83.js new file mode 100644 index 000000000..ab1a5b5d6 --- /dev/null +++ b/assets/js/9962ee1e.ed6b8b83.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[28768],{62864: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/9962ee1e.f07389de.js b/assets/js/9962ee1e.f07389de.js deleted file mode 100644 index a4473d445..000000000 --- a/assets/js/9962ee1e.f07389de.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[62359],{57986: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/998cd6c6.73d48907.js b/assets/js/998cd6c6.73d48907.js deleted file mode 100644 index 2037f4bfd..000000000 --- a/assets/js/998cd6c6.73d48907.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[36790],{93731:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>r});var i=n(85893),t=n(11151);const o={id:"architecture-concepts",title:"Architecture concepts"},a=void 0,c={id:"legacy/v7/basics/architecture-concepts",title:"Architecture concepts",description:"Project structure",source:"@site/docs/legacy/v7/basics/architecture-concepts.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/architecture-concepts",permalink:"/docs/legacy/v7/basics/architecture-concepts",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"architecture-concepts",title:"Architecture concepts"},sidebar:"docs",previous:{title:"WP-CLI",permalink:"/docs/legacy/v7/basics/wp-cli"},next:{title:"General",permalink:"/docs/legacy/v7/basics/backend"}},l={},r=[{value:"Project structure",id:"project-structure",level:2},{value:"Object-oriented paradigms",id:"object-oriented-paradigms",level:2},{value:"Blocks and Components",id:"blocks-and-components",level:2},{value:"The Manifest",id:"the-manifest",level:2},{value:"The directory structure in detail",id:"the-directory-structure-in-detail",level:2},{value:"Blocks",id:"blocks",level:4},{value:"Columns",id:"columns",level:4},{value:"Config",id:"config",level:4},{value:"CustomMeta",id:"custommeta",level:4},{value:"CustomPostType",id:"customposttype",level:4},{value:"CustomTaxonomy",id:"customtaxonomy",level:4},{value:"Enqueue",id:"enqueue",level:4},{value:"Exception",id:"exception",level:4},{value:"Helpers",id:"helpers",level:4},{value:"I18n",id:"i18n",level:4},{value:"Main",id:"main",level:4},{value:"Manifest",id:"manifest",level:4},{value:"Media",id:"media",level:4},{value:"Menu",id:"menu",level:4},{value:"ModifyAdminAppearance",id:"modifyadminappearance",level:4},{value:"Plugin",id:"plugin",level:4},{value:"Rest",id:"rest",level:4},{value:"ThemeOptions",id:"themeoptions",level:4},{value:"View",id:"view",level:4},{value:".storybook",id:"storybook",level:4},{value:".gitignore",id:"gitignore",level:4},{value:".eslintignore",id:"eslintignore",level:4},{value:".eslintrc",id:"eslintrc",level:4},{value:".stylelintrc",id:"stylelintrc",level:4},{value:"babel.config.js",id:"babelconfigjs",level:4},{value:"composer.json",id:"composerjson",level:4},{value:"composer.lock",id:"composerlock",level:4},{value:"package-lock.json",id:"package-lockjson",level:4},{value:"package.json",id:"packagejson",level:4},{value:"phpcs.xml.dist",id:"phpcsxmldist",level:4},{value:"postcss.config.js",id:"postcssconfigjs",level:4},{value:"webpack.config.js",id:"webpackconfigjs",level:4}];function d(e){const s={a:"a",code:"code",em:"em",h2:"h2",h4:"h4",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,t.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.h2,{id:"project-structure",children:"Project structure"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/infinum/eightshift-libs/tree/5.0.0",children:(0,i.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsxs)(s.p,{children:["Eightshift Development Kit follows a strict project structure to support autoloading, dependency injection and ",(0,i.jsx)(s.code,{children:"wp boilerplate"})," commands, as well as conventions to increase codebase understanding between developers. As an added benefit, following this structure and conventions makes your codebase more consistent and organized."]}),"\n",(0,i.jsxs)(s.p,{children:["While Eightshift Development Kit provides required theme files and common theme files such as ",(0,i.jsx)(s.code,{children:"style.css"})," and ",(0,i.jsx)(s.code,{children:"functions.php"}),", they're used differently to what you might expect if you've worked with WordPress themes previously. For instance, ",(0,i.jsx)(s.code,{children:"style.css"})," is used only to register theme metadata, and doesn't contain any actual styles, as they're built using Webpack and use cache busting. ",(0,i.jsx)(s.code,{children:"functions.php"})," simply bootstraps the execution lifecycle. We also provide very basic template partials, such as ",(0,i.jsx)(s.code,{children:"single.php"}),", which you can acommodate to your needs. An idea to consider is replacing some of them with pages that are editable in Gutenberg."]}),"\n",(0,i.jsxs)(s.p,{children:["While you'll find some additional configuration files such as ",(0,i.jsx)(s.code,{children:"webpack.config.js"})," in the project root, the majority of your projects codebase should live in the ",(0,i.jsx)(s.code,{children:"src"})," directory, which is autoloaded via Composer following PSR-4 conventions. This implies that every directory under ",(0,i.jsx)(s.code,{children:"src"})," is a namespace under your base namespace (which is your project name), and PHP files inside of those directories are classes in that namespace, with exceptions for filenames that aren't in ",(0,i.jsx)(s.code,{children:"StudlyCase"}),"."]}),"\n",(0,i.jsxs)(s.p,{children:["An Eightshift Development Kit convention is to structure namespaces around features and functionality, so for instance, all custom post types would be part of the ",(0,i.jsx)(s.code,{children:"ProjectName\\CustomPostType"})," namespace."]}),"\n",(0,i.jsx)(s.h2,{id:"object-oriented-paradigms",children:"Object-oriented paradigms"}),"\n",(0,i.jsx)(s.p,{children:"Eightshift Libs is entirely object-oriented, providing abstract classes for internal library functionality, interfaces you can use to implement certain classes to make use of Eightshift Development Kit features, as well as concrete class implementations for use in projects."}),"\n",(0,i.jsx)(s.p,{children:"Our use of OOP allows you to extend, modify or even replace Eightshift Development Kit functionality safely, without breaking compatibility or harming your project."}),"\n",(0,i.jsxs)(s.p,{children:["One of the most important interfaces in Eightshift Libs is the ",(0,i.jsx)(s.code,{children:"ServiceInterface"}),". Classes that implement it are called service classes. This isn't a common pattern in PHP OOP. In Eightshift Development Kit, a service class represents a part of the project's functionality and has a ",(0,i.jsx)(s.code,{children:"register"})," method that sets up the action and filter hooks for the service. If you need to add an action or a filter, you should do that in a service class. All your service classes are automatically loaded and can have dependencies injected using dependency injection."]}),"\n",(0,i.jsxs)(s.p,{children:["To ensure there are no naming collisions caused by Composer dependencies, we use the ",(0,i.jsx)(s.a,{href:"https://github.com/infinum/imposter-plugin",children:"Imposter Composer plugin"})," to contain them in the ",(0,i.jsx)(s.code,{children:"{ProjectName}Vendor"})," namespace. This comes with a few caveats which you should be aware of, and about which you can read more in the ",(0,i.jsx)(s.a,{href:"namespaces",children:"namespaces chapter"}),"."]}),"\n",(0,i.jsxs)(s.p,{children:["Read more about ",(0,i.jsx)(s.a,{href:"namespaces",children:"namespaces and Imposter"}),", ",(0,i.jsx)(s.a,{href:"extending-classes",children:"extending classes and service classes"}),", and ",(0,i.jsx)(s.a,{href:"autowiring",children:"dependency injection and autowiring"}),"."]}),"\n",(0,i.jsx)(s.h2,{id:"blocks-and-components",children:"Blocks and Components"}),"\n",(0,i.jsxs)(s.p,{children:["While Blocks and Components will be covered in much more detail in the ",(0,i.jsx)(s.a,{href:"blocks",children:"Blocks chapter"}),", it's worth getting acquainted with the concepts from the start."]}),"\n",(0,i.jsxs)(s.p,{children:["In Gutenberg, Blocks are an abstract unit for structuring content. The same applies in Eightshift, with an additional concept of ",(0,i.jsx)(s.em,{children:"Components"}),", which are abstract units for structuring blocks and layouts."]}),"\n",(0,i.jsx)(s.p,{children:"Components are mostly similar to Blocks, with a few key differences:"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"Components can not be inserted by users in Gutenberg, and are not registered as block types"}),"\n",(0,i.jsxs)(s.li,{children:["Components can be rendered in any context using the ",(0,i.jsx)(s.code,{children:"Components::render"})," method, with arbitrary attribute values passed to them"]}),"\n",(0,i.jsxs)(s.li,{children:["Blocks are usually only rendered using the render callback provided when registering the block","\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"Note that in the Eightshift Development Kit, the render callback is provided for you by Eightshift Libs. It automatically adds the wrapper if necessary and sets up your block view."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["Components don't implement the ",(0,i.jsx)(s.code,{children:"{blockName}-block.js"})," file"]}),"\n"]}),"\n",(0,i.jsx)(s.p,{children:"Blocks and Components have the same structure, which makes extracting components from existing blocks trivially easy."}),"\n",(0,i.jsxs)(s.p,{children:["Components can be ",(0,i.jsx)(s.em,{children:"composed"})," into a block. In other words, blocks can consist out of zero or more components. Component composition is handled in the block manifest, allows you to avoid using InnerBlocks to include functionality shared with other blocks, and serializes component attributes to the block using prefixed attributes for each component instance depending on your manifest definitions."]}),"\n",(0,i.jsxs)(s.p,{children:["To learn more about the differences between blocks and components, read ",(0,i.jsx)(s.a,{href:"/blog/components-and-blocks",children:"Igor's blog post on Components and blocks"}),". To learn how to use blocks and components to build your projects, read the ",(0,i.jsx)(s.a,{href:"blocks",children:"Blocks chapter"}),"."]}),"\n",(0,i.jsx)(s.h2,{id:"the-manifest",children:"The Manifest"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"manifest.json"})," files contain metadata, configurations and variables."]}),"\n",(0,i.jsxs)(s.p,{children:["Every Eightshift project has one global ",(0,i.jsx)(s.code,{children:"manifest.json"})," file stored in ",(0,i.jsx)(s.code,{children:"src/Blocks/manifest.json"}),", which contains global settings, properties, and variables."]}),"\n",(0,i.jsx)(s.p,{children:"Furthermore, every Eightshift block, component, and variation has its own manifest file which is used to provide data required for block registration, such as a list of attributes, the block name, and the template for the inserter example. These local manifest files allow you to define arrays of options for attribute values that your blocks or components can consume. Manifest files also allow you to define relationships between attribute values and CSS variable values, which allows you a great deal of power when styling your blocks and components, as well as saves time as you don't have to provide conditional CSS classes."}),"\n",(0,i.jsxs)(s.p,{children:["To learn more about the ",(0,i.jsx)(s.a,{href:"/docs/legacy/v7/basics/blocks-global-manifest",children:"global manifest"}),", ",(0,i.jsx)(s.a,{href:"/docs/legacy/v7/basics/block-manifest",children:"block manifest"}),", ",(0,i.jsx)(s.a,{href:"/docs/legacy/v7/basics/blocks-component-manifest",children:"component manifest"})," and using ",(0,i.jsx)(s.a,{href:"/docs/legacy/v7/basics/blocks-styles",children:"the manifest to provide CSS variables for use in block styling"}),", read the respective articles in the ",(0,i.jsx)(s.a,{href:"blocks-important",children:"Blocks chapter"}),". For information about manifest structure, refer to the manifest schemas available in Eightshift Frontend Libs and linked to in the manifest files."]}),"\n",(0,i.jsx)(s.h2,{id:"the-directory-structure-in-detail",children:"The directory structure in detail"}),"\n",(0,i.jsxs)(s.p,{children:["Your project might contain a different set of namespaces and classes in the ",(0,i.jsx)(s.code,{children:"src"})," folder, depending on what you've included using wp boilerplate commands.\nBy default, your project will include the ",(0,i.jsx)(s.code,{children:"Blocks"}),", ",(0,i.jsx)(s.code,{children:"Config"}),", ",(0,i.jsx)(s.code,{children:"Enqueue"}),", ",(0,i.jsx)(s.code,{children:"Main"}),", ",(0,i.jsx)(s.code,{children:"Manifest"})," and ",(0,i.jsx)(s.code,{children:"Menu"})," namespaces. You can include classes from Eightshift Libs to provide additional functionality manually or using wp boilerplate."]}),"\n",(0,i.jsx)(s.p,{children:"This chapter also doesn't cover all of the namespaces and classes in Eightshift Libs, or their use. Check out the source code documentation for all available namespaces and classes."}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:["src","\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"Blocks"}),"\n",(0,i.jsx)(s.li,{children:"assets"}),"\n",(0,i.jsx)(s.li,{children:"components"}),"\n",(0,i.jsx)(s.li,{children:"custom"}),"\n",(0,i.jsx)(s.li,{children:"variations"}),"\n",(0,i.jsx)(s.li,{children:"wrapper"}),"\n",(0,i.jsx)(s.li,{children:"Columns"}),"\n",(0,i.jsx)(s.li,{children:"Config"}),"\n",(0,i.jsx)(s.li,{children:"CustomMeta"}),"\n",(0,i.jsx)(s.li,{children:"CustomPostType"}),"\n",(0,i.jsx)(s.li,{children:"CustomTaxonomy"}),"\n",(0,i.jsxs)(s.li,{children:["Enqueue","\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"Admin"}),"\n",(0,i.jsx)(s.li,{children:"Blocks"}),"\n",(0,i.jsx)(s.li,{children:"Theme"}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.li,{children:"Exception"}),"\n",(0,i.jsx)(s.li,{children:"Helpers"}),"\n",(0,i.jsx)(s.li,{children:"I18n"}),"\n",(0,i.jsx)(s.li,{children:"Main"}),"\n",(0,i.jsx)(s.li,{children:"Manifest"}),"\n",(0,i.jsx)(s.li,{children:"Media"}),"\n",(0,i.jsx)(s.li,{children:"Menu"}),"\n",(0,i.jsx)(s.li,{children:"ModifyAdminAppearance"}),"\n",(0,i.jsx)(s.li,{children:"Plugin"}),"\n",(0,i.jsx)(s.li,{children:"Rest"}),"\n",(0,i.jsx)(s.li,{children:"ThemeOptions"}),"\n",(0,i.jsx)(s.li,{children:"View"}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.li,{children:".storybook"}),"\n",(0,i.jsx)(s.li,{children:".gitignore"}),"\n",(0,i.jsx)(s.li,{children:".eslintignore"}),"\n",(0,i.jsx)(s.li,{children:".eslintrc"}),"\n",(0,i.jsx)(s.li,{children:".stylelintrc"}),"\n",(0,i.jsx)(s.li,{children:"babel.config.js"}),"\n",(0,i.jsx)(s.li,{children:"composer.json"}),"\n",(0,i.jsx)(s.li,{children:"composer.lock"}),"\n",(0,i.jsx)(s.li,{children:"package-lock.json"}),"\n",(0,i.jsx)(s.li,{children:"package.json"}),"\n",(0,i.jsx)(s.li,{children:"phpcs.xml.dist"}),"\n",(0,i.jsx)(s.li,{children:"postcss.config.js"}),"\n",(0,i.jsx)(s.li,{children:"README.md"}),"\n",(0,i.jsx)(s.li,{children:"webpack.config.js"}),"\n"]}),"\n",(0,i.jsx)(s.h4,{id:"blocks",children:"Blocks"}),"\n",(0,i.jsx)(s.p,{children:"The Blocks namespace contains the Blocks class used for block registration. This directory also contains shared assets, components, blocks, variations, and the wrapper."}),"\n",(0,i.jsxs)(s.p,{children:["Read about blocks in detail in the ",(0,i.jsx)(s.a,{href:"blocks",children:"Blocks chapter"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"columns",children:"Columns"}),"\n",(0,i.jsxs)(s.p,{children:["This namespace contains all the custom admin listing columns hooks in your project. These include listing column hooks for post types, taxonomy, and user lists, such as ",(0,i.jsx)(s.code,{children:"manage_{$post_type}_posts_columns"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"config",children:"Config"}),"\n",(0,i.jsxs)(s.p,{children:["The Config class provides getter methods for your project's configuration, such as ",(0,i.jsx)(s.code,{children:"getProjectName"})," or ",(0,i.jsx)(s.code,{children:"getProjectVersion"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"custommeta",children:"CustomMeta"}),"\n",(0,i.jsx)(s.p,{children:"This class contains all the custom meta hooks for your project."}),"\n",(0,i.jsx)(s.h4,{id:"customposttype",children:"CustomPostType"}),"\n",(0,i.jsxs)(s.p,{children:["This namespace contains classes that register all custom post type hooks for your project. For better code consistency and to save time on boilerplating, Eightshift Development Kit provides an example class implementation you can use with ",(0,i.jsx)(s.code,{children:"wp boilerplate create_post_type"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"customtaxonomy",children:"CustomTaxonomy"}),"\n",(0,i.jsxs)(s.p,{children:["This namespace contains classes that register all custom taxonomy hooks for your project. For better code consistency and to save time on boilerplating, Eightshift Development Kit provides an example class implementation you can use with ",(0,i.jsx)(s.code,{children:"wp boilerplate create_taxonomy"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"enqueue",children:"Enqueue"}),"\n",(0,i.jsx)(s.p,{children:"These Enqueue namespace classes handle loading JavaScript and CSS assets, depending on the location you want to use it:"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.strong,{children:"Admin"})," - Used in the admin (not block editor) panel. You can find the files inside the ",(0,i.jsx)(s.code,{children:"assets"})," folder with the ",(0,i.jsx)(s.code,{children:"-admin"})," suffix."]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.strong,{children:"Blocks"})," - Used in the block editor. You can find the files inside the ",(0,i.jsx)(s.code,{children:"src/Blocks/assets"})," folder. As blocks are complicated, we have files loaded only in the admin-editor part of the project, those files have an ",(0,i.jsx)(s.code,{children:"-editor"})," suffix. The rest of the files with no suffix load on the admin-editor part and the project's front end."]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.strong,{children:"Theme"})," - Used in the theme (frontend) part of your project. You can find the files inside the ",(0,i.jsx)(s.code,{children:"assets"})," folder with no suffix. You would use these files for the assets related to your project that is not associated with components and blocks. These files are rarely used, as styles and JavaScript functionality are usually provided at component, block, or wrapper levels."]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Using any of these classes is optional, and you can use only what you need. The ",(0,i.jsx)(s.code,{children:"wp boilerplate setup_theme"})," command will set up all of the three classes already implemented. Keep in mind that Enqueue classes work in combination with the Webpack build of your project."]}),"\n",(0,i.jsxs)(s.p,{children:["All of the asset files mentioned are prefixed with ",(0,i.jsx)(s.code,{children:"application"}),". If you don't like the prefix, you can change it by providing project overrides for constants used in Eightshift Libs. If you change the file names, you must make changes to the Webpack build process as well. For modifying the Webpack configuration, read the ",(0,i.jsx)(s.a,{href:"webpack",children:"Webpack chapter"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"exception",children:"Exception"}),"\n",(0,i.jsx)(s.p,{children:"This namespace contains all exceptions that can be thrown from the project."}),"\n",(0,i.jsx)(s.h4,{id:"helpers",children:"Helpers"}),"\n",(0,i.jsx)(s.p,{children:"All the backend helpers provided by Eightshift Libs are part of the Helpers namespace. Generally, you can use them from Eightshift Libs without extending or modifying them."}),"\n",(0,i.jsx)(s.h4,{id:"i18n",children:"I18n"}),"\n",(0,i.jsxs)(s.p,{children:["Classes in this namespace are used to define all hooks related to internationalization and localization. For more information about i18n and l10n, check out ",(0,i.jsx)(s.a,{href:"tips-tricks",children:"Tips and tricks"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"main",children:"Main"}),"\n",(0,i.jsxs)(s.p,{children:["The Main namespace contains the ",(0,i.jsx)(s.code,{children:"Main"})," class, which sets up the dependency injection container and autowiring using ",(0,i.jsx)(s.code,{children:"AbstractMain"})," and ",(0,i.jsx)(s.code,{children:"Autowiring"})," classes. For most projects, ",(0,i.jsx)(s.code,{children:"Main"})," can be used automagically without any work on your part, but as with all of the Eightshift Development Kit, you can extend it to suit your needs."]}),"\n",(0,i.jsxs)(s.p,{children:["You can provide manual service classes here as well. Learn more in the ",(0,i.jsx)(s.a,{href:"autowiring",children:"autowiring chapter"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"manifest",children:"Manifest"}),"\n",(0,i.jsxs)(s.p,{children:["The Manifest namespace provides the ",(0,i.jsx)(s.code,{children:"manifest.json"})," file location and helpers to return the full path for a specific asset. Learn more about the manifest in the ",(0,i.jsx)(s.a,{href:"manifest",children:"manifest chapter"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"media",children:"Media"}),"\n",(0,i.jsx)(s.p,{children:"The Media namespace is used to add custom implementations for media, such as adding custom image sizes, enabling SVG image support, etc. By default, it registers theme support for title tags, HTML5 and post thumbnails."}),"\n",(0,i.jsx)(s.h4,{id:"menu",children:"Menu"}),"\n",(0,i.jsx)(s.p,{children:"This class is used to register menu positions."}),"\n",(0,i.jsx)(s.h4,{id:"modifyadminappearance",children:"ModifyAdminAppearance"}),"\n",(0,i.jsx)(s.p,{children:"This class is used to change admin appearance. We use it to change the admin color palette depending on the environment."}),"\n",(0,i.jsx)(s.h4,{id:"plugin",children:"Plugin"}),"\n",(0,i.jsx)(s.p,{children:"This namespace is used only in the plugin boilerplate and holds classes required for activation and deactivation of the plugin."}),"\n",(0,i.jsx)(s.h4,{id:"rest",children:"Rest"}),"\n",(0,i.jsxs)(s.p,{children:["The Rest namespace provides classes for handling REST API fields and routes. This is covered in more detail in the ",(0,i.jsx)(s.a,{href:"rest",children:"REST chapter"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"themeoptions",children:"ThemeOptions"}),"\n",(0,i.jsxs)(s.p,{children:["This namespace is used to add admin menu configuration panels such as ",(0,i.jsx)(s.em,{children:"Theme Options"}),", usually using ACF."]}),"\n",(0,i.jsx)(s.h4,{id:"view",children:"View"}),"\n",(0,i.jsxs)(s.p,{children:["This namespace is used to add filters used when escaping unsafe tags using ",(0,i.jsx)(s.code,{children:"wp_kses_post"})," and ",(0,i.jsx)(s.code,{children:"wp_kses"})," functions."]}),"\n",(0,i.jsx)(s.h4,{id:"storybook",children:".storybook"}),"\n",(0,i.jsxs)(s.p,{children:["This folder contains all of the files necessary to run the storybook in your project. Read more ",(0,i.jsx)(s.a,{href:"https://storybook.js.org/",children:"about the Storybook project"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"gitignore",children:".gitignore"}),"\n",(0,i.jsxs)(s.p,{children:["As the name implies, this file is used to define restrictions to which files Git watches. Read more ",(0,i.jsx)(s.a,{href:"https://git-scm.com/",children:"about Git"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"eslintignore",children:".eslintignore"}),"\n",(0,i.jsx)(s.p,{children:"Defines files and folders which ESLint should ignore when linting."}),"\n",(0,i.jsx)(s.h4,{id:"eslintrc",children:".eslintrc"}),"\n",(0,i.jsxs)(s.p,{children:["Provides definitions used for linting JavaScript files. Read more ",(0,i.jsx)(s.a,{href:"https://eslint.org/",children:"about ESLint"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"stylelintrc",children:".stylelintrc"}),"\n",(0,i.jsxs)(s.p,{children:["Provides definitions used for linting SCSS/CSS stylesheets. Read more ",(0,i.jsx)(s.a,{href:"https://stylelint.io/",children:"about Stylelint"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"babelconfigjs",children:"babel.config.js"}),"\n",(0,i.jsxs)(s.p,{children:["Provides Babel configuration, which determines how your JavaScript code will be compiled, what standard you will use, and much more. Read more ",(0,i.jsx)(s.a,{href:"https://babeljs.io/",children:"about Babel"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"composerjson",children:"composer.json"}),"\n",(0,i.jsxs)(s.p,{children:["Contains a list of your project's Composer dependencies, as well as project metadata and configuration. Dependencies can be added and installed using ",(0,i.jsx)(s.code,{children:"composer install"}),". Read more ",(0,i.jsx)(s.a,{href:"https://getcomposer.org/",children:"about Composer"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"composerlock",children:"composer.lock"}),"\n",(0,i.jsx)(s.p,{children:"Lock files are used to set the package version to the exact release. This ensures that everyone has the same package version when installing."}),"\n",(0,i.jsx)(s.h4,{id:"package-lockjson",children:"package-lock.json"}),"\n",(0,i.jsxs)(s.p,{children:["The same as ",(0,i.jsx)(s.code,{children:"composer.lock"}),", but for node_modules."]}),"\n",(0,i.jsx)(s.h4,{id:"packagejson",children:"package.json"}),"\n",(0,i.jsxs)(s.p,{children:["Contains a list of your project's npm dependencies, as well as project metadata and configuration. Dependencies can be added and installed using ",(0,i.jsx)(s.code,{children:"npm install"}),". Read more ",(0,i.jsx)(s.a,{href:"https://nodejs.dev/",children:"about npm"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"phpcsxmldist",children:"phpcs.xml.dist"}),"\n",(0,i.jsxs)(s.p,{children:["Provides definitions used for linting PHP files. Read more ",(0,i.jsx)(s.a,{href:"https://github.com/squizlabs/PHP_CodeSniffer",children:"about PHPCS"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"postcssconfigjs",children:"postcss.config.js"}),"\n",(0,i.jsxs)(s.p,{children:["PostCSS works in collaboration with Webpack and defines what additional plugins you are going to use when building your CSS files. Read more ",(0,i.jsx)(s.a,{href:"https://postcss.org/",children:"about PostCSS"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"webpackconfigjs",children:"webpack.config.js"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"webpack.config.js"})," provides Webpack configuration, used when building your JavaScript and CSS files. This is covered in more detail in the ",(0,i.jsx)(s.a,{href:"webpack",children:"Webpack chapter"}),"."]})]})}function h(e={}){const{wrapper:s}={...(0,t.a)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},11151:(e,s,n)=>{n.d(s,{Z:()=>c,a:()=>a});var i=n(67294);const t={},o=i.createContext(t);function a(e){const s=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:a(e.components),i.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/998cd6c6.e7b07ad2.js b/assets/js/998cd6c6.e7b07ad2.js new file mode 100644 index 000000000..894137605 --- /dev/null +++ b/assets/js/998cd6c6.e7b07ad2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[21404],{40848:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>r});var i=n(17624),t=n(4552);const o={id:"architecture-concepts",title:"Architecture concepts"},a=void 0,c={id:"legacy/v7/basics/architecture-concepts",title:"Architecture concepts",description:"Project structure",source:"@site/docs/legacy/v7/basics/architecture-concepts.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/architecture-concepts",permalink:"/docs/legacy/v7/basics/architecture-concepts",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"architecture-concepts",title:"Architecture concepts"},sidebar:"docs",previous:{title:"WP-CLI",permalink:"/docs/legacy/v7/basics/wp-cli"},next:{title:"General",permalink:"/docs/legacy/v7/basics/backend"}},l={},r=[{value:"Project structure",id:"project-structure",level:2},{value:"Object-oriented paradigms",id:"object-oriented-paradigms",level:2},{value:"Blocks and Components",id:"blocks-and-components",level:2},{value:"The Manifest",id:"the-manifest",level:2},{value:"The directory structure in detail",id:"the-directory-structure-in-detail",level:2},{value:"Blocks",id:"blocks",level:4},{value:"Columns",id:"columns",level:4},{value:"Config",id:"config",level:4},{value:"CustomMeta",id:"custommeta",level:4},{value:"CustomPostType",id:"customposttype",level:4},{value:"CustomTaxonomy",id:"customtaxonomy",level:4},{value:"Enqueue",id:"enqueue",level:4},{value:"Exception",id:"exception",level:4},{value:"Helpers",id:"helpers",level:4},{value:"I18n",id:"i18n",level:4},{value:"Main",id:"main",level:4},{value:"Manifest",id:"manifest",level:4},{value:"Media",id:"media",level:4},{value:"Menu",id:"menu",level:4},{value:"ModifyAdminAppearance",id:"modifyadminappearance",level:4},{value:"Plugin",id:"plugin",level:4},{value:"Rest",id:"rest",level:4},{value:"ThemeOptions",id:"themeoptions",level:4},{value:"View",id:"view",level:4},{value:".storybook",id:"storybook",level:4},{value:".gitignore",id:"gitignore",level:4},{value:".eslintignore",id:"eslintignore",level:4},{value:".eslintrc",id:"eslintrc",level:4},{value:".stylelintrc",id:"stylelintrc",level:4},{value:"babel.config.js",id:"babelconfigjs",level:4},{value:"composer.json",id:"composerjson",level:4},{value:"composer.lock",id:"composerlock",level:4},{value:"package-lock.json",id:"package-lockjson",level:4},{value:"package.json",id:"packagejson",level:4},{value:"phpcs.xml.dist",id:"phpcsxmldist",level:4},{value:"postcss.config.js",id:"postcssconfigjs",level:4},{value:"webpack.config.js",id:"webpackconfigjs",level:4}];function d(e){const s={a:"a",code:"code",em:"em",h2:"h2",h4:"h4",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,t.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.h2,{id:"project-structure",children:"Project structure"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/infinum/eightshift-libs/tree/5.0.0",children:(0,i.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsxs)(s.p,{children:["Eightshift Development Kit follows a strict project structure to support autoloading, dependency injection and ",(0,i.jsx)(s.code,{children:"wp boilerplate"})," commands, as well as conventions to increase codebase understanding between developers. As an added benefit, following this structure and conventions makes your codebase more consistent and organized."]}),"\n",(0,i.jsxs)(s.p,{children:["While Eightshift Development Kit provides required theme files and common theme files such as ",(0,i.jsx)(s.code,{children:"style.css"})," and ",(0,i.jsx)(s.code,{children:"functions.php"}),", they're used differently to what you might expect if you've worked with WordPress themes previously. For instance, ",(0,i.jsx)(s.code,{children:"style.css"})," is used only to register theme metadata, and doesn't contain any actual styles, as they're built using Webpack and use cache busting. ",(0,i.jsx)(s.code,{children:"functions.php"})," simply bootstraps the execution lifecycle. We also provide very basic template partials, such as ",(0,i.jsx)(s.code,{children:"single.php"}),", which you can acommodate to your needs. An idea to consider is replacing some of them with pages that are editable in Gutenberg."]}),"\n",(0,i.jsxs)(s.p,{children:["While you'll find some additional configuration files such as ",(0,i.jsx)(s.code,{children:"webpack.config.js"})," in the project root, the majority of your projects codebase should live in the ",(0,i.jsx)(s.code,{children:"src"})," directory, which is autoloaded via Composer following PSR-4 conventions. This implies that every directory under ",(0,i.jsx)(s.code,{children:"src"})," is a namespace under your base namespace (which is your project name), and PHP files inside of those directories are classes in that namespace, with exceptions for filenames that aren't in ",(0,i.jsx)(s.code,{children:"StudlyCase"}),"."]}),"\n",(0,i.jsxs)(s.p,{children:["An Eightshift Development Kit convention is to structure namespaces around features and functionality, so for instance, all custom post types would be part of the ",(0,i.jsx)(s.code,{children:"ProjectName\\CustomPostType"})," namespace."]}),"\n",(0,i.jsx)(s.h2,{id:"object-oriented-paradigms",children:"Object-oriented paradigms"}),"\n",(0,i.jsx)(s.p,{children:"Eightshift Libs is entirely object-oriented, providing abstract classes for internal library functionality, interfaces you can use to implement certain classes to make use of Eightshift Development Kit features, as well as concrete class implementations for use in projects."}),"\n",(0,i.jsx)(s.p,{children:"Our use of OOP allows you to extend, modify or even replace Eightshift Development Kit functionality safely, without breaking compatibility or harming your project."}),"\n",(0,i.jsxs)(s.p,{children:["One of the most important interfaces in Eightshift Libs is the ",(0,i.jsx)(s.code,{children:"ServiceInterface"}),". Classes that implement it are called service classes. This isn't a common pattern in PHP OOP. In Eightshift Development Kit, a service class represents a part of the project's functionality and has a ",(0,i.jsx)(s.code,{children:"register"})," method that sets up the action and filter hooks for the service. If you need to add an action or a filter, you should do that in a service class. All your service classes are automatically loaded and can have dependencies injected using dependency injection."]}),"\n",(0,i.jsxs)(s.p,{children:["To ensure there are no naming collisions caused by Composer dependencies, we use the ",(0,i.jsx)(s.a,{href:"https://github.com/infinum/imposter-plugin",children:"Imposter Composer plugin"})," to contain them in the ",(0,i.jsx)(s.code,{children:"{ProjectName}Vendor"})," namespace. This comes with a few caveats which you should be aware of, and about which you can read more in the ",(0,i.jsx)(s.a,{href:"namespaces",children:"namespaces chapter"}),"."]}),"\n",(0,i.jsxs)(s.p,{children:["Read more about ",(0,i.jsx)(s.a,{href:"namespaces",children:"namespaces and Imposter"}),", ",(0,i.jsx)(s.a,{href:"extending-classes",children:"extending classes and service classes"}),", and ",(0,i.jsx)(s.a,{href:"autowiring",children:"dependency injection and autowiring"}),"."]}),"\n",(0,i.jsx)(s.h2,{id:"blocks-and-components",children:"Blocks and Components"}),"\n",(0,i.jsxs)(s.p,{children:["While Blocks and Components will be covered in much more detail in the ",(0,i.jsx)(s.a,{href:"blocks",children:"Blocks chapter"}),", it's worth getting acquainted with the concepts from the start."]}),"\n",(0,i.jsxs)(s.p,{children:["In Gutenberg, Blocks are an abstract unit for structuring content. The same applies in Eightshift, with an additional concept of ",(0,i.jsx)(s.em,{children:"Components"}),", which are abstract units for structuring blocks and layouts."]}),"\n",(0,i.jsx)(s.p,{children:"Components are mostly similar to Blocks, with a few key differences:"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"Components can not be inserted by users in Gutenberg, and are not registered as block types"}),"\n",(0,i.jsxs)(s.li,{children:["Components can be rendered in any context using the ",(0,i.jsx)(s.code,{children:"Components::render"})," method, with arbitrary attribute values passed to them"]}),"\n",(0,i.jsxs)(s.li,{children:["Blocks are usually only rendered using the render callback provided when registering the block","\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"Note that in the Eightshift Development Kit, the render callback is provided for you by Eightshift Libs. It automatically adds the wrapper if necessary and sets up your block view."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["Components don't implement the ",(0,i.jsx)(s.code,{children:"{blockName}-block.js"})," file"]}),"\n"]}),"\n",(0,i.jsx)(s.p,{children:"Blocks and Components have the same structure, which makes extracting components from existing blocks trivially easy."}),"\n",(0,i.jsxs)(s.p,{children:["Components can be ",(0,i.jsx)(s.em,{children:"composed"})," into a block. In other words, blocks can consist out of zero or more components. Component composition is handled in the block manifest, allows you to avoid using InnerBlocks to include functionality shared with other blocks, and serializes component attributes to the block using prefixed attributes for each component instance depending on your manifest definitions."]}),"\n",(0,i.jsxs)(s.p,{children:["To learn more about the differences between blocks and components, read ",(0,i.jsx)(s.a,{href:"/blog/components-and-blocks",children:"Igor's blog post on Components and blocks"}),". To learn how to use blocks and components to build your projects, read the ",(0,i.jsx)(s.a,{href:"blocks",children:"Blocks chapter"}),"."]}),"\n",(0,i.jsx)(s.h2,{id:"the-manifest",children:"The Manifest"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"manifest.json"})," files contain metadata, configurations and variables."]}),"\n",(0,i.jsxs)(s.p,{children:["Every Eightshift project has one global ",(0,i.jsx)(s.code,{children:"manifest.json"})," file stored in ",(0,i.jsx)(s.code,{children:"src/Blocks/manifest.json"}),", which contains global settings, properties, and variables."]}),"\n",(0,i.jsx)(s.p,{children:"Furthermore, every Eightshift block, component, and variation has its own manifest file which is used to provide data required for block registration, such as a list of attributes, the block name, and the template for the inserter example. These local manifest files allow you to define arrays of options for attribute values that your blocks or components can consume. Manifest files also allow you to define relationships between attribute values and CSS variable values, which allows you a great deal of power when styling your blocks and components, as well as saves time as you don't have to provide conditional CSS classes."}),"\n",(0,i.jsxs)(s.p,{children:["To learn more about the ",(0,i.jsx)(s.a,{href:"/docs/legacy/v7/basics/blocks-global-manifest",children:"global manifest"}),", ",(0,i.jsx)(s.a,{href:"/docs/legacy/v7/basics/block-manifest",children:"block manifest"}),", ",(0,i.jsx)(s.a,{href:"/docs/legacy/v7/basics/blocks-component-manifest",children:"component manifest"})," and using ",(0,i.jsx)(s.a,{href:"/docs/legacy/v7/basics/blocks-styles",children:"the manifest to provide CSS variables for use in block styling"}),", read the respective articles in the ",(0,i.jsx)(s.a,{href:"blocks-important",children:"Blocks chapter"}),". For information about manifest structure, refer to the manifest schemas available in Eightshift Frontend Libs and linked to in the manifest files."]}),"\n",(0,i.jsx)(s.h2,{id:"the-directory-structure-in-detail",children:"The directory structure in detail"}),"\n",(0,i.jsxs)(s.p,{children:["Your project might contain a different set of namespaces and classes in the ",(0,i.jsx)(s.code,{children:"src"})," folder, depending on what you've included using wp boilerplate commands.\nBy default, your project will include the ",(0,i.jsx)(s.code,{children:"Blocks"}),", ",(0,i.jsx)(s.code,{children:"Config"}),", ",(0,i.jsx)(s.code,{children:"Enqueue"}),", ",(0,i.jsx)(s.code,{children:"Main"}),", ",(0,i.jsx)(s.code,{children:"Manifest"})," and ",(0,i.jsx)(s.code,{children:"Menu"})," namespaces. You can include classes from Eightshift Libs to provide additional functionality manually or using wp boilerplate."]}),"\n",(0,i.jsx)(s.p,{children:"This chapter also doesn't cover all of the namespaces and classes in Eightshift Libs, or their use. Check out the source code documentation for all available namespaces and classes."}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:["src","\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"Blocks"}),"\n",(0,i.jsx)(s.li,{children:"assets"}),"\n",(0,i.jsx)(s.li,{children:"components"}),"\n",(0,i.jsx)(s.li,{children:"custom"}),"\n",(0,i.jsx)(s.li,{children:"variations"}),"\n",(0,i.jsx)(s.li,{children:"wrapper"}),"\n",(0,i.jsx)(s.li,{children:"Columns"}),"\n",(0,i.jsx)(s.li,{children:"Config"}),"\n",(0,i.jsx)(s.li,{children:"CustomMeta"}),"\n",(0,i.jsx)(s.li,{children:"CustomPostType"}),"\n",(0,i.jsx)(s.li,{children:"CustomTaxonomy"}),"\n",(0,i.jsxs)(s.li,{children:["Enqueue","\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"Admin"}),"\n",(0,i.jsx)(s.li,{children:"Blocks"}),"\n",(0,i.jsx)(s.li,{children:"Theme"}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.li,{children:"Exception"}),"\n",(0,i.jsx)(s.li,{children:"Helpers"}),"\n",(0,i.jsx)(s.li,{children:"I18n"}),"\n",(0,i.jsx)(s.li,{children:"Main"}),"\n",(0,i.jsx)(s.li,{children:"Manifest"}),"\n",(0,i.jsx)(s.li,{children:"Media"}),"\n",(0,i.jsx)(s.li,{children:"Menu"}),"\n",(0,i.jsx)(s.li,{children:"ModifyAdminAppearance"}),"\n",(0,i.jsx)(s.li,{children:"Plugin"}),"\n",(0,i.jsx)(s.li,{children:"Rest"}),"\n",(0,i.jsx)(s.li,{children:"ThemeOptions"}),"\n",(0,i.jsx)(s.li,{children:"View"}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.li,{children:".storybook"}),"\n",(0,i.jsx)(s.li,{children:".gitignore"}),"\n",(0,i.jsx)(s.li,{children:".eslintignore"}),"\n",(0,i.jsx)(s.li,{children:".eslintrc"}),"\n",(0,i.jsx)(s.li,{children:".stylelintrc"}),"\n",(0,i.jsx)(s.li,{children:"babel.config.js"}),"\n",(0,i.jsx)(s.li,{children:"composer.json"}),"\n",(0,i.jsx)(s.li,{children:"composer.lock"}),"\n",(0,i.jsx)(s.li,{children:"package-lock.json"}),"\n",(0,i.jsx)(s.li,{children:"package.json"}),"\n",(0,i.jsx)(s.li,{children:"phpcs.xml.dist"}),"\n",(0,i.jsx)(s.li,{children:"postcss.config.js"}),"\n",(0,i.jsx)(s.li,{children:"README.md"}),"\n",(0,i.jsx)(s.li,{children:"webpack.config.js"}),"\n"]}),"\n",(0,i.jsx)(s.h4,{id:"blocks",children:"Blocks"}),"\n",(0,i.jsx)(s.p,{children:"The Blocks namespace contains the Blocks class used for block registration. This directory also contains shared assets, components, blocks, variations, and the wrapper."}),"\n",(0,i.jsxs)(s.p,{children:["Read about blocks in detail in the ",(0,i.jsx)(s.a,{href:"blocks",children:"Blocks chapter"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"columns",children:"Columns"}),"\n",(0,i.jsxs)(s.p,{children:["This namespace contains all the custom admin listing columns hooks in your project. These include listing column hooks for post types, taxonomy, and user lists, such as ",(0,i.jsx)(s.code,{children:"manage_{$post_type}_posts_columns"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"config",children:"Config"}),"\n",(0,i.jsxs)(s.p,{children:["The Config class provides getter methods for your project's configuration, such as ",(0,i.jsx)(s.code,{children:"getProjectName"})," or ",(0,i.jsx)(s.code,{children:"getProjectVersion"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"custommeta",children:"CustomMeta"}),"\n",(0,i.jsx)(s.p,{children:"This class contains all the custom meta hooks for your project."}),"\n",(0,i.jsx)(s.h4,{id:"customposttype",children:"CustomPostType"}),"\n",(0,i.jsxs)(s.p,{children:["This namespace contains classes that register all custom post type hooks for your project. For better code consistency and to save time on boilerplating, Eightshift Development Kit provides an example class implementation you can use with ",(0,i.jsx)(s.code,{children:"wp boilerplate create_post_type"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"customtaxonomy",children:"CustomTaxonomy"}),"\n",(0,i.jsxs)(s.p,{children:["This namespace contains classes that register all custom taxonomy hooks for your project. For better code consistency and to save time on boilerplating, Eightshift Development Kit provides an example class implementation you can use with ",(0,i.jsx)(s.code,{children:"wp boilerplate create_taxonomy"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"enqueue",children:"Enqueue"}),"\n",(0,i.jsx)(s.p,{children:"These Enqueue namespace classes handle loading JavaScript and CSS assets, depending on the location you want to use it:"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.strong,{children:"Admin"})," - Used in the admin (not block editor) panel. You can find the files inside the ",(0,i.jsx)(s.code,{children:"assets"})," folder with the ",(0,i.jsx)(s.code,{children:"-admin"})," suffix."]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.strong,{children:"Blocks"})," - Used in the block editor. You can find the files inside the ",(0,i.jsx)(s.code,{children:"src/Blocks/assets"})," folder. As blocks are complicated, we have files loaded only in the admin-editor part of the project, those files have an ",(0,i.jsx)(s.code,{children:"-editor"})," suffix. The rest of the files with no suffix load on the admin-editor part and the project's front end."]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.strong,{children:"Theme"})," - Used in the theme (frontend) part of your project. You can find the files inside the ",(0,i.jsx)(s.code,{children:"assets"})," folder with no suffix. You would use these files for the assets related to your project that is not associated with components and blocks. These files are rarely used, as styles and JavaScript functionality are usually provided at component, block, or wrapper levels."]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Using any of these classes is optional, and you can use only what you need. The ",(0,i.jsx)(s.code,{children:"wp boilerplate setup_theme"})," command will set up all of the three classes already implemented. Keep in mind that Enqueue classes work in combination with the Webpack build of your project."]}),"\n",(0,i.jsxs)(s.p,{children:["All of the asset files mentioned are prefixed with ",(0,i.jsx)(s.code,{children:"application"}),". If you don't like the prefix, you can change it by providing project overrides for constants used in Eightshift Libs. If you change the file names, you must make changes to the Webpack build process as well. For modifying the Webpack configuration, read the ",(0,i.jsx)(s.a,{href:"webpack",children:"Webpack chapter"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"exception",children:"Exception"}),"\n",(0,i.jsx)(s.p,{children:"This namespace contains all exceptions that can be thrown from the project."}),"\n",(0,i.jsx)(s.h4,{id:"helpers",children:"Helpers"}),"\n",(0,i.jsx)(s.p,{children:"All the backend helpers provided by Eightshift Libs are part of the Helpers namespace. Generally, you can use them from Eightshift Libs without extending or modifying them."}),"\n",(0,i.jsx)(s.h4,{id:"i18n",children:"I18n"}),"\n",(0,i.jsxs)(s.p,{children:["Classes in this namespace are used to define all hooks related to internationalization and localization. For more information about i18n and l10n, check out ",(0,i.jsx)(s.a,{href:"tips-tricks",children:"Tips and tricks"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"main",children:"Main"}),"\n",(0,i.jsxs)(s.p,{children:["The Main namespace contains the ",(0,i.jsx)(s.code,{children:"Main"})," class, which sets up the dependency injection container and autowiring using ",(0,i.jsx)(s.code,{children:"AbstractMain"})," and ",(0,i.jsx)(s.code,{children:"Autowiring"})," classes. For most projects, ",(0,i.jsx)(s.code,{children:"Main"})," can be used automagically without any work on your part, but as with all of the Eightshift Development Kit, you can extend it to suit your needs."]}),"\n",(0,i.jsxs)(s.p,{children:["You can provide manual service classes here as well. Learn more in the ",(0,i.jsx)(s.a,{href:"autowiring",children:"autowiring chapter"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"manifest",children:"Manifest"}),"\n",(0,i.jsxs)(s.p,{children:["The Manifest namespace provides the ",(0,i.jsx)(s.code,{children:"manifest.json"})," file location and helpers to return the full path for a specific asset. Learn more about the manifest in the ",(0,i.jsx)(s.a,{href:"manifest",children:"manifest chapter"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"media",children:"Media"}),"\n",(0,i.jsx)(s.p,{children:"The Media namespace is used to add custom implementations for media, such as adding custom image sizes, enabling SVG image support, etc. By default, it registers theme support for title tags, HTML5 and post thumbnails."}),"\n",(0,i.jsx)(s.h4,{id:"menu",children:"Menu"}),"\n",(0,i.jsx)(s.p,{children:"This class is used to register menu positions."}),"\n",(0,i.jsx)(s.h4,{id:"modifyadminappearance",children:"ModifyAdminAppearance"}),"\n",(0,i.jsx)(s.p,{children:"This class is used to change admin appearance. We use it to change the admin color palette depending on the environment."}),"\n",(0,i.jsx)(s.h4,{id:"plugin",children:"Plugin"}),"\n",(0,i.jsx)(s.p,{children:"This namespace is used only in the plugin boilerplate and holds classes required for activation and deactivation of the plugin."}),"\n",(0,i.jsx)(s.h4,{id:"rest",children:"Rest"}),"\n",(0,i.jsxs)(s.p,{children:["The Rest namespace provides classes for handling REST API fields and routes. This is covered in more detail in the ",(0,i.jsx)(s.a,{href:"rest",children:"REST chapter"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"themeoptions",children:"ThemeOptions"}),"\n",(0,i.jsxs)(s.p,{children:["This namespace is used to add admin menu configuration panels such as ",(0,i.jsx)(s.em,{children:"Theme Options"}),", usually using ACF."]}),"\n",(0,i.jsx)(s.h4,{id:"view",children:"View"}),"\n",(0,i.jsxs)(s.p,{children:["This namespace is used to add filters used when escaping unsafe tags using ",(0,i.jsx)(s.code,{children:"wp_kses_post"})," and ",(0,i.jsx)(s.code,{children:"wp_kses"})," functions."]}),"\n",(0,i.jsx)(s.h4,{id:"storybook",children:".storybook"}),"\n",(0,i.jsxs)(s.p,{children:["This folder contains all of the files necessary to run the storybook in your project. Read more ",(0,i.jsx)(s.a,{href:"https://storybook.js.org/",children:"about the Storybook project"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"gitignore",children:".gitignore"}),"\n",(0,i.jsxs)(s.p,{children:["As the name implies, this file is used to define restrictions to which files Git watches. Read more ",(0,i.jsx)(s.a,{href:"https://git-scm.com/",children:"about Git"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"eslintignore",children:".eslintignore"}),"\n",(0,i.jsx)(s.p,{children:"Defines files and folders which ESLint should ignore when linting."}),"\n",(0,i.jsx)(s.h4,{id:"eslintrc",children:".eslintrc"}),"\n",(0,i.jsxs)(s.p,{children:["Provides definitions used for linting JavaScript files. Read more ",(0,i.jsx)(s.a,{href:"https://eslint.org/",children:"about ESLint"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"stylelintrc",children:".stylelintrc"}),"\n",(0,i.jsxs)(s.p,{children:["Provides definitions used for linting SCSS/CSS stylesheets. Read more ",(0,i.jsx)(s.a,{href:"https://stylelint.io/",children:"about Stylelint"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"babelconfigjs",children:"babel.config.js"}),"\n",(0,i.jsxs)(s.p,{children:["Provides Babel configuration, which determines how your JavaScript code will be compiled, what standard you will use, and much more. Read more ",(0,i.jsx)(s.a,{href:"https://babeljs.io/",children:"about Babel"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"composerjson",children:"composer.json"}),"\n",(0,i.jsxs)(s.p,{children:["Contains a list of your project's Composer dependencies, as well as project metadata and configuration. Dependencies can be added and installed using ",(0,i.jsx)(s.code,{children:"composer install"}),". Read more ",(0,i.jsx)(s.a,{href:"https://getcomposer.org/",children:"about Composer"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"composerlock",children:"composer.lock"}),"\n",(0,i.jsx)(s.p,{children:"Lock files are used to set the package version to the exact release. This ensures that everyone has the same package version when installing."}),"\n",(0,i.jsx)(s.h4,{id:"package-lockjson",children:"package-lock.json"}),"\n",(0,i.jsxs)(s.p,{children:["The same as ",(0,i.jsx)(s.code,{children:"composer.lock"}),", but for node_modules."]}),"\n",(0,i.jsx)(s.h4,{id:"packagejson",children:"package.json"}),"\n",(0,i.jsxs)(s.p,{children:["Contains a list of your project's npm dependencies, as well as project metadata and configuration. Dependencies can be added and installed using ",(0,i.jsx)(s.code,{children:"npm install"}),". Read more ",(0,i.jsx)(s.a,{href:"https://nodejs.dev/",children:"about npm"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"phpcsxmldist",children:"phpcs.xml.dist"}),"\n",(0,i.jsxs)(s.p,{children:["Provides definitions used for linting PHP files. Read more ",(0,i.jsx)(s.a,{href:"https://github.com/squizlabs/PHP_CodeSniffer",children:"about PHPCS"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"postcssconfigjs",children:"postcss.config.js"}),"\n",(0,i.jsxs)(s.p,{children:["PostCSS works in collaboration with Webpack and defines what additional plugins you are going to use when building your CSS files. Read more ",(0,i.jsx)(s.a,{href:"https://postcss.org/",children:"about PostCSS"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"webpackconfigjs",children:"webpack.config.js"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"webpack.config.js"})," provides Webpack configuration, used when building your JavaScript and CSS files. This is covered in more detail in the ",(0,i.jsx)(s.a,{href:"webpack",children:"Webpack chapter"}),"."]})]})}function h(e={}){const{wrapper:s}={...(0,t.M)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},4552:(e,s,n)=>{n.d(s,{I:()=>c,M:()=>a});var i=n(11504);const t={},o=i.createContext(t);function a(e){const s=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:a(e.components),i.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9a04d7c3.c7c52b66.js b/assets/js/9a04d7c3.c7c52b66.js new file mode 100644 index 000000000..87c516dd0 --- /dev/null +++ b/assets/js/9a04d7c3.c7c52b66.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[99844],{95836:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>n,metadata:()=>o,toc:()=>a});var s=i(17624),l=i(4552);const n={id:"helpers-javascript",title:"JavaScript"},r="Editor helpers",o={id:"legacy/v8/basics/helpers-javascript",title:"JavaScript",description:"docs-source",source:"@site/docs/legacy/v8/basics/helpers-javascript.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/helpers-javascript",permalink:"/docs/legacy/v8/basics/helpers-javascript",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"helpers-javascript",title:"JavaScript"},sidebar:"docs",previous:{title:"Helpers",permalink:"/docs/legacy/v8/basics/helpers"},next:{title:"Scss",permalink:"/docs/legacy/v8/basics/helpers-scss"}},c={},a=[{value:"icons",id:"icons",level:3},{value:"illustrations",id:"illustrations",level:3},{value:"blockIcons",id:"blockicons",level:3},{value:"getActions",id:"getactions",level:3},{value:"getOption",id:"getoption",level:3},{value:"getOptionColors",id:"getoptioncolors",level:3},{value:"getOptions",id:"getoptions",level:3},{value:"getPaletteColors",id:"getpalettecolors",level:3},{value:"inserter",id:"inserter",level:3},{value:"outputCssVariablesGlobal",id:"outputcssvariablesglobal",level:3},{value:"outputCssVariables",id:"outputcssvariables",level:3},{value:"getUnique",id:"getunique",level:3},{value:"overrideInnerBlockAttributes",id:"overrideinnerblockattributes",level:3},{value:"overrideInnerBlockSimpleWrapperAttributes",id:"overrideinnerblocksimplewrapperattributes",level:3},{value:"pasteInto",id:"pasteinto",level:3},{value:"props",id:"props",level:3},{value:"getAttributes",id:"getattributes",level:3},{value:"getExample",id:"getexample",level:3},{value:"registerBlocks",id:"registerblocks",level:3},{value:"registerVariations",id:"registervariations",level:3},{value:"ucfirst",id:"ucfirst",level:3},{value:"camelize",id:"camelize",level:3},{value:"checkAttr",id:"checkattr",level:3},{value:"checkAttrResponsive",id:"checkattrresponsive",level:3},{value:"cookies",id:"cookies",level:3},{value:"debounce",id:"debounce",level:3},{value:"devices",id:"devices",level:3},{value:"dynamicImport",id:"dynamicimport",level:3},{value:"elementChildrenHeight",id:"elementchildrenheight",level:3},{value:"escape-string",id:"escape-string",level:3},{value:"navigator",id:"navigator",level:3},{value:"responsiveSelectors",id:"responsiveselectors",level:3},{value:"selector",id:"selector",level:3},{value:"truncateMiddle",id:"truncatemiddle",level:3},{value:"yoastSeo",id:"yoastseo",level:3},{value:"blockDetails",id:"blockdetails",level:3},{value:"Gutenberg",id:"gutenberg",level:3},{value:"storybookDefaultMocksCategories",id:"storybookdefaultmockscategories",level:3},{value:"storybookDefaultMocksColorPalette",id:"storybookdefaultmockscolorpalette",level:3},{value:"storybookWindowObjects,",id:"storybookwindowobjects",level:3},{value:"storybookWpStyles",id:"storybookwpstyles",level:3}];function d(e){const t={a:"a",code:"code",h1:"h1",h3:"h3",img:"img",p:"p",pre:"pre",...(0,l.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,s.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsxs)(t.p,{children:["All JavaScript helpers can be imported from the ",(0,s.jsx)(t.code,{children:"@eightshift/frontend-libs/scripts"})," folder, so you don't need to think about the internal folder structure of Eightshift Frontend Libs. If you want multiple functions imported just concatenate them in the import like this:"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"import {\n\tcamelize,\n\tcheckAttr,\n\tprops,\n\t...\n} from '@eightshift/frontend-libs/scripts';\n"})}),"\n",(0,s.jsx)(t.h1,{id:"editor-helpers",children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/scripts/editor",children:"Editor helpers"})}),"\n",(0,s.jsx)(t.p,{children:"All of these helpers are generally only used in the Block Editor."}),"\n",(0,s.jsx)(t.h3,{id:"icons",children:"icons"}),"\n",(0,s.jsx)(t.p,{children:"All UI icons."}),"\n",(0,s.jsx)(t.h3,{id:"illustrations",children:"illustrations"}),"\n",(0,s.jsx)(t.p,{children:"Illustrations for helper modals."}),"\n",(0,s.jsx)(t.h3,{id:"blockicons",children:"blockIcons"}),"\n",(0,s.jsx)(t.p,{children:"Block icons, primarily used in block manifests."}),"\n",(0,s.jsx)(t.h3,{id:"getactions",children:"getActions"}),"\n",(0,s.jsx)(t.p,{children:"Create attributes actions from blocks manifest.json.\nThis helper is deprecated and should not be used anymore."}),"\n",(0,s.jsx)(t.h3,{id:"getoption",children:"getOption"}),"\n",(0,s.jsx)(t.p,{children:"Provides ability to override component options from the parent block/component."}),"\n",(0,s.jsx)(t.h3,{id:"getoptioncolors",children:"getOptionColors"}),"\n",(0,s.jsx)(t.p,{children:"Use this hook to filter the global colors out of the component or block manifest.\nThis function is deprecated and getOption should be used."}),"\n",(0,s.jsx)(t.h3,{id:"getoptions",children:"getOptions"}),"\n",(0,s.jsx)(t.p,{children:"Combines two objects of options, one from current component and the other from the parent component."}),"\n",(0,s.jsx)(t.h3,{id:"getpalettecolors",children:"getPaletteColors"}),"\n",(0,s.jsx)(t.p,{children:"Use this hook to read editor-color-palette colors directly from WP built in store."}),"\n",(0,s.jsx)(t.h3,{id:"inserter",children:"inserter"}),"\n",(0,s.jsx)(t.p,{children:"Development inserter made to insert one or multiple blocks in the dom using console."}),"\n",(0,s.jsx)(t.h3,{id:"outputcssvariablesglobal",children:"outputCssVariablesGlobal"}),"\n",(0,s.jsx)(t.p,{children:"Get Global manifest.json and return global variables as CSS variables."}),"\n",(0,s.jsx)(t.h3,{id:"outputcssvariables",children:"outputCssVariables"}),"\n",(0,s.jsx)(t.p,{children:"Get component/block options and process them in CSS variables."}),"\n",(0,s.jsx)(t.h3,{id:"getunique",children:"getUnique"}),"\n",(0,s.jsx)(t.p,{children:"Returns a unique ID generally used for css variables."}),"\n",(0,s.jsx)(t.h3,{id:"overrideinnerblockattributes",children:"overrideInnerBlockAttributes"}),"\n",(0,s.jsx)(t.p,{children:"Used to set attributes on all innerBlocks. This value will be stored in the block editor store and set to a block."}),"\n",(0,s.jsx)(t.h3,{id:"overrideinnerblocksimplewrapperattributes",children:"overrideInnerBlockSimpleWrapperAttributes"}),"\n",(0,s.jsx)(t.p,{children:"Used to set attributes on all innerBlocks preset only for simple wrapper setup. This value will be stored in the block editor store and set to a block."}),"\n",(0,s.jsx)(t.h3,{id:"pasteinto",children:"pasteInto"}),"\n",(0,s.jsx)(t.p,{children:"Paste event handler."}),"\n",(0,s.jsx)(t.h3,{id:"props",children:"props"}),"\n",(0,s.jsx)(t.p,{children:"Output only attributes that are used in the component and remove everything else."}),"\n",(0,s.jsx)(t.h3,{id:"getattributes",children:"getAttributes"}),"\n",(0,s.jsx)(t.p,{children:'Get Block attributes combined in one: "shared, global, wrapper, components, block".'}),"\n",(0,s.jsx)(t.h3,{id:"getexample",children:"getExample"}),"\n",(0,s.jsx)(t.p,{children:'Get Block example attributes combined in one: "components and block".'}),"\n",(0,s.jsx)(t.h3,{id:"registerblocks",children:"registerBlocks"}),"\n",(0,s.jsxs)(t.p,{children:["Register all Block Editor blocks using WP ",(0,s.jsx)(t.code,{children:"registerBlockType"})," method."]}),"\n",(0,s.jsx)(t.h3,{id:"registervariations",children:"registerVariations"}),"\n",(0,s.jsxs)(t.p,{children:["Register all Variations Editor blocks using WP ",(0,s.jsx)(t.code,{children:"registerBlockVariation"})," method."]}),"\n",(0,s.jsx)(t.h3,{id:"ucfirst",children:"ucfirst"}),"\n",(0,s.jsx)(t.p,{children:"Convert the first letter of a string to uppercase."}),"\n",(0,s.jsx)(t.h1,{id:"general-helpers",children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/scripts/helpers",children:"General helpers"})}),"\n",(0,s.jsx)(t.p,{children:"These are all helpers generally used anywhere."}),"\n",(0,s.jsx)(t.h3,{id:"camelize",children:"camelize"}),"\n",(0,s.jsx)(t.p,{children:"Returns a camelCase-formatted string."}),"\n",(0,s.jsx)(t.h3,{id:"checkattr",children:"checkAttr"}),"\n",(0,s.jsx)(t.p,{children:"Check if attribute exist in attributes list and add default value if not."}),"\n",(0,s.jsx)(t.h3,{id:"checkattrresponsive",children:"checkAttrResponsive"}),"\n",(0,s.jsx)(t.p,{children:"Map and check attributes for responsive object."}),"\n",(0,s.jsx)(t.h3,{id:"cookies",children:"cookies"}),"\n",(0,s.jsx)(t.p,{children:"Helper to set and unset cookies."}),"\n",(0,s.jsx)(t.h3,{id:"debounce",children:"debounce"}),"\n",(0,s.jsx)(t.p,{children:"Debounces the provided function."}),"\n",(0,s.jsx)(t.h3,{id:"devices",children:"devices"}),"\n",(0,s.jsx)(t.p,{children:"Detect a certain device, so specific functionality can be implemented for it."}),"\n",(0,s.jsx)(t.h3,{id:"dynamicimport",children:"dynamicImport"}),"\n",(0,s.jsx)(t.p,{children:"Loop all paths required using require.context method."}),"\n",(0,s.jsx)(t.h3,{id:"elementchildrenheight",children:"elementChildrenHeight"}),"\n",(0,s.jsx)(t.p,{children:"Returns height of the element measured by height of its children."}),"\n",(0,s.jsx)(t.h3,{id:"escape-string",children:"escape-string"}),"\n",(0,s.jsx)(t.p,{children:"Takes the provided string and removes special characters"}),"\n",(0,s.jsx)(t.h3,{id:"navigator",children:"navigator"}),"\n",(0,s.jsxs)(t.p,{children:["The ",(0,s.jsx)(t.code,{children:"Navigator.vibrate()"})," method pulses the vibration hardware on the device, if such hardware exists."]}),"\n",(0,s.jsx)(t.h3,{id:"responsiveselectors",children:"responsiveSelectors"}),"\n",(0,s.jsx)(t.p,{children:"Create responsive selectors used for responsive attributes."}),"\n",(0,s.jsx)(t.h3,{id:"selector",children:"selector"}),"\n",(0,s.jsx)(t.p,{children:"Returns BEM selector for HTML class and checks if the condition part is set."}),"\n",(0,s.jsx)(t.h3,{id:"truncatemiddle",children:"truncateMiddle"}),"\n",(0,s.jsx)(t.p,{children:"Slices the string and inputs the provided separator after the specified characters."}),"\n",(0,s.jsx)(t.h1,{id:"plugins-helpers",children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/scripts/plugins",children:"Plugins helpers"})}),"\n",(0,s.jsx)(t.p,{children:"These are all helpers generally only in specific plugins."}),"\n",(0,s.jsx)(t.h3,{id:"yoastseo",children:"yoastSeo"}),"\n",(0,s.jsx)(t.p,{children:'This helper will search all blocks and components manifests and find attributes that have "seo": "true" key.\nThis key will be added in to the content and proceed by the YoastSeo Analysis plugin.'}),"\n",(0,s.jsx)(t.h1,{id:"storybook-helpers",children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/scripts/storybook",children:"Storybook helpers"})}),"\n",(0,s.jsx)(t.p,{children:"These are all helpers generally only in Storybook."}),"\n",(0,s.jsx)(t.h3,{id:"blockdetails",children:"blockDetails"}),"\n",(0,s.jsx)(t.p,{children:"Combine block details in one object."}),"\n",(0,s.jsx)(t.h3,{id:"gutenberg",children:"Gutenberg"}),"\n",(0,s.jsx)(t.p,{children:"Load actual Block Editor and all the magic."}),"\n",(0,s.jsx)(t.h3,{id:"storybookdefaultmockscategories",children:"storybookDefaultMocksCategories"}),"\n",(0,s.jsx)(t.p,{children:"Manually populate categories for blocks. This is generated in the PHP part of the real project."}),"\n",(0,s.jsx)(t.h3,{id:"storybookdefaultmockscolorpalette",children:"storybookDefaultMocksColorPalette"}),"\n",(0,s.jsx)(t.p,{children:"Manually populate blocks color palette. This is generated in the PHP part of the real project."}),"\n",(0,s.jsx)(t.h3,{id:"storybookwindowobjects",children:"storybookWindowObjects,"}),"\n",(0,s.jsx)(t.p,{children:"Loading WP build files."}),"\n",(0,s.jsx)(t.h3,{id:"storybookwpstyles",children:"storybookWpStyles"}),"\n",(0,s.jsx)(t.p,{children:"Loading styles for block editor."})]})}function h(e={}){const{wrapper:t}={...(0,l.M)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},4552:(e,t,i)=>{i.d(t,{I:()=>o,M:()=>r});var s=i(11504);const l={},n=s.createContext(l);function r(e){const t=s.useContext(n);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:r(e.components),s.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9a04d7c3.c7f859d2.js b/assets/js/9a04d7c3.c7f859d2.js deleted file mode 100644 index c39152ee1..000000000 --- a/assets/js/9a04d7c3.c7f859d2.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[5730],{96317:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>n,metadata:()=>o,toc:()=>a});var s=i(85893),l=i(11151);const n={id:"helpers-javascript",title:"JavaScript"},r="Editor helpers",o={id:"legacy/v8/basics/helpers-javascript",title:"JavaScript",description:"docs-source",source:"@site/docs/legacy/v8/basics/helpers-javascript.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/helpers-javascript",permalink:"/docs/legacy/v8/basics/helpers-javascript",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"helpers-javascript",title:"JavaScript"},sidebar:"docs",previous:{title:"Helpers",permalink:"/docs/legacy/v8/basics/helpers"},next:{title:"Scss",permalink:"/docs/legacy/v8/basics/helpers-scss"}},c={},a=[{value:"icons",id:"icons",level:3},{value:"illustrations",id:"illustrations",level:3},{value:"blockIcons",id:"blockicons",level:3},{value:"getActions",id:"getactions",level:3},{value:"getOption",id:"getoption",level:3},{value:"getOptionColors",id:"getoptioncolors",level:3},{value:"getOptions",id:"getoptions",level:3},{value:"getPaletteColors",id:"getpalettecolors",level:3},{value:"inserter",id:"inserter",level:3},{value:"outputCssVariablesGlobal",id:"outputcssvariablesglobal",level:3},{value:"outputCssVariables",id:"outputcssvariables",level:3},{value:"getUnique",id:"getunique",level:3},{value:"overrideInnerBlockAttributes",id:"overrideinnerblockattributes",level:3},{value:"overrideInnerBlockSimpleWrapperAttributes",id:"overrideinnerblocksimplewrapperattributes",level:3},{value:"pasteInto",id:"pasteinto",level:3},{value:"props",id:"props",level:3},{value:"getAttributes",id:"getattributes",level:3},{value:"getExample",id:"getexample",level:3},{value:"registerBlocks",id:"registerblocks",level:3},{value:"registerVariations",id:"registervariations",level:3},{value:"ucfirst",id:"ucfirst",level:3},{value:"camelize",id:"camelize",level:3},{value:"checkAttr",id:"checkattr",level:3},{value:"checkAttrResponsive",id:"checkattrresponsive",level:3},{value:"cookies",id:"cookies",level:3},{value:"debounce",id:"debounce",level:3},{value:"devices",id:"devices",level:3},{value:"dynamicImport",id:"dynamicimport",level:3},{value:"elementChildrenHeight",id:"elementchildrenheight",level:3},{value:"escape-string",id:"escape-string",level:3},{value:"navigator",id:"navigator",level:3},{value:"responsiveSelectors",id:"responsiveselectors",level:3},{value:"selector",id:"selector",level:3},{value:"truncateMiddle",id:"truncatemiddle",level:3},{value:"yoastSeo",id:"yoastseo",level:3},{value:"blockDetails",id:"blockdetails",level:3},{value:"Gutenberg",id:"gutenberg",level:3},{value:"storybookDefaultMocksCategories",id:"storybookdefaultmockscategories",level:3},{value:"storybookDefaultMocksColorPalette",id:"storybookdefaultmockscolorpalette",level:3},{value:"storybookWindowObjects,",id:"storybookwindowobjects",level:3},{value:"storybookWpStyles",id:"storybookwpstyles",level:3}];function d(e){const t={a:"a",code:"code",h1:"h1",h3:"h3",img:"img",p:"p",pre:"pre",...(0,l.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,s.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsxs)(t.p,{children:["All JavaScript helpers can be imported from the ",(0,s.jsx)(t.code,{children:"@eightshift/frontend-libs/scripts"})," folder, so you don't need to think about the internal folder structure of Eightshift Frontend Libs. If you want multiple functions imported just concatenate them in the import like this:"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"import {\n\tcamelize,\n\tcheckAttr,\n\tprops,\n\t...\n} from '@eightshift/frontend-libs/scripts';\n"})}),"\n",(0,s.jsx)(t.h1,{id:"editor-helpers",children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/scripts/editor",children:"Editor helpers"})}),"\n",(0,s.jsx)(t.p,{children:"All of these helpers are generally only used in the Block Editor."}),"\n",(0,s.jsx)(t.h3,{id:"icons",children:"icons"}),"\n",(0,s.jsx)(t.p,{children:"All UI icons."}),"\n",(0,s.jsx)(t.h3,{id:"illustrations",children:"illustrations"}),"\n",(0,s.jsx)(t.p,{children:"Illustrations for helper modals."}),"\n",(0,s.jsx)(t.h3,{id:"blockicons",children:"blockIcons"}),"\n",(0,s.jsx)(t.p,{children:"Block icons, primarily used in block manifests."}),"\n",(0,s.jsx)(t.h3,{id:"getactions",children:"getActions"}),"\n",(0,s.jsx)(t.p,{children:"Create attributes actions from blocks manifest.json.\nThis helper is deprecated and should not be used anymore."}),"\n",(0,s.jsx)(t.h3,{id:"getoption",children:"getOption"}),"\n",(0,s.jsx)(t.p,{children:"Provides ability to override component options from the parent block/component."}),"\n",(0,s.jsx)(t.h3,{id:"getoptioncolors",children:"getOptionColors"}),"\n",(0,s.jsx)(t.p,{children:"Use this hook to filter the global colors out of the component or block manifest.\nThis function is deprecated and getOption should be used."}),"\n",(0,s.jsx)(t.h3,{id:"getoptions",children:"getOptions"}),"\n",(0,s.jsx)(t.p,{children:"Combines two objects of options, one from current component and the other from the parent component."}),"\n",(0,s.jsx)(t.h3,{id:"getpalettecolors",children:"getPaletteColors"}),"\n",(0,s.jsx)(t.p,{children:"Use this hook to read editor-color-palette colors directly from WP built in store."}),"\n",(0,s.jsx)(t.h3,{id:"inserter",children:"inserter"}),"\n",(0,s.jsx)(t.p,{children:"Development inserter made to insert one or multiple blocks in the dom using console."}),"\n",(0,s.jsx)(t.h3,{id:"outputcssvariablesglobal",children:"outputCssVariablesGlobal"}),"\n",(0,s.jsx)(t.p,{children:"Get Global manifest.json and return global variables as CSS variables."}),"\n",(0,s.jsx)(t.h3,{id:"outputcssvariables",children:"outputCssVariables"}),"\n",(0,s.jsx)(t.p,{children:"Get component/block options and process them in CSS variables."}),"\n",(0,s.jsx)(t.h3,{id:"getunique",children:"getUnique"}),"\n",(0,s.jsx)(t.p,{children:"Returns a unique ID generally used for css variables."}),"\n",(0,s.jsx)(t.h3,{id:"overrideinnerblockattributes",children:"overrideInnerBlockAttributes"}),"\n",(0,s.jsx)(t.p,{children:"Used to set attributes on all innerBlocks. This value will be stored in the block editor store and set to a block."}),"\n",(0,s.jsx)(t.h3,{id:"overrideinnerblocksimplewrapperattributes",children:"overrideInnerBlockSimpleWrapperAttributes"}),"\n",(0,s.jsx)(t.p,{children:"Used to set attributes on all innerBlocks preset only for simple wrapper setup. This value will be stored in the block editor store and set to a block."}),"\n",(0,s.jsx)(t.h3,{id:"pasteinto",children:"pasteInto"}),"\n",(0,s.jsx)(t.p,{children:"Paste event handler."}),"\n",(0,s.jsx)(t.h3,{id:"props",children:"props"}),"\n",(0,s.jsx)(t.p,{children:"Output only attributes that are used in the component and remove everything else."}),"\n",(0,s.jsx)(t.h3,{id:"getattributes",children:"getAttributes"}),"\n",(0,s.jsx)(t.p,{children:'Get Block attributes combined in one: "shared, global, wrapper, components, block".'}),"\n",(0,s.jsx)(t.h3,{id:"getexample",children:"getExample"}),"\n",(0,s.jsx)(t.p,{children:'Get Block example attributes combined in one: "components and block".'}),"\n",(0,s.jsx)(t.h3,{id:"registerblocks",children:"registerBlocks"}),"\n",(0,s.jsxs)(t.p,{children:["Register all Block Editor blocks using WP ",(0,s.jsx)(t.code,{children:"registerBlockType"})," method."]}),"\n",(0,s.jsx)(t.h3,{id:"registervariations",children:"registerVariations"}),"\n",(0,s.jsxs)(t.p,{children:["Register all Variations Editor blocks using WP ",(0,s.jsx)(t.code,{children:"registerBlockVariation"})," method."]}),"\n",(0,s.jsx)(t.h3,{id:"ucfirst",children:"ucfirst"}),"\n",(0,s.jsx)(t.p,{children:"Convert the first letter of a string to uppercase."}),"\n",(0,s.jsx)(t.h1,{id:"general-helpers",children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/scripts/helpers",children:"General helpers"})}),"\n",(0,s.jsx)(t.p,{children:"These are all helpers generally used anywhere."}),"\n",(0,s.jsx)(t.h3,{id:"camelize",children:"camelize"}),"\n",(0,s.jsx)(t.p,{children:"Returns a camelCase-formatted string."}),"\n",(0,s.jsx)(t.h3,{id:"checkattr",children:"checkAttr"}),"\n",(0,s.jsx)(t.p,{children:"Check if attribute exist in attributes list and add default value if not."}),"\n",(0,s.jsx)(t.h3,{id:"checkattrresponsive",children:"checkAttrResponsive"}),"\n",(0,s.jsx)(t.p,{children:"Map and check attributes for responsive object."}),"\n",(0,s.jsx)(t.h3,{id:"cookies",children:"cookies"}),"\n",(0,s.jsx)(t.p,{children:"Helper to set and unset cookies."}),"\n",(0,s.jsx)(t.h3,{id:"debounce",children:"debounce"}),"\n",(0,s.jsx)(t.p,{children:"Debounces the provided function."}),"\n",(0,s.jsx)(t.h3,{id:"devices",children:"devices"}),"\n",(0,s.jsx)(t.p,{children:"Detect a certain device, so specific functionality can be implemented for it."}),"\n",(0,s.jsx)(t.h3,{id:"dynamicimport",children:"dynamicImport"}),"\n",(0,s.jsx)(t.p,{children:"Loop all paths required using require.context method."}),"\n",(0,s.jsx)(t.h3,{id:"elementchildrenheight",children:"elementChildrenHeight"}),"\n",(0,s.jsx)(t.p,{children:"Returns height of the element measured by height of its children."}),"\n",(0,s.jsx)(t.h3,{id:"escape-string",children:"escape-string"}),"\n",(0,s.jsx)(t.p,{children:"Takes the provided string and removes special characters"}),"\n",(0,s.jsx)(t.h3,{id:"navigator",children:"navigator"}),"\n",(0,s.jsxs)(t.p,{children:["The ",(0,s.jsx)(t.code,{children:"Navigator.vibrate()"})," method pulses the vibration hardware on the device, if such hardware exists."]}),"\n",(0,s.jsx)(t.h3,{id:"responsiveselectors",children:"responsiveSelectors"}),"\n",(0,s.jsx)(t.p,{children:"Create responsive selectors used for responsive attributes."}),"\n",(0,s.jsx)(t.h3,{id:"selector",children:"selector"}),"\n",(0,s.jsx)(t.p,{children:"Returns BEM selector for HTML class and checks if the condition part is set."}),"\n",(0,s.jsx)(t.h3,{id:"truncatemiddle",children:"truncateMiddle"}),"\n",(0,s.jsx)(t.p,{children:"Slices the string and inputs the provided separator after the specified characters."}),"\n",(0,s.jsx)(t.h1,{id:"plugins-helpers",children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/scripts/plugins",children:"Plugins helpers"})}),"\n",(0,s.jsx)(t.p,{children:"These are all helpers generally only in specific plugins."}),"\n",(0,s.jsx)(t.h3,{id:"yoastseo",children:"yoastSeo"}),"\n",(0,s.jsx)(t.p,{children:'This helper will search all blocks and components manifests and find attributes that have "seo": "true" key.\nThis key will be added in to the content and proceed by the YoastSeo Analysis plugin.'}),"\n",(0,s.jsx)(t.h1,{id:"storybook-helpers",children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/scripts/storybook",children:"Storybook helpers"})}),"\n",(0,s.jsx)(t.p,{children:"These are all helpers generally only in Storybook."}),"\n",(0,s.jsx)(t.h3,{id:"blockdetails",children:"blockDetails"}),"\n",(0,s.jsx)(t.p,{children:"Combine block details in one object."}),"\n",(0,s.jsx)(t.h3,{id:"gutenberg",children:"Gutenberg"}),"\n",(0,s.jsx)(t.p,{children:"Load actual Block Editor and all the magic."}),"\n",(0,s.jsx)(t.h3,{id:"storybookdefaultmockscategories",children:"storybookDefaultMocksCategories"}),"\n",(0,s.jsx)(t.p,{children:"Manually populate categories for blocks. This is generated in the PHP part of the real project."}),"\n",(0,s.jsx)(t.h3,{id:"storybookdefaultmockscolorpalette",children:"storybookDefaultMocksColorPalette"}),"\n",(0,s.jsx)(t.p,{children:"Manually populate blocks color palette. This is generated in the PHP part of the real project."}),"\n",(0,s.jsx)(t.h3,{id:"storybookwindowobjects",children:"storybookWindowObjects,"}),"\n",(0,s.jsx)(t.p,{children:"Loading WP build files."}),"\n",(0,s.jsx)(t.h3,{id:"storybookwpstyles",children:"storybookWpStyles"}),"\n",(0,s.jsx)(t.p,{children:"Loading styles for block editor."})]})}function h(e={}){const{wrapper:t}={...(0,l.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},11151:(e,t,i)=>{i.d(t,{Z:()=>o,a:()=>r});var s=i(67294);const l={},n=s.createContext(l);function r(e){const t=s.useContext(n);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:r(e.components),s.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9a46388f.f1a4248d.js b/assets/js/9a46388f.f1a4248d.js new file mode 100644 index 000000000..24636db2a --- /dev/null +++ b/assets/js/9a46388f.f1a4248d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[2968],{48256:e=>{e.exports=JSON.parse('{"label":"boilerplate","permalink":"/blog/tags/boilerplate","allTagsPath":"/blog/tags","count":14,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/9a46388f.f96d5bc9.js b/assets/js/9a46388f.f96d5bc9.js deleted file mode 100644 index 6b95138ab..000000000 --- a/assets/js/9a46388f.f96d5bc9.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[83800],{19707:e=>{e.exports=JSON.parse('{"label":"boilerplate","permalink":"/blog/tags/boilerplate","allTagsPath":"/blog/tags","count":14,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/9ac95129.351e9b2f.js b/assets/js/9ac95129.351e9b2f.js new file mode 100644 index 000000000..ca390321c --- /dev/null +++ b/assets/js/9ac95129.351e9b2f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[1372],{21140:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>i,metadata:()=>r,toc:()=>c});var o=t(17624),s=t(4552);const i={id:"tips-tricks",title:"Tips & Tricks"},a=void 0,r={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.",source:"@site/docs/legacy/v6/basics/tips-tricks.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/tips-tricks",permalink:"/docs/legacy/v6/basics/tips-tricks",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"tips-tricks",title:"Tips & Tricks"},sidebar:"docs",previous:{title:"PHP",permalink:"/docs/legacy/v6/basics/helpers-php"},next:{title:"Versions",permalink:"/docs/legacy/v5/versions"}},l={},c=[{value:"Always disable cache when you are writing block editor components",id:"always-disable-cache-when-you-are-writing-block-editor-components",level:3},{value:"When to restart your Webpack watch?",id:"when-to-restart-your-webpack-watch",level:3},{value:"Using boilerplate and boilerplate-plugin in the same project",id:"using-boilerplate-and-boilerplate-plugin-in-the-same-project",level:3},{value:"Internationalization (I18n) and localization (L10n)",id:"internationalization-i18n-and-localization-l10n",level:3}];function d(e){const n={a:"a",code:"code",em:"em",h3:"h3",li:"li",p:"p",pre:"pre",ul:"ul",...(0,s.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:"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."}),"\n",(0,o.jsx)(n.h3,{id:"always-disable-cache-when-you-are-writing-block-editor-components",children:"Always disable cache when you are writing block editor components"}),"\n",(0,o.jsx)(n.p,{children:"When you are writing a JavaScript part of the block you should always have your browser inspector open and checkbox checked for disabling browser cache in the network tab. WordPress core is caching JS files and you may not always get the latest changes of your code in the editor. This way you can be sure that everything is up to date."}),"\n",(0,o.jsx)(n.h3,{id:"when-to-restart-your-webpack-watch",children:"When to restart your Webpack watch?"}),"\n",(0,o.jsx)(n.p,{children:"As we described in the previous chapters Webpack watch is used to monitor all your code changes and update the compiled files with your latest changes. We have set our folder structure in a way so we can have files automatically included in the build. However, there are some times you must restart your Webpack watch:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"Adding a new block/component."}),"\n",(0,o.jsx)(n.li,{children:"Changing the block/component folder name."}),"\n",(0,o.jsx)(n.li,{children:"Changing any of the file names in the block/component folder."}),"\n",(0,o.jsx)(n.li,{children:"Adding/removing a JS package to the project."}),"\n",(0,o.jsx)(n.li,{children:"Changing the webpack, babel, eslint, stylelint configuration."}),"\n",(0,o.jsx)(n.li,{children:"Changing the project domain name for Browser sync."}),"\n",(0,o.jsx)(n.li,{children:"Adding/removing a new JS or SCSS file in the global assets folder."}),"\n"]}),"\n",(0,o.jsx)(n.h3,{id:"using-boilerplate-and-boilerplate-plugin-in-the-same-project",children:"Using boilerplate and boilerplate-plugin in the same project"}),"\n",(0,o.jsx)(n.p,{children:"When you are using one boilerplate for a theme and another for a plugin keep in mind that you will have to do some changes. We would recommend leaving the theme as is and making changes to the plugin. Here are some of the changes you should make:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["If using manifest, you should update the ",(0,o.jsx)(n.code,{children:"MANIFEST_ITEM"})," filter name to something else."]}),"\n",(0,o.jsx)(n.li,{children:"If using blocks, change the default category of all your plugin blocks."}),"\n",(0,o.jsxs)(n.li,{children:["If using blocks, update all blocks to a new category in each block ",(0,o.jsx)(n.code,{children:"manifest.json"})," file."]}),"\n",(0,o.jsxs)(n.li,{children:["If using blocks, update the block namespace in the global block ",(0,o.jsx)(n.code,{children:"manifest.json"})," file."]}),"\n",(0,o.jsx)(n.li,{children:"If using blocks, change the blocks' background and foreground color (Not necessary but it would be a good UX)."}),"\n",(0,o.jsx)(n.li,{children:"If using blocks, make your own implementation of the Components::render method so you don't need to pass project location on every usage (example below)."}),"\n",(0,o.jsxs)(n.li,{children:["Update the default project imposter namespace in the ",(0,o.jsx)(n.code,{children:"composer.json"})," file and run ",(0,o.jsx)(n.code,{children:"composer install"}),"."]}),"\n",(0,o.jsx)(n.li,{children:"Update all files with the new vendor namespace prefix."}),"\n",(0,o.jsx)(n.li,{children:"Update the default WP-CLI command prefix for your plugin located in the root of your plugin."}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Helpers/Components.php"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-php",children:"/**\n * Helpers for components\n *\n * @package PluginNamespace\\Helpers\n */\n\ndeclare(strict_types=1);\n\nnamespace PluginNamespace\\Helpers;\n\nuse PluginNamespace\\Config\\Config;\nuse EightshiftLibs\\Helpers\\Components as LibsComponents;\n\n/**\n * Helpers for components\n */\nclass Components extends LibsComponents\n{\n\t/**\n\t * Local render method.\n\t */\n\tpublic static function render(string $component, array $attributes = [], string $parentPath = '', bool $useComponentDefaults = false): string\n\t{\n\t\t$parentPath = Config::getProjectPath();\n\n\t\treturn parent::render($component, $attributes, $parentPath, $useComponentDefaults);\n\t}\n}\n"})}),"\n",(0,o.jsx)(n.h3,{id:"internationalization-i18n-and-localization-l10n",children:"Internationalization (I18n) and localization (L10n)"}),"\n",(0,o.jsxs)(n.p,{children:["To make sure your project is translatable into other languages, you should use ",(0,o.jsx)(n.a,{href:"https://codex.wordpress.org/I18n_for_WordPress_Developers",children:"WordPress's i18n functions"})," every time you output text. This process, called internationalization, is quite simple to implement by using the ",(0,o.jsx)(n.code,{children:"__"})," WordPress function, which is available in both PHP and Gutenberg (in the ",(0,o.jsx)(n.code,{children:"@wordpress/i18n"})," package) and is standard practice in Eightshift Frontend Libs for all text output."]}),"\n",(0,o.jsxs)(n.p,{children:["The ",(0,o.jsx)(n.code,{children:"__"})," function accepts a string to translate and a text-domain, which is used to tell WordPress which translation set to use, and returns the translated string (or original string, in case a translation doesn't exist). Note that you can provide a ",(0,o.jsx)(n.code,{children:"sprintf"}),"-parametrized string to ",(0,o.jsx)(n.code,{children:"__"})," and use ",(0,o.jsx)(n.code,{children:"sprintf"})," on its return value to populate the string with certain values. You should also load the text-domain using ",(0,o.jsx)(n.code,{children:"load_theme_textdomain"}),". Using the Eightshift Libs ",(0,o.jsx)(n.code,{children:"I18n"})," class will do this for you by instructing WordPress to look for translations in ",(0,o.jsx)(n.code,{children:"src/I18n/languages"})," with the text-domain defined as your project name."]}),"\n",(0,o.jsxs)(n.p,{children:["However, there will come a time when ",(0,o.jsx)(n.em,{children:"being able"})," to translate won't be enough. You'll actually need to ",(0,o.jsx)(n.em,{children:"do"})," that. This happens in a process called localization and is a bit less trivial to do."]}),"\n",(0,o.jsxs)(n.p,{children:["First, you'll need to prepare the strings for translators. As WordPress i18n is based upon the ",(0,o.jsx)(n.code,{children:"gettext"}),' system, you should generate a POT ("portable object template") file which you can do by running WP-CLI command ',(0,o.jsx)(n.code,{children:"wp i18n make-pot"})," (",(0,o.jsx)(n.a,{href:"https://developer.wordpress.org/cli/commands/i18n/make-pot/",children:"https://developer.wordpress.org/cli/commands/i18n/make-pot/"}),") in your project root. Note that you may need to exclude vendor folders."]}),"\n",(0,o.jsxs)(n.p,{children:["You can provide this POT file to translators directly, and they can use tools for PO editing such as Poedit to translate the strings. After that, they can export an MO file which you can import into your project. Alternatively, you can set up a translation environment like Glotpress for translations, import your POT file there, and export translations as PO and MO files. You should locate these files into the path defined in your ",(0,o.jsx)(n.code,{children:"load_theme_textdomain"})," call, and they should have the name ",(0,o.jsx)(n.code,{children:"{textdomain}-{locale}.mo"})," (e.g. ",(0,o.jsx)(n.code,{children:"eightshift-boilerplate-hr_HR.mo"}),"), that is, ",(0,o.jsx)(n.code,{children:"{textdomain}-{locale}.po"}),"."]}),"\n",(0,o.jsxs)(n.p,{children:["MO translations are only loaded by PHP code and aren't understood by Gutenberg. To do so, you'll need to generate a JED file from the PO file. You can probably use the WP CLI ",(0,o.jsx)(n.code,{children:"wp i18n make-json"})," file for that (",(0,o.jsx)(n.a,{href:"https://developer.wordpress.org/cli/commands/i18n/make-json/",children:"https://developer.wordpress.org/cli/commands/i18n/make-json/"}),"). If you're using Glotpress, you can simply export the locale as a JED file."]}),"\n",(0,o.jsxs)(n.p,{children:["To instruct Gutenberg on how to load your JED translations, you'll need to call ",(0,o.jsx)(n.code,{children:"wp_set_script_translations"})," providing a text-domain, handle (script identifier), and locale path. If you're using the Eightshift Libs ",(0,o.jsx)(n.code,{children:"I18n"})," class, this is done for you with the same assumptions as for PHP translations. Furthermore, as we're assuming you're setting translations for block editor scripts, we set the handle to ",(0,o.jsx)(n.code,{children:"{$assetsPrefix}-block-editor-scripts"}),". If you haven't changed how scripts are enqueued, this should be the correct handle and your assets prefix should be your project name."]}),"\n",(0,o.jsxs)(n.p,{children:["Finally, to make sure WordPress loads the JED translations, you should place them into the path defined by your ",(0,o.jsx)(n.code,{children:"wp_set_script_translations"})," call (",(0,o.jsx)(n.code,{children:"src/I18n/languages"})," by default in the ",(0,o.jsx)(n.code,{children:"I18n"})," class) and make sure they have the name structure ",(0,o.jsx)(n.code,{children:"{textdomain}-{locale}-{handle}.json"}),". (e.g. ",(0,o.jsx)(n.code,{children:"eightshift-boilerplate-hr_HR-eightshift-boilerplate-block-editor-scripts.json"}),")"]}),"\n",(0,o.jsx)(n.p,{children:"After all of this work, you should be able to change the locale on the site, network or user level in the WordPress admin."})]})}function h(e={}){const{wrapper:n}={...(0,s.M)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},4552:(e,n,t)=>{t.d(n,{I:()=>r,M:()=>a});var o=t(11504);const s={},i=o.createContext(s);function a(e){const n=o.useContext(i);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(s):e.components||s:a(e.components),o.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9ac95129.72daa972.js b/assets/js/9ac95129.72daa972.js deleted file mode 100644 index dc7df952c..000000000 --- a/assets/js/9ac95129.72daa972.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[81135],{88708:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>i,metadata:()=>r,toc:()=>c});var o=t(85893),s=t(11151);const i={id:"tips-tricks",title:"Tips & Tricks"},a=void 0,r={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.",source:"@site/docs/legacy/v6/basics/tips-tricks.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/tips-tricks",permalink:"/docs/legacy/v6/basics/tips-tricks",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"tips-tricks",title:"Tips & Tricks"},sidebar:"docs",previous:{title:"PHP",permalink:"/docs/legacy/v6/basics/helpers-php"},next:{title:"Versions",permalink:"/docs/legacy/v5/versions"}},l={},c=[{value:"Always disable cache when you are writing block editor components",id:"always-disable-cache-when-you-are-writing-block-editor-components",level:3},{value:"When to restart your Webpack watch?",id:"when-to-restart-your-webpack-watch",level:3},{value:"Using boilerplate and boilerplate-plugin in the same project",id:"using-boilerplate-and-boilerplate-plugin-in-the-same-project",level:3},{value:"Internationalization (I18n) and localization (L10n)",id:"internationalization-i18n-and-localization-l10n",level:3}];function d(e){const n={a:"a",code:"code",em:"em",h3:"h3",li:"li",p:"p",pre:"pre",ul:"ul",...(0,s.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:"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."}),"\n",(0,o.jsx)(n.h3,{id:"always-disable-cache-when-you-are-writing-block-editor-components",children:"Always disable cache when you are writing block editor components"}),"\n",(0,o.jsx)(n.p,{children:"When you are writing a JavaScript part of the block you should always have your browser inspector open and checkbox checked for disabling browser cache in the network tab. WordPress core is caching JS files and you may not always get the latest changes of your code in the editor. This way you can be sure that everything is up to date."}),"\n",(0,o.jsx)(n.h3,{id:"when-to-restart-your-webpack-watch",children:"When to restart your Webpack watch?"}),"\n",(0,o.jsx)(n.p,{children:"As we described in the previous chapters Webpack watch is used to monitor all your code changes and update the compiled files with your latest changes. We have set our folder structure in a way so we can have files automatically included in the build. However, there are some times you must restart your Webpack watch:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"Adding a new block/component."}),"\n",(0,o.jsx)(n.li,{children:"Changing the block/component folder name."}),"\n",(0,o.jsx)(n.li,{children:"Changing any of the file names in the block/component folder."}),"\n",(0,o.jsx)(n.li,{children:"Adding/removing a JS package to the project."}),"\n",(0,o.jsx)(n.li,{children:"Changing the webpack, babel, eslint, stylelint configuration."}),"\n",(0,o.jsx)(n.li,{children:"Changing the project domain name for Browser sync."}),"\n",(0,o.jsx)(n.li,{children:"Adding/removing a new JS or SCSS file in the global assets folder."}),"\n"]}),"\n",(0,o.jsx)(n.h3,{id:"using-boilerplate-and-boilerplate-plugin-in-the-same-project",children:"Using boilerplate and boilerplate-plugin in the same project"}),"\n",(0,o.jsx)(n.p,{children:"When you are using one boilerplate for a theme and another for a plugin keep in mind that you will have to do some changes. We would recommend leaving the theme as is and making changes to the plugin. Here are some of the changes you should make:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["If using manifest, you should update the ",(0,o.jsx)(n.code,{children:"MANIFEST_ITEM"})," filter name to something else."]}),"\n",(0,o.jsx)(n.li,{children:"If using blocks, change the default category of all your plugin blocks."}),"\n",(0,o.jsxs)(n.li,{children:["If using blocks, update all blocks to a new category in each block ",(0,o.jsx)(n.code,{children:"manifest.json"})," file."]}),"\n",(0,o.jsxs)(n.li,{children:["If using blocks, update the block namespace in the global block ",(0,o.jsx)(n.code,{children:"manifest.json"})," file."]}),"\n",(0,o.jsx)(n.li,{children:"If using blocks, change the blocks' background and foreground color (Not necessary but it would be a good UX)."}),"\n",(0,o.jsx)(n.li,{children:"If using blocks, make your own implementation of the Components::render method so you don't need to pass project location on every usage (example below)."}),"\n",(0,o.jsxs)(n.li,{children:["Update the default project imposter namespace in the ",(0,o.jsx)(n.code,{children:"composer.json"})," file and run ",(0,o.jsx)(n.code,{children:"composer install"}),"."]}),"\n",(0,o.jsx)(n.li,{children:"Update all files with the new vendor namespace prefix."}),"\n",(0,o.jsx)(n.li,{children:"Update the default WP-CLI command prefix for your plugin located in the root of your plugin."}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Helpers/Components.php"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-php",children:"/**\n * Helpers for components\n *\n * @package PluginNamespace\\Helpers\n */\n\ndeclare(strict_types=1);\n\nnamespace PluginNamespace\\Helpers;\n\nuse PluginNamespace\\Config\\Config;\nuse EightshiftLibs\\Helpers\\Components as LibsComponents;\n\n/**\n * Helpers for components\n */\nclass Components extends LibsComponents\n{\n\t/**\n\t * Local render method.\n\t */\n\tpublic static function render(string $component, array $attributes = [], string $parentPath = '', bool $useComponentDefaults = false): string\n\t{\n\t\t$parentPath = Config::getProjectPath();\n\n\t\treturn parent::render($component, $attributes, $parentPath, $useComponentDefaults);\n\t}\n}\n"})}),"\n",(0,o.jsx)(n.h3,{id:"internationalization-i18n-and-localization-l10n",children:"Internationalization (I18n) and localization (L10n)"}),"\n",(0,o.jsxs)(n.p,{children:["To make sure your project is translatable into other languages, you should use ",(0,o.jsx)(n.a,{href:"https://codex.wordpress.org/I18n_for_WordPress_Developers",children:"WordPress's i18n functions"})," every time you output text. This process, called internationalization, is quite simple to implement by using the ",(0,o.jsx)(n.code,{children:"__"})," WordPress function, which is available in both PHP and Gutenberg (in the ",(0,o.jsx)(n.code,{children:"@wordpress/i18n"})," package) and is standard practice in Eightshift Frontend Libs for all text output."]}),"\n",(0,o.jsxs)(n.p,{children:["The ",(0,o.jsx)(n.code,{children:"__"})," function accepts a string to translate and a text-domain, which is used to tell WordPress which translation set to use, and returns the translated string (or original string, in case a translation doesn't exist). Note that you can provide a ",(0,o.jsx)(n.code,{children:"sprintf"}),"-parametrized string to ",(0,o.jsx)(n.code,{children:"__"})," and use ",(0,o.jsx)(n.code,{children:"sprintf"})," on its return value to populate the string with certain values. You should also load the text-domain using ",(0,o.jsx)(n.code,{children:"load_theme_textdomain"}),". Using the Eightshift Libs ",(0,o.jsx)(n.code,{children:"I18n"})," class will do this for you by instructing WordPress to look for translations in ",(0,o.jsx)(n.code,{children:"src/I18n/languages"})," with the text-domain defined as your project name."]}),"\n",(0,o.jsxs)(n.p,{children:["However, there will come a time when ",(0,o.jsx)(n.em,{children:"being able"})," to translate won't be enough. You'll actually need to ",(0,o.jsx)(n.em,{children:"do"})," that. This happens in a process called localization and is a bit less trivial to do."]}),"\n",(0,o.jsxs)(n.p,{children:["First, you'll need to prepare the strings for translators. As WordPress i18n is based upon the ",(0,o.jsx)(n.code,{children:"gettext"}),' system, you should generate a POT ("portable object template") file which you can do by running WP-CLI command ',(0,o.jsx)(n.code,{children:"wp i18n make-pot"})," (",(0,o.jsx)(n.a,{href:"https://developer.wordpress.org/cli/commands/i18n/make-pot/",children:"https://developer.wordpress.org/cli/commands/i18n/make-pot/"}),") in your project root. Note that you may need to exclude vendor folders."]}),"\n",(0,o.jsxs)(n.p,{children:["You can provide this POT file to translators directly, and they can use tools for PO editing such as Poedit to translate the strings. After that, they can export an MO file which you can import into your project. Alternatively, you can set up a translation environment like Glotpress for translations, import your POT file there, and export translations as PO and MO files. You should locate these files into the path defined in your ",(0,o.jsx)(n.code,{children:"load_theme_textdomain"})," call, and they should have the name ",(0,o.jsx)(n.code,{children:"{textdomain}-{locale}.mo"})," (e.g. ",(0,o.jsx)(n.code,{children:"eightshift-boilerplate-hr_HR.mo"}),"), that is, ",(0,o.jsx)(n.code,{children:"{textdomain}-{locale}.po"}),"."]}),"\n",(0,o.jsxs)(n.p,{children:["MO translations are only loaded by PHP code and aren't understood by Gutenberg. To do so, you'll need to generate a JED file from the PO file. You can probably use the WP CLI ",(0,o.jsx)(n.code,{children:"wp i18n make-json"})," file for that (",(0,o.jsx)(n.a,{href:"https://developer.wordpress.org/cli/commands/i18n/make-json/",children:"https://developer.wordpress.org/cli/commands/i18n/make-json/"}),"). If you're using Glotpress, you can simply export the locale as a JED file."]}),"\n",(0,o.jsxs)(n.p,{children:["To instruct Gutenberg on how to load your JED translations, you'll need to call ",(0,o.jsx)(n.code,{children:"wp_set_script_translations"})," providing a text-domain, handle (script identifier), and locale path. If you're using the Eightshift Libs ",(0,o.jsx)(n.code,{children:"I18n"})," class, this is done for you with the same assumptions as for PHP translations. Furthermore, as we're assuming you're setting translations for block editor scripts, we set the handle to ",(0,o.jsx)(n.code,{children:"{$assetsPrefix}-block-editor-scripts"}),". If you haven't changed how scripts are enqueued, this should be the correct handle and your assets prefix should be your project name."]}),"\n",(0,o.jsxs)(n.p,{children:["Finally, to make sure WordPress loads the JED translations, you should place them into the path defined by your ",(0,o.jsx)(n.code,{children:"wp_set_script_translations"})," call (",(0,o.jsx)(n.code,{children:"src/I18n/languages"})," by default in the ",(0,o.jsx)(n.code,{children:"I18n"})," class) and make sure they have the name structure ",(0,o.jsx)(n.code,{children:"{textdomain}-{locale}-{handle}.json"}),". (e.g. ",(0,o.jsx)(n.code,{children:"eightshift-boilerplate-hr_HR-eightshift-boilerplate-block-editor-scripts.json"}),")"]}),"\n",(0,o.jsx)(n.p,{children:"After all of this work, you should be able to change the locale on the site, network or user level in the WordPress admin."})]})}function h(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},11151:(e,n,t)=>{t.d(n,{Z:()=>r,a:()=>a});var o=t(67294);const s={},i=o.createContext(s);function a(e){const n=o.useContext(i);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(s):e.components||s:a(e.components),o.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9bd02e6c.15e5a506.js b/assets/js/9bd02e6c.15e5a506.js new file mode 100644 index 000000000..a0b43f587 --- /dev/null +++ b/assets/js/9bd02e6c.15e5a506.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[22472],{23316:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>a,contentTitle:()=>l,default:()=>p,frontMatter:()=>o,metadata:()=>r,toc:()=>c});var n=s(17624),i=s(4552);const o={id:"wp-cli",title:"WP-CLI"},l=void 0,r={id:"php/wp-cli",title:"WP-CLI",description:"What is WP-CLI?",source:"@site/forms/php/wp-cli.md",sourceDirName:"php",slug:"/php/wp-cli",permalink:"/forms/php/wp-cli",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"wp-cli",title:"WP-CLI"},sidebar:"forms",previous:{title:"Helpers",permalink:"/forms/php/helpers"},next:{title:"How to use?",permalink:"/forms/php/filters/how-to-use"}},a={},c=[{value:"What is WP-CLI?",id:"what-is-wp-cli",level:2},{value:"Available commands",id:"available-commands",level:2},{value:"copy_stylesheet_set",id:"copy_stylesheet_set",level:3}];function d(e){const t={admonition:"admonition",code:"code",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h2,{id:"what-is-wp-cli",children:"What is WP-CLI?"}),"\n",(0,n.jsx)(t.p,{children:"WP-CLI is the command-line interface for WordPress. You can update plugins, configure multisite installs and much more, without using a web browser."}),"\n",(0,n.jsx)(t.h2,{id:"available-commands",children:"Available commands"}),"\n",(0,n.jsx)(t.p,{children:"Eightshift Forms offers a few commands that can be used to speed up your development process."}),"\n",(0,n.jsx)(t.h3,{id:"copy_stylesheet_set",children:"copy_stylesheet_set"}),"\n",(0,n.jsxs)(t.p,{children:["This stylesheet set is used to give you a head start in providing your own style to the form. It will copy a predefined stylesheet set to your active theme as a new ",(0,n.jsx)(t.code,{children:"component"})," and give you all the files necessary to provide your own style."]}),"\n",(0,n.jsx)(t.admonition,{type:"note",children:(0,n.jsx)(t.p,{children:"After adding a custom stylesheet, make sure to deactivate built-in styles in Global settings!"})}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-bash",children:"wp eightshift-forms esf copy_stylesheet_set\n"})}),"\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Available options"}),":"]}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"--additional-path=<additional-path>"})," - Set additional path relative from the active theme. Example. ",(0,n.jsx)(t.code,{children:"src/Block/components/"}),"."]}),"\n"]})]})}function p(e={}){const{wrapper:t}={...(0,i.M)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},4552:(e,t,s)=>{s.d(t,{I:()=>r,M:()=>l});var n=s(11504);const i={},o=n.createContext(i);function l(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(i):e.components||i:l(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9bd02e6c.367b7884.js b/assets/js/9bd02e6c.367b7884.js deleted file mode 100644 index 5925b5241..000000000 --- a/assets/js/9bd02e6c.367b7884.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[31574],{8722:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>a,contentTitle:()=>l,default:()=>p,frontMatter:()=>o,metadata:()=>r,toc:()=>c});var n=s(85893),i=s(11151);const o={id:"wp-cli",title:"WP-CLI"},l=void 0,r={id:"php/wp-cli",title:"WP-CLI",description:"What is WP-CLI?",source:"@site/forms/php/wp-cli.md",sourceDirName:"php",slug:"/php/wp-cli",permalink:"/forms/php/wp-cli",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"wp-cli",title:"WP-CLI"},sidebar:"forms",previous:{title:"Helpers",permalink:"/forms/php/helpers"},next:{title:"How to use?",permalink:"/forms/php/filters/how-to-use"}},a={},c=[{value:"What is WP-CLI?",id:"what-is-wp-cli",level:2},{value:"Available commands",id:"available-commands",level:2},{value:"copy_stylesheet_set",id:"copy_stylesheet_set",level:3}];function d(e){const t={admonition:"admonition",code:"code",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h2,{id:"what-is-wp-cli",children:"What is WP-CLI?"}),"\n",(0,n.jsx)(t.p,{children:"WP-CLI is the command-line interface for WordPress. You can update plugins, configure multisite installs and much more, without using a web browser."}),"\n",(0,n.jsx)(t.h2,{id:"available-commands",children:"Available commands"}),"\n",(0,n.jsx)(t.p,{children:"Eightshift Forms offers a few commands that can be used to speed up your development process."}),"\n",(0,n.jsx)(t.h3,{id:"copy_stylesheet_set",children:"copy_stylesheet_set"}),"\n",(0,n.jsxs)(t.p,{children:["This stylesheet set is used to give you a head start in providing your own style to the form. It will copy a predefined stylesheet set to your active theme as a new ",(0,n.jsx)(t.code,{children:"component"})," and give you all the files necessary to provide your own style."]}),"\n",(0,n.jsx)(t.admonition,{type:"note",children:(0,n.jsx)(t.p,{children:"After adding a custom stylesheet, make sure to deactivate built-in styles in Global settings!"})}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-bash",children:"wp eightshift-forms esf copy_stylesheet_set\n"})}),"\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Available options"}),":"]}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"--additional-path=<additional-path>"})," - Set additional path relative from the active theme. Example. ",(0,n.jsx)(t.code,{children:"src/Block/components/"}),"."]}),"\n"]})]})}function p(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},11151:(e,t,s)=>{s.d(t,{Z:()=>r,a:()=>l});var n=s(67294);const i={},o=n.createContext(i);function l(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(i):e.components||i:l(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9bd54e26.0cedb587.js b/assets/js/9bd54e26.0cedb587.js new file mode 100644 index 000000000..e22d0d758 --- /dev/null +++ b/assets/js/9bd54e26.0cedb587.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[54988],{38508:(t,i,e)=>{e.r(i),e.d(i,{assets:()=>l,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>a,toc:()=>c});var s=e(17624),n=e(4552);const o={id:"forms",title:"Eightshift Forms"},r=void 0,a={id:"additional-libraries/forms",title:"Eightshift Forms",description:"GitHub tag",source:"@site/docs/additional-libraries/forms.md",sourceDirName:"additional-libraries",slug:"/additional-libraries/forms",permalink:"/docs/additional-libraries/forms",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"forms",title:"Eightshift Forms"},sidebar:"docs",previous:{title:"Eightshift Libs",permalink:"/docs/additional-libraries/libs"},next:{title:"Eightshift Docs",permalink:"/docs/additional-libraries/docs"}},l={},c=[];function d(t){const i={a:"a",img:"img",li:"li",p:"p",ul:"ul",...(0,n.M)(),...t.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.p,{children:(0,s.jsx)(i.a,{href:"https://github.com/infinum/eightshift-forms",children:(0,s.jsx)(i.img,{src:"https://img.shields.io/github/tag/infinum/eightshift-forms.svg?style=for-the-badge",alt:"GitHub tag"})})}),"\n",(0,s.jsx)(i.p,{children:"This plugin is based on Eightshift Boilerplate. It lets you create a cool-looking forms using custom blocks and much more. We implemented a bunch of integrations and all sorts of cool stuff."}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.a,{href:"/forms/welcome",children:"Documentation"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.a,{href:"https://github.com/infinum/eightshift-forms",children:"Github"})}),"\n"]})]})}function h(t={}){const{wrapper:i}={...(0,n.M)(),...t.components};return i?(0,s.jsx)(i,{...t,children:(0,s.jsx)(d,{...t})}):d(t)}},4552:(t,i,e)=>{e.d(i,{I:()=>a,M:()=>r});var s=e(11504);const n={},o=s.createContext(n);function r(t){const i=s.useContext(o);return s.useMemo((function(){return"function"==typeof t?t(i):{...i,...t}}),[i,t])}function a(t){let i;return i=t.disableParentContext?"function"==typeof t.components?t.components(n):t.components||n:r(t.components),s.createElement(o.Provider,{value:i},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/9bd54e26.77e44f6a.js b/assets/js/9bd54e26.77e44f6a.js deleted file mode 100644 index e082a8e84..000000000 --- a/assets/js/9bd54e26.77e44f6a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[27922],{20052:(t,i,e)=>{e.r(i),e.d(i,{assets:()=>l,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>a,toc:()=>c});var s=e(85893),n=e(11151);const o={id:"forms",title:"Eightshift Forms"},r=void 0,a={id:"additional-libraries/forms",title:"Eightshift Forms",description:"GitHub tag",source:"@site/docs/additional-libraries/forms.md",sourceDirName:"additional-libraries",slug:"/additional-libraries/forms",permalink:"/docs/additional-libraries/forms",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"forms",title:"Eightshift Forms"},sidebar:"docs",previous:{title:"Eightshift Libs",permalink:"/docs/additional-libraries/libs"},next:{title:"Eightshift Docs",permalink:"/docs/additional-libraries/docs"}},l={},c=[];function d(t){const i={a:"a",img:"img",li:"li",p:"p",ul:"ul",...(0,n.a)(),...t.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.p,{children:(0,s.jsx)(i.a,{href:"https://github.com/infinum/eightshift-forms",children:(0,s.jsx)(i.img,{src:"https://img.shields.io/github/tag/infinum/eightshift-forms.svg?style=for-the-badge",alt:"GitHub tag"})})}),"\n",(0,s.jsx)(i.p,{children:"This plugin is based on Eightshift Boilerplate. It lets you create a cool-looking forms using custom blocks and much more. We implemented a bunch of integrations and all sorts of cool stuff."}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.a,{href:"/forms/welcome",children:"Documentation"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.a,{href:"https://github.com/infinum/eightshift-forms",children:"Github"})}),"\n"]})]})}function h(t={}){const{wrapper:i}={...(0,n.a)(),...t.components};return i?(0,s.jsx)(i,{...t,children:(0,s.jsx)(d,{...t})}):d(t)}},11151:(t,i,e)=>{e.d(i,{Z:()=>a,a:()=>r});var s=e(67294);const n={},o=s.createContext(n);function r(t){const i=s.useContext(o);return s.useMemo((function(){return"function"==typeof t?t(i):{...i,...t}}),[i,t])}function a(t){let i;return i=t.disableParentContext?"function"==typeof t.components?t.components(n):t.components||n:r(t.components),s.createElement(o.Provider,{value:i},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/9ca2f55b.397124c1.js b/assets/js/9ca2f55b.397124c1.js deleted file mode 100644 index 53973c162..000000000 --- a/assets/js/9ca2f55b.397124c1.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[86180],{63479:(t,e,o)=>{o.r(e),o.d(e,{assets:()=>l,contentTitle:()=>r,default:()=>g,frontMatter:()=>s,metadata:()=>a,toc:()=>d});var n=o(85893),i=o(11151);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.a)(),...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.a)(),...t.components};return e?(0,n.jsx)(e,{...t,children:(0,n.jsx)(c,{...t})}):c(t)}},11151:(t,e,o)=>{o.d(e,{Z:()=>a,a:()=>r});var n=o(67294);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.b20b41fa.js b/assets/js/9ca2f55b.b20b41fa.js new file mode 100644 index 000000000..2542a8ae0 --- /dev/null +++ b/assets/js/9ca2f55b.b20b41fa.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[96792],{50840:(t,e,o)=>{o.r(e),o.d(e,{assets:()=>l,contentTitle:()=>r,default:()=>g,frontMatter:()=>s,metadata:()=>a,toc:()=>d});var n=o(17624),i=o(4552);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.M)(),...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.M)(),...t.components};return e?(0,n.jsx)(e,{...t,children:(0,n.jsx)(c,{...t})}):c(t)}},4552:(t,e,o)=>{o.d(e,{I:()=>a,M:()=>r});var n=o(11504);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/9cc47562.b2cb6b4f.js b/assets/js/9cc47562.b2cb6b4f.js deleted file mode 100644 index 2a068aba6..000000000 --- a/assets/js/9cc47562.b2cb6b4f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[99815],{42293:(o,t,e)=>{e.r(t),e.d(t,{assets:()=>s,contentTitle:()=>a,default:()=>h,frontMatter:()=>r,metadata:()=>c,toc:()=>l});var n=e(85893),i=e(11151);const r={id:"phar-location",title:"Phar location"},a=void 0,c={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.",source:"@site/forms/php/filters/geolocation/phar-location.md",sourceDirName:"php/filters/geolocation",slug:"/php/filters/geolocation/phar-location",permalink:"/forms/php/filters/geolocation/phar-location",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"phar-location",title:"Phar location"},sidebar:"forms",previous:{title:"DB location",permalink:"/forms/php/filters/geolocation/db-location"},next:{title:"Countries",permalink:"/forms/php/filters/geolocation/countries"}},s={},l=[];function p(o){const t={code:"code",p:"p",pre:"pre",...(0,i.a)(),...o.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(t.p,{children:["Geolocation ",(0,n.jsx)(t.code,{children:".phar"})," file path on your server. Useful if you want to provide the geolocation service yourself."]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"\\add_filter('es_forms_geolocation_phar_location', [$this, 'getGeolocationPharLocation']);\n\n/**\n * Provide custom geolocation phar location.\n *\n * This filter provides you with the ability to provide custom database location for geolocation.\n *\n * @return string\n */\npublic function getGeolocationPharLocation(): string\n{\n\treturn __DIR__ . \\DIRECTORY_SEPARATOR . 'geoip.phar';\n}\n"})})]})}function h(o={}){const{wrapper:t}={...(0,i.a)(),...o.components};return t?(0,n.jsx)(t,{...o,children:(0,n.jsx)(p,{...o})}):p(o)}},11151:(o,t,e)=>{e.d(t,{Z:()=>c,a:()=>a});var n=e(67294);const i={},r=n.createContext(i);function a(o){const t=n.useContext(r);return n.useMemo((function(){return"function"==typeof o?o(t):{...t,...o}}),[t,o])}function c(o){let t;return t=o.disableParentContext?"function"==typeof o.components?o.components(i):o.components||i:a(o.components),n.createElement(r.Provider,{value:t},o.children)}}}]); \ No newline at end of file diff --git a/assets/js/9cc47562.f67a4080.js b/assets/js/9cc47562.f67a4080.js new file mode 100644 index 000000000..6a63da0fe --- /dev/null +++ b/assets/js/9cc47562.f67a4080.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[83040],{36848:(o,t,e)=>{e.r(t),e.d(t,{assets:()=>s,contentTitle:()=>a,default:()=>h,frontMatter:()=>r,metadata:()=>c,toc:()=>l});var n=e(17624),i=e(4552);const r={id:"phar-location",title:"Phar location"},a=void 0,c={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.",source:"@site/forms/php/filters/geolocation/phar-location.md",sourceDirName:"php/filters/geolocation",slug:"/php/filters/geolocation/phar-location",permalink:"/forms/php/filters/geolocation/phar-location",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"phar-location",title:"Phar location"},sidebar:"forms",previous:{title:"DB location",permalink:"/forms/php/filters/geolocation/db-location"},next:{title:"Countries",permalink:"/forms/php/filters/geolocation/countries"}},s={},l=[];function p(o){const t={code:"code",p:"p",pre:"pre",...(0,i.M)(),...o.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(t.p,{children:["Geolocation ",(0,n.jsx)(t.code,{children:".phar"})," file path on your server. Useful if you want to provide the geolocation service yourself."]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"\\add_filter('es_forms_geolocation_phar_location', [$this, 'getGeolocationPharLocation']);\n\n/**\n * Provide custom geolocation phar location.\n *\n * This filter provides you with the ability to provide custom database location for geolocation.\n *\n * @return string\n */\npublic function getGeolocationPharLocation(): string\n{\n\treturn __DIR__ . \\DIRECTORY_SEPARATOR . 'geoip.phar';\n}\n"})})]})}function h(o={}){const{wrapper:t}={...(0,i.M)(),...o.components};return t?(0,n.jsx)(t,{...o,children:(0,n.jsx)(p,{...o})}):p(o)}},4552:(o,t,e)=>{e.d(t,{I:()=>c,M:()=>a});var n=e(11504);const i={},r=n.createContext(i);function a(o){const t=n.useContext(r);return n.useMemo((function(){return"function"==typeof o?o(t):{...t,...o}}),[t,o])}function c(o){let t;return t=o.disableParentContext?"function"==typeof o.components?o.components(i):o.components||i:a(o.components),n.createElement(r.Provider,{value:t},o.children)}}}]); \ No newline at end of file diff --git a/assets/js/9cd35a7e.123611b5.js b/assets/js/9cd35a7e.123611b5.js new file mode 100644 index 000000000..01f4e3a16 --- /dev/null +++ b/assets/js/9cd35a7e.123611b5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[3452],{37764:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>h,frontMatter:()=>o,metadata:()=>a,toc:()=>l});var n=s(17624),r=s(4552);const o={id:"blocks-patterns",title:"Patterns"},i=void 0,a={id:"basics/blocks-patterns",title:"Patterns",description:"docs-source",source:"@site/docs/basics/blocks-patterns.md",sourceDirName:"basics",slug:"/basics/blocks-patterns",permalink:"/docs/basics/blocks-patterns",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-patterns",title:"Patterns"},sidebar:"docs",previous:{title:"Variations",permalink:"/docs/basics/blocks-variations"},next:{title:"Transforms",permalink:"/docs/basics/blocks-transforms"}},c={},l=[{value:"Remove all core patterns",id:"remove-all-core-patterns",level:3}];function d(e){const t={a:"a",code:"code",em:"em",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,r.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(t.p,{children:"Block Patterns are predefined block layouts, ready to insert and tweak."}),"\n",(0,n.jsxs)(t.p,{children:["You can check the ",(0,n.jsx)(t.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-patterns/",children:"WordPress documentation"})," on this subject."]}),"\n",(0,n.jsxs)(t.p,{children:["Patterns are (as we understand them) the same thing as block variations. The main difference is that you can provide full layouts with patterns, as described in ",(0,n.jsx)(t.a,{href:"blocks-variations#limitations",children:"this chapter"}),". You can also provide the full page layouts with our variations."]}),"\n",(0,n.jsx)(t.p,{children:"This means that the only differences between our variations and block patterns are:"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Variations"})}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"Variations provide data using our manifest.json file (the rest is handled using JavaScript)."}),"\n",(0,n.jsx)(t.li,{children:"Variations appear in the editor next to the static blocks."}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Patterns"})}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"Patterns are registered using PHP."}),"\n",(0,n.jsx)(t.li,{children:"Patterns appear in the editor inside the special tab for patterns."}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.em,{children:"We will soon provide WP-CLI command to automaticity create block patterns, boilerplate class, for you to use."})}),"\n",(0,n.jsx)(t.h3,{id:"remove-all-core-patterns",children:"Remove all core patterns"}),"\n",(0,n.jsx)(t.p,{children:"If you don't use core blocks, core patterns won't work. Don't confuse your users and remove them (but feel free to add new patterns based on your own custom blocks!)"}),"\n",(0,n.jsxs)(t.p,{children:["To remove all core patterns add this code to you ",(0,n.jsx)(t.code,{children:"src/Blocks/Blocks.php"})," class."]}),"\n",(0,n.jsx)(t.p,{children:"Filter goes in the register method:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"// Remove block patterns.\n\\add_filter('init', [$this, 'removeCorePatterns'], 9);\n"})}),"\n",(0,n.jsx)(t.p,{children:"Callback method:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"public function removeCorePatterns(): void\n{\n\tremove_theme_support('core-block-patterns');\n}\n"})})]})}function h(e={}){const{wrapper:t}={...(0,r.M)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},4552:(e,t,s)=>{s.d(t,{I:()=>a,M:()=>i});var n=s(11504);const r={},o=n.createContext(r);function i(e){const t=n.useContext(o);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(r):e.components||r:i(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9cd35a7e.e600d19b.js b/assets/js/9cd35a7e.e600d19b.js deleted file mode 100644 index 76c744185..000000000 --- a/assets/js/9cd35a7e.e600d19b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[912],{81303:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>h,frontMatter:()=>o,metadata:()=>a,toc:()=>l});var n=s(85893),r=s(11151);const o={id:"blocks-patterns",title:"Patterns"},i=void 0,a={id:"basics/blocks-patterns",title:"Patterns",description:"docs-source",source:"@site/docs/basics/blocks-patterns.md",sourceDirName:"basics",slug:"/basics/blocks-patterns",permalink:"/docs/basics/blocks-patterns",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-patterns",title:"Patterns"},sidebar:"docs",previous:{title:"Variations",permalink:"/docs/basics/blocks-variations"},next:{title:"Transforms",permalink:"/docs/basics/blocks-transforms"}},c={},l=[{value:"Remove all core patterns",id:"remove-all-core-patterns",level:3}];function d(e){const t={a:"a",code:"code",em:"em",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,r.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(t.p,{children:"Block Patterns are predefined block layouts, ready to insert and tweak."}),"\n",(0,n.jsxs)(t.p,{children:["You can check the ",(0,n.jsx)(t.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-patterns/",children:"WordPress documentation"})," on this subject."]}),"\n",(0,n.jsxs)(t.p,{children:["Patterns are (as we understand them) the same thing as block variations. The main difference is that you can provide full layouts with patterns, as described in ",(0,n.jsx)(t.a,{href:"blocks-variations#limitations",children:"this chapter"}),". You can also provide the full page layouts with our variations."]}),"\n",(0,n.jsx)(t.p,{children:"This means that the only differences between our variations and block patterns are:"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Variations"})}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"Variations provide data using our manifest.json file (the rest is handled using JavaScript)."}),"\n",(0,n.jsx)(t.li,{children:"Variations appear in the editor next to the static blocks."}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Patterns"})}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"Patterns are registered using PHP."}),"\n",(0,n.jsx)(t.li,{children:"Patterns appear in the editor inside the special tab for patterns."}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.em,{children:"We will soon provide WP-CLI command to automaticity create block patterns, boilerplate class, for you to use."})}),"\n",(0,n.jsx)(t.h3,{id:"remove-all-core-patterns",children:"Remove all core patterns"}),"\n",(0,n.jsx)(t.p,{children:"If you don't use core blocks, core patterns won't work. Don't confuse your users and remove them (but feel free to add new patterns based on your own custom blocks!)"}),"\n",(0,n.jsxs)(t.p,{children:["To remove all core patterns add this code to you ",(0,n.jsx)(t.code,{children:"src/Blocks/Blocks.php"})," class."]}),"\n",(0,n.jsx)(t.p,{children:"Filter goes in the register method:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"// Remove block patterns.\n\\add_filter('init', [$this, 'removeCorePatterns'], 9);\n"})}),"\n",(0,n.jsx)(t.p,{children:"Callback method:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"public function removeCorePatterns(): void\n{\n\tremove_theme_support('core-block-patterns');\n}\n"})})]})}function h(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},11151:(e,t,s)=>{s.d(t,{Z:()=>a,a:()=>i});var n=s(67294);const r={},o=n.createContext(r);function i(e){const t=n.useContext(o);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(r):e.components||r:i(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9cd71f2c.25690ca0.js b/assets/js/9cd71f2c.25690ca0.js new file mode 100644 index 000000000..4c83e3af6 --- /dev/null +++ b/assets/js/9cd71f2c.25690ca0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[52612],{50244:(t,i,o)=>{o.r(i),o.d(i,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>n,metadata:()=>a,toc:()=>d});var s=o(17624),e=o(4552);const n={id:"storybook",title:"Eightshift Storybook"},r=void 0,a={id:"additional-libraries/storybook",title:"Eightshift Storybook",description:"GitHub tag",source:"@site/docs/additional-libraries/storybook.md",sourceDirName:"additional-libraries",slug:"/additional-libraries/storybook",permalink:"/docs/additional-libraries/storybook",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"storybook",title:"Eightshift Storybook"},sidebar:"docs",previous:{title:"Eightshift Coding Standards",permalink:"/docs/additional-libraries/coding-standards"},next:{title:"Eightshift Libs Stubs",permalink:"/docs/additional-libraries/stubs"}},c={},d=[];function l(t){const i={a:"a",img:"img",li:"li",p:"p",ul:"ul",...(0,e.M)(),...t.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.p,{children:(0,s.jsx)(i.a,{href:"https://github.com/infinum/eightshift-storybook",children:(0,s.jsx)(i.img,{src:"https://img.shields.io/github/tag/infinum/eightshift-storybook.svg?style=for-the-badge",alt:"GitHub tag"})})}),"\n",(0,s.jsx)(i.p,{children:"This library hosts all the packages necessary for loading Storybook in your project. We are making updates as a new core version come out."}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.a,{href:"/docs/basics/blocks-storybook",children:"Documentation"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.a,{href:"https://github.com/infinum/eightshift-storybook",children:"Github"})}),"\n"]})]})}function h(t={}){const{wrapper:i}={...(0,e.M)(),...t.components};return i?(0,s.jsx)(i,{...t,children:(0,s.jsx)(l,{...t})}):l(t)}},4552:(t,i,o)=>{o.d(i,{I:()=>a,M:()=>r});var s=o(11504);const e={},n=s.createContext(e);function r(t){const i=s.useContext(n);return s.useMemo((function(){return"function"==typeof t?t(i):{...i,...t}}),[i,t])}function a(t){let i;return i=t.disableParentContext?"function"==typeof t.components?t.components(e):t.components||e:r(t.components),s.createElement(n.Provider,{value:i},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/9cd71f2c.c0f0bdb5.js b/assets/js/9cd71f2c.c0f0bdb5.js deleted file mode 100644 index fe7ed559e..000000000 --- a/assets/js/9cd71f2c.c0f0bdb5.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[35466],{56346:(t,i,o)=>{o.r(i),o.d(i,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>n,metadata:()=>a,toc:()=>d});var s=o(85893),e=o(11151);const n={id:"storybook",title:"Eightshift Storybook"},r=void 0,a={id:"additional-libraries/storybook",title:"Eightshift Storybook",description:"GitHub tag",source:"@site/docs/additional-libraries/storybook.md",sourceDirName:"additional-libraries",slug:"/additional-libraries/storybook",permalink:"/docs/additional-libraries/storybook",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"storybook",title:"Eightshift Storybook"},sidebar:"docs",previous:{title:"Eightshift Coding Standards",permalink:"/docs/additional-libraries/coding-standards"},next:{title:"Eightshift Libs Stubs",permalink:"/docs/additional-libraries/stubs"}},c={},d=[];function l(t){const i={a:"a",img:"img",li:"li",p:"p",ul:"ul",...(0,e.a)(),...t.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.p,{children:(0,s.jsx)(i.a,{href:"https://github.com/infinum/eightshift-storybook",children:(0,s.jsx)(i.img,{src:"https://img.shields.io/github/tag/infinum/eightshift-storybook.svg?style=for-the-badge",alt:"GitHub tag"})})}),"\n",(0,s.jsx)(i.p,{children:"This library hosts all the packages necessary for loading Storybook in your project. We are making updates as a new core version come out."}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.a,{href:"/docs/basics/blocks-storybook",children:"Documentation"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.a,{href:"https://github.com/infinum/eightshift-storybook",children:"Github"})}),"\n"]})]})}function h(t={}){const{wrapper:i}={...(0,e.a)(),...t.components};return i?(0,s.jsx)(i,{...t,children:(0,s.jsx)(l,{...t})}):l(t)}},11151:(t,i,o)=>{o.d(i,{Z:()=>a,a:()=>r});var s=o(67294);const e={},n=s.createContext(e);function r(t){const i=s.useContext(n);return s.useMemo((function(){return"function"==typeof t?t(i):{...i,...t}}),[i,t])}function a(t){let i;return i=t.disableParentContext?"function"==typeof t.components?t.components(e):t.components||e:r(t.components),s.createElement(n.Provider,{value:i},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/9d107aac.270f6fbb.js b/assets/js/9d107aac.270f6fbb.js new file mode 100644 index 000000000..d45541a4c --- /dev/null +++ b/assets/js/9d107aac.270f6fbb.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[40544],{37856:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>a,toc:()=>l});var n=i(17624),s=i(4552);const o={id:"basics-intro",title:"Basics"},r=void 0,a={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.",source:"@site/docs/basics/basics-intro.md",sourceDirName:"basics",slug:"/basics/basics-intro",permalink:"/docs/basics/basics-intro",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"basics-intro",title:"Basics"},sidebar:"docs",previous:{title:"Create New Plugin",permalink:"/docs/plugin"},next:{title:"WP-CLI",permalink:"/docs/basics/wp-cli"}},c={},l=[{value:"Let's finally start with documentation",id:"lets-finally-start-with-documentation",level:2}];function d(e){const t={a:"a",h2:"h2",p:"p",strong:"strong",...(0,s.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:"Prior to WordPress 5.0, themes were mostly PHP-based, with JavaScript used only to provide interactive functionality on the website.\nNow 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."}),"\n",(0,n.jsx)(t.p,{children:"Now that everything is different, we must adapt to the changes as well."}),"\n",(0,n.jsx)(t.h2,{id:"lets-finally-start-with-documentation",children:"Let's finally start with documentation"}),"\n",(0,n.jsx)(t.p,{children:"We took our time to set up a bunch of WP-CLI commands. That should help you set up everything and use all our features, without worrying about correct names, files, and organization. You can find out more about it on this link:"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"wp-cli",children:"WP-CLI"})}),"\n",(0,n.jsx)(t.p,{children:"If you would like to read about our extensive WP-CLI features, find out how to use service classes, or learn how dependency injection container works with auto wiring, this link is for you:"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"backend",children:"Back-end stuff"})}),"\n",(0,n.jsx)(t.p,{children:"If instead, you would like to check out what we have prepared regarding the JavaScript Babel and Webpack, or find out how we ensure that our code is the same across multiple developers, this link is for you:"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"frontend",children:"Front-end stuff"})}),"\n",(0,n.jsxs)(t.p,{children:["On the other hand, if you would like to see our extensive ",(0,n.jsx)(t.strong,{children:"Dynamic Blocks"})," collection and learn how you can use them with all the developer's flexibility and as little code duplication as possible, check out this link:"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"blocks",children:"Block editor blocks"})})]})}function h(e={}){const{wrapper:t}={...(0,s.M)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},4552:(e,t,i)=>{i.d(t,{I:()=>a,M:()=>r});var n=i(11504);const s={},o=n.createContext(s);function r(e){const t=n.useContext(o);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:r(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9d107aac.edfd0698.js b/assets/js/9d107aac.edfd0698.js deleted file mode 100644 index 09ee517d1..000000000 --- a/assets/js/9d107aac.edfd0698.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[95053],{88841:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>a,toc:()=>l});var n=i(85893),s=i(11151);const o={id:"basics-intro",title:"Basics"},r=void 0,a={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.",source:"@site/docs/basics/basics-intro.md",sourceDirName:"basics",slug:"/basics/basics-intro",permalink:"/docs/basics/basics-intro",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"basics-intro",title:"Basics"},sidebar:"docs",previous:{title:"Create New Plugin",permalink:"/docs/plugin"},next:{title:"WP-CLI",permalink:"/docs/basics/wp-cli"}},c={},l=[{value:"Let's finally start with documentation",id:"lets-finally-start-with-documentation",level:2}];function d(e){const t={a:"a",h2:"h2",p:"p",strong:"strong",...(0,s.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:"Prior to WordPress 5.0, themes were mostly PHP-based, with JavaScript used only to provide interactive functionality on the website.\nNow 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."}),"\n",(0,n.jsx)(t.p,{children:"Now that everything is different, we must adapt to the changes as well."}),"\n",(0,n.jsx)(t.h2,{id:"lets-finally-start-with-documentation",children:"Let's finally start with documentation"}),"\n",(0,n.jsx)(t.p,{children:"We took our time to set up a bunch of WP-CLI commands. That should help you set up everything and use all our features, without worrying about correct names, files, and organization. You can find out more about it on this link:"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"wp-cli",children:"WP-CLI"})}),"\n",(0,n.jsx)(t.p,{children:"If you would like to read about our extensive WP-CLI features, find out how to use service classes, or learn how dependency injection container works with auto wiring, this link is for you:"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"backend",children:"Back-end stuff"})}),"\n",(0,n.jsx)(t.p,{children:"If instead, you would like to check out what we have prepared regarding the JavaScript Babel and Webpack, or find out how we ensure that our code is the same across multiple developers, this link is for you:"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"frontend",children:"Front-end stuff"})}),"\n",(0,n.jsxs)(t.p,{children:["On the other hand, if you would like to see our extensive ",(0,n.jsx)(t.strong,{children:"Dynamic Blocks"})," collection and learn how you can use them with all the developer's flexibility and as little code duplication as possible, check out this link:"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"blocks",children:"Block editor blocks"})})]})}function h(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},11151:(e,t,i)=>{i.d(t,{Z:()=>a,a:()=>r});var n=i(67294);const s={},o=n.createContext(s);function r(e){const t=n.useContext(o);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:r(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9d954fea.17ce9856.js b/assets/js/9d954fea.17ce9856.js deleted file mode 100644 index 444b62cb0..000000000 --- a/assets/js/9d954fea.17ce9856.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[75393],{34169:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>n,default:()=>h,frontMatter:()=>a,metadata:()=>r,toc:()=>l});var i=s(85893),o=s(11151);const a={id:"blocks-variations",title:"Variations",sidebar_label:"Variations"},n=void 0,r={id:"legacy/v5/basics/blocks-variations",title:"Variations",description:"docs-source",source:"@site/docs/legacy/v5/basics/blocks-variations.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/blocks-variations",permalink:"/docs/legacy/v5/basics/blocks-variations",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-variations",title:"Variations",sidebar_label:"Variations"},sidebar:"docs",previous:{title:"Wrapper",permalink:"/docs/legacy/v5/basics/blocks-wrapper"},next:{title:"Patterns",permalink:"/docs/legacy/v5/basics/blocks-patterns"}},c={},l=[{value:"Structure",id:"structure",level:3},{value:"Limitations",id:"limitations",level:3},{value:"Changes from native WordPress block variations API",id:"changes-from-native-wordpress-block-variations-api",level:3}];function d(e){const t={a:"a",code:"code",h3:"h3",img:"img",p:"p",...(0,o.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsx)(t.p,{children:"Block variations allow developers to define instances of existing blocks. An example that you\u2019ll see below is a button block. Perhaps your site has three variations of how to display a block on your site. A block variation can be created for each one so that they are all styled differently. This sounds awfully familiar to block styles, but the concept of variations goes a bit further than that, as you\u2019ll see."}),"\n",(0,i.jsxs)(t.p,{children:["Here is the best article on how to better understand ",(0,i.jsx)(t.a,{href:"https://css-tricks.com/how-to-use-block-variations-in-wordpress/",children:"block variations"}),"."]}),"\n",(0,i.jsxs)(t.p,{children:["What we did with variations is just like blocks. Provide the structured data from the ",(0,i.jsx)(t.code,{children:"manifest.json"})," and use that to register your variation."]}),"\n",(0,i.jsx)(t.h3,{id:"structure",children:"Structure"}),"\n",(0,i.jsxs)(t.p,{children:["The structure is the same as a normal block but with some limitations on what you can use. You can check the ",(0,i.jsx)(t.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-registration/#variations-optional",children:"WordPress documentation"})," for more on this subject."]}),"\n",(0,i.jsx)(t.h3,{id:"limitations",children:"Limitations"}),"\n",(0,i.jsxs)(t.p,{children:["As we saw from our testing, you are not limited to only changing the block's default attributes, but adding additional data like inner blocks and such. With this setup, you can use variations the same way as you would block patterns, only in the variation you provide the data using ",(0,i.jsx)(t.code,{children:"manifest.json"}),"."]}),"\n",(0,i.jsx)(t.h3,{id:"changes-from-native-wordpress-block-variations-api",children:"Changes from native WordPress block variations API"}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:"parentName"})," key is the only addition to the original documentation. We implemented this key to be able to connect the original block with its variation. This key must be the same as it is defined in the original blocks ",(0,i.jsx)(t.code,{children:"blockName"})," key."]})]})}function h(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},11151:(e,t,s)=>{s.d(t,{Z:()=>r,a:()=>n});var i=s(67294);const o={},a=i.createContext(o);function n(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:n(e.components),i.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9d954fea.eb7fa0d7.js b/assets/js/9d954fea.eb7fa0d7.js new file mode 100644 index 000000000..1c37ee0de --- /dev/null +++ b/assets/js/9d954fea.eb7fa0d7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[76728],{48816:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>n,default:()=>h,frontMatter:()=>a,metadata:()=>r,toc:()=>l});var i=s(17624),o=s(4552);const a={id:"blocks-variations",title:"Variations",sidebar_label:"Variations"},n=void 0,r={id:"legacy/v5/basics/blocks-variations",title:"Variations",description:"docs-source",source:"@site/docs/legacy/v5/basics/blocks-variations.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/blocks-variations",permalink:"/docs/legacy/v5/basics/blocks-variations",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-variations",title:"Variations",sidebar_label:"Variations"},sidebar:"docs",previous:{title:"Wrapper",permalink:"/docs/legacy/v5/basics/blocks-wrapper"},next:{title:"Patterns",permalink:"/docs/legacy/v5/basics/blocks-patterns"}},c={},l=[{value:"Structure",id:"structure",level:3},{value:"Limitations",id:"limitations",level:3},{value:"Changes from native WordPress block variations API",id:"changes-from-native-wordpress-block-variations-api",level:3}];function d(e){const t={a:"a",code:"code",h3:"h3",img:"img",p:"p",...(0,o.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsx)(t.p,{children:"Block variations allow developers to define instances of existing blocks. An example that you\u2019ll see below is a button block. Perhaps your site has three variations of how to display a block on your site. A block variation can be created for each one so that they are all styled differently. This sounds awfully familiar to block styles, but the concept of variations goes a bit further than that, as you\u2019ll see."}),"\n",(0,i.jsxs)(t.p,{children:["Here is the best article on how to better understand ",(0,i.jsx)(t.a,{href:"https://css-tricks.com/how-to-use-block-variations-in-wordpress/",children:"block variations"}),"."]}),"\n",(0,i.jsxs)(t.p,{children:["What we did with variations is just like blocks. Provide the structured data from the ",(0,i.jsx)(t.code,{children:"manifest.json"})," and use that to register your variation."]}),"\n",(0,i.jsx)(t.h3,{id:"structure",children:"Structure"}),"\n",(0,i.jsxs)(t.p,{children:["The structure is the same as a normal block but with some limitations on what you can use. You can check the ",(0,i.jsx)(t.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-registration/#variations-optional",children:"WordPress documentation"})," for more on this subject."]}),"\n",(0,i.jsx)(t.h3,{id:"limitations",children:"Limitations"}),"\n",(0,i.jsxs)(t.p,{children:["As we saw from our testing, you are not limited to only changing the block's default attributes, but adding additional data like inner blocks and such. With this setup, you can use variations the same way as you would block patterns, only in the variation you provide the data using ",(0,i.jsx)(t.code,{children:"manifest.json"}),"."]}),"\n",(0,i.jsx)(t.h3,{id:"changes-from-native-wordpress-block-variations-api",children:"Changes from native WordPress block variations API"}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:"parentName"})," key is the only addition to the original documentation. We implemented this key to be able to connect the original block with its variation. This key must be the same as it is defined in the original blocks ",(0,i.jsx)(t.code,{children:"blockName"})," key."]})]})}function h(e={}){const{wrapper:t}={...(0,o.M)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},4552:(e,t,s)=>{s.d(t,{I:()=>r,M:()=>n});var i=s(11504);const o={},a=i.createContext(o);function n(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:n(e.components),i.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9dc56d2c.79a73580.js b/assets/js/9dc56d2c.79a73580.js deleted file mode 100644 index 0629567b6..000000000 --- a/assets/js/9dc56d2c.79a73580.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[98228],{9106:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>s,metadata:()=>l,toc:()=>a});var o=n(85893),r=n(11151);const s={id:"phone-sync",title:"Phone sync"},i=void 0,l={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.",source:"@site/forms/php/filters/block/form/phone-sync.md",sourceDirName:"php/filters/block/form",slug:"/php/filters/block/form/phone-sync",permalink:"/forms/php/filters/block/form/phone-sync",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"phone-sync",title:"Phone sync"},sidebar:"forms",previous:{title:"Data type selector",permalink:"/forms/php/filters/block/form/data-type-selector"},next:{title:"Global msg headings",permalink:"/forms/php/filters/block/form/global-msg-headings"}},c={},a=[];function f(e){const t={code:"code",p:"p",pre:"pre",...(0,r.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:"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."}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-php",children:"\\add_filter('es_forms_block_form_phone_sync', [$this, 'getFormPhoneSync'], 10, 2);\n\n/**\n * Set phone sync settings.\n *\n * This filter will override global settings for phone sync.\n *\n * @param string $formType Type of form used like greenhouse, hubspot, etc.\n * @param string $formId Form ID.\n *\n * @return bool\n */\npublic function getFormPhoneSync(string $formType, string $formId): bool\n{\n\tif ($formType === 'hubspot') {\n\t\treturn true;\n\t}\n\n\treturn false;\n}\n"})})]})}function p(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(f,{...e})}):f(e)}},11151:(e,t,n)=>{n.d(t,{Z:()=>l,a:()=>i});var o=n(67294);const r={},s=o.createContext(r);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(r):e.components||r:i(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9dc56d2c.8fefb0da.js b/assets/js/9dc56d2c.8fefb0da.js new file mode 100644 index 000000000..6d9c108f5 --- /dev/null +++ b/assets/js/9dc56d2c.8fefb0da.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[65352],{24266:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>s,metadata:()=>l,toc:()=>f});var o=n(17624),r=n(4552);const s={id:"phone-sync",title:"Phone sync"},i=void 0,l={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.",source:"@site/forms/php/filters/block/form/phone-sync.md",sourceDirName:"php/filters/block/form",slug:"/php/filters/block/form/phone-sync",permalink:"/forms/php/filters/block/form/phone-sync",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"phone-sync",title:"Phone sync"},sidebar:"forms",previous:{title:"Data type selector",permalink:"/forms/php/filters/block/form/data-type-selector"},next:{title:"Global msg headings",permalink:"/forms/php/filters/block/form/global-msg-headings"}},c={},f=[];function a(e){const t={code:"code",p:"p",pre:"pre",...(0,r.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:"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."}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-php",children:"\\add_filter('es_forms_block_form_phone_sync', [$this, 'getFormPhoneSync'], 10, 2);\n\n/**\n * Set phone sync settings.\n *\n * This filter will override global settings for phone sync.\n *\n * @param string $formType Type of form used like greenhouse, hubspot, etc.\n * @param string $formId Form ID.\n *\n * @return bool\n */\npublic function getFormPhoneSync(string $formType, string $formId): bool\n{\n\tif ($formType === 'hubspot') {\n\t\treturn true;\n\t}\n\n\treturn false;\n}\n"})})]})}function p(e={}){const{wrapper:t}={...(0,r.M)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(a,{...e})}):a(e)}},4552:(e,t,n)=>{n.d(t,{I:()=>l,M:()=>i});var o=n(11504);const r={},s=o.createContext(r);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(r):e.components||r:i(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9e3bbdc0.042bc270.js b/assets/js/9e3bbdc0.042bc270.js new file mode 100644 index 000000000..7d42fd312 --- /dev/null +++ b/assets/js/9e3bbdc0.042bc270.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[38052],{56344:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>l,contentTitle:()=>i,default:()=>d,frontMatter:()=>o,metadata:()=>n,toc:()=>u});var s=t(17624),c=t(4552);const o={id:"success-redirect-url",title:"Success redirect URL"},i=void 0,n={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.",source:"@site/forms/php/filters/block/form/success-redirect-url.md",sourceDirName:"php/filters/block/form",slug:"/php/filters/block/form/success-redirect-url",permalink:"/forms/php/filters/block/form/success-redirect-url",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"success-redirect-url",title:"Success redirect URL"},sidebar:"forms",previous:{title:"Global message timeout",permalink:"/forms/php/filters/block/form/hide-global-msg-timeout"},next:{title:"Success redirect variation",permalink:"/forms/php/filters/block/form/success-redirect-variation"}},l={},u=[];function f(e){const r={code:"code",p:"p",pre:"pre",...(0,c.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(r.p,{children:["This filter allows you to override the success redirect URL, regardless of the one selected in Settings. With the ",(0,s.jsx)(r.code,{children:"$formType"})," parameter you can customize the URL for each form type."]}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-php",children:"\\add_filter('es_forms_block_form_success_redirect_url', [$this, 'getBlockFormSuccessRedirectUrl'], 10, 2);\n\n/**\n * Set success redirect url value.\n *\n * This filter will override settings for success redirect url.\n *\n * @param string $formType Type of form used like greenhouse, hubspot, etc.\n * @param string $formId Form ID.\n *\n * @return string\n */\npublic function getBlockFormSuccessRedirectUrl(string $formType, string $formId): string\n{\n\treturn 'https://infinum.com/custom-filter';\n}\n"})})]})}function d(e={}){const{wrapper:r}={...(0,c.M)(),...e.components};return r?(0,s.jsx)(r,{...e,children:(0,s.jsx)(f,{...e})}):f(e)}},4552:(e,r,t)=>{t.d(r,{I:()=>n,M:()=>i});var s=t(11504);const c={},o=s.createContext(c);function i(e){const r=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function n(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(c):e.components||c:i(e.components),s.createElement(o.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9e3bbdc0.7f7c6687.js b/assets/js/9e3bbdc0.7f7c6687.js deleted file mode 100644 index 212cc2b91..000000000 --- a/assets/js/9e3bbdc0.7f7c6687.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[76590],{78979:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>l,contentTitle:()=>i,default:()=>d,frontMatter:()=>o,metadata:()=>n,toc:()=>u});var s=t(85893),c=t(11151);const o={id:"success-redirect-url",title:"Success redirect URL"},i=void 0,n={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.",source:"@site/forms/php/filters/block/form/success-redirect-url.md",sourceDirName:"php/filters/block/form",slug:"/php/filters/block/form/success-redirect-url",permalink:"/forms/php/filters/block/form/success-redirect-url",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"success-redirect-url",title:"Success redirect URL"},sidebar:"forms",previous:{title:"Global message timeout",permalink:"/forms/php/filters/block/form/hide-global-msg-timeout"},next:{title:"Success redirect variation",permalink:"/forms/php/filters/block/form/success-redirect-variation"}},l={},u=[];function f(e){const r={code:"code",p:"p",pre:"pre",...(0,c.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(r.p,{children:["This filter allows you to override the success redirect URL, regardless of the one selected in Settings. With the ",(0,s.jsx)(r.code,{children:"$formType"})," parameter you can customize the URL for each form type."]}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-php",children:"\\add_filter('es_forms_block_form_success_redirect_url', [$this, 'getBlockFormSuccessRedirectUrl'], 10, 2);\n\n/**\n * Set success redirect url value.\n *\n * This filter will override settings for success redirect url.\n *\n * @param string $formType Type of form used like greenhouse, hubspot, etc.\n * @param string $formId Form ID.\n *\n * @return string\n */\npublic function getBlockFormSuccessRedirectUrl(string $formType, string $formId): string\n{\n\treturn 'https://infinum.com/custom-filter';\n}\n"})})]})}function d(e={}){const{wrapper:r}={...(0,c.a)(),...e.components};return r?(0,s.jsx)(r,{...e,children:(0,s.jsx)(f,{...e})}):f(e)}},11151:(e,r,t)=>{t.d(r,{Z:()=>n,a:()=>i});var s=t(67294);const c={},o=s.createContext(c);function i(e){const r=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function n(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(c):e.components||c:i(e.components),s.createElement(o.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9e4087bc.0ac6f908.js b/assets/js/9e4087bc.0ac6f908.js deleted file mode 100644 index 20e766394..000000000 --- a/assets/js/9e4087bc.0ac6f908.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[53608],{63169:(e,s,t)=>{t.r(s),t.d(s,{default:()=>o});t(67294);var r=t(33692),a=t(95999),i=t(10833),c=t(22189),n=t(92503),l=t(85893);function h(e){let{year:s,posts:t}=e;return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(n.Z,{as:"h3",id:s,children:s}),(0,l.jsx)("ul",{children:t.map((e=>(0,l.jsx)("li",{children:(0,l.jsxs)(r.Z,{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.I)({id:"theme.blog.archive.title",message:"Archive",description:"The page & hero title of the blog archive page"}),r=(0,a.I)({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)=>{var t;const r=s.metadata.date.split("-")[0],a=null!=(t=e.get(r))?t:[];return e.set(r,[s,...a])}),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.d,{title:t,description:r}),(0,l.jsxs)(c.Z,{children:[(0,l.jsx)("header",{className:"hero hero--primary",children:(0,l.jsxs)("div",{className:"container",children:[(0,l.jsx)(n.Z,{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.dd1e020e.js b/assets/js/9e4087bc.dd1e020e.js new file mode 100644 index 000000000..583bfb087 --- /dev/null +++ b/assets/js/9e4087bc.dd1e020e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[27028],{56140:(e,s,t)=>{t.r(s),t.d(s,{default:()=>o});t(11504);var r=t(10867),a=t(84357),i=t(85008),c=t(520),n=t(56448),l=t(17624);function h(e){let{year:s,posts:t}=e;return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(n.c,{as:"h3",id:s,children:s}),(0,l.jsx)("ul",{children:t.map((e=>(0,l.jsx)("li",{children:(0,l.jsxs)(r.c,{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.G)({id:"theme.blog.archive.title",message:"Archive",description:"The page & hero title of the blog archive page"}),r=(0,a.G)({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.U7,{title:t,description:r}),(0,l.jsxs)(c.c,{children:[(0,l.jsx)("header",{className:"hero hero--primary",children:(0,l.jsxs)("div",{className:"container",children:[(0,l.jsx)(n.c,{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/9e4e2e8b.86137961.js b/assets/js/9e4e2e8b.86137961.js deleted file mode 100644 index c0c66dfb6..000000000 --- a/assets/js/9e4e2e8b.86137961.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[31823],{51561:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>o,contentTitle:()=>c,default:()=>p,frontMatter:()=>a,metadata:()=>r,toc:()=>l});var s=t(85893),i=t(11151);const a={id:"backend",title:"General"},c=void 0,r={id:"basics/backend",title:"General",description:"docs-source",source:"@site/docs/basics/backend.md",sourceDirName:"basics",slug:"/basics/backend",permalink:"/docs/basics/backend",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"backend",title:"General"},sidebar:"docs",previous:{title:"Architecture concepts",permalink:"/docs/basics/architecture-concepts"},next:{title:"Namespaces",permalink:"/docs/basics/namespaces"}},o={},l=[];function h(e){const n={a:"a",img:"img",li:"li",p:"p",ul:"ul",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs",children:(0,s.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(n.p,{children:"In general, you can use anything as-is from the vendor library, or you can modify/add the functionality of existing classes by extending them in your project."}),"\n",(0,s.jsx)(n.p,{children:"If you are familiar with the extending classes (class inheritance) in PHP language, you can skip this chapter. For the rest, here are some awesome descriptions of how it works:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.php.net/manual/en/language.oop5.interfaces.php",children:"Interfaces"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://en.wikipedia.org/wiki/Dependency_injection",children:"Dependency Injection"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.php.net/manual/en/language.oop5.abstract.php",children:"Abstract Classes"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.php.net/manual/en/language.oop5.inheritance.php",children:"Object Inheritance"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.php.net/manual/en/language.namespaces.php",children:"Namespaces"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.php.net/manual/en/language.oop5.traits.php",children:"Traits"})}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Please get acquainted with these concepts before you continue because they will help you in the later chapters."})]})}function p(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},11151:(e,n,t)=>{t.d(n,{Z:()=>r,a:()=>c});var s=t(67294);const i={},a=s.createContext(i);function c(e){const n=s.useContext(a);return s.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:c(e.components),s.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9e4e2e8b.9a40411c.js b/assets/js/9e4e2e8b.9a40411c.js new file mode 100644 index 000000000..f1e861d9c --- /dev/null +++ b/assets/js/9e4e2e8b.9a40411c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[69992],{44556:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>o,contentTitle:()=>c,default:()=>p,frontMatter:()=>a,metadata:()=>r,toc:()=>l});var s=t(17624),i=t(4552);const a={id:"backend",title:"General"},c=void 0,r={id:"basics/backend",title:"General",description:"docs-source",source:"@site/docs/basics/backend.md",sourceDirName:"basics",slug:"/basics/backend",permalink:"/docs/basics/backend",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"backend",title:"General"},sidebar:"docs",previous:{title:"Architecture concepts",permalink:"/docs/basics/architecture-concepts"},next:{title:"Namespaces",permalink:"/docs/basics/namespaces"}},o={},l=[];function h(e){const n={a:"a",img:"img",li:"li",p:"p",ul:"ul",...(0,i.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs",children:(0,s.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(n.p,{children:"In general, you can use anything as-is from the vendor library, or you can modify/add the functionality of existing classes by extending them in your project."}),"\n",(0,s.jsx)(n.p,{children:"If you are familiar with the extending classes (class inheritance) in PHP language, you can skip this chapter. For the rest, here are some awesome descriptions of how it works:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.php.net/manual/en/language.oop5.interfaces.php",children:"Interfaces"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://en.wikipedia.org/wiki/Dependency_injection",children:"Dependency Injection"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.php.net/manual/en/language.oop5.abstract.php",children:"Abstract Classes"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.php.net/manual/en/language.oop5.inheritance.php",children:"Object Inheritance"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.php.net/manual/en/language.namespaces.php",children:"Namespaces"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.php.net/manual/en/language.oop5.traits.php",children:"Traits"})}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Please get acquainted with these concepts before you continue because they will help you in the later chapters."})]})}function p(e={}){const{wrapper:n}={...(0,i.M)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},4552:(e,n,t)=>{t.d(n,{I:()=>r,M:()=>c});var s=t(11504);const i={},a=s.createContext(i);function c(e){const n=s.useContext(a);return s.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:c(e.components),s.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9e8339c4.68c70274.js b/assets/js/9e8339c4.68c70274.js new file mode 100644 index 000000000..0e0c2dfe5 --- /dev/null +++ b/assets/js/9e8339c4.68c70274.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[75324],{78704:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>a,metadata:()=>o,toc:()=>d});var n=s(17624),i=s(4552);const a={id:"success-redirect",title:"Success redirects"},r=void 0,o={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.",source:"@site/forms/features/success-redirect.md",sourceDirName:"features",slug:"/features/success-redirect",permalink:"/forms/features/success-redirect",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"success-redirect",title:"Success redirects"},sidebar:"forms",previous:{title:"Spam prevention",permalink:"/forms/features/spam-prevention"},next:{title:"Tracking",permalink:"/forms/features/tracking"}},c={},d=[{value:"Template tags",id:"template-tags",level:2},{value:"Variations",id:"variations",level:2},{value:"How to use a variation",id:"how-to-use-a-variation",level:3},{value:"Block editor options",id:"block-editor-options",level:3}];function l(e){const t={a:"a",admonition:"admonition",code:"code",em:"em",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(t.p,{children:["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 ",(0,n.jsx)(t.em,{children:"Success redirects"})," feature. This option can be found in each integration's Form settings, or in Global settings."]}),"\n",(0,n.jsx)(t.p,{children:'Variation and template tags can enrich the "thank you" pages, and make them more personal.'}),"\n",(0,n.jsx)(t.h2,{id:"template-tags",children:"Template tags"}),"\n",(0,n.jsxs)(t.p,{children:['The data entered by the user is sent to the "Thank you" page in the form of ',(0,n.jsx)(t.code,{children:"GET"})," parameters. By default, no parameters are sent, to prevent sending any data that is not meant to be forwarded. In the Form settings the parameters that are passed through can be selected."]}),"\n",(0,n.jsxs)(t.p,{children:["Chosen parameters can be used as ",(0,n.jsx)(t.em,{children:"magic variables"})," on the destination side. They are wrapped inside curly brackets, with the field name inside, e.g. ",(0,n.jsx)(t.code,{children:"{name}"}),", ",(0,n.jsx)(t.code,{children:"{email}"}),", ...\n",(0,n.jsx)(t.img,{alt:"Success redirects settings screen",src:s(13808).c+"",width:"652",height:"649"})]}),"\n",(0,n.jsx)(t.h2,{id:"variations",children:"Variations"}),"\n",(0,n.jsxs)(t.p,{children:['Just like Template tags, variations are also passed to the "Thank you" page as a ',(0,n.jsx)(t.code,{children:"GET"}),' parameter. However, instead of using the entered data, they are pre-defined in the form settings, and can be used to add more granular control to the design and/or content of the "Thank you" page.\nTemplate tags and variations are features that allow passing data to the success page. However, variations are predetermined in the form settings and are used to differentiate between various versions of the success page.']}),"\n",(0,n.jsxs)(t.p,{children:["When enabled, a ",(0,n.jsx)(t.code,{children:"es-variation"}),' GET parameter is added to the "Thank you" page URL, with the value being the ID of the chosen variation.']}),"\n",(0,n.jsx)(t.admonition,{type:"note",children:(0,n.jsxs)(t.p,{children:["The value must be encoded, which can be done with the ",(0,n.jsx)(t.code,{children:"esFormsDecryptor"})," ",(0,n.jsx)(t.a,{href:"/forms/php/helpers#esformsdecryptor",children:"helper"}),"."]})}),"\n",(0,n.jsx)(t.h3,{id:"how-to-use-a-variation",children:"How to use a variation"}),"\n",(0,n.jsx)(t.p,{children:"To use variations, a list of variations needs to be added in the Global settings. Then, the variations can be chosen both in Form settings and through the Block editor."}),"\n",(0,n.jsx)(t.h3,{id:"block-editor-options",children:"Block editor options"}),"\n",(0,n.jsx)(t.p,{children:"When selecting a form in the Block Editor, you will find multiple additional options to enrich your user experience."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Options available in the Block Editor:"})}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Variant"})," - this option will override the variant set in the form settings. This way, you can use one form in multiple places with different variants."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Enrichment"})," - this option will add additional data to your success URL."]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Url"})," - this option will set a simple URL to pass."]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Url title"})," - this option will set a title for the URL if you want to populate a button."]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Media"})," - this option will allow you to add unlimited media files to the success page. For example if you want a user to download a file after submitting a form."]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Media item conditional field"}),"s - just like template tags, you can use simple conditional tags here to show or hide media items based on the user input. E.g., ",(0,n.jsx)(t.code,{children:"field_name=filed_value"}),". If you want to show a media item in any case, you can use the ",(0,n.jsx)(t.code,{children:"all"})," value."]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Media item title"})," - just like the url title, this option will set a title for the media item."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Success redirects screen",src:s(51208).c+"",width:"309",height:"820"})}),"\n",(0,n.jsx)(t.admonition,{type:"caution",children:(0,n.jsx)(t.p,{children:"At this point, you must manually create a success page block that can use variations options. We are working on a solution to automate this process."})})]})}function h(e={}){const{wrapper:t}={...(0,i.M)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(l,{...e})}):l(e)}},13808:(e,t,s)=>{s.d(t,{c:()=>n});const n=s.p+"assets/images/success-redirects-settings-db726059c2dbfbe5abb2f88270ef760e.webp"},51208:(e,t,s)=>{s.d(t,{c:()=>n});const n=s.p+"assets/images/success-redirects-67a268f0bc1cf0434cdebf976ceac82a.webp"},4552:(e,t,s)=>{s.d(t,{I:()=>o,M:()=>r});var n=s(11504);const i={},a=n.createContext(i);function r(e){const t=n.useContext(a);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),n.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9e8339c4.699e6d90.js b/assets/js/9e8339c4.699e6d90.js deleted file mode 100644 index 3cfbdf2a8..000000000 --- a/assets/js/9e8339c4.699e6d90.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[45012],{78455:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>a,metadata:()=>o,toc:()=>d});var n=s(85893),i=s(11151);const a={id:"success-redirect",title:"Success redirects"},r=void 0,o={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.",source:"@site/forms/features/success-redirect.md",sourceDirName:"features",slug:"/features/success-redirect",permalink:"/forms/features/success-redirect",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"success-redirect",title:"Success redirects"},sidebar:"forms",previous:{title:"Spam prevention",permalink:"/forms/features/spam-prevention"},next:{title:"Tracking",permalink:"/forms/features/tracking"}},c={},d=[{value:"Template tags",id:"template-tags",level:2},{value:"Variations",id:"variations",level:2},{value:"How to use a variation",id:"how-to-use-a-variation",level:3},{value:"Block editor options",id:"block-editor-options",level:3}];function l(e){const t={a:"a",admonition:"admonition",code:"code",em:"em",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(t.p,{children:["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 ",(0,n.jsx)(t.em,{children:"Success redirects"})," feature. This option can be found in each integration's Form settings, or in Global settings."]}),"\n",(0,n.jsx)(t.p,{children:'Variation and template tags can enrich the "thank you" pages, and make them more personal.'}),"\n",(0,n.jsx)(t.h2,{id:"template-tags",children:"Template tags"}),"\n",(0,n.jsxs)(t.p,{children:['The data entered by the user is sent to the "Thank you" page in the form of ',(0,n.jsx)(t.code,{children:"GET"})," parameters. By default, no parameters are sent, to prevent sending any data that is not meant to be forwarded. In the Form settings the parameters that are passed through can be selected."]}),"\n",(0,n.jsxs)(t.p,{children:["Chosen parameters can be used as ",(0,n.jsx)(t.em,{children:"magic variables"})," on the destination side. They are wrapped inside curly brackets, with the field name inside, e.g. ",(0,n.jsx)(t.code,{children:"{name}"}),", ",(0,n.jsx)(t.code,{children:"{email}"}),", ...\n",(0,n.jsx)(t.img,{alt:"Success redirects settings screen",src:s(10472).Z+"",width:"652",height:"649"})]}),"\n",(0,n.jsx)(t.h2,{id:"variations",children:"Variations"}),"\n",(0,n.jsxs)(t.p,{children:['Just like Template tags, variations are also passed to the "Thank you" page as a ',(0,n.jsx)(t.code,{children:"GET"}),' parameter. However, instead of using the entered data, they are pre-defined in the form settings, and can be used to add more granular control to the design and/or content of the "Thank you" page.\nTemplate tags and variations are features that allow passing data to the success page. However, variations are predetermined in the form settings and are used to differentiate between various versions of the success page.']}),"\n",(0,n.jsxs)(t.p,{children:["When enabled, a ",(0,n.jsx)(t.code,{children:"es-variation"}),' GET parameter is added to the "Thank you" page URL, with the value being the ID of the chosen variation.']}),"\n",(0,n.jsx)(t.admonition,{type:"note",children:(0,n.jsxs)(t.p,{children:["The value must be encoded, which can be done with the ",(0,n.jsx)(t.code,{children:"esFormsDecryptor"})," ",(0,n.jsx)(t.a,{href:"/forms/php/helpers#esformsdecryptor",children:"helper"}),"."]})}),"\n",(0,n.jsx)(t.h3,{id:"how-to-use-a-variation",children:"How to use a variation"}),"\n",(0,n.jsx)(t.p,{children:"To use variations, a list of variations needs to be added in the Global settings. Then, the variations can be chosen both in Form settings and through the Block editor."}),"\n",(0,n.jsx)(t.h3,{id:"block-editor-options",children:"Block editor options"}),"\n",(0,n.jsx)(t.p,{children:"When selecting a form in the Block Editor, you will find multiple additional options to enrich your user experience."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Options available in the Block Editor:"})}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Variant"})," - this option will override the variant set in the form settings. This way, you can use one form in multiple places with different variants."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Enrichment"})," - this option will add additional data to your success URL."]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Url"})," - this option will set a simple URL to pass."]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Url title"})," - this option will set a title for the URL if you want to populate a button."]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Media"})," - this option will allow you to add unlimited media files to the success page. For example if you want a user to download a file after submitting a form."]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Media item conditional field"}),"s - just like template tags, you can use simple conditional tags here to show or hide media items based on the user input. E.g., ",(0,n.jsx)(t.code,{children:"field_name=filed_value"}),". If you want to show a media item in any case, you can use the ",(0,n.jsx)(t.code,{children:"all"})," value."]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Media item title"})," - just like the url title, this option will set a title for the media item."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Success redirects screen",src:s(31206).Z+"",width:"309",height:"820"})}),"\n",(0,n.jsx)(t.admonition,{type:"caution",children:(0,n.jsx)(t.p,{children:"At this point, you must manually create a success page block that can use variations options. We are working on a solution to automate this process."})})]})}function h(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(l,{...e})}):l(e)}},10472:(e,t,s)=>{s.d(t,{Z:()=>n});const n=s.p+"assets/images/success-redirects-settings-db726059c2dbfbe5abb2f88270ef760e.webp"},31206:(e,t,s)=>{s.d(t,{Z:()=>n});const n=s.p+"assets/images/success-redirects-67a268f0bc1cf0434cdebf976ceac82a.webp"},11151:(e,t,s)=>{s.d(t,{Z:()=>o,a:()=>r});var n=s(67294);const i={},a=n.createContext(i);function r(e){const t=n.useContext(a);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),n.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9ec15741.6bdba007.js b/assets/js/9ec15741.6bdba007.js new file mode 100644 index 000000000..1863aba1e --- /dev/null +++ b/assets/js/9ec15741.6bdba007.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[33052],{96752:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>h,frontMatter:()=>n,metadata:()=>a,toc:()=>c});var s=r(17624),i=r(4552);const n={id:"blocks-filter-block-attributes-override",title:"Filter Attributes Override"},o=void 0,a={id:"legacy/v4/guides/blocks-filter-block-attributes-override",title:"Filter Attributes Override",description:"docs-source",source:"@site/docs/legacy/v4/guides/blocks-filer-block-attributes-override.md",sourceDirName:"legacy/v4/guides",slug:"/legacy/v4/guides/blocks-filter-block-attributes-override",permalink:"/docs/legacy/v4/guides/blocks-filter-block-attributes-override",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-filter-block-attributes-override",title:"Filter Attributes Override"},sidebar:"docs",previous:{title:"GetActions Helper",permalink:"/docs/legacy/v4/guides/blocks-get-actions-helper"},next:{title:"i18n",permalink:"/docs/legacy/v4/guides/i18n"}},l={},c=[{value:"Example",id:"example",level:2}];function d(e){const t={a:"a",blockquote:"blockquote",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",...(0,i.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/blocks/class-blocks.php",children:(0,s.jsx)(t.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(t.p,{children:"This filter gives you the ability to hook your changes to block/wrapper attributes after they are registered in the block editor but before they are rendered in React."}),"\n",(0,s.jsxs)(t.p,{children:["The usage of this method is vast. You can, for example, use it to provide different block/wrapper defaults depending on the post type. For example, you have a button block that you want to have the default color red, but on the post type ",(0,s.jsx)(t.code,{children:"post"}),", you want that button to be black by default. Using this hook, you can easily do this."]}),"\n",(0,s.jsxs)(t.blockquote,{children:["\n",(0,s.jsx)(t.p,{children:"This method can only change the default values of the attributes. Once the value is saved in the database and it is different from the default, it will stay in the database, and all these changes won't apply to it."}),"\n"]}),"\n",(0,s.jsx)(t.h2,{id:"example",children:"Example"}),"\n",(0,s.jsxs)(t.p,{children:["If you haven't already, create a new class in a file ",(0,s.jsx)(t.code,{children:"src/blocks/class-blocks.php"})," and extend the ",(0,s.jsx)(t.code,{children:"Eightshift_Libs\\Blocks\\Blocks"})," class from the lib."]}),"\n",(0,s.jsxs)(t.p,{children:["How to extend a class ",(0,s.jsx)(t.a,{href:"extending-classes",children:"check here"}),"."]}),"\n",(0,s.jsx)(t.p,{children:"Then in the filter provide a callback method that contains the overrides."}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:" /**\n * Register all the hooks\n *\n * @since 1.0.0\n *\n * @return void\n */\n public function register() {\n parent::register();\n\n add_filter( $this->config->get_config( static::BLOCK_ATTRIBUTES_FILTER_NAME ), [ $this, 'override_wrapper' ] );\n }\n\n /**\n * Override wrapper on all blocks.\n *\n * @param array $attr Array of blocks details.\n * @return array\n */\n public function override_wrapper ( array $attr ) : array {\n\n if ( get_post_type() === 'post' ) {\n $attr['styleBackgroundColor']['default'] = 'black';\n }\n\n return $attr;\n }\n"})})]})}function h(e={}){const{wrapper:t}={...(0,i.M)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},4552:(e,t,r)=>{r.d(t,{I:()=>a,M:()=>o});var s=r(11504);const i={},n=s.createContext(i);function o(e){const t=s.useContext(n);return s.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:o(e.components),s.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9ec15741.a276f235.js b/assets/js/9ec15741.a276f235.js deleted file mode 100644 index f1a464d7e..000000000 --- a/assets/js/9ec15741.a276f235.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[89340],{36034:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>h,frontMatter:()=>n,metadata:()=>a,toc:()=>c});var s=r(85893),i=r(11151);const n={id:"blocks-filter-block-attributes-override",title:"Filter Attributes Override"},o=void 0,a={id:"legacy/v4/guides/blocks-filter-block-attributes-override",title:"Filter Attributes Override",description:"docs-source",source:"@site/docs/legacy/v4/guides/blocks-filer-block-attributes-override.md",sourceDirName:"legacy/v4/guides",slug:"/legacy/v4/guides/blocks-filter-block-attributes-override",permalink:"/docs/legacy/v4/guides/blocks-filter-block-attributes-override",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-filter-block-attributes-override",title:"Filter Attributes Override"},sidebar:"docs",previous:{title:"GetActions Helper",permalink:"/docs/legacy/v4/guides/blocks-get-actions-helper"},next:{title:"i18n",permalink:"/docs/legacy/v4/guides/i18n"}},l={},c=[{value:"Example",id:"example",level:2}];function d(e){const t={a:"a",blockquote:"blockquote",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/blocks/class-blocks.php",children:(0,s.jsx)(t.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(t.p,{children:"This filter gives you the ability to hook your changes to block/wrapper attributes after they are registered in the block editor but before they are rendered in React."}),"\n",(0,s.jsxs)(t.p,{children:["The usage of this method is vast. You can, for example, use it to provide different block/wrapper defaults depending on the post type. For example, you have a button block that you want to have the default color red, but on the post type ",(0,s.jsx)(t.code,{children:"post"}),", you want that button to be black by default. Using this hook, you can easily do this."]}),"\n",(0,s.jsxs)(t.blockquote,{children:["\n",(0,s.jsx)(t.p,{children:"This method can only change the default values of the attributes. Once the value is saved in the database and it is different from the default, it will stay in the database, and all these changes won't apply to it."}),"\n"]}),"\n",(0,s.jsx)(t.h2,{id:"example",children:"Example"}),"\n",(0,s.jsxs)(t.p,{children:["If you haven't already, create a new class in a file ",(0,s.jsx)(t.code,{children:"src/blocks/class-blocks.php"})," and extend the ",(0,s.jsx)(t.code,{children:"Eightshift_Libs\\Blocks\\Blocks"})," class from the lib."]}),"\n",(0,s.jsxs)(t.p,{children:["How to extend a class ",(0,s.jsx)(t.a,{href:"extending-classes",children:"check here"}),"."]}),"\n",(0,s.jsx)(t.p,{children:"Then in the filter provide a callback method that contains the overrides."}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:" /**\n * Register all the hooks\n *\n * @since 1.0.0\n *\n * @return void\n */\n public function register() {\n parent::register();\n\n add_filter( $this->config->get_config( static::BLOCK_ATTRIBUTES_FILTER_NAME ), [ $this, 'override_wrapper' ] );\n }\n\n /**\n * Override wrapper on all blocks.\n *\n * @param array $attr Array of blocks details.\n * @return array\n */\n public function override_wrapper ( array $attr ) : array {\n\n if ( get_post_type() === 'post' ) {\n $attr['styleBackgroundColor']['default'] = 'black';\n }\n\n return $attr;\n }\n"})})]})}function h(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},11151:(e,t,r)=>{r.d(t,{Z:()=>a,a:()=>o});var s=r(67294);const i={},n=s.createContext(i);function o(e){const t=s.useContext(n);return s.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:o(e.components),s.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9ee0eb8a.b7c3e007.js b/assets/js/9ee0eb8a.b7c3e007.js new file mode 100644 index 000000000..30c541b9f --- /dev/null +++ b/assets/js/9ee0eb8a.b7c3e007.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[61180],{5696:(t,n,e)=>{e.r(n),e.d(n,{assets:()=>d,contentTitle:()=>s,default:()=>c,frontMatter:()=>r,metadata:()=>a,toc:()=>u});var o=e(17624),i=e(4552);const r={id:"intro",title:"Intro"},s=void 0,a={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.",source:"@site/forms/addons/intro.md",sourceDirName:"addons",slug:"/addons/intro",permalink:"/forms/addons/intro",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"intro",title:"Intro"},sidebar:"forms",previous:{title:"Playlist",permalink:"/forms/tutorials/playlist"},next:{title:"Intro",permalink:"/forms/addons/free/intro"}},d={},u=[{value:"Want to create your own add-on plugin?",id:"want-to-create-your-own-add-on-plugin",level:3}];function l(t){const n={a:"a",h3:"h3",p:"p",...(0,i.M)(),...t.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:"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."}),"\n",(0,o.jsxs)(n.p,{children:["We will update this page's list of ",(0,o.jsx)(n.a,{href:"free/intro",children:"free"})," and ",(0,o.jsx)(n.a,{href:"premium/intro",children:"premium"})," plugins available for Eightshift Forms."]}),"\n",(0,o.jsx)(n.h3,{id:"want-to-create-your-own-add-on-plugin",children:"Want to create your own add-on plugin?"}),"\n",(0,o.jsxs)(n.p,{children:["If you want to add your add-on plugin to our list, you can submit an ",(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-forms/issues",children:"issue here"}),"."]}),"\n",(0,o.jsxs)(n.p,{children:["Visit this ",(0,o.jsx)(n.a,{href:"create/intro",children:"link"})," for a tutorial and guidelines on creating a plugin for Eightshift Forms."]})]})}function c(t={}){const{wrapper:n}={...(0,i.M)(),...t.components};return n?(0,o.jsx)(n,{...t,children:(0,o.jsx)(l,{...t})}):l(t)}},4552:(t,n,e)=>{e.d(n,{I:()=>a,M:()=>s});var o=e(11504);const i={},r=o.createContext(i);function s(t){const n=o.useContext(r);return o.useMemo((function(){return"function"==typeof t?t(n):{...n,...t}}),[n,t])}function a(t){let n;return n=t.disableParentContext?"function"==typeof t.components?t.components(i):t.components||i:s(t.components),o.createElement(r.Provider,{value:n},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/9ee0eb8a.e7295845.js b/assets/js/9ee0eb8a.e7295845.js deleted file mode 100644 index 0a1a526ba..000000000 --- a/assets/js/9ee0eb8a.e7295845.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[84805],{22495:(t,n,e)=>{e.r(n),e.d(n,{assets:()=>d,contentTitle:()=>s,default:()=>c,frontMatter:()=>r,metadata:()=>a,toc:()=>u});var o=e(85893),i=e(11151);const r={id:"intro",title:"Intro"},s=void 0,a={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.",source:"@site/forms/addons/intro.md",sourceDirName:"addons",slug:"/addons/intro",permalink:"/forms/addons/intro",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"intro",title:"Intro"},sidebar:"forms",previous:{title:"Playlist",permalink:"/forms/tutorials/playlist"},next:{title:"Intro",permalink:"/forms/addons/free/intro"}},d={},u=[{value:"Want to create your own add-on plugin?",id:"want-to-create-your-own-add-on-plugin",level:3}];function l(t){const n={a:"a",h3:"h3",p:"p",...(0,i.a)(),...t.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:"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."}),"\n",(0,o.jsxs)(n.p,{children:["We will update this page's list of ",(0,o.jsx)(n.a,{href:"free/intro",children:"free"})," and ",(0,o.jsx)(n.a,{href:"premium/intro",children:"premium"})," plugins available for Eightshift Forms."]}),"\n",(0,o.jsx)(n.h3,{id:"want-to-create-your-own-add-on-plugin",children:"Want to create your own add-on plugin?"}),"\n",(0,o.jsxs)(n.p,{children:["If you want to add your add-on plugin to our list, you can submit an ",(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-forms/issues",children:"issue here"}),"."]}),"\n",(0,o.jsxs)(n.p,{children:["Visit this ",(0,o.jsx)(n.a,{href:"create/intro",children:"link"})," for a tutorial and guidelines on creating a plugin for Eightshift Forms."]})]})}function c(t={}){const{wrapper:n}={...(0,i.a)(),...t.components};return n?(0,o.jsx)(n,{...t,children:(0,o.jsx)(l,{...t})}):l(t)}},11151:(t,n,e)=>{e.d(n,{Z:()=>a,a:()=>s});var o=e(67294);const i={},r=o.createContext(i);function s(t){const n=o.useContext(r);return o.useMemo((function(){return"function"==typeof t?t(n):{...n,...t}}),[n,t])}function a(t){let n;return n=t.disableParentContext?"function"==typeof t.components?t.components(i):t.components||i:s(t.components),o.createElement(r.Provider,{value:n},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/9eec1b69.3a305a3e.js b/assets/js/9eec1b69.3a305a3e.js new file mode 100644 index 000000000..f3162282d --- /dev/null +++ b/assets/js/9eec1b69.3a305a3e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[51992],{81776:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>r,toc:()=>l});var t=s(17624),i=s(4552);const o={id:"extending-classes",title:"Extending Classes"},a=void 0,r={id:"legacy/v8/basics/extending-classes",title:"Extending Classes",description:"docs-source",source:"@site/docs/legacy/v8/basics/extending-classes.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/extending-classes",permalink:"/docs/legacy/v8/basics/extending-classes",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"extending-classes",title:"Extending Classes"},sidebar:"docs",previous:{title:"Namespaces",permalink:"/docs/legacy/v8/basics/namespaces"},next:{title:"Autowiring",permalink:"/docs/legacy/v8/basics/autowiring"}},c={},l=[{value:"Example",id:"example",level:2}];function d(e){const n={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",strong:"strong",...(0,i.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs",children:(0,t.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsxs)(n.p,{children:["You can extend every class from the library. To follow the good practice, you should never use the class directly from the Eightshift-libs in your service container (except from helpers and traits). Instead, you should create a class in your project and extend the class from the Eightshift-libs. That is why we made all those ",(0,t.jsx)(n.a,{href:"wp-cli",children:"WP-CLI"})," commands you saw in the previous chapter."]}),"\n",(0,t.jsx)(n.p,{children:"We don't do any magic in the Eightshift-libs like in previous versions. All classes contain only the methods you need to call using WordPress hooks or filters."}),"\n",(0,t.jsx)(n.h2,{id:"example",children:"Example"}),"\n",(0,t.jsxs)(n.p,{children:["Let's look at a way to add a class that enqueues theme front-end scripts and styles.\nGo to the ",(0,t.jsx)(n.strong,{children:"root"})," of your theme. Using the terminal, run this command:"]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"wp boilerplate create enqueue-admin"})}),"\n",(0,t.jsx)(n.p,{children:"This command will output something like this in your project, taking care of your projects namespace and vendor prefixes, as well as the package name and the text-domain:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"<?php\n\n/**\n * The Admin Enqueue specific functionality.\n *\n * @package CoolProject\\Enqueue\\Admin\n */\n\ndeclare(strict_types=1);\n\nnamespace CoolProject\\Enqueue\\Admin;\n\nuse CoolProject\\Config\\Config;\nuse CoolProjectVendor\\EightshiftLibs\\Enqueue\\Admin\\AbstractEnqueueAdmin;\nuse CoolProjectVendor\\EightshiftLibs\\Manifest\\ManifestInterface;\n\n/**\n * Class EnqueueAdmin\n *\n * This class handles enqueue scripts and styles.\n */\nclass EnqueueAdmin extends AbstractEnqueueAdmin\n{\n\n /**\n * Create a new admin instance.\n *\n * @param ManifestInterface $manifest Inject manifest which holds data about assets from manifest.json.\n */\n public function __construct(ManifestInterface $manifest)\n {\n $this->manifest = $manifest;\n }\n\n /**\n * Register all the hooks\n *\n * @return void\n */\n public function register(): void\n {\n add_action('login_enqueue_scripts', [ $this, 'enqueueStyles' ]);\n add_action('admin_enqueue_scripts', [ $this, 'enqueueStyles' ], 50);\n add_action('admin_enqueue_scripts', [ $this, 'enqueueScripts' ]);\n }\n\n /**\n * Method that returns assets name used to prefix asset handlers.\n *\n * @return string\n */\n public function getAssetsPrefix(): string\n {\n return Config::getProjectName();\n }\n\n /**\n * Method that returns assets version for versioning asset handlers.\n *\n * @return string\n */\n public function getAssetsVersion(): string\n {\n return Config::getProjectVersion();\n }\n}\n"})}),"\n",(0,t.jsx)(n.p,{children:"As you can see from the provided example, we created a new class and extended the functionality from the Eightshift-libs."}),"\n",(0,t.jsxs)(n.p,{children:["In your new class, you have a ",(0,t.jsx)(n.code,{children:"register"})," method that must be in every class that registers WordPress action hooks or filters. We call these ",(0,t.jsx)(n.strong,{children:"service classes"}),"."]}),"\n",(0,t.jsx)(n.p,{children:"Your class contains three action hooks now. From this example, you can see that, if you don't want to use some functionality, remove the action, and it will not be used anymore. For more details on what each hook's callback does, go to the extended class in the Eightshift-libs and see the logic defined there."})]})}function h(e={}){const{wrapper:n}={...(0,i.M)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},4552:(e,n,s)=>{s.d(n,{I:()=>r,M:()=>a});var t=s(11504);const i={},o=t.createContext(i);function a(e){const n=t.useContext(o);return t.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:a(e.components),t.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9eec1b69.d1f357ef.js b/assets/js/9eec1b69.d1f357ef.js deleted file mode 100644 index 2e8accd2f..000000000 --- a/assets/js/9eec1b69.d1f357ef.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[89509],{65442:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>a,metadata:()=>r,toc:()=>l});var t=s(85893),i=s(11151);const a={id:"extending-classes",title:"Extending Classes"},o=void 0,r={id:"legacy/v8/basics/extending-classes",title:"Extending Classes",description:"docs-source",source:"@site/docs/legacy/v8/basics/extending-classes.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/extending-classes",permalink:"/docs/legacy/v8/basics/extending-classes",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"extending-classes",title:"Extending Classes"},sidebar:"docs",previous:{title:"Namespaces",permalink:"/docs/legacy/v8/basics/namespaces"},next:{title:"Autowiring",permalink:"/docs/legacy/v8/basics/autowiring"}},c={},l=[{value:"Example",id:"example",level:2}];function d(e){const n={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",strong:"strong",...(0,i.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs",children:(0,t.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsxs)(n.p,{children:["You can extend every class from the library. To follow the good practice, you should never use the class directly from the Eightshift-libs in your service container (except from helpers and traits). Instead, you should create a class in your project and extend the class from the Eightshift-libs. That is why we made all those ",(0,t.jsx)(n.a,{href:"wp-cli",children:"WP-CLI"})," commands you saw in the previous chapter."]}),"\n",(0,t.jsx)(n.p,{children:"We don't do any magic in the Eightshift-libs like in previous versions. All classes contain only the methods you need to call using WordPress hooks or filters."}),"\n",(0,t.jsx)(n.h2,{id:"example",children:"Example"}),"\n",(0,t.jsxs)(n.p,{children:["Let's look at a way to add a class that enqueues theme front-end scripts and styles.\nGo to the ",(0,t.jsx)(n.strong,{children:"root"})," of your theme. Using the terminal, run this command:"]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"wp boilerplate create enqueue-admin"})}),"\n",(0,t.jsx)(n.p,{children:"This command will output something like this in your project, taking care of your projects namespace and vendor prefixes, as well as the package name and the text-domain:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"<?php\n\n/**\n * The Admin Enqueue specific functionality.\n *\n * @package CoolProject\\Enqueue\\Admin\n */\n\ndeclare(strict_types=1);\n\nnamespace CoolProject\\Enqueue\\Admin;\n\nuse CoolProject\\Config\\Config;\nuse CoolProjectVendor\\EightshiftLibs\\Enqueue\\Admin\\AbstractEnqueueAdmin;\nuse CoolProjectVendor\\EightshiftLibs\\Manifest\\ManifestInterface;\n\n/**\n * Class EnqueueAdmin\n *\n * This class handles enqueue scripts and styles.\n */\nclass EnqueueAdmin extends AbstractEnqueueAdmin\n{\n\n /**\n * Create a new admin instance.\n *\n * @param ManifestInterface $manifest Inject manifest which holds data about assets from manifest.json.\n */\n public function __construct(ManifestInterface $manifest)\n {\n $this->manifest = $manifest;\n }\n\n /**\n * Register all the hooks\n *\n * @return void\n */\n public function register(): void\n {\n add_action('login_enqueue_scripts', [ $this, 'enqueueStyles' ]);\n add_action('admin_enqueue_scripts', [ $this, 'enqueueStyles' ], 50);\n add_action('admin_enqueue_scripts', [ $this, 'enqueueScripts' ]);\n }\n\n /**\n * Method that returns assets name used to prefix asset handlers.\n *\n * @return string\n */\n public function getAssetsPrefix(): string\n {\n return Config::getProjectName();\n }\n\n /**\n * Method that returns assets version for versioning asset handlers.\n *\n * @return string\n */\n public function getAssetsVersion(): string\n {\n return Config::getProjectVersion();\n }\n}\n"})}),"\n",(0,t.jsx)(n.p,{children:"As you can see from the provided example, we created a new class and extended the functionality from the Eightshift-libs."}),"\n",(0,t.jsxs)(n.p,{children:["In your new class, you have a ",(0,t.jsx)(n.code,{children:"register"})," method that must be in every class that registers WordPress action hooks or filters. We call these ",(0,t.jsx)(n.strong,{children:"service classes"}),"."]}),"\n",(0,t.jsx)(n.p,{children:"Your class contains three action hooks now. From this example, you can see that, if you don't want to use some functionality, remove the action, and it will not be used anymore. For more details on what each hook's callback does, go to the extended class in the Eightshift-libs and see the logic defined there."})]})}function h(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},11151:(e,n,s)=>{s.d(n,{Z:()=>r,a:()=>o});var t=s(67294);const i={},a=t.createContext(i);function o(e){const n=t.useContext(a);return t.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:o(e.components),t.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9f25cf08.0c14d3ca.js b/assets/js/9f25cf08.0c14d3ca.js new file mode 100644 index 000000000..7d75a561c --- /dev/null +++ b/assets/js/9f25cf08.0c14d3ca.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[7336],{1932:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>n,metadata:()=>c,toc:()=>l});var i=s(17624),o=s(4552);const n={id:"library",title:"SCSS Library"},r=void 0,c={id:"legacy/v6/basics/library",title:"SCSS Library",description:"docs-source",source:"@site/docs/legacy/v6/basics/library.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/library",permalink:"/docs/legacy/v6/basics/library",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"library",title:"SCSS Library"},sidebar:"docs",previous:{title:"Webpack",permalink:"/docs/legacy/v6/basics/webpack"},next:{title:"Global Settings",permalink:"/docs/legacy/v6/basics/global-settings"}},a={},l=[{value:"How to use it",id:"how-to-use-it",level:2}];function d(e){const t={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",strong:"strong",...(0,o.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsx)(t.p,{children:"Eightshift Frontend Libs contains a collection of useful SCSS mixins, functions and helpers you can use in projects."}),"\n",(0,i.jsx)(t.p,{children:"For years, we have collected a list of them. At one point, we felt it was ineffective to copy-paste code across multiple projects, so we created Eightshift Frontend Libs. This allows you to use whatever we offer without all that unnecessary clutter."}),"\n",(0,i.jsx)(t.p,{children:"Check out our documentation and import what you need from Eightshift Frontend Libs."}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsxs)(t.strong,{children:["Visit ",(0,i.jsx)(t.a,{href:"/docs/basics/library",children:"SassDocs"})," for more details."]})}),"\n",(0,i.jsx)(t.h2,{id:"how-to-use-it",children:"How to use it"}),"\n",(0,i.jsx)(t.p,{children:"SCSS mixins, functions, and helpers are located in Eightshift Frontend Libs. Therefore, if you are using our Webpack build, you are all set. You can use it by importing it into your project like this:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-scss",children:"@import '@eightshift/frontend-libs/styles/index.scss';\n"})}),"\n",(0,i.jsxs)(t.p,{children:["However, if you used our ",(0,i.jsx)(t.code,{children:"wp boilerplate setup_theme"})," command, you are all set. Eightshift Frontend Libs are injected in the ",(0,i.jsx)(t.code,{children:"_shared.scss"})," file in your project."]})]})}function h(e={}){const{wrapper:t}={...(0,o.M)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},4552:(e,t,s)=>{s.d(t,{I:()=>c,M:()=>r});var i=s(11504);const o={},n=i.createContext(o);function r(e){const t=i.useContext(n);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),i.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9f25cf08.3433e953.js b/assets/js/9f25cf08.3433e953.js deleted file mode 100644 index b5b6f52c2..000000000 --- a/assets/js/9f25cf08.3433e953.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[29041],{29959:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>n,metadata:()=>c,toc:()=>l});var i=s(85893),o=s(11151);const n={id:"library",title:"SCSS Library"},r=void 0,c={id:"legacy/v6/basics/library",title:"SCSS Library",description:"docs-source",source:"@site/docs/legacy/v6/basics/library.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/library",permalink:"/docs/legacy/v6/basics/library",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"library",title:"SCSS Library"},sidebar:"docs",previous:{title:"Webpack",permalink:"/docs/legacy/v6/basics/webpack"},next:{title:"Global Settings",permalink:"/docs/legacy/v6/basics/global-settings"}},a={},l=[{value:"How to use it",id:"how-to-use-it",level:2}];function d(e){const t={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",strong:"strong",...(0,o.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsx)(t.p,{children:"Eightshift Frontend Libs contains a collection of useful SCSS mixins, functions and helpers you can use in projects."}),"\n",(0,i.jsx)(t.p,{children:"For years, we have collected a list of them. At one point, we felt it was ineffective to copy-paste code across multiple projects, so we created Eightshift Frontend Libs. This allows you to use whatever we offer without all that unnecessary clutter."}),"\n",(0,i.jsx)(t.p,{children:"Check out our documentation and import what you need from Eightshift Frontend Libs."}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsxs)(t.strong,{children:["Visit ",(0,i.jsx)(t.a,{href:"/sass",children:"SassDocs"})," for more details."]})}),"\n",(0,i.jsx)(t.h2,{id:"how-to-use-it",children:"How to use it"}),"\n",(0,i.jsx)(t.p,{children:"SCSS mixins, functions, and helpers are located in Eightshift Frontend Libs. Therefore, if you are using our Webpack build, you are all set. You can use it by importing it into your project like this:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-scss",children:"@import '@eightshift/frontend-libs/styles/index.scss';\n"})}),"\n",(0,i.jsxs)(t.p,{children:["However, if you used our ",(0,i.jsx)(t.code,{children:"wp boilerplate setup_theme"})," command, you are all set. Eightshift Frontend Libs are injected in the ",(0,i.jsx)(t.code,{children:"_shared.scss"})," file in your project."]})]})}function h(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},11151:(e,t,s)=>{s.d(t,{Z:()=>c,a:()=>r});var i=s(67294);const o={},n=i.createContext(o);function r(e){const t=i.useContext(n);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),i.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9f6545b7.d2f5d6c5.js b/assets/js/9f6545b7.d2f5d6c5.js new file mode 100644 index 000000000..64c632a8c --- /dev/null +++ b/assets/js/9f6545b7.d2f5d6c5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[73380],{61036:(e,s,i)=>{i.r(s),i.d(s,{assets:()=>A,contentTitle:()=>o,default:()=>a,frontMatter:()=>l,metadata:()=>d,toc:()=>c});var n=i(17624),t=i(4552),r=i(57848);const l={id:"basics",title:"Basics"},o=void 0,d={id:"basics",title:"Basics",description:"How to use it?",source:"@site/forms/basics.mdx",sourceDirName:".",slug:"/basics",permalink:"/forms/basics",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"basics",title:"Basics"},sidebar:"forms",previous:{title:"Welcome",permalink:"/forms/welcome"},next:{title:"Your first form",permalink:"/forms/first-form"}},A={},c=[{value:"How to use it?",id:"how-to-use-it",level:2},{value:"Terminogy",id:"terminogy",level:2},{value:"Forms listing",id:"forms-listing",level:2},{value:"Locations",id:"locations",level:3},{value:"Edit form",id:"edit-form",level:3},{value:"Trashed forms",id:"trashed-forms",level:3},{value:"Form settings",id:"form-settings",level:2},{value:"Global settings",id:"global-settings",level:2},{value:"Dashboard",id:"dashboard",level:3},{value:"Admin bar",id:"admin-bar",level:2},{value:"Form quick menu bar",id:"form-quick-menu-bar",level:2},{value:"Form picker block",id:"form-picker-block",level:2}];function h(e){const s={a:"a",code:"code",em:"em",h2:"h2",h3:"h3",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,t.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.h2,{id:"how-to-use-it",children:"How to use it?"}),"\n",(0,n.jsxs)(s.p,{children:["Eighshift Forms is a WordPress plugin that allows you to create forms in a visual way. It is based on the ",(0,n.jsx)(s.a,{href:"https://wordpress.org/gutenberg/",children:"Gutenberg editor"}),".\nAt this time, the plugin is not a part of the WordPress repository, so it needs to be installed manually."]}),"\n",(0,n.jsx)(s.p,{children:"To install it you should:"}),"\n",(0,n.jsxs)(s.ol,{children:["\n",(0,n.jsxs)(s.li,{children:["Open the Eightshift Forms ",(0,n.jsx)(s.a,{href:"https://github.com/infinum/eightshift-forms/releases",children:"GitHub repository"})," and find the latest release."]}),"\n",(0,n.jsxs)(s.li,{children:["In the latest release details, under ",(0,n.jsx)(s.em,{children:"Assets"}),", find the ",(0,n.jsx)(s.code,{children:"release.zip"})," file and download it to you project folder."]}),"\n",(0,n.jsxs)(s.li,{children:["After you unzip it it will be available in you WordPress admin under ",(0,n.jsx)(s.em,{children:"Plugins"})," section."]}),"\n",(0,n.jsx)(s.li,{children:"Activate the plugin"}),"\n"]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"GitHub screen",src:i(58760).c+"",width:"1224",height:"517"})}),"\n",(0,n.jsx)(s.h2,{id:"terminogy",children:"Terminogy"}),"\n",(0,n.jsx)(s.p,{children:"We will use some terms in this documentation that you should be familiar with."}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Form"})," - a collection of fields that used to collect data from the user"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Field"})," - single data input element"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Form listing"})," - list of all created forms"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Locations"})," - list of places a form is used on the website"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Edit form"})," - allows editing a form"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Trashed forms"})," - list of forms that are marked as deleted (but not yet deleted permanently)"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Form settings"})," - settings for a specific form"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Global settings"})," - settings shared between all forms"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Admin bar"})," - a collection of buttons and indicators displayed on the top of the admin area"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Form quick menu bar"})," - menu with shortcut buttons for easy access to functions like editing the form or changing its settings, shown only when logged in"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Form picker block"})," - block that allows selecting a form that will be displayed on the frontend"]}),"\n"]}),"\n",(0,n.jsx)(s.h2,{id:"forms-listing",children:"Forms listing"}),"\n",(0,n.jsx)(s.p,{children:"This page lists all created forms, which can be used in pages, posts, etc.\nAlso, it contains multiple useful features to help manage the forms."}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"Form type filter - filter your listing page by the form type"}),"\n",(0,n.jsx)(s.li,{children:"Delete - delete one or more forms"}),"\n",(0,n.jsx)(s.li,{children:"Sync - sync one or more forms with the external integration and update the form fields"}),"\n",(0,n.jsx)(s.li,{children:"Duplicate - duplicate one or more forms"}),"\n",(0,n.jsx)(s.li,{children:"Trashed - see all the trashed forms"}),"\n",(0,n.jsx)(s.li,{children:"Create - add a form"}),"\n",(0,n.jsx)(s.li,{children:"Locations - see all the locations where a form is displayed"}),"\n",(0,n.jsx)(s.li,{children:"Setting - edit the form settings"}),"\n",(0,n.jsx)(s.li,{children:"Edit form - edit the form"}),"\n",(0,n.jsx)(s.li,{children:"Warnings - see all the warnings related to the form"}),"\n",(0,n.jsx)(s.li,{children:"Multi-language - see all the languages that are used on the form (if you using a multi-language plugin)"}),"\n"]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Forms listing screen",src:i(34128).c+"",width:"1544",height:"784"})}),"\n",(0,n.jsx)(s.h3,{id:"locations",children:"Locations"}),"\n",(0,n.jsx)(s.p,{children:"Shows a list of all the places on the website that a selected form is used."}),"\n",(0,n.jsxs)(s.p,{children:["More details are available ",(0,n.jsx)(s.a,{href:"features/locations",children:"here"}),"."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Listing screen",src:i(50088).c+"",width:"1310",height:"261"})}),"\n",(0,n.jsx)(s.h3,{id:"edit-form",children:"Edit form"}),"\n",(0,n.jsx)(s.p,{children:"Opens a Gutenberg editor where you can modify and configure the form fields within a form."}),"\n",(0,n.jsxs)(s.p,{children:["More details are available ",(0,n.jsx)(s.a,{href:"first-form",children:"here"}),"."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Edit screen",src:i(4944).c+"",width:"1610",height:"885"})}),"\n",(0,n.jsx)(s.h3,{id:"trashed-forms",children:"Trashed forms"}),"\n",(0,n.jsx)(s.p,{children:"Trashed forms screen shows a list of forms that are marked as deleted.\nA form that is marked as deleted will not be shown in the frontend, nor in the list of forms in the Form picker."}),"\n",(0,n.jsx)(s.p,{children:"In the list of trashed forms, a form can be either restored or permanently deleted by clicking on the respective button."}),"\n",(0,n.jsx)(s.p,{children:'Please note that the "Permanently delete" action is not reversible!'}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Trashed screen",src:i(74720).c+"",width:"1318",height:"437"})}),"\n",(0,n.jsx)(s.h2,{id:"form-settings",children:"Form settings"}),"\n",(0,n.jsx)(s.p,{children:"Every form has a settings page where its behaviour can be defined. The changes here will not affect other forms."}),"\n",(0,n.jsxs)(s.p,{children:["Access it by clicking on ",(0,n.jsx)(s.code,{children:"Settings"})," in the form listing page."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Settings screen",src:i(11180).c+"",width:"912",height:"639"})}),"\n",(0,n.jsx)(s.h2,{id:"global-settings",children:"Global settings"}),"\n",(0,n.jsxs)(s.p,{children:["Global settings define settings that are shared between all forms. Access it by clicking on ",(0,n.jsx)(s.code,{children:"Global settings"})," in the main WordPress sidebar."]}),"\n",(0,n.jsx)(s.p,{children:"Note that in some cases specific form settings can override global settings, e.g. validation messages."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Global settings screen",src:i(40752).c+"",width:"904",height:"540"})}),"\n",(0,n.jsx)(s.h3,{id:"dashboard",children:"Dashboard"}),"\n",(0,n.jsx)(s.p,{children:"The dashboards gives you an overview of the currently active features and enables activating and deactivating of them."}),"\n",(0,n.jsxs)(s.p,{children:["More details can be found ",(0,n.jsx)(s.a,{href:"features/dashboard",children:"here"}),"."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Dashboard screen",src:i(91976).c+"",width:"611",height:"838"})}),"\n",(0,n.jsx)(s.h2,{id:"admin-bar",children:"Admin bar"}),"\n",(0,n.jsx)(s.p,{children:"Admin bar is a toolbar displayed on the top of the WordPress admin interface. It is shown only when logged in."}),"\n",(0,n.jsxs)(s.p,{children:["It contains various WordPress functionalities, as well as an ",(0,n.jsx)(s.em,{children:"Eightshift forms"})," menu, which contains shortcuts to the list of forms, current form settings, global settings, troubleshooting tools, etc."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Admin bar",src:i(8096).c+"",width:"603",height:"472"})}),"\n",(0,n.jsx)(s.h2,{id:"form-quick-menu-bar",children:"Form quick menu bar"}),"\n",(0,n.jsx)(s.p,{children:"The quick menu bar allows easy access to form editing and form settings.\nIt is shown besides a form, in the frontend view, only when logged in."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Quick menu screen",src:i(45440).c+"",width:"653",height:"437"})}),"\n",(0,n.jsx)(s.h2,{id:"form-picker-block",children:"Form picker block"}),"\n",(0,n.jsxs)(s.p,{children:["The ",(0,n.jsx)(s.code,{children:"Form picker"})," block allows choosing a form that will be shown on the frontend. It is available in the Gutenberg editor, under the ",(0,n.jsx)(s.code,{children:"Eighshift Forms"})," category."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Form picker screen",src:i(10200).c+"",width:"474",height:"289"})}),"\n",(0,n.jsx)(r.E7,{type:"forms",video:"basics"})]})}function a(e={}){const{wrapper:s}={...(0,t.M)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(h,{...e})}):h(e)}},57848:(e,s,i)=>{i.d(s,{g7:()=>l,gd:()=>o,E7:()=>r});i(11504);const n=JSON.parse('{"forms":{"playlist":{"video":"https://www.youtube.com/playlist?list=PLFjp6yaGpZJvzqWGi3y9vZ3prra0h5Emx","label":"Eightshift Forms playlist"},"videos":{"intro":{"video":"3jPVuGjh488","label":"Introduction to Eightshift Forms"},"basics":{"video":"4BnTXHviZkI","label":"Getting familiar with Eightshift forms"},"firstForm":{"video":"qcsr7QGFmV4","label":"Step-by-step guide to creating your first form"},"integrations":{"video":"r2KEVIkNt04","label":"Integrating third-party services"},"integrationsSync":{"video":"JyfO328bq08","label":"Syncing your forms with third-party integrations"},"cache":{"video":"gX997f3fUcI","label":"Don\'t be afraid of caching"}}}}');var t=i(17624);function r(e){const{type:s,isPlaylist:i=!1,useTitle:r=!0,title:l="Tutorials",video:o,subtitlePrefix:d=""}=e;let A="",c="";i?(c=n[s].playlist.label,A=n[s].playlist.video):(c=n[s].videos[o].label,A=n[s].videos[o].video),d&&(c=`${d} ${c}`);const h=`https://www.youtube.com/embed/${A}`;return(0,t.jsxs)(t.Fragment,{children:[r&&(0,t.jsx)("h2",{children:l}),c&&(0,t.jsx)("h3",{children:c}),(0,t.jsx)("iframe",{width:"560",height:"315",src:h,title:"YouTube video player",frameBorder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",allowFullScreen:!0})]})}function l(e){const{type:s}=e;return(0,t.jsx)(t.Fragment,{children:Object.keys(n[s].videos).map(((e,i)=>{const n=`${String(i+1).padStart(2,"0")} - `;return(0,t.jsx)(r,{type:s,video:e,useTitle:0===i,subtitlePrefix:n},i)}))})}function o(e){const{type:s,label:i,link:r}=e;let l=i??n[s].playlist.label,o=r??n[s].playlist.video;return(0,t.jsx)(t.Fragment,{children:(0,t.jsx)("a",{href:o,target:"_blank",rel:"noopener noreferrer",children:l})})}},8096:(e,s,i)=>{i.d(s,{c:()=>n});const n=i.p+"assets/images/admin-top-bar-3511760c0de09f012d8cc7a7ef98a74f.webp"},91976:(e,s,i)=>{i.d(s,{c:()=>n});const n=i.p+"assets/images/dashboard-1219da14a41cb6fff3b761a1df4dc7ee.webp"},4944:(e,s,i)=>{i.d(s,{c:()=>n});const n=i.p+"assets/images/editor-64a41124981b798b6435c59c56c3bae0.webp"},10200:(e,s,i)=>{i.d(s,{c:()=>n});const n="data:image/webp;base64,UklGRi4WAABXRUJQVlA4ICIWAAAQbwCdASraASEBPjEYi0OiIaESumwYIAMEtLd+PkzvLBYAMD+mvv3A9xIisHXD+5vOfSbuOPMB+lH6c+955Ev+A66b1jPQA/QD1sP9//tf8P1sOqk+MP6F2O/1n8YfOX8V+Nfp35BcmKJH8a+r/2L+0ftf/e/ar+t+DPxD/fPUC/FP4h/WPzO/uPmAfkz4V8unqBen3yL/A/2P9qv8N5/37X+Rf7//In1T/yf5afQB/Cv4//b/zD/u///6MP6v/gv9J7gP8b/o3+V/un7q/5X///a7+7f6r+9f6H9nPat+Xf2j/X/5H/M/sR9g38e/nv+d/tX+W/+H+N////y+6n1x/sV/6vc//Xn/0C0rUQ4s78+1y1EOLO/PtctRDizvz7XLUQ4s78+1y0uQeIfFpeAoN1t4ViQx2nHIJZmrFFL3GAFnfn2uWohxZ6IX59rmEJKwgqQC2S4XUwN3TS8YDWJRGfbppUA8sa/BgjsoVs8UDdXLUQ5VYs78+9HhWL1sbnQ93SFOZ6Gmu9NC5D1YFh6eT9PqyQxuc68tLFQeDnkrSuj+d7q5aiHKrFnfn332vWVTrCil7i0q9WFFMCTLkG/KUGsOGoH8o6cvn5WBJX0xCqhUgD+IFbURzODzM/txVnFgExfa23xlKwXI9wg4WCfav+NNz4LrX/dZY8vZR4j40/tdjctRDi9CjskAnF+SOYH7mKzvOhZFM6R0yGSWcUqtV1RfuSHHb8s79AW07oXqrK5x5F6e44XqmVkXShOpZ7PY/7hlDGNvVo6jKi9NheAbPtctSLEEFaduU3de5t+QSYVO9MFkUzpFatF0wWRTOjlPoLNuluLO/QGFQlUAf/anAP09P1radfmyU8M0e0F+F3E4fHcusA1O3BdZpY4wMnjfRexhyelt1bobDFYd5nCTsYRuOK7m98P/sPkgA9xx6c4jFU+UHsMPP6MXezZ3NyD/hagSbCX1+J/uUsJ/n7QnhFm5ufDZk/yTFeBRaost8g8xSWhBaZbKilcOPFF4qGVuS73GCmMmglGP02osLnHygxb7hv8lwadu5oDUFSdF4FFOxyPTFL3Fnfn2z6uWohrxzrLt359rlqIcWd9mhX1XIcWd89uKSfyC2l4Cg3W3hWF7Xys1qCi8Cil7izvz7XLUQ4s78+1y1EOLO/PtctRDizvz7XLUQ4s78+1y1EOLO3AA/v/wysAAAAOqOjeSs3lj4h3fc2Af2R8/pxBKh1sC4jMj1MgbgAAAoQB2OEJ9NMSBGODfGL3VsEpsHFglpz+AAC1DAl324Y4qwOHAeLAujuPsmPbdfNzCuC9uFv2WBsoWxvR3wdgIj8MmUrqkGGwT965o/erEqLNI2f+MO03lDl05cX67/A8FEGIP8vO7kapI+c/FK/9i3YiEu2au2RIWL6e0dcJ10DvbBEJJv+dbR7JkL8QRJo1o2hbIc7XTYDt3dI5T2HmfaOKQGZaD9ZegG+IIcGSkh/Izp7R0sxif0QMzbUMPo9xmTHe2VWuq6/DR8koKzTDbDLv7g9Qa/Oawet1CP67n+yfq2BN3mxTY+N0Ce4FuqpF+Ajgdrd09PoyPtryFza8E1GD/oNk/kv2WLKc850SmRICRszRVgkZw1ROWj4oR3AApTCj9GeSbIbFpGbS/FnYemf+Fng/JW2Ihu4m+o2ttM8Xe1FP9ymzGB3Bmw8jECn4/njRJUqc2usnh8SDKrpcvy2zEoaJsIzk/idBIW83eSGeBRMRW10k2eI1f3SFtUn7udino3bLQBHAG004DcDO/sUJXH6GcIJD8lAAuhEbgyXN1y/uy6smP9bFgHLkgPxPdT/IrPCwuNWQHBJ84Advzs9GsfHkFFuVkSHtnYqgws+AcZQ+8e6s5NGW19MKpy+O1DNU/6i8qYignesyVdnQOMnbrk/nhXRFzZm+13o/+G2Qm+b6RklRjPaSK+lJKVCCCJpLkV62Yg7KyewwDwuBDnyVxY9DuzdDwOKNWSzhi4klpwbNS/Ao2GiwV3edfCWyrEWxmcoOv1lSoBOisJiAmD1+x57RqEl6wvqQ95qXSvqZptbRUP8oCJTdK80MKfSmedV/mqQ31r+2HyBdHqIWKCnljXl0MmYTzN07L1+sSsFNcZQlLgOvQ48MYdja7wtBUT8qADzdjLnxKz49rARZiJVGqY6Oqle6KdZQ6YawZAPdAXOgr7YPBaVNUJIh+Dh8IBdF/wk0Bm+nVWSg6bm3gJOJSaYdz2cRn63PqCXQsxLExbzXA8PW8UZmc6ognP//KNQD2tVZ0EAK4RsyJhjgjAgRbhVVmMV3iFKK8kBmbk415gjTjv2Tj05I3G2Jzwi5MYSTnVO3aY/yWOLB8+SMRQ0ksSd52C7TpQ/8xKQAXQGDyt6wc+pn6SphwDMAAAAeFem3Tli5WF21pPb7Qiq0+YXsHFKCdj0DPtUYmkPjKn3nJK9X9Ds/gcZ3+1lCfIgXz/s7Djg/DiR31LmeypKtduJPFujLs4vXwnxUOveIDM3qKlcfknz9rowUMZS9JZdyBMn/RZo4kLBQ3R6q5zpzBwaWpPcZI0ZVOUMAbtV09C2qlXmaRjwpAaT5FlNOZFtKuUb/1DP0h+m0SYYM/+Cx5agGspCpVHLl1z95iOfuHUQYugHLnWVMPwJaJM4wbEfU3wUuhmA0PFh//V0kgc4QNOQ6BalJeulLYS8Y6hfAeV5XOiVDBD9mNaIxi99pd28cBcd9QzcEew1pSQ9tH1AmroZLXt2NtiPqnfu5qjoNxW3rr0cUP4LYkCBN0Cec+gM2A99m9nSBBBuZaa6WOi3df9Rr0elkdtjtt/bEQxDZ/xdWPDIfHVdx60gM9PGtMNuru20Odc/qWVAarQTq0hFLQprX244QZ8rYrM1QGVwJ9Wau1MYa4QWAd4xjCEuWMlUiI1w7GKP5whgQJSD2A0cynYrwf5pEXVsRXifx63nBqbtq4rZQTB7yXFS6A0DRmgVJAhc7X9rh80SjX39/BX0p5diKz3wbeRfupKyezilw9G5hiB9VBk6YxoKcDq0PCvIoirTR62hepa7cJJmD5SqX89T7kdNNnmi2nrXqsQSKIEQyXwJHJQ25xIccIAYLvfLe5+9Xvc/yo02ujUS6FDDVgNn+XxOXIgm0ne1YMBP2Y6cSGU2g/lvPHhhf6lpYzvvsFDyTIeEz1eXv6PQY6mIdzoJn0akWdf7YDT/8r3SM9LHH3PzPPgtDObjRKlWLv72seCV4NvIv3UlZPxwsACuNlffxHzJV1Hj1edDz0pOhii6LeyZo7sujyjLhatHotod66tzRXuwtvdivRLAEq/10pI8yxdswYv73gVM4pLxwB5hMVajW3I1ABj0+WTjiYCpthJiu2QseNvM/GrvmqiuSIBsdmITeXe83x1SYWew5H8dsim76S+5uZlTtZ5z6Gb4rr/GcT/ZmgvlHy+jkOxTmEI09RmWJ0ZP/eONG3k10CbEBHh/nQyWIU7OImWaAxIr0qCUP82a3TsfIQI3/NEhNn1M7O+imb3d2+IbBPIWUF7gMcdKkdTym7tVZB7dZdeelCf4BFjfm2WiSacMh4N0Jjnq9QPGWNYCpPpZNZHw5JDgSkBC/kmV4tW5M/xSF8uKgnojZf/7Dw4ExUAifCiIZB/y8nAoRIB7z81TzMajFDhTxUcwaLsdf2CGGA2tZ5TbL0tMZw4u+Blb9v9DE5Rr0qMD5JrX2lNDoFmOnBU4V3b7fdCQYy+gxZJietBoOUyuwhVrTu1F+I3q56QAGOqIUIMhSE7Tz+ej2tds7g3nCCo46gIEjM1QI4yl2FMHzP3fXnwxjifuOuKuqwWg9PcyYB74xbSdPhQGOf9mtPvBu8049so3sld5bGwfvg736N48Zpv8pQ9PgNRiMfiRAZdP/Um0z6fdO7Jzc8vn9n70GVXOWz7fvDm48cAT+ws3Hjl0ind/l+iJ8XxuRuAmql3VkxGYQK7dSnTVakN+BwAOW40P11669deuvXXnKKC21MLSf0z+KoO14bKH/eNuXh4iS5rahn2zNYsTFpagWPg3/ZpsN+GrcPyL93IWC/sjjlJ90mEoFPrSm4exPge4hts67i4B45O5y5QViBXa2YrC+i8IiNYFWhALoEK1y6LztPf65DO4UE48yiXi/uDSBTIyM8RsE64AcaEO11dQG2RgQKlvXlPXeQ3UKEreMNum1984QZCKYv4ZPtkPnY/fI0o1wjjWlAICuvIlTmAc06KP7BFlE85xHLICAfGjP0GCyP9nyR7SJKpx6t8p1/hWnPrw4VeJGxBdkx7Bj6VC7JM1SV0X8BW9sM1RgeK3wbX4PC4d9hxBXG41iTY1fJYelebbnptUi0cY9ZTEx6RsoIMuYMA/lNxCzS4LnYHJSGL8S6NJXyoIsXaPk/6faZffw8tvur7LoxMpI8KcI5CzdJJJKfYEvRK7VDAuSM3eNH+cF0vqUlZI+HSnAAATCCFQpiUgDJlRyPDKAk4DLkmSFHfyZLcdYRc23NgQ5Oqs8NQlSoNd+OU05t/lwSDaLth6tY6vKmVrUhczjR2ldG8FvhUi1n1+C9QzScpYAToUZhkIE8baOw4UdpbSgwIzbJM2aKhuBljAzEus+CPcNuI3plR9ptqAD8sERJi6YKcPaZp96a7/kE1ePEYfjzT/DnQdf81teN46JI94dAZKyR+C/42VD//dXuWTM36U8oPA4/2RsrhcLhcLhcLhcB4pOjHa7eL8XlFqLLIGrqICJyjnjoWEZYoh5n+thTJSuCs4vxMhmIB1Wf+A9rXUfvmjUp8smr/5ANxaNcDXnNlwOyX/ucPGe3/Rq6EpRTgGPzI+5Ot3T3UYXevwwfR295dwx+ET44dw7n3uI6OmAaZ68qGW/ZN3Y3KqRvTvqB5Yo3BedbxUjFiD0t4/zALyzLOgnAPWxrRCyKpnuagqLu7mPsFMh7+5xWp6sHHMJ+Mkl7/7N3cbPPjLNv5dV/EamxEmM2A7ooHG2/3RQ5PWXsN7DhdEXTxsShbD9TJNPqikmwaOwOXsmZHj5Myi1OHO9SVtCkSVWvNz8ho1MHY14BMUgzG4Ul8mePwv0lpMrQFvoLD68fFl9HWpog7LcqIp7o+/jme2OFPx1MzJ7vuCIY8vBc7w+VqxG/5O7s+wiGKczdaqhgK0blGlIXUfzjqmel0jH833HxFw3PnuDDnm3V4S//KlY0KXo0EQGi11E/zXAlJ9gvxbsdaMQfM77digEsw6Kg7gxxGqbp+bcaENFFQMYpUYyfmfWzDhw8x5osU3Rbs8uLfuh22tsDHXNAScJ60tX9CyeS1hE6JZYAmzNELZ9p2kAjSQC7V4+wZ6EjNr+EYZXMgZOVUuLfR7AWfOoEVgYi0X4Ct71Z0FbYFecw2gQYivZb3TVtkgNwZf2ZbP2ixhkWuTnM+xmanG3Zm+PuOK6X1jGNNtdHimZcZ96ByLhjBrrnrmlQbPxnImlbepOODhSEFLFPqqhnWxxxIZRxA3Ng5MWsuo/+Lt30BLsvllfhz8cLBu05aUKfwGQgU2iDIpxAEc63HDIWmrnARkyXbNeEa6xN2PWH68lgHr5p3hLIVJIPsrF4LNgQQAXe29yj64iOnIqUhG3fM2BQ+/Giua7HbFwQCYuW3zzNQo52jPCsHjIEx/izTTKg5PhEHrUaqVdhwiSzIHKe5xTyprZJlXHvcklZc5EEixBCtfiP+/GJTPMSTlLfhY1nM8TLxJi1BFsDRXHHzBqPVVIZHztZtINX1foa+U4TmUinsftwnLN16WDzVTdMKBylzawUp5nu7vEh7nZWWn9MiVIF37GC4nD86PhsxVA3cpcvNKDdvpKC+evYTXh3SjTcZ6W8axQnCuChuUE7rz0beYRifJzVHb3g623p+ut838LVKx8WLTTUVfyJXIFF8eSvULNLSX1w3SsPHeN4u0IWdfl4E4YDUwBsIFHYl0W/Qr9GnoTt0P2LMuNxTv/p8nuWWAOxuk99vJeY67gyL8tYrR0Ra/O0iVfWsWz44Ct5379ku300Qx/2EqZubEc11tDyUye5rSjBlLjaLdzSBmUKCZTNG2K/jceJSk6GXqULMoBlMvUkHoZKH0yjlT9XWdm09/dcvvU+VnYwDqHvod4VzRjh48OgNQeKTIGmj0QPmArwJ9yfG9pd8Y/XTbsRUAxZGvcS2ACzOxD0/+8IlXEO7xTSgkW5LIi8k6yYHsbVmsuqJKfgoBa7VIf+LRHEUvrTQUYl6/Mn7QgNAUvO5bHI9GHh+6ySUXQtnCNCAs41y7VdVUy5IkPPL66rTSfOGUCG3JoVYsCiYwhJF/5dHmckmGJaz7OKeEa20vr6pKwMbSAwLaGfdurTMy61KjniSyOYl4S9Bl9YRI5uY5nCWqKgXrnOcmkm6+m/26gqPibcauDs6f59IQGzN8dqpAqLQ1NfRXrnczukGKLLTrth65ftBvPdRATFZE1IJ8f/qEm58Stw+9cSDT2M2sd6ZmP0z4amFC1Sztb5ACHWx5kxEmVWkg9auWQKNxry+8loD1gPE71uKywrS0+WKKZQD98mVCLrgG4GsINba8xfMUckO53iTG833U96AYluy+zOa7GJofpVfFtqBOUngSPPDcn22ys5Uss0Pp3eS5w5JPvo9Hp0ozZCpdfDVvvxGoryrIkp9vF+IPQvuNGOC2LWSvwNt/0JH/nJEwpAaRL/C+uxt0I3iVS6mvZBo2beLsIhfI2VbYH38Cy1ZM6LPQBkDops2O6pebrWrGzwSBLA5mQqdeH9OkTy9v/8TrwcITvJu7z+N7SLS47/rpjdkn4QWtk7ezeVzojQH/LZQh9GdXorGgWd3MvpqG7KQy+u1cM+NokZS2EDCmvpPRO1NK2WRqxIgnWwYcdqjw4EGJG8JIs+aD0iYccsZbXGsbZcUnhpRGkys86CQMdcefoiCtVN5k7KXoh4xiGx56EOWjJzQLIuAvvlNU+xTMKSGmuz6zbofX9LdEenSU1Hnw6EXdyHiAvnS/NX/FIzqtXWMDKhZ0WuzZJ15LG1Jtg6tZBU/zWvONJvZkyKt11mUf5Tb4sGNd6qcUMs3vIo/a+QLKdOn+FoNwhKSNRvi9uoaP5cKj1iZKswlkGcdDFsAhFHZxBTI9SlqT9Qy+fqdFnLAUFt69YF9exPXkZAoKhGtPC/TIOlWKp68Uh4M7hdMTGOhZ+dxKG5Fv+9fKH6eumsAoZxSc10iUwMH3EqhBue4Hcf8s5E+N6vNI3rO8RytqDTYHs5v8D1WNOuOUWpiWkorJIZYiDPblFJVqEAR7jA78SEsRSSeH9fyYtWylvap0hExIxohfeB0b8WSC9z8XCT4DnzG4e20Xmml5uLxsfJoQfjf23zK7iiXCL+Bb5w7/kvn88gjZV0RM6NwuXNqC+zhpEsrqqldTN5M4wWzMLHeSrs9IEmtPuxSH+RIqgCI50FP/55v6ttZOjoQ4NQDWR6rprnRPhEz6oRJdSbwiG+UDMfkAAAAAAAPxorzPrjm7BweowfttMeC+0kPutTehyRQ/O8n4V/TyFcnGPSVHcngHQAJgiKOuoelkAAAAAAAAAAAA=="},40752:(e,s,i)=>{i.d(s,{c:()=>n});const n=i.p+"assets/images/global-settings-039aa41f97ddddb3df5ffbc2708e3819.webp"},34128:(e,s,i)=>{i.d(s,{c:()=>n});const n=i.p+"assets/images/listing-0340a37bda4d4fc4ddfe9b84430f6085.webp"},50088:(e,s,i)=>{i.d(s,{c:()=>n});const n="data:image/webp;base64,UklGRnolAABXRUJQVlA4IG4lAADQwwCdASoeBQUBPjEYi0QiIaEQWbxUIAMEtLdwu7CBoANpg77p2+eL+HlP8+v537kvmx+sHs+/AH959wD9Df69ugP4z/bf+j/Y/ek9AHoAfyT+w+qr/vPYz/jH8S9gD+H/x/0fP2C+DT9a//P/hfgD/ln9V/+HAAetv0u/nH5Ad7n9n/sn6zfvV6w/iHyH9J/IH+1/s78VP9H4Iea/Mv+GfVP65/f/2Z/uf7b/ff9T/x3gf7kv1v8oP7x8gv4t/Kv63/Xf2i/sP7uesZ2wdjP8b6gXpl8l/tf9n/xP+l/uHn3/o/ot+Mf0n/Pf0n9yf8B9gH8T/lf9g/rf7P/1f///8X6V/xPgw/Uf8J/svcB/kH81/x/9S/vn/C/u3//+z39x/1v9q/d7/If///5/DX8y/r/+y/yn+J/6f+g///4Cfx/+a/43+3/43/s/3b////P7rvXf+yn/v9yn9WP/T+f4PCw5MAN03lbmS66bytzJddN5W5kuum8rcyXXTeVuZLrpvK3Ml103VGRsMwF681mU7ZrDh7RGDOyWvVHd6GmB3bAkxpmpMqcNaGT9JcJHA4J3oMB6Z3IjxocMUWt9Ju7RydQBFMm7UBU/AW5W5kuum8rcyXXTeVuZLrpvK3Ml103lbmS75JpbqWk8SPX3W+CKT2LcMsWkxm+cTKkJwZ/S6km/ORu5425CaDw5J6HRnwT6oynyux6Km+3v20g9Sv47tHWcPW2aPL/oCJTALcrcyXXTeVuZLrpvK3Ml103lbmS66bzv91nNVuoSD1NG8fjCAFuVuZLrpvK3Ml103lbmS66bytzJddN5W5rPtJFOmI52E6tiiHyumMsxVlPAhyJDKKKYzH9s4qZucME3Ngh6T6ZbKi7xJ5lpYctmwUjRyJUitytzJddN5W5kuum8rcyXXTeVuZLrpvK3NZ9pIscqSoErATBPZgtADB0bR9B/MO+e+1vk7YYFjp34/vTkI4H+zwZ+cFdVpOdV2nJffpEYfsfDpZ+mAW5W5kuum8rcyXXTeVuZLrpvK3Ml103lbms+KGVk+HUolCUhQhqbL8lFd6Mes32haZfDnrOQy02X5KK70Y9ZwEWky+HPWchlpsvyUV3ox6zgItJl8Oes5DLTZfkoru+t5Tm1Mli/5BHrIQCJvgwaBd7NXzUpn++KPuuqQkpSYsHARa6M1lhQKoOZzaidAS+XhQYsxzhZ9qg5D/xWZ6zxTolSK3K3Ml103lbmS66bytzJddN5W5kghmCph0pyysqAdKbhCiTEIAoljafwEiBqkOJeI1eKCVO4JrqoXYlf7pqbKkgl/VyXHCWunbKH3cmBStBYoV8/lRUNgwevCLqvwG8PJw1F3r6Rs5Cs5uVRmq8itytzJddN5W5kuum8rcyXXTeVuZLqIYtJdVhVn8i/ti/H4ITP9PYph2KrxACSkRlKiyASU+8ZQzlK1xtgqyI80ZrdSQc4DiKClU+Mb0N3AFSS70Y9ZwEWUC+HPWchlpsvyUV3ox6zgItJl8Oes5DLTZfkorvRj1nARaTL4c9ZyGWmy/JRQGjCu5FYxl/lV809rQm0Cb8K42i+QojPjEXrse3KSLkNP93MoJERkDhD2HgAe1T+820niwrTdbxnLGB8mTVykWIFwmOvYWF10vR1xAyK188Y3X/SdWLW+ZLrpvK3Ml103lbmS66bytzJddN5W5kuum8rcyovl0txl3BsGX949HCkeQr9uFYHAuQAtytzJddN5W5kuum8rcyXXTeVuZLrpvK3Ml11vrFz9PAiUwC3K3Ml103lbmS66bytzJddN5W5kuum8rcyXXTeVyAfsE86x+0ej5F+zEX/WkQe7I2aro46ieCrbLnpbtEN79YzwQQ6Mnj8hiVIrcrcyXXTeVuZLrpvK3Ml103lbmS66bytzJddb6xcTjbfMcvnVioTGJouD08rbnc4/0CAFZ5GigFxOlybzJddN5W5kuum8rcyXXTeVuZLrpvK3Ml103lbmS75JtBUICr+9CWJzJddN5W5kuum8rcyXXTeVuZLrpvK3Ml103lbmVF8zYQAtytzJddN5W5kuum8rcyXXTeVuZLrpvK3Ml103lbmS663dAAA/vUzUt+LArgMb+eIAAAAAHuqZtbLj+uCSwBLE64wOqAxd9lZ6pZOidjviY/nSTSUOQsIhMP0M4WNVqvEWRLSeUAIEdou340/CKD3e57Ydk26X7vabFpMLK9zA2Jab0p7bXAKL03PnDcEAu7PmMgDVAZzd5x2e57R5fPyXTxWb+18GFv+fhRWVfU92I3Qbbx0hkVLuGinDTv5vhDKBl4DYjCZTHcK5g4AOGDM/XOyV4ZlcMDh4IaSvoXY7aZ/zjHat1qxf4JsRRkiZ1OIzN0qMBsRltDkzq1i/5T+2cOljB61dSYn5htJwvyZv73wVhevTp7yFw6ceWfgw/3gXQX4volJ8E6bSba9LSh0mj48/Q0Y9ZeCVJggQk0XdB+/n0pBtPWPH1Gg2yg6YDvYEDhN85pWVaa6+wbRn5yGimsnpvSuBfkeHcmRgBmjwbYVPWfLsXnhndiryCYPUXmUttJNSy46wcAHRWNHQVLZIvwTRvVGlvGutvcFj2y+eM1H5NZS9PuRe6xKTwsgHjhUBlGDXUEPlmSuBZXicc6c97ltz+U4b03iqBC1DywnjdjWEntEq4+y7sv6Y2ZS6zu7P1TRMcRP7n7Ys4SARVKXdgub9ByAMqJVQPhDJbMCqsCHDf2VI+XPRH4zo2G6SlD4k5DZ1oB7LzXwAz22lQDhZnRYzTR7gxLYQ3Yygwon6qZ7M5/9m9kCymR1u8ZrR5LKzmnl8E7xwGzcFm2OdY4JDiN81EMXd1mMmAbqu8jKtRpll6qVmrTcdulNyF1g6HSQaDpHEJprRumfZXXl+eOUJG7OBKKDj7pkJH0sWN7q8N5yj7iEwwWlI0/IFgxRGq6jU24qap3HS93Jh2df+/ALs0JRx6zlCpdoWV58ifsNIYn2UnecX7u0NFFb6Ugqo17e9eymG5twGqE4UV1s2PgceHxYUgQ9w5CcnJPXE10kpEBf6lzib9Md/9WTWT5XnHZ7jFOLQHFhJY/rfxYr0mxt9E1Ktllvo8I7Fx1rGUv6271fTPC//galusws0mTfsWtBNUNTbPd4KqNfB0gqIa0wkjqkmn/oQQEr3hQKNVSMvh4NNzlVdmKXyF1VhA3nkW0MMr14/gSdk1AupWhcKOTCixMVvSv6uMgUAAABT/qjfyvhpJL9ktyC6j8gLcBunS3JABeWDNgbe3DsX0R/yjH5PjBKALBgeIEsWd0ls6pkiTER4L1wNxA88XJpJ96X/0HixiFX39tzgOXBEnRx6A8a/FU0eejgH4AbGADjV53BBi13luLY7+il8ZMbVDW8oYBR8mXYqySfoRD2Nr7txDyGNxq1aOCt65SPJuCRjG6U08yv5uAXX1nUO2XLpRBV5qq018YVNQngHUA+ubrpiUT8V8ANtqESKvWNCFtspsYlIR3UvHsSCZ/1QMAyIjeppM7UR5YUORtm1a4hfzDemFHles0Nj8nI4algg6hBsfbIbauAjp9uH6U9mYSJ/2Gn7HM+buGyRcyYhFgVCyfMEcxjuvAacBCD1VsryGpTQW3oevcnEtZ1b4axLvvh8AQRgMojA2fZsGaEJss4vRt/248Z9HqhQrhkk4Oat/tm17/J/tsrr1b8uLciJtMDuyflv1iXWHlIB3x+l+YIKlgn7HB4ocZcm7mF/wQk7/JR4qR4yCA/9DQhD/RRy3moASk0tT0SK4WhC4RONEYXKz7cP0p7MvyK8Y2A6sYjAakzZnHYYNnhdzed12iVWGlaMHOmUbns3Rp3LTAabN5U0fIIzQYMcqfwFqkD6o8DizocxTzRKwWtxyqeypEn5M1BkgAJ3Y2QekWzTlR15M6uOoFeHNcoW8hi6tWG23kEn3h0lt0FyhKMjM1TBO1zxN4yczhmjDmMDP3XDwiJ6P2ESgAAAAR/pJ5v1uc2W9iP75gSA57IAAAAAAI8/PGufr+WDwqnJW8MnhMOo3zUgSq+2h/h1TZWhdKagxxpqVxapx4CNFbobEwYUxMKwmeZPv5RnmXDAwMG2Bg5lE0v14QirB9bSeORifdDVAXwO7uZcR+8X1fzmB4zzEAphlfKAKtzkTKwI7EIEZQfJIMzkPNLdf5EIdikzt1zeCKb0ZxThsK5Yu64CXY+oePxKZNMZIhtc78ddvSJ9fNFykr1CxWWysLL8bkQDgAV+lGhf8fKxGsdbTCO5GrfLpKcgL56Z+rfEGojVhOfeGwron7ISNBd2LkkP6l2YP5saq3ad4cwX07aAaFIqr0iv0IjNNTrNWVRN8tXuLMPRWJ5t3Zu582U6omQRYZZUu6KhYeWIWtnYuUDGtxsgsZkWWRVr6W9blPDyrC67PVAbz/2Pd3Ube+rLWkf1KluhwpstL9BD/StUsA4J92hbtKZtm25QFgCI6dRBrNHbNeeEY0Ptc3b2Cb4Nykr6DgDd7VHkwTul0DC8JrdB5hQ2QdnYNRltiunuB0dJzw1ASLSYOW/sTbXvm3+XjZjLSfUuN+KP92A3rW9FuVIO6T39VWNxe47HciI5fwosQd8pO7ikAqX7Edxf7vhJrq3vRXJBDgjT1aOoci4Ub1bSj2KZmWW2KkON5MNRtgxgDDSDes/imAFCll5UnGE7o/t7XmYRW+9yHBSS44JNlL6oLeJbDm6n741FZXPlRzjQ+ID0Ulvrgu/uesjM6gbg41PzsQzyVtxvQqdG/8piJbexNCC5HfyVU7oJTX8yd8/g+Cpmd0OpL0c+Id48Lj5UoE7wGp93Ql8g6oraWxKeCYWhpamP3oBqEAAAASnSC2c/X8sHhVOSt4ZPCYdRvmpAlV9tD/Dql0/HZZvYzcxDfFJx/H+xXlg+8x9tg7eZrpvpF/ktLi5/nqwu8whpogzDqGha20RwGjwQNVaTghX5+d7j+LqXc+fmT6VxZITT2tJWc393I16eaEFbRqyAPkqHDvGHd3fU9mpcUshOeJsoXJZoYS5FSqZRC69jhgKJ3X/Y9qng6upawsRw+MEhBFMqio6Zd4rYbGL64AnbPGD1gEWBd6YIvR9pTTjtu5aJbmHsnU72+Ux1iuTbwMGrWpG4z5tlS7W65LYk+fp+Oow3DgK+eY36p0R53xUxVQ6gfJRgGpVHtDj6EHRQm84/E4T9TQQwOKTUTTLbw0CvFYiLOMNxrVgKpQSjytVbHi3agh+TKYnqsikS/3ha/rSSvaeMxj7Kb9ray7A/FWUiqt6/yFikrMwmd6wTU/BjOKIX83pHAwUYhzySgqsQemArPVzGw5pJAl5JuWbVgiuFzc+W6uP2+2Wx9zCZJFDS10YlmcsWXlvsKJy4FBOzflrMTBYAkEq+35h7X6ycWuC03RCyRQPlRmAlnfFnX9W+u/rw+dbAAAABlluqQjU/aIsNU5K3hiwAAAAAAKW4zWPjuzIRc48DR1fqxvFQGZYXJUWzk0xyYy1io8ZtezGYdtVRqUbp4isSNUXyJOwhIWsSEGc5gdpo/F7csqG1kbGY2X7AeaLUogG9PjQniYt+FpQqK+vCkW/7SKTRdASx/XTrsMeQZpm/eJ1M8J/DSPlu01tdSk6PxMF0EEHW+uT3/vkgJ3RZBSWQMK9OKLXcaGhFfwOrGNLgDmVc3Ov3R14JOn3jCFgr2M2wsgvnXG/Ptix/mD6XrWfTnZ65A5S8H5reXr0Ba2jyAioLXhQim+OBgUrmB8p7+rZ2y7Inm02XR7bCk5aX6cEvghpbhwXPGRmhoUdBu2h4WCupI6c3gQ9B5YTkddt8/5FLSCUUgW29TqP/umFdfvj/mPr6yPJJAqZ/lHmCL+c8u2PtDvW+7ngVEtxHgTe0Eww+voC4gE0LEVJHUGDKYFNQ7KG14Of9mkE23ixiJMkhDuJkGZfKidwf7xBSvTP6kFDRNELrYrjZAAdP/nc+oodR7y5vcIUR9rulHTmd5sTyWt2sHHPU+ugCGMyS2VvP1jdKfpEcKZr1Y3kg/aTb8V+5ToOgDqNRaR0auZbjZXi7jKeOqoRfrjqQPbFAaNMuNy/EdHg+6aPjS/lyK5eFaVzHKrw6AndhTuqJ7dlcshJqpYsBaQLrGEsa8FeykM6NuFj+pg7BwBodbA9VY5rWhj3DFNhpFV5+IhkUvh3waRqJhbqQJdbCiXUorYPO7Z3qKzsH9G6O5huEMOFfRIbdwKIUwKVmutitexTydwH6vkEtzuhk0VJEhj9lBZ67vNDA7NZvccvjNZGCNErl47pMNa66/FqGFqy6JX8nihlEPZJqAHMrm1G3mokwK+EoAIj8w2V+4UbPOPqZrbrF7csRPiQrKBmv3SBAceqN6t9D4zcPrrWCfbDSaPHFNezt3fnUkLfTS6X4lGxS7/GPeeV3CoXuRIKD0JxPXK/vsTKwO9nBdF+rXxFWmNziSvxFbw+mYFEvWrbk1za4o/dy/wru+McCwNmPUw6Qs7QKzEm1zZlhNnG1ftuSY9rLmx7ANdEtAEaMrLCes0pKNBA+CiBAgtfbXvT+/7cc+ze6gCxs3hA11ai7r+b+MkZTpqELbzpYjYPhFHF1VsTypAQthJX+hu/z1+Nes2KJrCoJnVTj8HLF0QdL4hSOZInoyuzN/ogRajXyIMG6ruh9zzjt9KII9QO+ZvLAAAAAIFEn2O58rbjh/0+LIZ/w6Kh36WJmOIw5tZXcMqecHDXR4niRq5qixTVfAVjMYmmX+WOd2qy9NL20nDQaWwHbjbPAnnP3P+GIRlAqmOO+pWN4iYw2+t6mdDhf+Mw7/fkvIZWNcqaIok16+cV7mxrtFHfzTP3ImTiEf4vf+GFmbxgz/1gjn5DHpfDIywa3L2VnVZF426OHDdbGWL1bK8ExhaBuhf5+GgOaEl/Ac1/iqzWbgDMB8ZbZTnQNJCHn/9XG/07HlBOxdFu6aXe+t4kGaUuo9X7GJdE7iiiY/F3wNYOqTfe+YNLtaM4f2MyB5VrV/XFNFrRpn/UrhsrLNLPtKny/yNpg4zAipDKNoT6pU4pw41l01EW3KgnfxQha/I/XX2E5NfX1kIfAqPFtH7q3vmSOQyq44ZteIZJhMUi5jumAfgh/q6crjiQkN3Fr4YhTQfAcJtV12hWmnzScfZV7WM6gYa4ZzHAZMf0rxf/3pQpV0HPkEXb1+KmmS0pw88X8GSf+1+n8C7gcvbe7N3R2AOuDRKpYxKpQJOqme57IF1HPufvGy4hpip3w9+Yn7CepvdkptKl00CM57YPcxLKmdWC/wiJ9vhdksKP4xjXLx761dEeZVZ+hiT3oCDg//vBbWu/24hAZd+nYEc0omc0ef9H0cOwGZACsAFX20oyzyfsfCgZDvEU0icfMmHv2jwPeIZnypw9U3I7BnSJOijOJJeuHmbdpzVpmdUfpsKrk5jUhFGIIBMBRFRueyj+jBjzUQ4ywl+E+CPHNqqLmMgd90zlboqBaY0av2Cy78N7PapcpvUVj3sfwEYAdb391v0G+1fKq0W1OcoBe9xTPwtqa8VJW8nUrD4i9TtOVeLAf0zxXlerKcAL2J9MjhDEE3lGdO/ldafuyeErS/Seoh1eOVMN4isp1H8M/+V8TA4eVdWGiZUMEGa/Co6mWgz1vEP7/iryRiXvUvEkeJmX0OY1mMYgM3DEJHP0ZCQirZlOZ8S78gd4dK2xGyU47E8R1nIcPaOr5jcqjCp4PQv8TScZXOyRMp83S7v2TkP/Alc4FM9cAFqNW0fureg+HNwXnch/61hkpWmIaJNFD5+XV4fplqHCPgh/7F41wdqiwDxQHSGnwgRw0Z5W4oPrrMEdZmNtAlo16Klb3UztYMMsekRdfNSpugcI/2mNhHI213vYx1+YRMWxxZuE/QyjhXWNdgVlOqilfFk3QQ33i4ZNgVOJwciyHAfq66mqRv06KpMmDe626qmNWSdPsvyUjMDB+hsMl8uk3wF2LmDCo1rMnCiRI0/XQQVSLikWnpORx6GBntUC11pnTdYZqDf1y59D+XuIYCzSAobWPJLOQQvnYUhSBXDL/zCsSzVdKuAbnxefbansbVwnBXVtIQbiXckIZ5Zp3WtqnueLqQgw/4fUGkAh9eK7t5xEtSxNpoj+CtMyB0sEltz5hkWQ66JZ43A9281XlBSC7ROI4Qmm7+ua5T9bbkYD4vEs6518r60slYnXLUMf5uyOcoY4Ck7fJrRfPmRSwXYQ/qwsmNbT97+BlDvRtNxP1jXCeAOnpxZ2nXtPx7Rq4u8mzXUnWoKzcg3bpTuAwGxP6TkAvrfuvNNvSmX91dgUrmdHPD2nMGv4LJzYIYnjEWGaa3gDrjhLIoOQdhEBP1fAtU67Z43gMdcqzpPMtgP1ddOJI7YVt6vzoGsy+sryxVKZI2wUUrW5HwLIHIDuygoVItNmK5YrdWdfdiU8np9pqP0gdHO5enOv73+d99f8iewGOdc45VB94gTNhuR2cVc3QOAumAAAAKB+ihvodx02o3ydBGLvH/jWXN4CnyfOXDX4HRnnBOSqT8Fhtww+nBsDh5+MsvMvE0Z7vtaWPKXKWzVN7/Wuk3mcDnDdAbt6/swbMhoCQZ7AQ/XnmueCrEsn/oaidlqtD1wC2PE+4Jl1s782XaYFKnsnai8CWGRVFDiepqwbJW3LZ9j+9+RBK62P0TTpka34SQJe8wfse0QfLoSpq+nqkFXbwCRi6AKj7SamLWFg0GS4ULR+7o1NTC+GBMnNVaamOhitnkUcQMubob8psgyrBxSQvrgT/brRRPEja9T3ZGIP4sL4Sx9lFAv3e74m7cDFQimf55LVwP6NMl4ETF+O+DD3UJoV8gIF22NyneQE/aQrAyy/GzH0TBlGP0vqbDQmFTimssj4MInZwQ1MmQ0ScrGL0hsC1w1OG5PIf5Y2tE8WybxMy+3K/+vsKWch2AbUFzaaAPXTYNnPO98Vzv9FpkJ9aH4Y/TqaXHwIZXsNfi3HtaUHoUNgYA38PxBmSmiEoz03PM1N+GpqIInEQkY3D5FdHSC16AR1mGjq67PbAO9jzlYpn9+IT1jxEDAS+buUZK7G3p4ZF2c98b04Yj5S6ahvDxXhIiPeGZY3jPwe7sgk0bzEokhrcnH+YSAzhLf1Jl4YD3nCe8xW+PDngkd5M/bf5QCA7YOIgaTeRhyECKwoX2r12WZYJEdh++q33/5E1C/pttxw7MoixYCxBrfK651GWjJduHlixq7pXAWfkP3PeMqT71sR5CNSC8C4AwcihZfeaKPAYXvlTJNuOnE3ZSleCn/OjyLGYtqgrF6CX+CdVLFvYWgNhFnKZSNYGdOsoOBSVIp/CCroWroCctvNb7gH6P+mVSlByqOVsm8GDHD8LRGO7pjq2dL5j527+u/p0KdsFXoaqtyJ6NToXHobr4lM6eT7YIeP8jtz2UIFV7w1Rfx1z/lgstXNk7wT1VFgzz33TzWnkVAnX1Rnff/VT2gMC6A+RFoy6NjinQBhLQGRMSRW+fI37JUO/Sh8deWR9nNJPkFpLHc8/O5oNAoXj4ULZYF0rRQtlgXStFC2WBdK0ULZYF0rRQtlgXStFC2WBdK0ULZYF0rRQtlgXStFC2WBdK0ULZYF0rRQtlgXStFC2WBdK0ULZYF0rRQtlgXStFC2WBdK0ULZYF0rRQtlgXStFCxUXcyRdiCq+WlGkLcvEijFOzYF0IRAEwHqTYQzaJ5wAOg80UWMicdZ/PDoTNIzh1umyFj7PApTzjs9z2jy+fkunf+crd8UTUzo/xZi27iEFd5WtBjpDIqXcNGD0/v5vhDKBl2fQus7jrEiMbLqMFOTK5BmHqDGVLSr6wMzB/6vyFSjeRXXR9dREXSL9KDLhP03JAcaORZY1G/07dGkVuf/6QKcf3pS8Fg2yhG8EAmIJ+Vcm1+vKEnOD8WeRz6YToN+T5N7Dr/v5QnqMIu2sNySmYTTLUUpxhGmGN7VQYCHOSakNmRko5eYCbhOg0XM5h3kYDET3GHDrFMoubrYIbEH7/Idc4VBuW5fUiHqg1yqjo0vFar0Rh81dL2DBohp8mGpHkdN8GfhgZ4QWCtOobvPNJclygPk0Sb+HJODGHfOwqlfWf0kEN3Ogmlt5WCTJoR7sFsKWNJjIs+tFspgwzxZRYuGTnm3VhtWlo4XcIdvPHAPSKmMZHHqUnLRZeP+AEnXWlylkI+m40kLTqsw28AOTV4evtY6hGiKpeHYl4QU0dwlzuze9s13ZIkGfoYc/ivE+OvAZfHAh8h0UvUhKLHyJwiwO+R5WESobgcjHScwMpIPvQU/xerFoRiRV22jTPOVB7ppjuNgd6e8lz4IlkYaomv3xcBbWjT+GUIQd2qLmt6V5b2Y0W7qZ44UH2tdBao5so6Gr+o3oU9J8gnn9OtZF4IKWvUCGXMERTrfdvWvJ8S1qFMd+z7tQoO/RPQrF0IpmWK/V5htbV+qz8xAUDBr+np21DZjwYYrHhFttvsvzIMDEyAhIJ8U8Ge8Hd7/9xwflSSqrqEd8shE0ffbrw9PTeuG46KBJ2x1xzp0TF88Kf1z4cvSZmiRg58damhR+cfUiSWiGkrnQBo+JsbJ8eJbC/v/HW/WvSi9gIY+A5OM6pBjahayds82xkVc2l8/xCQAJdkR6UrvPfzY8PFJRCQ6JPrGKj//zp3ABeZ8cjs4fQ9MFfax5UQoCNoXk4Y9eX/d1BgfnXcwVhxM8p1KXvY7RUCWqRmgheFmNKJ7PEB2f4IXLJYVoCWrS4NIgB8LxtAjM5WrG3zux+aw8Tr/gtYEsPo+5uJBR2Tzs67mvOkGyU0IsItnWN2O8R7V57Blgbsa2vIscIrHzqk4jxlq7Xi3IFHXha85ouiEJZj4N3Sv8Pv5KcDXbEIigYXqzelUYsoTjPe/hQQWdiivC2dcq/NVPiVLOZ/VFrjmf8W3Rg7/Fe3XZrtxVzRiE2HDq2socyRazzcQeygzHgKJKMkw0EKQ8lIW+44hdQ0Trt0SWR3WaayUbRbf24tl/uYhrO6r6El5n7zwER+uHi6LWFsIPZjILHREuoTWSkcvrulLE0uzqQ8+6ySsPRXIp0JCffZAam5AAeQhDI1Zif+wp7zd3FToC3BZtZIKxF3vIMwIlmVe2rGOlKZ+OW6hCJU3ogw/KE2GHHkZnJ0fjE87IK5LpNDMCTqPV4jqQkNU5HV4OSYVoOVCdxFY4khWd/EMd/0TM39yYMDFCUFHfOHGAAAABCflfDSSX7JbkF1H5AW4DclwA4r6bYmtSJ2gcn1adhHt4GNslrmCRSRegOlhZpLISkOwMTj4sqn0NdIiOhl8bEePvayHcgw+bGaxWwGuKC4zPWnXwUPiv6YAAAAAAAAAivSTzfrc5st7Ef3zAkBz3kscijOp6pwqsBfzwNKwAAAAACPPzxrn6/lg8KpyVvDJ4TDqN81IEqvtof4dU29YDwUk0huGS1uOscC5BY2cnBo280dxmBf1rKUE0hL2zQyo1o+ragt7pXfP26almjVZVuO/ighLOu5kg4814PtwICPkXdC8r3atX/qNRd+hmoquP9UHOp+sZ5MB6TXFedh6m4zQbmv7XhOYuVp8c409VoAbdZujG5VOO6IBmc8V0cBxVA4lTiRBrzU6L/Ulywn+5mKsaL2pVxANyNisSAv+PR1nbnCxJ4qrALr2SqLM8GnJpPHssoudVyzDkDIeGO4bAREJBcuz+iBaCxN0+GFWcfJa2omUGR4m90C0H+oiIrIzGMDA1x8+slQd14h/Uj3DOrtdud9MHGWVdGM4hDmF77DounVQQSyTMcvEoOM0dezQxPky1QdCNAG6iVbAp6nBo6YP11ORcUFVIlj+4vtqMBBQiH0vzwbRdGvpDN92ARbD5aNu5tvQQ3X4BXqdPyMdKK4UfWEqu0ISPG3PQPeQWqxG+Ozg23KNBeVM6/+E5KNKUWV499919ChG+wKneoqR1YnaqAdNb/tHg1JhnkEF3a4SnLOAl86Cj5wu5m/VXHB9IBvUqgyDzvBzTWNs5GvvpPIRPt4kCQcW/pxRnSLKnUGPP1yCPGb7T+YJx23u2LfSjImb56hTWcyk4SdzU27bYG4YVae8dbLRrxa1WdfROYna7pEL7VAPzN4Limt0qsDJTD6ElAjg9XksDeuIb+rssLZAxR8bsSmBJDvTu8EDnPpAz8yPRRmD2xNYxwxaXssmWPFmEnQ0GdTsvvnFRrh6Xwe6w/5xHGThL6IsL229xuFvOJq+ez9j/7FOH/9IvvjtHo7HejoJBnbhUPgAAAAZpjVOSt4ZPCYdRvmpAlV9tD/DqmoXw6jfNSAxT2BIKSfWAaVL+TZwwlIbGeApkUsz3dAQTOXfviL/F2mDqAgrkjHY9HGhnIgGu8euaGr4gVWrqLpw+tm52OGihPLPCQlXkpWkQqtQRWniobrBHdgJmoepkzwitVNlq/U+rnRrsri1RnQForcKNXRAtVaLyYlco7WjczAnG0M8kF5I303FRW2wZVA1vz11sam+PpvFK5V1Cy/b+6jg40eTYiQLDQfUKWy3VOhnevzb5XBwvrj6E7/QIBjiSNvmwGQkrWcEZW97ieDNeymUZeTRBwjQTAHa+5zqutjFURLmYS75c6Ju5pyJW2Pn8TaAes/z4U3p4mrzt/IA5C9xQ1I5cBEoHQfckNTGwsfNiObqCqqgl6ArGpl7mZSkdNqpCgLomBXeYZipJPNEUrkhT4QpCSM99pGEXcSq/iNewPyzAKvYbG9ZAAAAAM0xqnJW8MnhMOo3zUgFiIAAAAAAAAAAAAAAAAA="},45440:(e,s,i)=>{i.d(s,{c:()=>n});const n="data:image/webp;base64,UklGRg4WAABXRUJQVlA4IAIWAACQngCdASqNArUBPjEYikQiIYhcFh4QAYJZ27npy4tyABlQy02S1x/kJxEuofni9+5ffMx+y/rH7Sf1X5z/7f1Z/cr7gH6Mf6TqUf1v/peoD+If1j/j/5f3sv9f/oP7N7rP7V+xXuAf2P+vdZb6AH64+ml+1Xwrf3H/YfsR8Cf6//9H8/9mr8af3Hs8/v34++c/gl8A+wXHH6N/znob/JfsN90/tP7J/l98Gf3nwj+M/7v+QHwBeof7n+UH5VcfiAD8a/n/+G/MT8wPXd/jPQv66/4z8SfoA/jv8+/x/5kcyn5t9AH2BfyT+zf772YP3P/lf4P/Jf+D/T+1D80/v/+8/zP7h/v/+BH8t/on+g/vf7l/4v///+T7n/Xt+5Xsd/sYFIwf/QEZdPGIpAes/f9u5tuTSeF6+x/X2N7UWKjimoI/lltHEbcunfKc70nYF04hlObl47eWg/9ARl08blToZ44pgv+91JGe/eHlRJl2wu/mBsMc2zQtnIoCABL0ZJtm7MLcuU1DIgUXW0NMjWhvBhOFyEE0EpxBBCihhkes3megIy6eNypzDASkJx8hBHwjUjtHZ2szEFGwa8INIKGTqrLWcsusMFIpa+ZWljPIQ7SQdHqryWDKxYi+5dVjYGJ1ol8zv3Uusv+p1uZH04ai/RXJLRTAH/0BGQL2aeIq1VWFl+x/Xu36+x/WzXkE+AwCJ5l4Z2H8l0kn8UX/vHt6Trc4Qc8kuxrDy85VuCSiu9GPWcBFpJEbz1nARaTL4c9ZwEWizA1jCAy3y+92feLMqOlnUT+HTAH/0BGXTxuVgjLp43JeGgcd/yVcKpIQKGqEkRDykbYKuAi0mXw56zgItJl8Oes4CLSZfDnrOAi0mOK1iYEG6x0EwUVjf/mlgRMYDE9ARl08blYIy6eNysEZdOTmUHgu2qRIBX1awSET/6AjLp43KwRl08blYIzC4q7I6bibPjFbGf76HO+xJqWjxzgDgdiGpsvyUF3QhqbL8lBd0Iamy/JQXdCGpsvYvrpy2tsWktsVP/oCMunjcrBGXTxuVgjLqIXrjIvbJit/mtlLw3zhUTgsQTJLvRj1nARaTL4c9ZwEWky+HPWcBFpMvhz1akP2jiXCEVgCFnBQytmeN0/vP0tGTCAD/6AjLp43KwRl08blX4PYLyOXyzK1KnYiMunjcrBGXTxuVgjLp43KwRmQLVbf502X5KC7oQ1Nl+Sgu6ENTZfkoLuhDU2X5KC7oQu5XtKZNPqV88blYIy6eNysEZdPG5WCMunjaWselJl8Oes4CLSZfDnrOAi0mXw56zgItJl8Oes4CJzMS/ftwq8gtc5BLxACVz3t15Ba5yCXiAErnvbmSmg9Bs29NimAP/oCMunjcrBGXTxuVgjMgWmxGcItJl8Oes4CLSZfDnrOAi0mXw56zgItJl8Oes2DgU/NDVasfnoCMunjcrBGXTxuVgjLp43KwRl08blYIy6eNysEZdPG5WCMuneWoTucBFpMvhz1nARaTL4c9ZwEWky+HPWcBFpMvhz1XX41w/L4IwIBGXTxuVgjLp43KwRl08blT0j8Jzz6lARl08blYIy6eNysEZdPG5VO8/Ehn64pTahrL4c9ZwEWky+HPWcBFpMvhz1nARaTL4c9ZwEWiECayfW8blYIy6eNysEZdPG5WCMunjcrBGXTxuVgjLp43KwRl08blYIyAAD+/05m5qIBU4AAAdh/JDd0h38ZMwKIeAaVJIRgzdfIcf+sUYEkpx3CBDDk+Fwn/gHG/FQGcr80/KHWn0Px/xJ//n4y/2l/DxF7BcblKHAqPRkTv3BJbw4KGYdTnAvA7HVZWEHgmlrRMmoclh4sq958nUL40RLHZJCVKRHwZLelL9Kz1Rq9IxDJXRm4hZYPyyPIddKJMBVRpx915eFd9vc26xfD+vJWqbh6ovIxxuIN6fw5jJDPo6bmzX+rBUp0JIR2xhENAADH/039BZcAEncpIkSamDs5Wn0QcPb9HWGg+9DxKDU2Ugm19CrVcGxSciOnK3eQdgFRH++BY0kPHa7PFBVlYOLIvscmnnsfkRelMETyZzeANj99S4fdcoFcerALxRmXXJ274SiKeNi/nmIKb3I8te0P2AWgcL77+aQHToLO1MFmtr2k3XNtRwijC78X8Ffhvhp5AXZXTklKxIZOgv42eaC4+iIHPFG5iPMJudnMoCPHsOKWjcYCbdKYw7mGHoEVmd61XUBmKIesX9BiwkoIrYEzwfPiGoxr8qdc59d5TqHEFNBrMT4iA38fF2RinsB9whTvhlI7y7mN+dEZLObWVS6qOg5I6QBLgDywa88kJX9712wib2XS4tmTUAfqtkfPf7VGzGSKFzBt1Z8/+DdvmZpraw/PF4J+ipnHPHJc/Sqkdmbk/fyYtKoby/eD4KScFZT6nSqhd1mAU1z8VwhltKd2AvJRpQN1tBSWUaSEGOiJV82Ci/c16qHKAS8adZ5yhWZYc2dOmeYhFg9FlSMi7YiywQ30G6qdq07gKAHJIz4QnLdaRZK6HpOkOW8U0eqjZA4vGWGB2iAcZXK8vjoMDkoLsQ/zCVFfbKW8Z44IyKGZAyYa4WXZBj3h6LYNZ4KTrLlwEZETEd98HmKZDvuETxFi8j/9isslJd8+2gv9vmsNcKph5tEstEv2QejQrfkTyUKuFqmEYYcTe9OPmW31lTpms2fCAGeSLFXoibv3j1t7X/99eLHpa5Li9BnEuSP312vXoUPikom7QrZGAaoYerVXhmayGCw8n+s/7i1lQQw2KP5Ryl9tlwXTOeDiBsOhypb929/+PpdQSWSB0egEZkMLBqdnnshRRkDYEwGf+vJ02Oa3Yf/UwLdxajQeqodOrB/lV9uJZIPpCv6HUADsFOPKeKyhg2CquQbnajh1uUvV2/BYN5lB8/OMj2CxZXuniLKeU/1HfnI9ReEIoSFyHLOenRI0ZutzAwV6GhbLy3JKtywCk8xYbQoOGGfweaMU00QLyDtbbUqMV8ZnZV/0TSycmjtPsFCR43DgaPT9PD1BjXPfsoonPJU/jvFGQeCJf3/WsZiSm1HzIgxrckysKDTjqHqbd7rwAe9z47laX0q5P/bhgsn5jKaOJTclp8wDLjgWZ/QUzbJDNNC7s+ZWekFB1TJElvnNJf3YV4zbLY75PvSBruM1iGkmMD7MPjtvYAAAu0mfcpifQENY3LIMxj+VAagPxy2vzlfXb6TLsDaL6koDlHbuLtNnba8LTiqwueyNh7cVWH/sX4jk8QQPUKvM4ZEfftuvHbSsxIRgaVjAExlhiKX/TStKuEiRGCkgULoqO1gkh+rKwTNtOwKHmEPBxxfTW9B+Ejy9YlmEiZXPe+D9TzBgVZKsY7WZZsP5rj1UHnGO1ql9PdKg3xiNSZGQ6wnuZ3l4yj4Y84iNxydzfbkJD7Z1plxeW6R7s8y0tXqo2aMpca7GsCACzeVNgRGC2yPUOw03Up+oRG5SNTSjUFw1tWHVbFKV+hlIkAGDL0RotuBvj+YG8C9HxMeWyU2IutG7uuY+3T7r1W/lHA7gDnAjSBZHf7u0djaXWr1BRztqEnhnr0xau35Xc8Lzkdr/HNJ0zu5tYyWejIY5MjNg/G35b3VEDGtjS8nuR1n2irv4pbV7553NjoL149wV0fSzyaFj1+0QEWsEA8TkbyjrlGNVwEEOt1b5rHBuD/dLZ30kHun7VZFXWu4fAVXTrEk3KeMmSFMMI/1aWARn7hppZ3TJ/Ab6Mnct/cbMcKEt+PqHy1h03uJ+uOshn5w/38vl4gioviaVd5aUNRGf6UbKVoBgzIsUg1SCQPnsR4HGhhoeT2ZaeqGzngTVPARvSb11rgM4yswNBL8aZsmvV1ONXsSSzy3+sfhsSQdamPmK5FBQ5F5glNfE9cPCHRv/f/HLrRQO8K85uOsPsl684g2VDImgG6VR72M4QFdCe36KmG0ql9QPJFAZ/OYKtBGA0CuOwlogFiOKwHKI0cPGt/D25fWME2ukGbnJRxl+Np9JONpQsLSYNUIn5dytx8rJ11TBoj4HsfMhVIfVe7DdMtr+Lk5rveXNQEj2tTdxy86jC5P9/rcYpY/+ZiQj+cuYnI6xN+nvXjnQfxngSRQ9gpwqKieIg4sgxMPE/PBJaDN1ooL50MWf5Q6zrH7wcCJmi21xxNpqpqazbxzpZYrPdG9YzCJUuujj/6ec6OCEE6I+eMHqNxY2s//qlDXaoArTQrGI4x1v+0VY0WHS8he1Zs/ESqknGEUulegJVUBCaI55GMMgqLw0oQRjYt06J53QMtnPib1jp8H3IdcAjiAKXOisqtDFVHtS4ZyVyFiCV60OgiaC3HNwvttM8WLlpJaX2TgwTlCunWS+BtFym+JhAiZB4+wuFCTZaF40CfyrAEGK1mUcCBCl3yb6RqAETfjc9sofqg1YgPFdBupM6EAIANrUfHt4OdnaZkCt/kD/FeQpqtnNmrEGEwe50rPHvdlf+16AVwjAIs6DVlqMoMKPV9I8OU9MKCeWlX2YrdYpNzHNyLyMHi2TyRuZB7DRO8QDsLnJ/nKKo8uJ0AxYmnO4jjYlTrTSsrIPeAb4vNhZCGGV9t8FRnMg44zig/NABpbqetEYLx/2FafZCvxptAAAaZmMOmjA0qag63ZpH3+1kJRWt9EBkstnzj1ny881ZDLdF8tN8Z3YO/G0NIDtZDttVyuX4BwJBe1bI6UmRNPRP8sLY7/Zy2BZtEpHfvbVZTTqORXoPLp4PLdsNRov9kbt+pErrMntfBomBPenuqt0zq0h3TUtDOnB4Vi7RnxzDzNxWYoSi5bEYT+saqN2u74gom+2IWTr5ZM/KG3RtYrJBjBumkhqU7iQuAMBKIdm9gRzyHuZ6WQj8AZ0/HSPG+HTeHW4iVJBblkQAF3cQkfpQNKjFH/oUvf+fdIrQj/JpdWbUUp6LVrjsNWBvThZIYw7xrleYhKY1yvMQlMayH1IMCVC1CZSVF42ciEFMAY6/u14R56zUE3InEUG2Hp7DX/6E9WU3L8BPz9i6Ft7wfXaiYQAAAAAAQ6gkHkPg0A22jZrmM7rqmKFV+eB1lIiRWtQDpfKNO1FY/t4+YauEXULDsesD1SL6ZiorQXuAf+1+RD8BJkPFCQSOqwt1nrtI0xtOKjJ2Op3uAZTl5jXMs6Pmfvs9iVH/wwIudNfDtW2JekTIdbwL//zXS+D/XfNn3yJMP90WDZ9wDEcMa/XTwK1Rr4tXUAecYSpEintSJFPakSKe1IkU9qRIp7UiRT2pEintSJFONN8/N89pgkl1vBJLnLilDvrez4HHPNxCXyUKXt9pBbZm9dVVO4K3iiGcZVjSLAHXvOsHFMezcICn3dm5Lkb+o5r7kB+ySkS3ccCXrBWm9Ik9FdDC5H4D3zhFrLwnG/g8rOVgBWcwVT/YubZsJGYA4tr+t0to9Vgi0ENA52CMlUGTOSAAAAAAADJIKbmfbfQgKd/R86a8GWGoXxV5iYJeCYx6yWdsr24JK+HoqbgZZ19Cpdf941LCKkubTnPqcC/oLY1bzszxoibiz67RvGREtF7/NDtVWhgAAAAACTguG26xBY70mlVStUiFiDF9xcl4iDpfdYFt42S7QwK6YG2bDZyxtVjJgTsr/OqKWzvijW1SJsZY3ZiCroWVlKFHz/UpIYMEpTGP7FmqqL4+F+P/mcYYcKc+QTPB1c06nqloKKNYBRQbvu/ySH6v0Rcbs/hlutiJM55z0DbrfUeS2vD5lGDw90kjk7OTdMawqNRLQYGbZoJSGB0S+ClwMAUDWFLsqOQciZUbgaQ1kFlnBeWk9EhDidZHKgHEBIVG4wdKNvRWSD0aj3V+ZJVIfIrqtFd0t5oSmS6T+3QiAyP2QTZeU9yNJKkzeei8jlH4ElWxcg77ySf26EQGR+yCbLynuRpJUmbz0Xkco/Akq2NDgvz1Yv/vcoTY2Khgm6pa53SUT29Jd+JMb70VLFZJspuPew5etXVeDpEsa05g8kTb2+zr3F3kKAxL3b3XV5TsaRkQx5UMgAAAAAAAVoW6U+VRziE4DbHqxHJTVDi0KLU/y+3P/S5LwWBLnd3dwV+XjELP4+JJtnjBFWJ03dglXdcpZJsbsjrW3CiqvfzTwLzmNcGSR99Sgm663ydfrwHfy2zj+j8MWiNr8aZ8cOImMgkcXWRe/sBC3Z41loCYnQ7m6AquNn3x21pUJJZXqTVYcNsCdlBHeoxliebOIU6pj7VDfXYdQDPXqzH6QNzgX4SgvJ9r1Zj9IG5wL8JQXk+16sx+kDc4F+EoLyfa9WY/SBuIvUBWXNvizentpZcLuMR174LmPPcUic7EL5WzOeyV0vpSVlyLUa79zggdD8+ouoSR1InAt04d0slyjlh/8xYu8g3wA+SxmP+BN0Ynt5P5buizvybxgo6SCCobfA2eZElsz6HKcAtGmeVlo+wZl7vMuM90cetnlO6UMJarXt9w5A5JUuAA624SUEzQSVNj+8DfBrz11ZKLSINTi9VnovAAAAAAAAEun7afOTjm/mSYKygbYKvUwLBButeFd0UjCI6wMchWMnA4jv5vXvkqtl4d5vuryVRPslUat111NsAAAAAAADMbPgSXMCKObotl+gkNwDHej2ZkPlotFK4N9co+xNZPD0bXjqoQDAQrhl7/9wy9/+4Ze//cMvf/uGXv/3DL3/7hl7/9wy9/+4Ze//cMvf/uGXv/3DL3/7hl7/9wy9/+4Ze//cMvf/uGXv/4F1cSVeaanHlB+i89kBqZYAsd55+coGS63Zr0q4uMdsFAAAAAAAAAah/AI86gRc3lh/uZEkHnn8HDsejeWlTVyK9oxudb1tGuikUY3Ot62jXRSKMbnW9bRropFGNzreto10UijG51vW0a6KRRjc63rGdDB3dg6/BrT9RL5R0kO9t+TXjAAAAAAAAAJAEQtLYXv+YmaLQ8uFlRwYMypYcStIjFhdWE+qOTDp/sDnJIAAAAAACZ+xQM0yEj8A74HsWpObqpvqRoFiGg6oVaD+J4qdB+xc+lSczk93QJOZye7oEnM5Pd0CTmcnu6BJzOTfMFePklA0pjVDukeLj8+RmtlSfl4x6kICmw0s28HjER58hgPy2vemNBO4wQAAAAAAAAAAAAAAAAH7h3Yl7Vs/rUn2KcFMEOKoW9ZGoiWGSLXK/B8DxrMvUcqE+VCfKhPlQnyoT5UJ8qE+VCfKhPlQnbHRtYHgKhiaE1+PAgFQIyPrQNron3fcpMuHEM5tHgi43oZ4NGV33bqgAAAAADCxMmBfxAaZm54gP5xv+a3sBvvU4D+eUDrgoJC7VOSoQShOTzC0P4S5nwc9MpOxcBoy2Nc7tCEBLSSHBQDJR3YgAAAAAAChZJZdFf0xGXbaskl1abs2D0oNObbr4Cq/tt5N0Hkcpn1xciOIXtgajJzyHA0BkWJEJi2HxRc+qLXIxykY5SMcpGOUjHKRjlIxykY5SMcpGOUjH+6VnpLH3SGzuuaJdZSavHk3AAAAAAAAAAAAAAAAAAAA="},58760:(e,s,i)=>{i.d(s,{c:()=>n});const n=i.p+"assets/images/releases-2797140a98917e59f55b89e1a7d2c415.webp"},11180:(e,s,i)=>{i.d(s,{c:()=>n});const n=i.p+"assets/images/settings-50fe7b99017161649f4a50ffad511aee.webp"},74720:(e,s,i)=>{i.d(s,{c:()=>n});const n="data:image/webp;base64,UklGRhAjAABXRUJQVlA4IAQjAADw6gCdASomBbUBPjEYi0QiIaEQSPwgIAMEtLd+Pkz9r2twzcicV6/f/8f+Bfyj3jsn+Yfyn2se9Tff7p+M/Zx0i9a+Uhyd/mvzD/vnz1/0v65e6n+5/372Av1g/WLra/ub/mfYL+vf7G+6z/pf159zP9g/u3+3/Zn5AP5V/TvWD/03sSf0v/Xf/X3Bf49/OfS3/8n+j+D7+uf7f/0/674Hf5x/fP+1+f/yAegB/7uuX6i/yn8cPAH+yfj155/i3yf9f/KD95/fox72l/xf69fWf7T+0X5jfgL+V/wHg38iNQL8j/kn9i/sX7R/279weNtsX/wvUF9XPmX91/uP7g/3v0HP8j0R+u/+7/qPwAfx3+Xf2z+3/t1/fv//9S/5z/VeLf9i/0/sBfy3+q/7X/Gfkt9M/83/xv8t+V3t6/N/79/wP8N+9X+q+wj+Vf0r/P/23/L/9f/D////xfdn///bh+43sw/rf/+gR8+OHDhw4cOHDhw4cOHDhw4cOHDhw4cOHDhw4cOHDhw4cOHDhmiR18ptjeLbHggu9r11eFKXcA7XqEANlnxKJ1wbp0nlziIHFeBfXaTW3Wp2A8t64q51sBqlu7KifHDhw4cOHDhw4cOHDhw4cOHDhw4cOHDhw4cOHDhw3/Qdhb++55DtRzzP31TpwNmelu9fy9Mt9V56udphMhlBNJIatG6WAXXDAyxp54tYUtHz58+fPnz58+fPnz58+fPnz58+fPnz58+fPnz58+fBt5wHOnE4es4nE4nE4nE4nE4nE4nE4nE4nE4nE4nE4nE4nE4nE4nE4nE4nE4nE3QIfihOuQj2xbcOFj4LFixYsWLFixYsWLFixYsWLFixYsWLFixYsWLFixYVeDbu1Jctkx8latWrVq1atWrVq1atWrVq1atWrVq1atWrVq1atWrVvWO0iCU1Fq1DbzIvYMjGwD5RySDkGlXYS3jxw/r6Xr169evXr169evXr169evXr169evXr1IkgJNgGGKIEHZNI/ksOyFgjsY/cDdgVJepHDldrFqm7VGDrjUvRTZsCtQcUBCTWUgOHw9FzKdzggYt7BiGdqvFZVLvN8WNeokjZs2bNmzZs2bNmzZs2bNmzZs2bNmzZs4RcNY6l70JcV6/1njnzATJXkuXRm/fv379+/fv379+/fv379+/fv379+/fv379+/fv379/BW1EkBcJvlrrVKFIYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYCuRaDPfArVq1atWrVq1atWrVq1atWrVq1atWrVq1atWrVq1atWrVrPIbBIkSJEiRIkSJEiRIkSJEiRIkSJEiRIkSJEiRIkSJEiRIkSnC1HUKFChQoUKFChQoUKFChQoTSIxdXLk62aX379+/fv379+/fv379+/granSECBAgQIECBAgQIECBAgQHwrbdygycJLLJPBFGyxo6HDkWbNmzZs2bNmzZs2bNmzZ3pvgVq1atWrVq1atWrVq1atVbmSVZSTWHiPOl6iatGSkx+KG2LnHR/LWR8+fPnz58+fPnz58+fPqJb0PHjx48ePHjx48ePHjx48MvY1Ys386YrfRY3lVyvRjyI6RDO28qVq1atWrVq1atWrVq1atXbgYlsmTJkyZMmTJkyZMmTJkveVymyhE+BA+qiD5UtFRJGGSpSB2EkYgshMSjZbx48ePHjx48ePHjx48ePS5lgHxw4cOHDhw4cOHDhw4cNcXIfrkEXMVRE9cSXgTqkQeEIHP+N642Ine/UxTvrUO0KFChQoUKFChQoUKFChQszoohIkSJEiRIkSJEiRIkSJEQ3BVSbgy13QRsrDFrOIRcZ/EaReeE8rMeLtTkyP3BUB+w/44cOHDhw4cOHDhw4cOHM9vQ8ePHjx48ePHjx48ePHjxhW5KSQN7n4JrmgyKV439uWz18dDmZkpKGwn81hjhzEK379+/fv379+/fv379+/granSECBAgQIECBAgQIECBAgNWfqXiQBOEUq2bLtoDXHBJ5LAZkLvkWxphkEJEiRIkSJEiRIkSJEiRKcLUdQoUKFChQoUKFChQoUKE0j6xm7cX+iiTh5wZxX1SdUbGDQ2HIPX4S+/C4dFdtmspLduMmTJkyZMmTJkyZMmTJkyZ2BFIxQIECBAgQIECBAgQIEB8IBL3YSJiB3drIobywkysD/8xZmL9sGpANo+fPnz58+fPnz58+fPn1Et6Hjx48ePHjx48ePHjx48ePg9Xq9OiRIkSJEiRIkSJEiRIkSJzC74WLFixYsWLFixYsWLFixYsWLFixYsWLFixYsWLFixYsWLGbT5zQDFvFctdapQpDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAWe8cD9rXI2SCZfyRUSBOJxOJxOJxOJxOJxOJxOJxOJxOJxOJxOJxOJxOJxOJxOJxOJxOJxOJxJOlNyefPnz58+fPnz58+fPnz58+fPnz58+fPnz58+fPnz58+fPnz57oAP7/9qAAAH25iWwe2bKdKzx0wkx9UXcbKU9Y6aSO5wE7OfuZWDaKm0++2DkAQOUeQLmiEMQX6mWd4Od/V7wEcu7VASpDsJxR1YGqrdRLuhdD545WS6LNxgTyoSf3U7i3T9SQTIeR/Hm/G9prbzePIidYOeGTpvm6ZHFVbClcd3M4qGYw4ok34tRNZt4BdNL3mUqFHezNoERUm0f8HLUC2Mg324UVaopr26ku5eMvOHraeM2cMkVAvLn5QAfnE8W3xUR/2PTYIs6/jupmCSVOfI05kZnWcXqf4zfRiVSqmRKhWLpij+pgZ2ON5gk4e/5mARe8Tmw8XAQRubAp3Y0x4fmf2ae4u8nqj0vWOL4B53V6BX8Cjh2bQ+tPemQdkYWODLAfpQj5OQfPSViJH7uQs9oHT/HT/HLGj3EbhZwxgu+nO3R1cCO8WCd0utF1uYbO6Mok4i0/3XfEjNiz/KI4lDGfeim0nBM+7ebGZgaJIZA5/yeyB9H7MARlTF4PHbB8X6owdzu5+03L8+7j02Mh3hsQD2UooQBGcCrwE+IWGjwszxheFuda7CoNjSFPYuvJpWG5q1OcYeY3M3zVNhUrYMsRcXrZ/JBIQX+PEBIVi/b3ej8d00KukCYgUIisLJ0SQ/0EUA2gKh+D4+3fIVdaZvTNABMixlVCfkLdx6grzY1PIToYASkd58bVRiYVYRWKX/jD1B86xNvXyhDt0OGf7dKWqLDvb7ETkmBahAaxXC5jSqafF2oumO8v92OlWEbSMBtgT+MVvw/KhbQgP85WZA3+tLMtquUEBNNXWSlzILtU20KoUI7084Rls//6ifFQQVQOqLxo6nysdDOBhUdexy0AlSmI4Rgv2n5AnreuYT7GDvwlMXAFVQBhzUdJ3ABvhDzDOeL4xi2i5oY47JIhf1Xaq+TSE+uZ0yuiM4pv6k11tW06I29R/Yqn6qZhQADBjmejSQ/AAdnSbhf3VZN78+vYOJdjKBzhp6BayMYST4SOV+wVlEBq8sKD2CQZ7Rz//UG7HxyGbtuNnRqwEM+CkSF4ezvq4O5L/un4WeO79jhTeJdR/KnEtaiJ33vyJpSv7ijLozXGoAjjZFpM7NtOm45oyFR9DIzobBqlYcP+eb+bs3gotvq7VTE/44tEmuVyiU49tkKGYWZ/DC/HkpLfpeGsewPDlKxwEnsuzxMrgDgBGaXAs+cBHOC8npBxmHuaGAfqX8jKvPGXrn0+/hgMFIRFheFWK8rQVKPCx7zbdcQASBL6lNSQzK4K8zFVmDeICx3OMY95Elet2bprdTrCHcNOFqSwIquy3Ai19JcNmenE0P6KVRGsv0bnK6nlkry7t/NtGdj5qaSw9dHLs41AXSg585QA3uQiOcA2y4IQYvfd24nCO1aANoNV/7AFfrBTnPtAfe2SeRB9aZXmuq6WbQKCb5z9OLjnwXtXj8Tl2Q8mzIiG+CXLCz4EU+98Owv/iJDjTc7pmnHf/zly0QQB9Ow7S7yFRYcio+9zsiPfO0bWLv1/z9IWCnBkL/Pe4I/n3xbk1G+v1DVqDP4tPoVt2xL60ZQzmkQKDqFoXe1bYiNcrgsxmbDjen1fCn+fzBWQy8ygAH8b+jH6GYr08I3uWqlQM3IHJPqE2iEfQiUnovIeGhotB28YbJfXJ83ZVWHfCYHXSgS4czoLj6kfPGRBo0hJH82W43WOrNecOiabSgidkrJ40538T+oMiMy5xigAAHSlYWoPlHN0tJ/EGHKAQ2J95tSgIqW805oxpWVRue45pzRjSsqjc9xzTmjGlZVG57jmnNGNKyBFCtz3dgQFYnL3RwPDEXwvh18WAAAAAAAAAAAAAABG8UasZlvFzsLPiQAFYRxDh6Tdl68pYqpwcVRhKphgOwVaWMuZUS6WcEHIgE5CT+Q0FGY79Uy9eNUrlH/SyL37iuMNhLM70t0Ec4+g57WUq/uj+Twfw5Fts7OdPlfauvCewUbep4+O6SAmiQDiHR6hnsKaKEFyrHH4rAvH2W/5xVcPAkwrfzB92R4mVah2ifWlM5hL4WZFPvOgtMjwBGX/dRnCxjTUr3Xu+J2+nSnVyW6tSvT4tz8Z7FYx8tfFrPVGDQ6440gziJ5qbZrUFGie29GRWVOGnfhZwUehsgFRMwGFai55M0/XMGFUX+DnJrdLun++JPfp+83V5PSInnXgx+Brl/vLnNdIqmlM5AWaKHVD7P5DlHOc5Op56hSR1uG2DS7HSVD/fMEiTav6Yd2J4mVfp4n8HeQcNJcIdsmL7vgbjEpmsLpEiPMoZjJdxoIBgWlikrkbwenWvlV0YenVuCN4SFz0KJw0ZpqTPC7w12/Y4XVA7Mcu7Eh3Mq2Dl4uhPndSCAMSTqL9b+AcSz966H0Dra0jVXKtnKhDKQOms/XPs/8ZRqqLTXihFA2HZ1SjYfQ1o7OnSr8b4iCMguGWf+qRvBC+wMCekZH2ReACMKtKAr4XftdQ+VRAH00jwKEoRsiNw0SsEX8QipAHawPL9OWTkMBTV7gjTJzdB48BQPwAIAKSAWEJBMuuwJ8Jbz49fgBpPQrqzwRCOHNLP5rUzfloYjOgt3yufQgiwDEu2V2RMxFyOu5zhufyePKRyqRTvpEUJSyX5o/DJYR2/Q3GEk5bZkz9+H1fwwN39njFyo1GCtbrYP3VFKfGKmkGP5lhSrwNprfRsPBCP13kgQQacHDgXql8/PXvOyh4wPqIyfu5MM0VjdO41AjJc5L2YOQD2QwQotXGev7vXgf6om3aL5GLkhXsyBGBy6TqeTtEX6BGMLADCAtvknFNd0FfyOzDwz0XxQsTpeaClmyri6sX7pgOFF8r5TbLGU4Lsak2MhBjdoFSCGWe6o2wgFoDvDPsRMXVglkmIZy7sbzAaamhlV0kHOS2gziQ9PgXSD894evJeooY5QhZyF+TE3FbcZYxpdLgWxYnGEF0Kuo5FqPY6UJVQxy9vucp++Ulp0J7DIJX4u+94kG+sODxH2kHVoLIwz0eWY/xMioR/ILHQFzJGzU7RDa0+1ZenImvOVkNu4SUq9vdFxNy6mj19h/H29Jp4EfPHIru1OeSazb3koGV4G257OiOfFne52KhApT5p+3ibC5xcW5p3OCYiax08RkyQ5IY8l79cLogBWV+Q5CSX72MedT0J/dXje0qHZILDOOKib3XbE/a77u2w/HL9XGnpz6E/uyBp9hAnEdE7RYIVP6Mb+JfPtVr7iAhLipBLMRKUTl+kjq5adSWs+sJA0Ehr6h0+MvsjvpSfvmrgX4yIbio9Ko+Ea05dXBjvpxPYQwdFPgXoF6rWpioMdOUlIhHX++uLgOceb1zAtkvdfxW9AOGX+piKBeAsYooXkTgYXCtBz7BZno/k1dVf0764zC4t1Veb7d/ARU1cLyFztNn41SWzh82tUpz563WNPTpZuKhfWESInfcY+p13RE4gvvMD+djiUCh2fOLfQ85jcbspz7a7ay5hhG63DMPf8KA56Hh8VjXf5+tI0QJS+DzZ+tPs2XPxNGySmiBRDbAdMF09V6pJhkM172svuEZP9fI9oWdyB3AfL9Axq1yVKo41c6N1imfJeq2mB+4AEvOWSzpsCmM+5QpQ8FmwhTh0S+R6LUMZez4IuQdBufe7hzZ8XpANDsdJg18pXKIE+QYghkt8yglvnw5MOtZkHDCTkdu6/BCDvggcSsy6oZKvLJlDVLAS/InL3/g+unqaQvygko7o7DyBj/oBzh1PeJ5P87yraI05n+jmJA+eWgcSdf8WOFAJeQPSuqTIE5Ch18LFXJxXsuEjRPf+ZyfHd5Nq8iOMy4fueha/QS0F5OqKK0Fc0QmiqV994gD2boz18ZtN4jZ+ijlnkmxTYVyI/cBL72vCCmGbpMqTKqzFbbk0wRP8Bh8Pw2K9bPxxg2ZTX9h8fXih386Vzb6Je6papf+TNsPXyYznWg1QcdchdOK5MPMo85tKLic/R+Hd2VTb55nDs6UqeoWmYxYreJ7zNr6681oLyhY5sQfhDCL5zvC4A4wghMWqZJCvcTrl8UtgIN0dEsdOCJ6dIsiziQS4WrxeDnpMAAAAAB9LtG6hcD4uIBvl63jqxdesOrcoGDYGmC4Rm1WLQBVnaqi4S9JAbgbibxkR2jpnssAEdIf0/VPBDZiHDqigAADbprJneiDsD9NRLSEkgANtgASKC5uC1QqcuMeZ35V021xty4C5iosLvYB74zXv79d2dR/Wox/fQw/1OLBmUdS5nk0QdcXM4nMLkI3GKfc4PyN5UVApTvtfv+hyI/gi0GRq3IovjobYb78mKuSYA5Bdq2g0sRF8DsD8E8pzXpywD1Plag4iT5jYBmcM9JqBJ1F+zqxedGOzzv+s5Mb/aUIfEtJjByXkYV5+875ZemseL76nDmcSib/0tjzyWF4EKNreT5tYa3yK3nqTvpmmzETaTit67hc2PXe7kjqKkz2FgZFn3VszT0LnyNvcHw70uIg9eJg8WQaWaerUjofOCBWHmBINVjevaejHHKgccDo6DsQ54Gz5o4pH3+tVytSzaxVQ6b0ciUcZFgmd8QPCj46UWe+wavU+Aj0IJynROnFvAch95wi9e9jwictUbqz4/AsIP1J74lH9uL9oiPE26SJJXH4rm1mQPpa8+lUrcnpZ1vBrq6YO4HKz44jbGWiUtp4bV2DeQdMv7ruPP9nqjfn1/Bre37QTRWE/G2o3yw8188SUsVMidzjDy2+6i+4+HnGyj7V+YsIUhckJRk9gjOQax2U1HTemrw0u7NMUltV6zh1kTIIECfFEKbmq59y02FnssIin/2nwU3qwX73/DQ8T+fwAw8OQmHFeATTP9b9CJ/114Hcsh70M3Mzjc4p3qSIwDdo0tY4EjUdLvtvFjWyiZU23tI0sxWjWL8GrlJ+CSHFGQgUQYFzX/3sd2ACcTaYDRCmuffJ5+ASaBL8i/i/UZDzffyE4VWyK2riDCPffKwImzLuHsKalJidvAcOaD3wEDB8PBcmbO3wrxqFFbgwvSDzSAYtpHUPKbxSSeLC4n5cPTv+l5jKxfd0ants2uf+UjXreEz8Ep8t2TkufDh55aS6lZChu4z+NS9aq2jWzDZz9g8szGBkpAgEcjQ9K9I7NLehjr3XdyfQAGmRqH7cxKzMCUYojXySVeUWz5hlHLGi+P+79ICEsXyKZ5bh9xSYvKSRm6Wkle8NE/ML7qiTce57eMKTUhdMfDjG8a/G+xTxCPHnsXYRWg/FOxVKoMvFwmA5xJylEOkUJLiPctsxI+YSnOHct+iuYfJ42dIx7ufNy7CTmDkbXknCepxWbYLQJeoWqqoqsOs5duHwlgs5/kzkAUiPWEoSEZBDZ0fpsZhb5J8DY6G6621sGEuSNcojYiw9+TQhv3LPe5Oh+msr4Saz/w5G0oyk6XtROqAfqmiILwpukNkA+AYaxrdI6/85/zKk/Cml6/2ygoF+9kVkble7lX//5cXbK7McCwjmeT6I5d89tjmhRFt1Q5j/Ba8Zvs1K8f/+MKjWx5g09MUHvpj/kFeYfcIeP51yOPY75BN16WiI24+/AS1Hveni2+Q5W5GRUISXh9YLsxUM24XBhVOZX1dWoLFQFg/4+55WKaCUvRpSyCzZ27qZSUH8mXUT8BrEvZbOy6BqRXZeSIlceqfdGgY8KMv/QOgysOYie/nJMC2iwDf2uUln4AQf70f7XlqrdyU7+4hULUwJZSHkl2rVJJWKurpuUhKmViGnMkpYDXHLBCfd1lz/oJzLhJTTUL9CsYpm5W/IgWxYD4xdYQwvRYynnFLICaHdz0TnKPKqMLOPakXJIqnmk8DCIH0XZozHxed16g1ebLSj1h4I1UXRdsYs+0P4vHNzPpTL1gX9pzqZtB5K8xPM3Zd/dQGsTT9Sj+WZKv5gNWh4PsLTnwU5moQRrRSLCTxTUGmOHNz6MPdWkrxfPwBJ4dlH2MqeXVk4XHLE/tM8FCpdbYQN4rHDiSznJWXtFnrDbnQqqyagSdjZHU475nhRjhcUzl45JkEN6hpkCHwO+QJekKdpCgUBocDS18no5QpstSc/ALYIKPoGK3NxgLj/UC2E249uiJNbPQmPkY6FhmUAT+li6bp4zP+E8qN2zOet0EnUHvw9ZTCyMf/Wmat++6fsdU6V/MR+qwyXDsg6yyghrQ/ZdEUZgHuh5MdoejmgPVoU6knQmYdM/O1O9Kbue0+A5CCTzmXs2h02uQkCv/8L018Flc+t85PfUqO4c/Q8mI50sJBSb/XyDOVBCiK/3MBCVqU7+3czxUAPUXHiNbIAFg0y3y+w4UTD9hZ+OxakWz82AE8esRViBiWtk68fq+krg3jlkkpex3qkgydazLIsAPBNX/We9ErYCdN5eZ5/kYdArqtriNf8BH2WK0v3Fnli2hhRYi0WLy9SurP+Do6QpgqQBdf+xd/2RmdZ2L590RJoftu9gJYSa+7bfTLD68Oe1R8GqPJyjw1JhaUPoR7D5exR6yx4c5hNqAE5YmI7HI/TgvOcV8s1+UbxwVGT97AIYfqWjSynS35KzX/OvJU/mLPESCWoCcFruEPEikcoXESfSrRY3LvSlzczGfvh65AxM7TCTjw7Qd86vVAVbVdLS+kYXW1we18hc17NboMHGA124gn9LttikB3p/rn9PcMA7Nr5hxhk3XaFsobIzjG8GsLcNn4E/jBtSpqBhjzk3SkC/ZIZTW0NQKtXpMYgtMSCvodrC0OkIrzM4YRjl36UnE7EbF5iS7dQC6ri9ILUUnDyWhJFzeT9PnO2ikUhIbE9qr8TyjWWLGawR6nwyzk9BuK7r0e75TmOKrKo6JlyPwJ1sGAn6HUhynAKhVi1iGxWXqjjas2wK2EvbtKxC8jXIFFrgobqI00SSnoKEED4sWAwH0iHv/J8cd2KHa9o9E5T4kdZ6gr8YkgiH4l5lmmPd0Ou/PDhIMtBgxNhdV06Fi7O358fpD1kuZrW9hUOa8NH+8vBC1/RKeVRgerFTJCGKa3jq8WpaicjTPn++S/8/NZVNqfRP3hOhY66rqNvTRu2AQC6im12Yrn8DwwvIIsEMRjBzrcTGupzTBopFTcs217jfcJkXnh5hBUokuNU4B9G5RhLtn1iuLYgUfWjrJ6jEr0TWiU5tUQvcJYsWS+NbL1FiNlkYc1WU7NuieXRoGbeNNWSRAUlbEG7CZolh1SUmTs3NPM2tA5RJX7TTFaoT05h2T2yraOGiR3GPTPxZ5nnIAIcDZPNF6+OHCe0xfKC/3SaseMod2A4knV26ybq+kIVD8XEeoAFlvgbzx1nyUX8aI0O4zDFs5GC1wQOFhywHGBDw9XD03q2H1yL8BFL1131TENhomdWm7ZzGFJzyQVVFIf8HiYY72Ta103f+EWlz4hh7D6OlHYE/INaspzK3e8M0yjgRRs5B0jeHI13w40v3B04kPxEGoSFBZZ/joJyqW8oKM5JZyT1Y5g16uAIocgp8PZqfsFqaKyY7KRJV3TEbIYPyeYdDyNq3jsOcZUirW8XeQfGyeaOcUU2yXkG0FVvZ2WOWPhYbL35PjCFUuaxDclpkOKUVzPl/B/PamW+BAIOrIoEFAmEGaOOJVaWZ8Bpf9aNXSRYhpLH0kCeytd/P3K6GKkAAp+K8JeDFR3uTLR+wvrvIfHJsBfqRApo8RMKG8tunDRjp2e8OY/5YkcqV6iH5ag9SlANX2ZfYQNYXNiFtMRlIYlMmss3ZooQcsCdVlFwKLxv9/4UOm95Z0aM4mErNh5mRSQMzKvMjLFKiQM/mNXP5D6cERfQENQKGgiGZy7/7ayFnyM9h/oNWn2WABT/9wJypitKLBp0VIaVxR4eeOzOf8U4eoTbQd2Ixx3+Z7YcjxNAzicRxHavNn7R3uS8R+E6KgsNfzTM8fFv4LV2EcPQSQvZC+uAoza5ZOtN662ga5P7PQum1mBP1j5CBjNvx7HDAc9H9HBrJGhu8ydtHEQ6RQT6NXSYPaoeqo6ac/0i6CzleTQ6GN8oK32bv1tIjDSjs9SwTuyXuh4T6Rb9raHenebMTXrrpbFYE7ZPI7d4i8UIERdsi+WOmv1CMZWZicCeJ54RSh1Tvnpw/2QnuPug1QcrliBCj1+7NnrG2fQELwhnMnB0My+//SQPeZIa3Xy1E72YmRkKsl0KZg6uT1bOHFYrlbQuCPYNYnhjZ5bqKltLZtI59IqWxWGRrP6OU9Kq+4AI1CW+zbQ/yRNIAcQst1KogC8v27Up3qhAgVUUCsLt5XQq8LZG3F9SxabeHvef/eyFXa/4P+k3ONBYXPYsuJO9FFFtPivz/1Z6qDAFDBqv5Q0F/Q2zxd5RWyVaithde7v5XcctmTo1Pe3azqT3gSVwiWz7VLCDU9qYIuti6ncPcnFt7WUTyAWYijkgy7Si3046VVX7GtoHgnZDr0Hebrrq3m6mpPYBn8w/6cUdhf0c18fhXQdBLwdX9uQKJ+U5bVfE93KLFgM7XuQ+jP4AZjC9WGX0H5BDJo5PBcsw+jN44dwSnZM8eluFzmX8S8mer/syV+LT8kguAssFQhl/6UfwYRfQ+WONDW3vwmbCJm9Ybf9uY5AVZxoWFw0bLjtMaBlt/t8O5Zw2bAO4S7Y53I3o7maETwpM2G4wzZ8H9hkdbVdw+Bb30ZTWtbQ7NUfjoQ5xsVmjJ67Mu/+LkOQesPLi97vjpDCafGxPJrJ3aW1rRs9NbuR/w9a6V8sJuy05ipY4HXYg7otWixV2i5Vid5JyLZdRqZ/tbPN26CZGyoXOyS9vquiznd0FSKWNCC16GyCbMuS6BTvtRHHdjoyy/ZF4m4J21yD21/I4tI1AJ9Qog/HI/Y5evXkDt47ZD5pjKnxVA1YtKjL/5yfSfjze/VKjuX2UXZde0wasknsdAkp+eK3qtsNZ3X4LcSMO0FTNIIiFqTTtpUuKx3/lq/jAK4G8CVbWshIUG72mBrF5ZXAuF32O/SOViUX+DdNv+1t1tb8CxmfuQm8cSuC+/3k+0x9DPXkcIvVyMXrmh3SIIYoCFnTiXMEIhlHreZQX7omVpxQrpzzziRK8qOz5d/1gwW6hPVsYs2oAcdXQXPZV92MOc3GBsSsD1xn7/SgLmEHhdWUGCOxgXoE15dmQSDClnJgzleLenzQNby8kak3fPnC/Q2H+bRKpgNaty2WFPpgR4/TyCTXr8aIuZ/Rna8KanO4Mi46+XHnTyJyeyqGdho9lS7jy1FYn5fe23cKmtaV5XF3i23vTgD6rUQil6jR20/sYDPR2/8hCmll/NOfNNkR7UgE0QX+qGddHDQdAsH5H91qeJLhqZKIhPitsfo4hjsyQrB+Jyz7yIiPgNagAFQ4AOoOAHIDgSuW8cN5AWb8XzEgAADeE3f5aDl6SBUtD+RkhKBNscjVhZVhZVhZVhZVhZVhZVhZVhZVhZVhZVhZVhZVhZVhZVhYTAAAAAAAAAAAAAAAAAAA="},4552:(e,s,i)=>{i.d(s,{I:()=>o,M:()=>l});var n=i(11504);const t={},r=n.createContext(t);function l(e){const s=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:l(e.components),n.createElement(r.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9f6545b7.e8e06654.js b/assets/js/9f6545b7.e8e06654.js deleted file mode 100644 index 605e5d7d6..000000000 --- a/assets/js/9f6545b7.e8e06654.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[62933],{3379:(e,s,i)=>{i.r(s),i.d(s,{assets:()=>A,contentTitle:()=>o,default:()=>h,frontMatter:()=>l,metadata:()=>d,toc:()=>a});var n=i(85893),t=i(11151),r=i(12987);const l={id:"basics",title:"Basics"},o=void 0,d={id:"basics",title:"Basics",description:"How to use it?",source:"@site/forms/basics.mdx",sourceDirName:".",slug:"/basics",permalink:"/forms/basics",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"basics",title:"Basics"},sidebar:"forms",previous:{title:"Welcome",permalink:"/forms/welcome"},next:{title:"Your first form",permalink:"/forms/first-form"}},A={},a=[{value:"How to use it?",id:"how-to-use-it",level:2},{value:"Terminogy",id:"terminogy",level:2},{value:"Forms listing",id:"forms-listing",level:2},{value:"Locations",id:"locations",level:3},{value:"Edit form",id:"edit-form",level:3},{value:"Trashed forms",id:"trashed-forms",level:3},{value:"Form settings",id:"form-settings",level:2},{value:"Global settings",id:"global-settings",level:2},{value:"Dashboard",id:"dashboard",level:3},{value:"Admin bar",id:"admin-bar",level:2},{value:"Form quick menu bar",id:"form-quick-menu-bar",level:2},{value:"Form picker block",id:"form-picker-block",level:2}];function c(e){const s={a:"a",code:"code",em:"em",h2:"h2",h3:"h3",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,t.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.h2,{id:"how-to-use-it",children:"How to use it?"}),"\n",(0,n.jsxs)(s.p,{children:["Eighshift Forms is a WordPress plugin that allows you to create forms in a visual way. It is based on the ",(0,n.jsx)(s.a,{href:"https://wordpress.org/gutenberg/",children:"Gutenberg editor"}),".\nAt this time, the plugin is not a part of the WordPress repository, so it needs to be installed manually."]}),"\n",(0,n.jsx)(s.p,{children:"To install it you should:"}),"\n",(0,n.jsxs)(s.ol,{children:["\n",(0,n.jsxs)(s.li,{children:["Open the Eightshift Forms ",(0,n.jsx)(s.a,{href:"https://github.com/infinum/eightshift-forms/releases",children:"GitHub repository"})," and find the latest release."]}),"\n",(0,n.jsxs)(s.li,{children:["In the latest release details, under ",(0,n.jsx)(s.em,{children:"Assets"}),", find the ",(0,n.jsx)(s.code,{children:"release.zip"})," file and download it to you project folder."]}),"\n",(0,n.jsxs)(s.li,{children:["After you unzip it it will be available in you WordPress admin under ",(0,n.jsx)(s.em,{children:"Plugins"})," section."]}),"\n",(0,n.jsx)(s.li,{children:"Activate the plugin"}),"\n"]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"GitHub screen",src:i(49997).Z+"",width:"1224",height:"517"})}),"\n",(0,n.jsx)(s.h2,{id:"terminogy",children:"Terminogy"}),"\n",(0,n.jsx)(s.p,{children:"We will use some terms in this documentation that you should be familiar with."}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Form"})," - a collection of fields that used to collect data from the user"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Field"})," - single data input element"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Form listing"})," - list of all created forms"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Locations"})," - list of places a form is used on the website"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Edit form"})," - allows editing a form"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Trashed forms"})," - list of forms that are marked as deleted (but not yet deleted permanently)"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Form settings"})," - settings for a specific form"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Global settings"})," - settings shared between all forms"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Admin bar"})," - a collection of buttons and indicators displayed on the top of the admin area"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Form quick menu bar"})," - menu with shortcut buttons for easy access to functions like editing the form or changing its settings, shown only when logged in"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Form picker block"})," - block that allows selecting a form that will be displayed on the frontend"]}),"\n"]}),"\n",(0,n.jsx)(s.h2,{id:"forms-listing",children:"Forms listing"}),"\n",(0,n.jsx)(s.p,{children:"This page lists all created forms, which can be used in pages, posts, etc.\nAlso, it contains multiple useful features to help manage the forms."}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"Form type filter - filter your listing page by the form type"}),"\n",(0,n.jsx)(s.li,{children:"Delete - delete one or more forms"}),"\n",(0,n.jsx)(s.li,{children:"Sync - sync one or more forms with the external integration and update the form fields"}),"\n",(0,n.jsx)(s.li,{children:"Duplicate - duplicate one or more forms"}),"\n",(0,n.jsx)(s.li,{children:"Trashed - see all the trashed forms"}),"\n",(0,n.jsx)(s.li,{children:"Create - add a form"}),"\n",(0,n.jsx)(s.li,{children:"Locations - see all the locations where a form is displayed"}),"\n",(0,n.jsx)(s.li,{children:"Setting - edit the form settings"}),"\n",(0,n.jsx)(s.li,{children:"Edit form - edit the form"}),"\n",(0,n.jsx)(s.li,{children:"Warnings - see all the warnings related to the form"}),"\n",(0,n.jsx)(s.li,{children:"Multi-language - see all the languages that are used on the form (if you using a multi-language plugin)"}),"\n"]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Forms listing screen",src:i(43769).Z+"",width:"1544",height:"784"})}),"\n",(0,n.jsx)(s.h3,{id:"locations",children:"Locations"}),"\n",(0,n.jsx)(s.p,{children:"Shows a list of all the places on the website that a selected form is used."}),"\n",(0,n.jsxs)(s.p,{children:["More details are available ",(0,n.jsx)(s.a,{href:"features/locations",children:"here"}),"."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Listing screen",src:i(76043).Z+"",width:"1310",height:"261"})}),"\n",(0,n.jsx)(s.h3,{id:"edit-form",children:"Edit form"}),"\n",(0,n.jsx)(s.p,{children:"Opens a Gutenberg editor where you can modify and configure the form fields within a form."}),"\n",(0,n.jsxs)(s.p,{children:["More details are available ",(0,n.jsx)(s.a,{href:"first-form",children:"here"}),"."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Edit screen",src:i(63357).Z+"",width:"1610",height:"885"})}),"\n",(0,n.jsx)(s.h3,{id:"trashed-forms",children:"Trashed forms"}),"\n",(0,n.jsx)(s.p,{children:"Trashed forms screen shows a list of forms that are marked as deleted.\nA form that is marked as deleted will not be shown in the frontend, nor in the list of forms in the Form picker."}),"\n",(0,n.jsx)(s.p,{children:"In the list of trashed forms, a form can be either restored or permanently deleted by clicking on the respective button."}),"\n",(0,n.jsx)(s.p,{children:'Please note that the "Permanently delete" action is not reversible!'}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Trashed screen",src:i(9391).Z+"",width:"1318",height:"437"})}),"\n",(0,n.jsx)(s.h2,{id:"form-settings",children:"Form settings"}),"\n",(0,n.jsx)(s.p,{children:"Every form has a settings page where its behaviour can be defined. The changes here will not affect other forms."}),"\n",(0,n.jsxs)(s.p,{children:["Access it by clicking on ",(0,n.jsx)(s.code,{children:"Settings"})," in the form listing page."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Settings screen",src:i(28881).Z+"",width:"912",height:"639"})}),"\n",(0,n.jsx)(s.h2,{id:"global-settings",children:"Global settings"}),"\n",(0,n.jsxs)(s.p,{children:["Global settings define settings that are shared between all forms. Access it by clicking on ",(0,n.jsx)(s.code,{children:"Global settings"})," in the main WordPress sidebar."]}),"\n",(0,n.jsx)(s.p,{children:"Note that in some cases specific form settings can override global settings, e.g. validation messages."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Global settings screen",src:i(34544).Z+"",width:"904",height:"540"})}),"\n",(0,n.jsx)(s.h3,{id:"dashboard",children:"Dashboard"}),"\n",(0,n.jsx)(s.p,{children:"The dashboards gives you an overview of the currently active features and enables activating and deactivating of them."}),"\n",(0,n.jsxs)(s.p,{children:["More details can be found ",(0,n.jsx)(s.a,{href:"features/dashboard",children:"here"}),"."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Dashboard screen",src:i(42423).Z+"",width:"611",height:"838"})}),"\n",(0,n.jsx)(s.h2,{id:"admin-bar",children:"Admin bar"}),"\n",(0,n.jsx)(s.p,{children:"Admin bar is a toolbar displayed on the top of the WordPress admin interface. It is shown only when logged in."}),"\n",(0,n.jsxs)(s.p,{children:["It contains various WordPress functionalities, as well as an ",(0,n.jsx)(s.em,{children:"Eightshift forms"})," menu, which contains shortcuts to the list of forms, current form settings, global settings, troubleshooting tools, etc."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Admin bar",src:i(26628).Z+"",width:"603",height:"472"})}),"\n",(0,n.jsx)(s.h2,{id:"form-quick-menu-bar",children:"Form quick menu bar"}),"\n",(0,n.jsx)(s.p,{children:"The quick menu bar allows easy access to form editing and form settings.\nIt is shown besides a form, in the frontend view, only when logged in."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Quick menu screen",src:i(10571).Z+"",width:"653",height:"437"})}),"\n",(0,n.jsx)(s.h2,{id:"form-picker-block",children:"Form picker block"}),"\n",(0,n.jsxs)(s.p,{children:["The ",(0,n.jsx)(s.code,{children:"Form picker"})," block allows choosing a form that will be shown on the frontend. It is available in the Gutenberg editor, under the ",(0,n.jsx)(s.code,{children:"Eighshift Forms"})," category."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Form picker screen",src:i(65661).Z+"",width:"474",height:"289"})}),"\n",(0,n.jsx)(r.nk,{type:"forms",video:"basics"})]})}function h(e={}){const{wrapper:s}={...(0,t.a)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},12987:(e,s,i)=>{i.d(s,{pE:()=>l,BY:()=>o,nk:()=>r});i(67294);const n=JSON.parse('{"forms":{"playlist":{"video":"https://www.youtube.com/playlist?list=PLFjp6yaGpZJvzqWGi3y9vZ3prra0h5Emx","label":"Eightshift Forms playlist"},"videos":{"intro":{"video":"3jPVuGjh488","label":"Introduction to Eightshift Forms"},"basics":{"video":"4BnTXHviZkI","label":"Getting familiar with Eightshift forms"},"firstForm":{"video":"qcsr7QGFmV4","label":"Step-by-step guide to creating your first form"},"integrations":{"video":"r2KEVIkNt04","label":"Integrating third-party services"},"integrationsSync":{"video":"JyfO328bq08","label":"Syncing your forms with third-party integrations"},"cache":{"video":"gX997f3fUcI","label":"Don\'t be afraid of caching"}}}}');var t=i(85893);function r(e){const{type:s,isPlaylist:i=!1,useTitle:r=!0,title:l="Tutorials",video:o,subtitlePrefix:d=""}=e;let A="",a="";i?(a=n[s].playlist.label,A=n[s].playlist.video):(a=n[s].videos[o].label,A=n[s].videos[o].video),d&&(a=d+" "+a);const c="https://www.youtube.com/embed/"+A;return(0,t.jsxs)(t.Fragment,{children:[r&&(0,t.jsx)("h2",{children:l}),a&&(0,t.jsx)("h3",{children:a}),(0,t.jsx)("iframe",{width:"560",height:"315",src:c,title:"YouTube video player",frameBorder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",allowFullScreen:!0})]})}function l(e){const{type:s}=e;return(0,t.jsx)(t.Fragment,{children:Object.keys(n[s].videos).map(((e,i)=>{const n=String(i+1).padStart(2,"0")+" - ";return(0,t.jsx)(r,{type:s,video:e,useTitle:0===i,subtitlePrefix:n},i)}))})}function o(e){const{type:s,label:i,link:r}=e;let l=null!=i?i:n[s].playlist.label,o=null!=r?r:n[s].playlist.video;return(0,t.jsx)(t.Fragment,{children:(0,t.jsx)("a",{href:o,target:"_blank",rel:"noopener noreferrer",children:l})})}},26628:(e,s,i)=>{i.d(s,{Z:()=>n});const n=i.p+"assets/images/admin-top-bar-3511760c0de09f012d8cc7a7ef98a74f.webp"},42423:(e,s,i)=>{i.d(s,{Z:()=>n});const n=i.p+"assets/images/dashboard-1219da14a41cb6fff3b761a1df4dc7ee.webp"},63357:(e,s,i)=>{i.d(s,{Z:()=>n});const n=i.p+"assets/images/editor-64a41124981b798b6435c59c56c3bae0.webp"},65661:(e,s,i)=>{i.d(s,{Z:()=>n});const n="data:image/webp;base64,UklGRi4WAABXRUJQVlA4ICIWAAAQbwCdASraASEBPjEYi0OiIaESumwYIAMEtLd+PkzvLBYAMD+mvv3A9xIisHXD+5vOfSbuOPMB+lH6c+955Ev+A66b1jPQA/QD1sP9//tf8P1sOqk+MP6F2O/1n8YfOX8V+Nfp35BcmKJH8a+r/2L+0ftf/e/ar+t+DPxD/fPUC/FP4h/WPzO/uPmAfkz4V8unqBen3yL/A/2P9qv8N5/37X+Rf7//In1T/yf5afQB/Cv4//b/zD/u///6MP6v/gv9J7gP8b/o3+V/un7q/5X///a7+7f6r+9f6H9nPat+Xf2j/X/5H/M/sR9g38e/nv+d/tX+W/+H+N////y+6n1x/sV/6vc//Xn/0C0rUQ4s78+1y1EOLO/PtctRDizvz7XLUQ4s78+1y0uQeIfFpeAoN1t4ViQx2nHIJZmrFFL3GAFnfn2uWohxZ6IX59rmEJKwgqQC2S4XUwN3TS8YDWJRGfbppUA8sa/BgjsoVs8UDdXLUQ5VYs78+9HhWL1sbnQ93SFOZ6Gmu9NC5D1YFh6eT9PqyQxuc68tLFQeDnkrSuj+d7q5aiHKrFnfn332vWVTrCil7i0q9WFFMCTLkG/KUGsOGoH8o6cvn5WBJX0xCqhUgD+IFbURzODzM/txVnFgExfa23xlKwXI9wg4WCfav+NNz4LrX/dZY8vZR4j40/tdjctRDi9CjskAnF+SOYH7mKzvOhZFM6R0yGSWcUqtV1RfuSHHb8s79AW07oXqrK5x5F6e44XqmVkXShOpZ7PY/7hlDGNvVo6jKi9NheAbPtctSLEEFaduU3de5t+QSYVO9MFkUzpFatF0wWRTOjlPoLNuluLO/QGFQlUAf/anAP09P1radfmyU8M0e0F+F3E4fHcusA1O3BdZpY4wMnjfRexhyelt1bobDFYd5nCTsYRuOK7m98P/sPkgA9xx6c4jFU+UHsMPP6MXezZ3NyD/hagSbCX1+J/uUsJ/n7QnhFm5ufDZk/yTFeBRaost8g8xSWhBaZbKilcOPFF4qGVuS73GCmMmglGP02osLnHygxb7hv8lwadu5oDUFSdF4FFOxyPTFL3Fnfn2z6uWohrxzrLt359rlqIcWd9mhX1XIcWd89uKSfyC2l4Cg3W3hWF7Xys1qCi8Cil7izvz7XLUQ4s78+1y1EOLO/PtctRDizvz7XLUQ4s78+1y1EOLO3AA/v/wysAAAAOqOjeSs3lj4h3fc2Af2R8/pxBKh1sC4jMj1MgbgAAAoQB2OEJ9NMSBGODfGL3VsEpsHFglpz+AAC1DAl324Y4qwOHAeLAujuPsmPbdfNzCuC9uFv2WBsoWxvR3wdgIj8MmUrqkGGwT965o/erEqLNI2f+MO03lDl05cX67/A8FEGIP8vO7kapI+c/FK/9i3YiEu2au2RIWL6e0dcJ10DvbBEJJv+dbR7JkL8QRJo1o2hbIc7XTYDt3dI5T2HmfaOKQGZaD9ZegG+IIcGSkh/Izp7R0sxif0QMzbUMPo9xmTHe2VWuq6/DR8koKzTDbDLv7g9Qa/Oawet1CP67n+yfq2BN3mxTY+N0Ce4FuqpF+Ajgdrd09PoyPtryFza8E1GD/oNk/kv2WLKc850SmRICRszRVgkZw1ROWj4oR3AApTCj9GeSbIbFpGbS/FnYemf+Fng/JW2Ihu4m+o2ttM8Xe1FP9ymzGB3Bmw8jECn4/njRJUqc2usnh8SDKrpcvy2zEoaJsIzk/idBIW83eSGeBRMRW10k2eI1f3SFtUn7udino3bLQBHAG004DcDO/sUJXH6GcIJD8lAAuhEbgyXN1y/uy6smP9bFgHLkgPxPdT/IrPCwuNWQHBJ84Advzs9GsfHkFFuVkSHtnYqgws+AcZQ+8e6s5NGW19MKpy+O1DNU/6i8qYignesyVdnQOMnbrk/nhXRFzZm+13o/+G2Qm+b6RklRjPaSK+lJKVCCCJpLkV62Yg7KyewwDwuBDnyVxY9DuzdDwOKNWSzhi4klpwbNS/Ao2GiwV3edfCWyrEWxmcoOv1lSoBOisJiAmD1+x57RqEl6wvqQ95qXSvqZptbRUP8oCJTdK80MKfSmedV/mqQ31r+2HyBdHqIWKCnljXl0MmYTzN07L1+sSsFNcZQlLgOvQ48MYdja7wtBUT8qADzdjLnxKz49rARZiJVGqY6Oqle6KdZQ6YawZAPdAXOgr7YPBaVNUJIh+Dh8IBdF/wk0Bm+nVWSg6bm3gJOJSaYdz2cRn63PqCXQsxLExbzXA8PW8UZmc6ognP//KNQD2tVZ0EAK4RsyJhjgjAgRbhVVmMV3iFKK8kBmbk415gjTjv2Tj05I3G2Jzwi5MYSTnVO3aY/yWOLB8+SMRQ0ksSd52C7TpQ/8xKQAXQGDyt6wc+pn6SphwDMAAAAeFem3Tli5WF21pPb7Qiq0+YXsHFKCdj0DPtUYmkPjKn3nJK9X9Ds/gcZ3+1lCfIgXz/s7Djg/DiR31LmeypKtduJPFujLs4vXwnxUOveIDM3qKlcfknz9rowUMZS9JZdyBMn/RZo4kLBQ3R6q5zpzBwaWpPcZI0ZVOUMAbtV09C2qlXmaRjwpAaT5FlNOZFtKuUb/1DP0h+m0SYYM/+Cx5agGspCpVHLl1z95iOfuHUQYugHLnWVMPwJaJM4wbEfU3wUuhmA0PFh//V0kgc4QNOQ6BalJeulLYS8Y6hfAeV5XOiVDBD9mNaIxi99pd28cBcd9QzcEew1pSQ9tH1AmroZLXt2NtiPqnfu5qjoNxW3rr0cUP4LYkCBN0Cec+gM2A99m9nSBBBuZaa6WOi3df9Rr0elkdtjtt/bEQxDZ/xdWPDIfHVdx60gM9PGtMNuru20Odc/qWVAarQTq0hFLQprX244QZ8rYrM1QGVwJ9Wau1MYa4QWAd4xjCEuWMlUiI1w7GKP5whgQJSD2A0cynYrwf5pEXVsRXifx63nBqbtq4rZQTB7yXFS6A0DRmgVJAhc7X9rh80SjX39/BX0p5diKz3wbeRfupKyezilw9G5hiB9VBk6YxoKcDq0PCvIoirTR62hepa7cJJmD5SqX89T7kdNNnmi2nrXqsQSKIEQyXwJHJQ25xIccIAYLvfLe5+9Xvc/yo02ujUS6FDDVgNn+XxOXIgm0ne1YMBP2Y6cSGU2g/lvPHhhf6lpYzvvsFDyTIeEz1eXv6PQY6mIdzoJn0akWdf7YDT/8r3SM9LHH3PzPPgtDObjRKlWLv72seCV4NvIv3UlZPxwsACuNlffxHzJV1Hj1edDz0pOhii6LeyZo7sujyjLhatHotod66tzRXuwtvdivRLAEq/10pI8yxdswYv73gVM4pLxwB5hMVajW3I1ABj0+WTjiYCpthJiu2QseNvM/GrvmqiuSIBsdmITeXe83x1SYWew5H8dsim76S+5uZlTtZ5z6Gb4rr/GcT/ZmgvlHy+jkOxTmEI09RmWJ0ZP/eONG3k10CbEBHh/nQyWIU7OImWaAxIr0qCUP82a3TsfIQI3/NEhNn1M7O+imb3d2+IbBPIWUF7gMcdKkdTym7tVZB7dZdeelCf4BFjfm2WiSacMh4N0Jjnq9QPGWNYCpPpZNZHw5JDgSkBC/kmV4tW5M/xSF8uKgnojZf/7Dw4ExUAifCiIZB/y8nAoRIB7z81TzMajFDhTxUcwaLsdf2CGGA2tZ5TbL0tMZw4u+Blb9v9DE5Rr0qMD5JrX2lNDoFmOnBU4V3b7fdCQYy+gxZJietBoOUyuwhVrTu1F+I3q56QAGOqIUIMhSE7Tz+ej2tds7g3nCCo46gIEjM1QI4yl2FMHzP3fXnwxjifuOuKuqwWg9PcyYB74xbSdPhQGOf9mtPvBu8049so3sld5bGwfvg736N48Zpv8pQ9PgNRiMfiRAZdP/Um0z6fdO7Jzc8vn9n70GVXOWz7fvDm48cAT+ws3Hjl0ind/l+iJ8XxuRuAmql3VkxGYQK7dSnTVakN+BwAOW40P11669deuvXXnKKC21MLSf0z+KoO14bKH/eNuXh4iS5rahn2zNYsTFpagWPg3/ZpsN+GrcPyL93IWC/sjjlJ90mEoFPrSm4exPge4hts67i4B45O5y5QViBXa2YrC+i8IiNYFWhALoEK1y6LztPf65DO4UE48yiXi/uDSBTIyM8RsE64AcaEO11dQG2RgQKlvXlPXeQ3UKEreMNum1984QZCKYv4ZPtkPnY/fI0o1wjjWlAICuvIlTmAc06KP7BFlE85xHLICAfGjP0GCyP9nyR7SJKpx6t8p1/hWnPrw4VeJGxBdkx7Bj6VC7JM1SV0X8BW9sM1RgeK3wbX4PC4d9hxBXG41iTY1fJYelebbnptUi0cY9ZTEx6RsoIMuYMA/lNxCzS4LnYHJSGL8S6NJXyoIsXaPk/6faZffw8tvur7LoxMpI8KcI5CzdJJJKfYEvRK7VDAuSM3eNH+cF0vqUlZI+HSnAAATCCFQpiUgDJlRyPDKAk4DLkmSFHfyZLcdYRc23NgQ5Oqs8NQlSoNd+OU05t/lwSDaLth6tY6vKmVrUhczjR2ldG8FvhUi1n1+C9QzScpYAToUZhkIE8baOw4UdpbSgwIzbJM2aKhuBljAzEus+CPcNuI3plR9ptqAD8sERJi6YKcPaZp96a7/kE1ePEYfjzT/DnQdf81teN46JI94dAZKyR+C/42VD//dXuWTM36U8oPA4/2RsrhcLhcLhcLhcB4pOjHa7eL8XlFqLLIGrqICJyjnjoWEZYoh5n+thTJSuCs4vxMhmIB1Wf+A9rXUfvmjUp8smr/5ANxaNcDXnNlwOyX/ucPGe3/Rq6EpRTgGPzI+5Ot3T3UYXevwwfR295dwx+ET44dw7n3uI6OmAaZ68qGW/ZN3Y3KqRvTvqB5Yo3BedbxUjFiD0t4/zALyzLOgnAPWxrRCyKpnuagqLu7mPsFMh7+5xWp6sHHMJ+Mkl7/7N3cbPPjLNv5dV/EamxEmM2A7ooHG2/3RQ5PWXsN7DhdEXTxsShbD9TJNPqikmwaOwOXsmZHj5Myi1OHO9SVtCkSVWvNz8ho1MHY14BMUgzG4Ul8mePwv0lpMrQFvoLD68fFl9HWpog7LcqIp7o+/jme2OFPx1MzJ7vuCIY8vBc7w+VqxG/5O7s+wiGKczdaqhgK0blGlIXUfzjqmel0jH833HxFw3PnuDDnm3V4S//KlY0KXo0EQGi11E/zXAlJ9gvxbsdaMQfM77digEsw6Kg7gxxGqbp+bcaENFFQMYpUYyfmfWzDhw8x5osU3Rbs8uLfuh22tsDHXNAScJ60tX9CyeS1hE6JZYAmzNELZ9p2kAjSQC7V4+wZ6EjNr+EYZXMgZOVUuLfR7AWfOoEVgYi0X4Ct71Z0FbYFecw2gQYivZb3TVtkgNwZf2ZbP2ixhkWuTnM+xmanG3Zm+PuOK6X1jGNNtdHimZcZ96ByLhjBrrnrmlQbPxnImlbepOODhSEFLFPqqhnWxxxIZRxA3Ng5MWsuo/+Lt30BLsvllfhz8cLBu05aUKfwGQgU2iDIpxAEc63HDIWmrnARkyXbNeEa6xN2PWH68lgHr5p3hLIVJIPsrF4LNgQQAXe29yj64iOnIqUhG3fM2BQ+/Giua7HbFwQCYuW3zzNQo52jPCsHjIEx/izTTKg5PhEHrUaqVdhwiSzIHKe5xTyprZJlXHvcklZc5EEixBCtfiP+/GJTPMSTlLfhY1nM8TLxJi1BFsDRXHHzBqPVVIZHztZtINX1foa+U4TmUinsftwnLN16WDzVTdMKBylzawUp5nu7vEh7nZWWn9MiVIF37GC4nD86PhsxVA3cpcvNKDdvpKC+evYTXh3SjTcZ6W8axQnCuChuUE7rz0beYRifJzVHb3g623p+ut838LVKx8WLTTUVfyJXIFF8eSvULNLSX1w3SsPHeN4u0IWdfl4E4YDUwBsIFHYl0W/Qr9GnoTt0P2LMuNxTv/p8nuWWAOxuk99vJeY67gyL8tYrR0Ra/O0iVfWsWz44Ct5379ku300Qx/2EqZubEc11tDyUye5rSjBlLjaLdzSBmUKCZTNG2K/jceJSk6GXqULMoBlMvUkHoZKH0yjlT9XWdm09/dcvvU+VnYwDqHvod4VzRjh48OgNQeKTIGmj0QPmArwJ9yfG9pd8Y/XTbsRUAxZGvcS2ACzOxD0/+8IlXEO7xTSgkW5LIi8k6yYHsbVmsuqJKfgoBa7VIf+LRHEUvrTQUYl6/Mn7QgNAUvO5bHI9GHh+6ySUXQtnCNCAs41y7VdVUy5IkPPL66rTSfOGUCG3JoVYsCiYwhJF/5dHmckmGJaz7OKeEa20vr6pKwMbSAwLaGfdurTMy61KjniSyOYl4S9Bl9YRI5uY5nCWqKgXrnOcmkm6+m/26gqPibcauDs6f59IQGzN8dqpAqLQ1NfRXrnczukGKLLTrth65ftBvPdRATFZE1IJ8f/qEm58Stw+9cSDT2M2sd6ZmP0z4amFC1Sztb5ACHWx5kxEmVWkg9auWQKNxry+8loD1gPE71uKywrS0+WKKZQD98mVCLrgG4GsINba8xfMUckO53iTG833U96AYluy+zOa7GJofpVfFtqBOUngSPPDcn22ys5Uss0Pp3eS5w5JPvo9Hp0ozZCpdfDVvvxGoryrIkp9vF+IPQvuNGOC2LWSvwNt/0JH/nJEwpAaRL/C+uxt0I3iVS6mvZBo2beLsIhfI2VbYH38Cy1ZM6LPQBkDops2O6pebrWrGzwSBLA5mQqdeH9OkTy9v/8TrwcITvJu7z+N7SLS47/rpjdkn4QWtk7ezeVzojQH/LZQh9GdXorGgWd3MvpqG7KQy+u1cM+NokZS2EDCmvpPRO1NK2WRqxIgnWwYcdqjw4EGJG8JIs+aD0iYccsZbXGsbZcUnhpRGkys86CQMdcefoiCtVN5k7KXoh4xiGx56EOWjJzQLIuAvvlNU+xTMKSGmuz6zbofX9LdEenSU1Hnw6EXdyHiAvnS/NX/FIzqtXWMDKhZ0WuzZJ15LG1Jtg6tZBU/zWvONJvZkyKt11mUf5Tb4sGNd6qcUMs3vIo/a+QLKdOn+FoNwhKSNRvi9uoaP5cKj1iZKswlkGcdDFsAhFHZxBTI9SlqT9Qy+fqdFnLAUFt69YF9exPXkZAoKhGtPC/TIOlWKp68Uh4M7hdMTGOhZ+dxKG5Fv+9fKH6eumsAoZxSc10iUwMH3EqhBue4Hcf8s5E+N6vNI3rO8RytqDTYHs5v8D1WNOuOUWpiWkorJIZYiDPblFJVqEAR7jA78SEsRSSeH9fyYtWylvap0hExIxohfeB0b8WSC9z8XCT4DnzG4e20Xmml5uLxsfJoQfjf23zK7iiXCL+Bb5w7/kvn88gjZV0RM6NwuXNqC+zhpEsrqqldTN5M4wWzMLHeSrs9IEmtPuxSH+RIqgCI50FP/55v6ttZOjoQ4NQDWR6rprnRPhEz6oRJdSbwiG+UDMfkAAAAAAAPxorzPrjm7BweowfttMeC+0kPutTehyRQ/O8n4V/TyFcnGPSVHcngHQAJgiKOuoelkAAAAAAAAAAAA=="},34544:(e,s,i)=>{i.d(s,{Z:()=>n});const n=i.p+"assets/images/global-settings-039aa41f97ddddb3df5ffbc2708e3819.webp"},43769:(e,s,i)=>{i.d(s,{Z:()=>n});const n=i.p+"assets/images/listing-0340a37bda4d4fc4ddfe9b84430f6085.webp"},76043:(e,s,i)=>{i.d(s,{Z:()=>n});const n="data:image/webp;base64,UklGRnolAABXRUJQVlA4IG4lAADQwwCdASoeBQUBPjEYi0QiIaEQWbxUIAMEtLdwu7CBoANpg77p2+eL+HlP8+v537kvmx+sHs+/AH959wD9Df69ugP4z/bf+j/Y/ek9AHoAfyT+w+qr/vPYz/jH8S9gD+H/x/0fP2C+DT9a//P/hfgD/ln9V/+HAAetv0u/nH5Ad7n9n/sn6zfvV6w/iHyH9J/IH+1/s78VP9H4Iea/Mv+GfVP65/f/2Z/uf7b/ff9T/x3gf7kv1v8oP7x8gv4t/Kv63/Xf2i/sP7uesZ2wdjP8b6gXpl8l/tf9n/xP+l/uHn3/o/ot+Mf0n/Pf0n9yf8B9gH8T/lf9g/rf7P/1f///8X6V/xPgw/Uf8J/svcB/kH81/x/9S/vn/C/u3//+z39x/1v9q/d7/If///5/DX8y/r/+y/yn+J/6f+g///4Cfx/+a/43+3/43/s/3b////P7rvXf+yn/v9yn9WP/T+f4PCw5MAN03lbmS66bytzJddN5W5kuum8rcyXXTeVuZLrpvK3Ml103VGRsMwF681mU7ZrDh7RGDOyWvVHd6GmB3bAkxpmpMqcNaGT9JcJHA4J3oMB6Z3IjxocMUWt9Ju7RydQBFMm7UBU/AW5W5kuum8rcyXXTeVuZLrpvK3Ml103lbmS75JpbqWk8SPX3W+CKT2LcMsWkxm+cTKkJwZ/S6km/ORu5425CaDw5J6HRnwT6oynyux6Km+3v20g9Sv47tHWcPW2aPL/oCJTALcrcyXXTeVuZLrpvK3Ml103lbmS66bzv91nNVuoSD1NG8fjCAFuVuZLrpvK3Ml103lbmS66bytzJddN5W5rPtJFOmI52E6tiiHyumMsxVlPAhyJDKKKYzH9s4qZucME3Ngh6T6ZbKi7xJ5lpYctmwUjRyJUitytzJddN5W5kuum8rcyXXTeVuZLrpvK3NZ9pIscqSoErATBPZgtADB0bR9B/MO+e+1vk7YYFjp34/vTkI4H+zwZ+cFdVpOdV2nJffpEYfsfDpZ+mAW5W5kuum8rcyXXTeVuZLrpvK3Ml103lbms+KGVk+HUolCUhQhqbL8lFd6Mes32haZfDnrOQy02X5KK70Y9ZwEWky+HPWchlpsvyUV3ox6zgItJl8Oes5DLTZfkoru+t5Tm1Mli/5BHrIQCJvgwaBd7NXzUpn++KPuuqQkpSYsHARa6M1lhQKoOZzaidAS+XhQYsxzhZ9qg5D/xWZ6zxTolSK3K3Ml103lbmS66bytzJddN5W5kghmCph0pyysqAdKbhCiTEIAoljafwEiBqkOJeI1eKCVO4JrqoXYlf7pqbKkgl/VyXHCWunbKH3cmBStBYoV8/lRUNgwevCLqvwG8PJw1F3r6Rs5Cs5uVRmq8itytzJddN5W5kuum8rcyXXTeVuZLqIYtJdVhVn8i/ti/H4ITP9PYph2KrxACSkRlKiyASU+8ZQzlK1xtgqyI80ZrdSQc4DiKClU+Mb0N3AFSS70Y9ZwEWUC+HPWchlpsvyUV3ox6zgItJl8Oes5DLTZfkorvRj1nARaTL4c9ZyGWmy/JRQGjCu5FYxl/lV809rQm0Cb8K42i+QojPjEXrse3KSLkNP93MoJERkDhD2HgAe1T+820niwrTdbxnLGB8mTVykWIFwmOvYWF10vR1xAyK188Y3X/SdWLW+ZLrpvK3Ml103lbmS66bytzJddN5W5kuum8rcyovl0txl3BsGX949HCkeQr9uFYHAuQAtytzJddN5W5kuum8rcyXXTeVuZLrpvK3Ml11vrFz9PAiUwC3K3Ml103lbmS66bytzJddN5W5kuum8rcyXXTeVyAfsE86x+0ej5F+zEX/WkQe7I2aro46ieCrbLnpbtEN79YzwQQ6Mnj8hiVIrcrcyXXTeVuZLrpvK3Ml103lbmS66bytzJddb6xcTjbfMcvnVioTGJouD08rbnc4/0CAFZ5GigFxOlybzJddN5W5kuum8rcyXXTeVuZLrpvK3Ml103lbmS75JtBUICr+9CWJzJddN5W5kuum8rcyXXTeVuZLrpvK3Ml103lbmVF8zYQAtytzJddN5W5kuum8rcyXXTeVuZLrpvK3Ml103lbmS663dAAA/vUzUt+LArgMb+eIAAAAAHuqZtbLj+uCSwBLE64wOqAxd9lZ6pZOidjviY/nSTSUOQsIhMP0M4WNVqvEWRLSeUAIEdou340/CKD3e57Ydk26X7vabFpMLK9zA2Jab0p7bXAKL03PnDcEAu7PmMgDVAZzd5x2e57R5fPyXTxWb+18GFv+fhRWVfU92I3Qbbx0hkVLuGinDTv5vhDKBl4DYjCZTHcK5g4AOGDM/XOyV4ZlcMDh4IaSvoXY7aZ/zjHat1qxf4JsRRkiZ1OIzN0qMBsRltDkzq1i/5T+2cOljB61dSYn5htJwvyZv73wVhevTp7yFw6ceWfgw/3gXQX4volJ8E6bSba9LSh0mj48/Q0Y9ZeCVJggQk0XdB+/n0pBtPWPH1Gg2yg6YDvYEDhN85pWVaa6+wbRn5yGimsnpvSuBfkeHcmRgBmjwbYVPWfLsXnhndiryCYPUXmUttJNSy46wcAHRWNHQVLZIvwTRvVGlvGutvcFj2y+eM1H5NZS9PuRe6xKTwsgHjhUBlGDXUEPlmSuBZXicc6c97ltz+U4b03iqBC1DywnjdjWEntEq4+y7sv6Y2ZS6zu7P1TRMcRP7n7Ys4SARVKXdgub9ByAMqJVQPhDJbMCqsCHDf2VI+XPRH4zo2G6SlD4k5DZ1oB7LzXwAz22lQDhZnRYzTR7gxLYQ3Yygwon6qZ7M5/9m9kCymR1u8ZrR5LKzmnl8E7xwGzcFm2OdY4JDiN81EMXd1mMmAbqu8jKtRpll6qVmrTcdulNyF1g6HSQaDpHEJprRumfZXXl+eOUJG7OBKKDj7pkJH0sWN7q8N5yj7iEwwWlI0/IFgxRGq6jU24qap3HS93Jh2df+/ALs0JRx6zlCpdoWV58ifsNIYn2UnecX7u0NFFb6Ugqo17e9eymG5twGqE4UV1s2PgceHxYUgQ9w5CcnJPXE10kpEBf6lzib9Md/9WTWT5XnHZ7jFOLQHFhJY/rfxYr0mxt9E1Ktllvo8I7Fx1rGUv6271fTPC//galusws0mTfsWtBNUNTbPd4KqNfB0gqIa0wkjqkmn/oQQEr3hQKNVSMvh4NNzlVdmKXyF1VhA3nkW0MMr14/gSdk1AupWhcKOTCixMVvSv6uMgUAAABT/qjfyvhpJL9ktyC6j8gLcBunS3JABeWDNgbe3DsX0R/yjH5PjBKALBgeIEsWd0ls6pkiTER4L1wNxA88XJpJ96X/0HixiFX39tzgOXBEnRx6A8a/FU0eejgH4AbGADjV53BBi13luLY7+il8ZMbVDW8oYBR8mXYqySfoRD2Nr7txDyGNxq1aOCt65SPJuCRjG6U08yv5uAXX1nUO2XLpRBV5qq018YVNQngHUA+ubrpiUT8V8ANtqESKvWNCFtspsYlIR3UvHsSCZ/1QMAyIjeppM7UR5YUORtm1a4hfzDemFHles0Nj8nI4algg6hBsfbIbauAjp9uH6U9mYSJ/2Gn7HM+buGyRcyYhFgVCyfMEcxjuvAacBCD1VsryGpTQW3oevcnEtZ1b4axLvvh8AQRgMojA2fZsGaEJss4vRt/248Z9HqhQrhkk4Oat/tm17/J/tsrr1b8uLciJtMDuyflv1iXWHlIB3x+l+YIKlgn7HB4ocZcm7mF/wQk7/JR4qR4yCA/9DQhD/RRy3moASk0tT0SK4WhC4RONEYXKz7cP0p7MvyK8Y2A6sYjAakzZnHYYNnhdzed12iVWGlaMHOmUbns3Rp3LTAabN5U0fIIzQYMcqfwFqkD6o8DizocxTzRKwWtxyqeypEn5M1BkgAJ3Y2QekWzTlR15M6uOoFeHNcoW8hi6tWG23kEn3h0lt0FyhKMjM1TBO1zxN4yczhmjDmMDP3XDwiJ6P2ESgAAAAR/pJ5v1uc2W9iP75gSA57IAAAAAAI8/PGufr+WDwqnJW8MnhMOo3zUgSq+2h/h1TZWhdKagxxpqVxapx4CNFbobEwYUxMKwmeZPv5RnmXDAwMG2Bg5lE0v14QirB9bSeORifdDVAXwO7uZcR+8X1fzmB4zzEAphlfKAKtzkTKwI7EIEZQfJIMzkPNLdf5EIdikzt1zeCKb0ZxThsK5Yu64CXY+oePxKZNMZIhtc78ddvSJ9fNFykr1CxWWysLL8bkQDgAV+lGhf8fKxGsdbTCO5GrfLpKcgL56Z+rfEGojVhOfeGwron7ISNBd2LkkP6l2YP5saq3ad4cwX07aAaFIqr0iv0IjNNTrNWVRN8tXuLMPRWJ5t3Zu582U6omQRYZZUu6KhYeWIWtnYuUDGtxsgsZkWWRVr6W9blPDyrC67PVAbz/2Pd3Ube+rLWkf1KluhwpstL9BD/StUsA4J92hbtKZtm25QFgCI6dRBrNHbNeeEY0Ptc3b2Cb4Nykr6DgDd7VHkwTul0DC8JrdB5hQ2QdnYNRltiunuB0dJzw1ASLSYOW/sTbXvm3+XjZjLSfUuN+KP92A3rW9FuVIO6T39VWNxe47HciI5fwosQd8pO7ikAqX7Edxf7vhJrq3vRXJBDgjT1aOoci4Ub1bSj2KZmWW2KkON5MNRtgxgDDSDes/imAFCll5UnGE7o/t7XmYRW+9yHBSS44JNlL6oLeJbDm6n741FZXPlRzjQ+ID0Ulvrgu/uesjM6gbg41PzsQzyVtxvQqdG/8piJbexNCC5HfyVU7oJTX8yd8/g+Cpmd0OpL0c+Id48Lj5UoE7wGp93Ql8g6oraWxKeCYWhpamP3oBqEAAAASnSC2c/X8sHhVOSt4ZPCYdRvmpAlV9tD/Dql0/HZZvYzcxDfFJx/H+xXlg+8x9tg7eZrpvpF/ktLi5/nqwu8whpogzDqGha20RwGjwQNVaTghX5+d7j+LqXc+fmT6VxZITT2tJWc393I16eaEFbRqyAPkqHDvGHd3fU9mpcUshOeJsoXJZoYS5FSqZRC69jhgKJ3X/Y9qng6upawsRw+MEhBFMqio6Zd4rYbGL64AnbPGD1gEWBd6YIvR9pTTjtu5aJbmHsnU72+Ux1iuTbwMGrWpG4z5tlS7W65LYk+fp+Oow3DgK+eY36p0R53xUxVQ6gfJRgGpVHtDj6EHRQm84/E4T9TQQwOKTUTTLbw0CvFYiLOMNxrVgKpQSjytVbHi3agh+TKYnqsikS/3ha/rSSvaeMxj7Kb9ray7A/FWUiqt6/yFikrMwmd6wTU/BjOKIX83pHAwUYhzySgqsQemArPVzGw5pJAl5JuWbVgiuFzc+W6uP2+2Wx9zCZJFDS10YlmcsWXlvsKJy4FBOzflrMTBYAkEq+35h7X6ycWuC03RCyRQPlRmAlnfFnX9W+u/rw+dbAAAABlluqQjU/aIsNU5K3hiwAAAAAAKW4zWPjuzIRc48DR1fqxvFQGZYXJUWzk0xyYy1io8ZtezGYdtVRqUbp4isSNUXyJOwhIWsSEGc5gdpo/F7csqG1kbGY2X7AeaLUogG9PjQniYt+FpQqK+vCkW/7SKTRdASx/XTrsMeQZpm/eJ1M8J/DSPlu01tdSk6PxMF0EEHW+uT3/vkgJ3RZBSWQMK9OKLXcaGhFfwOrGNLgDmVc3Ov3R14JOn3jCFgr2M2wsgvnXG/Ptix/mD6XrWfTnZ65A5S8H5reXr0Ba2jyAioLXhQim+OBgUrmB8p7+rZ2y7Inm02XR7bCk5aX6cEvghpbhwXPGRmhoUdBu2h4WCupI6c3gQ9B5YTkddt8/5FLSCUUgW29TqP/umFdfvj/mPr6yPJJAqZ/lHmCL+c8u2PtDvW+7ngVEtxHgTe0Eww+voC4gE0LEVJHUGDKYFNQ7KG14Of9mkE23ixiJMkhDuJkGZfKidwf7xBSvTP6kFDRNELrYrjZAAdP/nc+oodR7y5vcIUR9rulHTmd5sTyWt2sHHPU+ugCGMyS2VvP1jdKfpEcKZr1Y3kg/aTb8V+5ToOgDqNRaR0auZbjZXi7jKeOqoRfrjqQPbFAaNMuNy/EdHg+6aPjS/lyK5eFaVzHKrw6AndhTuqJ7dlcshJqpYsBaQLrGEsa8FeykM6NuFj+pg7BwBodbA9VY5rWhj3DFNhpFV5+IhkUvh3waRqJhbqQJdbCiXUorYPO7Z3qKzsH9G6O5huEMOFfRIbdwKIUwKVmutitexTydwH6vkEtzuhk0VJEhj9lBZ67vNDA7NZvccvjNZGCNErl47pMNa66/FqGFqy6JX8nihlEPZJqAHMrm1G3mokwK+EoAIj8w2V+4UbPOPqZrbrF7csRPiQrKBmv3SBAceqN6t9D4zcPrrWCfbDSaPHFNezt3fnUkLfTS6X4lGxS7/GPeeV3CoXuRIKD0JxPXK/vsTKwO9nBdF+rXxFWmNziSvxFbw+mYFEvWrbk1za4o/dy/wru+McCwNmPUw6Qs7QKzEm1zZlhNnG1ftuSY9rLmx7ANdEtAEaMrLCes0pKNBA+CiBAgtfbXvT+/7cc+ze6gCxs3hA11ai7r+b+MkZTpqELbzpYjYPhFHF1VsTypAQthJX+hu/z1+Nes2KJrCoJnVTj8HLF0QdL4hSOZInoyuzN/ogRajXyIMG6ruh9zzjt9KII9QO+ZvLAAAAAIFEn2O58rbjh/0+LIZ/w6Kh36WJmOIw5tZXcMqecHDXR4niRq5qixTVfAVjMYmmX+WOd2qy9NL20nDQaWwHbjbPAnnP3P+GIRlAqmOO+pWN4iYw2+t6mdDhf+Mw7/fkvIZWNcqaIok16+cV7mxrtFHfzTP3ImTiEf4vf+GFmbxgz/1gjn5DHpfDIywa3L2VnVZF426OHDdbGWL1bK8ExhaBuhf5+GgOaEl/Ac1/iqzWbgDMB8ZbZTnQNJCHn/9XG/07HlBOxdFu6aXe+t4kGaUuo9X7GJdE7iiiY/F3wNYOqTfe+YNLtaM4f2MyB5VrV/XFNFrRpn/UrhsrLNLPtKny/yNpg4zAipDKNoT6pU4pw41l01EW3KgnfxQha/I/XX2E5NfX1kIfAqPFtH7q3vmSOQyq44ZteIZJhMUi5jumAfgh/q6crjiQkN3Fr4YhTQfAcJtV12hWmnzScfZV7WM6gYa4ZzHAZMf0rxf/3pQpV0HPkEXb1+KmmS0pw88X8GSf+1+n8C7gcvbe7N3R2AOuDRKpYxKpQJOqme57IF1HPufvGy4hpip3w9+Yn7CepvdkptKl00CM57YPcxLKmdWC/wiJ9vhdksKP4xjXLx761dEeZVZ+hiT3oCDg//vBbWu/24hAZd+nYEc0omc0ef9H0cOwGZACsAFX20oyzyfsfCgZDvEU0icfMmHv2jwPeIZnypw9U3I7BnSJOijOJJeuHmbdpzVpmdUfpsKrk5jUhFGIIBMBRFRueyj+jBjzUQ4ywl+E+CPHNqqLmMgd90zlboqBaY0av2Cy78N7PapcpvUVj3sfwEYAdb391v0G+1fKq0W1OcoBe9xTPwtqa8VJW8nUrD4i9TtOVeLAf0zxXlerKcAL2J9MjhDEE3lGdO/ldafuyeErS/Seoh1eOVMN4isp1H8M/+V8TA4eVdWGiZUMEGa/Co6mWgz1vEP7/iryRiXvUvEkeJmX0OY1mMYgM3DEJHP0ZCQirZlOZ8S78gd4dK2xGyU47E8R1nIcPaOr5jcqjCp4PQv8TScZXOyRMp83S7v2TkP/Alc4FM9cAFqNW0fureg+HNwXnch/61hkpWmIaJNFD5+XV4fplqHCPgh/7F41wdqiwDxQHSGnwgRw0Z5W4oPrrMEdZmNtAlo16Klb3UztYMMsekRdfNSpugcI/2mNhHI213vYx1+YRMWxxZuE/QyjhXWNdgVlOqilfFk3QQ33i4ZNgVOJwciyHAfq66mqRv06KpMmDe626qmNWSdPsvyUjMDB+hsMl8uk3wF2LmDCo1rMnCiRI0/XQQVSLikWnpORx6GBntUC11pnTdYZqDf1y59D+XuIYCzSAobWPJLOQQvnYUhSBXDL/zCsSzVdKuAbnxefbansbVwnBXVtIQbiXckIZ5Zp3WtqnueLqQgw/4fUGkAh9eK7t5xEtSxNpoj+CtMyB0sEltz5hkWQ66JZ43A9281XlBSC7ROI4Qmm7+ua5T9bbkYD4vEs6518r60slYnXLUMf5uyOcoY4Ck7fJrRfPmRSwXYQ/qwsmNbT97+BlDvRtNxP1jXCeAOnpxZ2nXtPx7Rq4u8mzXUnWoKzcg3bpTuAwGxP6TkAvrfuvNNvSmX91dgUrmdHPD2nMGv4LJzYIYnjEWGaa3gDrjhLIoOQdhEBP1fAtU67Z43gMdcqzpPMtgP1ddOJI7YVt6vzoGsy+sryxVKZI2wUUrW5HwLIHIDuygoVItNmK5YrdWdfdiU8np9pqP0gdHO5enOv73+d99f8iewGOdc45VB94gTNhuR2cVc3QOAumAAAAKB+ihvodx02o3ydBGLvH/jWXN4CnyfOXDX4HRnnBOSqT8Fhtww+nBsDh5+MsvMvE0Z7vtaWPKXKWzVN7/Wuk3mcDnDdAbt6/swbMhoCQZ7AQ/XnmueCrEsn/oaidlqtD1wC2PE+4Jl1s782XaYFKnsnai8CWGRVFDiepqwbJW3LZ9j+9+RBK62P0TTpka34SQJe8wfse0QfLoSpq+nqkFXbwCRi6AKj7SamLWFg0GS4ULR+7o1NTC+GBMnNVaamOhitnkUcQMubob8psgyrBxSQvrgT/brRRPEja9T3ZGIP4sL4Sx9lFAv3e74m7cDFQimf55LVwP6NMl4ETF+O+DD3UJoV8gIF22NyneQE/aQrAyy/GzH0TBlGP0vqbDQmFTimssj4MInZwQ1MmQ0ScrGL0hsC1w1OG5PIf5Y2tE8WybxMy+3K/+vsKWch2AbUFzaaAPXTYNnPO98Vzv9FpkJ9aH4Y/TqaXHwIZXsNfi3HtaUHoUNgYA38PxBmSmiEoz03PM1N+GpqIInEQkY3D5FdHSC16AR1mGjq67PbAO9jzlYpn9+IT1jxEDAS+buUZK7G3p4ZF2c98b04Yj5S6ahvDxXhIiPeGZY3jPwe7sgk0bzEokhrcnH+YSAzhLf1Jl4YD3nCe8xW+PDngkd5M/bf5QCA7YOIgaTeRhyECKwoX2r12WZYJEdh++q33/5E1C/pttxw7MoixYCxBrfK651GWjJduHlixq7pXAWfkP3PeMqT71sR5CNSC8C4AwcihZfeaKPAYXvlTJNuOnE3ZSleCn/OjyLGYtqgrF6CX+CdVLFvYWgNhFnKZSNYGdOsoOBSVIp/CCroWroCctvNb7gH6P+mVSlByqOVsm8GDHD8LRGO7pjq2dL5j527+u/p0KdsFXoaqtyJ6NToXHobr4lM6eT7YIeP8jtz2UIFV7w1Rfx1z/lgstXNk7wT1VFgzz33TzWnkVAnX1Rnff/VT2gMC6A+RFoy6NjinQBhLQGRMSRW+fI37JUO/Sh8deWR9nNJPkFpLHc8/O5oNAoXj4ULZYF0rRQtlgXStFC2WBdK0ULZYF0rRQtlgXStFC2WBdK0ULZYF0rRQtlgXStFC2WBdK0ULZYF0rRQtlgXStFC2WBdK0ULZYF0rRQtlgXStFC2WBdK0ULZYF0rRQtlgXStFCxUXcyRdiCq+WlGkLcvEijFOzYF0IRAEwHqTYQzaJ5wAOg80UWMicdZ/PDoTNIzh1umyFj7PApTzjs9z2jy+fkunf+crd8UTUzo/xZi27iEFd5WtBjpDIqXcNGD0/v5vhDKBl2fQus7jrEiMbLqMFOTK5BmHqDGVLSr6wMzB/6vyFSjeRXXR9dREXSL9KDLhP03JAcaORZY1G/07dGkVuf/6QKcf3pS8Fg2yhG8EAmIJ+Vcm1+vKEnOD8WeRz6YToN+T5N7Dr/v5QnqMIu2sNySmYTTLUUpxhGmGN7VQYCHOSakNmRko5eYCbhOg0XM5h3kYDET3GHDrFMoubrYIbEH7/Idc4VBuW5fUiHqg1yqjo0vFar0Rh81dL2DBohp8mGpHkdN8GfhgZ4QWCtOobvPNJclygPk0Sb+HJODGHfOwqlfWf0kEN3Ogmlt5WCTJoR7sFsKWNJjIs+tFspgwzxZRYuGTnm3VhtWlo4XcIdvPHAPSKmMZHHqUnLRZeP+AEnXWlylkI+m40kLTqsw28AOTV4evtY6hGiKpeHYl4QU0dwlzuze9s13ZIkGfoYc/ivE+OvAZfHAh8h0UvUhKLHyJwiwO+R5WESobgcjHScwMpIPvQU/xerFoRiRV22jTPOVB7ppjuNgd6e8lz4IlkYaomv3xcBbWjT+GUIQd2qLmt6V5b2Y0W7qZ44UH2tdBao5so6Gr+o3oU9J8gnn9OtZF4IKWvUCGXMERTrfdvWvJ8S1qFMd+z7tQoO/RPQrF0IpmWK/V5htbV+qz8xAUDBr+np21DZjwYYrHhFttvsvzIMDEyAhIJ8U8Ge8Hd7/9xwflSSqrqEd8shE0ffbrw9PTeuG46KBJ2x1xzp0TF88Kf1z4cvSZmiRg58damhR+cfUiSWiGkrnQBo+JsbJ8eJbC/v/HW/WvSi9gIY+A5OM6pBjahayds82xkVc2l8/xCQAJdkR6UrvPfzY8PFJRCQ6JPrGKj//zp3ABeZ8cjs4fQ9MFfax5UQoCNoXk4Y9eX/d1BgfnXcwVhxM8p1KXvY7RUCWqRmgheFmNKJ7PEB2f4IXLJYVoCWrS4NIgB8LxtAjM5WrG3zux+aw8Tr/gtYEsPo+5uJBR2Tzs67mvOkGyU0IsItnWN2O8R7V57Blgbsa2vIscIrHzqk4jxlq7Xi3IFHXha85ouiEJZj4N3Sv8Pv5KcDXbEIigYXqzelUYsoTjPe/hQQWdiivC2dcq/NVPiVLOZ/VFrjmf8W3Rg7/Fe3XZrtxVzRiE2HDq2socyRazzcQeygzHgKJKMkw0EKQ8lIW+44hdQ0Trt0SWR3WaayUbRbf24tl/uYhrO6r6El5n7zwER+uHi6LWFsIPZjILHREuoTWSkcvrulLE0uzqQ8+6ySsPRXIp0JCffZAam5AAeQhDI1Zif+wp7zd3FToC3BZtZIKxF3vIMwIlmVe2rGOlKZ+OW6hCJU3ogw/KE2GHHkZnJ0fjE87IK5LpNDMCTqPV4jqQkNU5HV4OSYVoOVCdxFY4khWd/EMd/0TM39yYMDFCUFHfOHGAAAABCflfDSSX7JbkF1H5AW4DclwA4r6bYmtSJ2gcn1adhHt4GNslrmCRSRegOlhZpLISkOwMTj4sqn0NdIiOhl8bEePvayHcgw+bGaxWwGuKC4zPWnXwUPiv6YAAAAAAAAAivSTzfrc5st7Ef3zAkBz3kscijOp6pwqsBfzwNKwAAAAACPPzxrn6/lg8KpyVvDJ4TDqN81IEqvtof4dU29YDwUk0huGS1uOscC5BY2cnBo280dxmBf1rKUE0hL2zQyo1o+ragt7pXfP26almjVZVuO/ighLOu5kg4814PtwICPkXdC8r3atX/qNRd+hmoquP9UHOp+sZ5MB6TXFedh6m4zQbmv7XhOYuVp8c409VoAbdZujG5VOO6IBmc8V0cBxVA4lTiRBrzU6L/Ulywn+5mKsaL2pVxANyNisSAv+PR1nbnCxJ4qrALr2SqLM8GnJpPHssoudVyzDkDIeGO4bAREJBcuz+iBaCxN0+GFWcfJa2omUGR4m90C0H+oiIrIzGMDA1x8+slQd14h/Uj3DOrtdud9MHGWVdGM4hDmF77DounVQQSyTMcvEoOM0dezQxPky1QdCNAG6iVbAp6nBo6YP11ORcUFVIlj+4vtqMBBQiH0vzwbRdGvpDN92ARbD5aNu5tvQQ3X4BXqdPyMdKK4UfWEqu0ISPG3PQPeQWqxG+Ozg23KNBeVM6/+E5KNKUWV499919ChG+wKneoqR1YnaqAdNb/tHg1JhnkEF3a4SnLOAl86Cj5wu5m/VXHB9IBvUqgyDzvBzTWNs5GvvpPIRPt4kCQcW/pxRnSLKnUGPP1yCPGb7T+YJx23u2LfSjImb56hTWcyk4SdzU27bYG4YVae8dbLRrxa1WdfROYna7pEL7VAPzN4Limt0qsDJTD6ElAjg9XksDeuIb+rssLZAxR8bsSmBJDvTu8EDnPpAz8yPRRmD2xNYxwxaXssmWPFmEnQ0GdTsvvnFRrh6Xwe6w/5xHGThL6IsL229xuFvOJq+ez9j/7FOH/9IvvjtHo7HejoJBnbhUPgAAAAZpjVOSt4ZPCYdRvmpAlV9tD/DqmoXw6jfNSAxT2BIKSfWAaVL+TZwwlIbGeApkUsz3dAQTOXfviL/F2mDqAgrkjHY9HGhnIgGu8euaGr4gVWrqLpw+tm52OGihPLPCQlXkpWkQqtQRWniobrBHdgJmoepkzwitVNlq/U+rnRrsri1RnQForcKNXRAtVaLyYlco7WjczAnG0M8kF5I303FRW2wZVA1vz11sam+PpvFK5V1Cy/b+6jg40eTYiQLDQfUKWy3VOhnevzb5XBwvrj6E7/QIBjiSNvmwGQkrWcEZW97ieDNeymUZeTRBwjQTAHa+5zqutjFURLmYS75c6Ju5pyJW2Pn8TaAes/z4U3p4mrzt/IA5C9xQ1I5cBEoHQfckNTGwsfNiObqCqqgl6ArGpl7mZSkdNqpCgLomBXeYZipJPNEUrkhT4QpCSM99pGEXcSq/iNewPyzAKvYbG9ZAAAAAM0xqnJW8MnhMOo3zUgFiIAAAAAAAAAAAAAAAAA="},10571:(e,s,i)=>{i.d(s,{Z:()=>n});const n="data:image/webp;base64,UklGRg4WAABXRUJQVlA4IAIWAACQngCdASqNArUBPjEYikQiIYhcFh4QAYJZ27npy4tyABlQy02S1x/kJxEuofni9+5ffMx+y/rH7Sf1X5z/7f1Z/cr7gH6Mf6TqUf1v/peoD+If1j/j/5f3sv9f/oP7N7rP7V+xXuAf2P+vdZb6AH64+ml+1Xwrf3H/YfsR8Cf6//9H8/9mr8af3Hs8/v34++c/gl8A+wXHH6N/znob/JfsN90/tP7J/l98Gf3nwj+M/7v+QHwBeof7n+UH5VcfiAD8a/n/+G/MT8wPXd/jPQv66/4z8SfoA/jv8+/x/5kcyn5t9AH2BfyT+zf772YP3P/lf4P/Jf+D/T+1D80/v/+8/zP7h/v/+BH8t/on+g/vf7l/4v///+T7n/Xt+5Xsd/sYFIwf/QEZdPGIpAes/f9u5tuTSeF6+x/X2N7UWKjimoI/lltHEbcunfKc70nYF04hlObl47eWg/9ARl08blToZ44pgv+91JGe/eHlRJl2wu/mBsMc2zQtnIoCABL0ZJtm7MLcuU1DIgUXW0NMjWhvBhOFyEE0EpxBBCihhkes3megIy6eNypzDASkJx8hBHwjUjtHZ2szEFGwa8INIKGTqrLWcsusMFIpa+ZWljPIQ7SQdHqryWDKxYi+5dVjYGJ1ol8zv3Uusv+p1uZH04ai/RXJLRTAH/0BGQL2aeIq1VWFl+x/Xu36+x/WzXkE+AwCJ5l4Z2H8l0kn8UX/vHt6Trc4Qc8kuxrDy85VuCSiu9GPWcBFpJEbz1nARaTL4c9ZwEWizA1jCAy3y+92feLMqOlnUT+HTAH/0BGXTxuVgjLp43JeGgcd/yVcKpIQKGqEkRDykbYKuAi0mXw56zgItJl8Oes4CLSZfDnrOAi0mOK1iYEG6x0EwUVjf/mlgRMYDE9ARl08blYIy6eNysEZdOTmUHgu2qRIBX1awSET/6AjLp43KwRl08blYIzC4q7I6bibPjFbGf76HO+xJqWjxzgDgdiGpsvyUF3QhqbL8lBd0Iamy/JQXdCGpsvYvrpy2tsWktsVP/oCMunjcrBGXTxuVgjLqIXrjIvbJit/mtlLw3zhUTgsQTJLvRj1nARaTL4c9ZwEWky+HPWcBFpMvhz1akP2jiXCEVgCFnBQytmeN0/vP0tGTCAD/6AjLp43KwRl08blX4PYLyOXyzK1KnYiMunjcrBGXTxuVgjLp43KwRmQLVbf502X5KC7oQ1Nl+Sgu6ENTZfkoLuhDU2X5KC7oQu5XtKZNPqV88blYIy6eNysEZdPG5WCMunjaWselJl8Oes4CLSZfDnrOAi0mXw56zgItJl8Oes4CJzMS/ftwq8gtc5BLxACVz3t15Ba5yCXiAErnvbmSmg9Bs29NimAP/oCMunjcrBGXTxuVgjMgWmxGcItJl8Oes4CLSZfDnrOAi0mXw56zgItJl8Oes2DgU/NDVasfnoCMunjcrBGXTxuVgjLp43KwRl08blYIy6eNysEZdPG5WCMuneWoTucBFpMvhz1nARaTL4c9ZwEWky+HPWcBFpMvhz1XX41w/L4IwIBGXTxuVgjLp43KwRl08blT0j8Jzz6lARl08blYIy6eNysEZdPG5VO8/Ehn64pTahrL4c9ZwEWky+HPWcBFpMvhz1nARaTL4c9ZwEWiECayfW8blYIy6eNysEZdPG5WCMunjcrBGXTxuVgjLp43KwRl08blYIyAAD+/05m5qIBU4AAAdh/JDd0h38ZMwKIeAaVJIRgzdfIcf+sUYEkpx3CBDDk+Fwn/gHG/FQGcr80/KHWn0Px/xJ//n4y/2l/DxF7BcblKHAqPRkTv3BJbw4KGYdTnAvA7HVZWEHgmlrRMmoclh4sq958nUL40RLHZJCVKRHwZLelL9Kz1Rq9IxDJXRm4hZYPyyPIddKJMBVRpx915eFd9vc26xfD+vJWqbh6ovIxxuIN6fw5jJDPo6bmzX+rBUp0JIR2xhENAADH/039BZcAEncpIkSamDs5Wn0QcPb9HWGg+9DxKDU2Ugm19CrVcGxSciOnK3eQdgFRH++BY0kPHa7PFBVlYOLIvscmnnsfkRelMETyZzeANj99S4fdcoFcerALxRmXXJ274SiKeNi/nmIKb3I8te0P2AWgcL77+aQHToLO1MFmtr2k3XNtRwijC78X8Ffhvhp5AXZXTklKxIZOgv42eaC4+iIHPFG5iPMJudnMoCPHsOKWjcYCbdKYw7mGHoEVmd61XUBmKIesX9BiwkoIrYEzwfPiGoxr8qdc59d5TqHEFNBrMT4iA38fF2RinsB9whTvhlI7y7mN+dEZLObWVS6qOg5I6QBLgDywa88kJX9712wib2XS4tmTUAfqtkfPf7VGzGSKFzBt1Z8/+DdvmZpraw/PF4J+ipnHPHJc/Sqkdmbk/fyYtKoby/eD4KScFZT6nSqhd1mAU1z8VwhltKd2AvJRpQN1tBSWUaSEGOiJV82Ci/c16qHKAS8adZ5yhWZYc2dOmeYhFg9FlSMi7YiywQ30G6qdq07gKAHJIz4QnLdaRZK6HpOkOW8U0eqjZA4vGWGB2iAcZXK8vjoMDkoLsQ/zCVFfbKW8Z44IyKGZAyYa4WXZBj3h6LYNZ4KTrLlwEZETEd98HmKZDvuETxFi8j/9isslJd8+2gv9vmsNcKph5tEstEv2QejQrfkTyUKuFqmEYYcTe9OPmW31lTpms2fCAGeSLFXoibv3j1t7X/99eLHpa5Li9BnEuSP312vXoUPikom7QrZGAaoYerVXhmayGCw8n+s/7i1lQQw2KP5Ryl9tlwXTOeDiBsOhypb929/+PpdQSWSB0egEZkMLBqdnnshRRkDYEwGf+vJ02Oa3Yf/UwLdxajQeqodOrB/lV9uJZIPpCv6HUADsFOPKeKyhg2CquQbnajh1uUvV2/BYN5lB8/OMj2CxZXuniLKeU/1HfnI9ReEIoSFyHLOenRI0ZutzAwV6GhbLy3JKtywCk8xYbQoOGGfweaMU00QLyDtbbUqMV8ZnZV/0TSycmjtPsFCR43DgaPT9PD1BjXPfsoonPJU/jvFGQeCJf3/WsZiSm1HzIgxrckysKDTjqHqbd7rwAe9z47laX0q5P/bhgsn5jKaOJTclp8wDLjgWZ/QUzbJDNNC7s+ZWekFB1TJElvnNJf3YV4zbLY75PvSBruM1iGkmMD7MPjtvYAAAu0mfcpifQENY3LIMxj+VAagPxy2vzlfXb6TLsDaL6koDlHbuLtNnba8LTiqwueyNh7cVWH/sX4jk8QQPUKvM4ZEfftuvHbSsxIRgaVjAExlhiKX/TStKuEiRGCkgULoqO1gkh+rKwTNtOwKHmEPBxxfTW9B+Ejy9YlmEiZXPe+D9TzBgVZKsY7WZZsP5rj1UHnGO1ql9PdKg3xiNSZGQ6wnuZ3l4yj4Y84iNxydzfbkJD7Z1plxeW6R7s8y0tXqo2aMpca7GsCACzeVNgRGC2yPUOw03Up+oRG5SNTSjUFw1tWHVbFKV+hlIkAGDL0RotuBvj+YG8C9HxMeWyU2IutG7uuY+3T7r1W/lHA7gDnAjSBZHf7u0djaXWr1BRztqEnhnr0xau35Xc8Lzkdr/HNJ0zu5tYyWejIY5MjNg/G35b3VEDGtjS8nuR1n2irv4pbV7553NjoL149wV0fSzyaFj1+0QEWsEA8TkbyjrlGNVwEEOt1b5rHBuD/dLZ30kHun7VZFXWu4fAVXTrEk3KeMmSFMMI/1aWARn7hppZ3TJ/Ab6Mnct/cbMcKEt+PqHy1h03uJ+uOshn5w/38vl4gioviaVd5aUNRGf6UbKVoBgzIsUg1SCQPnsR4HGhhoeT2ZaeqGzngTVPARvSb11rgM4yswNBL8aZsmvV1ONXsSSzy3+sfhsSQdamPmK5FBQ5F5glNfE9cPCHRv/f/HLrRQO8K85uOsPsl684g2VDImgG6VR72M4QFdCe36KmG0ql9QPJFAZ/OYKtBGA0CuOwlogFiOKwHKI0cPGt/D25fWME2ukGbnJRxl+Np9JONpQsLSYNUIn5dytx8rJ11TBoj4HsfMhVIfVe7DdMtr+Lk5rveXNQEj2tTdxy86jC5P9/rcYpY/+ZiQj+cuYnI6xN+nvXjnQfxngSRQ9gpwqKieIg4sgxMPE/PBJaDN1ooL50MWf5Q6zrH7wcCJmi21xxNpqpqazbxzpZYrPdG9YzCJUuujj/6ec6OCEE6I+eMHqNxY2s//qlDXaoArTQrGI4x1v+0VY0WHS8he1Zs/ESqknGEUulegJVUBCaI55GMMgqLw0oQRjYt06J53QMtnPib1jp8H3IdcAjiAKXOisqtDFVHtS4ZyVyFiCV60OgiaC3HNwvttM8WLlpJaX2TgwTlCunWS+BtFym+JhAiZB4+wuFCTZaF40CfyrAEGK1mUcCBCl3yb6RqAETfjc9sofqg1YgPFdBupM6EAIANrUfHt4OdnaZkCt/kD/FeQpqtnNmrEGEwe50rPHvdlf+16AVwjAIs6DVlqMoMKPV9I8OU9MKCeWlX2YrdYpNzHNyLyMHi2TyRuZB7DRO8QDsLnJ/nKKo8uJ0AxYmnO4jjYlTrTSsrIPeAb4vNhZCGGV9t8FRnMg44zig/NABpbqetEYLx/2FafZCvxptAAAaZmMOmjA0qag63ZpH3+1kJRWt9EBkstnzj1ny881ZDLdF8tN8Z3YO/G0NIDtZDttVyuX4BwJBe1bI6UmRNPRP8sLY7/Zy2BZtEpHfvbVZTTqORXoPLp4PLdsNRov9kbt+pErrMntfBomBPenuqt0zq0h3TUtDOnB4Vi7RnxzDzNxWYoSi5bEYT+saqN2u74gom+2IWTr5ZM/KG3RtYrJBjBumkhqU7iQuAMBKIdm9gRzyHuZ6WQj8AZ0/HSPG+HTeHW4iVJBblkQAF3cQkfpQNKjFH/oUvf+fdIrQj/JpdWbUUp6LVrjsNWBvThZIYw7xrleYhKY1yvMQlMayH1IMCVC1CZSVF42ciEFMAY6/u14R56zUE3InEUG2Hp7DX/6E9WU3L8BPz9i6Ft7wfXaiYQAAAAAAQ6gkHkPg0A22jZrmM7rqmKFV+eB1lIiRWtQDpfKNO1FY/t4+YauEXULDsesD1SL6ZiorQXuAf+1+RD8BJkPFCQSOqwt1nrtI0xtOKjJ2Op3uAZTl5jXMs6Pmfvs9iVH/wwIudNfDtW2JekTIdbwL//zXS+D/XfNn3yJMP90WDZ9wDEcMa/XTwK1Rr4tXUAecYSpEintSJFPakSKe1IkU9qRIp7UiRT2pEintSJFONN8/N89pgkl1vBJLnLilDvrez4HHPNxCXyUKXt9pBbZm9dVVO4K3iiGcZVjSLAHXvOsHFMezcICn3dm5Lkb+o5r7kB+ySkS3ccCXrBWm9Ik9FdDC5H4D3zhFrLwnG/g8rOVgBWcwVT/YubZsJGYA4tr+t0to9Vgi0ENA52CMlUGTOSAAAAAAADJIKbmfbfQgKd/R86a8GWGoXxV5iYJeCYx6yWdsr24JK+HoqbgZZ19Cpdf941LCKkubTnPqcC/oLY1bzszxoibiz67RvGREtF7/NDtVWhgAAAAACTguG26xBY70mlVStUiFiDF9xcl4iDpfdYFt42S7QwK6YG2bDZyxtVjJgTsr/OqKWzvijW1SJsZY3ZiCroWVlKFHz/UpIYMEpTGP7FmqqL4+F+P/mcYYcKc+QTPB1c06nqloKKNYBRQbvu/ySH6v0Rcbs/hlutiJM55z0DbrfUeS2vD5lGDw90kjk7OTdMawqNRLQYGbZoJSGB0S+ClwMAUDWFLsqOQciZUbgaQ1kFlnBeWk9EhDidZHKgHEBIVG4wdKNvRWSD0aj3V+ZJVIfIrqtFd0t5oSmS6T+3QiAyP2QTZeU9yNJKkzeei8jlH4ElWxcg77ySf26EQGR+yCbLynuRpJUmbz0Xkco/Akq2NDgvz1Yv/vcoTY2Khgm6pa53SUT29Jd+JMb70VLFZJspuPew5etXVeDpEsa05g8kTb2+zr3F3kKAxL3b3XV5TsaRkQx5UMgAAAAAAAVoW6U+VRziE4DbHqxHJTVDi0KLU/y+3P/S5LwWBLnd3dwV+XjELP4+JJtnjBFWJ03dglXdcpZJsbsjrW3CiqvfzTwLzmNcGSR99Sgm663ydfrwHfy2zj+j8MWiNr8aZ8cOImMgkcXWRe/sBC3Z41loCYnQ7m6AquNn3x21pUJJZXqTVYcNsCdlBHeoxliebOIU6pj7VDfXYdQDPXqzH6QNzgX4SgvJ9r1Zj9IG5wL8JQXk+16sx+kDc4F+EoLyfa9WY/SBuIvUBWXNvizentpZcLuMR174LmPPcUic7EL5WzOeyV0vpSVlyLUa79zggdD8+ouoSR1InAt04d0slyjlh/8xYu8g3wA+SxmP+BN0Ynt5P5buizvybxgo6SCCobfA2eZElsz6HKcAtGmeVlo+wZl7vMuM90cetnlO6UMJarXt9w5A5JUuAA624SUEzQSVNj+8DfBrz11ZKLSINTi9VnovAAAAAAAAEun7afOTjm/mSYKygbYKvUwLBButeFd0UjCI6wMchWMnA4jv5vXvkqtl4d5vuryVRPslUat111NsAAAAAAADMbPgSXMCKObotl+gkNwDHej2ZkPlotFK4N9co+xNZPD0bXjqoQDAQrhl7/9wy9/+4Ze//cMvf/uGXv/3DL3/7hl7/9wy9/+4Ze//cMvf/uGXv/3DL3/7hl7/9wy9/+4Ze//cMvf/uGXv/4F1cSVeaanHlB+i89kBqZYAsd55+coGS63Zr0q4uMdsFAAAAAAAAAah/AI86gRc3lh/uZEkHnn8HDsejeWlTVyK9oxudb1tGuikUY3Ot62jXRSKMbnW9bRropFGNzreto10UijG51vW0a6KRRjc63rGdDB3dg6/BrT9RL5R0kO9t+TXjAAAAAAAAAJAEQtLYXv+YmaLQ8uFlRwYMypYcStIjFhdWE+qOTDp/sDnJIAAAAAACZ+xQM0yEj8A74HsWpObqpvqRoFiGg6oVaD+J4qdB+xc+lSczk93QJOZye7oEnM5Pd0CTmcnu6BJzOTfMFePklA0pjVDukeLj8+RmtlSfl4x6kICmw0s28HjER58hgPy2vemNBO4wQAAAAAAAAAAAAAAAAH7h3Yl7Vs/rUn2KcFMEOKoW9ZGoiWGSLXK/B8DxrMvUcqE+VCfKhPlQnyoT5UJ8qE+VCfKhPlQnbHRtYHgKhiaE1+PAgFQIyPrQNron3fcpMuHEM5tHgi43oZ4NGV33bqgAAAAADCxMmBfxAaZm54gP5xv+a3sBvvU4D+eUDrgoJC7VOSoQShOTzC0P4S5nwc9MpOxcBoy2Nc7tCEBLSSHBQDJR3YgAAAAAAChZJZdFf0xGXbaskl1abs2D0oNObbr4Cq/tt5N0Hkcpn1xciOIXtgajJzyHA0BkWJEJi2HxRc+qLXIxykY5SMcpGOUjHKRjlIxykY5SMcpGOUjH+6VnpLH3SGzuuaJdZSavHk3AAAAAAAAAAAAAAAAAAAA="},49997:(e,s,i)=>{i.d(s,{Z:()=>n});const n=i.p+"assets/images/releases-2797140a98917e59f55b89e1a7d2c415.webp"},28881:(e,s,i)=>{i.d(s,{Z:()=>n});const n=i.p+"assets/images/settings-50fe7b99017161649f4a50ffad511aee.webp"},9391:(e,s,i)=>{i.d(s,{Z:()=>n});const n="data:image/webp;base64,UklGRhAjAABXRUJQVlA4IAQjAADw6gCdASomBbUBPjEYi0QiIaEQSPwgIAMEtLd+Pkz9r2twzcicV6/f/8f+Bfyj3jsn+Yfyn2se9Tff7p+M/Zx0i9a+Uhyd/mvzD/vnz1/0v65e6n+5/372Av1g/WLra/ub/mfYL+vf7G+6z/pf159zP9g/u3+3/Zn5AP5V/TvWD/03sSf0v/Xf/X3Bf49/OfS3/8n+j+D7+uf7f/0/674Hf5x/fP+1+f/yAegB/7uuX6i/yn8cPAH+yfj155/i3yf9f/KD95/fox72l/xf69fWf7T+0X5jfgL+V/wHg38iNQL8j/kn9i/sX7R/279weNtsX/wvUF9XPmX91/uP7g/3v0HP8j0R+u/+7/qPwAfx3+Xf2z+3/t1/fv//9S/5z/VeLf9i/0/sBfy3+q/7X/Gfkt9M/83/xv8t+V3t6/N/79/wP8N+9X+q+wj+Vf0r/P/23/L/9f/D////xfdn///bh+43sw/rf/+gR8+OHDhw4cOHDhw4cOHDhw4cOHDhw4cOHDhw4cOHDhw4cOHDhmiR18ptjeLbHggu9r11eFKXcA7XqEANlnxKJ1wbp0nlziIHFeBfXaTW3Wp2A8t64q51sBqlu7KifHDhw4cOHDhw4cOHDhw4cOHDhw4cOHDhw4cOHDhw3/Qdhb++55DtRzzP31TpwNmelu9fy9Mt9V56udphMhlBNJIatG6WAXXDAyxp54tYUtHz58+fPnz58+fPnz58+fPnz58+fPnz58+fPnz58+fBt5wHOnE4es4nE4nE4nE4nE4nE4nE4nE4nE4nE4nE4nE4nE4nE4nE4nE4nE4nE3QIfihOuQj2xbcOFj4LFixYsWLFixYsWLFixYsWLFixYsWLFixYsWLFixYVeDbu1Jctkx8latWrVq1atWrVq1atWrVq1atWrVq1atWrVq1atWrVvWO0iCU1Fq1DbzIvYMjGwD5RySDkGlXYS3jxw/r6Xr169evXr169evXr169evXr169evXr1IkgJNgGGKIEHZNI/ksOyFgjsY/cDdgVJepHDldrFqm7VGDrjUvRTZsCtQcUBCTWUgOHw9FzKdzggYt7BiGdqvFZVLvN8WNeokjZs2bNmzZs2bNmzZs2bNmzZs2bNmzZs4RcNY6l70JcV6/1njnzATJXkuXRm/fv379+/fv379+/fv379+/fv379+/fv379+/fv379/BW1EkBcJvlrrVKFIYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYCuRaDPfArVq1atWrVq1atWrVq1atWrVq1atWrVq1atWrVq1atWrVrPIbBIkSJEiRIkSJEiRIkSJEiRIkSJEiRIkSJEiRIkSJEiRIkSnC1HUKFChQoUKFChQoUKFChQoTSIxdXLk62aX379+/fv379+/fv379+/granSECBAgQIECBAgQIECBAgQHwrbdygycJLLJPBFGyxo6HDkWbNmzZs2bNmzZs2bNmzZ3pvgVq1atWrVq1atWrVq1atVbmSVZSTWHiPOl6iatGSkx+KG2LnHR/LWR8+fPnz58+fPnz58+fPqJb0PHjx48ePHjx48ePHjx48MvY1Ys386YrfRY3lVyvRjyI6RDO28qVq1atWrVq1atWrVq1atXbgYlsmTJkyZMmTJkyZMmTJkveVymyhE+BA+qiD5UtFRJGGSpSB2EkYgshMSjZbx48ePHjx48ePHjx48ePS5lgHxw4cOHDhw4cOHDhw4cNcXIfrkEXMVRE9cSXgTqkQeEIHP+N642Ine/UxTvrUO0KFChQoUKFChQoUKFChQszoohIkSJEiRIkSJEiRIkSJEQ3BVSbgy13QRsrDFrOIRcZ/EaReeE8rMeLtTkyP3BUB+w/44cOHDhw4cOHDhw4cOHM9vQ8ePHjx48ePHjx48ePHjxhW5KSQN7n4JrmgyKV439uWz18dDmZkpKGwn81hjhzEK379+/fv379+/fv379+/granSECBAgQIECBAgQIECBAgNWfqXiQBOEUq2bLtoDXHBJ5LAZkLvkWxphkEJEiRIkSJEiRIkSJEiRKcLUdQoUKFChQoUKFChQoUKE0j6xm7cX+iiTh5wZxX1SdUbGDQ2HIPX4S+/C4dFdtmspLduMmTJkyZMmTJkyZMmTJkyZ2BFIxQIECBAgQIECBAgQIEB8IBL3YSJiB3drIobywkysD/8xZmL9sGpANo+fPnz58+fPnz58+fPn1Et6Hjx48ePHjx48ePHjx48ePg9Xq9OiRIkSJEiRIkSJEiRIkSJzC74WLFixYsWLFixYsWLFixYsWLFixYsWLFixYsWLFixYsWLGbT5zQDFvFctdapQpDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAWe8cD9rXI2SCZfyRUSBOJxOJxOJxOJxOJxOJxOJxOJxOJxOJxOJxOJxOJxOJxOJxOJxOJxOJxJOlNyefPnz58+fPnz58+fPnz58+fPnz58+fPnz58+fPnz58+fPnz57oAP7/9qAAAH25iWwe2bKdKzx0wkx9UXcbKU9Y6aSO5wE7OfuZWDaKm0++2DkAQOUeQLmiEMQX6mWd4Od/V7wEcu7VASpDsJxR1YGqrdRLuhdD545WS6LNxgTyoSf3U7i3T9SQTIeR/Hm/G9prbzePIidYOeGTpvm6ZHFVbClcd3M4qGYw4ok34tRNZt4BdNL3mUqFHezNoERUm0f8HLUC2Mg324UVaopr26ku5eMvOHraeM2cMkVAvLn5QAfnE8W3xUR/2PTYIs6/jupmCSVOfI05kZnWcXqf4zfRiVSqmRKhWLpij+pgZ2ON5gk4e/5mARe8Tmw8XAQRubAp3Y0x4fmf2ae4u8nqj0vWOL4B53V6BX8Cjh2bQ+tPemQdkYWODLAfpQj5OQfPSViJH7uQs9oHT/HT/HLGj3EbhZwxgu+nO3R1cCO8WCd0utF1uYbO6Mok4i0/3XfEjNiz/KI4lDGfeim0nBM+7ebGZgaJIZA5/yeyB9H7MARlTF4PHbB8X6owdzu5+03L8+7j02Mh3hsQD2UooQBGcCrwE+IWGjwszxheFuda7CoNjSFPYuvJpWG5q1OcYeY3M3zVNhUrYMsRcXrZ/JBIQX+PEBIVi/b3ej8d00KukCYgUIisLJ0SQ/0EUA2gKh+D4+3fIVdaZvTNABMixlVCfkLdx6grzY1PIToYASkd58bVRiYVYRWKX/jD1B86xNvXyhDt0OGf7dKWqLDvb7ETkmBahAaxXC5jSqafF2oumO8v92OlWEbSMBtgT+MVvw/KhbQgP85WZA3+tLMtquUEBNNXWSlzILtU20KoUI7084Rls//6ifFQQVQOqLxo6nysdDOBhUdexy0AlSmI4Rgv2n5AnreuYT7GDvwlMXAFVQBhzUdJ3ABvhDzDOeL4xi2i5oY47JIhf1Xaq+TSE+uZ0yuiM4pv6k11tW06I29R/Yqn6qZhQADBjmejSQ/AAdnSbhf3VZN78+vYOJdjKBzhp6BayMYST4SOV+wVlEBq8sKD2CQZ7Rz//UG7HxyGbtuNnRqwEM+CkSF4ezvq4O5L/un4WeO79jhTeJdR/KnEtaiJ33vyJpSv7ijLozXGoAjjZFpM7NtOm45oyFR9DIzobBqlYcP+eb+bs3gotvq7VTE/44tEmuVyiU49tkKGYWZ/DC/HkpLfpeGsewPDlKxwEnsuzxMrgDgBGaXAs+cBHOC8npBxmHuaGAfqX8jKvPGXrn0+/hgMFIRFheFWK8rQVKPCx7zbdcQASBL6lNSQzK4K8zFVmDeICx3OMY95Elet2bprdTrCHcNOFqSwIquy3Ai19JcNmenE0P6KVRGsv0bnK6nlkry7t/NtGdj5qaSw9dHLs41AXSg585QA3uQiOcA2y4IQYvfd24nCO1aANoNV/7AFfrBTnPtAfe2SeRB9aZXmuq6WbQKCb5z9OLjnwXtXj8Tl2Q8mzIiG+CXLCz4EU+98Owv/iJDjTc7pmnHf/zly0QQB9Ow7S7yFRYcio+9zsiPfO0bWLv1/z9IWCnBkL/Pe4I/n3xbk1G+v1DVqDP4tPoVt2xL60ZQzmkQKDqFoXe1bYiNcrgsxmbDjen1fCn+fzBWQy8ygAH8b+jH6GYr08I3uWqlQM3IHJPqE2iEfQiUnovIeGhotB28YbJfXJ83ZVWHfCYHXSgS4czoLj6kfPGRBo0hJH82W43WOrNecOiabSgidkrJ40538T+oMiMy5xigAAHSlYWoPlHN0tJ/EGHKAQ2J95tSgIqW805oxpWVRue45pzRjSsqjc9xzTmjGlZVG57jmnNGNKyBFCtz3dgQFYnL3RwPDEXwvh18WAAAAAAAAAAAAAABG8UasZlvFzsLPiQAFYRxDh6Tdl68pYqpwcVRhKphgOwVaWMuZUS6WcEHIgE5CT+Q0FGY79Uy9eNUrlH/SyL37iuMNhLM70t0Ec4+g57WUq/uj+Twfw5Fts7OdPlfauvCewUbep4+O6SAmiQDiHR6hnsKaKEFyrHH4rAvH2W/5xVcPAkwrfzB92R4mVah2ifWlM5hL4WZFPvOgtMjwBGX/dRnCxjTUr3Xu+J2+nSnVyW6tSvT4tz8Z7FYx8tfFrPVGDQ6440gziJ5qbZrUFGie29GRWVOGnfhZwUehsgFRMwGFai55M0/XMGFUX+DnJrdLun++JPfp+83V5PSInnXgx+Brl/vLnNdIqmlM5AWaKHVD7P5DlHOc5Op56hSR1uG2DS7HSVD/fMEiTav6Yd2J4mVfp4n8HeQcNJcIdsmL7vgbjEpmsLpEiPMoZjJdxoIBgWlikrkbwenWvlV0YenVuCN4SFz0KJw0ZpqTPC7w12/Y4XVA7Mcu7Eh3Mq2Dl4uhPndSCAMSTqL9b+AcSz966H0Dra0jVXKtnKhDKQOms/XPs/8ZRqqLTXihFA2HZ1SjYfQ1o7OnSr8b4iCMguGWf+qRvBC+wMCekZH2ReACMKtKAr4XftdQ+VRAH00jwKEoRsiNw0SsEX8QipAHawPL9OWTkMBTV7gjTJzdB48BQPwAIAKSAWEJBMuuwJ8Jbz49fgBpPQrqzwRCOHNLP5rUzfloYjOgt3yufQgiwDEu2V2RMxFyOu5zhufyePKRyqRTvpEUJSyX5o/DJYR2/Q3GEk5bZkz9+H1fwwN39njFyo1GCtbrYP3VFKfGKmkGP5lhSrwNprfRsPBCP13kgQQacHDgXql8/PXvOyh4wPqIyfu5MM0VjdO41AjJc5L2YOQD2QwQotXGev7vXgf6om3aL5GLkhXsyBGBy6TqeTtEX6BGMLADCAtvknFNd0FfyOzDwz0XxQsTpeaClmyri6sX7pgOFF8r5TbLGU4Lsak2MhBjdoFSCGWe6o2wgFoDvDPsRMXVglkmIZy7sbzAaamhlV0kHOS2gziQ9PgXSD894evJeooY5QhZyF+TE3FbcZYxpdLgWxYnGEF0Kuo5FqPY6UJVQxy9vucp++Ulp0J7DIJX4u+94kG+sODxH2kHVoLIwz0eWY/xMioR/ILHQFzJGzU7RDa0+1ZenImvOVkNu4SUq9vdFxNy6mj19h/H29Jp4EfPHIru1OeSazb3koGV4G257OiOfFne52KhApT5p+3ibC5xcW5p3OCYiax08RkyQ5IY8l79cLogBWV+Q5CSX72MedT0J/dXje0qHZILDOOKib3XbE/a77u2w/HL9XGnpz6E/uyBp9hAnEdE7RYIVP6Mb+JfPtVr7iAhLipBLMRKUTl+kjq5adSWs+sJA0Ehr6h0+MvsjvpSfvmrgX4yIbio9Ko+Ea05dXBjvpxPYQwdFPgXoF6rWpioMdOUlIhHX++uLgOceb1zAtkvdfxW9AOGX+piKBeAsYooXkTgYXCtBz7BZno/k1dVf0764zC4t1Veb7d/ARU1cLyFztNn41SWzh82tUpz563WNPTpZuKhfWESInfcY+p13RE4gvvMD+djiUCh2fOLfQ85jcbspz7a7ay5hhG63DMPf8KA56Hh8VjXf5+tI0QJS+DzZ+tPs2XPxNGySmiBRDbAdMF09V6pJhkM172svuEZP9fI9oWdyB3AfL9Axq1yVKo41c6N1imfJeq2mB+4AEvOWSzpsCmM+5QpQ8FmwhTh0S+R6LUMZez4IuQdBufe7hzZ8XpANDsdJg18pXKIE+QYghkt8yglvnw5MOtZkHDCTkdu6/BCDvggcSsy6oZKvLJlDVLAS/InL3/g+unqaQvygko7o7DyBj/oBzh1PeJ5P87yraI05n+jmJA+eWgcSdf8WOFAJeQPSuqTIE5Ch18LFXJxXsuEjRPf+ZyfHd5Nq8iOMy4fueha/QS0F5OqKK0Fc0QmiqV994gD2boz18ZtN4jZ+ijlnkmxTYVyI/cBL72vCCmGbpMqTKqzFbbk0wRP8Bh8Pw2K9bPxxg2ZTX9h8fXih386Vzb6Je6papf+TNsPXyYznWg1QcdchdOK5MPMo85tKLic/R+Hd2VTb55nDs6UqeoWmYxYreJ7zNr6681oLyhY5sQfhDCL5zvC4A4wghMWqZJCvcTrl8UtgIN0dEsdOCJ6dIsiziQS4WrxeDnpMAAAAAB9LtG6hcD4uIBvl63jqxdesOrcoGDYGmC4Rm1WLQBVnaqi4S9JAbgbibxkR2jpnssAEdIf0/VPBDZiHDqigAADbprJneiDsD9NRLSEkgANtgASKC5uC1QqcuMeZ35V021xty4C5iosLvYB74zXv79d2dR/Wox/fQw/1OLBmUdS5nk0QdcXM4nMLkI3GKfc4PyN5UVApTvtfv+hyI/gi0GRq3IovjobYb78mKuSYA5Bdq2g0sRF8DsD8E8pzXpywD1Plag4iT5jYBmcM9JqBJ1F+zqxedGOzzv+s5Mb/aUIfEtJjByXkYV5+875ZemseL76nDmcSib/0tjzyWF4EKNreT5tYa3yK3nqTvpmmzETaTit67hc2PXe7kjqKkz2FgZFn3VszT0LnyNvcHw70uIg9eJg8WQaWaerUjofOCBWHmBINVjevaejHHKgccDo6DsQ54Gz5o4pH3+tVytSzaxVQ6b0ciUcZFgmd8QPCj46UWe+wavU+Aj0IJynROnFvAch95wi9e9jwictUbqz4/AsIP1J74lH9uL9oiPE26SJJXH4rm1mQPpa8+lUrcnpZ1vBrq6YO4HKz44jbGWiUtp4bV2DeQdMv7ruPP9nqjfn1/Bre37QTRWE/G2o3yw8188SUsVMidzjDy2+6i+4+HnGyj7V+YsIUhckJRk9gjOQax2U1HTemrw0u7NMUltV6zh1kTIIECfFEKbmq59y02FnssIin/2nwU3qwX73/DQ8T+fwAw8OQmHFeATTP9b9CJ/114Hcsh70M3Mzjc4p3qSIwDdo0tY4EjUdLvtvFjWyiZU23tI0sxWjWL8GrlJ+CSHFGQgUQYFzX/3sd2ACcTaYDRCmuffJ5+ASaBL8i/i/UZDzffyE4VWyK2riDCPffKwImzLuHsKalJidvAcOaD3wEDB8PBcmbO3wrxqFFbgwvSDzSAYtpHUPKbxSSeLC4n5cPTv+l5jKxfd0ants2uf+UjXreEz8Ep8t2TkufDh55aS6lZChu4z+NS9aq2jWzDZz9g8szGBkpAgEcjQ9K9I7NLehjr3XdyfQAGmRqH7cxKzMCUYojXySVeUWz5hlHLGi+P+79ICEsXyKZ5bh9xSYvKSRm6Wkle8NE/ML7qiTce57eMKTUhdMfDjG8a/G+xTxCPHnsXYRWg/FOxVKoMvFwmA5xJylEOkUJLiPctsxI+YSnOHct+iuYfJ42dIx7ufNy7CTmDkbXknCepxWbYLQJeoWqqoqsOs5duHwlgs5/kzkAUiPWEoSEZBDZ0fpsZhb5J8DY6G6621sGEuSNcojYiw9+TQhv3LPe5Oh+msr4Saz/w5G0oyk6XtROqAfqmiILwpukNkA+AYaxrdI6/85/zKk/Cml6/2ygoF+9kVkble7lX//5cXbK7McCwjmeT6I5d89tjmhRFt1Q5j/Ba8Zvs1K8f/+MKjWx5g09MUHvpj/kFeYfcIeP51yOPY75BN16WiI24+/AS1Hveni2+Q5W5GRUISXh9YLsxUM24XBhVOZX1dWoLFQFg/4+55WKaCUvRpSyCzZ27qZSUH8mXUT8BrEvZbOy6BqRXZeSIlceqfdGgY8KMv/QOgysOYie/nJMC2iwDf2uUln4AQf70f7XlqrdyU7+4hULUwJZSHkl2rVJJWKurpuUhKmViGnMkpYDXHLBCfd1lz/oJzLhJTTUL9CsYpm5W/IgWxYD4xdYQwvRYynnFLICaHdz0TnKPKqMLOPakXJIqnmk8DCIH0XZozHxed16g1ebLSj1h4I1UXRdsYs+0P4vHNzPpTL1gX9pzqZtB5K8xPM3Zd/dQGsTT9Sj+WZKv5gNWh4PsLTnwU5moQRrRSLCTxTUGmOHNz6MPdWkrxfPwBJ4dlH2MqeXVk4XHLE/tM8FCpdbYQN4rHDiSznJWXtFnrDbnQqqyagSdjZHU475nhRjhcUzl45JkEN6hpkCHwO+QJekKdpCgUBocDS18no5QpstSc/ALYIKPoGK3NxgLj/UC2E249uiJNbPQmPkY6FhmUAT+li6bp4zP+E8qN2zOet0EnUHvw9ZTCyMf/Wmat++6fsdU6V/MR+qwyXDsg6yyghrQ/ZdEUZgHuh5MdoejmgPVoU6knQmYdM/O1O9Kbue0+A5CCTzmXs2h02uQkCv/8L018Flc+t85PfUqO4c/Q8mI50sJBSb/XyDOVBCiK/3MBCVqU7+3czxUAPUXHiNbIAFg0y3y+w4UTD9hZ+OxakWz82AE8esRViBiWtk68fq+krg3jlkkpex3qkgydazLIsAPBNX/We9ErYCdN5eZ5/kYdArqtriNf8BH2WK0v3Fnli2hhRYi0WLy9SurP+Do6QpgqQBdf+xd/2RmdZ2L590RJoftu9gJYSa+7bfTLD68Oe1R8GqPJyjw1JhaUPoR7D5exR6yx4c5hNqAE5YmI7HI/TgvOcV8s1+UbxwVGT97AIYfqWjSynS35KzX/OvJU/mLPESCWoCcFruEPEikcoXESfSrRY3LvSlzczGfvh65AxM7TCTjw7Qd86vVAVbVdLS+kYXW1we18hc17NboMHGA124gn9LttikB3p/rn9PcMA7Nr5hxhk3XaFsobIzjG8GsLcNn4E/jBtSpqBhjzk3SkC/ZIZTW0NQKtXpMYgtMSCvodrC0OkIrzM4YRjl36UnE7EbF5iS7dQC6ri9ILUUnDyWhJFzeT9PnO2ikUhIbE9qr8TyjWWLGawR6nwyzk9BuK7r0e75TmOKrKo6JlyPwJ1sGAn6HUhynAKhVi1iGxWXqjjas2wK2EvbtKxC8jXIFFrgobqI00SSnoKEED4sWAwH0iHv/J8cd2KHa9o9E5T4kdZ6gr8YkgiH4l5lmmPd0Ou/PDhIMtBgxNhdV06Fi7O358fpD1kuZrW9hUOa8NH+8vBC1/RKeVRgerFTJCGKa3jq8WpaicjTPn++S/8/NZVNqfRP3hOhY66rqNvTRu2AQC6im12Yrn8DwwvIIsEMRjBzrcTGupzTBopFTcs217jfcJkXnh5hBUokuNU4B9G5RhLtn1iuLYgUfWjrJ6jEr0TWiU5tUQvcJYsWS+NbL1FiNlkYc1WU7NuieXRoGbeNNWSRAUlbEG7CZolh1SUmTs3NPM2tA5RJX7TTFaoT05h2T2yraOGiR3GPTPxZ5nnIAIcDZPNF6+OHCe0xfKC/3SaseMod2A4knV26ybq+kIVD8XEeoAFlvgbzx1nyUX8aI0O4zDFs5GC1wQOFhywHGBDw9XD03q2H1yL8BFL1131TENhomdWm7ZzGFJzyQVVFIf8HiYY72Ta103f+EWlz4hh7D6OlHYE/INaspzK3e8M0yjgRRs5B0jeHI13w40v3B04kPxEGoSFBZZ/joJyqW8oKM5JZyT1Y5g16uAIocgp8PZqfsFqaKyY7KRJV3TEbIYPyeYdDyNq3jsOcZUirW8XeQfGyeaOcUU2yXkG0FVvZ2WOWPhYbL35PjCFUuaxDclpkOKUVzPl/B/PamW+BAIOrIoEFAmEGaOOJVaWZ8Bpf9aNXSRYhpLH0kCeytd/P3K6GKkAAp+K8JeDFR3uTLR+wvrvIfHJsBfqRApo8RMKG8tunDRjp2e8OY/5YkcqV6iH5ag9SlANX2ZfYQNYXNiFtMRlIYlMmss3ZooQcsCdVlFwKLxv9/4UOm95Z0aM4mErNh5mRSQMzKvMjLFKiQM/mNXP5D6cERfQENQKGgiGZy7/7ayFnyM9h/oNWn2WABT/9wJypitKLBp0VIaVxR4eeOzOf8U4eoTbQd2Ixx3+Z7YcjxNAzicRxHavNn7R3uS8R+E6KgsNfzTM8fFv4LV2EcPQSQvZC+uAoza5ZOtN662ga5P7PQum1mBP1j5CBjNvx7HDAc9H9HBrJGhu8ydtHEQ6RQT6NXSYPaoeqo6ac/0i6CzleTQ6GN8oK32bv1tIjDSjs9SwTuyXuh4T6Rb9raHenebMTXrrpbFYE7ZPI7d4i8UIERdsi+WOmv1CMZWZicCeJ54RSh1Tvnpw/2QnuPug1QcrliBCj1+7NnrG2fQELwhnMnB0My+//SQPeZIa3Xy1E72YmRkKsl0KZg6uT1bOHFYrlbQuCPYNYnhjZ5bqKltLZtI59IqWxWGRrP6OU9Kq+4AI1CW+zbQ/yRNIAcQst1KogC8v27Up3qhAgVUUCsLt5XQq8LZG3F9SxabeHvef/eyFXa/4P+k3ONBYXPYsuJO9FFFtPivz/1Z6qDAFDBqv5Q0F/Q2zxd5RWyVaithde7v5XcctmTo1Pe3azqT3gSVwiWz7VLCDU9qYIuti6ncPcnFt7WUTyAWYijkgy7Si3046VVX7GtoHgnZDr0Hebrrq3m6mpPYBn8w/6cUdhf0c18fhXQdBLwdX9uQKJ+U5bVfE93KLFgM7XuQ+jP4AZjC9WGX0H5BDJo5PBcsw+jN44dwSnZM8eluFzmX8S8mer/syV+LT8kguAssFQhl/6UfwYRfQ+WONDW3vwmbCJm9Ybf9uY5AVZxoWFw0bLjtMaBlt/t8O5Zw2bAO4S7Y53I3o7maETwpM2G4wzZ8H9hkdbVdw+Bb30ZTWtbQ7NUfjoQ5xsVmjJ67Mu/+LkOQesPLi97vjpDCafGxPJrJ3aW1rRs9NbuR/w9a6V8sJuy05ipY4HXYg7otWixV2i5Vid5JyLZdRqZ/tbPN26CZGyoXOyS9vquiznd0FSKWNCC16GyCbMuS6BTvtRHHdjoyy/ZF4m4J21yD21/I4tI1AJ9Qog/HI/Y5evXkDt47ZD5pjKnxVA1YtKjL/5yfSfjze/VKjuX2UXZde0wasknsdAkp+eK3qtsNZ3X4LcSMO0FTNIIiFqTTtpUuKx3/lq/jAK4G8CVbWshIUG72mBrF5ZXAuF32O/SOViUX+DdNv+1t1tb8CxmfuQm8cSuC+/3k+0x9DPXkcIvVyMXrmh3SIIYoCFnTiXMEIhlHreZQX7omVpxQrpzzziRK8qOz5d/1gwW6hPVsYs2oAcdXQXPZV92MOc3GBsSsD1xn7/SgLmEHhdWUGCOxgXoE15dmQSDClnJgzleLenzQNby8kak3fPnC/Q2H+bRKpgNaty2WFPpgR4/TyCTXr8aIuZ/Rna8KanO4Mi46+XHnTyJyeyqGdho9lS7jy1FYn5fe23cKmtaV5XF3i23vTgD6rUQil6jR20/sYDPR2/8hCmll/NOfNNkR7UgE0QX+qGddHDQdAsH5H91qeJLhqZKIhPitsfo4hjsyQrB+Jyz7yIiPgNagAFQ4AOoOAHIDgSuW8cN5AWb8XzEgAADeE3f5aDl6SBUtD+RkhKBNscjVhZVhZVhZVhZVhZVhZVhZVhZVhZVhZVhZVhZVhZVhZVhYTAAAAAAAAAAAAAAAAAAA="},11151:(e,s,i)=>{i.d(s,{Z:()=>o,a:()=>l});var n=i(67294);const t={},r=n.createContext(t);function l(e){const s=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:l(e.components),n.createElement(r.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9f724635.41c8034e.js b/assets/js/9f724635.41c8034e.js new file mode 100644 index 000000000..06579f2c0 --- /dev/null +++ b/assets/js/9f724635.41c8034e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[50424],{1080:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>i,contentTitle:()=>n,default:()=>h,frontMatter:()=>a,metadata:()=>r,toc:()=>c});var o=s(17624),l=s(4552);const a={id:"blocks-reusable",title:"Reusable Blocks"},n=void 0,r={id:"legacy/v8/basics/blocks-reusable",title:"Reusable Blocks",description:"docs-source",source:"@site/docs/legacy/v8/basics/blocks-reusable.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/blocks-reusable",permalink:"/docs/legacy/v8/basics/blocks-reusable",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-reusable",title:"Reusable Blocks"},sidebar:"docs",previous:{title:"Special Use Cases",permalink:"/docs/legacy/v8/basics/blocks-special-use-cases"},next:{title:"Styles",permalink:"/docs/legacy/v8/basics/blocks-styles"}},i={},c=[{value:"Register admin sidemenu",id:"register-admin-sidemenu",level:3},{value:"Use the reusable block as a partial",id:"use-the-reusable-block-as-a-partial",level:3}];function u(e){const t={a:"a",blockquote:"blockquote",code:"code",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,l.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,o.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(t.p,{children:"Block editor provides us with the reusable blocks out of the box. These blocks are a custom post type that holds blocks that you can call in your editor to reuse in multiple places. So if you change your reusable block that change will impact all places where this block is imported."}),"\n",(0,o.jsx)(t.h3,{id:"register-admin-sidemenu",children:"Register admin sidemenu"}),"\n",(0,o.jsx)(t.p,{children:"Reusable blocks can be accessed from the block editors options page but to help our editors, we like to add a new menu in the admin sidebar where you can easily access all your reusable blocks. If you use our custom blocks setup this sidebar menu will be added by default."}),"\n",(0,o.jsx)(t.h3,{id:"use-the-reusable-block-as-a-partial",children:"Use the reusable block as a partial"}),"\n",(0,o.jsx)(t.p,{children:"We also like to use a reusable block for website parts that were previously hardcoded in the theme and are not a part of the block editor. We like to use this footer of additional options in categories and terms."}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.strong,{children:"Here are the steps:"})}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"Create a new reusable block for your partial."}),"\n",(0,o.jsx)(t.li,{children:"Create a config where you can configure what reusable block are you going to use in your theme. We like to use ACF PRO and its option to create a theme options page."}),"\n",(0,o.jsx)(t.li,{children:"Call this option in your theme and output your block."}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:"The first two steps are easy enough, but here is an example for the third step:"}),"\n",(0,o.jsx)(t.p,{children:"footer.php"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-php",children:"// Check if the footer partial is set and use the contents of it.\n$footerPartialId = '1'; // here you provide your way to get the option set in the second step.\n\nif (!empty($footerPartialId)) {\n\t$footerBlocks = parse_blocks(get_the_content(null, null, $footerPartialId));\n\n\tforeach ($footerBlocks as $block) {\n\t\techo wp_kses_post(\\apply_filters('the_content', \\render_block($block)));\n\t}\n}\n"})}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsx)(t.p,{children:"Notes about reusable blocks, they're not native WP search friendly (as in the content you only have the WP block comment markup that there's a specific reusable block there). So if you use a lot of these in the content of a page / post, it might affect your search relevancy."}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,l.M)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},4552:(e,t,s)=>{s.d(t,{I:()=>r,M:()=>n});var o=s(11504);const l={},a=o.createContext(l);function n(e){const t=o.useContext(a);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(l):e.components||l:n(e.components),o.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9f724635.f2215c7e.js b/assets/js/9f724635.f2215c7e.js deleted file mode 100644 index c104134ae..000000000 --- a/assets/js/9f724635.f2215c7e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[79573],{20248:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>i,contentTitle:()=>n,default:()=>h,frontMatter:()=>l,metadata:()=>r,toc:()=>c});var o=s(85893),a=s(11151);const l={id:"blocks-reusable",title:"Reusable Blocks"},n=void 0,r={id:"legacy/v8/basics/blocks-reusable",title:"Reusable Blocks",description:"docs-source",source:"@site/docs/legacy/v8/basics/blocks-reusable.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/blocks-reusable",permalink:"/docs/legacy/v8/basics/blocks-reusable",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-reusable",title:"Reusable Blocks"},sidebar:"docs",previous:{title:"Special Use Cases",permalink:"/docs/legacy/v8/basics/blocks-special-use-cases"},next:{title:"Styles",permalink:"/docs/legacy/v8/basics/blocks-styles"}},i={},c=[{value:"Register admin sidemenu",id:"register-admin-sidemenu",level:3},{value:"Use the reusable block as a partial",id:"use-the-reusable-block-as-a-partial",level:3}];function u(e){const t={a:"a",blockquote:"blockquote",code:"code",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,o.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(t.p,{children:"Block editor provides us with the reusable blocks out of the box. These blocks are a custom post type that holds blocks that you can call in your editor to reuse in multiple places. So if you change your reusable block that change will impact all places where this block is imported."}),"\n",(0,o.jsx)(t.h3,{id:"register-admin-sidemenu",children:"Register admin sidemenu"}),"\n",(0,o.jsx)(t.p,{children:"Reusable blocks can be accessed from the block editors options page but to help our editors, we like to add a new menu in the admin sidebar where you can easily access all your reusable blocks. If you use our custom blocks setup this sidebar menu will be added by default."}),"\n",(0,o.jsx)(t.h3,{id:"use-the-reusable-block-as-a-partial",children:"Use the reusable block as a partial"}),"\n",(0,o.jsx)(t.p,{children:"We also like to use a reusable block for website parts that were previously hardcoded in the theme and are not a part of the block editor. We like to use this footer of additional options in categories and terms."}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.strong,{children:"Here are the steps:"})}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"Create a new reusable block for your partial."}),"\n",(0,o.jsx)(t.li,{children:"Create a config where you can configure what reusable block are you going to use in your theme. We like to use ACF PRO and its option to create a theme options page."}),"\n",(0,o.jsx)(t.li,{children:"Call this option in your theme and output your block."}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:"The first two steps are easy enough, but here is an example for the third step:"}),"\n",(0,o.jsx)(t.p,{children:"footer.php"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-php",children:"// Check if the footer partial is set and use the contents of it.\n$footerPartialId = '1'; // here you provide your way to get the option set in the second step.\n\nif (!empty($footerPartialId)) {\n\t$footerBlocks = parse_blocks(get_the_content(null, null, $footerPartialId));\n\n\tforeach ($footerBlocks as $block) {\n\t\techo wp_kses_post(\\apply_filters('the_content', \\render_block($block)));\n\t}\n}\n"})}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsx)(t.p,{children:"Notes about reusable blocks, they're not native WP search friendly (as in the content you only have the WP block comment markup that there's a specific reusable block there). So if you use a lot of these in the content of a page / post, it might affect your search relevancy."}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},11151:(e,t,s)=>{s.d(t,{Z:()=>r,a:()=>n});var o=s(67294);const a={},l=o.createContext(a);function n(e){const t=o.useContext(l);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(a):e.components||a:n(e.components),o.createElement(l.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9f7aca5a.f0f05002.js b/assets/js/9f7aca5a.f0f05002.js deleted file mode 100644 index 4899ac3a0..000000000 --- a/assets/js/9f7aca5a.f0f05002.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[98825],{73204:(e,s,r)=>{r.r(s),r.d(s,{assets:()=>a,contentTitle:()=>o,default:()=>h,frontMatter:()=>c,metadata:()=>i,toc:()=>l});var t=r(85893),n=r(11151);const c={id:"helpers",title:"Helpers",sidebar_label:"Helpers"},o=void 0,i={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:",source:"@site/docs/legacy/v5/basics/helpers.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/helpers",permalink:"/docs/legacy/v5/basics/helpers",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"helpers",title:"Helpers",sidebar_label:"Helpers"},sidebar:"docs",previous:{title:"Storybook",permalink:"/docs/legacy/v5/basics/blocks-storybook"},next:{title:"JavaScript",permalink:"/docs/legacy/v5/basics/helpers-javascript"}},a={},l=[];function p(e){const s={a:"a",li:"li",p:"p",ul:"ul",...(0,n.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:"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:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"helpers-javascript",children:"JavaScript Helpers"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"helpers-scss",children:"Scss Helpers"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"helpers-php",children:"Php Helpers"})}),"\n"]})]})}function h(e={}){const{wrapper:s}={...(0,n.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(p,{...e})}):p(e)}},11151:(e,s,r)=>{r.d(s,{Z:()=>i,a:()=>o});var t=r(67294);const n={},c=t.createContext(n);function o(e){const s=t.useContext(c);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function i(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:o(e.components),t.createElement(c.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9f7aca5a.f4e13d91.js b/assets/js/9f7aca5a.f4e13d91.js new file mode 100644 index 000000000..69fa8b41c --- /dev/null +++ b/assets/js/9f7aca5a.f4e13d91.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[49800],{8284:(e,s,r)=>{r.r(s),r.d(s,{assets:()=>l,contentTitle:()=>o,default:()=>h,frontMatter:()=>c,metadata:()=>i,toc:()=>a});var t=r(17624),n=r(4552);const c={id:"helpers",title:"Helpers",sidebar_label:"Helpers"},o=void 0,i={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:",source:"@site/docs/legacy/v5/basics/helpers.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/helpers",permalink:"/docs/legacy/v5/basics/helpers",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"helpers",title:"Helpers",sidebar_label:"Helpers"},sidebar:"docs",previous:{title:"Storybook",permalink:"/docs/legacy/v5/basics/blocks-storybook"},next:{title:"JavaScript",permalink:"/docs/legacy/v5/basics/helpers-javascript"}},l={},a=[];function p(e){const s={a:"a",li:"li",p:"p",ul:"ul",...(0,n.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:"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:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"helpers-javascript",children:"JavaScript Helpers"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"helpers-scss",children:"Scss Helpers"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"helpers-php",children:"Php Helpers"})}),"\n"]})]})}function h(e={}){const{wrapper:s}={...(0,n.M)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(p,{...e})}):p(e)}},4552:(e,s,r)=>{r.d(s,{I:()=>i,M:()=>o});var t=r(11504);const n={},c=t.createContext(n);function o(e){const s=t.useContext(c);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function i(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:o(e.components),t.createElement(c.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a0d23381.3de22752.js b/assets/js/a0d23381.3de22752.js deleted file mode 100644 index ff3964e1e..000000000 --- a/assets/js/a0d23381.3de22752.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[8891],{53683:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>o,contentTitle:()=>l,default:()=>m,frontMatter:()=>s,metadata:()=>a,toc:()=>c});var t=n(85893),r=n(11151);const s={id:"mailerlite",title:"MailerLite"},l=void 0,a={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.",source:"@site/forms/integrations/mailerlite.md",sourceDirName:"integrations",slug:"/integrations/mailerlite",permalink:"/forms/integrations/mailerlite",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"mailerlite",title:"MailerLite"},sidebar:"forms",previous:{title:"Mailer",permalink:"/forms/integrations/mailer"},next:{title:"Moments",permalink:"/forms/integrations/moments"}},o={},c=[{value:"Website",id:"website",level:3},{value:"API Version",id:"api-version",level:3},{value:"API Documentation",id:"api-documentation",level:3},{value:"Integration type",id:"integration-type",level:3},{value:"Supported fields:",id:"supported-fields",level:3}];function d(e){const i={a:"a",h3:"h3",li:"li",p:"p",ul:"ul",...(0,r.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.p,{children:"MailerLite is an email service provider that makes it easier to plan email marketing campaigns for any growing business."}),"\n",(0,t.jsx)(i.h3,{id:"website",children:"Website"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:(0,t.jsx)(i.a,{href:"https://www.mailerlite.com/",children:"Visit website"})}),"\n"]}),"\n",(0,t.jsx)(i.h3,{id:"api-version",children:"API Version"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"V2"}),"\n"]}),"\n",(0,t.jsx)(i.h3,{id:"api-documentation",children:"API Documentation"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:(0,t.jsx)(i.a,{href:"https://developers.mailerlite.com/docs",children:"Documentation"})}),"\n"]}),"\n",(0,t.jsx)(i.h3,{id:"integration-type",children:"Integration type"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"Form builder provided by the service."}),"\n"]}),"\n",(0,t.jsx)(i.h3,{id:"supported-fields",children:"Supported fields:"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"Text"}),"\n",(0,t.jsx)(i.li,{children:"Date"}),"\n",(0,t.jsx)(i.li,{children:"Number"}),"\n",(0,t.jsx)(i.li,{children:"Phone"}),"\n",(0,t.jsx)(i.li,{children:"Date"}),"\n"]})]})}function m(e={}){const{wrapper:i}={...(0,r.a)(),...e.components};return i?(0,t.jsx)(i,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},11151:(e,i,n)=>{n.d(i,{Z:()=>a,a:()=>l});var t=n(67294);const r={},s=t.createContext(r);function l(e){const i=t.useContext(s);return t.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function a(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:l(e.components),t.createElement(s.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a0d23381.8a783711.js b/assets/js/a0d23381.8a783711.js new file mode 100644 index 000000000..0f77724e3 --- /dev/null +++ b/assets/js/a0d23381.8a783711.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[41628],{964:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>a,contentTitle:()=>l,default:()=>m,frontMatter:()=>s,metadata:()=>o,toc:()=>c});var t=n(17624),r=n(4552);const s={id:"mailerlite",title:"MailerLite"},l=void 0,o={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.",source:"@site/forms/integrations/mailerlite.md",sourceDirName:"integrations",slug:"/integrations/mailerlite",permalink:"/forms/integrations/mailerlite",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"mailerlite",title:"MailerLite"},sidebar:"forms",previous:{title:"Mailer",permalink:"/forms/integrations/mailer"},next:{title:"Moments",permalink:"/forms/integrations/moments"}},a={},c=[{value:"Website",id:"website",level:3},{value:"API Version",id:"api-version",level:3},{value:"API Documentation",id:"api-documentation",level:3},{value:"Integration type",id:"integration-type",level:3},{value:"Supported fields:",id:"supported-fields",level:3}];function d(e){const i={a:"a",h3:"h3",li:"li",p:"p",ul:"ul",...(0,r.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.p,{children:"MailerLite is an email service provider that makes it easier to plan email marketing campaigns for any growing business."}),"\n",(0,t.jsx)(i.h3,{id:"website",children:"Website"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:(0,t.jsx)(i.a,{href:"https://www.mailerlite.com/",children:"Visit website"})}),"\n"]}),"\n",(0,t.jsx)(i.h3,{id:"api-version",children:"API Version"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"V2"}),"\n"]}),"\n",(0,t.jsx)(i.h3,{id:"api-documentation",children:"API Documentation"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:(0,t.jsx)(i.a,{href:"https://developers.mailerlite.com/docs",children:"Documentation"})}),"\n"]}),"\n",(0,t.jsx)(i.h3,{id:"integration-type",children:"Integration type"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"Form builder provided by the service."}),"\n"]}),"\n",(0,t.jsx)(i.h3,{id:"supported-fields",children:"Supported fields:"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"Text"}),"\n",(0,t.jsx)(i.li,{children:"Date"}),"\n",(0,t.jsx)(i.li,{children:"Number"}),"\n",(0,t.jsx)(i.li,{children:"Phone"}),"\n",(0,t.jsx)(i.li,{children:"Date"}),"\n"]})]})}function m(e={}){const{wrapper:i}={...(0,r.M)(),...e.components};return i?(0,t.jsx)(i,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},4552:(e,i,n)=>{n.d(i,{I:()=>o,M:()=>l});var t=n(11504);const r={},s=t.createContext(r);function l(e){const i=t.useContext(s);return t.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function o(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:l(e.components),t.createElement(s.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a112d798.230837a3.js b/assets/js/a112d798.230837a3.js deleted file mode 100644 index df7b8fae8..000000000 --- a/assets/js/a112d798.230837a3.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[83304],{50631:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>o,default:()=>p,frontMatter:()=>s,metadata:()=>l,toc:()=>m});var r=n(85893),i=n(11151),a=n(8122);const s={id:"pipedrive",title:"Pipedrive"},o=void 0,l={id:"php/filters/integrations/pipedrive",title:"Pipedrive",description:"",source:"@site/forms/php/filters/integrations/pipedrive.mdx",sourceDirName:"php/filters/integrations",slug:"/php/filters/integrations/pipedrive",permalink:"/forms/php/filters/integrations/pipedrive",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"pipedrive",title:"Pipedrive"},sidebar:"forms",previous:{title:"Workable",permalink:"/forms/php/filters/integrations/workable"},next:{title:"Pre-Post Params",permalink:"/forms/php/filters/entries/pre-post-params"}},d={},m=[];function f(t){return(0,r.jsx)(a.k,{name:"Pipedrive",filter:"pipedrive",onlyUse:["prePostParamsFilter"]})}function p(t={}){const{wrapper:e}={...(0,i.a)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(f,{...t})}):f()}},8122:(t,e,n)=>{n.d(e,{F:()=>o,k:()=>s});n(67294);var r=n(9286),i=n(61684),a=n(85893);function s(t){let{filter:e,onlyUse:n=["dataFilter","orderFilter","prePostIdFilter","prePostParamsFilter"]}=t;return(0,a.jsxs)(a.Fragment,{children:[n.includes("dataFilter")&&(0,a.jsx)(l,{filter:e}),n.includes("orderFilter")&&(0,a.jsx)(d,{filter:e}),n.includes("prePostIdFilter")&&(0,a.jsx)(m,{filter:e}),n.includes("prePostParamsFilter")&&(0,a.jsx)(f,{filter:e})]})}function o(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{children:"Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc."}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\tadd_filter('es_forms_block_"+e+"_additional_content', function(): string {\n\t\t\t\treturn '<custom-string>';\n\t\t\t})\n\t\t\t")})]})}function l(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Data filter"}),(0,a.jsx)("p",{children:"Allows modifying form field data before it's shown in the Block Editor or output on the frontend."}),(0,a.jsx)("p",{children:"Useful if, for example, you want to ensure that all fields fit into a 2-column layout."}),(0,a.jsx)("p",{children:"Overrides any Block Editor changes!"}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\tadd_filter('es_forms_integrations_"+e+'_data\', \'getIntegrationFilterData\', 10, 2);\n\n\t\t\t/**\n\t\t\t * Manipulate form fields data before it is sent to the Block Editor.\n\t\t\t *\n\t\t\t * @param array<mixed> $data Form fields data.\n\t\t\t * @param string $formId Form ID.\n\t\t\t *\n\t\t\t * @return array<mixed>\n\t\t\t */\n\t\t\tfunction getIntegrationFilterData(array $data, string $formId): array\n\t\t\t{\n\t\t\t\tforeach ($data as $index => $field) {\n\t\t\t\t\t$component = $field[\'component\'] ?? \'\';\n\n\t\t\t\t\tif (!$component) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t$name = $field["{$component}Name"] ?? \'\';\n\n\t\t\t\t\tif (!$name) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch ($name) {\n\t\t\t\t\t\tcase \'firstname\':\n\t\t\t\t\t\tcase \'lastname\':\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthMobile"] = 12;\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthLarge"] = 6;\n\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"] = array_merge(\n\t\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthMobile",\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthLarge",\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t')})]})}function d(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Order filter"}),(0,a.jsx)("p",{children:"Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor."}),(0,a.jsxs)("p",{children:["Not all fields need to have an order defined. For example, you may want to make sure ",(0,a.jsx)("code",{children:"firstname"}),", ",(0,a.jsx)("code",{children:"lastname"})," and ",(0,a.jsx)("code",{children:"email"})," are displayed first, but other fields follow their Block editor order."]}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_order', 'getIntegrationOrder');\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Forces form field order for the provided fields. For other fields, Block editor order is used.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationOrder(): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t'firstname',\n\t\t\t\t\t\t\t'lastname',\n\t\t\t\t\t\t\t'email',\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t")})]})}function m(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post ID filter"}),(0,a.jsx)("p",{children:"Allows updating item IDs sent to external integrations to which the form data is sent."}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_pre_post_id', 'getIntegrationPrePostId', 10, 3);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies integration item ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @param string $itemId Integration item ID.\n\t\t\t\t\t * @param array<mixed> $params Params to be sent to the integration.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @return array<mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostId(string $itemId, array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn $itemId;\n\t\t\t\t\t}\n\t\t\t\t")})]})}function f(t){let{filter:e}=t,n="";if("mailer"===e)n="mailer system";else n="external integration";return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post parameters filter"}),(0,a.jsxs)("p",{children:["Allows modifying form field data before it's sent to ",n,". Useful if you want to make values derived from the sent data, or add new fields."]}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_pre_post_params', 'getIntegrationPrePostParams', 10, 2);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies form field data before it's sent to "+n+".\n\t\t\t\t\t *\n\t\t\t\t\t * @param array<string, mixed> $params Array of params.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string, mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostParams(array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\t$formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? '';\n\n\t\t\t\t\t\tif ($formSubmissionPageLt) {\n\t\t\t\t\t\t\t$params['ib-submission-source'] = [\n\t\t\t\t\t\t\t\t'name' => 'ib-submission-source',\n\t\t\t\t\t\t\t\t'value' => $formSubmissionPageLt,\n\t\t\t\t\t\t\t\t'type' => 'text',\n\t\t\t\t\t\t\t\t'internalType' => '',\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn $params;\n\t\t\t\t\t}\n\t\t\t\t")})]})}},61684:(t,e,n)=>{function r(t){const e=t.split(/\n/g);for(;0===(null==(n=e[0])?void 0:n.replace(/\s/g,"").length);){var n;e.shift()}for(;0===(null==(r=e[e.length-1])?void 0:r.replace(/\s/g,"").length);){var r;e.pop()}const i=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>{var e,n;return null!=(e=null==(n=t.match(/^\s*/))||null==(n=n[0])?void 0:n.length)?e:0})),a=Math.min(...i);return e.map((t=>t.slice(a))).join("\n")}n.d(e,{p:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/a112d798.c0e54b12.js b/assets/js/a112d798.c0e54b12.js new file mode 100644 index 000000000..192e1b090 --- /dev/null +++ b/assets/js/a112d798.c0e54b12.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[38980],{96488:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>l,contentTitle:()=>o,default:()=>p,frontMatter:()=>s,metadata:()=>d,toc:()=>m});var r=n(17624),i=n(4552),a=n(80148);const s={id:"pipedrive",title:"Pipedrive"},o=void 0,d={id:"php/filters/integrations/pipedrive",title:"Pipedrive",description:"",source:"@site/forms/php/filters/integrations/pipedrive.mdx",sourceDirName:"php/filters/integrations",slug:"/php/filters/integrations/pipedrive",permalink:"/forms/php/filters/integrations/pipedrive",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"pipedrive",title:"Pipedrive"},sidebar:"forms",previous:{title:"Workable",permalink:"/forms/php/filters/integrations/workable"},next:{title:"Pre-Post Params",permalink:"/forms/php/filters/entries/pre-post-params"}},l={},m=[];function f(t){return(0,r.jsx)(a.y,{name:"Pipedrive",filter:"pipedrive",onlyUse:["prePostParamsFilter"]})}function p(t={}){const{wrapper:e}={...(0,i.M)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(f,{...t})}):f()}},80148:(t,e,n)=>{n.d(e,{g:()=>o,y:()=>s});n(11504);var r=n(1608),i=n(96616),a=n(17624);function s(t){let{filter:e,onlyUse:n=["dataFilter","orderFilter","prePostIdFilter","prePostParamsFilter"]}=t;return(0,a.jsxs)(a.Fragment,{children:[n.includes("dataFilter")&&(0,a.jsx)(d,{filter:e}),n.includes("orderFilter")&&(0,a.jsx)(l,{filter:e}),n.includes("prePostIdFilter")&&(0,a.jsx)(m,{filter:e}),n.includes("prePostParamsFilter")&&(0,a.jsx)(f,{filter:e})]})}function o(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{children:"Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc."}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\tadd_filter('es_forms_block_${e}_additional_content', function(): string {\n\t\t\t\treturn '<custom-string>';\n\t\t\t})\n\t\t\t`)})]})}function d(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Data filter"}),(0,a.jsx)("p",{children:"Allows modifying form field data before it's shown in the Block Editor or output on the frontend."}),(0,a.jsx)("p",{children:"Useful if, for example, you want to ensure that all fields fit into a 2-column layout."}),(0,a.jsx)("p",{children:"Overrides any Block Editor changes!"}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\tadd_filter('es_forms_integrations_${e}_data', 'getIntegrationFilterData', 10, 2);\n\n\t\t\t/**\n\t\t\t * Manipulate form fields data before it is sent to the Block Editor.\n\t\t\t *\n\t\t\t * @param array<mixed> $data Form fields data.\n\t\t\t * @param string $formId Form ID.\n\t\t\t *\n\t\t\t * @return array<mixed>\n\t\t\t */\n\t\t\tfunction getIntegrationFilterData(array $data, string $formId): array\n\t\t\t{\n\t\t\t\tforeach ($data as $index => $field) {\n\t\t\t\t\t$component = $field['component'] ?? '';\n\n\t\t\t\t\tif (!$component) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t$name = $field["{$component}Name"] ?? '';\n\n\t\t\t\t\tif (!$name) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch ($name) {\n\t\t\t\t\t\tcase 'firstname':\n\t\t\t\t\t\tcase 'lastname':\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthMobile"] = 12;\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthLarge"] = 6;\n\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"] = array_merge(\n\t\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthMobile",\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthLarge",\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t`)})]})}function l(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Order filter"}),(0,a.jsx)("p",{children:"Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor."}),(0,a.jsxs)("p",{children:["Not all fields need to have an order defined. For example, you may want to make sure ",(0,a.jsx)("code",{children:"firstname"}),", ",(0,a.jsx)("code",{children:"lastname"})," and ",(0,a.jsx)("code",{children:"email"})," are displayed first, but other fields follow their Block editor order."]}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_order', 'getIntegrationOrder');\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Forces form field order for the provided fields. For other fields, Block editor order is used.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationOrder(): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t'firstname',\n\t\t\t\t\t\t\t'lastname',\n\t\t\t\t\t\t\t'email',\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t`)})]})}function m(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post ID filter"}),(0,a.jsx)("p",{children:"Allows updating item IDs sent to external integrations to which the form data is sent."}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_pre_post_id', 'getIntegrationPrePostId', 10, 3);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies integration item ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @param string $itemId Integration item ID.\n\t\t\t\t\t * @param array<mixed> $params Params to be sent to the integration.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @return array<mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostId(string $itemId, array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn $itemId;\n\t\t\t\t\t}\n\t\t\t\t`)})]})}function f(t){let{filter:e}=t,n="";if("mailer"===e)n="mailer system";else n="external integration";return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post parameters filter"}),(0,a.jsxs)("p",{children:["Allows modifying form field data before it's sent to ",n,". Useful if you want to make values derived from the sent data, or add new fields."]}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_pre_post_params', 'getIntegrationPrePostParams', 10, 2);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies form field data before it's sent to ${n}.\n\t\t\t\t\t *\n\t\t\t\t\t * @param array<string, mixed> $params Array of params.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string, mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostParams(array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\t$formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? '';\n\n\t\t\t\t\t\tif ($formSubmissionPageLt) {\n\t\t\t\t\t\t\t$params['ib-submission-source'] = [\n\t\t\t\t\t\t\t\t'name' => 'ib-submission-source',\n\t\t\t\t\t\t\t\t'value' => $formSubmissionPageLt,\n\t\t\t\t\t\t\t\t'type' => 'text',\n\t\t\t\t\t\t\t\t'internalType' => '',\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn $params;\n\t\t\t\t\t}\n\t\t\t\t`)})]})}},96616:(t,e,n)=>{function r(t){const e=t.split(/\n/g);for(;0===e[0]?.replace(/\s/g,"").length;)e.shift();for(;0===e[e.length-1]?.replace(/\s/g,"").length;)e.pop();const n=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>t.match(/^\s*/)?.[0]?.length??0)),r=Math.min(...n);return e.map((t=>t.slice(r))).join("\n")}n.d(e,{c:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/a12ac645.892517a6.js b/assets/js/a12ac645.892517a6.js deleted file mode 100644 index 98564fb2f..000000000 --- a/assets/js/a12ac645.892517a6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[88427],{24655:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>r,contentTitle:()=>l,default:()=>f,frontMatter:()=>n,metadata:()=>a,toc:()=>c});var i=s(85893),o=s(11151);const n={id:"multisteps-forms",title:"Multi-steps forms"},l=void 0,a={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.",source:"@site/forms/features/multisteps-forms.md",sourceDirName:"features",slug:"/features/multisteps-forms",permalink:"/forms/features/multisteps-forms",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"multisteps-forms",title:"Multi-steps forms"},sidebar:"forms",previous:{title:"Validation",permalink:"/forms/features/validation"},next:{title:"Spam prevention",permalink:"/forms/features/spam-prevention"}},r={},c=[{value:"Steps block",id:"steps-block",level:2},{value:"Multi-steps options",id:"multi-steps-options",level:2},{value:"How to create a multi-steps form?",id:"how-to-create-a-multi-steps-form",level:2},{value:"How to create a multi-flow form?",id:"how-to-create-a-multi-flow-form",level:2}];function h(e){const t={admonition:"admonition",code:"code",h2:"h2",img:"img",li:"li",p:"p",ul:"ul",...(0,o.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"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."}),"\n",(0,i.jsx)(t.p,{children:"We have two types of multi-step forms:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"Multi-steps form"})," - The user must pass through all steps to submit the form."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"Multi-flows form"})," - The user may skip some steps based on the conditionals created in form settings."]}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"Multi-steps screen",src:s(18178).Z+"",width:"907",height:"850"})}),"\n",(0,i.jsx)(t.h2,{id:"steps-block",children:"Steps block"}),"\n",(0,i.jsx)(t.p,{children:"We now offer a \"steps\" block for creating multi-step forms. You'll need to add at least one step block to use it. Like the input block, the steps block has a field for defining a unique name. Make sure the name is specific to this step and doesn't include any spaces or special characters."}),"\n",(0,i.jsx)(t.p,{children:"When you define a step name, you can define a few other options:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"label"})," - this is a label that will be displayed in the steps navigation. If this feature is turned off in the form block options, we will show only dots."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"button labels"})," - you can define a custom label for each step's next and previous buttons. By default, the next button label is ",(0,i.jsx)(t.code,{children:"Next"}),", and the previous button label is ",(0,i.jsx)(t.code,{children:"Previous"}),"."]}),"\n"]}),"\n",(0,i.jsx)(t.admonition,{type:"caution",children:(0,i.jsx)(t.p,{children:"When you add a new step block, every block underneath it will be a part of that step."})}),"\n",(0,i.jsx)(t.admonition,{type:"tip",children:(0,i.jsx)(t.p,{children:'If you don\'t add a first step, it will be automatically added with the label "Init."'})}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"Multi-steps steps screen",src:s(88634).Z+"",width:"278",height:"676"})}),"\n",(0,i.jsx)(t.h2,{id:"multi-steps-options",children:"Multi-steps options"}),"\n",(0,i.jsx)(t.p,{children:"To access multi-step options, click on the 'Form' block and check the options in the sidebar. Note that these options are only available if there are steps in the form."}),"\n",(0,i.jsx)(t.p,{children:"Available options are:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"Show progress bar"})," - This option will add a progress bar to the top of the form, displaying the current and completed steps."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"Hide progress bar labels"})," - This option works in combination with the previous one. If you select it, the progress bar will display only the step as a dot without showing the labels for each step."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"Progress bar initial steps number"})," - This option allows you to choose the number of steps shown in the progress bar for multi-flow forms."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"Flow preview"})," - This option will open a modal window displaying your form's flow preview. It is helpful when you have many steps and want to visualize the flow."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"Multi-flow"})," - Enabling this option will transform your form into a multi-flow form."]}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"Multi-steps options screen",src:s(87268).Z+"",width:"317",height:"412"})}),"\n",(0,i.jsx)(t.h2,{id:"how-to-create-a-multi-steps-form",children:"How to create a multi-steps form?"}),"\n",(0,i.jsx)(t.p,{children:"You must add at least one step block to create a multi-step form. This will give you two steps on your form. You can configure additional flow options in the form block sidebar."}),"\n",(0,i.jsx)(t.h2,{id:"how-to-create-a-multi-flow-form",children:"How to create a multi-flow form?"}),"\n",(0,i.jsx)(t.p,{children:"You must include at least one step block to create a multi-step form. Then, go to the multi-flow options in the form block sidebar and select the \"multi-flow\" option. The purpose of this option is to modify the flow of the user's experience. If you don't define flow corrections, your form will function as a multi-step form and progress to the next available step."}),"\n",(0,i.jsx)(t.admonition,{type:"caution",children:(0,i.jsx)(t.p,{children:"If you change the step name after the flow is defined, you will need to reconfigure the flow."})}),"\n",(0,i.jsx)(t.p,{children:'To begin, you must establish the correlation between the flows. This involves defining the "start step" and "end step" and configuring the rules as you would for conditional tags.'}),"\n",(0,i.jsx)(t.p,{children:"The progress bar can only be displayed as dots instead of labels when using the multi-flow form. This is because it is impossible to predict where the user will go next, making it difficult to show the correct flow number. However, you can manually add the number of available steps after each flow rule. In the initial step, you can define this number in the form block options."}),"\n",(0,i.jsx)(t.p,{children:'Additionally, there is an option to turn off the "next" button for a particular step. This can be useful for creating a step where the user can only go back and not progress to the next step.'}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"Multi-steps flow screen",src:s(28331).Z+"",width:"1359",height:"707"})}),"\n",(0,i.jsx)(t.p,{children:"We highly recommend using the preview option to test your form's behavior and various user flows."}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"Multi-steps preview screen",src:s(57624).Z+"",width:"1452",height:"643"})}),"\n",(0,i.jsx)(t.admonition,{type:"caution",children:(0,i.jsx)(t.p,{children:"If no flow changes the form flow, a form will behave like a multi-steps form."})})]})}function f(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}},28331:(e,t,s)=>{s.d(t,{Z:()=>i});const i=s.p+"assets/images/multisteps-flow-4fa8ec51ec4bb8ae67b3422b862e8a6a.webp"},87268:(e,t,s)=>{s.d(t,{Z:()=>i});const i="data:image/webp;base64,UklGRsglAABXRUJQVlA4ILwlAABQjgCdASo9AZwBPjEYikOiIaER2kVEIAMEs7d06CwKsGqct4N4D/Cfjdz2nHsIHQB58HNP+E+5X6Bf4T/AfwD3f/lL+2e4B+lfTr8wH8W/uH/W/wHvJf7T/AexX0AP2G6zn0Kf1a9ML9n/hJ/a/9ovai/9mtEeG/5V+NPff/QPxc/eD1z/Dvin53+Ov94/W3n7c8/2H0G/hn0++ff2f9jf7n+y/xT/c/yX/I72R99moF+J/xf+ffj3/R/3B9rn+c7a/Of71/nvxA+AL01+T/2T+8fsz/Uv2w9cv9M/ET97fkr8w/qf9y/Hz+if//8AP43/IP6//a/2e/rv/9+c/7r/mPF28f/0XuA/xr+Vf2r+yf4L/W/3b///8D8Rf2j/Kf3X/U/9X+3////4fDv8t/s/+c/xX96/6P9+////c/QT+NfzH++f2v/K/8H+8f///xfcT62P27/8vuZfqv/xPz6Hch/sU0EbI7IyewnZEuWQFSynTsdn0H+5Rp4oeJeJ5QluPzFJJ//UHjgdK/12BSv0H0j4AZVYziNk//7toUDOeCNbjGW4VE6BKxSeXzzhmFRkun6n5Nahar+hB/uUaeKHiXdLfiG4p1Ql1ME82FmNMCZnCWyrdC6ILyc7IGR1fh/AKy6946UHvLacBCtuzLIk57rWjzIyA51p235D3H0fCcIP6y60Ug9yxUKi3hbYfb9xWx62H/1nLogeI+iWOIDiSedAsqyTVXaK1DwdxIP9yjTxbZ2IL1POS8Qlp3AMVlWU6QtRthchlRecaHO0ZPnHJeiqEJ2Uql6F+wVjr7cRM/UZvXGmllz4YcTrf60r5qdoUldj7PuV+3adfYTDjQP7uCnWt0qaN1bqtQhNaNkIfviZcR54ptagxCMszenGQE463jLutG5Rl8ybHB8LpoABH4CqJgg247ewITp/G/1wWybHkyr++yhi+QOD1P0gAz8pjL8AKvxAwU45fM8PDdrd5k29DrtfIo2LrYp8y6hFbnp2R9XjjEOCxtNTalaZkZSSJSOzDPml8BHm+EJ4oeJeLZRpqVhjyM3wbL3UaQh7iw9YxYesYsPWMWGuqIKH3lwPEvFso08UPEEj6BPkqRG/uGjl/u7zdCT8IXCtIR/vMYvlqtA2AlJTuah4l2ZZh5VOKwut000+KqXsVxI7sOlqsqDy8O9HCacNmEEGEHMgj9tWFCJeLSwQ2eyTUrrVzYk8w3hBgB0uKwQdFsoD/OLcpSpWO2tBW2f47i45ZeTCRDDUCwkZYisolC2QaN0BRPMs8DAP/lTvIrhwP3nJrQ1ZbFacMUUiCzAXq3+a8KjTELLJ/mO9xUL+27uiw7zeuVCNYoQvWQYqTbZhUZHO+WXbvAyfepcl90fKJvWzCo08UrZGAtYdtbj8U6eio9GEjLa7Yn5mXQpzipiQf7jB0wI0gnzUVaV/cMAZi+iBVbURSIKF6pD+1lcSXpyEE1TxQ8Mi1NmJj/DmbbMKjTxQqzSpMmUaeKHiXi1MOFLDJ8BU+lZPYTsiXLH4BKzAAP7G8qrEHr2IoywVfWih4+W4P6Jy6CYpl2If9pjFpTVsf3/8nywvBaWhQ3IKVEIAC8Q6/DhU8nuvXJC0Ae2KOjSl2euW50Hl/VYwsdwQkS6hwZJPLuLbf0jRDDl+hWgaiHoeclo1aolfkLhrXlckjHWxCrF8xkYl23P8BN2dj8Gr0jaCwx9lzRsas9lqLbNjqlVvTvvG4ZR5uVsloKUjZfsiEg0Z1KNyY+crpdMLwUSc/2h+r61fIcM/Q5TxY/TstOdFoywQDXRI/uZ2hclzekEmTvQ/W4qQEy6gEk7OpY2ZZAbVkVqSkomy03Ml3oqCTZxiJKUkvo9R73vunksqx/d6VTGLXgv8LiQmP4MerNFLgRywEtFvmdAdcZR6mWtp/9EWaYEyGCoMoD//m3++QpcKE/gQ5slK4mtZPlxTxr6/pivrd+uQlWXSvenB9ou73Za2+z800phb3hZy/st+XMl04mFLJFz1/JvT+m+LI0dj0OvG1dRE3f7bd83IFOHLqdF+lIem+k8FOAGdq501lin7EyQ6n3x0KbXmXOEk2MbzJwVckLjZTp59/R+BULG1DR2H3Lfn7UypVuEeSRSi5xS+4ti+uw+E3ZBvMvTmWvbQVLuUjvU493xN1XNRORiBPCbEnge3qoUr6e1gfBhWVtRpK+89GLweoEHrjuizkD9mpa7G/k+EHwhRIcZQvKqsoXVbYEI5YJp/pcUWdxwZ2ukcQ0xHkEqfFTMX6zWAKw5N88DxSBmBeulBIxtWLXGJWsn7a3rTBr39bULnerv1nFd8FDc4naW/UIJIa6YmkLVmffTqfiGbcq8o/slzj3eMN13GKLMh8fnRDv7vyks9ODkH//p//nXVXFcOkKi5ZHfEkDoSzTbNNriW7it4xDa7VE+l/hbjHDJXTla1KGKV3heVLtG9Ef2bzfdpDcjZWfYO/a+53DITtfapBYYsuqUEz6qzGu/KRfyQS+zYvg+xlFYpn36X8/0lkLO+0RRpiqBGSPt9tYbocZpfaE8FO3vh1wnUcbf9AOooblDfxW7kz2VbmWjqPT1giRza9huCsDRv1LpDxt64rzGBvvjrc/2Qd4smM8kKmAjdOAIVkvSJGmQSeVx5968VC0v283E0GxbjVVf/A5Lg1a1pTsWmHmOUYo+MKrNH2mk4MujwXX2BcOpBLwWxNaqnPSAH9z+Chi66DRfnttEBkRqZgxC+AF4OCrGqKhBSNf0cwpPZAO02dH6AlL7o06nkrA6NiDMuXFu9EW9wjTyleX8aM7kWFBbV37HowQ/SFu+iaQtcpVMvXTdh5gHyh9iM/mzGM6gWGFopR0EV36PUn5yPUzSw+4drd+pVR/NeUF10b7qWLP9plXElkIXUNJo+N6ltLewe6nkRYihFLgtkYbzT5bU3ou7V/JH5eCKF2oItduDHbNi5Y6lkltRL49NoB6hVBnYqLsLmEU2COjTScEnCxKQjH0MOp5z1JkbGOrLu7wPuOuQxbsVA02YwDVLbH9xcb9URhmL3P4xoZ6+uSY7sNClM/4Lxo3lqUuT8k5d7Hxwm+1DtJQQ/MI3g5dBLGsGTRIP+2cyE5rZfO4ujVP9bVYGEQMvVZzrNrC3pAkm1cguAGnqcWyf5r2TPK5sHIb5LBgieUQzC4PFSq96K3zrlze+QJEHFS9oZeKIixCq9kwfToIat53TOCbfOMNod/SdaiumUNDljp7AhM/MY86V7Evll0pEIAgimOTqPgTL3wpzP6PJOy9qrzdjjyAOF6iOMgItigK8lQD+23DO0V9N1qIc41qeHnwWWf4Zz2tuSsK5a5Leeu3YAchi8+u+b8f5rEJs4P6ZYeZkHsuIg33Vpv+veBFTrAp5xSMVJO/LFfEQCPephswRq0wA/H+xKBNxcPpPR9WCUu3x4eUntopN6Zo6ts/GR+BwBRGNaEWPFRaVOu5iW12YiYK67GLrCSFU5x2kgtiDa7NDf7Bh4E5Fkbd7aAHnywH5NN5jsNl7reeBmFZIkbhsoOz7rFASbAdn2OFsnTOWMCn1MfQABcylaI1TJYUZav2l3q9bf7AsSMdWBR2esXs0gZli4rehCh8YlzY923iz7RRM5xS3yIJHfUdfwLEsUd+6WNXgm1TCaIDCg98zgQTkVv0MbvArSqGbIM6qdbyDrwvCJybA5R45oIwtdxJcHDWiJ3AoBwKgQACxK8qZ05CJKkD8reu9G057EbzwM/1kgzl023qfveEIBfeFkFque1IhwCeYcQAtgIio9ErBgOUOcJ38xaUMY06U5373meS52NKrCpxF6otDrgs08QoFBF/mnotBAN4VElXldj9sw4oGen0f01pXsfoHXWtq7Owh3q4/bqSx+61MIyE0eAsah4kAmadOqCli2tHLTddqHeOuBUbLhKJIsFO3+sRZ7jxyMZsh39zLLQORT6V0lPbQ9V/vKDlqisqY6UPiSHPxyEwRdIVLIcWEHsCb4SD8frXAQXdkeJXBYJYMeADftt24VGMvJyLMGtgaXFWLEs4DAdSqnTZe6JD9qnXZIyna2A1m48QXASJaYnNVzpwKym1iCSe8lYD6w1acZwMyqocswHVLu181rCLQ6KGGXQUZm9SLBmG7Iucrcp9ZLBNgeYYpKw/TuV2GASmwianRag/L9vibZZNIxyVRSBZEGNE8aH4Srfr9JOTfa98VSw9SqLuICzo1K53qvhPMP7/RuDOCqb3SH6BVN63y/KhjrS9W17/q/fGWiltFRi4VrsAxJ8klU9E3K3wJCsSGYfY9zpLZrRet9SwI4PnP+flT/a1E+/Hs4lo5PzwVVIGDd36AACUan4JG15fAsUeVtQmIMf11gYcxTXAeTyRdtsbMomCXcThwgooEsQvIR9uRfLFu7I3NIoVWhTTiv+KZmSA1tv3q1B7FBftXm4xy+EnnXj5jwwWeIdyYtl+GF8hdPX+UUmIvtTg+bdZqsQOZIsZe0LmS8+hyc2xEASogc9YA0RxPukYgmcBQtpfisXflho7Olx0K76kDSM2cnKeNROU855DlEjaGasTPeYTcShgIK0Anv9d+HuwYopwBuGtHo7TsAn+WTTXO4P19OHBJa3GqWi/7gK7DiX8usPpfSZ/fh5uI7RSKpMBhKLoV1PztO2wT++OG7+Pmsv4mpszMx95V9MvciAcYNrEcDgW3RO7shWM3Y1QtE5hO+8cNmOPwpn3L3KbE5XvGpMuVJK4a//NmpE60b1GjrDO9OOGH58O4BX77y+4FnyU9WHz7t8pamVKomNewD30jIhHTdLaUq9isTipLgp2hbw1ScvZAejrx10V3mMun07/bYqEmCSCqAAIoiHTOTVVFUJSPVh6fjygRp2fxC19Bkz0Ji3bPNJ77Zfwov9yXU5uf5FqhN7fiLc4WbEBg+CEgQLRFCMXcsONEzdL0Tmbx5ASas8W1J+s8McofCsXS68wIN4cVM2AhYooRFdqxUtXoFIothWTYwUzE2Hvzz8q1CfkqGTJUw1DTTl05mjACeExZB9aCq0hQnLy6LnSLGvVklveEB+B4Q3GmZdoa+V3BR5UNUwGjj6QBajMuBx4MIJMTMxL/HDCt+4YXxfouuxQL4ZCSVdKKcEn8VjUORUblgOgZDlDBpePHvvL1UV/cuCQBB9Ze2RP30NonZB4Xguv0ud8/c6o+7th+qM19Gw0nNUjlJt/Da24jIATc4oV0Na5KdyiLJztXc825QTSDV1cxYE66hmUeu2sMh7PdiGv+UxkKQZYo0QPqtUI5BM8h+VCmsy8J69QAd16D5rjYw6UK60srfSmGvCO80jK5PAXtGbZtDOTC5/ss5OSLQMtuFDwbNmKesQbPZifmyzexu85WBf4q9e5O1nKbMO5hk3jl0DJ57O8YQwiNUNDI/X+g4C4LJ8hDrA6ccHh6AbvGxDEi1E+Q97HASEQfCA+mP2kfQ9BI4Zcwr1LgYHdgX4Juc0c6Bc7uVCiTKa0BkNqlOZCVTixXM/mM+b7l7u2d6QUbf+sIGsc7yULjAcSe8K+XbNtuQ+nvwuFZTGzTT1E4yVxx3lQGXPTHlhOFDTgdHoCwIeS8KYUUdOfrKe2iBC5WMWSRRUigRMYAy2j34SRJ3JnpfZCVqOCUsKgmUvsKS26IHeLitmuQUaKg/EOIV0A73g/CpBXhFuF5mnYWxDCV7pQG+UVvGTdM3lF53U3wpxpKG+uGhV1D4giqLHJA9G1kyi3z9K+65Y2i0YlF+Fdiv8WTz3qy6TV/F46U1gYFQOk3RnGAbilEIotIl7IE+Kf8hnoxCNhVPeAO+1V7URPDobfLdJsLK3zShUup0HuKXsqvrCmayM8fcPCPQWqog3vaAAXTMkZtiulE16PdGDabo/Bb+mDRhwtEsYRIB/7VRmAZgtEjJvXYBjwP2EUYC/VuKF7Bj0177S+ULXDWq1ImX/KsTzc0UCPOK3tuh+cigKE6fDgVWAXPknHbgB5iqC3OQERTJf9rpyF5MR1AQYgfpHfokOZMBgM0Q0MHbLlJWz5RSB5VyntKdZWD58UqM+eTA4TwQYF6/4oMGsgi9sF46UCFKDkNzg6/59pDMeMQuhjLJFT+6K2zvkyC40+2wAqoyXB9xEv+5aQTBJ09B5/otnRk6aZIO7NJZYM9yl0RZxFi/WHzgTgBCNkTDDnDX4kup9VtvJIQrZvMVB+gq/FsHT60RVRdxw07q5MrF92b2IvcMXlddIu5u5kubXkVrul5hp9T9QuGuxOg3pHqxRWHwo75FWVZRBZfp8XhgBLgu27jliPNnZIV0id6mtuCayz3CX3qIKHFiAhxe182RTZXuEg2aTIZ0QsDLb7FHG1Bb4TCsezfbAEfMzSPYpj/Ic3eM5+4SE0t5N9QOzDlhN86XbkCawIh9n3jkBAZ+it34uD/xyDf/u2rGP+Md7kfMVmUZMBFcXavkVAp7HFYmjGNKZoxB1oS1ntawiDCictNfLHp6nIRiXyZr/w7o5hXjsIb1xvGBk8RijAw02STQXQFDj/nfE+36OxcfqcbWZm8s+9CLREPn45LsO88lbYQU5h3kIROMQLAQHCk6oamdiil+2tAQkUJAa6mlqWtuZOlOVOeGPXqk/bcb7FiXj8m1MSjdBVucXzVeRybxzehlAqfzyueER00e5fZOGRI9X+9Fw009/SXDZ5nZskkml0NN3DxbQTohUesZ52zQST0C73O30u141aO+KGI0cBBohRKidUGzPgYMWQnv2/0QJE8Hm/KHgiZLDpp3ryO0N5npaMNWMooaplFDnmTuhJSqpPtax/JU+h1H8jW0ltnUqd3rV25icf5N38b5BEDFQ7skuVSsixCc5egxDOeYsnQnh/j4DNZlkM6CGU41u3uMNia4mc/8DG0XaNQMfPafv0bpqW9SmqtEuBzpB7tXSFQo/FLhPcZSt/BWIXwIRU9mpXJ3VIw/NxjCiYCnn51gNR3kL2bOvijmionisZb8m6far6DIWZ1lGfR+APxM6Bz7oY2VKYbyr5S2dHTkUtkFW5pdJU36J5zg6OTD4xeF+ncKvdne7jcJ+ckBOzUUSRhfQDynmlWeCl3YGGwU14r31hQaL9e38m0tW2hCDkvlHprc5tthLi148nI1o1Lm1p0rOfz2wjMocBuKD85q2BZBi47rP7nvYrZd69u3TWhCqqJ6nLgDU86qD15ykPPDm7yXGzfXXlDvpIiVCEDHolWz8XS7TMHLurAkGYxbzprAHXNB1thGXKbEabb//AiwpFFBzNpJqymb5uwYpgZ+1OEjyyC3cWVjutVi9WO8qdsuhig0U8IL5XtA6jTLBh0b++UfvJVrb0yeEzxsHvq2sVJgbbbpcO4umPDkGGB/FnLqUWLayJs5yWqYA+2th9QNOyjOuPjtDTXz+ojQh9ESXcS8lPVKfdie6CS0hmd47nBWhOFtQUxxcOd2K52R2wq8XZl7HczULVweNFFeJDl/RtgXMFcAINaVU+ingW6RQdgp5WMumXJ5Q+IRgcUFu4/Wc32HZARsVyfa7NItpHyvjoXkm3tNpAAzM6N7EJxlBoqasnkjTZbDLwDDiYQoSMMgAVYCUYWWehsBsqRmKp92q5Th6UzFe6Ahqyro/MpXwrkw1V6rzdKOlqebv4UqkQp0MpSVdelvxJeBJlFXgV4OnNs5hdB/Rk9P6U4izUGt4erdpt+Ip7C0YJX42gwo1pFD7rrWhYUTpcr+V7/450p/fhVAqfaeFlnT4eUqToDPgfz+qW4mFTvEI7hNZisNaSccf5de9D0bvMh0rDxRJbWikE3CwtH2auuN2SXUPlg7UW1xPMPGtI1BZCfGSLBTITyyc7pMrzLQHWiif53s4GtBPihdLXBwuY+Q/6L4kykC4ntDjUsLPkAbRdvQcnWC95wSMI+yTeIrATQohLVDN/zOJA2gNxE91oHi7F6URZMk7DlXEQoXLQ/5upDJo1DGcSh3sJLmVnCUN/1mhCkQvEoxSzV5ET58VJGmy2GXgGBZWGeN1IRT3uVKboZpFzduGwwiLz4iRNp2qddC3o88TnFIG8+wFP+khoZpmyiFkn+Rxrg6G92gLRUCyRoAgI+zpMo4plOrpnETCMmHWC3lV1ZjIhkAWivNRNY34Kpo1o00WXt2+9l7Qwk1IAkWRH4XdqY2lVrnum0JYxdivjvZF02f3jiRo44AR1Dhqu4upKQOpe4Mk8UoU/XmzXZAkJPSll2eW0C6FK0YGBSIy1FiZ+e8ZWbx82x+eN2c++3iQf/hhm0UgdEvqP9ejs/5ejLfg3GjyuoYDC2wi18/IQblXjLGUyhPNYXOL8kD1417FlPVvCjao93Z/zWlYCpp9P1547R//s7qYPLc96V0+Ek1U8jBKHv07n9nwCFkhexAPsQJc43MsHZm8jERM9tbmz30Jaq7PvA3jZcDLboEmLYEWYmoMtY0ObePvtDjeIaP3QIfCDQSOsNiLT7In8+lSvDKQ5e1vFt8S/oH2AJjN+2SVZwuUNQcAgM2r84sE5wJMoRagzMh0MGZLAPZMSAbnlMZC+tH74UR+dMG2wB4yFPy6YEvn/hoxk889gb0OFbaAwlKCikbYwM//DO7xxbvME5wLp6BiMHZU3KAQprr3sjOJKJ+j7GFk+9CtzvTfRHqTyFjEIu50xDUNKiRU5w+MTb76+XXLH0i4Ti4GG0BmL30v4WWl9/QLr+t1ShTT9Cz+TYFkfhbDmq5O+/FFiruZj79jaGN6paUcfye8hzBB3hRy36io5y+3o/t47NCl7zBO3mrPkdNHOxXMJxp5kF7Afsubpg39tDMGDafhwy7mfk4Z7FX3HZfx0s3R79/m6exb7IeLtABwf9dfKmJbVHK9TPviYa6uJfnUwEuhlj4rFfq2ythB0nRVAwPINBus1hXrFO4SBhTaJeGw173Fu5rLCtsDEglff67q/DXCD6cdJCuDNqrjqQDkLQ06Zeh8Z9C0vdKA3ysXz0P5M0EvGbiMsLZJR1etDr2BNLHLyG9PBXGWcepPMS85VAbpqEoCRsYGWqvHr/1mgTcABrkovIwE1oiTPUABXdC68gP+n8ktr06ayFpI9QzKhcYgR/UkaMDeTjOoTkqFNR+URmU5whqvLnNVukO+vQr8msVAAJb7bH7Hbv5WOwYPgdz+/i0fVM5Gf6GDz2dRahbR48NIXXKDBX0oe8UsdBjmNN4/zpuSSJVWjFCAaZ25nfwY1ZSt5ealnVsGPOlJ2tsq/8Ne++skx0cFxd6LxtmBNtqmTmwQGJmrB+HmH7CqHpcT6L+b5kUjekjdMU8B8JzTttVIPuuFcXm+FD11MMErNVBijzJW8xA/tsLX04/avSnsto2mwPI8j1c23WK3biuxucXgnI7Cvfpk5qgzgMjVdFhaIrZ2xWtsX7tz8EDH9O7tcwZzbs8GIQX4xxG9eTIk2G3MlO85L3DAP4sO0kg7BDKP7wkO/bj3WK7iMf2bO/AUS5KeqWpVvjjGkJIvMSGn0vcydOHvuMrjYrcVk7jgxMGQPAB1WkfR82AECD1rGVCOuR83FGK/OCqmKkNz2XMvFjC4xENChIRz4wb4N4/+M/QBQDVM5OKKH15C89+joiHSjr9FD6GAVH60sjfm8s/Snlw0g3JL4xY8q32QQiA6gwT5Fg/6utL+VYl/FFgIS114tdGO5Avb3aemttDTXEzHeH3Z2AVRRTjHpiU0Ad+BH/cpxxmQrhUFnTpLo7if0yaT5Skyjf3Cj/bgORAB0m+Q1MyMc4qU3l6EnE6aKcgF5DxuLwsaVvNViIJPRYe1zj8GZ/8Iq8CLKNh+1kueqjlJhttdCnVgcZo1MvTbVC3hIxNpMJCieZcadRbaUz2g41wdmwG0qjCg0HiH3KX0Htldq1KVaGBOQbOvKhZn44a6u0MT0STdIIf+r+EzRzIZdpfRlxoS+fHEoqN3x3XmhnFK3DE4gRIXZKsiZ6S4cpyrIemaPoAI+gNGrguWTct7UcqmE0mE/0YxvOxGgDYAOBsle6evXoMtyYS6d2dF3fixUC0MgQp4DqqGyexENbw6ho06+bWQaqmUHHJ6iilsAzCytk5rKaVYEV565UapY2MOcHGWBNusMsX++TDb2VLK93qcCpd9zDmdYuWNvg/3xNmTiMjAEERPgqbRerbgkEWthkVdTE3eGzIWAH/e6fqryvQzASzG4HUT2+/lG7pd3kQdwYq91JIQzsUb6eUJ+oqOIdRjP3pz4o9MkXWqRbvGkaslXlS9t1vChOlAB8G0t8XNHBjMYH3Ve5TvSP86+xnV6pzm1PY8f1rZdwZxycyn+SyEFlfQf6Z/ho+GxtqApvWuN87LHSPgpgk3uXgi3UPDlfN2FgkGoUgneJ+cVAPbi9WfLpadwEbQB+pDUPoHsaSeJF/Qem7FW37J7cW8rtUVxFWh1batlgC/6wBnTT4Ch/RFWkUMSn0TpAbLONR3xDpX49YC3iYrZkw5EKKOujh9/9tHf5LsDEgDZoZOB3Wh0NOIKsudS8fuVodZhbgfPAHddzirRWVBPddiYSZhG5TrAHcdyUvoqZFttvhIcGmvO1xwIk9hhkxV8VFcqMbh2scaFHISSMzaFvyP51ceKR8DNFlDYMjlj7tXn7MT77RG94Lk/1fWoyEHXT3eslnkt4LNRjmIM8ijOiD5L6pPx6tMi4+bEKJBEYUid8NmRblYBbnXYVouua+ZrAaFV8hkpqwScvN1CEmYJ9RhCwCX8MbLMFY+qYhWdPuojJce0/gHxtKWsL7UwTDv+l6huiy85k7TCzavT3ZiAHA/pUNodxt0uatyxi4A+B4gVNlpm2uOd9FUrhh7nQc+K4Uo58vKdszKM7HAU6YdK9JMpMdOzRnxglioGa+UazeCXHYOKswUNV1S9Rtojgbdwak8r623aZJNSJEU57DGfjgrmVgWAZd7WOvLXQfXLMgfqhfiE1PSkbLd3TE3N/XI3dQo8N9F1nKUVZuzQQqEMRLu3piWLMJ/6W/lB2MdFwP1bToiHLDvZOjqIFEMw2stEtLqe3RIUPig9bKzktYMPfCDPvvNiq+qyNZw2YHfQdjA7bsEtmM682Qs0t/lB6qIW3pMa9ZPPty32TYavlPWfrTxJER9pTBZWCObgE3YRYUAnBB/S8hu7xz/D+erTA/UmjU7EFSf/zcbpi52rEmN3h58ERX4Zw8q/4igIvX3bE2ElM00i71BXPKi2nMlr1e3aP5D/22Ttm0TJx7um0lG2V2PSh77qoB3Q8erATNo8UJ3GzHvJc4QqLIvci1q58V6fapxoVGKG4DSNnX44/YqpVe+qk59GfFY2ftcnNXwKljn/Ythyg09Wx/FEoMQR3D1u+zjzw9UH5icnJd907dyL1X6NeyYHf3AOpsqq+7p/2cMaqK4j7XM3i6dy5TQtyGfv+i1/+6y6u/H3gm/hPlsy7QRNwzUZQarWlPnR9WhPoxIO+KeKENMu/z2zDJ7tEFU93aMVIB0hk0b1O4vQHqGNkWGS4oR+gAChG5wRrP3o81AAX52sSmMq9SOAUhTYa2GvikNfcwKIjqszm9qGKc86gkiRG0xzJAvoXqPZ3WTUPDziAIo0PJ6ciZ3TkGU2cCT+eVnW1idT4DW8RlaTaDvxs3InXwx/zWMgsEBQ79BOojFFWWNyndHFzJzNDTmedfFxHHv3m0fv1beTzOnAMO/UD7AcNjEn/lUpwqe0ymQ//ZjFNOdsqnESAwizGtKWSSF2UzENKrH4bm+5J3u8jDhgebty9MLWQ1mE8oyNQ4Pa0OkaQWe5pwty9TFDsEOavW/m/coN55LFAPjoTuOlfQFAfJAUwke4K1MnKZwLrQmnqjjUGju50J3G6WbExe77fAxX0QJCfVcF5sLWaU/1bKq8A5nk7jg1bL29+Q+ID7IiissaUtSE06CL3gc6nGeOBFH0vDckaGfaSXuL/yb5U62i+lBevA+theI2iqrMwAwovAXL9yo5qvfqaa52VtcrUJbOMzDNf/HzYhvUgqT3gJWecuWFkBYR8W6QDbnJ0nIvcap7Glbt4IvthNu1YdsafnTf0QarrCVP927oyFr9a2LFCTNQT6ZwrHtuHHFOlJ0FWwL+QQ/fz+ZmuGeh7Ea1CGbxeOU9VpND0rvhwavhVZe/5eg0NlFKo/kXsyrXUBCmoDIpTw/c8U7VStJbkb8qYsi2jjUpYYdRyqDl22AzE5/qrFSsN43CigE1sVdMdlpRuN9K6nJJs6tQbGHx+owP+2H0ua4+FIA0s2RzccO9V5pthOJ7fuwC99usoC3vFuz4E8tHrd/i2BYLXzUdtafF4t0TwIVVZWzlbNuznEmpfQSKguV5bgfytVHWrMZTi6vj5gXYlIc+ud198LkPWO9Ochy7+MtxDyGC4Csioyqw0lEoptu7z1g9qFC1Q6x5tCwdbtabOUlcUNTn/0T6BuDBlT8Mu6x/4Nsbt2QDQ6QOLvEbNbWfncRyQhD0tdl5U0bvC0lYc+D3tSVw2zkFHnZNGZRer+q2QgCAYgm/ILt12dxR952BI4lRSwmNzCGVtkva1E6Ml7V0Rdg3ytPMqDh721d5ZCmcbkx7WgUnfe4BFVz8pdbAcfY+pSGE1a7QQqRnEi5/R383j9Mp5jDNn/zPCyDRQBUe1XMUaxeCEC4Q/EtrQlPvCVIqkp20PB3oMm+HyJR21IY3jRcufYGHmnxz3MESd3QxP4+cZNoBqzie3UWzpkWXokNlbbyHyD5iArLJ7CXn/5aTExRcbhnnYza7M1xP/1LHsU4I2qx1pjum8HJwCf2Cxk+gkwmTVjPL3tqAY4vgyEP4JrleA4m3ydT8v4abbh6gq8w19H6JuxOaTsAP6ya2jU4wQWhiCMay1ky2AADCKAg3lq0RQvT8Oeml/Ru/Vggg/lQBDeDcAAAAA="},57624:(e,t,s)=>{s.d(t,{Z:()=>i});const i=s.p+"assets/images/multisteps-preview-3eaf32d317ab88de3c525f4b7fad090b.webp"},88634:(e,t,s)=>{s.d(t,{Z:()=>i});const i=s.p+"assets/images/multisteps-step-ff65375afb09ab3e6385f11c2e1e4a6e.webp"},18178:(e,t,s)=>{s.d(t,{Z:()=>i});const i=s.p+"assets/images/multisteps-109bf3f2695c2be00464a60e4aa04762.webp"},11151:(e,t,s)=>{s.d(t,{Z:()=>a,a:()=>l});var i=s(67294);const o={},n=i.createContext(o);function l(e){const t=i.useContext(n);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:l(e.components),i.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a12ac645.fa79bf8e.js b/assets/js/a12ac645.fa79bf8e.js new file mode 100644 index 000000000..11c62ec3d --- /dev/null +++ b/assets/js/a12ac645.fa79bf8e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[63500],{34376:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>r,contentTitle:()=>l,default:()=>f,frontMatter:()=>n,metadata:()=>a,toc:()=>c});var i=s(17624),o=s(4552);const n={id:"multisteps-forms",title:"Multi-steps forms"},l=void 0,a={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.",source:"@site/forms/features/multisteps-forms.md",sourceDirName:"features",slug:"/features/multisteps-forms",permalink:"/forms/features/multisteps-forms",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"multisteps-forms",title:"Multi-steps forms"},sidebar:"forms",previous:{title:"Validation",permalink:"/forms/features/validation"},next:{title:"Spam prevention",permalink:"/forms/features/spam-prevention"}},r={},c=[{value:"Steps block",id:"steps-block",level:2},{value:"Multi-steps options",id:"multi-steps-options",level:2},{value:"How to create a multi-steps form?",id:"how-to-create-a-multi-steps-form",level:2},{value:"How to create a multi-flow form?",id:"how-to-create-a-multi-flow-form",level:2}];function h(e){const t={admonition:"admonition",code:"code",h2:"h2",img:"img",li:"li",p:"p",ul:"ul",...(0,o.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"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."}),"\n",(0,i.jsx)(t.p,{children:"We have two types of multi-step forms:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"Multi-steps form"})," - The user must pass through all steps to submit the form."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"Multi-flows form"})," - The user may skip some steps based on the conditionals created in form settings."]}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"Multi-steps screen",src:s(44376).c+"",width:"907",height:"850"})}),"\n",(0,i.jsx)(t.h2,{id:"steps-block",children:"Steps block"}),"\n",(0,i.jsx)(t.p,{children:"We now offer a \"steps\" block for creating multi-step forms. You'll need to add at least one step block to use it. Like the input block, the steps block has a field for defining a unique name. Make sure the name is specific to this step and doesn't include any spaces or special characters."}),"\n",(0,i.jsx)(t.p,{children:"When you define a step name, you can define a few other options:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"label"})," - this is a label that will be displayed in the steps navigation. If this feature is turned off in the form block options, we will show only dots."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"button labels"})," - you can define a custom label for each step's next and previous buttons. By default, the next button label is ",(0,i.jsx)(t.code,{children:"Next"}),", and the previous button label is ",(0,i.jsx)(t.code,{children:"Previous"}),"."]}),"\n"]}),"\n",(0,i.jsx)(t.admonition,{type:"caution",children:(0,i.jsx)(t.p,{children:"When you add a new step block, every block underneath it will be a part of that step."})}),"\n",(0,i.jsx)(t.admonition,{type:"tip",children:(0,i.jsx)(t.p,{children:'If you don\'t add a first step, it will be automatically added with the label "Init."'})}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"Multi-steps steps screen",src:s(94816).c+"",width:"278",height:"676"})}),"\n",(0,i.jsx)(t.h2,{id:"multi-steps-options",children:"Multi-steps options"}),"\n",(0,i.jsx)(t.p,{children:"To access multi-step options, click on the 'Form' block and check the options in the sidebar. Note that these options are only available if there are steps in the form."}),"\n",(0,i.jsx)(t.p,{children:"Available options are:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"Show progress bar"})," - This option will add a progress bar to the top of the form, displaying the current and completed steps."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"Hide progress bar labels"})," - This option works in combination with the previous one. If you select it, the progress bar will display only the step as a dot without showing the labels for each step."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"Progress bar initial steps number"})," - This option allows you to choose the number of steps shown in the progress bar for multi-flow forms."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"Flow preview"})," - This option will open a modal window displaying your form's flow preview. It is helpful when you have many steps and want to visualize the flow."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"Multi-flow"})," - Enabling this option will transform your form into a multi-flow form."]}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"Multi-steps options screen",src:s(12296).c+"",width:"317",height:"412"})}),"\n",(0,i.jsx)(t.h2,{id:"how-to-create-a-multi-steps-form",children:"How to create a multi-steps form?"}),"\n",(0,i.jsx)(t.p,{children:"You must add at least one step block to create a multi-step form. This will give you two steps on your form. You can configure additional flow options in the form block sidebar."}),"\n",(0,i.jsx)(t.h2,{id:"how-to-create-a-multi-flow-form",children:"How to create a multi-flow form?"}),"\n",(0,i.jsx)(t.p,{children:"You must include at least one step block to create a multi-step form. Then, go to the multi-flow options in the form block sidebar and select the \"multi-flow\" option. The purpose of this option is to modify the flow of the user's experience. If you don't define flow corrections, your form will function as a multi-step form and progress to the next available step."}),"\n",(0,i.jsx)(t.admonition,{type:"caution",children:(0,i.jsx)(t.p,{children:"If you change the step name after the flow is defined, you will need to reconfigure the flow."})}),"\n",(0,i.jsx)(t.p,{children:'To begin, you must establish the correlation between the flows. This involves defining the "start step" and "end step" and configuring the rules as you would for conditional tags.'}),"\n",(0,i.jsx)(t.p,{children:"The progress bar can only be displayed as dots instead of labels when using the multi-flow form. This is because it is impossible to predict where the user will go next, making it difficult to show the correct flow number. However, you can manually add the number of available steps after each flow rule. In the initial step, you can define this number in the form block options."}),"\n",(0,i.jsx)(t.p,{children:'Additionally, there is an option to turn off the "next" button for a particular step. This can be useful for creating a step where the user can only go back and not progress to the next step.'}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"Multi-steps flow screen",src:s(86824).c+"",width:"1359",height:"707"})}),"\n",(0,i.jsx)(t.p,{children:"We highly recommend using the preview option to test your form's behavior and various user flows."}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"Multi-steps preview screen",src:s(92200).c+"",width:"1452",height:"643"})}),"\n",(0,i.jsx)(t.admonition,{type:"caution",children:(0,i.jsx)(t.p,{children:"If no flow changes the form flow, a form will behave like a multi-steps form."})})]})}function f(e={}){const{wrapper:t}={...(0,o.M)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}},86824:(e,t,s)=>{s.d(t,{c:()=>i});const i=s.p+"assets/images/multisteps-flow-4fa8ec51ec4bb8ae67b3422b862e8a6a.webp"},12296:(e,t,s)=>{s.d(t,{c:()=>i});const i="data:image/webp;base64,UklGRsglAABXRUJQVlA4ILwlAABQjgCdASo9AZwBPjEYikOiIaER2kVEIAMEs7d06CwKsGqct4N4D/Cfjdz2nHsIHQB58HNP+E+5X6Bf4T/AfwD3f/lL+2e4B+lfTr8wH8W/uH/W/wHvJf7T/AexX0AP2G6zn0Kf1a9ML9n/hJ/a/9ovai/9mtEeG/5V+NPff/QPxc/eD1z/Dvin53+Ov94/W3n7c8/2H0G/hn0++ff2f9jf7n+y/xT/c/yX/I72R99moF+J/xf+ffj3/R/3B9rn+c7a/Of71/nvxA+AL01+T/2T+8fsz/Uv2w9cv9M/ET97fkr8w/qf9y/Hz+if//8AP43/IP6//a/2e/rv/9+c/7r/mPF28f/0XuA/xr+Vf2r+yf4L/W/3b///8D8Rf2j/Kf3X/U/9X+3////4fDv8t/s/+c/xX96/6P9+////c/QT+NfzH++f2v/K/8H+8f///xfcT62P27/8vuZfqv/xPz6Hch/sU0EbI7IyewnZEuWQFSynTsdn0H+5Rp4oeJeJ5QluPzFJJ//UHjgdK/12BSv0H0j4AZVYziNk//7toUDOeCNbjGW4VE6BKxSeXzzhmFRkun6n5Nahar+hB/uUaeKHiXdLfiG4p1Ql1ME82FmNMCZnCWyrdC6ILyc7IGR1fh/AKy6946UHvLacBCtuzLIk57rWjzIyA51p235D3H0fCcIP6y60Ug9yxUKi3hbYfb9xWx62H/1nLogeI+iWOIDiSedAsqyTVXaK1DwdxIP9yjTxbZ2IL1POS8Qlp3AMVlWU6QtRthchlRecaHO0ZPnHJeiqEJ2Uql6F+wVjr7cRM/UZvXGmllz4YcTrf60r5qdoUldj7PuV+3adfYTDjQP7uCnWt0qaN1bqtQhNaNkIfviZcR54ptagxCMszenGQE463jLutG5Rl8ybHB8LpoABH4CqJgg247ewITp/G/1wWybHkyr++yhi+QOD1P0gAz8pjL8AKvxAwU45fM8PDdrd5k29DrtfIo2LrYp8y6hFbnp2R9XjjEOCxtNTalaZkZSSJSOzDPml8BHm+EJ4oeJeLZRpqVhjyM3wbL3UaQh7iw9YxYesYsPWMWGuqIKH3lwPEvFso08UPEEj6BPkqRG/uGjl/u7zdCT8IXCtIR/vMYvlqtA2AlJTuah4l2ZZh5VOKwut000+KqXsVxI7sOlqsqDy8O9HCacNmEEGEHMgj9tWFCJeLSwQ2eyTUrrVzYk8w3hBgB0uKwQdFsoD/OLcpSpWO2tBW2f47i45ZeTCRDDUCwkZYisolC2QaN0BRPMs8DAP/lTvIrhwP3nJrQ1ZbFacMUUiCzAXq3+a8KjTELLJ/mO9xUL+27uiw7zeuVCNYoQvWQYqTbZhUZHO+WXbvAyfepcl90fKJvWzCo08UrZGAtYdtbj8U6eio9GEjLa7Yn5mXQpzipiQf7jB0wI0gnzUVaV/cMAZi+iBVbURSIKF6pD+1lcSXpyEE1TxQ8Mi1NmJj/DmbbMKjTxQqzSpMmUaeKHiXi1MOFLDJ8BU+lZPYTsiXLH4BKzAAP7G8qrEHr2IoywVfWih4+W4P6Jy6CYpl2If9pjFpTVsf3/8nywvBaWhQ3IKVEIAC8Q6/DhU8nuvXJC0Ae2KOjSl2euW50Hl/VYwsdwQkS6hwZJPLuLbf0jRDDl+hWgaiHoeclo1aolfkLhrXlckjHWxCrF8xkYl23P8BN2dj8Gr0jaCwx9lzRsas9lqLbNjqlVvTvvG4ZR5uVsloKUjZfsiEg0Z1KNyY+crpdMLwUSc/2h+r61fIcM/Q5TxY/TstOdFoywQDXRI/uZ2hclzekEmTvQ/W4qQEy6gEk7OpY2ZZAbVkVqSkomy03Ml3oqCTZxiJKUkvo9R73vunksqx/d6VTGLXgv8LiQmP4MerNFLgRywEtFvmdAdcZR6mWtp/9EWaYEyGCoMoD//m3++QpcKE/gQ5slK4mtZPlxTxr6/pivrd+uQlWXSvenB9ou73Za2+z800phb3hZy/st+XMl04mFLJFz1/JvT+m+LI0dj0OvG1dRE3f7bd83IFOHLqdF+lIem+k8FOAGdq501lin7EyQ6n3x0KbXmXOEk2MbzJwVckLjZTp59/R+BULG1DR2H3Lfn7UypVuEeSRSi5xS+4ti+uw+E3ZBvMvTmWvbQVLuUjvU493xN1XNRORiBPCbEnge3qoUr6e1gfBhWVtRpK+89GLweoEHrjuizkD9mpa7G/k+EHwhRIcZQvKqsoXVbYEI5YJp/pcUWdxwZ2ukcQ0xHkEqfFTMX6zWAKw5N88DxSBmBeulBIxtWLXGJWsn7a3rTBr39bULnerv1nFd8FDc4naW/UIJIa6YmkLVmffTqfiGbcq8o/slzj3eMN13GKLMh8fnRDv7vyks9ODkH//p//nXVXFcOkKi5ZHfEkDoSzTbNNriW7it4xDa7VE+l/hbjHDJXTla1KGKV3heVLtG9Ef2bzfdpDcjZWfYO/a+53DITtfapBYYsuqUEz6qzGu/KRfyQS+zYvg+xlFYpn36X8/0lkLO+0RRpiqBGSPt9tYbocZpfaE8FO3vh1wnUcbf9AOooblDfxW7kz2VbmWjqPT1giRza9huCsDRv1LpDxt64rzGBvvjrc/2Qd4smM8kKmAjdOAIVkvSJGmQSeVx5968VC0v283E0GxbjVVf/A5Lg1a1pTsWmHmOUYo+MKrNH2mk4MujwXX2BcOpBLwWxNaqnPSAH9z+Chi66DRfnttEBkRqZgxC+AF4OCrGqKhBSNf0cwpPZAO02dH6AlL7o06nkrA6NiDMuXFu9EW9wjTyleX8aM7kWFBbV37HowQ/SFu+iaQtcpVMvXTdh5gHyh9iM/mzGM6gWGFopR0EV36PUn5yPUzSw+4drd+pVR/NeUF10b7qWLP9plXElkIXUNJo+N6ltLewe6nkRYihFLgtkYbzT5bU3ou7V/JH5eCKF2oItduDHbNi5Y6lkltRL49NoB6hVBnYqLsLmEU2COjTScEnCxKQjH0MOp5z1JkbGOrLu7wPuOuQxbsVA02YwDVLbH9xcb9URhmL3P4xoZ6+uSY7sNClM/4Lxo3lqUuT8k5d7Hxwm+1DtJQQ/MI3g5dBLGsGTRIP+2cyE5rZfO4ujVP9bVYGEQMvVZzrNrC3pAkm1cguAGnqcWyf5r2TPK5sHIb5LBgieUQzC4PFSq96K3zrlze+QJEHFS9oZeKIixCq9kwfToIat53TOCbfOMNod/SdaiumUNDljp7AhM/MY86V7Evll0pEIAgimOTqPgTL3wpzP6PJOy9qrzdjjyAOF6iOMgItigK8lQD+23DO0V9N1qIc41qeHnwWWf4Zz2tuSsK5a5Leeu3YAchi8+u+b8f5rEJs4P6ZYeZkHsuIg33Vpv+veBFTrAp5xSMVJO/LFfEQCPephswRq0wA/H+xKBNxcPpPR9WCUu3x4eUntopN6Zo6ts/GR+BwBRGNaEWPFRaVOu5iW12YiYK67GLrCSFU5x2kgtiDa7NDf7Bh4E5Fkbd7aAHnywH5NN5jsNl7reeBmFZIkbhsoOz7rFASbAdn2OFsnTOWMCn1MfQABcylaI1TJYUZav2l3q9bf7AsSMdWBR2esXs0gZli4rehCh8YlzY923iz7RRM5xS3yIJHfUdfwLEsUd+6WNXgm1TCaIDCg98zgQTkVv0MbvArSqGbIM6qdbyDrwvCJybA5R45oIwtdxJcHDWiJ3AoBwKgQACxK8qZ05CJKkD8reu9G057EbzwM/1kgzl023qfveEIBfeFkFque1IhwCeYcQAtgIio9ErBgOUOcJ38xaUMY06U5373meS52NKrCpxF6otDrgs08QoFBF/mnotBAN4VElXldj9sw4oGen0f01pXsfoHXWtq7Owh3q4/bqSx+61MIyE0eAsah4kAmadOqCli2tHLTddqHeOuBUbLhKJIsFO3+sRZ7jxyMZsh39zLLQORT6V0lPbQ9V/vKDlqisqY6UPiSHPxyEwRdIVLIcWEHsCb4SD8frXAQXdkeJXBYJYMeADftt24VGMvJyLMGtgaXFWLEs4DAdSqnTZe6JD9qnXZIyna2A1m48QXASJaYnNVzpwKym1iCSe8lYD6w1acZwMyqocswHVLu181rCLQ6KGGXQUZm9SLBmG7Iucrcp9ZLBNgeYYpKw/TuV2GASmwianRag/L9vibZZNIxyVRSBZEGNE8aH4Srfr9JOTfa98VSw9SqLuICzo1K53qvhPMP7/RuDOCqb3SH6BVN63y/KhjrS9W17/q/fGWiltFRi4VrsAxJ8klU9E3K3wJCsSGYfY9zpLZrRet9SwI4PnP+flT/a1E+/Hs4lo5PzwVVIGDd36AACUan4JG15fAsUeVtQmIMf11gYcxTXAeTyRdtsbMomCXcThwgooEsQvIR9uRfLFu7I3NIoVWhTTiv+KZmSA1tv3q1B7FBftXm4xy+EnnXj5jwwWeIdyYtl+GF8hdPX+UUmIvtTg+bdZqsQOZIsZe0LmS8+hyc2xEASogc9YA0RxPukYgmcBQtpfisXflho7Olx0K76kDSM2cnKeNROU855DlEjaGasTPeYTcShgIK0Anv9d+HuwYopwBuGtHo7TsAn+WTTXO4P19OHBJa3GqWi/7gK7DiX8usPpfSZ/fh5uI7RSKpMBhKLoV1PztO2wT++OG7+Pmsv4mpszMx95V9MvciAcYNrEcDgW3RO7shWM3Y1QtE5hO+8cNmOPwpn3L3KbE5XvGpMuVJK4a//NmpE60b1GjrDO9OOGH58O4BX77y+4FnyU9WHz7t8pamVKomNewD30jIhHTdLaUq9isTipLgp2hbw1ScvZAejrx10V3mMun07/bYqEmCSCqAAIoiHTOTVVFUJSPVh6fjygRp2fxC19Bkz0Ji3bPNJ77Zfwov9yXU5uf5FqhN7fiLc4WbEBg+CEgQLRFCMXcsONEzdL0Tmbx5ASas8W1J+s8McofCsXS68wIN4cVM2AhYooRFdqxUtXoFIothWTYwUzE2Hvzz8q1CfkqGTJUw1DTTl05mjACeExZB9aCq0hQnLy6LnSLGvVklveEB+B4Q3GmZdoa+V3BR5UNUwGjj6QBajMuBx4MIJMTMxL/HDCt+4YXxfouuxQL4ZCSVdKKcEn8VjUORUblgOgZDlDBpePHvvL1UV/cuCQBB9Ze2RP30NonZB4Xguv0ud8/c6o+7th+qM19Gw0nNUjlJt/Da24jIATc4oV0Na5KdyiLJztXc825QTSDV1cxYE66hmUeu2sMh7PdiGv+UxkKQZYo0QPqtUI5BM8h+VCmsy8J69QAd16D5rjYw6UK60srfSmGvCO80jK5PAXtGbZtDOTC5/ss5OSLQMtuFDwbNmKesQbPZifmyzexu85WBf4q9e5O1nKbMO5hk3jl0DJ57O8YQwiNUNDI/X+g4C4LJ8hDrA6ccHh6AbvGxDEi1E+Q97HASEQfCA+mP2kfQ9BI4Zcwr1LgYHdgX4Juc0c6Bc7uVCiTKa0BkNqlOZCVTixXM/mM+b7l7u2d6QUbf+sIGsc7yULjAcSe8K+XbNtuQ+nvwuFZTGzTT1E4yVxx3lQGXPTHlhOFDTgdHoCwIeS8KYUUdOfrKe2iBC5WMWSRRUigRMYAy2j34SRJ3JnpfZCVqOCUsKgmUvsKS26IHeLitmuQUaKg/EOIV0A73g/CpBXhFuF5mnYWxDCV7pQG+UVvGTdM3lF53U3wpxpKG+uGhV1D4giqLHJA9G1kyi3z9K+65Y2i0YlF+Fdiv8WTz3qy6TV/F46U1gYFQOk3RnGAbilEIotIl7IE+Kf8hnoxCNhVPeAO+1V7URPDobfLdJsLK3zShUup0HuKXsqvrCmayM8fcPCPQWqog3vaAAXTMkZtiulE16PdGDabo/Bb+mDRhwtEsYRIB/7VRmAZgtEjJvXYBjwP2EUYC/VuKF7Bj0177S+ULXDWq1ImX/KsTzc0UCPOK3tuh+cigKE6fDgVWAXPknHbgB5iqC3OQERTJf9rpyF5MR1AQYgfpHfokOZMBgM0Q0MHbLlJWz5RSB5VyntKdZWD58UqM+eTA4TwQYF6/4oMGsgi9sF46UCFKDkNzg6/59pDMeMQuhjLJFT+6K2zvkyC40+2wAqoyXB9xEv+5aQTBJ09B5/otnRk6aZIO7NJZYM9yl0RZxFi/WHzgTgBCNkTDDnDX4kup9VtvJIQrZvMVB+gq/FsHT60RVRdxw07q5MrF92b2IvcMXlddIu5u5kubXkVrul5hp9T9QuGuxOg3pHqxRWHwo75FWVZRBZfp8XhgBLgu27jliPNnZIV0id6mtuCayz3CX3qIKHFiAhxe182RTZXuEg2aTIZ0QsDLb7FHG1Bb4TCsezfbAEfMzSPYpj/Ic3eM5+4SE0t5N9QOzDlhN86XbkCawIh9n3jkBAZ+it34uD/xyDf/u2rGP+Md7kfMVmUZMBFcXavkVAp7HFYmjGNKZoxB1oS1ntawiDCictNfLHp6nIRiXyZr/w7o5hXjsIb1xvGBk8RijAw02STQXQFDj/nfE+36OxcfqcbWZm8s+9CLREPn45LsO88lbYQU5h3kIROMQLAQHCk6oamdiil+2tAQkUJAa6mlqWtuZOlOVOeGPXqk/bcb7FiXj8m1MSjdBVucXzVeRybxzehlAqfzyueER00e5fZOGRI9X+9Fw009/SXDZ5nZskkml0NN3DxbQTohUesZ52zQST0C73O30u141aO+KGI0cBBohRKidUGzPgYMWQnv2/0QJE8Hm/KHgiZLDpp3ryO0N5npaMNWMooaplFDnmTuhJSqpPtax/JU+h1H8jW0ltnUqd3rV25icf5N38b5BEDFQ7skuVSsixCc5egxDOeYsnQnh/j4DNZlkM6CGU41u3uMNia4mc/8DG0XaNQMfPafv0bpqW9SmqtEuBzpB7tXSFQo/FLhPcZSt/BWIXwIRU9mpXJ3VIw/NxjCiYCnn51gNR3kL2bOvijmionisZb8m6far6DIWZ1lGfR+APxM6Bz7oY2VKYbyr5S2dHTkUtkFW5pdJU36J5zg6OTD4xeF+ncKvdne7jcJ+ckBOzUUSRhfQDynmlWeCl3YGGwU14r31hQaL9e38m0tW2hCDkvlHprc5tthLi148nI1o1Lm1p0rOfz2wjMocBuKD85q2BZBi47rP7nvYrZd69u3TWhCqqJ6nLgDU86qD15ykPPDm7yXGzfXXlDvpIiVCEDHolWz8XS7TMHLurAkGYxbzprAHXNB1thGXKbEabb//AiwpFFBzNpJqymb5uwYpgZ+1OEjyyC3cWVjutVi9WO8qdsuhig0U8IL5XtA6jTLBh0b++UfvJVrb0yeEzxsHvq2sVJgbbbpcO4umPDkGGB/FnLqUWLayJs5yWqYA+2th9QNOyjOuPjtDTXz+ojQh9ESXcS8lPVKfdie6CS0hmd47nBWhOFtQUxxcOd2K52R2wq8XZl7HczULVweNFFeJDl/RtgXMFcAINaVU+ingW6RQdgp5WMumXJ5Q+IRgcUFu4/Wc32HZARsVyfa7NItpHyvjoXkm3tNpAAzM6N7EJxlBoqasnkjTZbDLwDDiYQoSMMgAVYCUYWWehsBsqRmKp92q5Th6UzFe6Ahqyro/MpXwrkw1V6rzdKOlqebv4UqkQp0MpSVdelvxJeBJlFXgV4OnNs5hdB/Rk9P6U4izUGt4erdpt+Ip7C0YJX42gwo1pFD7rrWhYUTpcr+V7/450p/fhVAqfaeFlnT4eUqToDPgfz+qW4mFTvEI7hNZisNaSccf5de9D0bvMh0rDxRJbWikE3CwtH2auuN2SXUPlg7UW1xPMPGtI1BZCfGSLBTITyyc7pMrzLQHWiif53s4GtBPihdLXBwuY+Q/6L4kykC4ntDjUsLPkAbRdvQcnWC95wSMI+yTeIrATQohLVDN/zOJA2gNxE91oHi7F6URZMk7DlXEQoXLQ/5upDJo1DGcSh3sJLmVnCUN/1mhCkQvEoxSzV5ET58VJGmy2GXgGBZWGeN1IRT3uVKboZpFzduGwwiLz4iRNp2qddC3o88TnFIG8+wFP+khoZpmyiFkn+Rxrg6G92gLRUCyRoAgI+zpMo4plOrpnETCMmHWC3lV1ZjIhkAWivNRNY34Kpo1o00WXt2+9l7Qwk1IAkWRH4XdqY2lVrnum0JYxdivjvZF02f3jiRo44AR1Dhqu4upKQOpe4Mk8UoU/XmzXZAkJPSll2eW0C6FK0YGBSIy1FiZ+e8ZWbx82x+eN2c++3iQf/hhm0UgdEvqP9ejs/5ejLfg3GjyuoYDC2wi18/IQblXjLGUyhPNYXOL8kD1417FlPVvCjao93Z/zWlYCpp9P1547R//s7qYPLc96V0+Ek1U8jBKHv07n9nwCFkhexAPsQJc43MsHZm8jERM9tbmz30Jaq7PvA3jZcDLboEmLYEWYmoMtY0ObePvtDjeIaP3QIfCDQSOsNiLT7In8+lSvDKQ5e1vFt8S/oH2AJjN+2SVZwuUNQcAgM2r84sE5wJMoRagzMh0MGZLAPZMSAbnlMZC+tH74UR+dMG2wB4yFPy6YEvn/hoxk889gb0OFbaAwlKCikbYwM//DO7xxbvME5wLp6BiMHZU3KAQprr3sjOJKJ+j7GFk+9CtzvTfRHqTyFjEIu50xDUNKiRU5w+MTb76+XXLH0i4Ti4GG0BmL30v4WWl9/QLr+t1ShTT9Cz+TYFkfhbDmq5O+/FFiruZj79jaGN6paUcfye8hzBB3hRy36io5y+3o/t47NCl7zBO3mrPkdNHOxXMJxp5kF7Afsubpg39tDMGDafhwy7mfk4Z7FX3HZfx0s3R79/m6exb7IeLtABwf9dfKmJbVHK9TPviYa6uJfnUwEuhlj4rFfq2ythB0nRVAwPINBus1hXrFO4SBhTaJeGw173Fu5rLCtsDEglff67q/DXCD6cdJCuDNqrjqQDkLQ06Zeh8Z9C0vdKA3ysXz0P5M0EvGbiMsLZJR1etDr2BNLHLyG9PBXGWcepPMS85VAbpqEoCRsYGWqvHr/1mgTcABrkovIwE1oiTPUABXdC68gP+n8ktr06ayFpI9QzKhcYgR/UkaMDeTjOoTkqFNR+URmU5whqvLnNVukO+vQr8msVAAJb7bH7Hbv5WOwYPgdz+/i0fVM5Gf6GDz2dRahbR48NIXXKDBX0oe8UsdBjmNN4/zpuSSJVWjFCAaZ25nfwY1ZSt5ealnVsGPOlJ2tsq/8Ne++skx0cFxd6LxtmBNtqmTmwQGJmrB+HmH7CqHpcT6L+b5kUjekjdMU8B8JzTttVIPuuFcXm+FD11MMErNVBijzJW8xA/tsLX04/avSnsto2mwPI8j1c23WK3biuxucXgnI7Cvfpk5qgzgMjVdFhaIrZ2xWtsX7tz8EDH9O7tcwZzbs8GIQX4xxG9eTIk2G3MlO85L3DAP4sO0kg7BDKP7wkO/bj3WK7iMf2bO/AUS5KeqWpVvjjGkJIvMSGn0vcydOHvuMrjYrcVk7jgxMGQPAB1WkfR82AECD1rGVCOuR83FGK/OCqmKkNz2XMvFjC4xENChIRz4wb4N4/+M/QBQDVM5OKKH15C89+joiHSjr9FD6GAVH60sjfm8s/Snlw0g3JL4xY8q32QQiA6gwT5Fg/6utL+VYl/FFgIS114tdGO5Avb3aemttDTXEzHeH3Z2AVRRTjHpiU0Ad+BH/cpxxmQrhUFnTpLo7if0yaT5Skyjf3Cj/bgORAB0m+Q1MyMc4qU3l6EnE6aKcgF5DxuLwsaVvNViIJPRYe1zj8GZ/8Iq8CLKNh+1kueqjlJhttdCnVgcZo1MvTbVC3hIxNpMJCieZcadRbaUz2g41wdmwG0qjCg0HiH3KX0Htldq1KVaGBOQbOvKhZn44a6u0MT0STdIIf+r+EzRzIZdpfRlxoS+fHEoqN3x3XmhnFK3DE4gRIXZKsiZ6S4cpyrIemaPoAI+gNGrguWTct7UcqmE0mE/0YxvOxGgDYAOBsle6evXoMtyYS6d2dF3fixUC0MgQp4DqqGyexENbw6ho06+bWQaqmUHHJ6iilsAzCytk5rKaVYEV565UapY2MOcHGWBNusMsX++TDb2VLK93qcCpd9zDmdYuWNvg/3xNmTiMjAEERPgqbRerbgkEWthkVdTE3eGzIWAH/e6fqryvQzASzG4HUT2+/lG7pd3kQdwYq91JIQzsUb6eUJ+oqOIdRjP3pz4o9MkXWqRbvGkaslXlS9t1vChOlAB8G0t8XNHBjMYH3Ve5TvSP86+xnV6pzm1PY8f1rZdwZxycyn+SyEFlfQf6Z/ho+GxtqApvWuN87LHSPgpgk3uXgi3UPDlfN2FgkGoUgneJ+cVAPbi9WfLpadwEbQB+pDUPoHsaSeJF/Qem7FW37J7cW8rtUVxFWh1batlgC/6wBnTT4Ch/RFWkUMSn0TpAbLONR3xDpX49YC3iYrZkw5EKKOujh9/9tHf5LsDEgDZoZOB3Wh0NOIKsudS8fuVodZhbgfPAHddzirRWVBPddiYSZhG5TrAHcdyUvoqZFttvhIcGmvO1xwIk9hhkxV8VFcqMbh2scaFHISSMzaFvyP51ceKR8DNFlDYMjlj7tXn7MT77RG94Lk/1fWoyEHXT3eslnkt4LNRjmIM8ijOiD5L6pPx6tMi4+bEKJBEYUid8NmRblYBbnXYVouua+ZrAaFV8hkpqwScvN1CEmYJ9RhCwCX8MbLMFY+qYhWdPuojJce0/gHxtKWsL7UwTDv+l6huiy85k7TCzavT3ZiAHA/pUNodxt0uatyxi4A+B4gVNlpm2uOd9FUrhh7nQc+K4Uo58vKdszKM7HAU6YdK9JMpMdOzRnxglioGa+UazeCXHYOKswUNV1S9Rtojgbdwak8r623aZJNSJEU57DGfjgrmVgWAZd7WOvLXQfXLMgfqhfiE1PSkbLd3TE3N/XI3dQo8N9F1nKUVZuzQQqEMRLu3piWLMJ/6W/lB2MdFwP1bToiHLDvZOjqIFEMw2stEtLqe3RIUPig9bKzktYMPfCDPvvNiq+qyNZw2YHfQdjA7bsEtmM682Qs0t/lB6qIW3pMa9ZPPty32TYavlPWfrTxJER9pTBZWCObgE3YRYUAnBB/S8hu7xz/D+erTA/UmjU7EFSf/zcbpi52rEmN3h58ERX4Zw8q/4igIvX3bE2ElM00i71BXPKi2nMlr1e3aP5D/22Ttm0TJx7um0lG2V2PSh77qoB3Q8erATNo8UJ3GzHvJc4QqLIvci1q58V6fapxoVGKG4DSNnX44/YqpVe+qk59GfFY2ftcnNXwKljn/Ythyg09Wx/FEoMQR3D1u+zjzw9UH5icnJd907dyL1X6NeyYHf3AOpsqq+7p/2cMaqK4j7XM3i6dy5TQtyGfv+i1/+6y6u/H3gm/hPlsy7QRNwzUZQarWlPnR9WhPoxIO+KeKENMu/z2zDJ7tEFU93aMVIB0hk0b1O4vQHqGNkWGS4oR+gAChG5wRrP3o81AAX52sSmMq9SOAUhTYa2GvikNfcwKIjqszm9qGKc86gkiRG0xzJAvoXqPZ3WTUPDziAIo0PJ6ciZ3TkGU2cCT+eVnW1idT4DW8RlaTaDvxs3InXwx/zWMgsEBQ79BOojFFWWNyndHFzJzNDTmedfFxHHv3m0fv1beTzOnAMO/UD7AcNjEn/lUpwqe0ymQ//ZjFNOdsqnESAwizGtKWSSF2UzENKrH4bm+5J3u8jDhgebty9MLWQ1mE8oyNQ4Pa0OkaQWe5pwty9TFDsEOavW/m/coN55LFAPjoTuOlfQFAfJAUwke4K1MnKZwLrQmnqjjUGju50J3G6WbExe77fAxX0QJCfVcF5sLWaU/1bKq8A5nk7jg1bL29+Q+ID7IiissaUtSE06CL3gc6nGeOBFH0vDckaGfaSXuL/yb5U62i+lBevA+theI2iqrMwAwovAXL9yo5qvfqaa52VtcrUJbOMzDNf/HzYhvUgqT3gJWecuWFkBYR8W6QDbnJ0nIvcap7Glbt4IvthNu1YdsafnTf0QarrCVP927oyFr9a2LFCTNQT6ZwrHtuHHFOlJ0FWwL+QQ/fz+ZmuGeh7Ea1CGbxeOU9VpND0rvhwavhVZe/5eg0NlFKo/kXsyrXUBCmoDIpTw/c8U7VStJbkb8qYsi2jjUpYYdRyqDl22AzE5/qrFSsN43CigE1sVdMdlpRuN9K6nJJs6tQbGHx+owP+2H0ua4+FIA0s2RzccO9V5pthOJ7fuwC99usoC3vFuz4E8tHrd/i2BYLXzUdtafF4t0TwIVVZWzlbNuznEmpfQSKguV5bgfytVHWrMZTi6vj5gXYlIc+ud198LkPWO9Ochy7+MtxDyGC4Csioyqw0lEoptu7z1g9qFC1Q6x5tCwdbtabOUlcUNTn/0T6BuDBlT8Mu6x/4Nsbt2QDQ6QOLvEbNbWfncRyQhD0tdl5U0bvC0lYc+D3tSVw2zkFHnZNGZRer+q2QgCAYgm/ILt12dxR952BI4lRSwmNzCGVtkva1E6Ml7V0Rdg3ytPMqDh721d5ZCmcbkx7WgUnfe4BFVz8pdbAcfY+pSGE1a7QQqRnEi5/R383j9Mp5jDNn/zPCyDRQBUe1XMUaxeCEC4Q/EtrQlPvCVIqkp20PB3oMm+HyJR21IY3jRcufYGHmnxz3MESd3QxP4+cZNoBqzie3UWzpkWXokNlbbyHyD5iArLJ7CXn/5aTExRcbhnnYza7M1xP/1LHsU4I2qx1pjum8HJwCf2Cxk+gkwmTVjPL3tqAY4vgyEP4JrleA4m3ydT8v4abbh6gq8w19H6JuxOaTsAP6ya2jU4wQWhiCMay1ky2AADCKAg3lq0RQvT8Oeml/Ru/Vggg/lQBDeDcAAAAA="},92200:(e,t,s)=>{s.d(t,{c:()=>i});const i=s.p+"assets/images/multisteps-preview-3eaf32d317ab88de3c525f4b7fad090b.webp"},94816:(e,t,s)=>{s.d(t,{c:()=>i});const i=s.p+"assets/images/multisteps-step-ff65375afb09ab3e6385f11c2e1e4a6e.webp"},44376:(e,t,s)=>{s.d(t,{c:()=>i});const i=s.p+"assets/images/multisteps-109bf3f2695c2be00464a60e4aa04762.webp"},4552:(e,t,s)=>{s.d(t,{I:()=>a,M:()=>l});var i=s(11504);const o={},n=i.createContext(o);function l(e){const t=i.useContext(n);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:l(e.components),i.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a2947dce.ad85b6b4.js b/assets/js/a2947dce.ad85b6b4.js deleted file mode 100644 index d2bbd320b..000000000 --- a/assets/js/a2947dce.ad85b6b4.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[72521],{37969:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>d,frontMatter:()=>i,metadata:()=>r,toc:()=>c});var s=o(85893),n=o(11151);const i={id:"blocks",title:"Blocks",sidebar_label:"Blocks"},a=void 0,r={id:"legacy/v5/basics/blocks",title:"Blocks",description:"docs-source",source:"@site/docs/legacy/v5/basics/blocks.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/blocks",permalink:"/docs/legacy/v5/basics/blocks",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks",title:"Blocks",sidebar_label:"Blocks"},sidebar:"docs",previous:{title:"Dynamic Import",permalink:"/docs/legacy/v5/basics/dynamic-import"},next:{title:"Important",permalink:"/docs/legacy/v5/basics/blocks-important"}},l={},c=[{value:"Types of blocks",id:"types-of-blocks",level:2},{value:"Static blocks",id:"static-blocks",level:3},{value:"Dynamic blocks",id:"dynamic-blocks",level:3},{value:"Eightshift blocks",id:"eightshift-blocks",level:2}];function h(e){const t={a:"a",blockquote:"blockquote",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,n.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/",children:(0,s.jsx)(t.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(t.p,{children:"Since WordPress 5.0, we were introduced to the new editing experience using the so-called Gutenberg blocks. With blocks, the idea is to have the same look and feel in the editor as on the front end. As a developer, you just got a new technology that you should know if you want to build a great project on WordPress. That new technology is React because everything regarding blocks is done using React."}),"\n",(0,s.jsx)(t.p,{children:"Don't get discouraged just yet, because the WordPress team has made the process of creating blocks relatively easy. But we are not here to talk about the simple stuff. We want to do more complex projects with custom blocks, so follow along and see what we have prepared here."}),"\n",(0,s.jsxs)(t.blockquote,{children:["\n",(0,s.jsxs)(t.p,{children:["You can read everything regarding blocks in the ",(0,s.jsx)(t.a,{href:"https://developer.wordpress.org/block-editor/tutorials/block-tutorial/",children:"WordPress documentation"}),". We will not be explaining how everything natively works in this documentation. Instead, we will only describe how to use our setup and how it correlates with the native one. Everything that you can't find here, please look up in the WordPress Handbook."]}),"\n"]}),"\n",(0,s.jsx)(t.h2,{id:"types-of-blocks",children:"Types of blocks"}),"\n",(0,s.jsx)(t.p,{children:"WordPress Core Editor team has provided us with two different kinds of blocks:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Static blocks"}),"\n",(0,s.jsx)(t.li,{children:"Dynamic blocks"}),"\n"]}),"\n",(0,s.jsx)(t.h3,{id:"static-blocks",children:"Static blocks"}),"\n",(0,s.jsx)(t.p,{children:"These are the blocks that you can see in the core. Almost every block from WordPress comes this way. With static blocks, you have the same content on the front end as you do in the editor. This was accomplished by providing the same layout in the save callback as in the edit callback."}),"\n",(0,s.jsx)(t.p,{children:"The drawback of building blocks this way is that you must also provide the HTML markup that you will use on the front-end, inside the save callback. That method saves everything to the database, and you can't just change the HTML markup without some transformations or deprecation methods. If you change the markup while working on it, you'll get an error in the editor screen, and you'll have to add the content again."}),"\n",(0,s.jsx)(t.p,{children:"We don't like this approach because of how it stores the HTML content in the database. Lucky for us, WordPress has provided a different kind of blocks for this matter. They are called dynamic blocks."}),"\n",(0,s.jsx)(t.h3,{id:"dynamic-blocks",children:"Dynamic blocks"}),"\n",(0,s.jsx)(t.p,{children:"As you already saw in the previous chapter, the main difference between static and dynamic blocks is storing content in the database. For many dynamic blocks, the save callback function should be returned as null, which tells the editor to save only the block attributes to the database. These attributes are then passed into the server-side rendering callback, so you can decide how to display the block on the front end of your site."}),"\n",(0,s.jsx)(t.p,{children:"This means that you write code using React and JSX in the editor, and you must provide the same code in the PHP for the front-end. Yes, it is a lot of work because you must switch technologies and do the same thing multiple times, but we tried to make this process as simple as possible."}),"\n",(0,s.jsx)(t.p,{children:"Follow along and see what we prepared. From now on, we'll be talking only about dynamic blocks in this documentation."}),"\n",(0,s.jsx)(t.h2,{id:"eightshift-blocks",children:"Eightshift blocks"}),"\n",(0,s.jsx)(t.p,{children:"Our setup's main advantage is that you don't need to do a bunch of boilerplate every time you want to create a new block for your project. Also, we have a bunch of cool features we think you might like:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Separated blocks from components."}),"\n",(0,s.jsx)(t.li,{children:"You have a predefined structure for everything."}),"\n",(0,s.jsx)(t.li,{children:"If you follow the structure we provided, everything is registered and called automatically."}),"\n",(0,s.jsx)(t.li,{children:'You don\'t have to worry: "did I register this the right way?", "what style goes where?", etc.'}),"\n",(0,s.jsx)(t.li,{children:"Storybook for your project."}),"\n",(0,s.jsx)(t.li,{children:"A dozen of the pre-created blocks from our end. Once we create a new block in some of our projects, we make it available in the libs."}),"\n",(0,s.jsxs)(t.li,{children:["Easy usage of blocks and components with our ",(0,s.jsx)(t.a,{href:"wp-cli",children:"WP-CLI"})," commands."]}),"\n",(0,s.jsx)(t.li,{children:"Setup that shares configuration between JS, PHP, and SCSS files."}),"\n",(0,s.jsx)(t.li,{children:"Wrapper that comes with every block and allows you to control how a block behaves in the layout entirely."}),"\n",(0,s.jsx)(t.li,{children:"Everything is responsive. Yes, you read that correctly; we created options that you can control on multiple breakpoints."}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.strong,{children:"Everything is configurable and editable from your project."})}),"\n",(0,s.jsx)(t.li,{children:"Linting standards."}),"\n",(0,s.jsx)(t.li,{children:"Multiple helpers work the same on JS and PHP side, so it is easy to copy code from one language to another."}),"\n",(0,s.jsx)(t.li,{children:"And much, much more."}),"\n"]})]})}function d(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},11151:(e,t,o)=>{o.d(t,{Z:()=>r,a:()=>a});var s=o(67294);const n={},i=s.createContext(n);function a(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a2947dce.d05ee617.js b/assets/js/a2947dce.d05ee617.js new file mode 100644 index 000000000..e4cb3bd7d --- /dev/null +++ b/assets/js/a2947dce.d05ee617.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[25604],{61332:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>d,frontMatter:()=>i,metadata:()=>r,toc:()=>c});var s=o(17624),n=o(4552);const i={id:"blocks",title:"Blocks",sidebar_label:"Blocks"},a=void 0,r={id:"legacy/v5/basics/blocks",title:"Blocks",description:"docs-source",source:"@site/docs/legacy/v5/basics/blocks.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/blocks",permalink:"/docs/legacy/v5/basics/blocks",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks",title:"Blocks",sidebar_label:"Blocks"},sidebar:"docs",previous:{title:"Dynamic Import",permalink:"/docs/legacy/v5/basics/dynamic-import"},next:{title:"Important",permalink:"/docs/legacy/v5/basics/blocks-important"}},l={},c=[{value:"Types of blocks",id:"types-of-blocks",level:2},{value:"Static blocks",id:"static-blocks",level:3},{value:"Dynamic blocks",id:"dynamic-blocks",level:3},{value:"Eightshift blocks",id:"eightshift-blocks",level:2}];function h(e){const t={a:"a",blockquote:"blockquote",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,n.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/",children:(0,s.jsx)(t.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(t.p,{children:"Since WordPress 5.0, we were introduced to the new editing experience using the so-called Gutenberg blocks. With blocks, the idea is to have the same look and feel in the editor as on the front end. As a developer, you just got a new technology that you should know if you want to build a great project on WordPress. That new technology is React because everything regarding blocks is done using React."}),"\n",(0,s.jsx)(t.p,{children:"Don't get discouraged just yet, because the WordPress team has made the process of creating blocks relatively easy. But we are not here to talk about the simple stuff. We want to do more complex projects with custom blocks, so follow along and see what we have prepared here."}),"\n",(0,s.jsxs)(t.blockquote,{children:["\n",(0,s.jsxs)(t.p,{children:["You can read everything regarding blocks in the ",(0,s.jsx)(t.a,{href:"https://developer.wordpress.org/block-editor/tutorials/block-tutorial/",children:"WordPress documentation"}),". We will not be explaining how everything natively works in this documentation. Instead, we will only describe how to use our setup and how it correlates with the native one. Everything that you can't find here, please look up in the WordPress Handbook."]}),"\n"]}),"\n",(0,s.jsx)(t.h2,{id:"types-of-blocks",children:"Types of blocks"}),"\n",(0,s.jsx)(t.p,{children:"WordPress Core Editor team has provided us with two different kinds of blocks:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Static blocks"}),"\n",(0,s.jsx)(t.li,{children:"Dynamic blocks"}),"\n"]}),"\n",(0,s.jsx)(t.h3,{id:"static-blocks",children:"Static blocks"}),"\n",(0,s.jsx)(t.p,{children:"These are the blocks that you can see in the core. Almost every block from WordPress comes this way. With static blocks, you have the same content on the front end as you do in the editor. This was accomplished by providing the same layout in the save callback as in the edit callback."}),"\n",(0,s.jsx)(t.p,{children:"The drawback of building blocks this way is that you must also provide the HTML markup that you will use on the front-end, inside the save callback. That method saves everything to the database, and you can't just change the HTML markup without some transformations or deprecation methods. If you change the markup while working on it, you'll get an error in the editor screen, and you'll have to add the content again."}),"\n",(0,s.jsx)(t.p,{children:"We don't like this approach because of how it stores the HTML content in the database. Lucky for us, WordPress has provided a different kind of blocks for this matter. They are called dynamic blocks."}),"\n",(0,s.jsx)(t.h3,{id:"dynamic-blocks",children:"Dynamic blocks"}),"\n",(0,s.jsx)(t.p,{children:"As you already saw in the previous chapter, the main difference between static and dynamic blocks is storing content in the database. For many dynamic blocks, the save callback function should be returned as null, which tells the editor to save only the block attributes to the database. These attributes are then passed into the server-side rendering callback, so you can decide how to display the block on the front end of your site."}),"\n",(0,s.jsx)(t.p,{children:"This means that you write code using React and JSX in the editor, and you must provide the same code in the PHP for the front-end. Yes, it is a lot of work because you must switch technologies and do the same thing multiple times, but we tried to make this process as simple as possible."}),"\n",(0,s.jsx)(t.p,{children:"Follow along and see what we prepared. From now on, we'll be talking only about dynamic blocks in this documentation."}),"\n",(0,s.jsx)(t.h2,{id:"eightshift-blocks",children:"Eightshift blocks"}),"\n",(0,s.jsx)(t.p,{children:"Our setup's main advantage is that you don't need to do a bunch of boilerplate every time you want to create a new block for your project. Also, we have a bunch of cool features we think you might like:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Separated blocks from components."}),"\n",(0,s.jsx)(t.li,{children:"You have a predefined structure for everything."}),"\n",(0,s.jsx)(t.li,{children:"If you follow the structure we provided, everything is registered and called automatically."}),"\n",(0,s.jsx)(t.li,{children:'You don\'t have to worry: "did I register this the right way?", "what style goes where?", etc.'}),"\n",(0,s.jsx)(t.li,{children:"Storybook for your project."}),"\n",(0,s.jsx)(t.li,{children:"A dozen of the pre-created blocks from our end. Once we create a new block in some of our projects, we make it available in the libs."}),"\n",(0,s.jsxs)(t.li,{children:["Easy usage of blocks and components with our ",(0,s.jsx)(t.a,{href:"wp-cli",children:"WP-CLI"})," commands."]}),"\n",(0,s.jsx)(t.li,{children:"Setup that shares configuration between JS, PHP, and SCSS files."}),"\n",(0,s.jsx)(t.li,{children:"Wrapper that comes with every block and allows you to control how a block behaves in the layout entirely."}),"\n",(0,s.jsx)(t.li,{children:"Everything is responsive. Yes, you read that correctly; we created options that you can control on multiple breakpoints."}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.strong,{children:"Everything is configurable and editable from your project."})}),"\n",(0,s.jsx)(t.li,{children:"Linting standards."}),"\n",(0,s.jsx)(t.li,{children:"Multiple helpers work the same on JS and PHP side, so it is easy to copy code from one language to another."}),"\n",(0,s.jsx)(t.li,{children:"And much, much more."}),"\n"]})]})}function d(e={}){const{wrapper:t}={...(0,n.M)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},4552:(e,t,o)=>{o.d(t,{I:()=>r,M:()=>a});var s=o(11504);const n={},i=s.createContext(n);function a(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a2d3b782.7ed5b971.js b/assets/js/a2d3b782.7ed5b971.js new file mode 100644 index 000000000..71bf89041 --- /dev/null +++ b/assets/js/a2d3b782.7ed5b971.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[28528],{43636:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>l,metadata:()=>o,toc:()=>a});var s=i(17624),n=i(4552);const l={id:"helpers-javascript",title:"JavaScript"},r="Editor helpers",o={id:"basics/helpers-javascript",title:"JavaScript",description:"docs-source",source:"@site/docs/basics/helpers-javascript.md",sourceDirName:"basics",slug:"/basics/helpers-javascript",permalink:"/docs/basics/helpers-javascript",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"helpers-javascript",title:"JavaScript"},sidebar:"docs",previous:{title:"Helpers",permalink:"/docs/basics/helpers"},next:{title:"Scss",permalink:"/docs/basics/helpers-scss"}},c={},a=[{value:"icons",id:"icons",level:3},{value:"illustrations",id:"illustrations",level:3},{value:"blockIcons",id:"blockicons",level:3},{value:"getActions",id:"getactions",level:3},{value:"getOption",id:"getoption",level:3},{value:"getOptionColors",id:"getoptioncolors",level:3},{value:"getOptions",id:"getoptions",level:3},{value:"getPaletteColors",id:"getpalettecolors",level:3},{value:"inserter",id:"inserter",level:3},{value:"outputCssVariablesGlobal",id:"outputcssvariablesglobal",level:3},{value:"outputCssVariables",id:"outputcssvariables",level:3},{value:"getUnique",id:"getunique",level:3},{value:"overrideInnerBlockAttributes",id:"overrideinnerblockattributes",level:3},{value:"overrideInnerBlockSimpleWrapperAttributes",id:"overrideinnerblocksimplewrapperattributes",level:3},{value:"pasteInto",id:"pasteinto",level:3},{value:"props",id:"props",level:3},{value:"getAttributes",id:"getattributes",level:3},{value:"getExample",id:"getexample",level:3},{value:"registerBlocks",id:"registerblocks",level:3},{value:"registerVariations",id:"registervariations",level:3},{value:"ucfirst",id:"ucfirst",level:3},{value:"camelize",id:"camelize",level:3},{value:"checkAttr",id:"checkattr",level:3},{value:"checkAttrResponsive",id:"checkattrresponsive",level:3},{value:"cookies",id:"cookies",level:3},{value:"debounce",id:"debounce",level:3},{value:"devices",id:"devices",level:3},{value:"dynamicImport",id:"dynamicimport",level:3},{value:"elementChildrenHeight",id:"elementchildrenheight",level:3},{value:"escape-string",id:"escape-string",level:3},{value:"navigator",id:"navigator",level:3},{value:"responsiveSelectors",id:"responsiveselectors",level:3},{value:"selector",id:"selector",level:3},{value:"truncateMiddle",id:"truncatemiddle",level:3},{value:"yoastSeo",id:"yoastseo",level:3},{value:"blockDetails",id:"blockdetails",level:3},{value:"Gutenberg",id:"gutenberg",level:3},{value:"storybookDefaultMocksCategories",id:"storybookdefaultmockscategories",level:3},{value:"storybookDefaultMocksColorPalette",id:"storybookdefaultmockscolorpalette",level:3},{value:"storybookWindowObjects,",id:"storybookwindowobjects",level:3},{value:"storybookWpStyles",id:"storybookwpstyles",level:3}];function d(e){const t={a:"a",code:"code",h1:"h1",h3:"h3",img:"img",p:"p",pre:"pre",...(0,n.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,s.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsxs)(t.p,{children:["All JavaScript helpers can be imported from the ",(0,s.jsx)(t.code,{children:"@eightshift/frontend-libs/scripts"})," folder, so you don't need to think about the internal folder structure of Eightshift Frontend Libs. If you want multiple functions imported just concatenate them in the import like this:"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"import {\n\tcamelize,\n\tcheckAttr,\n\tprops,\n\t...\n} from '@eightshift/frontend-libs/scripts';\n"})}),"\n",(0,s.jsx)(t.h1,{id:"editor-helpers",children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/scripts/editor",children:"Editor helpers"})}),"\n",(0,s.jsx)(t.p,{children:"All of these helpers are generally only used in the Block Editor."}),"\n",(0,s.jsx)(t.h3,{id:"icons",children:"icons"}),"\n",(0,s.jsx)(t.p,{children:"All UI icons."}),"\n",(0,s.jsx)(t.h3,{id:"illustrations",children:"illustrations"}),"\n",(0,s.jsx)(t.p,{children:"Illustrations for helper modals."}),"\n",(0,s.jsx)(t.h3,{id:"blockicons",children:"blockIcons"}),"\n",(0,s.jsx)(t.p,{children:"Block icons, primarily used in block manifests."}),"\n",(0,s.jsx)(t.h3,{id:"getactions",children:"getActions"}),"\n",(0,s.jsx)(t.p,{children:"Create attributes actions from blocks manifest.json.\nThis helper is deprecated and should not be used anymore."}),"\n",(0,s.jsx)(t.h3,{id:"getoption",children:"getOption"}),"\n",(0,s.jsx)(t.p,{children:"Provides ability to override component options from the parent block/component."}),"\n",(0,s.jsx)(t.h3,{id:"getoptioncolors",children:"getOptionColors"}),"\n",(0,s.jsx)(t.p,{children:"Use this hook to filter the global colors out of the component or block manifest.\nThis function is deprecated and getOption should be used."}),"\n",(0,s.jsx)(t.h3,{id:"getoptions",children:"getOptions"}),"\n",(0,s.jsx)(t.p,{children:"Combines two objects of options, one from current component and the other from the parent component."}),"\n",(0,s.jsx)(t.h3,{id:"getpalettecolors",children:"getPaletteColors"}),"\n",(0,s.jsx)(t.p,{children:"Use this hook to read editor-color-palette colors directly from WP built in store."}),"\n",(0,s.jsx)(t.h3,{id:"inserter",children:"inserter"}),"\n",(0,s.jsx)(t.p,{children:"Development inserter made to insert one or multiple blocks in the dom using console."}),"\n",(0,s.jsx)(t.h3,{id:"outputcssvariablesglobal",children:"outputCssVariablesGlobal"}),"\n",(0,s.jsx)(t.p,{children:"Get Global manifest.json and return global variables as CSS variables."}),"\n",(0,s.jsx)(t.h3,{id:"outputcssvariables",children:"outputCssVariables"}),"\n",(0,s.jsx)(t.p,{children:"Get component/block options and process them in CSS variables."}),"\n",(0,s.jsx)(t.h3,{id:"getunique",children:"getUnique"}),"\n",(0,s.jsx)(t.p,{children:"Returns a unique ID generally used for css variables."}),"\n",(0,s.jsx)(t.h3,{id:"overrideinnerblockattributes",children:"overrideInnerBlockAttributes"}),"\n",(0,s.jsx)(t.p,{children:"Used to set attributes on all innerBlocks. This value will be stored in the block editor store and set to a block."}),"\n",(0,s.jsx)(t.h3,{id:"overrideinnerblocksimplewrapperattributes",children:"overrideInnerBlockSimpleWrapperAttributes"}),"\n",(0,s.jsx)(t.p,{children:"Used to set attributes on all innerBlocks preset only for simple wrapper setup. This value will be stored in the block editor store and set to a block."}),"\n",(0,s.jsx)(t.h3,{id:"pasteinto",children:"pasteInto"}),"\n",(0,s.jsx)(t.p,{children:"Paste event handler."}),"\n",(0,s.jsx)(t.h3,{id:"props",children:"props"}),"\n",(0,s.jsx)(t.p,{children:"Output only attributes that are used in the component and remove everything else."}),"\n",(0,s.jsx)(t.h3,{id:"getattributes",children:"getAttributes"}),"\n",(0,s.jsx)(t.p,{children:'Get Block attributes combined in one: "shared, global, wrapper, components, block".'}),"\n",(0,s.jsx)(t.h3,{id:"getexample",children:"getExample"}),"\n",(0,s.jsx)(t.p,{children:'Get Block example attributes combined in one: "components and block".'}),"\n",(0,s.jsx)(t.h3,{id:"registerblocks",children:"registerBlocks"}),"\n",(0,s.jsxs)(t.p,{children:["Register all Block Editor blocks using WP ",(0,s.jsx)(t.code,{children:"registerBlockType"})," method."]}),"\n",(0,s.jsx)(t.h3,{id:"registervariations",children:"registerVariations"}),"\n",(0,s.jsxs)(t.p,{children:["Register all Variations Editor blocks using WP ",(0,s.jsx)(t.code,{children:"registerBlockVariation"})," method."]}),"\n",(0,s.jsx)(t.h3,{id:"ucfirst",children:"ucfirst"}),"\n",(0,s.jsx)(t.p,{children:"Convert the first letter of a string to uppercase."}),"\n",(0,s.jsx)(t.h1,{id:"general-helpers",children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/scripts/helpers",children:"General helpers"})}),"\n",(0,s.jsx)(t.p,{children:"These are all helpers generally used anywhere."}),"\n",(0,s.jsx)(t.h3,{id:"camelize",children:"camelize"}),"\n",(0,s.jsx)(t.p,{children:"Returns a camelCase-formatted string."}),"\n",(0,s.jsx)(t.h3,{id:"checkattr",children:"checkAttr"}),"\n",(0,s.jsx)(t.p,{children:"Check if attribute exist in attributes list and add default value if not."}),"\n",(0,s.jsx)(t.h3,{id:"checkattrresponsive",children:"checkAttrResponsive"}),"\n",(0,s.jsx)(t.p,{children:"Map and check attributes for responsive object."}),"\n",(0,s.jsx)(t.h3,{id:"cookies",children:"cookies"}),"\n",(0,s.jsx)(t.p,{children:"Helper to set and unset cookies."}),"\n",(0,s.jsx)(t.h3,{id:"debounce",children:"debounce"}),"\n",(0,s.jsx)(t.p,{children:"Debounces the provided function."}),"\n",(0,s.jsx)(t.h3,{id:"devices",children:"devices"}),"\n",(0,s.jsx)(t.p,{children:"Detect a certain device, so specific functionality can be implemented for it."}),"\n",(0,s.jsx)(t.h3,{id:"dynamicimport",children:"dynamicImport"}),"\n",(0,s.jsx)(t.p,{children:"Loop all paths required using require.context method."}),"\n",(0,s.jsx)(t.h3,{id:"elementchildrenheight",children:"elementChildrenHeight"}),"\n",(0,s.jsx)(t.p,{children:"Returns height of the element measured by height of its children."}),"\n",(0,s.jsx)(t.h3,{id:"escape-string",children:"escape-string"}),"\n",(0,s.jsx)(t.p,{children:"Takes the provided string and removes special characters"}),"\n",(0,s.jsx)(t.h3,{id:"navigator",children:"navigator"}),"\n",(0,s.jsxs)(t.p,{children:["The ",(0,s.jsx)(t.code,{children:"Navigator.vibrate()"})," method pulses the vibration hardware on the device, if such hardware exists."]}),"\n",(0,s.jsx)(t.h3,{id:"responsiveselectors",children:"responsiveSelectors"}),"\n",(0,s.jsx)(t.p,{children:"Create responsive selectors used for responsive attributes."}),"\n",(0,s.jsx)(t.h3,{id:"selector",children:"selector"}),"\n",(0,s.jsx)(t.p,{children:"Returns BEM selector for HTML class and checks if the condition part is set."}),"\n",(0,s.jsx)(t.h3,{id:"truncatemiddle",children:"truncateMiddle"}),"\n",(0,s.jsx)(t.p,{children:"Slices the string and inputs the provided separator after the specified characters."}),"\n",(0,s.jsx)(t.h1,{id:"plugins-helpers",children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/scripts/plugins",children:"Plugins helpers"})}),"\n",(0,s.jsx)(t.p,{children:"These are all helpers generally only in specific plugins."}),"\n",(0,s.jsx)(t.h3,{id:"yoastseo",children:"yoastSeo"}),"\n",(0,s.jsx)(t.p,{children:'This helper will search all blocks and components manifests and find attributes that have "seo": "true" key.\nThis key will be added in to the content and proceed by the YoastSeo Analysis plugin.'}),"\n",(0,s.jsx)(t.h1,{id:"storybook-helpers",children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/scripts/storybook",children:"Storybook helpers"})}),"\n",(0,s.jsx)(t.p,{children:"These are all helpers generally only in Storybook."}),"\n",(0,s.jsx)(t.h3,{id:"blockdetails",children:"blockDetails"}),"\n",(0,s.jsx)(t.p,{children:"Combine block details in one object."}),"\n",(0,s.jsx)(t.h3,{id:"gutenberg",children:"Gutenberg"}),"\n",(0,s.jsx)(t.p,{children:"Load actual Block Editor and all the magic."}),"\n",(0,s.jsx)(t.h3,{id:"storybookdefaultmockscategories",children:"storybookDefaultMocksCategories"}),"\n",(0,s.jsx)(t.p,{children:"Manually populate categories for blocks. This is generated in the PHP part of the real project."}),"\n",(0,s.jsx)(t.h3,{id:"storybookdefaultmockscolorpalette",children:"storybookDefaultMocksColorPalette"}),"\n",(0,s.jsx)(t.p,{children:"Manually populate blocks color palette. This is generated in the PHP part of the real project."}),"\n",(0,s.jsx)(t.h3,{id:"storybookwindowobjects",children:"storybookWindowObjects,"}),"\n",(0,s.jsx)(t.p,{children:"Loading WP build files."}),"\n",(0,s.jsx)(t.h3,{id:"storybookwpstyles",children:"storybookWpStyles"}),"\n",(0,s.jsx)(t.p,{children:"Loading styles for block editor."})]})}function h(e={}){const{wrapper:t}={...(0,n.M)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},4552:(e,t,i)=>{i.d(t,{I:()=>o,M:()=>r});var s=i(11504);const n={},l=s.createContext(n);function r(e){const t=s.useContext(l);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),s.createElement(l.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a2d3b782.c3dee7b8.js b/assets/js/a2d3b782.c3dee7b8.js deleted file mode 100644 index c1d25c1b7..000000000 --- a/assets/js/a2d3b782.c3dee7b8.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[69441],{29342:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>l,metadata:()=>o,toc:()=>a});var s=i(85893),n=i(11151);const l={id:"helpers-javascript",title:"JavaScript"},r="Editor helpers",o={id:"basics/helpers-javascript",title:"JavaScript",description:"docs-source",source:"@site/docs/basics/helpers-javascript.md",sourceDirName:"basics",slug:"/basics/helpers-javascript",permalink:"/docs/basics/helpers-javascript",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"helpers-javascript",title:"JavaScript"},sidebar:"docs",previous:{title:"Helpers",permalink:"/docs/basics/helpers"},next:{title:"Scss",permalink:"/docs/basics/helpers-scss"}},c={},a=[{value:"icons",id:"icons",level:3},{value:"illustrations",id:"illustrations",level:3},{value:"blockIcons",id:"blockicons",level:3},{value:"getActions",id:"getactions",level:3},{value:"getOption",id:"getoption",level:3},{value:"getOptionColors",id:"getoptioncolors",level:3},{value:"getOptions",id:"getoptions",level:3},{value:"getPaletteColors",id:"getpalettecolors",level:3},{value:"inserter",id:"inserter",level:3},{value:"outputCssVariablesGlobal",id:"outputcssvariablesglobal",level:3},{value:"outputCssVariables",id:"outputcssvariables",level:3},{value:"getUnique",id:"getunique",level:3},{value:"overrideInnerBlockAttributes",id:"overrideinnerblockattributes",level:3},{value:"overrideInnerBlockSimpleWrapperAttributes",id:"overrideinnerblocksimplewrapperattributes",level:3},{value:"pasteInto",id:"pasteinto",level:3},{value:"props",id:"props",level:3},{value:"getAttributes",id:"getattributes",level:3},{value:"getExample",id:"getexample",level:3},{value:"registerBlocks",id:"registerblocks",level:3},{value:"registerVariations",id:"registervariations",level:3},{value:"ucfirst",id:"ucfirst",level:3},{value:"camelize",id:"camelize",level:3},{value:"checkAttr",id:"checkattr",level:3},{value:"checkAttrResponsive",id:"checkattrresponsive",level:3},{value:"cookies",id:"cookies",level:3},{value:"debounce",id:"debounce",level:3},{value:"devices",id:"devices",level:3},{value:"dynamicImport",id:"dynamicimport",level:3},{value:"elementChildrenHeight",id:"elementchildrenheight",level:3},{value:"escape-string",id:"escape-string",level:3},{value:"navigator",id:"navigator",level:3},{value:"responsiveSelectors",id:"responsiveselectors",level:3},{value:"selector",id:"selector",level:3},{value:"truncateMiddle",id:"truncatemiddle",level:3},{value:"yoastSeo",id:"yoastseo",level:3},{value:"blockDetails",id:"blockdetails",level:3},{value:"Gutenberg",id:"gutenberg",level:3},{value:"storybookDefaultMocksCategories",id:"storybookdefaultmockscategories",level:3},{value:"storybookDefaultMocksColorPalette",id:"storybookdefaultmockscolorpalette",level:3},{value:"storybookWindowObjects,",id:"storybookwindowobjects",level:3},{value:"storybookWpStyles",id:"storybookwpstyles",level:3}];function d(e){const t={a:"a",code:"code",h1:"h1",h3:"h3",img:"img",p:"p",pre:"pre",...(0,n.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,s.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsxs)(t.p,{children:["All JavaScript helpers can be imported from the ",(0,s.jsx)(t.code,{children:"@eightshift/frontend-libs/scripts"})," folder, so you don't need to think about the internal folder structure of Eightshift Frontend Libs. If you want multiple functions imported just concatenate them in the import like this:"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"import {\n\tcamelize,\n\tcheckAttr,\n\tprops,\n\t...\n} from '@eightshift/frontend-libs/scripts';\n"})}),"\n",(0,s.jsx)(t.h1,{id:"editor-helpers",children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/scripts/editor",children:"Editor helpers"})}),"\n",(0,s.jsx)(t.p,{children:"All of these helpers are generally only used in the Block Editor."}),"\n",(0,s.jsx)(t.h3,{id:"icons",children:"icons"}),"\n",(0,s.jsx)(t.p,{children:"All UI icons."}),"\n",(0,s.jsx)(t.h3,{id:"illustrations",children:"illustrations"}),"\n",(0,s.jsx)(t.p,{children:"Illustrations for helper modals."}),"\n",(0,s.jsx)(t.h3,{id:"blockicons",children:"blockIcons"}),"\n",(0,s.jsx)(t.p,{children:"Block icons, primarily used in block manifests."}),"\n",(0,s.jsx)(t.h3,{id:"getactions",children:"getActions"}),"\n",(0,s.jsx)(t.p,{children:"Create attributes actions from blocks manifest.json.\nThis helper is deprecated and should not be used anymore."}),"\n",(0,s.jsx)(t.h3,{id:"getoption",children:"getOption"}),"\n",(0,s.jsx)(t.p,{children:"Provides ability to override component options from the parent block/component."}),"\n",(0,s.jsx)(t.h3,{id:"getoptioncolors",children:"getOptionColors"}),"\n",(0,s.jsx)(t.p,{children:"Use this hook to filter the global colors out of the component or block manifest.\nThis function is deprecated and getOption should be used."}),"\n",(0,s.jsx)(t.h3,{id:"getoptions",children:"getOptions"}),"\n",(0,s.jsx)(t.p,{children:"Combines two objects of options, one from current component and the other from the parent component."}),"\n",(0,s.jsx)(t.h3,{id:"getpalettecolors",children:"getPaletteColors"}),"\n",(0,s.jsx)(t.p,{children:"Use this hook to read editor-color-palette colors directly from WP built in store."}),"\n",(0,s.jsx)(t.h3,{id:"inserter",children:"inserter"}),"\n",(0,s.jsx)(t.p,{children:"Development inserter made to insert one or multiple blocks in the dom using console."}),"\n",(0,s.jsx)(t.h3,{id:"outputcssvariablesglobal",children:"outputCssVariablesGlobal"}),"\n",(0,s.jsx)(t.p,{children:"Get Global manifest.json and return global variables as CSS variables."}),"\n",(0,s.jsx)(t.h3,{id:"outputcssvariables",children:"outputCssVariables"}),"\n",(0,s.jsx)(t.p,{children:"Get component/block options and process them in CSS variables."}),"\n",(0,s.jsx)(t.h3,{id:"getunique",children:"getUnique"}),"\n",(0,s.jsx)(t.p,{children:"Returns a unique ID generally used for css variables."}),"\n",(0,s.jsx)(t.h3,{id:"overrideinnerblockattributes",children:"overrideInnerBlockAttributes"}),"\n",(0,s.jsx)(t.p,{children:"Used to set attributes on all innerBlocks. This value will be stored in the block editor store and set to a block."}),"\n",(0,s.jsx)(t.h3,{id:"overrideinnerblocksimplewrapperattributes",children:"overrideInnerBlockSimpleWrapperAttributes"}),"\n",(0,s.jsx)(t.p,{children:"Used to set attributes on all innerBlocks preset only for simple wrapper setup. This value will be stored in the block editor store and set to a block."}),"\n",(0,s.jsx)(t.h3,{id:"pasteinto",children:"pasteInto"}),"\n",(0,s.jsx)(t.p,{children:"Paste event handler."}),"\n",(0,s.jsx)(t.h3,{id:"props",children:"props"}),"\n",(0,s.jsx)(t.p,{children:"Output only attributes that are used in the component and remove everything else."}),"\n",(0,s.jsx)(t.h3,{id:"getattributes",children:"getAttributes"}),"\n",(0,s.jsx)(t.p,{children:'Get Block attributes combined in one: "shared, global, wrapper, components, block".'}),"\n",(0,s.jsx)(t.h3,{id:"getexample",children:"getExample"}),"\n",(0,s.jsx)(t.p,{children:'Get Block example attributes combined in one: "components and block".'}),"\n",(0,s.jsx)(t.h3,{id:"registerblocks",children:"registerBlocks"}),"\n",(0,s.jsxs)(t.p,{children:["Register all Block Editor blocks using WP ",(0,s.jsx)(t.code,{children:"registerBlockType"})," method."]}),"\n",(0,s.jsx)(t.h3,{id:"registervariations",children:"registerVariations"}),"\n",(0,s.jsxs)(t.p,{children:["Register all Variations Editor blocks using WP ",(0,s.jsx)(t.code,{children:"registerBlockVariation"})," method."]}),"\n",(0,s.jsx)(t.h3,{id:"ucfirst",children:"ucfirst"}),"\n",(0,s.jsx)(t.p,{children:"Convert the first letter of a string to uppercase."}),"\n",(0,s.jsx)(t.h1,{id:"general-helpers",children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/scripts/helpers",children:"General helpers"})}),"\n",(0,s.jsx)(t.p,{children:"These are all helpers generally used anywhere."}),"\n",(0,s.jsx)(t.h3,{id:"camelize",children:"camelize"}),"\n",(0,s.jsx)(t.p,{children:"Returns a camelCase-formatted string."}),"\n",(0,s.jsx)(t.h3,{id:"checkattr",children:"checkAttr"}),"\n",(0,s.jsx)(t.p,{children:"Check if attribute exist in attributes list and add default value if not."}),"\n",(0,s.jsx)(t.h3,{id:"checkattrresponsive",children:"checkAttrResponsive"}),"\n",(0,s.jsx)(t.p,{children:"Map and check attributes for responsive object."}),"\n",(0,s.jsx)(t.h3,{id:"cookies",children:"cookies"}),"\n",(0,s.jsx)(t.p,{children:"Helper to set and unset cookies."}),"\n",(0,s.jsx)(t.h3,{id:"debounce",children:"debounce"}),"\n",(0,s.jsx)(t.p,{children:"Debounces the provided function."}),"\n",(0,s.jsx)(t.h3,{id:"devices",children:"devices"}),"\n",(0,s.jsx)(t.p,{children:"Detect a certain device, so specific functionality can be implemented for it."}),"\n",(0,s.jsx)(t.h3,{id:"dynamicimport",children:"dynamicImport"}),"\n",(0,s.jsx)(t.p,{children:"Loop all paths required using require.context method."}),"\n",(0,s.jsx)(t.h3,{id:"elementchildrenheight",children:"elementChildrenHeight"}),"\n",(0,s.jsx)(t.p,{children:"Returns height of the element measured by height of its children."}),"\n",(0,s.jsx)(t.h3,{id:"escape-string",children:"escape-string"}),"\n",(0,s.jsx)(t.p,{children:"Takes the provided string and removes special characters"}),"\n",(0,s.jsx)(t.h3,{id:"navigator",children:"navigator"}),"\n",(0,s.jsxs)(t.p,{children:["The ",(0,s.jsx)(t.code,{children:"Navigator.vibrate()"})," method pulses the vibration hardware on the device, if such hardware exists."]}),"\n",(0,s.jsx)(t.h3,{id:"responsiveselectors",children:"responsiveSelectors"}),"\n",(0,s.jsx)(t.p,{children:"Create responsive selectors used for responsive attributes."}),"\n",(0,s.jsx)(t.h3,{id:"selector",children:"selector"}),"\n",(0,s.jsx)(t.p,{children:"Returns BEM selector for HTML class and checks if the condition part is set."}),"\n",(0,s.jsx)(t.h3,{id:"truncatemiddle",children:"truncateMiddle"}),"\n",(0,s.jsx)(t.p,{children:"Slices the string and inputs the provided separator after the specified characters."}),"\n",(0,s.jsx)(t.h1,{id:"plugins-helpers",children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/scripts/plugins",children:"Plugins helpers"})}),"\n",(0,s.jsx)(t.p,{children:"These are all helpers generally only in specific plugins."}),"\n",(0,s.jsx)(t.h3,{id:"yoastseo",children:"yoastSeo"}),"\n",(0,s.jsx)(t.p,{children:'This helper will search all blocks and components manifests and find attributes that have "seo": "true" key.\nThis key will be added in to the content and proceed by the YoastSeo Analysis plugin.'}),"\n",(0,s.jsx)(t.h1,{id:"storybook-helpers",children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/scripts/storybook",children:"Storybook helpers"})}),"\n",(0,s.jsx)(t.p,{children:"These are all helpers generally only in Storybook."}),"\n",(0,s.jsx)(t.h3,{id:"blockdetails",children:"blockDetails"}),"\n",(0,s.jsx)(t.p,{children:"Combine block details in one object."}),"\n",(0,s.jsx)(t.h3,{id:"gutenberg",children:"Gutenberg"}),"\n",(0,s.jsx)(t.p,{children:"Load actual Block Editor and all the magic."}),"\n",(0,s.jsx)(t.h3,{id:"storybookdefaultmockscategories",children:"storybookDefaultMocksCategories"}),"\n",(0,s.jsx)(t.p,{children:"Manually populate categories for blocks. This is generated in the PHP part of the real project."}),"\n",(0,s.jsx)(t.h3,{id:"storybookdefaultmockscolorpalette",children:"storybookDefaultMocksColorPalette"}),"\n",(0,s.jsx)(t.p,{children:"Manually populate blocks color palette. This is generated in the PHP part of the real project."}),"\n",(0,s.jsx)(t.h3,{id:"storybookwindowobjects",children:"storybookWindowObjects,"}),"\n",(0,s.jsx)(t.p,{children:"Loading WP build files."}),"\n",(0,s.jsx)(t.h3,{id:"storybookwpstyles",children:"storybookWpStyles"}),"\n",(0,s.jsx)(t.p,{children:"Loading styles for block editor."})]})}function h(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},11151:(e,t,i)=>{i.d(t,{Z:()=>o,a:()=>r});var s=i(67294);const n={},l=s.createContext(n);function r(e){const t=s.useContext(l);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),s.createElement(l.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a2dbf4e7.4876438e.js b/assets/js/a2dbf4e7.4876438e.js new file mode 100644 index 000000000..574509da1 --- /dev/null +++ b/assets/js/a2dbf4e7.4876438e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[79016],{40788:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>r,metadata:()=>a,toc:()=>d});var o=t(17624),s=t(4552);const r={id:"blocks-block-from-components",title:"Creating Block from Components"},i=void 0,a={id:"legacy/v4/guides/blocks-block-from-components",title:"Creating Block from Components",description:"docs-source",source:"@site/docs/legacy/v4/guides/blocks-block-from-components.md",sourceDirName:"legacy/v4/guides",slug:"/legacy/v4/guides/blocks-block-from-components",permalink:"/docs/legacy/v4/guides/blocks-block-from-components",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-block-from-components",title:"Creating Block from Components"},sidebar:"docs",previous:{title:"Manifest Structure",permalink:"/docs/legacy/v4/guides/blocks-structure-manifest"},next:{title:"Render Block View Helper",permalink:"/docs/legacy/v4/guides/blocks-render-block-view-helper"}},c={},d=[{value:"Folder structure",id:"folder-structure",level:3},{value:"Manifest",id:"manifest",level:3},{value:"Components",id:"components",level:3},{value:"Editor render",id:"editor-render",level:3},{value:"PHP view",id:"php-view",level:3},{value:"Styling",id:"styling",level:3}];function l(e){const n={a:"a",code:"code",em:"em",h3:"h3",img:"img",p:"p",pre:"pre",strong:"strong",...(0,s.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/v2.0.0/blocks/init/src/blocks/custom/button",children:(0,o.jsx)(n.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(n.p,{children:"You may wonder: what is the difference between components and blocks? Aren't they the same thing?"}),"\n",(0,o.jsxs)(n.p,{children:["They are similar, but not the same. Components are, for lack of a better word, ",(0,o.jsx)(n.em,{children:"dumb"}),". They aren't bothered with the context and they are ",(0,o.jsx)(n.strong,{children:"reusable"}),".\nThis is the keyword in this whole ordeal. One component may be reused in different blocks. Also, the main difference is that the component is not registered in WordPress; its sole purpose is to provide reusable parts for your blocks."]}),"\n",(0,o.jsx)(n.p,{children:"Let's look at an example.\nFor instance, we want to create a card block. This block consists of an image, a title, and a text."}),"\n",(0,o.jsx)(n.h3,{id:"folder-structure",children:"Folder structure"}),"\n",(0,o.jsxs)(n.p,{children:["First, we'll create a block in the ",(0,o.jsx)(n.code,{children:"src/blocks/custom/card"})," folder. The folder structure will look like this"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-shell",children:"|card\n| |components\n| | |card-editor.js\n| | |card-options.js\n| |card-block.js\n| |card.php\n| |card-style.scss\n| |manifest.json\n"})}),"\n",(0,o.jsxs)(n.p,{children:["The ",(0,o.jsx)(n.code,{children:"manifest.json"})," will hold all the default attributes and data about the new block"]}),"\n",(0,o.jsx)(n.h3,{id:"manifest",children:"Manifest"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n "blockName": "card",\n "title": "Card",\n "description" : "Card with custom settings.",\n "category": "eightshift",\n "icon": {\n "src": "buddicons-buddypress-logo"\n },\n "keywords": [\n "Service",\n "Box",\n "Card"\n ],\n "hasWrapper": false,\n "parent": [\n "eightshift-boilerplate/cards-grid"\n ],\n "attributes": {\n "media": {\n "type": "object",\n "default": {\n "id": 0,\n "url": "",\n "title": ""\n },\n "items": {\n "type": "object"\n },\n "mediaAction": true\n },\n "heading": {\n "type": "string"\n },\n "paragraph": {\n "type": "string"\n }\n }\n}\n'})}),"\n",(0,o.jsx)(n.h3,{id:"components",children:"Components"}),"\n",(0,o.jsxs)(n.p,{children:["Next, we want to set up the editor and options component for this block. So in the ",(0,o.jsx)(n.code,{children:"components"})," folder, we'll add ",(0,o.jsx)(n.code,{children:"card-editor.js"})," and ",(0,o.jsx)(n.code,{children:"card-options.js"})," files."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"card-editor.js"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"import React from 'react'; // eslint-disable-line no-unused-vars\nimport { RichText } from '@wordpress/editor';\nimport { __ } from '@wordpress/i18n';\nimport { ImageEditor } from '../../../components/image/components/image-editor';\n\nexport const CardEditor = (props) => {\n const {\n attributes: {\n blockClass,\n heading,\n paragraph,\n media,\n },\n actions: {\n onChangeHeading,\n onChangeParagraph,\n },\n } = props;\n\n return (\n <div className={blockClass}>\n <div className={`${blockClass}__media`}>\n <ImageEditor\n blockClass={blockClass}\n media={media}\n />\n </div>\n <div className={`${blockClass}__content`}>\n <div className={`${blockClass}__heading`}>\n <RichText\n placeholder={__('Add Heading', 'eightshift-boilerplate')}\n onChange={onChangeHeading}\n value={heading}\n />\n </div>\n <div className={`${blockClass}__paragraph`}>\n <RichText\n placeholder={__('Add Paragraph', 'eightshift-boilerplate')}\n onChange={onChangeParagraph}\n value={paragraph}\n />\n </div>\n </div>\n </div>\n );\n};\n"})}),"\n",(0,o.jsxs)(n.p,{children:["Notice how we've imported the ",(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/v2.0.0/blocks/init/src/blocks/components/image/components/image-editor.js",children:(0,o.jsx)(n.code,{children:"image-editor"})})," component from the project's component folder. Note that in your project you'd just copy this component from the frontend-libs blocks (that is you'd copy the entire folder in your project as previously described)."]}),"\n",(0,o.jsxs)(n.p,{children:["Our card editor component will have an ",(0,o.jsx)(n.code,{children:"<ImageEditor />"})," component and two ",(0,o.jsx)(n.code,{children:"<RichText />"})," components (which come from the core editor)."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"card-options.js"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"import React from 'react'; // eslint-disable-line no-unused-vars\nimport { __ } from '@wordpress/i18n';\nimport { PanelBody } from '@wordpress/components';\nimport { ImageOptions } from '../../../components/image/components/image-options';\n\nexport const CardOptions = (props) => {\n const {\n attributes: {\n media,\n },\n actions: {\n onChangeMedia,\n },\n } = props;\n\n return (\n <PanelBody title={__('Card Details', 'eightshift-boilerplate')}>\n <ImageOptions\n media={media}\n onChangeMedia={onChangeMedia}\n />\n </PanelBody>\n );\n};\n"})}),"\n",(0,o.jsxs)(n.p,{children:["The options component (the one shown on the right side in the editor screen), will only contain the ",(0,o.jsx)(n.code,{children:"<ImageOptions />"})," so that we can upload image in our block."]}),"\n",(0,o.jsx)(n.h3,{id:"editor-render",children:"Editor render"}),"\n",(0,o.jsxs)(n.p,{children:["Back to the block, we need to create the ",(0,o.jsx)(n.code,{children:"edit"})," method functionality and the view that we'll render on the front."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"card-block.js"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"import React from 'react'; // eslint-disable-line no-unused-vars\nimport { Fragment } from '@wordpress/element';\nimport { InspectorControls } from '@wordpress/editor';\nimport { getActions } from 'EighshiftBlocksGetActions';\nimport manifest from './manifest.json';\nimport { CardEditor } from './components/card-editor';\nimport { CardOptions } from './components/card-options';\nimport './hooks';\n\nexport const Card = (props) => {\n\n const {\n attributes,\n } = props;\n\n const actions = getActions(props, manifest);\n\n return (\n <Fragment>\n <InspectorControls>\n <CardOptions\n attributes={attributes}\n actions={actions}\n />\n </InspectorControls>\n <CardEditor\n attributes={attributes}\n actions={actions}\n />\n </Fragment>\n );\n};\n"})}),"\n",(0,o.jsxs)(n.p,{children:["Here we'll use our ready-made component (built out of other components - reusability), and wrap it in ",(0,o.jsx)(n.a,{href:"https://reactjs.org/docs/fragments.html",children:"React Fragment"}),". It is a pattern used to return multiple elements."]}),"\n",(0,o.jsxs)(n.p,{children:["Another thing you'll note is the usage of ",(0,o.jsx)(n.code,{children:"<InspectorControls />"})," ",(0,o.jsx)(n.a,{href:"https://github.com/WordPress/gutenberg/tree/master/packages/block-editor/src/components/inspector-controls",children:"component"}),". It is used to display settings of the block in the sidebar (in our case our options that contain the image upload component).\nLastly, both our ",(0,o.jsx)(n.code,{children:"<CardEditor />"})," and ",(0,o.jsx)(n.code,{children:"<InspectorControls />"})," are wrapped in the ",(0,o.jsx)(n.code,{children:"<Fragment />"})," wrapper due to Reacts one top-level element rule. If your block doesn't have options, you can only have ",(0,o.jsx)(n.code,{children:"<CardEditor />"})," component in here."]}),"\n",(0,o.jsx)(n.h3,{id:"php-view",children:"PHP view"}),"\n",(0,o.jsx)(n.p,{children:"So all we need now is the PHP view."}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"card.php"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"<?php\n/**\n * Template for the Card Block.\n *\n * @since 1.0.0\n * @package Eightshift_Boilerplate\\Blocks.\n */\n\nnamespace Eightshift_Boilerplate\\Blocks;\n\n$heading = $attributes['heading'] ?? '';\n$paragraph = $attributes['paragraph'] ?? '';\n$media = $attributes['media'] ?? [];\n\n$block_class = $attributes['blockClass'] ?? '';\n\n?>\n\n<div class=\"<?php echo esc_attr( $block_class ); ?>\">\n\n <?php if ( ! empty( $media ) ) { ?>\n <div class=\"<?php echo esc_attr( \"{$block_class}__media\" ); ?>\">\n <?php $this->render_block_view(\n '/components/image/image.php',\n [\n 'blockClass' => $attributes['blockClass'] ?? '',\n 'media' => $media,\n ]\n );\n ?>\n </div>\n <?php } ?>\n\n <div class=\"<?php echo esc_attr( \"{$block_class}__content\" ); ?>\">\n <?php if ( ! empty( $heading ) ) { ?>\n <div class=\"<?php echo esc_attr( \"{$block_class}__heading\" ); ?>\">\n <?php echo wp_kses_post( $heading ); ?>\n </div>\n <?php } ?>\n\n <?php if ( ! empty( $paragraph ) ) { ?>\n <div class=\"<?php echo esc_attr( \"{$block_class}__paragraph\" ); ?>\">\n <?php echo wp_kses_post( $paragraph ); ?>\n </div>\n <?php } ?>\n </div>\n\n</div>\n\n"})}),"\n",(0,o.jsx)(n.p,{children:"Notice how we used"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"<?php $this->render_block_view(\n '/components/image/image.php',\n [\n 'blockClass' => $attributes['blockClass'] ?? '',\n 'media' => $media,\n ]\n);\n?>\n"})}),"\n",(0,o.jsxs)(n.p,{children:["To render out our ",(0,o.jsx)(n.code,{children:"image"})," component. Again, we're showing the power of reusability here."]}),"\n",(0,o.jsx)(n.h3,{id:"styling",children:"Styling"}),"\n",(0,o.jsx)(n.p,{children:"You can style them how you want, but we added some default styles"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"card-style.scss"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-scss",children:"$block-card: (\n heading: (\n mobile: (\n font-size: 24px,\n line-height: 1.33,\n ),\n ),\n paragraph: (\n mobile: (\n font-size: 18px,\n line-height: 1.5,\n ),\n ),\n);\n\n.block-card {\n $this: &;\n\n &__media {\n margin-bottom: 25px;\n }\n\n &__img {\n margin: 0 auto;\n }\n\n &__content {\n text-align: center;\n }\n\n &__heading {\n @include responsive($block-card, heading);\n font-weight: bold;\n }\n\n &__paragraph {\n @include responsive($block-card, paragraph);\n margin-top: 15px;\n }\n}\n"})})]})}function p(e={}){const{wrapper:n}={...(0,s.M)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},4552:(e,n,t)=>{t.d(n,{I:()=>a,M:()=>i});var o=t(11504);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 a(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/a2dbf4e7.9406acd6.js b/assets/js/a2dbf4e7.9406acd6.js deleted file mode 100644 index c406b080a..000000000 --- a/assets/js/a2dbf4e7.9406acd6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[38768],{88835:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>r,metadata:()=>a,toc:()=>d});var o=t(85893),s=t(11151);const r={id:"blocks-block-from-components",title:"Creating Block from Components"},i=void 0,a={id:"legacy/v4/guides/blocks-block-from-components",title:"Creating Block from Components",description:"docs-source",source:"@site/docs/legacy/v4/guides/blocks-block-from-components.md",sourceDirName:"legacy/v4/guides",slug:"/legacy/v4/guides/blocks-block-from-components",permalink:"/docs/legacy/v4/guides/blocks-block-from-components",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-block-from-components",title:"Creating Block from Components"},sidebar:"docs",previous:{title:"Manifest Structure",permalink:"/docs/legacy/v4/guides/blocks-structure-manifest"},next:{title:"Render Block View Helper",permalink:"/docs/legacy/v4/guides/blocks-render-block-view-helper"}},c={},d=[{value:"Folder structure",id:"folder-structure",level:3},{value:"Manifest",id:"manifest",level:3},{value:"Components",id:"components",level:3},{value:"Editor render",id:"editor-render",level:3},{value:"PHP view",id:"php-view",level:3},{value:"Styling",id:"styling",level:3}];function l(e){const n={a:"a",code:"code",em:"em",h3:"h3",img:"img",p:"p",pre:"pre",strong:"strong",...(0,s.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/v2.0.0/blocks/init/src/blocks/custom/button",children:(0,o.jsx)(n.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(n.p,{children:"You may wonder: what is the difference between components and blocks? Aren't they the same thing?"}),"\n",(0,o.jsxs)(n.p,{children:["They are similar, but not the same. Components are, for lack of a better word, ",(0,o.jsx)(n.em,{children:"dumb"}),". They aren't bothered with the context and they are ",(0,o.jsx)(n.strong,{children:"reusable"}),".\nThis is the keyword in this whole ordeal. One component may be reused in different blocks. Also, the main difference is that the component is not registered in WordPress; its sole purpose is to provide reusable parts for your blocks."]}),"\n",(0,o.jsx)(n.p,{children:"Let's look at an example.\nFor instance, we want to create a card block. This block consists of an image, a title, and a text."}),"\n",(0,o.jsx)(n.h3,{id:"folder-structure",children:"Folder structure"}),"\n",(0,o.jsxs)(n.p,{children:["First, we'll create a block in the ",(0,o.jsx)(n.code,{children:"src/blocks/custom/card"})," folder. The folder structure will look like this"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-shell",children:"|card\n| |components\n| | |card-editor.js\n| | |card-options.js\n| |card-block.js\n| |card.php\n| |card-style.scss\n| |manifest.json\n"})}),"\n",(0,o.jsxs)(n.p,{children:["The ",(0,o.jsx)(n.code,{children:"manifest.json"})," will hold all the default attributes and data about the new block"]}),"\n",(0,o.jsx)(n.h3,{id:"manifest",children:"Manifest"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n "blockName": "card",\n "title": "Card",\n "description" : "Card with custom settings.",\n "category": "eightshift",\n "icon": {\n "src": "buddicons-buddypress-logo"\n },\n "keywords": [\n "Service",\n "Box",\n "Card"\n ],\n "hasWrapper": false,\n "parent": [\n "eightshift-boilerplate/cards-grid"\n ],\n "attributes": {\n "media": {\n "type": "object",\n "default": {\n "id": 0,\n "url": "",\n "title": ""\n },\n "items": {\n "type": "object"\n },\n "mediaAction": true\n },\n "heading": {\n "type": "string"\n },\n "paragraph": {\n "type": "string"\n }\n }\n}\n'})}),"\n",(0,o.jsx)(n.h3,{id:"components",children:"Components"}),"\n",(0,o.jsxs)(n.p,{children:["Next, we want to set up the editor and options component for this block. So in the ",(0,o.jsx)(n.code,{children:"components"})," folder, we'll add ",(0,o.jsx)(n.code,{children:"card-editor.js"})," and ",(0,o.jsx)(n.code,{children:"card-options.js"})," files."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"card-editor.js"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"import React from 'react'; // eslint-disable-line no-unused-vars\nimport { RichText } from '@wordpress/editor';\nimport { __ } from '@wordpress/i18n';\nimport { ImageEditor } from '../../../components/image/components/image-editor';\n\nexport const CardEditor = (props) => {\n const {\n attributes: {\n blockClass,\n heading,\n paragraph,\n media,\n },\n actions: {\n onChangeHeading,\n onChangeParagraph,\n },\n } = props;\n\n return (\n <div className={blockClass}>\n <div className={`${blockClass}__media`}>\n <ImageEditor\n blockClass={blockClass}\n media={media}\n />\n </div>\n <div className={`${blockClass}__content`}>\n <div className={`${blockClass}__heading`}>\n <RichText\n placeholder={__('Add Heading', 'eightshift-boilerplate')}\n onChange={onChangeHeading}\n value={heading}\n />\n </div>\n <div className={`${blockClass}__paragraph`}>\n <RichText\n placeholder={__('Add Paragraph', 'eightshift-boilerplate')}\n onChange={onChangeParagraph}\n value={paragraph}\n />\n </div>\n </div>\n </div>\n );\n};\n"})}),"\n",(0,o.jsxs)(n.p,{children:["Notice how we've imported the ",(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/v2.0.0/blocks/init/src/blocks/components/image/components/image-editor.js",children:(0,o.jsx)(n.code,{children:"image-editor"})})," component from the project's component folder. Note that in your project you'd just copy this component from the frontend-libs blocks (that is you'd copy the entire folder in your project as previously described)."]}),"\n",(0,o.jsxs)(n.p,{children:["Our card editor component will have an ",(0,o.jsx)(n.code,{children:"<ImageEditor />"})," component and two ",(0,o.jsx)(n.code,{children:"<RichText />"})," components (which come from the core editor)."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"card-options.js"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"import React from 'react'; // eslint-disable-line no-unused-vars\nimport { __ } from '@wordpress/i18n';\nimport { PanelBody } from '@wordpress/components';\nimport { ImageOptions } from '../../../components/image/components/image-options';\n\nexport const CardOptions = (props) => {\n const {\n attributes: {\n media,\n },\n actions: {\n onChangeMedia,\n },\n } = props;\n\n return (\n <PanelBody title={__('Card Details', 'eightshift-boilerplate')}>\n <ImageOptions\n media={media}\n onChangeMedia={onChangeMedia}\n />\n </PanelBody>\n );\n};\n"})}),"\n",(0,o.jsxs)(n.p,{children:["The options component (the one shown on the right side in the editor screen), will only contain the ",(0,o.jsx)(n.code,{children:"<ImageOptions />"})," so that we can upload image in our block."]}),"\n",(0,o.jsx)(n.h3,{id:"editor-render",children:"Editor render"}),"\n",(0,o.jsxs)(n.p,{children:["Back to the block, we need to create the ",(0,o.jsx)(n.code,{children:"edit"})," method functionality and the view that we'll render on the front."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"card-block.js"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"import React from 'react'; // eslint-disable-line no-unused-vars\nimport { Fragment } from '@wordpress/element';\nimport { InspectorControls } from '@wordpress/editor';\nimport { getActions } from 'EighshiftBlocksGetActions';\nimport manifest from './manifest.json';\nimport { CardEditor } from './components/card-editor';\nimport { CardOptions } from './components/card-options';\nimport './hooks';\n\nexport const Card = (props) => {\n\n const {\n attributes,\n } = props;\n\n const actions = getActions(props, manifest);\n\n return (\n <Fragment>\n <InspectorControls>\n <CardOptions\n attributes={attributes}\n actions={actions}\n />\n </InspectorControls>\n <CardEditor\n attributes={attributes}\n actions={actions}\n />\n </Fragment>\n );\n};\n"})}),"\n",(0,o.jsxs)(n.p,{children:["Here we'll use our ready-made component (built out of other components - reusability), and wrap it in ",(0,o.jsx)(n.a,{href:"https://reactjs.org/docs/fragments.html",children:"React Fragment"}),". It is a pattern used to return multiple elements."]}),"\n",(0,o.jsxs)(n.p,{children:["Another thing you'll note is the usage of ",(0,o.jsx)(n.code,{children:"<InspectorControls />"})," ",(0,o.jsx)(n.a,{href:"https://github.com/WordPress/gutenberg/tree/master/packages/block-editor/src/components/inspector-controls",children:"component"}),". It is used to display settings of the block in the sidebar (in our case our options that contain the image upload component).\nLastly, both our ",(0,o.jsx)(n.code,{children:"<CardEditor />"})," and ",(0,o.jsx)(n.code,{children:"<InspectorControls />"})," are wrapped in the ",(0,o.jsx)(n.code,{children:"<Fragment />"})," wrapper due to Reacts one top-level element rule. If your block doesn't have options, you can only have ",(0,o.jsx)(n.code,{children:"<CardEditor />"})," component in here."]}),"\n",(0,o.jsx)(n.h3,{id:"php-view",children:"PHP view"}),"\n",(0,o.jsx)(n.p,{children:"So all we need now is the PHP view."}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"card.php"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"<?php\n/**\n * Template for the Card Block.\n *\n * @since 1.0.0\n * @package Eightshift_Boilerplate\\Blocks.\n */\n\nnamespace Eightshift_Boilerplate\\Blocks;\n\n$heading = $attributes['heading'] ?? '';\n$paragraph = $attributes['paragraph'] ?? '';\n$media = $attributes['media'] ?? [];\n\n$block_class = $attributes['blockClass'] ?? '';\n\n?>\n\n<div class=\"<?php echo esc_attr( $block_class ); ?>\">\n\n <?php if ( ! empty( $media ) ) { ?>\n <div class=\"<?php echo esc_attr( \"{$block_class}__media\" ); ?>\">\n <?php $this->render_block_view(\n '/components/image/image.php',\n [\n 'blockClass' => $attributes['blockClass'] ?? '',\n 'media' => $media,\n ]\n );\n ?>\n </div>\n <?php } ?>\n\n <div class=\"<?php echo esc_attr( \"{$block_class}__content\" ); ?>\">\n <?php if ( ! empty( $heading ) ) { ?>\n <div class=\"<?php echo esc_attr( \"{$block_class}__heading\" ); ?>\">\n <?php echo wp_kses_post( $heading ); ?>\n </div>\n <?php } ?>\n\n <?php if ( ! empty( $paragraph ) ) { ?>\n <div class=\"<?php echo esc_attr( \"{$block_class}__paragraph\" ); ?>\">\n <?php echo wp_kses_post( $paragraph ); ?>\n </div>\n <?php } ?>\n </div>\n\n</div>\n\n"})}),"\n",(0,o.jsx)(n.p,{children:"Notice how we used"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"<?php $this->render_block_view(\n '/components/image/image.php',\n [\n 'blockClass' => $attributes['blockClass'] ?? '',\n 'media' => $media,\n ]\n);\n?>\n"})}),"\n",(0,o.jsxs)(n.p,{children:["To render out our ",(0,o.jsx)(n.code,{children:"image"})," component. Again, we're showing the power of reusability here."]}),"\n",(0,o.jsx)(n.h3,{id:"styling",children:"Styling"}),"\n",(0,o.jsx)(n.p,{children:"You can style them how you want, but we added some default styles"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"card-style.scss"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-scss",children:"$block-card: (\n heading: (\n mobile: (\n font-size: 24px,\n line-height: 1.33,\n ),\n ),\n paragraph: (\n mobile: (\n font-size: 18px,\n line-height: 1.5,\n ),\n ),\n);\n\n.block-card {\n $this: &;\n\n &__media {\n margin-bottom: 25px;\n }\n\n &__img {\n margin: 0 auto;\n }\n\n &__content {\n text-align: center;\n }\n\n &__heading {\n @include responsive($block-card, heading);\n font-weight: bold;\n }\n\n &__paragraph {\n @include responsive($block-card, paragraph);\n margin-top: 15px;\n }\n}\n"})})]})}function p(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},11151:(e,n,t)=>{t.d(n,{Z:()=>a,a:()=>i});var o=t(67294);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 a(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/a372a63b.623ec419.js b/assets/js/a372a63b.623ec419.js new file mode 100644 index 000000000..efe364450 --- /dev/null +++ b/assets/js/a372a63b.623ec419.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[95252],{26176: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/a372a63b.d96f4ce1.js b/assets/js/a372a63b.d96f4ce1.js deleted file mode 100644 index a18ab5cc6..000000000 --- a/assets/js/a372a63b.d96f4ce1.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[4590],{61127: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/a374712b.6ad616d8.js b/assets/js/a374712b.6ad616d8.js new file mode 100644 index 000000000..185d29705 --- /dev/null +++ b/assets/js/a374712b.6ad616d8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[83668],{8180:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>u,frontMatter:()=>i,metadata:()=>c,toc:()=>a});var o=s(17624),n=s(4552);const i={id:"rest-route",title:"REST Route"},r=void 0,c={id:"legacy/v7/basics/rest-route",title:"REST Route",description:"docs-source",source:"@site/docs/legacy/v7/basics/rest-route.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/rest-route",permalink:"/docs/legacy/v7/basics/rest-route",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"rest-route",title:"REST Route"},sidebar:"docs",previous:{title:"REST Field",permalink:"/docs/legacy/v7/basics/rest-field"},next:{title:"General",permalink:"/docs/legacy/v7/basics/frontend"}},l={},a=[{value:"Test it in action",id:"test-it-in-action",level:2}];function d(e){const t={a:"a",blockquote:"blockquote",code:"code",h2:"h2",img:"img",p:"p",...(0,n.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/5.0.0",children:(0,o.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(t.p,{children:"This class is used to create a new REST API route."}),"\n",(0,o.jsx)(t.p,{children:"To create a new class for the REST API route, run this command:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"wp boilerplate create_rest_route"})}),"\n",(0,o.jsxs)(t.p,{children:["The output will ask you to input the correct endpoint slug and method (",(0,o.jsx)(t.code,{children:"POST"}),", ",(0,o.jsx)(t.code,{children:"GET"}),", etc.). Everything else will be done for you, setting the namespace, package, vendor prefixes, class, and folder name, and you will be set to write your field implementation in the ",(0,o.jsx)(t.code,{children:"routeCallback"})," method."]}),"\n",(0,o.jsx)(t.h2,{id:"test-it-in-action",children:"Test it in action"}),"\n",(0,o.jsxs)(t.p,{children:["To test it in action, you should check the ",(0,o.jsx)(t.code,{children:"wp-json"})," path in your browser. You can do that with something like this:"]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"domain.ext/wp-json/routeNamespace/routeVersion/routeName"})}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsx)(t.p,{children:"This link will be different based on your project implementation."}),"\n"]})]})}function u(e={}){const{wrapper:t}={...(0,n.M)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},4552:(e,t,s)=>{s.d(t,{I:()=>c,M:()=>r});var o=s(11504);const n={},i=o.createContext(n);function r(e){const t=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),o.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a374712b.d5f26001.js b/assets/js/a374712b.d5f26001.js deleted file mode 100644 index b16bac914..000000000 --- a/assets/js/a374712b.d5f26001.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[14032],{86496:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>u,frontMatter:()=>i,metadata:()=>c,toc:()=>l});var o=s(85893),n=s(11151);const i={id:"rest-route",title:"REST Route"},r=void 0,c={id:"legacy/v7/basics/rest-route",title:"REST Route",description:"docs-source",source:"@site/docs/legacy/v7/basics/rest-route.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/rest-route",permalink:"/docs/legacy/v7/basics/rest-route",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"rest-route",title:"REST Route"},sidebar:"docs",previous:{title:"REST Field",permalink:"/docs/legacy/v7/basics/rest-field"},next:{title:"General",permalink:"/docs/legacy/v7/basics/frontend"}},a={},l=[{value:"Test it in action",id:"test-it-in-action",level:2}];function d(e){const t={a:"a",blockquote:"blockquote",code:"code",h2:"h2",img:"img",p:"p",...(0,n.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/5.0.0",children:(0,o.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(t.p,{children:"This class is used to create a new REST API route."}),"\n",(0,o.jsx)(t.p,{children:"To create a new class for the REST API route, run this command:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"wp boilerplate create_rest_route"})}),"\n",(0,o.jsxs)(t.p,{children:["The output will ask you to input the correct endpoint slug and method (",(0,o.jsx)(t.code,{children:"POST"}),", ",(0,o.jsx)(t.code,{children:"GET"}),", etc.). Everything else will be done for you, setting the namespace, package, vendor prefixes, class, and folder name, and you will be set to write your field implementation in the ",(0,o.jsx)(t.code,{children:"routeCallback"})," method."]}),"\n",(0,o.jsx)(t.h2,{id:"test-it-in-action",children:"Test it in action"}),"\n",(0,o.jsxs)(t.p,{children:["To test it in action, you should check the ",(0,o.jsx)(t.code,{children:"wp-json"})," path in your browser. You can do that with something like this:"]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"domain.ext/wp-json/routeNamespace/routeVersion/routeName"})}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsx)(t.p,{children:"This link will be different based on your project implementation."}),"\n"]})]})}function u(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},11151:(e,t,s)=>{s.d(t,{Z:()=>c,a:()=>r});var o=s(67294);const n={},i=o.createContext(n);function r(e){const t=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),o.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a3a64d88.24a2a7fe.js b/assets/js/a3a64d88.24a2a7fe.js deleted file mode 100644 index 14678f5a8..000000000 --- a/assets/js/a3a64d88.24a2a7fe.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[76811],{13659:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>d,frontMatter:()=>i,metadata:()=>a,toc:()=>c});var r=s(85893),n=s(11151);const i={id:"country-list",title:"Country list"},o=void 0,a={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.",source:"@site/forms/features/country-list.md",sourceDirName:"features",slug:"/features/country-list",permalink:"/forms/features/country-list",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"country-list",title:"Country list"},sidebar:"forms",previous:{title:"Cloudflare",permalink:"/forms/features/cloudflare"},next:{title:"WPML",permalink:"/forms/features/wpml"}},l={},c=[{value:"Where is the country list used?",id:"where-is-the-country-list-used",level:2},{value:"How to add a new country or create a new list?",id:"how-to-add-a-new-country-or-create-a-new-list",level:2}];function u(e){const t={a:"a",em:"em",h2:"h2",img:"img",li:"li",p:"p",ul:"ul",...(0,n.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.a,{href:"https://datahub.io/core/country-list",children:"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."]}),"\n",(0,r.jsxs)(t.p,{children:["All releases are listed ",(0,r.jsx)(t.a,{href:"https://datahub.io/core/country-list",children:"here"}),", the latest version of the country list in Forms is available ",(0,r.jsx)(t.a,{href:"https://github.com/infinum/eightshift-forms/blob/develop/data/country/manifest.json",children:"here"}),"."]}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"Country list screen",src:s(33489).Z+"",width:"610",height:"879"})}),"\n",(0,r.jsx)(t.h2,{id:"where-is-the-country-list-used",children:"Where is the country list used?"}),"\n",(0,r.jsx)(t.p,{children:"Country list provides data for the following features:"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.em,{children:"Country picker"})," form field"]}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.em,{children:"Phone number"})," form field"]}),"\n",(0,r.jsx)(t.li,{children:"Geolocation features"}),"\n"]}),"\n",(0,r.jsx)(t.h2,{id:"how-to-add-a-new-country-or-create-a-new-list",children:"How to add a new country or create a new list?"}),"\n",(0,r.jsxs)(t.p,{children:["To add a country or create a new list, you can use a filter that we provide. For more details on how to do that check ",(0,r.jsx)(t.a,{href:"/forms/php/filters/block/country/alternative-data-set",children:"this page"}),"."]})]})}function d(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(u,{...e})}):u(e)}},33489:(e,t,s)=>{s.d(t,{Z:()=>r});const r=s.p+"assets/images/country-1abf35c8460b6046a112bde4f59b8c5a.webp"},11151:(e,t,s)=>{s.d(t,{Z:()=>a,a:()=>o});var r=s(67294);const n={},i=r.createContext(n);function o(e){const t=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:o(e.components),r.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a3a64d88.f3f77de9.js b/assets/js/a3a64d88.f3f77de9.js new file mode 100644 index 000000000..53673fbb4 --- /dev/null +++ b/assets/js/a3a64d88.f3f77de9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[90520],{4672:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>d,frontMatter:()=>i,metadata:()=>a,toc:()=>c});var r=s(17624),n=s(4552);const i={id:"country-list",title:"Country list"},o=void 0,a={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.",source:"@site/forms/features/country-list.md",sourceDirName:"features",slug:"/features/country-list",permalink:"/forms/features/country-list",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"country-list",title:"Country list"},sidebar:"forms",previous:{title:"Cloudflare",permalink:"/forms/features/cloudflare"},next:{title:"WPML",permalink:"/forms/features/wpml"}},l={},c=[{value:"Where is the country list used?",id:"where-is-the-country-list-used",level:2},{value:"How to add a new country or create a new list?",id:"how-to-add-a-new-country-or-create-a-new-list",level:2}];function u(e){const t={a:"a",em:"em",h2:"h2",img:"img",li:"li",p:"p",ul:"ul",...(0,n.M)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.a,{href:"https://datahub.io/core/country-list",children:"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."]}),"\n",(0,r.jsxs)(t.p,{children:["All releases are listed ",(0,r.jsx)(t.a,{href:"https://datahub.io/core/country-list",children:"here"}),", the latest version of the country list in Forms is available ",(0,r.jsx)(t.a,{href:"https://github.com/infinum/eightshift-forms/blob/develop/data/country/manifest.json",children:"here"}),"."]}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"Country list screen",src:s(94552).c+"",width:"610",height:"879"})}),"\n",(0,r.jsx)(t.h2,{id:"where-is-the-country-list-used",children:"Where is the country list used?"}),"\n",(0,r.jsx)(t.p,{children:"Country list provides data for the following features:"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.em,{children:"Country picker"})," form field"]}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.em,{children:"Phone number"})," form field"]}),"\n",(0,r.jsx)(t.li,{children:"Geolocation features"}),"\n"]}),"\n",(0,r.jsx)(t.h2,{id:"how-to-add-a-new-country-or-create-a-new-list",children:"How to add a new country or create a new list?"}),"\n",(0,r.jsxs)(t.p,{children:["To add a country or create a new list, you can use a filter that we provide. For more details on how to do that check ",(0,r.jsx)(t.a,{href:"/forms/php/filters/block/country/alternative-data-set",children:"this page"}),"."]})]})}function d(e={}){const{wrapper:t}={...(0,n.M)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(u,{...e})}):u(e)}},94552:(e,t,s)=>{s.d(t,{c:()=>r});const r=s.p+"assets/images/country-1abf35c8460b6046a112bde4f59b8c5a.webp"},4552:(e,t,s)=>{s.d(t,{I:()=>a,M:()=>o});var r=s(11504);const n={},i=r.createContext(n);function o(e){const t=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:o(e.components),r.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a43c0a1c.015de139.js b/assets/js/a43c0a1c.015de139.js new file mode 100644 index 000000000..090c004de --- /dev/null +++ b/assets/js/a43c0a1c.015de139.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[16664],{65480: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/a43c0a1c.117faab0.js b/assets/js/a43c0a1c.117faab0.js deleted file mode 100644 index e4f2030bf..000000000 --- a/assets/js/a43c0a1c.117faab0.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[5934],{90209: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/a45434fa.058c2865.js b/assets/js/a45434fa.058c2865.js deleted file mode 100644 index 76de4e36e..000000000 --- a/assets/js/a45434fa.058c2865.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[69051],{53924:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>d,contentTitle:()=>l,default:()=>p,frontMatter:()=>i,metadata:()=>r,toc:()=>a});var o=s(85893),n=s(11151);const i={id:"how-to-use",title:"How to use?"},l=void 0,r={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.",source:"@site/forms/php/filters/how-to-use.md",sourceDirName:"php/filters",slug:"/php/filters/how-to-use",permalink:"/forms/php/filters/how-to-use",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"how-to-use",title:"How to use?"},sidebar:"forms",previous:{title:"WP-CLI",permalink:"/forms/php/wp-cli"},next:{title:"Custom form styles",permalink:"/forms/php/filters/block/forms/style-options"}},d={},a=[{value:"How to use filters",id:"how-to-use-filters",level:2},{value:"Testing with provided examples",id:"testing-with-provided-examples",level:3},{value:"Running all filter tests",id:"running-all-filter-tests",level:3}];function h(e){const t={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",p:"p",pre:"pre",strong:"strong",...(0,n.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:"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."}),"\n",(0,o.jsx)(t.p,{children:"Need to tweak form elements? No problem! Need custom validation rules? Sure! Want to add a custom action after form submission? We got you covered."}),"\n",(0,o.jsx)(t.p,{children:"Below you will find a list of filter and constants that can be set, with descriptions and examples of how to use them."}),"\n",(0,o.jsx)(t.h2,{id:"how-to-use-filters",children:"How to use filters"}),"\n",(0,o.jsxs)(t.p,{children:["The list of all available filters can be found ",(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-forms/blob/develop/testFilters/testFilters.php",children:"here"}),", along with descriptions and examples."]}),"\n",(0,o.jsx)(t.p,{children:"To use a filter, simply copy the code snippet from the example and paste it into your project, e.g."}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-php",children:"\\add_filter('es_forms_block_forms_style_options', [$this, 'getBlockFormsStyleOptions']);\n\n/**\n * Add additional style options to forms block.\n *\n * This filter will add new options to the style select dropdown in the forms block. Forms style option selector will not show unless a filter is provided. This option is shown in Block Editor.\n *\n * @return array<int, array<string, string>>\n */\npublic function getBlockFormsStyleOptions(): array\n{\n\treturn [\n\t\t[\n\t\t\t'label' => 'Default',\n\t\t\t'value' => 'default'\n\t\t],\n\t\t[\n\t\t\t'label' => 'Custom Style',\n\t\t\t'value' => 'custom-style'\n\t\t],\n\t];\n}\n"})}),"\n",(0,o.jsx)(t.h3,{id:"testing-with-provided-examples",children:"Testing with provided examples"}),"\n",(0,o.jsxs)(t.p,{children:["You can test all of the filters with the examples we provide by adding the filter name as a constant in your ",(0,o.jsx)(t.code,{children:"wp-config.php"})," file."]}),"\n",(0,o.jsxs)(t.p,{children:["For example, if you want to test the ",(0,o.jsx)(t.code,{children:"es_forms_block_forms_style_options"})," filter, you would add the following line to your ",(0,o.jsx)(t.code,{children:"wp-config.php"})," file:"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-php",children:"define('ES_RUN_TEST_FILTERS', 'es_forms_block_forms_style_options');\n"})}),"\n",(0,o.jsxs)(t.p,{children:["This will automatically load the ",(0,o.jsx)(t.code,{children:"testFilters.php"})," file and run the ",(0,o.jsx)(t.code,{children:"es_forms_block_forms_style_options"})," filter defined ",(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-forms/blob/develop/testFilters/testFilters.php",children:"here"}),"."]}),"\n",(0,o.jsx)(t.h3,{id:"running-all-filter-tests",children:"Running all filter tests"}),"\n",(0,o.jsxs)(t.p,{children:["The whole filter ",(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-forms/blob/develop/testFilters/testFilters.php",children:"test suite"})," can be run by adding the following line to your ",(0,o.jsx)(t.code,{children:"wp-config.php"})," file:"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-php",children:"define('ES_RUN_TEST_FILTERS', 'all');\n"})}),"\n",(0,o.jsx)(t.admonition,{type:"caution",children:(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Do not use on production sites!"}),"\nThe filters are used for testing and debugging purposes."]})})]})}function p(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(h,{...e})}):h(e)}},11151:(e,t,s)=>{s.d(t,{Z:()=>r,a:()=>l});var o=s(67294);const n={},i=o.createContext(n);function l(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(n):e.components||n:l(e.components),o.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a45434fa.1d8173d5.js b/assets/js/a45434fa.1d8173d5.js new file mode 100644 index 000000000..1e28cad38 --- /dev/null +++ b/assets/js/a45434fa.1d8173d5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[40312],{26376:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>d,contentTitle:()=>l,default:()=>p,frontMatter:()=>i,metadata:()=>r,toc:()=>a});var o=s(17624),n=s(4552);const i={id:"how-to-use",title:"How to use?"},l=void 0,r={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.",source:"@site/forms/php/filters/how-to-use.md",sourceDirName:"php/filters",slug:"/php/filters/how-to-use",permalink:"/forms/php/filters/how-to-use",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"how-to-use",title:"How to use?"},sidebar:"forms",previous:{title:"WP-CLI",permalink:"/forms/php/wp-cli"},next:{title:"Custom form styles",permalink:"/forms/php/filters/block/forms/style-options"}},d={},a=[{value:"How to use filters",id:"how-to-use-filters",level:2},{value:"Testing with provided examples",id:"testing-with-provided-examples",level:3},{value:"Running all filter tests",id:"running-all-filter-tests",level:3}];function h(e){const t={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",p:"p",pre:"pre",strong:"strong",...(0,n.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:"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."}),"\n",(0,o.jsx)(t.p,{children:"Need to tweak form elements? No problem! Need custom validation rules? Sure! Want to add a custom action after form submission? We got you covered."}),"\n",(0,o.jsx)(t.p,{children:"Below you will find a list of filter and constants that can be set, with descriptions and examples of how to use them."}),"\n",(0,o.jsx)(t.h2,{id:"how-to-use-filters",children:"How to use filters"}),"\n",(0,o.jsxs)(t.p,{children:["The list of all available filters can be found ",(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-forms/blob/develop/testFilters/testFilters.php",children:"here"}),", along with descriptions and examples."]}),"\n",(0,o.jsx)(t.p,{children:"To use a filter, simply copy the code snippet from the example and paste it into your project, e.g."}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-php",children:"\\add_filter('es_forms_block_forms_style_options', [$this, 'getBlockFormsStyleOptions']);\n\n/**\n * Add additional style options to forms block.\n *\n * This filter will add new options to the style select dropdown in the forms block. Forms style option selector will not show unless a filter is provided. This option is shown in Block Editor.\n *\n * @return array<int, array<string, string>>\n */\npublic function getBlockFormsStyleOptions(): array\n{\n\treturn [\n\t\t[\n\t\t\t'label' => 'Default',\n\t\t\t'value' => 'default'\n\t\t],\n\t\t[\n\t\t\t'label' => 'Custom Style',\n\t\t\t'value' => 'custom-style'\n\t\t],\n\t];\n}\n"})}),"\n",(0,o.jsx)(t.h3,{id:"testing-with-provided-examples",children:"Testing with provided examples"}),"\n",(0,o.jsxs)(t.p,{children:["You can test all of the filters with the examples we provide by adding the filter name as a constant in your ",(0,o.jsx)(t.code,{children:"wp-config.php"})," file."]}),"\n",(0,o.jsxs)(t.p,{children:["For example, if you want to test the ",(0,o.jsx)(t.code,{children:"es_forms_block_forms_style_options"})," filter, you would add the following line to your ",(0,o.jsx)(t.code,{children:"wp-config.php"})," file:"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-php",children:"define('ES_RUN_TEST_FILTERS', 'es_forms_block_forms_style_options');\n"})}),"\n",(0,o.jsxs)(t.p,{children:["This will automatically load the ",(0,o.jsx)(t.code,{children:"testFilters.php"})," file and run the ",(0,o.jsx)(t.code,{children:"es_forms_block_forms_style_options"})," filter defined ",(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-forms/blob/develop/testFilters/testFilters.php",children:"here"}),"."]}),"\n",(0,o.jsx)(t.h3,{id:"running-all-filter-tests",children:"Running all filter tests"}),"\n",(0,o.jsxs)(t.p,{children:["The whole filter ",(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-forms/blob/develop/testFilters/testFilters.php",children:"test suite"})," can be run by adding the following line to your ",(0,o.jsx)(t.code,{children:"wp-config.php"})," file:"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-php",children:"define('ES_RUN_TEST_FILTERS', 'all');\n"})}),"\n",(0,o.jsx)(t.admonition,{type:"caution",children:(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Do not use on production sites!"}),"\nThe filters are used for testing and debugging purposes."]})})]})}function p(e={}){const{wrapper:t}={...(0,n.M)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(h,{...e})}):h(e)}},4552:(e,t,s)=>{s.d(t,{I:()=>r,M:()=>l});var o=s(11504);const n={},i=o.createContext(n);function l(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(n):e.components||n:l(e.components),o.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a45b31ec.1b427e8c.js b/assets/js/a45b31ec.1b427e8c.js new file mode 100644 index 000000000..8c632d020 --- /dev/null +++ b/assets/js/a45b31ec.1b427e8c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[89584],{3828:(n,e,t)=>{t.r(e),t.d(e,{assets:()=>c,contentTitle:()=>r,default:()=>d,frontMatter:()=>o,metadata:()=>a,toc:()=>l});var i=t(17624),s=t(4552);const o={id:"9-10",title:"Version 9 to 10"},r=void 0,a={id:"migrations/9-10",title:"Version 9 to 10",description:"This migration guide contains migration instructions for:",source:"@site/docs/migrations/9-10.md",sourceDirName:"migrations",slug:"/migrations/9-10",permalink:"/docs/migrations/9-10",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"9-10",title:"Version 9 to 10"},sidebar:"docs",previous:{title:"Version 10 to 11",permalink:"/docs/migrations/10-11"},next:{title:"Version 8 to 9",permalink:"/docs/migrations/8-9"}},c={},l=[{value:"Optional changes",id:"optional-changes",level:2}];function h(n){const e={a:"a",h2:"h2",li:"li",p:"p",strong:"strong",ul:"ul",...(0,s.M)(),...n.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(e.p,{children:"This migration guide contains migration instructions for:"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/infinum/eightshift-boilerplate/releases/tag/10.0.0",children:"eightshift/boilerplate"})," - ",(0,i.jsx)(e.strong,{children:"9+ --\x3e 10.0.0"})]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/releases/tag/8.6.2",children:"eightshift/frontend-libs"})," - ",(0,i.jsx)(e.strong,{children:"8.6.2"})]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/infinum/eightshift-libs/releases/tag/6.5.7",children:"eightshift/libs"})," - ",(0,i.jsx)(e.strong,{children:"6.5.7"})]}),"\n"]}),"\n",(0,i.jsx)(e.h2,{id:"optional-changes",children:"Optional changes"}),"\n",(0,i.jsx)(e.p,{children:(0,i.jsx)(e.strong,{children:"Migration time: ~10min."})}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsx)(e.li,{children:"In this version we changed the way header and footer blocks are used. Synced patterns (formerly known as Reusable blocks) are now used. No changes in your project are needed."}),"\n"]})]})}function d(n={}){const{wrapper:e}={...(0,s.M)(),...n.components};return e?(0,i.jsx)(e,{...n,children:(0,i.jsx)(h,{...n})}):h(n)}},4552:(n,e,t)=>{t.d(e,{I:()=>a,M:()=>r});var i=t(11504);const s={},o=i.createContext(s);function r(n){const e=i.useContext(o);return i.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function a(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(s):n.components||s:r(n.components),i.createElement(o.Provider,{value:e},n.children)}}}]); \ No newline at end of file diff --git a/assets/js/a45b31ec.675e3a3f.js b/assets/js/a45b31ec.675e3a3f.js deleted file mode 100644 index 2464f2190..000000000 --- a/assets/js/a45b31ec.675e3a3f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[2017],{44376:(n,e,t)=>{t.r(e),t.d(e,{assets:()=>c,contentTitle:()=>r,default:()=>d,frontMatter:()=>o,metadata:()=>a,toc:()=>l});var i=t(85893),s=t(11151);const o={id:"9-10",title:"Version 9 to 10"},r=void 0,a={id:"migrations/9-10",title:"Version 9 to 10",description:"This migration guide contains migration instructions for:",source:"@site/docs/migrations/9-10.md",sourceDirName:"migrations",slug:"/migrations/9-10",permalink:"/docs/migrations/9-10",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"9-10",title:"Version 9 to 10"},sidebar:"docs",previous:{title:"Version 10 to 11",permalink:"/docs/migrations/10-11"},next:{title:"Version 8 to 9",permalink:"/docs/migrations/8-9"}},c={},l=[{value:"Optional changes",id:"optional-changes",level:2}];function h(n){const e={a:"a",h2:"h2",li:"li",p:"p",strong:"strong",ul:"ul",...(0,s.a)(),...n.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(e.p,{children:"This migration guide contains migration instructions for:"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/infinum/eightshift-boilerplate/releases/tag/10.0.0",children:"eightshift/boilerplate"})," - ",(0,i.jsx)(e.strong,{children:"9+ --\x3e 10.0.0"})]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/releases/tag/8.6.2",children:"eightshift/frontend-libs"})," - ",(0,i.jsx)(e.strong,{children:"8.6.2"})]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/infinum/eightshift-libs/releases/tag/6.5.7",children:"eightshift/libs"})," - ",(0,i.jsx)(e.strong,{children:"6.5.7"})]}),"\n"]}),"\n",(0,i.jsx)(e.h2,{id:"optional-changes",children:"Optional changes"}),"\n",(0,i.jsx)(e.p,{children:(0,i.jsx)(e.strong,{children:"Migration time: ~10min."})}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsx)(e.li,{children:"In this version we changed the way header and footer blocks are used. Synced patterns (formerly known as Reusable blocks) are now used. No changes in your project are needed."}),"\n"]})]})}function d(n={}){const{wrapper:e}={...(0,s.a)(),...n.components};return e?(0,i.jsx)(e,{...n,children:(0,i.jsx)(h,{...n})}):h(n)}},11151:(n,e,t)=>{t.d(e,{Z:()=>a,a:()=>r});var i=t(67294);const s={},o=i.createContext(s);function r(n){const e=i.useContext(o);return i.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function a(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(s):n.components||s:r(n.components),i.createElement(o.Provider,{value:e},n.children)}}}]); \ No newline at end of file diff --git a/assets/js/a56ad6f0.7f37f3e7.js b/assets/js/a56ad6f0.7f37f3e7.js new file mode 100644 index 000000000..32d74a0b3 --- /dev/null +++ b/assets/js/a56ad6f0.7f37f3e7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[17872],{2668:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>r,contentTitle:()=>c,default:()=>p,frontMatter:()=>n,metadata:()=>i,toc:()=>l});var a=t(17624),o=t(4552);const n={id:"example-class",title:"Example Class"},c=void 0,i={id:"legacy/v8/basics/example-class",title:"Example Class",description:"docs-source",source:"@site/docs/legacy/v8/basics/example-class.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/example-class",permalink:"/docs/legacy/v8/basics/example-class",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"example-class",title:"Example Class"},sidebar:"docs",previous:{title:"Autowiring",permalink:"/docs/legacy/v8/basics/autowiring"},next:{title:"Assets Manifest",permalink:"/docs/legacy/v8/basics/manifest"}},r={},l=[];function d(e){const s={a:"a",code:"code",img:"img",p:"p",...(0,o.M)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(s.p,{children:(0,a.jsx)(s.a,{href:"https://github.com/infinum/eightshift-libs",children:(0,a.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,a.jsxs)(s.p,{children:["As you've already seen in the ",(0,a.jsx)(s.a,{href:"wp-cli",children:"WP-CLI"})," chapter, we have many finished features prepared for you. However, we want to make things even easier for you, so we created an example service class for you to use."]}),"\n",(0,a.jsx)(s.p,{children:"If you want to add a new service class to your project but don't want to write all the code manually, just use the WP-CLI command:"}),"\n",(0,a.jsx)(s.p,{children:(0,a.jsx)(s.code,{children:"wp boilerplate create service-example --prompt"})}),"\n",(0,a.jsxs)(s.p,{children:["The output will ask you to input the correct folder path relative to the ",(0,a.jsx)(s.code,{children:"src"})," folder and specify the class name.\nEverything else will be done for you like setting the namespace, package, vendor prefixes, class and folder name, and you will be set to write your class."]}),"\n",(0,a.jsx)(s.p,{children:"After that, add your WordPress hooks to the register method, provide its callback, and let the magic happen."})]})}function p(e={}){const{wrapper:s}={...(0,o.M)(),...e.components};return s?(0,a.jsx)(s,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},4552:(e,s,t)=>{t.d(s,{I:()=>i,M:()=>c});var a=t(11504);const o={},n=a.createContext(o);function c(e){const s=a.useContext(n);return a.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function i(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:c(e.components),a.createElement(n.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a56ad6f0.c2a69256.js b/assets/js/a56ad6f0.c2a69256.js deleted file mode 100644 index df6c52410..000000000 --- a/assets/js/a56ad6f0.c2a69256.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[63841],{23111:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>r,contentTitle:()=>c,default:()=>p,frontMatter:()=>n,metadata:()=>i,toc:()=>l});var a=t(85893),o=t(11151);const n={id:"example-class",title:"Example Class"},c=void 0,i={id:"legacy/v8/basics/example-class",title:"Example Class",description:"docs-source",source:"@site/docs/legacy/v8/basics/example-class.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/example-class",permalink:"/docs/legacy/v8/basics/example-class",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"example-class",title:"Example Class"},sidebar:"docs",previous:{title:"Autowiring",permalink:"/docs/legacy/v8/basics/autowiring"},next:{title:"Assets Manifest",permalink:"/docs/legacy/v8/basics/manifest"}},r={},l=[];function d(e){const s={a:"a",code:"code",img:"img",p:"p",...(0,o.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(s.p,{children:(0,a.jsx)(s.a,{href:"https://github.com/infinum/eightshift-libs",children:(0,a.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,a.jsxs)(s.p,{children:["As you've already seen in the ",(0,a.jsx)(s.a,{href:"wp-cli",children:"WP-CLI"})," chapter, we have many finished features prepared for you. However, we want to make things even easier for you, so we created an example service class for you to use."]}),"\n",(0,a.jsx)(s.p,{children:"If you want to add a new service class to your project but don't want to write all the code manually, just use the WP-CLI command:"}),"\n",(0,a.jsx)(s.p,{children:(0,a.jsx)(s.code,{children:"wp boilerplate create service-example --prompt"})}),"\n",(0,a.jsxs)(s.p,{children:["The output will ask you to input the correct folder path relative to the ",(0,a.jsx)(s.code,{children:"src"})," folder and specify the class name.\nEverything else will be done for you like setting the namespace, package, vendor prefixes, class and folder name, and you will be set to write your class."]}),"\n",(0,a.jsx)(s.p,{children:"After that, add your WordPress hooks to the register method, provide its callback, and let the magic happen."})]})}function p(e={}){const{wrapper:s}={...(0,o.a)(),...e.components};return s?(0,a.jsx)(s,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},11151:(e,s,t)=>{t.d(s,{Z:()=>i,a:()=>c});var a=t(67294);const o={},n=a.createContext(o);function c(e){const s=a.useContext(n);return a.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function i(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:c(e.components),a.createElement(n.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a5dd7d10.0199b425.js b/assets/js/a5dd7d10.0199b425.js deleted file mode 100644 index 9ef8152b0..000000000 --- a/assets/js/a5dd7d10.0199b425.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[63057],{78879: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/a5dd7d10.01dfe4ee.js b/assets/js/a5dd7d10.01dfe4ee.js new file mode 100644 index 000000000..cf4ae1e80 --- /dev/null +++ b/assets/js/a5dd7d10.01dfe4ee.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[81736],{84260: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.1fe3020e.js b/assets/js/a6aa9e1f.1fe3020e.js new file mode 100644 index 000000000..e1633999f --- /dev/null +++ b/assets/js/a6aa9e1f.1fe3020e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[54976,26752],{22687:(t,i,e)=>{e.d(i,{c:()=>r});e(11504);var s=e(84357),n=e(70308),o=e(17624);function r(t){const{metadata:i}=t,{previousPage:e,nextPage:r}=i;return(0,o.jsxs)("nav",{className:"pagination-nav","aria-label":(0,s.G)({id:"theme.blog.paginator.navAriaLabel",message:"Blog list page navigation",description:"The ARIA label for the blog pagination"}),children:[e&&(0,o.jsx)(n.c,{permalink:e,title:(0,o.jsx)(s.c,{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.c,{permalink:r,title:(0,o.jsx)(s.c,{id:"theme.blog.paginator.olderEntries",description:"The label used to navigate to the older blog posts page (next page)",children:"Older Entries"}),isNext:!0})]})}},60992:(t,i,e)=>{e.d(i,{c:()=>r});e(11504);var s=e(83152),n=e(57792),o=e(17624);function r(t){let{items:i,component:e=n.c}=t;return(0,o.jsx)(o.Fragment,{children:i.map((t=>{let{content:i}=t;return(0,o.jsx)(s.E,{content:i,children:(0,o.jsx)(e,{children:(0,o.jsx)(i,{})})},i.metadata.permalink)}))})}},28952:(t,i,e)=>{e.d(i,{c:()=>o});e(11504);var s=e(50236),n=e(17624);function o(t){return(0,n.jsx)(s.Ok,{...t})}},22332:(t,i,e)=>{e.r(i),e.d(i,{default:()=>f});e(11504);var s=e(65456),n=e(28264),o=e(85008),r=e(45864),a=e(9452),l=e(22687),h=e(48712),c=e(60992),g=e(69200),d=e(3965),u=e(17624);function p(t){const{metadata:i}=t,{siteConfig:{title:e}}=(0,n.c)(),{blogDescription:s,blogTitle:r,permalink:a}=i,l="/"===a?e:r;return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(o.U7,{title:l,description:s}),(0,u.jsx)(h.c,{tag:"blog_posts_list"})]})}function m(t){const{metadata:i,items:e}=t;return(0,u.jsxs)(a.c,{children:[(0,u.jsxs)("h1",{className:"es-big-title",children:["Typing as ",(0,u.jsx)("wbr",{})," we code"]}),(0,u.jsx)("div",{className:"es-blog-grid",children:(0,u.jsx)(c.c,{items:e})}),(0,u.jsx)(l.c,{metadata:i}),(0,u.jsx)(g.m,{gray:!0}),(0,u.jsx)(d.u,{gray:!0})]})}function f(t){return(0,u.jsxs)(o.cr,{className:(0,s.c)(r.W.wrapper.blogPages,r.W.page.blogListPage),children:[(0,u.jsx)(p,{...t}),(0,u.jsx)(m,{...t})]})}},3965:(t,i,e)=>{e.d(i,{u:()=>o});e(11504);var s=e(50236),n=e(17624);const o=t=>(0,n.jsx)(s.cz,{...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"})},69200:(t,i,e)=>{e.d(i,{m:()=>o});e(11504);var s=e(50236),n=e(17624);const o=t=>(0,n.jsx)(s.of,{...t,title:"Start exploring",osProjectIcons:!0,cards:[{icon:s.YR.boilerplate,text:"Eightshift Boilerplate",url:"https://github.com/infinum/eightshift-boilerplate"},{icon:s.YR.boilerplate,text:"Eightshift Boilerplate Plugin",url:"https://github.com/infinum/eightshift-boilerplate-plugin"},{icon:s.YR.eightshiftLibs1,text:"Eightshift Libs",url:"https://github.com/infinum/eightshift-libs"},{icon:s.YR.eightshiftFrontendLibs,text:"Eightshift Frontend Libs",url:"https://github.com/infinum/eightshift-frontend-libs"},{icon:s.YR.eightshiftForms,text:"Eightshift Forms",url:"https://github.com/infinum/eightshift-forms"},{icon:s.YR.eightshiftDocs,text:"Eightshift Docs",url:"https://github.com/infinum/eightshift-docs"},{icon:s.YR.storybook,text:"Eightshift Storybook",url:"https://github.com/infinum/eightshift-storybook"},{icon:s.YR.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/a6aa9e1f.beca3713.js b/assets/js/a6aa9e1f.beca3713.js deleted file mode 100644 index a191e104f..000000000 --- a/assets/js/a6aa9e1f.beca3713.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[93089,27918],{99703:(t,e,i)=>{i.d(e,{Z:()=>r});i(67294);var s=i(95999),n=i(32244),o=i(85893);function r(t){const{metadata:e}=t,{previousPage:i,nextPage:r}=e;return(0,o.jsxs)("nav",{className:"pagination-nav","aria-label":(0,s.I)({id:"theme.blog.paginator.navAriaLabel",message:"Blog list page navigation",description:"The ARIA label for the blog pagination"}),children:[i&&(0,o.jsx)(n.Z,{permalink:i,title:(0,o.jsx)(s.Z,{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.Z,{permalink:r,title:(0,o.jsx)(s.Z,{id:"theme.blog.paginator.olderEntries",description:"The label used to navigate to the older blog posts page (next page)",children:"Older Entries"}),isNext:!0})]})}},79985:(t,e,i)=>{i.d(e,{Z:()=>r});i(67294);var s=i(9460),n=i(30390),o=i(85893);function r(t){let{items:e,component:i=n.Z}=t;return(0,o.jsx)(o.Fragment,{children:e.map((t=>{let{content:e}=t;return(0,o.jsx)(s.n,{content:e,children:(0,o.jsx)(i,{children:(0,o.jsx)(e,{})})},e.metadata.permalink)}))})}},25943:(t,e,i)=>{i.d(e,{Z:()=>o});i(67294);var s=i(38970),n=i(85893);function o(t){return(0,n.jsx)(s.SV,{...t})}},76289:(t,e,i)=>{i.r(e),i.d(e,{default:()=>b});i(67294);function s(t){var e,i,n="";if("string"==typeof t||"number"==typeof t)n+=t;else if("object"==typeof t)if(Array.isArray(t))for(e=0;e<t.length;e++)t[e]&&(i=s(t[e]))&&(n&&(n+=" "),n+=i);else for(e in t)t[e]&&(n&&(n+=" "),n+=e);return n}const n=function(){for(var t,e,i=0,n="";i<arguments.length;)(t=arguments[i++])&&(e=s(t))&&(n&&(n+=" "),n+=e);return n};var o=i(52263),r=i(10833),a=i(35281),l=i(61460),h=i(99703),g=i(90197),c=i(79985),p=i(61262),d=i(3074),f=i(85893);function u(t){const{metadata:e}=t,{siteConfig:{title:i}}=(0,o.Z)(),{blogDescription:s,blogTitle:n,permalink:a}=e,l="/"===a?i:n;return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(r.d,{title:l,description:s}),(0,f.jsx)(g.Z,{tag:"blog_posts_list"})]})}function m(t){const{metadata:e,items:i}=t;return(0,f.jsxs)(l.Z,{children:[(0,f.jsxs)("h1",{className:"es-big-title",children:["Typing as ",(0,f.jsx)("wbr",{})," we code"]}),(0,f.jsx)("div",{className:"es-blog-grid",children:(0,f.jsx)(c.Z,{items:i})}),(0,f.jsx)(h.Z,{metadata:e}),(0,f.jsx)(p.D,{gray:!0}),(0,f.jsx)(d.d,{gray:!0})]})}function b(t){return(0,f.jsxs)(r.FG,{className:n(a.k.wrapper.blogPages,a.k.page.blogListPage),children:[(0,f.jsx)(u,{...t}),(0,f.jsx)(m,{...t})]})}},3074:(t,e,i)=>{i.d(e,{d:()=>o});i(67294);var s=i(38970),n=i(85893);const o=t=>(0,n.jsx)(s.xq,{...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"})},61262:(t,e,i)=>{i.d(e,{D:()=>o});i(67294);var s=i(38970),n=i(85893);const o=t=>(0,n.jsx)(s.vm,{...t,title:"Start exploring",osProjectIcons:!0,cards:[{icon:s.pW.boilerplate,text:"Eightshift Boilerplate",url:"https://github.com/infinum/eightshift-boilerplate"},{icon:s.pW.boilerplate,text:"Eightshift Boilerplate Plugin",url:"https://github.com/infinum/eightshift-boilerplate-plugin"},{icon:s.pW.eightshiftLibs1,text:"Eightshift Libs",url:"https://github.com/infinum/eightshift-libs"},{icon:s.pW.eightshiftFrontendLibs,text:"Eightshift Frontend Libs",url:"https://github.com/infinum/eightshift-frontend-libs"},{icon:s.pW.eightshiftForms,text:"Eightshift Forms",url:"https://github.com/infinum/eightshift-forms"},{icon:s.pW.eightshiftDocs,text:"Eightshift Docs",url:"https://github.com/infinum/eightshift-docs"},{icon:s.pW.storybook,text:"Eightshift Storybook",url:"https://github.com/infinum/eightshift-storybook"},{icon:s.pW.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/a6e1df93.3c9d786a.js b/assets/js/a6e1df93.3c9d786a.js deleted file mode 100644 index e4d8e817e..000000000 --- a/assets/js/a6e1df93.3c9d786a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[11503],{90203: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/a6e1df93.c939f39f.js b/assets/js/a6e1df93.c939f39f.js new file mode 100644 index 000000000..1ba0d78d3 --- /dev/null +++ b/assets/js/a6e1df93.c939f39f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[44152],{37746: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.2c730e52.js b/assets/js/a7023ddc.2c730e52.js deleted file mode 100644 index 24903140b..000000000 --- a/assets/js/a7023ddc.2c730e52.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[11713],{53457:l=>{l.exports=JSON.parse('[{"label":"eightshift","permalink":"/blog/tags/eightshift","count":14},{"label":"boilerplate","permalink":"/blog/tags/boilerplate","count":14},{"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":"blocks","permalink":"/blog/tags/blocks","count":4},{"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":"images","permalink":"/blog/tags/images","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/a7023ddc.53ccd913.js b/assets/js/a7023ddc.53ccd913.js new file mode 100644 index 000000000..ed1e44018 --- /dev/null +++ b/assets/js/a7023ddc.53ccd913.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[39112],{61568:l=>{l.exports=JSON.parse('[{"label":"eightshift","permalink":"/blog/tags/eightshift","count":14},{"label":"boilerplate","permalink":"/blog/tags/boilerplate","count":14},{"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":"blocks","permalink":"/blog/tags/blocks","count":4},{"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":"images","permalink":"/blog/tags/images","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/a737efbc.78e68969.js b/assets/js/a737efbc.78e68969.js deleted file mode 100644 index cdc9ab266..000000000 --- a/assets/js/a737efbc.78e68969.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[99259],{10354:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>u,frontMatter:()=>r,metadata:()=>a,toc:()=>l});var n=s(85893),o=s(11151);const r={id:"post-type",title:"Post Type"},i=void 0,a={id:"legacy/v4/guides/post-type",title:"Post Type",description:"docs-source",source:"@site/docs/legacy/v4/guides/post-type.md",sourceDirName:"legacy/v4/guides",slug:"/legacy/v4/guides/post-type",permalink:"/docs/legacy/v4/guides/post-type",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"post-type",title:"Post Type"},sidebar:"docs",previous:{title:"Enqueue",permalink:"/docs/legacy/v4/guides/enqueue"},next:{title:"Taxonomy",permalink:"/docs/legacy/v4/guides/taxonomy"}},c={},l=[{value:"Example:",id:"example",level:2}];function p(e){const t={a:"a",code:"code",h2:"h2",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",...(0,o.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/custom-post-type/class-base-post-type.php",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsxs)(t.p,{children:["When working on a WordPress project it is possible that, at one point, you will need to register a Custom Post Type.\nCustom Post Type class is located in ",(0,n.jsx)(t.code,{children:"Eightshift Libs"}),". To extend it, use ",(0,n.jsx)(t.code,{children:"Eightshift_Libs\\Custom_Post_Type\\Base_Post_Type"})," class. This is an abstract class."]}),"\n",(0,n.jsx)(t.h2,{id:"example",children:"Example:"}),"\n",(0,n.jsx)(t.p,{children:"To create a custom post type:"}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:["make a new class ",(0,n.jsx)(t.code,{children:"src/custom-post-type/class-projects.php"}),"."]}),"\n",(0,n.jsx)(t.li,{children:"implement all the methods provided in the example."}),"\n",(0,n.jsxs)(t.li,{children:["register the class inside the ",(0,n.jsx)(t.code,{children:"class-main.php"})," file."]}),"\n",(0,n.jsx)(t.li,{children:"dump autoload."}),"\n"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-js",children:"<?php\n/**\n * File that holds class for \"Projects\" custom post type registration.\n *\n * @package Eightshift_Boilerplate\\Custom_Post_Type\n */\n\nnamespace Eightshift_Boilerplate\\Custom_Post_Type;\n\nuse Eightshift_Libs\\Custom_Post_Type\\Base_Post_Type;\nuse Eightshift_Libs\\Custom_Post_Type\\Label_Generator;\n\n/**\n * Class Projects.\n */\nclass Projects extends Base_Post_Type {\n\n /**\n * Post type slug constant.\n *\n * @var string\n */\n const POST_TYPE_SLUG = 'projects-type';\n\n /**\n * URL slug for the custom post type.\n *\n * @var string\n */\n const POST_TYPE_URL_SLUG = 'projects';\n\n /**\n * Rest API Endpoint slug constant.\n *\n * @var string\n */\n const REST_API_ENDPOINT_SLUG = 'projects';\n\n /**\n * Capability type for projects post type.\n *\n * @var string\n */\n const POST_CAPABILITY_TYPE = 'post';\n\n /**\n * Location of menu in sidebar.\n *\n * @var int\n */\n const MENU_POSITION = 20;\n\n /**\n * Set menu icon.\n *\n * @var string\n */\n const MENU_ICON = 'dashicons-analytics';\n\n /**\n * Get the slug to use for the Projects custom post type.\n *\n * @return string Custom post type slug.\n */\n protected function get_post_type_slug() : string {\n return self::POST_TYPE_SLUG;\n }\n\n /**\n * Get the arguments that configure the Projects custom post type.\n *\n * @return array Array of arguments.\n */\n protected function get_post_type_arguments() : array {\n\n $nouns = [\n Label_Generator::SINGULAR_NAME_UC => esc_html_x( 'Project', 'Projects post uppercase singular name', 'eightshift-boilerplate' ),\n Label_Generator::SINGULAR_NAME_LC => esc_html_x( 'project', 'Projects post lowercase singular name', 'eightshift-boilerplate' ),\n Label_Generator::PLURAL_NAME_UC => esc_html_x( 'Projects', 'Projects post uppercase plural name', 'eightshift-boilerplate' ),\n Label_Generator::PLURAL_NAME_LC => esc_html_x( 'projects', 'Projects post lowercase plural name', 'eightshift-boilerplate' ),\n ];\n\n return [\n 'label' => $nouns[ Label_Generator::SINGULAR_NAME_UC ],\n 'labels' => ( new Label_Generator() )->get_generated_labels( $nouns ),\n 'public' => true,\n 'publicly_queryable' => true,\n 'show_ui' => true,\n 'show_in_menu' => true,\n 'query_var' => true,\n 'capability_type' => self::POST_CAPABILITY_TYPE,\n 'has_archive' => true,\n 'rewrite' => [ 'slug' => static::POST_TYPE_URL_SLUG ],\n 'hierarchical' => false,\n 'menu_icon' => static::MENU_ICON,\n 'menu_position' => static::MENU_POSITION,\n 'supports' => [ 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'comments' ],\n 'show_in_rest' => true,\n 'rest_base' => static::REST_API_ENDPOINT_SLUG,\n ];\n }\n}\n\n"})})]})}function u(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(p,{...e})}):p(e)}},11151:(e,t,s)=>{s.d(t,{Z:()=>a,a:()=>i});var n=s(67294);const o={},r=n.createContext(o);function i(e){const t=n.useContext(r);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(o):e.components||o:i(e.components),n.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a737efbc.7989c7ce.js b/assets/js/a737efbc.7989c7ce.js new file mode 100644 index 000000000..980e2c9ac --- /dev/null +++ b/assets/js/a737efbc.7989c7ce.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[13156],{40816:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>u,frontMatter:()=>r,metadata:()=>a,toc:()=>l});var n=s(17624),o=s(4552);const r={id:"post-type",title:"Post Type"},i=void 0,a={id:"legacy/v4/guides/post-type",title:"Post Type",description:"docs-source",source:"@site/docs/legacy/v4/guides/post-type.md",sourceDirName:"legacy/v4/guides",slug:"/legacy/v4/guides/post-type",permalink:"/docs/legacy/v4/guides/post-type",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"post-type",title:"Post Type"},sidebar:"docs",previous:{title:"Enqueue",permalink:"/docs/legacy/v4/guides/enqueue"},next:{title:"Taxonomy",permalink:"/docs/legacy/v4/guides/taxonomy"}},c={},l=[{value:"Example:",id:"example",level:2}];function p(e){const t={a:"a",code:"code",h2:"h2",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",...(0,o.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/custom-post-type/class-base-post-type.php",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsxs)(t.p,{children:["When working on a WordPress project it is possible that, at one point, you will need to register a Custom Post Type.\nCustom Post Type class is located in ",(0,n.jsx)(t.code,{children:"Eightshift Libs"}),". To extend it, use ",(0,n.jsx)(t.code,{children:"Eightshift_Libs\\Custom_Post_Type\\Base_Post_Type"})," class. This is an abstract class."]}),"\n",(0,n.jsx)(t.h2,{id:"example",children:"Example:"}),"\n",(0,n.jsx)(t.p,{children:"To create a custom post type:"}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:["make a new class ",(0,n.jsx)(t.code,{children:"src/custom-post-type/class-projects.php"}),"."]}),"\n",(0,n.jsx)(t.li,{children:"implement all the methods provided in the example."}),"\n",(0,n.jsxs)(t.li,{children:["register the class inside the ",(0,n.jsx)(t.code,{children:"class-main.php"})," file."]}),"\n",(0,n.jsx)(t.li,{children:"dump autoload."}),"\n"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-js",children:"<?php\n/**\n * File that holds class for \"Projects\" custom post type registration.\n *\n * @package Eightshift_Boilerplate\\Custom_Post_Type\n */\n\nnamespace Eightshift_Boilerplate\\Custom_Post_Type;\n\nuse Eightshift_Libs\\Custom_Post_Type\\Base_Post_Type;\nuse Eightshift_Libs\\Custom_Post_Type\\Label_Generator;\n\n/**\n * Class Projects.\n */\nclass Projects extends Base_Post_Type {\n\n /**\n * Post type slug constant.\n *\n * @var string\n */\n const POST_TYPE_SLUG = 'projects-type';\n\n /**\n * URL slug for the custom post type.\n *\n * @var string\n */\n const POST_TYPE_URL_SLUG = 'projects';\n\n /**\n * Rest API Endpoint slug constant.\n *\n * @var string\n */\n const REST_API_ENDPOINT_SLUG = 'projects';\n\n /**\n * Capability type for projects post type.\n *\n * @var string\n */\n const POST_CAPABILITY_TYPE = 'post';\n\n /**\n * Location of menu in sidebar.\n *\n * @var int\n */\n const MENU_POSITION = 20;\n\n /**\n * Set menu icon.\n *\n * @var string\n */\n const MENU_ICON = 'dashicons-analytics';\n\n /**\n * Get the slug to use for the Projects custom post type.\n *\n * @return string Custom post type slug.\n */\n protected function get_post_type_slug() : string {\n return self::POST_TYPE_SLUG;\n }\n\n /**\n * Get the arguments that configure the Projects custom post type.\n *\n * @return array Array of arguments.\n */\n protected function get_post_type_arguments() : array {\n\n $nouns = [\n Label_Generator::SINGULAR_NAME_UC => esc_html_x( 'Project', 'Projects post uppercase singular name', 'eightshift-boilerplate' ),\n Label_Generator::SINGULAR_NAME_LC => esc_html_x( 'project', 'Projects post lowercase singular name', 'eightshift-boilerplate' ),\n Label_Generator::PLURAL_NAME_UC => esc_html_x( 'Projects', 'Projects post uppercase plural name', 'eightshift-boilerplate' ),\n Label_Generator::PLURAL_NAME_LC => esc_html_x( 'projects', 'Projects post lowercase plural name', 'eightshift-boilerplate' ),\n ];\n\n return [\n 'label' => $nouns[ Label_Generator::SINGULAR_NAME_UC ],\n 'labels' => ( new Label_Generator() )->get_generated_labels( $nouns ),\n 'public' => true,\n 'publicly_queryable' => true,\n 'show_ui' => true,\n 'show_in_menu' => true,\n 'query_var' => true,\n 'capability_type' => self::POST_CAPABILITY_TYPE,\n 'has_archive' => true,\n 'rewrite' => [ 'slug' => static::POST_TYPE_URL_SLUG ],\n 'hierarchical' => false,\n 'menu_icon' => static::MENU_ICON,\n 'menu_position' => static::MENU_POSITION,\n 'supports' => [ 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'comments' ],\n 'show_in_rest' => true,\n 'rest_base' => static::REST_API_ENDPOINT_SLUG,\n ];\n }\n}\n\n"})})]})}function u(e={}){const{wrapper:t}={...(0,o.M)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(p,{...e})}):p(e)}},4552:(e,t,s)=>{s.d(t,{I:()=>a,M:()=>i});var n=s(11504);const o={},r=n.createContext(o);function i(e){const t=n.useContext(r);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(o):e.components||o:i(e.components),n.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a7bd4aaa.2e308d0f.js b/assets/js/a7bd4aaa.2e308d0f.js deleted file mode 100644 index af5c21a9d..000000000 --- a/assets/js/a7bd4aaa.2e308d0f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[18518],{8564:(n,s,e)=>{e.r(s),e.d(s,{default:()=>l});e(67294);var r=e(10833),o=e(43320),t=e(74477),i=e(18790),c=e(90197),u=e(85893);function a(n){const{version:s}=n;return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(c.Z,{version:s.version,tag:(0,o.os)(s.pluginId,s.version)}),(0,u.jsx)(r.d,{children:s.noIndex&&(0,u.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})]})}function d(n){const{version:s,route:e}=n;return(0,u.jsx)(r.FG,{className:s.className,children:(0,u.jsx)(t.q,{version:s,children:(0,i.H)(e.routes)})})}function l(n){return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(a,{...n}),(0,u.jsx)(d,{...n})]})}}}]); \ No newline at end of file diff --git a/assets/js/a7bd4aaa.766742ae.js b/assets/js/a7bd4aaa.766742ae.js new file mode 100644 index 000000000..e33f4f7e5 --- /dev/null +++ b/assets/js/a7bd4aaa.766742ae.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[86500],{22e3:(n,e,s)=>{s.r(e),s.d(e,{default:()=>d});s(11504);var r=s(85008),t=s(14456),o=s(69920),i=s(85464),c=s(48712),u=s(17624);function a(n){const{version:e}=n;return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(c.c,{version:e.version,tag:(0,t.SE)(e.pluginId,e.version)}),(0,u.jsx)(r.U7,{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.cr,{className:e.className,children:(0,u.jsx)(o.Q,{version:e,children:(0,i.k)(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.02a0eccc.js b/assets/js/a94703ab.02a0eccc.js new file mode 100644 index 000000000..a1948c540 --- /dev/null +++ b/assets/js/a94703ab.02a0eccc.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[4666],{20996:(e,t,n)=>{n.r(t),n.d(t,{default:()=>he});var a=n(11504),o=n(65456),i=n(85008),s=n(45864),c=n(79940),l=n(46192),r=n(84357),d=n(53943),u=n(27124);const m={backToTopButton:"backToTopButton_sjWU",backToTopButtonShow:"backToTopButtonShow_xfvO"};var h=n(17624);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:c}=(0,d.yI)();return(0,d.SM)(((e,n)=>{let{scrollY:a}=e;const s=n?.scrollY;s&&(i.current?i.current=!1:a>=s?(c(),o(!1)):a<t?o(!1):a+window.innerHeight<document.documentElement.scrollHeight&&o(!0))})),(0,u.c)((e=>{e.location.hash&&(i.current=!0,o(!1))})),{shown:n,scrollToTop:()=>s(0)}}({threshold:300});return(0,h.jsx)("button",{"aria-label":(0,r.G)({id:"theme.BackToTopButton.buttonAriaLabel",message:"Scroll back to top",description:"The ARIA label for the back to top button"}),className:(0,o.c)("clean-btn",s.W.common.backToTopButton,m.backToTopButton,e&&m.backToTopButtonShow),type:"button",onClick:t})}var p=n(13856),x=n(55592),f=n(11432),j=n(21824),_=n(34240);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 S(e){let{onClick:t}=e;return(0,h.jsx)("button",{type:"button",title:(0,r.G)({id:"theme.docs.sidebar.collapseButtonTitle",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),"aria-label":(0,r.G)({id:"theme.docs.sidebar.collapseButtonAriaLabel",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),className:(0,o.c)("button button--secondary button--outline",g.collapseSidebarButton),onClick:t,children:(0,h.jsx)(v,{className:g.collapseSidebarButtonIcon})})}var k=n(43868),C=n(91100);const I=Symbol("EmptyContext"),N=a.createContext(I);function T(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)(N.Provider,{value:i,children:t})}var B=n(58448),y=n(13376),A=n(10867),W=n(93664);function w(e){let{collapsed:t,categoryLabel:n,onClick:a}=e;return(0,h.jsx)("button",{"aria-label":t?(0,r.G)({id:"theme.DocSidebarItem.expandCategoryAriaLabel",message:"Expand sidebar category '{label}'",description:"The ARIA label to expand the sidebar category"},{label:n}):(0,r.G)({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 L(e){let{item:t,onItemClick:n,activePath:i,level:l,index:r,...d}=e;const{items:u,label:m,collapsible:b,className:p,href:x}=t,{docs:{sidebar:{autoCollapseCategories:f}}}=(0,j.y)(),_=function(e){const t=(0,W.c)();return(0,a.useMemo)((()=>e.href&&!e.linkUnlisted?e.href:!t&&e.collapsible?(0,c.Gw)(e):void 0),[e,t])}(t),v=(0,c.Md)(t,i),g=(0,y.Sc)(x,i),{collapsed:S,setCollapsed:k}=(0,B.a)({initialState:()=>!!b&&(!v&&t.collapsed)}),{expandedItem:T,setExpandedItem:L}=function(){const e=(0,a.useContext)(N);if(e===I)throw new C.AH("DocSidebarItemsExpandedStateProvider");return e}(),E=function(e){void 0===e&&(e=!S),L(e?null:r),k(e)};return function(e){let{isActive:t,collapsed:n,updateCollapsed:o}=e;const i=(0,C.i0)(t);(0,a.useEffect)((()=>{t&&!i&&n&&o(!1)}),[t,i,n,o])}({isActive:v,collapsed:S,updateCollapsed:E}),(0,a.useEffect)((()=>{b&&null!=T&&T!==r&&f&&k(!0)}),[b,T,r,k,f]),(0,h.jsxs)("li",{className:(0,o.c)(s.W.docs.docSidebarItemCategory,s.W.docs.docSidebarItemCategoryLevel(l),"menu__list-item",{"menu__list-item--collapsed":S},p),children:[(0,h.jsxs)("div",{className:(0,o.c)("menu__list-item-collapsible",{"menu__list-item-collapsible--active":g}),children:[(0,h.jsx)(A.c,{className:(0,o.c)("menu__link",{"menu__link--sublist":b,"menu__link--sublist-caret":!x&&b,"menu__link--active":v}),onClick:b?e=>{n?.(t),x?E(!1):(e.preventDefault(),E())}:()=>{n?.(t)},"aria-current":g?"page":void 0,"aria-expanded":b?!S:void 0,href:b?_??"#":_,...d,children:m}),x&&b&&(0,h.jsx)(w,{collapsed:S,categoryLabel:m,onClick:e=>{e.preventDefault(),E()}})]}),(0,h.jsx)(B.U,{lazy:!0,as:"ul",className:"menu__list",collapsed:S,children:(0,h.jsx)(F,{items:u,tabIndex:S?-1:0,onItemClick:n,activePath:i,level:l+1})})]})}var E=n(18136),M=n(3232);const H={menuExternalLink:"menuExternalLink_NmtK"};function P(e){let{item:t,onItemClick:n,activePath:a,level:i,index:l,...r}=e;const{href:d,label:u,className:m,autoAddBaseUrl:b}=t,p=(0,c.Md)(t,a),x=(0,E.c)(d);return(0,h.jsx)("li",{className:(0,o.c)(s.W.docs.docSidebarItemLink,s.W.docs.docSidebarItemLinkLevel(i),"menu__list-item",m),children:(0,h.jsxs)(A.c,{className:(0,o.c)("menu__link",!x&&H.menuExternalLink,{"menu__link--active":p}),autoAddBaseUrl:b,"aria-current":p?"page":void 0,to:d,...x&&{onClick:n?()=>n(t):void 0},...r,children:[u,!x&&(0,h.jsx)(M.c,{})]})},u)}const R={menuHtmlItem:"menuHtmlItem_M9Kj"};function G(e){let{item:t,level:n,index:a}=e;const{value:i,defaultStyle:c,className:l}=t;return(0,h.jsx)("li",{className:(0,o.c)(s.W.docs.docSidebarItemLink,s.W.docs.docSidebarItemLinkLevel(n),c&&[R.menuHtmlItem,"menu__list-item"],l),dangerouslySetInnerHTML:{__html:i}},a)}function D(e){let{item:t,...n}=e;switch(t.type){case"category":return(0,h.jsx)(L,{item:t,...n});case"html":return(0,h.jsx)(G,{item:t,...n});default:return(0,h.jsx)(P,{item:t,...n})}}function U(e){let{items:t,...n}=e;const a=(0,c.mg)(t,n.activePath);return(0,h.jsx)(T,{children:a.map(((e,t)=>(0,h.jsx)(D,{item:e,index:t,...n},t)))})}const F=(0,a.memo)(U),K={menu:"menu_SIkG",menuWithAnnouncementBar:"menuWithAnnouncementBar_GW3s"};function V(e){let{path:t,sidebar:n,className:i}=e;const c=function(){const{isActive:e}=(0,k.el)(),[t,n]=(0,a.useState)(e);return(0,d.SM)((t=>{let{scrollY:a}=t;e&&n(0===a)}),[e]),e&&t}();return(0,h.jsx)("nav",{"aria-label":(0,r.G)({id:"theme.docs.sidebar.navAriaLabel",message:"Docs sidebar",description:"The ARIA label for the sidebar navigation"}),className:(0,o.c)("menu thin-scrollbar",K.menu,c&&K.menuWithAnnouncementBar,i),children:(0,h.jsx)("ul",{className:(0,o.c)(s.W.docs.docSidebarMenu,"menu__list"),children:(0,h.jsx)(F,{items:n,activePath:t,level:1})})})}const Y="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:c}}}=(0,j.y)();return(0,h.jsxs)("div",{className:(0,o.c)(Y,s&&z,i&&q),children:[s&&(0,h.jsx)(_.c,{tabIndex:-1,className:O}),(0,h.jsx)(V,{path:t,sidebar:n}),c&&(0,h.jsx)(S,{onClick:a})]})}const Q=a.memo(J);var X=n(45168),Z=n(18200);const $=e=>{let{sidebar:t,path:n}=e;const a=(0,Z.q)();return(0,h.jsx)("ul",{className:(0,o.c)(s.W.docs.docSidebarMenu,"menu__list"),children:(0,h.jsx)(F,{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.Mx,{component:$,props:e})}const te=a.memo(ee);function ne(e){const t=(0,f.U)(),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,r.G)({id:"theme.docs.sidebar.expandButtonTitle",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),"aria-label":(0,r.G)({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,l.m)();return(0,h.jsx)(a.Fragment,{children:t},n?.name??"noSidebar")}function ce(e){let{sidebar:t,hiddenSidebarContainer:n,setHiddenSidebarContainer:i}=e;const{pathname:c}=(0,x.IT)(),[l,r]=(0,a.useState)(!1),d=(0,a.useCallback)((()=>{l&&r(!1),!l&&(0,p.I)()&&r(!0),i((e=>!e))}),[i,l]);return(0,h.jsx)("aside",{className:(0,o.c)(s.W.docs.docSidebarContainer,ie.docSidebarContainer,n&&ie.docSidebarContainerHidden),onTransitionEnd:e=>{e.currentTarget.classList.contains(ie.docSidebarContainer)&&n&&r(!0)},children:(0,h.jsx)(se,{children:(0,h.jsxs)("div",{className:(0,o.c)(ie.sidebarViewport,l&&ie.sidebarViewportHidden),children:[(0,h.jsx)(ne,{sidebar:t,path:c,onCollapse:d,isHidden:l}),l&&(0,h.jsx)(oe,{toggleSidebar:d})]})})})}const le={docMainContainer:"docMainContainer_TBSr",docMainContainerEnhanced:"docMainContainerEnhanced_lQrH",docItemWrapperEnhanced:"docItemWrapperEnhanced_JWYK"};function re(e){let{hiddenSidebarContainer:t,children:n}=e;const a=(0,l.m)();return(0,h.jsx)("main",{className:(0,o.c)(le.docMainContainer,(t||!a)&&le.docMainContainerEnhanced),children:(0,h.jsx)("div",{className:(0,o.c)("container padding-top--md padding-bottom--lg",le.docItemWrapper,t&&le.docItemWrapperEnhanced),children:n})})}const de={docRoot:"docRoot_UBD9",docsWrapper:"docsWrapper_hBAB"};function ue(e){let{children:t}=e;const n=(0,l.m)(),[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)(ce,{sidebar:n.items,hiddenSidebarContainer:o,setHiddenSidebarContainer:i}),(0,h.jsx)(re,{hiddenSidebarContainer:o,children:t})]})]})}var me=n(96592);function he(e){const t=(0,c.Uj)(e);if(!t)return(0,h.jsx)(me.c,{});const{docElement:n,sidebarName:a,sidebarItems:r}=t;return(0,h.jsx)(i.cr,{className:(0,o.c)(s.W.page.docsDocPage),children:(0,h.jsx)(l.y,{name:a,items:r,children:(0,h.jsx)(ue,{children:n})})})}},96592:(e,t,n)=>{n.d(t,{c:()=>c});n(11504);var a=n(65456),o=n(84357),i=n(56448),s=n(17624);function c(e){let{className:t}=e;return(0,s.jsx)("main",{className:(0,a.c)("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.c,{as:"h1",className:"hero__title",children:(0,s.jsx)(o.c,{id:"theme.NotFound.title",description:"The title of the 404 page",children:"Page Not Found"})}),(0,s.jsx)("p",{children:(0,s.jsx)(o.c,{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.c,{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.84041cb0.js b/assets/js/a94703ab.84041cb0.js deleted file mode 100644 index 08ffdc618..000000000 --- a/assets/js/a94703ab.84041cb0.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[94368],{12674:(e,t,n)=>{n.r(t),n.d(t,{default:()=>he});var a=n(67294),o=n(36905),i=n(10833),s=n(35281),l=n(52802),r=n(1116),c=n(95999),d=n(12466),u=n(85936);const m={backToTopButton:"backToTopButton_sjWU",backToTopButtonShow:"backToTopButtonShow_xfvO"};var h=n(85893);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.Ct)();return(0,d.RF)(((e,n)=>{let{scrollY:a}=e;const s=null==n?void 0: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.S)((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.I)({id:"theme.BackToTopButton.buttonAriaLabel",message:"Scroll back to top",description:"The ARIA label for the back to top button"}),className:(0,o.Z)("clean-btn",s.k.common.backToTopButton,m.backToTopButton,e&&m.backToTopButtonShow),type:"button",onClick:t})}var p=n(91442),x=n(16550),f=n(87524),j=n(86668),k=n(86809);function _(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 v={collapseSidebarButton:"collapseSidebarButton_PEFL",collapseSidebarButtonIcon:"collapseSidebarButtonIcon_kv0_"};function g(e){let{onClick:t}=e;return(0,h.jsx)("button",{type:"button",title:(0,c.I)({id:"theme.docs.sidebar.collapseButtonTitle",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),"aria-label":(0,c.I)({id:"theme.docs.sidebar.collapseButtonAriaLabel",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),className:(0,o.Z)("button button--secondary button--outline",v.collapseSidebarButton),onClick:t,children:(0,h.jsx)(_,{className:v.collapseSidebarButtonIcon})})}var C=n(59689),S=n(902);const I=Symbol("EmptyContext"),N=a.createContext(I);function T(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)(N.Provider,{value:i,children:t})}var B=n(86043),Z=n(48596),A=n(33692),L=n(72389);function y(e){let{collapsed:t,categoryLabel:n,onClick:a}=e;return(0,h.jsx)("button",{"aria-label":t?(0,c.I)({id:"theme.DocSidebarItem.expandCategoryAriaLabel",message:"Expand sidebar category '{label}'",description:"The ARIA label to expand the sidebar category"},{label:n}):(0,c.I)({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 w(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.L)(),k=function(e){const t=(0,L.Z)();return(0,a.useMemo)((()=>e.href&&!e.linkUnlisted?e.href:!t&&e.collapsible?(0,l.LM)(e):void 0),[e,t])}(t),_=(0,l._F)(t,i),v=(0,Z.Mg)(x,i),{collapsed:g,setCollapsed:C}=(0,B.u)({initialState:()=>!!b&&(!_&&t.collapsed)}),{expandedItem:T,setExpandedItem:w}=function(){const e=(0,a.useContext)(N);if(e===I)throw new S.i6("DocSidebarItemsExpandedStateProvider");return e}(),E=function(e){void 0===e&&(e=!g),w(e?null:c),C(e)};return function(e){let{isActive:t,collapsed:n,updateCollapsed:o}=e;const i=(0,S.D9)(t);(0,a.useEffect)((()=>{t&&!i&&n&&o(!1)}),[t,i,n,o])}({isActive:_,collapsed:g,updateCollapsed:E}),(0,a.useEffect)((()=>{b&&null!=T&&T!==c&&f&&C(!0)}),[b,T,c,C,f]),(0,h.jsxs)("li",{className:(0,o.Z)(s.k.docs.docSidebarItemCategory,s.k.docs.docSidebarItemCategoryLevel(r),"menu__list-item",{"menu__list-item--collapsed":g},p),children:[(0,h.jsxs)("div",{className:(0,o.Z)("menu__list-item-collapsible",{"menu__list-item-collapsible--active":v}),children:[(0,h.jsx)(A.Z,{className:(0,o.Z)("menu__link",{"menu__link--sublist":b,"menu__link--sublist-caret":!x&&b,"menu__link--active":_}),onClick:b?e=>{null==n||n(t),x?E(!1):(e.preventDefault(),E())}:()=>{null==n||n(t)},"aria-current":v?"page":void 0,"aria-expanded":b?!g:void 0,href:b?null!=k?k:"#":k,...d,children:m}),x&&b&&(0,h.jsx)(y,{collapsed:g,categoryLabel:m,onClick:e=>{e.preventDefault(),E()}})]}),(0,h.jsx)(B.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:g,children:(0,h.jsx)(V,{items:u,tabIndex:g?-1:0,onItemClick:n,activePath:i,level:r+1})})]})}var E=n(13919),H=n(39471);const M={menuExternalLink:"menuExternalLink_NmtK"};function R(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._F)(t,a),x=(0,E.Z)(d);return(0,h.jsx)("li",{className:(0,o.Z)(s.k.docs.docSidebarItemLink,s.k.docs.docSidebarItemLinkLevel(i),"menu__list-item",m),children:(0,h.jsxs)(A.Z,{className:(0,o.Z)("menu__link",!x&&M.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.Z,{})]})},u)}const W={menuHtmlItem:"menuHtmlItem_M9Kj"};function F(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.Z)(s.k.docs.docSidebarItemLink,s.k.docs.docSidebarItemLinkLevel(n),l&&[W.menuHtmlItem,"menu__list-item"],r),dangerouslySetInnerHTML:{__html:i}},a)}function P(e){let{item:t,...n}=e;switch(t.type){case"category":return(0,h.jsx)(w,{item:t,...n});case"html":return(0,h.jsx)(F,{item:t,...n});default:return(0,h.jsx)(R,{item:t,...n})}}function D(e){let{items:t,...n}=e;const a=(0,l.f)(t,n.activePath);return(0,h.jsx)(T,{children:a.map(((e,t)=>(0,h.jsx)(P,{item:e,index:t,...n},t)))})}const V=(0,a.memo)(D),U={menu:"menu_SIkG",menuWithAnnouncementBar:"menuWithAnnouncementBar_GW3s"};function K(e){let{path:t,sidebar:n,className:i}=e;const l=function(){const{isActive:e}=(0,C.nT)(),[t,n]=(0,a.useState)(e);return(0,d.RF)((t=>{let{scrollY:a}=t;e&&n(0===a)}),[e]),e&&t}();return(0,h.jsx)("nav",{"aria-label":(0,c.I)({id:"theme.docs.sidebar.navAriaLabel",message:"Docs sidebar",description:"The ARIA label for the sidebar navigation"}),className:(0,o.Z)("menu thin-scrollbar",U.menu,l&&U.menuWithAnnouncementBar,i),children:(0,h.jsx)("ul",{className:(0,o.Z)(s.k.docs.docSidebarMenu,"menu__list"),children:(0,h.jsx)(V,{items:n,activePath:t,level:1})})})}const Y="sidebar_njMd",z="sidebarWithHideableNavbar_wUlq",G="sidebarHidden_VK0M",O="sidebarLogo_isFc";function q(e){let{path:t,sidebar:n,onCollapse:a,isHidden:i}=e;const{navbar:{hideOnScroll:s},docs:{sidebar:{hideable:l}}}=(0,j.L)();return(0,h.jsxs)("div",{className:(0,o.Z)(Y,s&&z,i&&G),children:[s&&(0,h.jsx)(k.Z,{tabIndex:-1,className:O}),(0,h.jsx)(K,{path:t,sidebar:n}),l&&(0,h.jsx)(g,{onClick:a})]})}const J=a.memo(q);var Q=n(13102),X=n(93163);const $=e=>{let{sidebar:t,path:n}=e;const a=(0,X.e)();return(0,h.jsx)("ul",{className:(0,o.Z)(s.k.docs.docSidebarMenu,"menu__list"),children:(0,h.jsx)(V,{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)(Q.Zo,{component:$,props:e})}const te=a.memo(ee);function ne(e){const t=(0,f.i)(),n="desktop"===t||"ssr"===t,a="mobile"===t;return(0,h.jsxs)(h.Fragment,{children:[n&&(0,h.jsx)(J,{...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.I)({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.I)({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)(_,{className:ae.expandButtonIcon})})}const ie={docSidebarContainer:"docSidebarContainer_YfHR",docSidebarContainerHidden:"docSidebarContainerHidden_DPk8",sidebarViewport:"sidebarViewport_aRkj"};function se(e){var t;let{children:n}=e;const o=(0,r.V)();return(0,h.jsx)(a.Fragment,{children:n},null!=(t=null==o?void 0:o.name)?t:"noSidebar")}function le(e){let{sidebar:t,hiddenSidebarContainer:n,setHiddenSidebarContainer:i}=e;const{pathname:l}=(0,x.TH)(),[r,c]=(0,a.useState)(!1),d=(0,a.useCallback)((()=>{r&&c(!1),!r&&(0,p.n)()&&c(!0),i((e=>!e))}),[i,r]);return(0,h.jsx)("aside",{className:(0,o.Z)(s.k.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.Z)(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.V)();return(0,h.jsx)("main",{className:(0,o.Z)(re.docMainContainer,(t||!a)&&re.docMainContainerEnhanced),children:(0,h.jsx)("div",{className:(0,o.Z)("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.V)(),[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(5658);function he(e){const t=(0,l.SN)(e);if(!t)return(0,h.jsx)(me.Z,{});const{docElement:n,sidebarName:a,sidebarItems:c}=t;return(0,h.jsx)(i.FG,{className:(0,o.Z)(s.k.page.docsDocPage),children:(0,h.jsx)(r.b,{name:a,items:c,children:(0,h.jsx)(ue,{children:n})})})}},5658:(e,t,n)=>{n.d(t,{Z:()=>l});n(67294);var a=n(36905),o=n(95999),i=n(92503),s=n(85893);function l(e){let{className:t}=e;return(0,s.jsx)("main",{className:(0,a.Z)("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.Z,{as:"h1",className:"hero__title",children:(0,s.jsx)(o.Z,{id:"theme.NotFound.title",description:"The title of the 404 page",children:"Page Not Found"})}),(0,s.jsx)("p",{children:(0,s.jsx)(o.Z,{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.Z,{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/a97e7f15.88f80f65.js b/assets/js/a97e7f15.88f80f65.js deleted file mode 100644 index c75e99901..000000000 --- a/assets/js/a97e7f15.88f80f65.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[79204],{35448:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>i,metadata:()=>r,toc:()=>l});var t=s(85893),a=s(11151);const i={id:"autowiring",title:"Autowiring"},o=void 0,r={id:"basics/autowiring",title:"Autowiring",description:"docs-source",source:"@site/docs/basics/autowiring.md",sourceDirName:"basics",slug:"/basics/autowiring",permalink:"/docs/basics/autowiring",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"autowiring",title:"Autowiring"},sidebar:"docs",previous:{title:"Extending Classes",permalink:"/docs/basics/extending-classes"},next:{title:"Example Class",permalink:"/docs/basics/example-class"}},c={},l=[{value:"How it works",id:"how-it-works",level:2},{value:"What if I have to mock or manually call a class?",id:"what-if-i-have-to-mock-or-manually-call-a-class",level:3},{value:"What if my class doesn't have anything inside a constructor method? (no dependencies)",id:"what-if-my-class-doesnt-have-anything-inside-a-constructor-method-no-dependencies",level:3},{value:"What if my class has a <strong>primitive parameter</strong> (<code>string</code>, <code>int</code>, etc.) inside a constructor method?",id:"what-if-my-class-has-a-primitive-parameter-string-int-etc-inside-a-constructor-method",level:3},{value:"What if my class does have another class as a parameter inside a constructor method?",id:"what-if-my-class-does-have-another-class-as-a-parameter-inside-a-constructor-method",level:3},{value:"What if my class has an interface parameter inside the constructor method?",id:"what-if-my-class-has-an-interface-parameter-inside-the-constructor-method",level:3},{value:"Example",id:"example",level:4},{value:"To sum it up",id:"to-sum-it-up",level:2}];function d(e){const n={a:"a",admonition:"admonition",code:"code",em:"em",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs",children:(0,t.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsx)(n.p,{children:"What is autowiring?"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.em,{children:"Autowiring is an exotic word that represents something very simple: the container's ability to create and inject dependencies automatically."})}),"\n",(0,t.jsxs)(n.p,{children:["The quote is taken from the ",(0,t.jsx)(n.a,{href:"https://php-di.org/doc/autowiring.html",children:"PHP-DI"})," library that we use."]}),"\n",(0,t.jsx)(n.p,{children:"In a nutshell, we use a dependency injection (DI) container to load all your service classes. Alongside the DI container, we also use the PSR-4 coding standard for autoloading. That allows us to predict what your file/folder structure will look like in correlation to the namespace. With that in mind, you don't have to worry about requiring your classes. Our autoloading takes care of everything. All you need to do is follow a few coding standards so that you can automatically inject other classes as dependencies."}),"\n",(0,t.jsxs)(n.p,{children:["Autowiring runs inside the ",(0,t.jsx)(n.code,{children:"Main"})," service class as an extended class of our ",(0,t.jsx)(n.code,{children:"AbstractMain"})," class. You can install the main class using this command:"]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"wp boilerplate create main"})}),"\n",(0,t.jsx)(n.h2,{id:"how-it-works",children:"How it works"}),"\n",(0,t.jsx)(n.p,{children:"Here is a quick overview of how this works:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"You create a new class manually or using the WP-CLI command."}),"\n",(0,t.jsx)(n.li,{children:"PSR-4 should detect your new class if you followed the PSR-4 naming standard."}),"\n",(0,t.jsxs)(n.li,{children:["The new class is added to the ",(0,t.jsx)(n.code,{children:"classmap"})," array inside the ",(0,t.jsx)(n.code,{children:"vendor"})," folder."]}),"\n",(0,t.jsx)(n.li,{children:"Autowiring class reads the new class, checks if your class has any class dependencies, and injects them."}),"\n",(0,t.jsx)(n.li,{children:"And it just works."}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"To put it shortly"}),": just add a new class (that is PSR-4 compliant) with or without some class dependencies and everything will be automatically resolved/injected."]}),"\n",(0,t.jsx)(n.h3,{id:"what-if-i-have-to-mock-or-manually-call-a-class",children:"What if I have to mock or manually call a class?"}),"\n",(0,t.jsx)(n.p,{children:"Before we start with the automatization and autowiring, let's see how service classes are called manually."}),"\n",(0,t.jsx)(n.p,{children:"We can think of these scenarios where you want to load a class manually:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"You have to write tests and manually provide mocked classes."}),"\n",(0,t.jsx)(n.li,{children:"Your classes have a custom structure and autowiring can't resolve it."}),"\n",(0,t.jsxs)(n.li,{children:["You want to provide a primitive parameter (",(0,t.jsx)(n.code,{children:"string"}),", ",(0,t.jsx)(n.code,{children:"int"}),", etc.) inside a constructor method."]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["In those cases, you can manually provide your DI container with the implementation using the ",(0,t.jsx)(n.code,{children:"getServiceClasses"})," method inside the ",(0,t.jsx)(n.code,{children:"src>Main>Main.php"})," class."]}),"\n",(0,t.jsx)(n.p,{children:"Provide the method and add your custom implementation like this:"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"src>Main>Main.php"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:" /**\n * Get the list of services to register.\n *\n * A list of classes which contain hooks.\n *\n * @return array<class-string, string|string[]> Array of fully qualified service class names.\n */\n protected function getServiceClasses(): array\n {\n return [\n\n // If you are using a class as a DI.\n ProjectNamespace\\Rest\\Routes\\DocumentsRoute::class => [\n ProjectNamespace\\Query\\Documents\\QueryDocuments::class\n ],\n\n // If you just want to include a simple class with no DI.\n ProjectNamespace\\CoolFolder\\CoolClass::class,\n ];\n }\n"})}),"\n",(0,t.jsx)(n.h3,{id:"what-if-my-class-doesnt-have-anything-inside-a-constructor-method-no-dependencies",children:"What if my class doesn't have anything inside a constructor method? (no dependencies)"}),"\n",(0,t.jsxs)(n.p,{children:["If your class ",(0,t.jsx)(n.strong,{children:"doesn't have"})," anything defined in the constructor method, autoloading will require your class.\nThis just means that you are not using dependency injection (since you have nothing to inject)."]}),"\n",(0,t.jsxs)(n.h3,{id:"what-if-my-class-has-a-primitive-parameter-string-int-etc-inside-a-constructor-method",children:["What if my class has a ",(0,t.jsx)(n.strong,{children:"primitive parameter"})," (",(0,t.jsx)(n.code,{children:"string"}),", ",(0,t.jsx)(n.code,{children:"int"}),", etc.) inside a constructor method?"]}),"\n",(0,t.jsxs)(n.p,{children:["If your class ",(0,t.jsx)(n.strong,{children:"has"})," a primitive parameter defined in the constructor method, autowiring will ",(0,t.jsx)(n.strong,{children:"not know"})," how to handle this so you must manually provide the primitive parameters at the point of usage. You can find more information about that ",(0,t.jsx)(n.a,{href:"#what-if-i-have-to-mock-or-manually-call-a-class",children:"here"}),"."]}),"\n",(0,t.jsx)(n.h3,{id:"what-if-my-class-does-have-another-class-as-a-parameter-inside-a-constructor-method",children:"What if my class does have another class as a parameter inside a constructor method?"}),"\n",(0,t.jsx)(n.p,{children:"This works out of the box, but you shouldn't really do this."}),"\n",(0,t.jsx)(n.p,{children:"A good coding practice is that your class should never depend on the concrete class implementation because you have tightly coupled your class to another class. This makes it hard to test and your code becomes hard to modify. Imagine that you have put a concrete implementation as a dependency, only to get feedback from the client that you need to change that implementation for a completely different one. Making the changes means that you'll need to track all the places in your codebase where you have used some functionality from this class, and change it completely."}),"\n",(0,t.jsx)(n.admonition,{title:"Good practices",type:"success",children:(0,t.jsx)(n.p,{children:"You should always code against interfaces and not implementation."})}),"\n",(0,t.jsxs)(n.p,{children:["We can't stress this enough because as your project grows, so will your headaches. Also, when you start testing your code, that is when your hair will begin to fall off. We recommend reading Uncle Bob Martin's ",(0,t.jsx)(n.a,{href:"http://cleancoder.com/products",children:"Clean Code"}),". That will save you a lot of sleepless nights, and you'll learn tons of tips and tricks for writing clean code."]}),"\n",(0,t.jsx)(n.h3,{id:"what-if-my-class-has-an-interface-parameter-inside-the-constructor-method",children:"What if my class has an interface parameter inside the constructor method?"}),"\n",(0,t.jsx)(n.p,{children:"This will automatically be resolved (same as with class parameters) if you follow one simple rule:"}),"\n",(0,t.jsx)(n.admonition,{title:"Important",type:"caution",children:(0,t.jsx)(n.p,{children:"Variable name in your constructor method needs to match the class name (which implements the interface) in camelCase."})}),"\n",(0,t.jsxs)(n.p,{children:["For example, let's say you have a ",(0,t.jsx)(n.code,{children:"SteeringWheel"})," class:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"class SteeringWheel implements CarPartInterface\n"})}),"\n",(0,t.jsxs)(n.p,{children:["and you want to have this as a dependency in ",(0,t.jsx)(n.code,{children:"Car"})," class. Your ",(0,t.jsx)(n.code,{children:"Car"})," class would have the following constructor:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"class Car {\n\n private $steeringWheel;\n\n public function __construct(CarPartInterface $steeringWheel)\n {\n $this->steeringWheel = $steeringWheel;\n }\n\n}\n"})}),"\n",(0,t.jsxs)(n.p,{children:["Since the injected variable name ",(0,t.jsx)(n.code,{children:"$steeringWheel"})," is the camelCase version of the class name ",(0,t.jsx)(n.code,{children:"SteeringWheel"})," which implements ",(0,t.jsx)(n.code,{children:"CarPartInterface"}),", autowiring will know to inject the correct class and everything will work fine."]}),"\n",(0,t.jsx)(n.p,{children:"If you understand everything from the upper example, you can just skip the next one. However, we recommend checking out the following example for a more detailed overview."}),"\n",(0,t.jsx)(n.h4,{id:"example",children:"Example"}),"\n",(0,t.jsxs)(n.p,{children:["Let's set a scene. You have created a ",(0,t.jsx)(n.code,{children:"DocumentsRoute"})," class, and it needs some functionality from the ",(0,t.jsx)(n.code,{children:"QueryDocuments"})," class."]}),"\n",(0,t.jsx)(n.p,{children:"Steps you need to follow are:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["You should create an interface with all the methods you need in the ",(0,t.jsx)(n.code,{children:"DocumentsRoute"})," class. Let's call it ",(0,t.jsx)(n.code,{children:"QueryDocumentsInterface"}),". We'll put it inside the ",(0,t.jsx)(n.code,{children:"src/Query/Documents"})," folder."]}),"\n",(0,t.jsxs)(n.li,{children:["Your ",(0,t.jsx)(n.code,{children:"QueryDocuments"})," class should implement your new ",(0,t.jsx)(n.code,{children:"QueryDocumentsInterface"})," class and have all the methods from the interface implemented."]}),"\n",(0,t.jsxs)(n.li,{children:["In your ",(0,t.jsx)(n.code,{children:"DocumentsRoute"})," class, provide the ",(0,t.jsx)(n.code,{children:"QueryDocumentsInterface"})," interface as a parameter inside the ",(0,t.jsx)(n.code,{children:"__construct"})," method with the name of the argument ",(0,t.jsx)(n.code,{children:"$queryDocuments"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:["You can now use the methods defined in the ",(0,t.jsx)(n.code,{children:"QueryDocuments"})," class."]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Let us provide you with some code examples:"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Structure:"})}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["src","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Query","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Documents","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"QueryDocumentsInterface.class"}),"\n",(0,t.jsx)(n.li,{children:"QueryDocuments.class"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["Rest","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Routes","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"DocumentsRoute.class"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"src/Query/Documents/QueryDocumentsInterface.php"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"<?php\n\ndeclare(strict_types=1);\n\nnamespace ProjectNamespace\\Query\\Documents;\n\ninterface QueryDocumentsInterface\n{\n\n /**\n * Get structured documents data for documents section.\n *\n * @param int $id Id for data.\n *\n * @return string\n */\n public function getDocumentsData(int $id = 0): string;\n}\n"})}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"src/Query/Documents/QueryDocuments.php"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"<?php\n\ndeclare(strict_types=1);\n\nnamespace ProjectNamespace\\Query\\Documents;\n\nuse ProjectNamespaceVendor\\EightshiftLibs\\Services\\ServiceInterface;\n\nclass QueryDocuments implements ServiceInterface, QueryDocumentsInterface\n{\n /**\n * Get structured documents data for documents section.\n *\n * @param int $id Id for data.\n *\n * @return string\n */\n public function getDocumentsData(int $id = 0): string\n {\n // Code.\n }\n}\n"})}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"src/Rest/Routes/DocumentsRoute.php"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"<?php\n\ndeclare(strict_types=1);\n\nnamespace ProjectNamespace\\Rest\\Routes;\n\nuse ProjectNamespace\\Query\\Documents\\QueryDocumentsInterface;\nuse ProjectNamespaceVendor\\EightshiftLibs\\Rest\\Routes\\AbstractRoute;\nuse ProjectNamespaceVendor\\EightshiftLibs\\Rest\\CallableRouteInterface;\n\nclass DocumentsRoute extends AbstractRoute implements CallableRouteInterface\n{\n\n /**\n * Instance variable of documents data.\n *\n * @var QueryDocumentsInterface\n */\n protected $queryDocuments;\n\n /**\n * Create a new instance.\n *\n * @param QueryDocumentsInterface $queryDocuments Inject documentsData which holds data for documents.\n */\n public function __construct(QueryDocumentsInterface $queryDocuments)\n {\n $this->queryDocuments = $queryDocuments;\n }\n\n // Here goes the rest of the DocumentsRoute implementation.\n}\n"})}),"\n",(0,t.jsx)(n.p,{children:"And that's it. Autowiring knows how to resolve the dependencies, you didn't tightly couple the code, and you're all set."}),"\n",(0,t.jsx)(n.h2,{id:"to-sum-it-up",children:"To sum it up"}),"\n",(0,t.jsx)(n.p,{children:"This chapter may be a bit long, but we wanted to make sure you understand our motivation behind it. We often work on large projects with lots of third-party integrations, and having a good project structure and architecture makes the projects more durable. It makes them less prone to bugs (if you write tests) and makes implementing new features and removing obsolete ones a lot easier."}),"\n",(0,t.jsx)(n.p,{children:"Do you need to use it? Not really. Especially on really simple projects. Should you? We think you'll benefit from it in the long run."})]})}function h(e={}){const{wrapper:n}={...(0,a.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},11151:(e,n,s)=>{s.d(n,{Z:()=>r,a:()=>o});var t=s(67294);const a={},i=t.createContext(a);function o(e){const n=t.useContext(i);return t.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(a):e.components||a:o(e.components),t.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a97e7f15.97a10b1c.js b/assets/js/a97e7f15.97a10b1c.js new file mode 100644 index 000000000..f3f0e508b --- /dev/null +++ b/assets/js/a97e7f15.97a10b1c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[57464],{84656:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>i,metadata:()=>r,toc:()=>l});var t=s(17624),a=s(4552);const i={id:"autowiring",title:"Autowiring"},o=void 0,r={id:"basics/autowiring",title:"Autowiring",description:"docs-source",source:"@site/docs/basics/autowiring.md",sourceDirName:"basics",slug:"/basics/autowiring",permalink:"/docs/basics/autowiring",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"autowiring",title:"Autowiring"},sidebar:"docs",previous:{title:"Extending Classes",permalink:"/docs/basics/extending-classes"},next:{title:"Example Class",permalink:"/docs/basics/example-class"}},c={},l=[{value:"How it works",id:"how-it-works",level:2},{value:"What if I have to mock or manually call a class?",id:"what-if-i-have-to-mock-or-manually-call-a-class",level:3},{value:"What if my class doesn't have anything inside a constructor method? (no dependencies)",id:"what-if-my-class-doesnt-have-anything-inside-a-constructor-method-no-dependencies",level:3},{value:"What if my class has a <strong>primitive parameter</strong> (<code>string</code>, <code>int</code>, etc.) inside a constructor method?",id:"what-if-my-class-has-a-primitive-parameter-string-int-etc-inside-a-constructor-method",level:3},{value:"What if my class does have another class as a parameter inside a constructor method?",id:"what-if-my-class-does-have-another-class-as-a-parameter-inside-a-constructor-method",level:3},{value:"What if my class has an interface parameter inside the constructor method?",id:"what-if-my-class-has-an-interface-parameter-inside-the-constructor-method",level:3},{value:"Example",id:"example",level:4},{value:"To sum it up",id:"to-sum-it-up",level:2}];function d(e){const n={a:"a",admonition:"admonition",code:"code",em:"em",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs",children:(0,t.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsx)(n.p,{children:"What is autowiring?"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.em,{children:"Autowiring is an exotic word that represents something very simple: the container's ability to create and inject dependencies automatically."})}),"\n",(0,t.jsxs)(n.p,{children:["The quote is taken from the ",(0,t.jsx)(n.a,{href:"https://php-di.org/doc/autowiring.html",children:"PHP-DI"})," library that we use."]}),"\n",(0,t.jsx)(n.p,{children:"In a nutshell, we use a dependency injection (DI) container to load all your service classes. Alongside the DI container, we also use the PSR-4 coding standard for autoloading. That allows us to predict what your file/folder structure will look like in correlation to the namespace. With that in mind, you don't have to worry about requiring your classes. Our autoloading takes care of everything. All you need to do is follow a few coding standards so that you can automatically inject other classes as dependencies."}),"\n",(0,t.jsxs)(n.p,{children:["Autowiring runs inside the ",(0,t.jsx)(n.code,{children:"Main"})," service class as an extended class of our ",(0,t.jsx)(n.code,{children:"AbstractMain"})," class. You can install the main class using this command:"]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"wp boilerplate create main"})}),"\n",(0,t.jsx)(n.h2,{id:"how-it-works",children:"How it works"}),"\n",(0,t.jsx)(n.p,{children:"Here is a quick overview of how this works:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"You create a new class manually or using the WP-CLI command."}),"\n",(0,t.jsx)(n.li,{children:"PSR-4 should detect your new class if you followed the PSR-4 naming standard."}),"\n",(0,t.jsxs)(n.li,{children:["The new class is added to the ",(0,t.jsx)(n.code,{children:"classmap"})," array inside the ",(0,t.jsx)(n.code,{children:"vendor"})," folder."]}),"\n",(0,t.jsx)(n.li,{children:"Autowiring class reads the new class, checks if your class has any class dependencies, and injects them."}),"\n",(0,t.jsx)(n.li,{children:"And it just works."}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"To put it shortly"}),": just add a new class (that is PSR-4 compliant) with or without some class dependencies and everything will be automatically resolved/injected."]}),"\n",(0,t.jsx)(n.h3,{id:"what-if-i-have-to-mock-or-manually-call-a-class",children:"What if I have to mock or manually call a class?"}),"\n",(0,t.jsx)(n.p,{children:"Before we start with the automatization and autowiring, let's see how service classes are called manually."}),"\n",(0,t.jsx)(n.p,{children:"We can think of these scenarios where you want to load a class manually:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"You have to write tests and manually provide mocked classes."}),"\n",(0,t.jsx)(n.li,{children:"Your classes have a custom structure and autowiring can't resolve it."}),"\n",(0,t.jsxs)(n.li,{children:["You want to provide a primitive parameter (",(0,t.jsx)(n.code,{children:"string"}),", ",(0,t.jsx)(n.code,{children:"int"}),", etc.) inside a constructor method."]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["In those cases, you can manually provide your DI container with the implementation using the ",(0,t.jsx)(n.code,{children:"getServiceClasses"})," method inside the ",(0,t.jsx)(n.code,{children:"src>Main>Main.php"})," class."]}),"\n",(0,t.jsx)(n.p,{children:"Provide the method and add your custom implementation like this:"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"src>Main>Main.php"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:" /**\n * Get the list of services to register.\n *\n * A list of classes which contain hooks.\n *\n * @return array<class-string, string|string[]> Array of fully qualified service class names.\n */\n protected function getServiceClasses(): array\n {\n return [\n\n // If you are using a class as a DI.\n ProjectNamespace\\Rest\\Routes\\DocumentsRoute::class => [\n ProjectNamespace\\Query\\Documents\\QueryDocuments::class\n ],\n\n // If you just want to include a simple class with no DI.\n ProjectNamespace\\CoolFolder\\CoolClass::class,\n ];\n }\n"})}),"\n",(0,t.jsx)(n.h3,{id:"what-if-my-class-doesnt-have-anything-inside-a-constructor-method-no-dependencies",children:"What if my class doesn't have anything inside a constructor method? (no dependencies)"}),"\n",(0,t.jsxs)(n.p,{children:["If your class ",(0,t.jsx)(n.strong,{children:"doesn't have"})," anything defined in the constructor method, autoloading will require your class.\nThis just means that you are not using dependency injection (since you have nothing to inject)."]}),"\n",(0,t.jsxs)(n.h3,{id:"what-if-my-class-has-a-primitive-parameter-string-int-etc-inside-a-constructor-method",children:["What if my class has a ",(0,t.jsx)(n.strong,{children:"primitive parameter"})," (",(0,t.jsx)(n.code,{children:"string"}),", ",(0,t.jsx)(n.code,{children:"int"}),", etc.) inside a constructor method?"]}),"\n",(0,t.jsxs)(n.p,{children:["If your class ",(0,t.jsx)(n.strong,{children:"has"})," a primitive parameter defined in the constructor method, autowiring will ",(0,t.jsx)(n.strong,{children:"not know"})," how to handle this so you must manually provide the primitive parameters at the point of usage. You can find more information about that ",(0,t.jsx)(n.a,{href:"#what-if-i-have-to-mock-or-manually-call-a-class",children:"here"}),"."]}),"\n",(0,t.jsx)(n.h3,{id:"what-if-my-class-does-have-another-class-as-a-parameter-inside-a-constructor-method",children:"What if my class does have another class as a parameter inside a constructor method?"}),"\n",(0,t.jsx)(n.p,{children:"This works out of the box, but you shouldn't really do this."}),"\n",(0,t.jsx)(n.p,{children:"A good coding practice is that your class should never depend on the concrete class implementation because you have tightly coupled your class to another class. This makes it hard to test and your code becomes hard to modify. Imagine that you have put a concrete implementation as a dependency, only to get feedback from the client that you need to change that implementation for a completely different one. Making the changes means that you'll need to track all the places in your codebase where you have used some functionality from this class, and change it completely."}),"\n",(0,t.jsx)(n.admonition,{title:"Good practices",type:"success",children:(0,t.jsx)(n.p,{children:"You should always code against interfaces and not implementation."})}),"\n",(0,t.jsxs)(n.p,{children:["We can't stress this enough because as your project grows, so will your headaches. Also, when you start testing your code, that is when your hair will begin to fall off. We recommend reading Uncle Bob Martin's ",(0,t.jsx)(n.a,{href:"http://cleancoder.com/products",children:"Clean Code"}),". That will save you a lot of sleepless nights, and you'll learn tons of tips and tricks for writing clean code."]}),"\n",(0,t.jsx)(n.h3,{id:"what-if-my-class-has-an-interface-parameter-inside-the-constructor-method",children:"What if my class has an interface parameter inside the constructor method?"}),"\n",(0,t.jsx)(n.p,{children:"This will automatically be resolved (same as with class parameters) if you follow one simple rule:"}),"\n",(0,t.jsx)(n.admonition,{title:"Important",type:"caution",children:(0,t.jsx)(n.p,{children:"Variable name in your constructor method needs to match the class name (which implements the interface) in camelCase."})}),"\n",(0,t.jsxs)(n.p,{children:["For example, let's say you have a ",(0,t.jsx)(n.code,{children:"SteeringWheel"})," class:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"class SteeringWheel implements CarPartInterface\n"})}),"\n",(0,t.jsxs)(n.p,{children:["and you want to have this as a dependency in ",(0,t.jsx)(n.code,{children:"Car"})," class. Your ",(0,t.jsx)(n.code,{children:"Car"})," class would have the following constructor:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"class Car {\n\n private $steeringWheel;\n\n public function __construct(CarPartInterface $steeringWheel)\n {\n $this->steeringWheel = $steeringWheel;\n }\n\n}\n"})}),"\n",(0,t.jsxs)(n.p,{children:["Since the injected variable name ",(0,t.jsx)(n.code,{children:"$steeringWheel"})," is the camelCase version of the class name ",(0,t.jsx)(n.code,{children:"SteeringWheel"})," which implements ",(0,t.jsx)(n.code,{children:"CarPartInterface"}),", autowiring will know to inject the correct class and everything will work fine."]}),"\n",(0,t.jsx)(n.p,{children:"If you understand everything from the upper example, you can just skip the next one. However, we recommend checking out the following example for a more detailed overview."}),"\n",(0,t.jsx)(n.h4,{id:"example",children:"Example"}),"\n",(0,t.jsxs)(n.p,{children:["Let's set a scene. You have created a ",(0,t.jsx)(n.code,{children:"DocumentsRoute"})," class, and it needs some functionality from the ",(0,t.jsx)(n.code,{children:"QueryDocuments"})," class."]}),"\n",(0,t.jsx)(n.p,{children:"Steps you need to follow are:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["You should create an interface with all the methods you need in the ",(0,t.jsx)(n.code,{children:"DocumentsRoute"})," class. Let's call it ",(0,t.jsx)(n.code,{children:"QueryDocumentsInterface"}),". We'll put it inside the ",(0,t.jsx)(n.code,{children:"src/Query/Documents"})," folder."]}),"\n",(0,t.jsxs)(n.li,{children:["Your ",(0,t.jsx)(n.code,{children:"QueryDocuments"})," class should implement your new ",(0,t.jsx)(n.code,{children:"QueryDocumentsInterface"})," class and have all the methods from the interface implemented."]}),"\n",(0,t.jsxs)(n.li,{children:["In your ",(0,t.jsx)(n.code,{children:"DocumentsRoute"})," class, provide the ",(0,t.jsx)(n.code,{children:"QueryDocumentsInterface"})," interface as a parameter inside the ",(0,t.jsx)(n.code,{children:"__construct"})," method with the name of the argument ",(0,t.jsx)(n.code,{children:"$queryDocuments"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:["You can now use the methods defined in the ",(0,t.jsx)(n.code,{children:"QueryDocuments"})," class."]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Let us provide you with some code examples:"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Structure:"})}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["src","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Query","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Documents","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"QueryDocumentsInterface.class"}),"\n",(0,t.jsx)(n.li,{children:"QueryDocuments.class"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["Rest","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Routes","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"DocumentsRoute.class"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"src/Query/Documents/QueryDocumentsInterface.php"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"<?php\n\ndeclare(strict_types=1);\n\nnamespace ProjectNamespace\\Query\\Documents;\n\ninterface QueryDocumentsInterface\n{\n\n /**\n * Get structured documents data for documents section.\n *\n * @param int $id Id for data.\n *\n * @return string\n */\n public function getDocumentsData(int $id = 0): string;\n}\n"})}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"src/Query/Documents/QueryDocuments.php"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"<?php\n\ndeclare(strict_types=1);\n\nnamespace ProjectNamespace\\Query\\Documents;\n\nuse ProjectNamespaceVendor\\EightshiftLibs\\Services\\ServiceInterface;\n\nclass QueryDocuments implements ServiceInterface, QueryDocumentsInterface\n{\n /**\n * Get structured documents data for documents section.\n *\n * @param int $id Id for data.\n *\n * @return string\n */\n public function getDocumentsData(int $id = 0): string\n {\n // Code.\n }\n}\n"})}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"src/Rest/Routes/DocumentsRoute.php"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"<?php\n\ndeclare(strict_types=1);\n\nnamespace ProjectNamespace\\Rest\\Routes;\n\nuse ProjectNamespace\\Query\\Documents\\QueryDocumentsInterface;\nuse ProjectNamespaceVendor\\EightshiftLibs\\Rest\\Routes\\AbstractRoute;\nuse ProjectNamespaceVendor\\EightshiftLibs\\Rest\\CallableRouteInterface;\n\nclass DocumentsRoute extends AbstractRoute implements CallableRouteInterface\n{\n\n /**\n * Instance variable of documents data.\n *\n * @var QueryDocumentsInterface\n */\n protected $queryDocuments;\n\n /**\n * Create a new instance.\n *\n * @param QueryDocumentsInterface $queryDocuments Inject documentsData which holds data for documents.\n */\n public function __construct(QueryDocumentsInterface $queryDocuments)\n {\n $this->queryDocuments = $queryDocuments;\n }\n\n // Here goes the rest of the DocumentsRoute implementation.\n}\n"})}),"\n",(0,t.jsx)(n.p,{children:"And that's it. Autowiring knows how to resolve the dependencies, you didn't tightly couple the code, and you're all set."}),"\n",(0,t.jsx)(n.h2,{id:"to-sum-it-up",children:"To sum it up"}),"\n",(0,t.jsx)(n.p,{children:"This chapter may be a bit long, but we wanted to make sure you understand our motivation behind it. We often work on large projects with lots of third-party integrations, and having a good project structure and architecture makes the projects more durable. It makes them less prone to bugs (if you write tests) and makes implementing new features and removing obsolete ones a lot easier."}),"\n",(0,t.jsx)(n.p,{children:"Do you need to use it? Not really. Especially on really simple projects. Should you? We think you'll benefit from it in the long run."})]})}function h(e={}){const{wrapper:n}={...(0,a.M)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},4552:(e,n,s)=>{s.d(n,{I:()=>r,M:()=>o});var t=s(11504);const a={},i=t.createContext(a);function o(e){const n=t.useContext(i);return t.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(a):e.components||a:o(e.components),t.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a9ff9f98.71445290.js b/assets/js/a9ff9f98.71445290.js new file mode 100644 index 000000000..c1c0d61c5 --- /dev/null +++ b/assets/js/a9ff9f98.71445290.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[71760],{57048:s=>{s.exports=JSON.parse('{"label":"eightshift","permalink":"/blog/tags/eightshift","allTagsPath":"/blog/tags","count":14,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/a9ff9f98.c5657158.js b/assets/js/a9ff9f98.c5657158.js deleted file mode 100644 index a8bb40826..000000000 --- a/assets/js/a9ff9f98.c5657158.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[5200],{59911:s=>{s.exports=JSON.parse('{"label":"eightshift","permalink":"/blog/tags/eightshift","allTagsPath":"/blog/tags","count":14,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/aa47c437.b9d5782b.js b/assets/js/aa47c437.b9d5782b.js new file mode 100644 index 000000000..b747e1f97 --- /dev/null +++ b/assets/js/aa47c437.b9d5782b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[46416],{19172:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>a,contentTitle:()=>l,default:()=>h,frontMatter:()=>o,metadata:()=>r,toc:()=>c});var t=n(17624),i=n(4552);const o={id:"global-settings",title:"Global Settings"},l=void 0,r={id:"basics/global-settings",title:"Global Settings",description:"docs-source",source:"@site/docs/basics/global-settings.md",sourceDirName:"basics",slug:"/basics/global-settings",permalink:"/docs/basics/global-settings",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"global-settings",title:"Global Settings"},sidebar:"docs",previous:{title:"SCSS Library",permalink:"/docs/basics/library"},next:{title:"Writing Styles",permalink:"/docs/basics/writing-styles"}},a={},c=[{value:"Why do we use this?",id:"why-do-we-use-this",level:2},{value:"How does this work?",id:"how-does-this-work",level:2},{value:"Scenario 1:",id:"scenario-1",level:3},{value:"Scenario 2:",id:"scenario-2",level:3},{value:"Scenario 3:",id:"scenario-3",level:3}];function d(e){const s={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",strong:"strong",...(0,i.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs",children:(0,t.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsx)(s.admonition,{type:"note",children:(0,t.jsxs)(s.p,{children:["This chapter is only relevant in setups that don't use CSS variables. If you are using CSS variables please skip to the ",(0,t.jsx)(s.a,{href:"blocks-styles",children:"Blocks Styles chapter"}),"."]})}),"\n",(0,t.jsx)(s.p,{children:"Ok, this is the part that we are incredibly proud of. Did you know that you can pass values from the JSON manifest or some other file directly to SCSS? Yes, we had the same facial expression when we found out. For this to work, we used Webpack and its excellent features."}),"\n",(0,t.jsx)(s.admonition,{title:":es-hide-title:",type:"tip",children:(0,t.jsx)(s.p,{children:"This feature comes only with the block setup!"})}),"\n",(0,t.jsxs)(s.p,{children:["If you used our ",(0,t.jsx)(s.code,{children:"wp boilerplate init theme"})," command, you are all set. If not, please visit the ",(0,t.jsx)(s.a,{href:"blocks",children:"blocks chapter"})," for more details."]}),"\n",(0,t.jsx)(s.h2,{id:"why-do-we-use-this",children:"Why do we use this?"}),"\n",(0,t.jsx)(s.p,{children:"Because, with dynamic blocks, you must create your blocks. We got tired of copy/pasting styles from JavaScript/PHP/SCSS files. That is why we created this feature to define some global styles in one spot and use them in all three places."}),"\n",(0,t.jsx)(s.h2,{id:"how-does-this-work",children:"How does this work?"}),"\n",(0,t.jsxs)(s.p,{children:["You have the file ",(0,t.jsx)(s.code,{children:"src/Blocks/manifest.json"})," that has a key called ",(0,t.jsx)(s.code,{children:"globalVariables"}),". We use this key and build the SCSS maps that you can use in your style files."]}),"\n",(0,t.jsx)(s.p,{children:"Mind-blowing, right?"}),"\n",(0,t.jsxs)(s.p,{children:["To use it, write your style in the ",(0,t.jsx)(s.code,{children:"manifest.json"})," under the ",(0,t.jsx)(s.code,{children:"globalVariables"})," key, and you can use that variable in your style files like this:"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"$base-col-number: global-settings(maxCols);\n"})}),"\n",(0,t.jsxs)(s.p,{children:["Keep in mind that the ",(0,t.jsx)(s.code,{children:"global-settings"})," is a function that checks the ",(0,t.jsx)(s.code,{children:"globalVariables"})," map and returns the value depending on the key provided."]}),"\n",(0,t.jsxs)(s.p,{children:["For example, if you have something like this in your ",(0,t.jsx)(s.code,{children:"manifest.json"}),":"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-json",children:'{\n "globalVariables": {\n "maxCols": 12,\n "gutters": {\n "none": "0",\n "default": "25px",\n "big": "50px"\n },\n "colors": [\n {\n "name": "Primary",\n "slug": "primary",\n "color": "#3E3E3E"\n },\n {\n "name": "Black",\n "slug": "black",\n "color": "#000000"\n },\n ]\n }\n}\n'})}),"\n",(0,t.jsx)(s.h3,{id:"scenario-1",children:"Scenario 1:"}),"\n",(0,t.jsx)(s.p,{children:"You type this in you SCSS files:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"$base-col-number: global-settings(maxCols);\n"})}),"\n",(0,t.jsxs)(s.p,{children:["the output will be: ",(0,t.jsx)(s.strong,{children:"12"})]}),"\n",(0,t.jsx)(s.h3,{id:"scenario-2",children:"Scenario 2:"}),"\n",(0,t.jsx)(s.p,{children:"You type this in you SCSS files:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"$gutters: global-settings(gutters);\n"})}),"\n",(0,t.jsxs)(s.p,{children:["the output will be a map that you need to loop or fetch individual files using ",(0,t.jsx)(s.code,{children:"get-map-strict"})," or ",(0,t.jsx)(s.code,{children:"get-map-deep"})," function:"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:'$gutters: (\n "none": "0",\n "default": "25px",\n "big": "50px"\n);\n'})}),"\n",(0,t.jsx)(s.p,{children:"so you can call it like this:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"width: get-map-strict($gutters, default);\n"})}),"\n",(0,t.jsx)(s.h3,{id:"scenario-3",children:"Scenario 3:"}),"\n",(0,t.jsx)(s.p,{children:'"I want to output colors, but they don\'t follow the structure you mentioned before. Why is that?"'}),"\n",(0,t.jsx)(s.p,{children:"Yes, colors are different because we use this manifest to output the colors to the block editors' color palette. Only the colors are like this."}),"\n",(0,t.jsx)(s.p,{children:"Type this into your SCSS files:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"$primary-color: global-settings(colors, primary),\n$black-color: global-settings(colors, black),\n"})}),"\n",(0,t.jsx)(s.p,{children:"The output will be:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"$primary-color: #3E3E3E;\n$black-color: #000000;\n"})}),"\n",(0,t.jsx)(s.p,{children:"so you use it the normal SCSS way:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"color: $primary-color;\nbackground-color: $black-color;\n"})}),"\n",(0,t.jsx)(s.admonition,{title:"Note",type:"caution",children:(0,t.jsxs)(s.p,{children:["If you add/remove/change any value in the ",(0,t.jsx)(s.code,{children:"manifest.json"})," file, please restart your Webpack watch because it won't recognize that change."]})})]})}function h(e={}){const{wrapper:s}={...(0,i.M)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},4552:(e,s,n)=>{n.d(s,{I:()=>r,M:()=>l});var t=n(11504);const i={},o=t.createContext(i);function l(e){const s=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:l(e.components),t.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/aa47c437.d2a655ad.js b/assets/js/aa47c437.d2a655ad.js deleted file mode 100644 index f4c2f9d41..000000000 --- a/assets/js/aa47c437.d2a655ad.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[10817],{25206:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>r,contentTitle:()=>l,default:()=>h,frontMatter:()=>o,metadata:()=>a,toc:()=>c});var t=n(85893),i=n(11151);const o={id:"global-settings",title:"Global Settings"},l=void 0,a={id:"basics/global-settings",title:"Global Settings",description:"docs-source",source:"@site/docs/basics/global-settings.md",sourceDirName:"basics",slug:"/basics/global-settings",permalink:"/docs/basics/global-settings",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"global-settings",title:"Global Settings"},sidebar:"docs",previous:{title:"SCSS Library",permalink:"/docs/basics/library"},next:{title:"Writing Styles",permalink:"/docs/basics/writing-styles"}},r={},c=[{value:"Why do we use this?",id:"why-do-we-use-this",level:2},{value:"How does this work?",id:"how-does-this-work",level:2},{value:"Scenario 1:",id:"scenario-1",level:3},{value:"Scenario 2:",id:"scenario-2",level:3},{value:"Scenario 3:",id:"scenario-3",level:3}];function d(e){const s={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",strong:"strong",...(0,i.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs",children:(0,t.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsx)(s.admonition,{type:"note",children:(0,t.jsxs)(s.p,{children:["This chapter is only relevant in setups that don't use CSS variables. If you are using CSS variables please skip to the ",(0,t.jsx)(s.a,{href:"blocks-styles",children:"Blocks Styles chapter"}),"."]})}),"\n",(0,t.jsx)(s.p,{children:"Ok, this is the part that we are incredibly proud of. Did you know that you can pass values from the JSON manifest or some other file directly to SCSS? Yes, we had the same facial expression when we found out. For this to work, we used Webpack and its excellent features."}),"\n",(0,t.jsx)(s.admonition,{title:":es-hide-title:",type:"tip",children:(0,t.jsx)(s.p,{children:"This feature comes only with the block setup!"})}),"\n",(0,t.jsxs)(s.p,{children:["If you used our ",(0,t.jsx)(s.code,{children:"wp boilerplate init theme"})," command, you are all set. If not, please visit the ",(0,t.jsx)(s.a,{href:"blocks",children:"blocks chapter"})," for more details."]}),"\n",(0,t.jsx)(s.h2,{id:"why-do-we-use-this",children:"Why do we use this?"}),"\n",(0,t.jsx)(s.p,{children:"Because, with dynamic blocks, you must create your blocks. We got tired of copy/pasting styles from JavaScript/PHP/SCSS files. That is why we created this feature to define some global styles in one spot and use them in all three places."}),"\n",(0,t.jsx)(s.h2,{id:"how-does-this-work",children:"How does this work?"}),"\n",(0,t.jsxs)(s.p,{children:["You have the file ",(0,t.jsx)(s.code,{children:"src/Blocks/manifest.json"})," that has a key called ",(0,t.jsx)(s.code,{children:"globalVariables"}),". We use this key and build the SCSS maps that you can use in your style files."]}),"\n",(0,t.jsx)(s.p,{children:"Mind-blowing, right?"}),"\n",(0,t.jsxs)(s.p,{children:["To use it, write your style in the ",(0,t.jsx)(s.code,{children:"manifest.json"})," under the ",(0,t.jsx)(s.code,{children:"globalVariables"})," key, and you can use that variable in your style files like this:"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"$base-col-number: global-settings(maxCols);\n"})}),"\n",(0,t.jsxs)(s.p,{children:["Keep in mind that the ",(0,t.jsx)(s.code,{children:"global-settings"})," is a function that checks the ",(0,t.jsx)(s.code,{children:"globalVariables"})," map and returns the value depending on the key provided."]}),"\n",(0,t.jsxs)(s.p,{children:["For example, if you have something like this in your ",(0,t.jsx)(s.code,{children:"manifest.json"}),":"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-json",children:'{\n "globalVariables": {\n "maxCols": 12,\n "gutters": {\n "none": "0",\n "default": "25px",\n "big": "50px"\n },\n "colors": [\n {\n "name": "Primary",\n "slug": "primary",\n "color": "#3E3E3E"\n },\n {\n "name": "Black",\n "slug": "black",\n "color": "#000000"\n },\n ]\n }\n}\n'})}),"\n",(0,t.jsx)(s.h3,{id:"scenario-1",children:"Scenario 1:"}),"\n",(0,t.jsx)(s.p,{children:"You type this in you SCSS files:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"$base-col-number: global-settings(maxCols);\n"})}),"\n",(0,t.jsxs)(s.p,{children:["the output will be: ",(0,t.jsx)(s.strong,{children:"12"})]}),"\n",(0,t.jsx)(s.h3,{id:"scenario-2",children:"Scenario 2:"}),"\n",(0,t.jsx)(s.p,{children:"You type this in you SCSS files:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"$gutters: global-settings(gutters);\n"})}),"\n",(0,t.jsxs)(s.p,{children:["the output will be a map that you need to loop or fetch individual files using ",(0,t.jsx)(s.code,{children:"get-map-strict"})," or ",(0,t.jsx)(s.code,{children:"get-map-deep"})," function:"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:'$gutters: (\n "none": "0",\n "default": "25px",\n "big": "50px"\n);\n'})}),"\n",(0,t.jsx)(s.p,{children:"so you can call it like this:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"width: get-map-strict($gutters, default);\n"})}),"\n",(0,t.jsx)(s.h3,{id:"scenario-3",children:"Scenario 3:"}),"\n",(0,t.jsx)(s.p,{children:'"I want to output colors, but they don\'t follow the structure you mentioned before. Why is that?"'}),"\n",(0,t.jsx)(s.p,{children:"Yes, colors are different because we use this manifest to output the colors to the block editors' color palette. Only the colors are like this."}),"\n",(0,t.jsx)(s.p,{children:"Type this into your SCSS files:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"$primary-color: global-settings(colors, primary),\n$black-color: global-settings(colors, black),\n"})}),"\n",(0,t.jsx)(s.p,{children:"The output will be:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"$primary-color: #3E3E3E;\n$black-color: #000000;\n"})}),"\n",(0,t.jsx)(s.p,{children:"so you use it the normal SCSS way:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"color: $primary-color;\nbackground-color: $black-color;\n"})}),"\n",(0,t.jsx)(s.admonition,{title:"Note",type:"caution",children:(0,t.jsxs)(s.p,{children:["If you add/remove/change any value in the ",(0,t.jsx)(s.code,{children:"manifest.json"})," file, please restart your Webpack watch because it won't recognize that change."]})})]})}function h(e={}){const{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},11151:(e,s,n)=>{n.d(s,{Z:()=>a,a:()=>l});var t=n(67294);const i={},o=t.createContext(i);function l(e){const s=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:l(e.components),t.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ab8fc1e5.704f74d1.js b/assets/js/ab8fc1e5.704f74d1.js new file mode 100644 index 000000000..b331d4efc --- /dev/null +++ b/assets/js/ab8fc1e5.704f74d1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[33316],{9304:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>u,frontMatter:()=>i,metadata:()=>c,toc:()=>a});var o=s(17624),n=s(4552);const i={id:"rest-route",title:"Rest Route",sidebar_label:"Rest Route"},r=void 0,c={id:"legacy/v5/basics/rest-route",title:"Rest Route",description:"docs-source",source:"@site/docs/legacy/v5/basics/rest-route.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/rest-route",permalink:"/docs/legacy/v5/basics/rest-route",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"rest-route",title:"Rest Route",sidebar_label:"Rest Route"},sidebar:"docs",previous:{title:"Rest Field",permalink:"/docs/legacy/v5/basics/rest-field"},next:{title:"Front End",permalink:"/docs/legacy/v5/basics/frontend"}},l={},a=[{value:"Test it in action",id:"test-it-in-action",level:2}];function d(e){const t={a:"a",blockquote:"blockquote",code:"code",h2:"h2",img:"img",p:"p",...(0,n.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/3.0.0/",children:(0,o.jsx)(t.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(t.p,{children:"This class is used to create a new Rest API route."}),"\n",(0,o.jsx)(t.p,{children:"To create a new class for the Rest API route, run this command:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"wp boilerplate create_rest_route"})}),"\n",(0,o.jsxs)(t.p,{children:["The output will ask you to input the correct endpoint slug and method (",(0,o.jsx)(t.code,{children:"POST"}),", ",(0,o.jsx)(t.code,{children:"GET"}),", etc.). Everything else will be done for you, setting the namespace, package, vendor prefixes, class, and folder name, and you will be set to write your field implementation in the ",(0,o.jsx)(t.code,{children:"routeCallback"})," method."]}),"\n",(0,o.jsx)(t.h2,{id:"test-it-in-action",children:"Test it in action"}),"\n",(0,o.jsxs)(t.p,{children:["To test it in action, you should check the ",(0,o.jsx)(t.code,{children:"wp-json"})," path in your browser. You can do that with something like this:"]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"domain.ext/wp-json/routeNamespace/routeVersion/routeName"})}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsx)(t.p,{children:"This link will be different based on your project implementation."}),"\n"]})]})}function u(e={}){const{wrapper:t}={...(0,n.M)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},4552:(e,t,s)=>{s.d(t,{I:()=>c,M:()=>r});var o=s(11504);const n={},i=o.createContext(n);function r(e){const t=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),o.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ab8fc1e5.8391afb4.js b/assets/js/ab8fc1e5.8391afb4.js deleted file mode 100644 index b98c0808e..000000000 --- a/assets/js/ab8fc1e5.8391afb4.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[86840],{84256:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>u,frontMatter:()=>i,metadata:()=>c,toc:()=>l});var o=s(85893),n=s(11151);const i={id:"rest-route",title:"Rest Route",sidebar_label:"Rest Route"},r=void 0,c={id:"legacy/v5/basics/rest-route",title:"Rest Route",description:"docs-source",source:"@site/docs/legacy/v5/basics/rest-route.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/rest-route",permalink:"/docs/legacy/v5/basics/rest-route",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"rest-route",title:"Rest Route",sidebar_label:"Rest Route"},sidebar:"docs",previous:{title:"Rest Field",permalink:"/docs/legacy/v5/basics/rest-field"},next:{title:"Front End",permalink:"/docs/legacy/v5/basics/frontend"}},a={},l=[{value:"Test it in action",id:"test-it-in-action",level:2}];function d(e){const t={a:"a",blockquote:"blockquote",code:"code",h2:"h2",img:"img",p:"p",...(0,n.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/3.0.0/",children:(0,o.jsx)(t.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(t.p,{children:"This class is used to create a new Rest API route."}),"\n",(0,o.jsx)(t.p,{children:"To create a new class for the Rest API route, run this command:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"wp boilerplate create_rest_route"})}),"\n",(0,o.jsxs)(t.p,{children:["The output will ask you to input the correct endpoint slug and method (",(0,o.jsx)(t.code,{children:"POST"}),", ",(0,o.jsx)(t.code,{children:"GET"}),", etc.). Everything else will be done for you, setting the namespace, package, vendor prefixes, class, and folder name, and you will be set to write your field implementation in the ",(0,o.jsx)(t.code,{children:"routeCallback"})," method."]}),"\n",(0,o.jsx)(t.h2,{id:"test-it-in-action",children:"Test it in action"}),"\n",(0,o.jsxs)(t.p,{children:["To test it in action, you should check the ",(0,o.jsx)(t.code,{children:"wp-json"})," path in your browser. You can do that with something like this:"]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"domain.ext/wp-json/routeNamespace/routeVersion/routeName"})}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsx)(t.p,{children:"This link will be different based on your project implementation."}),"\n"]})]})}function u(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},11151:(e,t,s)=>{s.d(t,{Z:()=>c,a:()=>r});var o=s(67294);const n={},i=o.createContext(n);function r(e){const t=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),o.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/acacc2b4.4e41e2cd.js b/assets/js/acacc2b4.4e41e2cd.js deleted file mode 100644 index 7d75572ad..000000000 --- a/assets/js/acacc2b4.4e41e2cd.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[38551],{85228: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/acacc2b4.cb5fe364.js b/assets/js/acacc2b4.cb5fe364.js new file mode 100644 index 000000000..d3daffc05 --- /dev/null +++ b/assets/js/acacc2b4.cb5fe364.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[27508],{11858: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/ad6305cb.ae82c4c5.js b/assets/js/ad6305cb.ae82c4c5.js deleted file mode 100644 index 237cfd75d..000000000 --- a/assets/js/ad6305cb.ae82c4c5.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[60082],{73244:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>d,contentTitle:()=>r,default:()=>u,frontMatter:()=>o,metadata:()=>c,toc:()=>a});var n=i(85893),s=i(11151);const o={id:"i18n",title:"i18n"},r=void 0,c={id:"legacy/v4/guides/i18n",title:"i18n",description:"docs-source",source:"@site/docs/legacy/v4/guides/i18n.md",sourceDirName:"legacy/v4/guides",slug:"/legacy/v4/guides/i18n",permalink:"/docs/legacy/v4/guides/i18n",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"i18n",title:"i18n"},sidebar:"docs",previous:{title:"Filter Attributes Override",permalink:"/docs/legacy/v4/guides/blocks-filter-block-attributes-override"},next:{title:"Media",permalink:"/docs/legacy/v4/guides/media"}},d={},a=[];function l(e){const t={a:"a",code:"code",img:"img",p:"p",...(0,s.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/i18n",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsxs)(t.p,{children:["Language translation class is located in ",(0,n.jsx)(t.code,{children:"Eightshift Libs"}),". To extend it use ",(0,n.jsx)(t.code,{children:"Eightshift_Libs\\I18n\\I18n"})," class."]}),"\n",(0,n.jsxs)(t.p,{children:["To provide language translation put all your ",(0,n.jsx)(t.code,{children:".po"}),"and ",(0,n.jsx)(t.code,{children:".mo"})," files inside ",(0,n.jsx)(t.code,{children:"src/i18n"})," folder."]}),"\n",(0,n.jsxs)(t.p,{children:["You can find more on language documentation on ",(0,n.jsx)(t.a,{href:"https://developer.wordpress.org/reference/functions/load_theme_textdomain/",children:"official WordPress docs"}),"."]})]})}function u(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(l,{...e})}):l(e)}},11151:(e,t,i)=>{i.d(t,{Z:()=>c,a:()=>r});var n=i(67294);const s={},o=n.createContext(s);function r(e){const t=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ad6305cb.f0728e49.js b/assets/js/ad6305cb.f0728e49.js new file mode 100644 index 000000000..e2aec379e --- /dev/null +++ b/assets/js/ad6305cb.f0728e49.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[5424],{4416:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>d,contentTitle:()=>r,default:()=>u,frontMatter:()=>o,metadata:()=>c,toc:()=>l});var n=i(17624),s=i(4552);const o={id:"i18n",title:"i18n"},r=void 0,c={id:"legacy/v4/guides/i18n",title:"i18n",description:"docs-source",source:"@site/docs/legacy/v4/guides/i18n.md",sourceDirName:"legacy/v4/guides",slug:"/legacy/v4/guides/i18n",permalink:"/docs/legacy/v4/guides/i18n",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"i18n",title:"i18n"},sidebar:"docs",previous:{title:"Filter Attributes Override",permalink:"/docs/legacy/v4/guides/blocks-filter-block-attributes-override"},next:{title:"Media",permalink:"/docs/legacy/v4/guides/media"}},d={},l=[];function a(e){const t={a:"a",code:"code",img:"img",p:"p",...(0,s.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/i18n",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsxs)(t.p,{children:["Language translation class is located in ",(0,n.jsx)(t.code,{children:"Eightshift Libs"}),". To extend it use ",(0,n.jsx)(t.code,{children:"Eightshift_Libs\\I18n\\I18n"})," class."]}),"\n",(0,n.jsxs)(t.p,{children:["To provide language translation put all your ",(0,n.jsx)(t.code,{children:".po"}),"and ",(0,n.jsx)(t.code,{children:".mo"})," files inside ",(0,n.jsx)(t.code,{children:"src/i18n"})," folder."]}),"\n",(0,n.jsxs)(t.p,{children:["You can find more on language documentation on ",(0,n.jsx)(t.a,{href:"https://developer.wordpress.org/reference/functions/load_theme_textdomain/",children:"official WordPress docs"}),"."]})]})}function u(e={}){const{wrapper:t}={...(0,s.M)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(a,{...e})}):a(e)}},4552:(e,t,i)=>{i.d(t,{I:()=>c,M:()=>r});var n=i(11504);const s={},o=n.createContext(s);function r(e){const t=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/adaf2bab.514bf3e1.js b/assets/js/adaf2bab.514bf3e1.js new file mode 100644 index 000000000..99e1c9d3c --- /dev/null +++ b/assets/js/adaf2bab.514bf3e1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[21520],{42620:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>s,default:()=>m,frontMatter:()=>o,metadata:()=>l,toc:()=>f});var r=n(17624),i=n(4552),a=n(80148);const o={id:"additional-content",title:"Additional content"},s=void 0,l={id:"php/filters/block/form-selector/additional-content",title:"Additional content",description:"",source:"@site/forms/php/filters/block/form-selector/additional-content.mdx",sourceDirName:"php/filters/block/form-selector",slug:"/php/filters/block/form-selector/additional-content",permalink:"/forms/php/filters/block/form-selector/additional-content",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"additional-content",title:"Additional content"},sidebar:"forms",previous:{title:"Form templates",permalink:"/forms/php/filters/block/form-selector/form-templates"},next:{title:"Custom field styles",permalink:"/forms/php/filters/block/field/style-options"}},d={},f=[];function c(t){return(0,r.jsx)(a.g,{filter:"form_selector"})}function m(t={}){const{wrapper:e}={...(0,i.M)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(c,{...t})}):c()}},80148:(t,e,n)=>{n.d(e,{g:()=>s,y:()=>o});n(11504);var r=n(1608),i=n(96616),a=n(17624);function o(t){let{filter:e,onlyUse:n=["dataFilter","orderFilter","prePostIdFilter","prePostParamsFilter"]}=t;return(0,a.jsxs)(a.Fragment,{children:[n.includes("dataFilter")&&(0,a.jsx)(l,{filter:e}),n.includes("orderFilter")&&(0,a.jsx)(d,{filter:e}),n.includes("prePostIdFilter")&&(0,a.jsx)(f,{filter:e}),n.includes("prePostParamsFilter")&&(0,a.jsx)(c,{filter:e})]})}function s(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{children:"Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc."}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\tadd_filter('es_forms_block_${e}_additional_content', function(): string {\n\t\t\t\treturn '<custom-string>';\n\t\t\t})\n\t\t\t`)})]})}function l(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Data filter"}),(0,a.jsx)("p",{children:"Allows modifying form field data before it's shown in the Block Editor or output on the frontend."}),(0,a.jsx)("p",{children:"Useful if, for example, you want to ensure that all fields fit into a 2-column layout."}),(0,a.jsx)("p",{children:"Overrides any Block Editor changes!"}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\tadd_filter('es_forms_integrations_${e}_data', 'getIntegrationFilterData', 10, 2);\n\n\t\t\t/**\n\t\t\t * Manipulate form fields data before it is sent to the Block Editor.\n\t\t\t *\n\t\t\t * @param array<mixed> $data Form fields data.\n\t\t\t * @param string $formId Form ID.\n\t\t\t *\n\t\t\t * @return array<mixed>\n\t\t\t */\n\t\t\tfunction getIntegrationFilterData(array $data, string $formId): array\n\t\t\t{\n\t\t\t\tforeach ($data as $index => $field) {\n\t\t\t\t\t$component = $field['component'] ?? '';\n\n\t\t\t\t\tif (!$component) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t$name = $field["{$component}Name"] ?? '';\n\n\t\t\t\t\tif (!$name) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch ($name) {\n\t\t\t\t\t\tcase 'firstname':\n\t\t\t\t\t\tcase 'lastname':\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthMobile"] = 12;\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthLarge"] = 6;\n\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"] = array_merge(\n\t\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthMobile",\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthLarge",\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t`)})]})}function d(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Order filter"}),(0,a.jsx)("p",{children:"Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor."}),(0,a.jsxs)("p",{children:["Not all fields need to have an order defined. For example, you may want to make sure ",(0,a.jsx)("code",{children:"firstname"}),", ",(0,a.jsx)("code",{children:"lastname"})," and ",(0,a.jsx)("code",{children:"email"})," are displayed first, but other fields follow their Block editor order."]}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_order', 'getIntegrationOrder');\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Forces form field order for the provided fields. For other fields, Block editor order is used.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationOrder(): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t'firstname',\n\t\t\t\t\t\t\t'lastname',\n\t\t\t\t\t\t\t'email',\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t`)})]})}function f(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post ID filter"}),(0,a.jsx)("p",{children:"Allows updating item IDs sent to external integrations to which the form data is sent."}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_pre_post_id', 'getIntegrationPrePostId', 10, 3);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies integration item ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @param string $itemId Integration item ID.\n\t\t\t\t\t * @param array<mixed> $params Params to be sent to the integration.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @return array<mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostId(string $itemId, array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn $itemId;\n\t\t\t\t\t}\n\t\t\t\t`)})]})}function c(t){let{filter:e}=t,n="";if("mailer"===e)n="mailer system";else n="external integration";return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post parameters filter"}),(0,a.jsxs)("p",{children:["Allows modifying form field data before it's sent to ",n,". Useful if you want to make values derived from the sent data, or add new fields."]}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_pre_post_params', 'getIntegrationPrePostParams', 10, 2);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies form field data before it's sent to ${n}.\n\t\t\t\t\t *\n\t\t\t\t\t * @param array<string, mixed> $params Array of params.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string, mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostParams(array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\t$formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? '';\n\n\t\t\t\t\t\tif ($formSubmissionPageLt) {\n\t\t\t\t\t\t\t$params['ib-submission-source'] = [\n\t\t\t\t\t\t\t\t'name' => 'ib-submission-source',\n\t\t\t\t\t\t\t\t'value' => $formSubmissionPageLt,\n\t\t\t\t\t\t\t\t'type' => 'text',\n\t\t\t\t\t\t\t\t'internalType' => '',\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn $params;\n\t\t\t\t\t}\n\t\t\t\t`)})]})}},96616:(t,e,n)=>{function r(t){const e=t.split(/\n/g);for(;0===e[0]?.replace(/\s/g,"").length;)e.shift();for(;0===e[e.length-1]?.replace(/\s/g,"").length;)e.pop();const n=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>t.match(/^\s*/)?.[0]?.length??0)),r=Math.min(...n);return e.map((t=>t.slice(r))).join("\n")}n.d(e,{c:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/adaf2bab.b7071765.js b/assets/js/adaf2bab.b7071765.js deleted file mode 100644 index 9e6a9aeb4..000000000 --- a/assets/js/adaf2bab.b7071765.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[74598],{84563:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>s,default:()=>c,frontMatter:()=>o,metadata:()=>l,toc:()=>f});var r=n(85893),i=n(11151),a=n(8122);const o={id:"additional-content",title:"Additional content"},s=void 0,l={id:"php/filters/block/form-selector/additional-content",title:"Additional content",description:"",source:"@site/forms/php/filters/block/form-selector/additional-content.mdx",sourceDirName:"php/filters/block/form-selector",slug:"/php/filters/block/form-selector/additional-content",permalink:"/forms/php/filters/block/form-selector/additional-content",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"additional-content",title:"Additional content"},sidebar:"forms",previous:{title:"Form templates",permalink:"/forms/php/filters/block/form-selector/form-templates"},next:{title:"Custom field styles",permalink:"/forms/php/filters/block/field/style-options"}},d={},f=[];function m(t){return(0,r.jsx)(a.F,{filter:"form_selector"})}function c(t={}){const{wrapper:e}={...(0,i.a)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(m,{...t})}):m()}},8122:(t,e,n)=>{n.d(e,{F:()=>s,k:()=>o});n(67294);var r=n(9286),i=n(61684),a=n(85893);function o(t){let{filter:e,onlyUse:n=["dataFilter","orderFilter","prePostIdFilter","prePostParamsFilter"]}=t;return(0,a.jsxs)(a.Fragment,{children:[n.includes("dataFilter")&&(0,a.jsx)(l,{filter:e}),n.includes("orderFilter")&&(0,a.jsx)(d,{filter:e}),n.includes("prePostIdFilter")&&(0,a.jsx)(f,{filter:e}),n.includes("prePostParamsFilter")&&(0,a.jsx)(m,{filter:e})]})}function s(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{children:"Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc."}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\tadd_filter('es_forms_block_"+e+"_additional_content', function(): string {\n\t\t\t\treturn '<custom-string>';\n\t\t\t})\n\t\t\t")})]})}function l(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Data filter"}),(0,a.jsx)("p",{children:"Allows modifying form field data before it's shown in the Block Editor or output on the frontend."}),(0,a.jsx)("p",{children:"Useful if, for example, you want to ensure that all fields fit into a 2-column layout."}),(0,a.jsx)("p",{children:"Overrides any Block Editor changes!"}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\tadd_filter('es_forms_integrations_"+e+'_data\', \'getIntegrationFilterData\', 10, 2);\n\n\t\t\t/**\n\t\t\t * Manipulate form fields data before it is sent to the Block Editor.\n\t\t\t *\n\t\t\t * @param array<mixed> $data Form fields data.\n\t\t\t * @param string $formId Form ID.\n\t\t\t *\n\t\t\t * @return array<mixed>\n\t\t\t */\n\t\t\tfunction getIntegrationFilterData(array $data, string $formId): array\n\t\t\t{\n\t\t\t\tforeach ($data as $index => $field) {\n\t\t\t\t\t$component = $field[\'component\'] ?? \'\';\n\n\t\t\t\t\tif (!$component) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t$name = $field["{$component}Name"] ?? \'\';\n\n\t\t\t\t\tif (!$name) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch ($name) {\n\t\t\t\t\t\tcase \'firstname\':\n\t\t\t\t\t\tcase \'lastname\':\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthMobile"] = 12;\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthLarge"] = 6;\n\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"] = array_merge(\n\t\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthMobile",\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthLarge",\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t')})]})}function d(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Order filter"}),(0,a.jsx)("p",{children:"Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor."}),(0,a.jsxs)("p",{children:["Not all fields need to have an order defined. For example, you may want to make sure ",(0,a.jsx)("code",{children:"firstname"}),", ",(0,a.jsx)("code",{children:"lastname"})," and ",(0,a.jsx)("code",{children:"email"})," are displayed first, but other fields follow their Block editor order."]}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_order', 'getIntegrationOrder');\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Forces form field order for the provided fields. For other fields, Block editor order is used.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationOrder(): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t'firstname',\n\t\t\t\t\t\t\t'lastname',\n\t\t\t\t\t\t\t'email',\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t")})]})}function f(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post ID filter"}),(0,a.jsx)("p",{children:"Allows updating item IDs sent to external integrations to which the form data is sent."}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_pre_post_id', 'getIntegrationPrePostId', 10, 3);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies integration item ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @param string $itemId Integration item ID.\n\t\t\t\t\t * @param array<mixed> $params Params to be sent to the integration.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @return array<mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostId(string $itemId, array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn $itemId;\n\t\t\t\t\t}\n\t\t\t\t")})]})}function m(t){let{filter:e}=t,n="";if("mailer"===e)n="mailer system";else n="external integration";return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post parameters filter"}),(0,a.jsxs)("p",{children:["Allows modifying form field data before it's sent to ",n,". Useful if you want to make values derived from the sent data, or add new fields."]}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_pre_post_params', 'getIntegrationPrePostParams', 10, 2);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies form field data before it's sent to "+n+".\n\t\t\t\t\t *\n\t\t\t\t\t * @param array<string, mixed> $params Array of params.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string, mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostParams(array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\t$formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? '';\n\n\t\t\t\t\t\tif ($formSubmissionPageLt) {\n\t\t\t\t\t\t\t$params['ib-submission-source'] = [\n\t\t\t\t\t\t\t\t'name' => 'ib-submission-source',\n\t\t\t\t\t\t\t\t'value' => $formSubmissionPageLt,\n\t\t\t\t\t\t\t\t'type' => 'text',\n\t\t\t\t\t\t\t\t'internalType' => '',\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn $params;\n\t\t\t\t\t}\n\t\t\t\t")})]})}},61684:(t,e,n)=>{function r(t){const e=t.split(/\n/g);for(;0===(null==(n=e[0])?void 0:n.replace(/\s/g,"").length);){var n;e.shift()}for(;0===(null==(r=e[e.length-1])?void 0:r.replace(/\s/g,"").length);){var r;e.pop()}const i=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>{var e,n;return null!=(e=null==(n=t.match(/^\s*/))||null==(n=n[0])?void 0:n.length)?e:0})),a=Math.min(...i);return e.map((t=>t.slice(a))).join("\n")}n.d(e,{p:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/adb54813.4e5b767c.js b/assets/js/adb54813.4e5b767c.js new file mode 100644 index 000000000..70f7d1b7a --- /dev/null +++ b/assets/js/adb54813.4e5b767c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[94576],{63720:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>a,contentTitle:()=>l,default:()=>h,frontMatter:()=>s,metadata:()=>r,toc:()=>d});var n=o(17624),i=o(4552);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.M)(),...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(25764).c+"",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(36244).c+"",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(98480).c+"",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.M)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},98480:(e,t,o)=>{o.d(t,{c:()=>n});const n=o.p+"assets/images/color-theme-change-cd1ede6d92339a8178f33466d37a7e16.gif"},25764:(e,t,o)=>{o.d(t,{c:()=>n});const n=o.p+"assets/images/color-theme-examples-49d717014747712e8921b795e4804944.webp"},36244:(e,t,o)=>{o.d(t,{c:()=>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"},4552:(e,t,o)=>{o.d(t,{I:()=>r,M:()=>l});var n=o(11504);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.abac955b.js b/assets/js/adb54813.abac955b.js deleted file mode 100644 index 27000ef50..000000000 --- a/assets/js/adb54813.abac955b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[78887],{87490:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>a,contentTitle:()=>l,default:()=>h,frontMatter:()=>s,metadata:()=>r,toc:()=>d});var n=o(85893),i=o(11151);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.a)(),...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(88860).Z+"",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(57170).Z+"",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(44460).Z+"",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.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},44460:(e,t,o)=>{o.d(t,{Z:()=>n});const n=o.p+"assets/images/color-theme-change-cd1ede6d92339a8178f33466d37a7e16.gif"},88860:(e,t,o)=>{o.d(t,{Z:()=>n});const n=o.p+"assets/images/color-theme-examples-49d717014747712e8921b795e4804944.webp"},57170:(e,t,o)=>{o.d(t,{Z:()=>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"},11151:(e,t,o)=>{o.d(t,{Z:()=>r,a:()=>l});var n=o(67294);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/add2b463.09089241.js b/assets/js/add2b463.09089241.js new file mode 100644 index 000000000..6f605b60e --- /dev/null +++ b/assets/js/add2b463.09089241.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[68628],{64252:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>o,contentTitle:()=>a,default:()=>h,frontMatter:()=>t,metadata:()=>l,toc:()=>c});var s=r(17624),i=r(4552);const t={id:"helpers-php",title:"PHP"},a=void 0,l={id:"basics/helpers-php",title:"PHP",description:"docs-source",source:"@site/docs/basics/helpers-php.md",sourceDirName:"basics",slug:"/basics/helpers-php",permalink:"/docs/basics/helpers-php",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"helpers-php",title:"PHP"},sidebar:"docs",previous:{title:"Scss",permalink:"/docs/basics/helpers-scss"},next:{title:"Tips & Tricks",permalink:"/docs/basics/tips-tricks"}},o={},c=[{value:"ensureString",id:"ensurestring",level:2},{value:"classnames",id:"classnames",level:2},{value:"render",id:"render",level:2},{value:"renderPartial",id:"renderpartial",level:2},{value:"getManifest",id:"getmanifest",level:2},{value:"props",id:"props",level:2},{value:"responsiveSelectors",id:"responsiveselectors",level:2},{value:"checkAttr",id:"checkattr",level:2},{value:"checkAttrResponsive",id:"checkattrresponsive",level:2},{value:"selector",id:"selector",level:2},{value:"restResponseHandler",id:"restresponsehandler",level:2},{value:"isValidXml",id:"isvalidxml",level:2},{value:"isJson",id:"isjson",level:2},{value:"flattenArray",id:"flattenarray",level:2},{value:"sanitizeArray",id:"sanitizearray",level:2},{value:"sortArrayByOrderKey",id:"sortarraybyorderkey",level:2},{value:"getShortcode",id:"getshortcode",level:2}];function d(e){const n={a:"a",code:"code",h2:"h2",img:"img",li:"li",p:"p",ul:"ul",...(0,i.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs",children:(0,s.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(n.h2,{id:"ensurestring",children:"ensureString"}),"\n",(0,s.jsx)(n.p,{children:"Makes sure the output is a string. Useful for converting an array of components into a string.\nIf you pass an associative array, it will output strings with keys. Used for generating data-attributes from an array."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param array|string $variable Variable we need to convert into a string."}),"\n",(0,s.jsx)(n.li,{children:"@throws ComponentException When $variable is not a string or an array."}),"\n",(0,s.jsx)(n.li,{children:"@return string"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"classnames",children:"classnames"}),"\n",(0,s.jsx)(n.p,{children:"Converts an array of classes into a string that can be echoed."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param array $classes Array of classes."}),"\n",(0,s.jsx)(n.li,{children:"@return string"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"render",children:"render"}),"\n",(0,s.jsx)(n.p,{children:"Renders a component and (optionally) passes some attributes to it."}),"\n",(0,s.jsxs)(n.p,{children:["Note about the ",(0,s.jsx)(n.code,{children:"parentClass"})," attribute: If provided, the component will be wrapped with a parent BEM selector."]}),"\n",(0,s.jsxs)(n.p,{children:["For example, if ",(0,s.jsx)(n.code,{children:"$attributes['parentClass'] === 'header'"})," and ",(0,s.jsx)(n.code,{children:"$component === 'logo'"})," are set, the component will be wrapped with a ",(0,s.jsx)(n.code,{children:'<div class="header__logo"></div>'}),"."]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param string $component Component's name or full path (ending with .php)."}),"\n",(0,s.jsx)(n.li,{children:"@param array $attributes Array of attributes that is implicitly passed to the component."}),"\n",(0,s.jsx)(n.li,{children:"@param string $parentPath If parent path is provided, it will be appended to the file location. If not, get_template_directory_uri() will be used as a default parent path."}),"\n",(0,s.jsx)(n.li,{children:"@throws \\Exception When we're unable to find the component by $component."}),"\n",(0,s.jsx)(n.li,{children:"@return string"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"renderpartial",children:"renderPartial"}),"\n",(0,s.jsx)(n.p,{children:"Render component/block partial."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param string $type Type of content block, component, variable, etc."}),"\n",(0,s.jsx)(n.li,{children:"@param string $parent Parent block/component name."}),"\n",(0,s.jsx)(n.li,{children:"@param string $name Name of the partial. It can be without extension so .php is used."}),"\n",(0,s.jsx)(n.li,{children:"@param array $attributes Attributes that will be passed to partial."}),"\n",(0,s.jsx)(n.li,{children:"@param string $partialFolderName Partial folder name."}),"\n",(0,s.jsx)(n.li,{children:"@throws ComponentException When we're unable to find the partial."}),"\n",(0,s.jsx)(n.li,{children:"@return string Partial html."}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"getmanifest",children:"getManifest"}),"\n",(0,s.jsxs)(n.p,{children:["Get ",(0,s.jsx)(n.code,{children:"manifest json"}),". Used for getting block/components manifest."]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param string $path Absolute path to manifest folder."}),"\n",(0,s.jsx)(n.li,{children:"@throws \\Exception When we're unable to find the component by $component."}),"\n",(0,s.jsx)(n.li,{children:"@return array"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"props",children:"props"}),"\n",(0,s.jsxs)(n.p,{children:["This function is the PHP equivalent of the JavaScript function on this ",(0,s.jsx)(n.a,{href:"helpers-javascript",children:"link"}),"."]}),"\n",(0,s.jsx)(n.h2,{id:"responsiveselectors",children:"responsiveSelectors"}),"\n",(0,s.jsxs)(n.p,{children:["This function is the PHP equivalent of the JavaScript function on this ",(0,s.jsx)(n.a,{href:"helpers-javascript",children:"link"}),"."]}),"\n",(0,s.jsx)(n.h2,{id:"checkattr",children:"checkAttr"}),"\n",(0,s.jsxs)(n.p,{children:["This function is the PHP equivalent of ",(0,s.jsx)(n.a,{href:"helpers-javascript",children:"this JavaScript function"}),", except there is no ",(0,s.jsx)(n.code,{children:"undefinedAllowed"})," parameter - it's used only on the WordPress admin side."]}),"\n",(0,s.jsx)(n.h2,{id:"checkattrresponsive",children:"checkAttrResponsive"}),"\n",(0,s.jsxs)(n.p,{children:["This function is the PHP equivalent of ",(0,s.jsx)(n.a,{href:"helpers-javascript",children:"this JavaScript function"}),", except there is no ",(0,s.jsx)(n.code,{children:"undefinedAllowed"})," parameter - it's used only on the WordPress admin side."]}),"\n",(0,s.jsx)(n.h2,{id:"selector",children:"selector"}),"\n",(0,s.jsxs)(n.p,{children:["This function is the PHP equivalent of the JavaScript function on this ",(0,s.jsx)(n.a,{href:"helpers-javascript",children:"link"}),"."]}),"\n",(0,s.jsx)(n.h2,{id:"restresponsehandler",children:"restResponseHandler"}),"\n",(0,s.jsx)(n.p,{children:"Ensure the correct response for REST using the handler function."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param integer $code Response Status code."}),"\n",(0,s.jsx)(n.li,{children:"@param string $status Response Status name (success/error)."}),"\n",(0,s.jsx)(n.li,{children:"@param string|null $msg Response Message."}),"\n",(0,s.jsx)(n.li,{children:"@param array|null $data Response additional data."}),"\n",(0,s.jsx)(n.li,{children:"@return \\WP_REST_Response|\\WP_Error If response generated an error, WP_Error, if response is already an instance, WP_REST_Response, otherwise returns a new WP_REST_Response instance."}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"isvalidxml",children:"isValidXml"}),"\n",(0,s.jsx)(n.p,{children:"Check if XML is valid. Used for validating SVG files."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param string $xml Full xml document."}),"\n",(0,s.jsx)(n.li,{children:"@return boolean"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"isjson",children:"isJson"}),"\n",(0,s.jsx)(n.p,{children:"Check if json is valid."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param string $string String to check."}),"\n",(0,s.jsx)(n.li,{children:"@return bool"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"flattenarray",children:"flattenArray"}),"\n",(0,s.jsx)(n.p,{children:"Flatten multidimensional array."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param array $array Multidimensional array."}),"\n",(0,s.jsx)(n.li,{children:"@return array"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"sanitizearray",children:"sanitizeArray"}),"\n",(0,s.jsx)(n.p,{children:"Sanitize all the values in an array."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["@link ",(0,s.jsx)(n.a,{href:"https://developer.wordpress.org/themes/theme-security/data-sanitization-escaping/",children:"https://developer.wordpress.org/themes/theme-security/data-sanitization-escaping/"})]}),"\n",(0,s.jsx)(n.li,{children:"@param array $array Provided array."}),"\n",(0,s.jsx)(n.li,{children:"@param string $sanitizationFunction WordPress function used for sanitization purposes."}),"\n",(0,s.jsx)(n.li,{children:"@return array"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"sortarraybyorderkey",children:"sortArrayByOrderKey"}),"\n",(0,s.jsx)(n.p,{children:"Sort array by order key. Used to sort terms."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param array $items Items array to sort. Must have order key."}),"\n",(0,s.jsx)(n.li,{children:"@return array"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"getshortcode",children:"getShortcode"}),"\n",(0,s.jsx)(n.p,{children:"Call a shortcode function by tag name."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@author J.D. Grimes"}),"\n",(0,s.jsxs)(n.li,{children:["@link ",(0,s.jsx)(n.a,{href:"https://codesymphony.co/dont-do_shortcode/",children:"https://codesymphony.co/dont-do_shortcode/"})]}),"\n",(0,s.jsx)(n.li,{children:"@param string $tag The shortcode whose function to call."}),"\n",(0,s.jsx)(n.li,{children:"@param array $attr The attributes to pass to the shortcode function. Optional."}),"\n",(0,s.jsx)(n.li,{children:"@param string|null $content The shortcodes content. Default is null (none)."}),"\n",(0,s.jsx)(n.li,{children:"@return string|bool False on failure, the result of the shortcode on success."}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,i.M)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},4552:(e,n,r)=>{r.d(n,{I:()=>l,M:()=>a});var s=r(11504);const i={},t=s.createContext(i);function a(e){const n=s.useContext(t);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:a(e.components),s.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/add2b463.ab7a10d3.js b/assets/js/add2b463.ab7a10d3.js deleted file mode 100644 index f0064524c..000000000 --- a/assets/js/add2b463.ab7a10d3.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[86894],{73010:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>o,contentTitle:()=>a,default:()=>h,frontMatter:()=>t,metadata:()=>l,toc:()=>c});var s=r(85893),i=r(11151);const t={id:"helpers-php",title:"PHP"},a=void 0,l={id:"basics/helpers-php",title:"PHP",description:"docs-source",source:"@site/docs/basics/helpers-php.md",sourceDirName:"basics",slug:"/basics/helpers-php",permalink:"/docs/basics/helpers-php",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"helpers-php",title:"PHP"},sidebar:"docs",previous:{title:"Scss",permalink:"/docs/basics/helpers-scss"},next:{title:"Tips & Tricks",permalink:"/docs/basics/tips-tricks"}},o={},c=[{value:"ensureString",id:"ensurestring",level:2},{value:"classnames",id:"classnames",level:2},{value:"render",id:"render",level:2},{value:"renderPartial",id:"renderpartial",level:2},{value:"getManifest",id:"getmanifest",level:2},{value:"props",id:"props",level:2},{value:"responsiveSelectors",id:"responsiveselectors",level:2},{value:"checkAttr",id:"checkattr",level:2},{value:"checkAttrResponsive",id:"checkattrresponsive",level:2},{value:"selector",id:"selector",level:2},{value:"restResponseHandler",id:"restresponsehandler",level:2},{value:"isValidXml",id:"isvalidxml",level:2},{value:"isJson",id:"isjson",level:2},{value:"flattenArray",id:"flattenarray",level:2},{value:"sanitizeArray",id:"sanitizearray",level:2},{value:"sortArrayByOrderKey",id:"sortarraybyorderkey",level:2},{value:"getShortcode",id:"getshortcode",level:2}];function d(e){const n={a:"a",code:"code",h2:"h2",img:"img",li:"li",p:"p",ul:"ul",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs",children:(0,s.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(n.h2,{id:"ensurestring",children:"ensureString"}),"\n",(0,s.jsx)(n.p,{children:"Makes sure the output is a string. Useful for converting an array of components into a string.\nIf you pass an associative array, it will output strings with keys. Used for generating data-attributes from an array."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param array|string $variable Variable we need to convert into a string."}),"\n",(0,s.jsx)(n.li,{children:"@throws ComponentException When $variable is not a string or an array."}),"\n",(0,s.jsx)(n.li,{children:"@return string"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"classnames",children:"classnames"}),"\n",(0,s.jsx)(n.p,{children:"Converts an array of classes into a string that can be echoed."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param array $classes Array of classes."}),"\n",(0,s.jsx)(n.li,{children:"@return string"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"render",children:"render"}),"\n",(0,s.jsx)(n.p,{children:"Renders a component and (optionally) passes some attributes to it."}),"\n",(0,s.jsxs)(n.p,{children:["Note about the ",(0,s.jsx)(n.code,{children:"parentClass"})," attribute: If provided, the component will be wrapped with a parent BEM selector."]}),"\n",(0,s.jsxs)(n.p,{children:["For example, if ",(0,s.jsx)(n.code,{children:"$attributes['parentClass'] === 'header'"})," and ",(0,s.jsx)(n.code,{children:"$component === 'logo'"})," are set, the component will be wrapped with a ",(0,s.jsx)(n.code,{children:'<div class="header__logo"></div>'}),"."]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param string $component Component's name or full path (ending with .php)."}),"\n",(0,s.jsx)(n.li,{children:"@param array $attributes Array of attributes that is implicitly passed to the component."}),"\n",(0,s.jsx)(n.li,{children:"@param string $parentPath If parent path is provided, it will be appended to the file location. If not, get_template_directory_uri() will be used as a default parent path."}),"\n",(0,s.jsx)(n.li,{children:"@throws \\Exception When we're unable to find the component by $component."}),"\n",(0,s.jsx)(n.li,{children:"@return string"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"renderpartial",children:"renderPartial"}),"\n",(0,s.jsx)(n.p,{children:"Render component/block partial."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param string $type Type of content block, component, variable, etc."}),"\n",(0,s.jsx)(n.li,{children:"@param string $parent Parent block/component name."}),"\n",(0,s.jsx)(n.li,{children:"@param string $name Name of the partial. It can be without extension so .php is used."}),"\n",(0,s.jsx)(n.li,{children:"@param array $attributes Attributes that will be passed to partial."}),"\n",(0,s.jsx)(n.li,{children:"@param string $partialFolderName Partial folder name."}),"\n",(0,s.jsx)(n.li,{children:"@throws ComponentException When we're unable to find the partial."}),"\n",(0,s.jsx)(n.li,{children:"@return string Partial html."}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"getmanifest",children:"getManifest"}),"\n",(0,s.jsxs)(n.p,{children:["Get ",(0,s.jsx)(n.code,{children:"manifest json"}),". Used for getting block/components manifest."]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param string $path Absolute path to manifest folder."}),"\n",(0,s.jsx)(n.li,{children:"@throws \\Exception When we're unable to find the component by $component."}),"\n",(0,s.jsx)(n.li,{children:"@return array"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"props",children:"props"}),"\n",(0,s.jsxs)(n.p,{children:["This function is the PHP equivalent of the JavaScript function on this ",(0,s.jsx)(n.a,{href:"helpers-javascript",children:"link"}),"."]}),"\n",(0,s.jsx)(n.h2,{id:"responsiveselectors",children:"responsiveSelectors"}),"\n",(0,s.jsxs)(n.p,{children:["This function is the PHP equivalent of the JavaScript function on this ",(0,s.jsx)(n.a,{href:"helpers-javascript",children:"link"}),"."]}),"\n",(0,s.jsx)(n.h2,{id:"checkattr",children:"checkAttr"}),"\n",(0,s.jsxs)(n.p,{children:["This function is the PHP equivalent of ",(0,s.jsx)(n.a,{href:"helpers-javascript",children:"this JavaScript function"}),", except there is no ",(0,s.jsx)(n.code,{children:"undefinedAllowed"})," parameter - it's used only on the WordPress admin side."]}),"\n",(0,s.jsx)(n.h2,{id:"checkattrresponsive",children:"checkAttrResponsive"}),"\n",(0,s.jsxs)(n.p,{children:["This function is the PHP equivalent of ",(0,s.jsx)(n.a,{href:"helpers-javascript",children:"this JavaScript function"}),", except there is no ",(0,s.jsx)(n.code,{children:"undefinedAllowed"})," parameter - it's used only on the WordPress admin side."]}),"\n",(0,s.jsx)(n.h2,{id:"selector",children:"selector"}),"\n",(0,s.jsxs)(n.p,{children:["This function is the PHP equivalent of the JavaScript function on this ",(0,s.jsx)(n.a,{href:"helpers-javascript",children:"link"}),"."]}),"\n",(0,s.jsx)(n.h2,{id:"restresponsehandler",children:"restResponseHandler"}),"\n",(0,s.jsx)(n.p,{children:"Ensure the correct response for REST using the handler function."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param integer $code Response Status code."}),"\n",(0,s.jsx)(n.li,{children:"@param string $status Response Status name (success/error)."}),"\n",(0,s.jsx)(n.li,{children:"@param string|null $msg Response Message."}),"\n",(0,s.jsx)(n.li,{children:"@param array|null $data Response additional data."}),"\n",(0,s.jsx)(n.li,{children:"@return \\WP_REST_Response|\\WP_Error If response generated an error, WP_Error, if response is already an instance, WP_REST_Response, otherwise returns a new WP_REST_Response instance."}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"isvalidxml",children:"isValidXml"}),"\n",(0,s.jsx)(n.p,{children:"Check if XML is valid. Used for validating SVG files."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param string $xml Full xml document."}),"\n",(0,s.jsx)(n.li,{children:"@return boolean"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"isjson",children:"isJson"}),"\n",(0,s.jsx)(n.p,{children:"Check if json is valid."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param string $string String to check."}),"\n",(0,s.jsx)(n.li,{children:"@return bool"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"flattenarray",children:"flattenArray"}),"\n",(0,s.jsx)(n.p,{children:"Flatten multidimensional array."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param array $array Multidimensional array."}),"\n",(0,s.jsx)(n.li,{children:"@return array"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"sanitizearray",children:"sanitizeArray"}),"\n",(0,s.jsx)(n.p,{children:"Sanitize all the values in an array."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["@link ",(0,s.jsx)(n.a,{href:"https://developer.wordpress.org/themes/theme-security/data-sanitization-escaping/",children:"https://developer.wordpress.org/themes/theme-security/data-sanitization-escaping/"})]}),"\n",(0,s.jsx)(n.li,{children:"@param array $array Provided array."}),"\n",(0,s.jsx)(n.li,{children:"@param string $sanitizationFunction WordPress function used for sanitization purposes."}),"\n",(0,s.jsx)(n.li,{children:"@return array"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"sortarraybyorderkey",children:"sortArrayByOrderKey"}),"\n",(0,s.jsx)(n.p,{children:"Sort array by order key. Used to sort terms."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param array $items Items array to sort. Must have order key."}),"\n",(0,s.jsx)(n.li,{children:"@return array"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"getshortcode",children:"getShortcode"}),"\n",(0,s.jsx)(n.p,{children:"Call a shortcode function by tag name."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@author J.D. Grimes"}),"\n",(0,s.jsxs)(n.li,{children:["@link ",(0,s.jsx)(n.a,{href:"https://codesymphony.co/dont-do_shortcode/",children:"https://codesymphony.co/dont-do_shortcode/"})]}),"\n",(0,s.jsx)(n.li,{children:"@param string $tag The shortcode whose function to call."}),"\n",(0,s.jsx)(n.li,{children:"@param array $attr The attributes to pass to the shortcode function. Optional."}),"\n",(0,s.jsx)(n.li,{children:"@param string|null $content The shortcodes content. Default is null (none)."}),"\n",(0,s.jsx)(n.li,{children:"@return string|bool False on failure, the result of the shortcode on success."}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},11151:(e,n,r)=>{r.d(n,{Z:()=>l,a:()=>a});var s=r(67294);const i={},t=s.createContext(i);function a(e){const n=s.useContext(t);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:a(e.components),s.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ae06c6f1.15b7e541.js b/assets/js/ae06c6f1.15b7e541.js new file mode 100644 index 000000000..9ac508fa2 --- /dev/null +++ b/assets/js/ae06c6f1.15b7e541.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[70060],{20136:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>s,default:()=>m,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var r=n(17624),i=n(4552),a=n(80148);const o={id:"additional-content",title:"Additional content"},s=void 0,l={id:"php/filters/block/rating/additional-content",title:"Additional content",description:"",source:"@site/forms/php/filters/block/rating/additional-content.mdx",sourceDirName:"php/filters/block/rating",slug:"/php/filters/block/rating/additional-content",permalink:"/forms/php/filters/block/rating/additional-content",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"additional-content",title:"Additional content"},sidebar:"forms",previous:{title:'Multi-step form "Next" button',permalink:"/forms/php/filters/block/step/component-next"},next:{title:"Allowed blocks",permalink:"/forms/php/filters/blocks/allowed-blocks"}},d={},c=[];function f(t){return(0,r.jsx)(a.g,{filter:"rating"})}function m(t={}){const{wrapper:e}={...(0,i.M)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(f,{...t})}):f()}},80148:(t,e,n)=>{n.d(e,{g:()=>s,y:()=>o});n(11504);var r=n(1608),i=n(96616),a=n(17624);function o(t){let{filter:e,onlyUse:n=["dataFilter","orderFilter","prePostIdFilter","prePostParamsFilter"]}=t;return(0,a.jsxs)(a.Fragment,{children:[n.includes("dataFilter")&&(0,a.jsx)(l,{filter:e}),n.includes("orderFilter")&&(0,a.jsx)(d,{filter:e}),n.includes("prePostIdFilter")&&(0,a.jsx)(c,{filter:e}),n.includes("prePostParamsFilter")&&(0,a.jsx)(f,{filter:e})]})}function s(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{children:"Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc."}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\tadd_filter('es_forms_block_${e}_additional_content', function(): string {\n\t\t\t\treturn '<custom-string>';\n\t\t\t})\n\t\t\t`)})]})}function l(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Data filter"}),(0,a.jsx)("p",{children:"Allows modifying form field data before it's shown in the Block Editor or output on the frontend."}),(0,a.jsx)("p",{children:"Useful if, for example, you want to ensure that all fields fit into a 2-column layout."}),(0,a.jsx)("p",{children:"Overrides any Block Editor changes!"}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\tadd_filter('es_forms_integrations_${e}_data', 'getIntegrationFilterData', 10, 2);\n\n\t\t\t/**\n\t\t\t * Manipulate form fields data before it is sent to the Block Editor.\n\t\t\t *\n\t\t\t * @param array<mixed> $data Form fields data.\n\t\t\t * @param string $formId Form ID.\n\t\t\t *\n\t\t\t * @return array<mixed>\n\t\t\t */\n\t\t\tfunction getIntegrationFilterData(array $data, string $formId): array\n\t\t\t{\n\t\t\t\tforeach ($data as $index => $field) {\n\t\t\t\t\t$component = $field['component'] ?? '';\n\n\t\t\t\t\tif (!$component) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t$name = $field["{$component}Name"] ?? '';\n\n\t\t\t\t\tif (!$name) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch ($name) {\n\t\t\t\t\t\tcase 'firstname':\n\t\t\t\t\t\tcase 'lastname':\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthMobile"] = 12;\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthLarge"] = 6;\n\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"] = array_merge(\n\t\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthMobile",\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthLarge",\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t`)})]})}function d(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Order filter"}),(0,a.jsx)("p",{children:"Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor."}),(0,a.jsxs)("p",{children:["Not all fields need to have an order defined. For example, you may want to make sure ",(0,a.jsx)("code",{children:"firstname"}),", ",(0,a.jsx)("code",{children:"lastname"})," and ",(0,a.jsx)("code",{children:"email"})," are displayed first, but other fields follow their Block editor order."]}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_order', 'getIntegrationOrder');\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Forces form field order for the provided fields. For other fields, Block editor order is used.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationOrder(): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t'firstname',\n\t\t\t\t\t\t\t'lastname',\n\t\t\t\t\t\t\t'email',\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t`)})]})}function c(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post ID filter"}),(0,a.jsx)("p",{children:"Allows updating item IDs sent to external integrations to which the form data is sent."}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_pre_post_id', 'getIntegrationPrePostId', 10, 3);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies integration item ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @param string $itemId Integration item ID.\n\t\t\t\t\t * @param array<mixed> $params Params to be sent to the integration.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @return array<mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostId(string $itemId, array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn $itemId;\n\t\t\t\t\t}\n\t\t\t\t`)})]})}function f(t){let{filter:e}=t,n="";if("mailer"===e)n="mailer system";else n="external integration";return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post parameters filter"}),(0,a.jsxs)("p",{children:["Allows modifying form field data before it's sent to ",n,". Useful if you want to make values derived from the sent data, or add new fields."]}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_pre_post_params', 'getIntegrationPrePostParams', 10, 2);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies form field data before it's sent to ${n}.\n\t\t\t\t\t *\n\t\t\t\t\t * @param array<string, mixed> $params Array of params.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string, mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostParams(array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\t$formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? '';\n\n\t\t\t\t\t\tif ($formSubmissionPageLt) {\n\t\t\t\t\t\t\t$params['ib-submission-source'] = [\n\t\t\t\t\t\t\t\t'name' => 'ib-submission-source',\n\t\t\t\t\t\t\t\t'value' => $formSubmissionPageLt,\n\t\t\t\t\t\t\t\t'type' => 'text',\n\t\t\t\t\t\t\t\t'internalType' => '',\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn $params;\n\t\t\t\t\t}\n\t\t\t\t`)})]})}},96616:(t,e,n)=>{function r(t){const e=t.split(/\n/g);for(;0===e[0]?.replace(/\s/g,"").length;)e.shift();for(;0===e[e.length-1]?.replace(/\s/g,"").length;)e.pop();const n=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>t.match(/^\s*/)?.[0]?.length??0)),r=Math.min(...n);return e.map((t=>t.slice(r))).join("\n")}n.d(e,{c:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/ae06c6f1.7982502d.js b/assets/js/ae06c6f1.7982502d.js deleted file mode 100644 index 64b696e7e..000000000 --- a/assets/js/ae06c6f1.7982502d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[86405],{34822:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>s,default:()=>c,frontMatter:()=>o,metadata:()=>l,toc:()=>f});var r=n(85893),i=n(11151),a=n(8122);const o={id:"additional-content",title:"Additional content"},s=void 0,l={id:"php/filters/block/rating/additional-content",title:"Additional content",description:"",source:"@site/forms/php/filters/block/rating/additional-content.mdx",sourceDirName:"php/filters/block/rating",slug:"/php/filters/block/rating/additional-content",permalink:"/forms/php/filters/block/rating/additional-content",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"additional-content",title:"Additional content"},sidebar:"forms",previous:{title:'Multi-step form "Next" button',permalink:"/forms/php/filters/block/step/component-next"},next:{title:"Allowed blocks",permalink:"/forms/php/filters/blocks/allowed-blocks"}},d={},f=[];function m(t){return(0,r.jsx)(a.F,{filter:"rating"})}function c(t={}){const{wrapper:e}={...(0,i.a)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(m,{...t})}):m()}},8122:(t,e,n)=>{n.d(e,{F:()=>s,k:()=>o});n(67294);var r=n(9286),i=n(61684),a=n(85893);function o(t){let{filter:e,onlyUse:n=["dataFilter","orderFilter","prePostIdFilter","prePostParamsFilter"]}=t;return(0,a.jsxs)(a.Fragment,{children:[n.includes("dataFilter")&&(0,a.jsx)(l,{filter:e}),n.includes("orderFilter")&&(0,a.jsx)(d,{filter:e}),n.includes("prePostIdFilter")&&(0,a.jsx)(f,{filter:e}),n.includes("prePostParamsFilter")&&(0,a.jsx)(m,{filter:e})]})}function s(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{children:"Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc."}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\tadd_filter('es_forms_block_"+e+"_additional_content', function(): string {\n\t\t\t\treturn '<custom-string>';\n\t\t\t})\n\t\t\t")})]})}function l(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Data filter"}),(0,a.jsx)("p",{children:"Allows modifying form field data before it's shown in the Block Editor or output on the frontend."}),(0,a.jsx)("p",{children:"Useful if, for example, you want to ensure that all fields fit into a 2-column layout."}),(0,a.jsx)("p",{children:"Overrides any Block Editor changes!"}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\tadd_filter('es_forms_integrations_"+e+'_data\', \'getIntegrationFilterData\', 10, 2);\n\n\t\t\t/**\n\t\t\t * Manipulate form fields data before it is sent to the Block Editor.\n\t\t\t *\n\t\t\t * @param array<mixed> $data Form fields data.\n\t\t\t * @param string $formId Form ID.\n\t\t\t *\n\t\t\t * @return array<mixed>\n\t\t\t */\n\t\t\tfunction getIntegrationFilterData(array $data, string $formId): array\n\t\t\t{\n\t\t\t\tforeach ($data as $index => $field) {\n\t\t\t\t\t$component = $field[\'component\'] ?? \'\';\n\n\t\t\t\t\tif (!$component) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t$name = $field["{$component}Name"] ?? \'\';\n\n\t\t\t\t\tif (!$name) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch ($name) {\n\t\t\t\t\t\tcase \'firstname\':\n\t\t\t\t\t\tcase \'lastname\':\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthMobile"] = 12;\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthLarge"] = 6;\n\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"] = array_merge(\n\t\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthMobile",\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthLarge",\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t')})]})}function d(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Order filter"}),(0,a.jsx)("p",{children:"Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor."}),(0,a.jsxs)("p",{children:["Not all fields need to have an order defined. For example, you may want to make sure ",(0,a.jsx)("code",{children:"firstname"}),", ",(0,a.jsx)("code",{children:"lastname"})," and ",(0,a.jsx)("code",{children:"email"})," are displayed first, but other fields follow their Block editor order."]}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_order', 'getIntegrationOrder');\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Forces form field order for the provided fields. For other fields, Block editor order is used.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationOrder(): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t'firstname',\n\t\t\t\t\t\t\t'lastname',\n\t\t\t\t\t\t\t'email',\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t")})]})}function f(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post ID filter"}),(0,a.jsx)("p",{children:"Allows updating item IDs sent to external integrations to which the form data is sent."}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_pre_post_id', 'getIntegrationPrePostId', 10, 3);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies integration item ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @param string $itemId Integration item ID.\n\t\t\t\t\t * @param array<mixed> $params Params to be sent to the integration.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @return array<mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostId(string $itemId, array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn $itemId;\n\t\t\t\t\t}\n\t\t\t\t")})]})}function m(t){let{filter:e}=t,n="";if("mailer"===e)n="mailer system";else n="external integration";return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post parameters filter"}),(0,a.jsxs)("p",{children:["Allows modifying form field data before it's sent to ",n,". Useful if you want to make values derived from the sent data, or add new fields."]}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_pre_post_params', 'getIntegrationPrePostParams', 10, 2);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies form field data before it's sent to "+n+".\n\t\t\t\t\t *\n\t\t\t\t\t * @param array<string, mixed> $params Array of params.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string, mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostParams(array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\t$formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? '';\n\n\t\t\t\t\t\tif ($formSubmissionPageLt) {\n\t\t\t\t\t\t\t$params['ib-submission-source'] = [\n\t\t\t\t\t\t\t\t'name' => 'ib-submission-source',\n\t\t\t\t\t\t\t\t'value' => $formSubmissionPageLt,\n\t\t\t\t\t\t\t\t'type' => 'text',\n\t\t\t\t\t\t\t\t'internalType' => '',\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn $params;\n\t\t\t\t\t}\n\t\t\t\t")})]})}},61684:(t,e,n)=>{function r(t){const e=t.split(/\n/g);for(;0===(null==(n=e[0])?void 0:n.replace(/\s/g,"").length);){var n;e.shift()}for(;0===(null==(r=e[e.length-1])?void 0:r.replace(/\s/g,"").length);){var r;e.pop()}const i=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>{var e,n;return null!=(e=null==(n=t.match(/^\s*/))||null==(n=n[0])?void 0:n.length)?e:0})),a=Math.min(...i);return e.map((t=>t.slice(a))).join("\n")}n.d(e,{p:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/ae5745cc.b543c111.js b/assets/js/ae5745cc.b543c111.js new file mode 100644 index 000000000..7715ede15 --- /dev/null +++ b/assets/js/ae5745cc.b543c111.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[56620],{98600:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>r,contentTitle:()=>i,default:()=>d,frontMatter:()=>a,metadata:()=>t,toc:()=>c});var l=s(17624),o=s(4552);const a={id:"writing-styles",title:"Writing Styles",sidebar_label:"Writing Styles"},i=void 0,t={id:"legacy/v5/basics/writing-styles",title:"Writing Styles",description:"docs-source",source:"@site/docs/legacy/v5/basics/writing-styles.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/writing-styles",permalink:"/docs/legacy/v5/basics/writing-styles",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"writing-styles",title:"Writing Styles",sidebar_label:"Writing Styles"},sidebar:"docs",previous:{title:"Global Settings",permalink:"/docs/legacy/v5/basics/global-settings"},next:{title:"Fonts",permalink:"/docs/legacy/v5/basics/fonts"}},r={},c=[{value:"Never use HEX color values in your files",id:"never-use-hex-color-values-in-your-files",level:3},{value:"Never use the actual color name as a variable name",id:"never-use-the-actual-color-name-as-a-variable-name",level:3},{value:"All external variables must go to a components map",id:"all-external-variables-must-go-to-a-components-map",level:3},{value:"Never mix multiple maps in a single component",id:"never-mix-multiple-maps-in-a-single-component",level:3},{value:"Where can I define global typography for all my blocks/components?",id:"where-can-i-define-global-typography-for-all-my-blockscomponents",level:3}];function h(e){const n={a:"a",blockquote:"blockquote",code:"code",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,o.M)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(n.p,{children:(0,l.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0",children:(0,l.jsx)(n.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,l.jsxs)(n.blockquote,{children:["\n",(0,l.jsxs)(n.p,{children:["This chapter is only relevant in setups that don't use CSS variables. If you are using CSS variables please skip to the ",(0,l.jsx)(n.a,{href:"blocks-styles",children:"Blocks Styles chapter"})," chapter."]}),"\n"]}),"\n",(0,l.jsx)(n.p,{children:"Everyone says that writing styles is easy and that is usually doesn't require a lot of thinking. But, like everything in programming, if you don't think about it, the problems add up, and you end up with a headache."}),"\n",(0,l.jsx)(n.p,{children:"Here are some of the recommendations that we use when writing our styles. It's also how we manage everything to be as modular as possible."}),"\n",(0,l.jsx)(n.h3,{id:"never-use-hex-color-values-in-your-files",children:"Never use HEX color values in your files"}),"\n",(0,l.jsx)(n.p,{children:"Like in Bootstrap or any other front-end framework, you should never use hex color values in multiple places. You should assign that hex value to a variable and use that variable all over. That way, if you ever need to change the color, simply change the value in one place and it will be consistently applied all over the project."}),"\n",(0,l.jsxs)(n.p,{children:["You can read more about defining your colors in the ",(0,l.jsx)(n.a,{href:"global-settings",children:"global settings"})," chapter."]}),"\n",(0,l.jsx)(n.h3,{id:"never-use-the-actual-color-name-as-a-variable-name",children:"Never use the actual color name as a variable name"}),"\n",(0,l.jsx)(n.p,{children:"You can name your variables whatever you like, but we recommend that you never use the actual color name as a variable name. It would be best if you used some generic variable name."}),"\n",(0,l.jsx)(n.p,{children:"For example, you can call blue color r2d2-color. With this approach, if your designer chooses to change the project's color scheme at any point, you only need to change one variable value and you're done."}),"\n",(0,l.jsxs)(n.p,{children:["We like to use ",(0,l.jsx)(n.a,{href:"https://chir.ag/projects/name-that-color",children:"this site"})," for our color names. Also, we recommend using simple names like:"]}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:["Cornflower Blue will be ",(0,l.jsx)(n.code,{children:"$base-corn-color"})," or ",(0,l.jsx)(n.code,{children:"$base-flower-color"})," name."]}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"all-external-variables-must-go-to-a-components-map",children:"All external variables must go to a components map"}),"\n",(0,l.jsx)(n.p,{children:"We use maps for a lot of stuff in our boilerplate. The reason is that:"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:"maps can contain multiple variables in one place,"}),"\n",(0,l.jsx)(n.li,{children:"you don't need to write multiple variables at the top,"}),"\n",(0,l.jsx)(n.li,{children:"you can nest functionalities,"}),"\n",(0,l.jsx)(n.li,{children:"you can have multiple values with the same name and just change the top-level map,"}),"\n",(0,l.jsx)(n.li,{children:"etc."}),"\n"]}),"\n",(0,l.jsxs)(n.p,{children:["We also have many helpers, which you can check in our ",(0,l.jsx)(n.a,{href:"/docs/basics/library",children:"SASS docs"}),"."]}),"\n",(0,l.jsx)(n.p,{children:"In the component map, you should only add things that you will reuse in your component."}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Examples:"})}),"\n",(0,l.jsx)(n.p,{children:"A simple variable in a map:"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-scss",children:"$social-links: (\n icon-color: global-settings(colors, black),\n);\n\n.social-links {\n color: map-get-strict($social-links, icon-color);\n}\n"})}),"\n",(0,l.jsx)(n.p,{children:"Nested variables in a map:"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-scss",children:"$social-links: (\n colors: (\n dark: global-settings(colors, black),\n light: global-settings(colors, white),\n ),\n sizes: (\n small: 10px,\n big: 20px,\n )\n);\n\n.social-links {\n color: map-get-deep($social-links, colors, dark);\n\n &--light {\n color: map-get-deep($social-links, colors, light);\n }\n\n &__sizes {\n font-size: map-get-deep($social-links, sizes, small);\n\n\n &--big {\n font-size: map-get-deep($social-links, sizes, big);\n }\n }\n}\n"})}),"\n",(0,l.jsx)(n.h3,{id:"never-mix-multiple-maps-in-a-single-component",children:"Never mix multiple maps in a single component"}),"\n",(0,l.jsx)(n.p,{children:"You want all your styles to be contained to a single component and not dependent on external components. Sometimes this can't be avoided."}),"\n",(0,l.jsx)(n.p,{children:"In that case, you should define a key in the component variable for the external map and define it like this:"}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Example:"})}),"\n",(0,l.jsxs)(n.p,{children:["External map in ",(0,l.jsx)(n.code,{children:"assets/styles/parts/utils/_z-index.scss"}),":"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-scss",children:"$zindex: (\n header: 100,\n drawer: 99,\n overlay: 98,\n);\n"})}),"\n",(0,l.jsx)(n.p,{children:"Your component:"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-scss",children:"$header: (\n index: map-get-strict($zindex, header),\n);\n\n.header {\n z-index: map-get-strict($header, index);\n}\n"})}),"\n",(0,l.jsx)(n.h3,{id:"where-can-i-define-global-typography-for-all-my-blockscomponents",children:"Where can I define global typography for all my blocks/components?"}),"\n",(0,l.jsx)(n.p,{children:"Well, nowhere. Try to move your way of thinking from Bootstrap or any other front-end framework where you define global typography in one place."}),"\n",(0,l.jsx)(n.p,{children:"Why is that? Because we use component-based development and you should think in that way. Each component is responsible for its own styles."}),"\n",(0,l.jsx)(n.p,{children:"You should define styles with all sizes, colors, and variations for the heading component and reuse that component wherever you need any kind of heading. The same applies to any other component. This is why you don't need global typography, styles, etc."}),"\n",(0,l.jsx)(n.p,{children:"Global styles and variables are only used for things you want to share across components (that should be reduced to a minimum)."})]})}function d(e={}){const{wrapper:n}={...(0,o.M)(),...e.components};return n?(0,l.jsx)(n,{...e,children:(0,l.jsx)(h,{...e})}):h(e)}},4552:(e,n,s)=>{s.d(n,{I:()=>t,M:()=>i});var l=s(11504);const o={},a=l.createContext(o);function i(e){const n=l.useContext(a);return l.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function t(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),l.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ae5745cc.ff7be3ee.js b/assets/js/ae5745cc.ff7be3ee.js deleted file mode 100644 index 06b4fa290..000000000 --- a/assets/js/ae5745cc.ff7be3ee.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[20505],{26588:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>r,contentTitle:()=>t,default:()=>d,frontMatter:()=>a,metadata:()=>i,toc:()=>c});var l=s(85893),o=s(11151);const a={id:"writing-styles",title:"Writing Styles",sidebar_label:"Writing Styles"},t=void 0,i={id:"legacy/v5/basics/writing-styles",title:"Writing Styles",description:"docs-source",source:"@site/docs/legacy/v5/basics/writing-styles.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/writing-styles",permalink:"/docs/legacy/v5/basics/writing-styles",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"writing-styles",title:"Writing Styles",sidebar_label:"Writing Styles"},sidebar:"docs",previous:{title:"Global Settings",permalink:"/docs/legacy/v5/basics/global-settings"},next:{title:"Fonts",permalink:"/docs/legacy/v5/basics/fonts"}},r={},c=[{value:"Never use HEX color values in your files",id:"never-use-hex-color-values-in-your-files",level:3},{value:"Never use the actual color name as a variable name",id:"never-use-the-actual-color-name-as-a-variable-name",level:3},{value:"All external variables must go to a components map",id:"all-external-variables-must-go-to-a-components-map",level:3},{value:"Never mix multiple maps in a single component",id:"never-mix-multiple-maps-in-a-single-component",level:3},{value:"Where can I define global typography for all my blocks/components?",id:"where-can-i-define-global-typography-for-all-my-blockscomponents",level:3}];function h(e){const n={a:"a",blockquote:"blockquote",code:"code",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,o.a)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(n.p,{children:(0,l.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0",children:(0,l.jsx)(n.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,l.jsxs)(n.blockquote,{children:["\n",(0,l.jsxs)(n.p,{children:["This chapter is only relevant in setups that don't use CSS variables. If you are using CSS variables please skip to the ",(0,l.jsx)(n.a,{href:"blocks-styles",children:"Blocks Styles chapter"})," chapter."]}),"\n"]}),"\n",(0,l.jsx)(n.p,{children:"Everyone says that writing styles is easy and that is usually doesn't require a lot of thinking. But, like everything in programming, if you don't think about it, the problems add up, and you end up with a headache."}),"\n",(0,l.jsx)(n.p,{children:"Here are some of the recommendations that we use when writing our styles. It's also how we manage everything to be as modular as possible."}),"\n",(0,l.jsx)(n.h3,{id:"never-use-hex-color-values-in-your-files",children:"Never use HEX color values in your files"}),"\n",(0,l.jsx)(n.p,{children:"Like in Bootstrap or any other front-end framework, you should never use hex color values in multiple places. You should assign that hex value to a variable and use that variable all over. That way, if you ever need to change the color, simply change the value in one place and it will be consistently applied all over the project."}),"\n",(0,l.jsxs)(n.p,{children:["You can read more about defining your colors in the ",(0,l.jsx)(n.a,{href:"global-settings",children:"global settings"})," chapter."]}),"\n",(0,l.jsx)(n.h3,{id:"never-use-the-actual-color-name-as-a-variable-name",children:"Never use the actual color name as a variable name"}),"\n",(0,l.jsx)(n.p,{children:"You can name your variables whatever you like, but we recommend that you never use the actual color name as a variable name. It would be best if you used some generic variable name."}),"\n",(0,l.jsx)(n.p,{children:"For example, you can call blue color r2d2-color. With this approach, if your designer chooses to change the project's color scheme at any point, you only need to change one variable value and you're done."}),"\n",(0,l.jsxs)(n.p,{children:["We like to use ",(0,l.jsx)(n.a,{href:"https://chir.ag/projects/name-that-color",children:"this site"})," for our color names. Also, we recommend using simple names like:"]}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:["Cornflower Blue will be ",(0,l.jsx)(n.code,{children:"$base-corn-color"})," or ",(0,l.jsx)(n.code,{children:"$base-flower-color"})," name."]}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"all-external-variables-must-go-to-a-components-map",children:"All external variables must go to a components map"}),"\n",(0,l.jsx)(n.p,{children:"We use maps for a lot of stuff in our boilerplate. The reason is that:"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:"maps can contain multiple variables in one place,"}),"\n",(0,l.jsx)(n.li,{children:"you don't need to write multiple variables at the top,"}),"\n",(0,l.jsx)(n.li,{children:"you can nest functionalities,"}),"\n",(0,l.jsx)(n.li,{children:"you can have multiple values with the same name and just change the top-level map,"}),"\n",(0,l.jsx)(n.li,{children:"etc."}),"\n"]}),"\n",(0,l.jsxs)(n.p,{children:["We also have many helpers, which you can check in our ",(0,l.jsx)(n.a,{href:"/sass",children:"SASS docs"}),"."]}),"\n",(0,l.jsx)(n.p,{children:"In the component map, you should only add things that you will reuse in your component."}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Examples:"})}),"\n",(0,l.jsx)(n.p,{children:"A simple variable in a map:"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-scss",children:"$social-links: (\n icon-color: global-settings(colors, black),\n);\n\n.social-links {\n color: map-get-strict($social-links, icon-color);\n}\n"})}),"\n",(0,l.jsx)(n.p,{children:"Nested variables in a map:"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-scss",children:"$social-links: (\n colors: (\n dark: global-settings(colors, black),\n light: global-settings(colors, white),\n ),\n sizes: (\n small: 10px,\n big: 20px,\n )\n);\n\n.social-links {\n color: map-get-deep($social-links, colors, dark);\n\n &--light {\n color: map-get-deep($social-links, colors, light);\n }\n\n &__sizes {\n font-size: map-get-deep($social-links, sizes, small);\n\n\n &--big {\n font-size: map-get-deep($social-links, sizes, big);\n }\n }\n}\n"})}),"\n",(0,l.jsx)(n.h3,{id:"never-mix-multiple-maps-in-a-single-component",children:"Never mix multiple maps in a single component"}),"\n",(0,l.jsx)(n.p,{children:"You want all your styles to be contained to a single component and not dependent on external components. Sometimes this can't be avoided."}),"\n",(0,l.jsx)(n.p,{children:"In that case, you should define a key in the component variable for the external map and define it like this:"}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Example:"})}),"\n",(0,l.jsxs)(n.p,{children:["External map in ",(0,l.jsx)(n.code,{children:"assets/styles/parts/utils/_z-index.scss"}),":"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-scss",children:"$zindex: (\n header: 100,\n drawer: 99,\n overlay: 98,\n);\n"})}),"\n",(0,l.jsx)(n.p,{children:"Your component:"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-scss",children:"$header: (\n index: map-get-strict($zindex, header),\n);\n\n.header {\n z-index: map-get-strict($header, index);\n}\n"})}),"\n",(0,l.jsx)(n.h3,{id:"where-can-i-define-global-typography-for-all-my-blockscomponents",children:"Where can I define global typography for all my blocks/components?"}),"\n",(0,l.jsx)(n.p,{children:"Well, nowhere. Try to move your way of thinking from Bootstrap or any other front-end framework where you define global typography in one place."}),"\n",(0,l.jsx)(n.p,{children:"Why is that? Because we use component-based development and you should think in that way. Each component is responsible for its own styles."}),"\n",(0,l.jsx)(n.p,{children:"You should define styles with all sizes, colors, and variations for the heading component and reuse that component wherever you need any kind of heading. The same applies to any other component. This is why you don't need global typography, styles, etc."}),"\n",(0,l.jsx)(n.p,{children:"Global styles and variables are only used for things you want to share across components (that should be reduced to a minimum)."})]})}function d(e={}){const{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,l.jsx)(n,{...e,children:(0,l.jsx)(h,{...e})}):h(e)}},11151:(e,n,s)=>{s.d(n,{Z:()=>i,a:()=>t});var l=s(67294);const o={},a=l.createContext(o);function t(e){const n=l.useContext(a);return l.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:t(e.components),l.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ae8e07b1.0095b69d.js b/assets/js/ae8e07b1.0095b69d.js new file mode 100644 index 000000000..126e686c0 --- /dev/null +++ b/assets/js/ae8e07b1.0095b69d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[46740],{59992: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}],"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":"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":"link","label":"WP-CLI","href":"/forms/php/wp-cli","docId":"php/wp-cli","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}],"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":"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}],"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/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/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/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/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/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/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/ae8e07b1.f9fc9b60.js b/assets/js/ae8e07b1.f9fc9b60.js deleted file mode 100644 index 53cb113e2..000000000 --- a/assets/js/ae8e07b1.f9fc9b60.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[85219],{12160: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}],"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":"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":"link","label":"WP-CLI","href":"/forms/php/wp-cli","docId":"php/wp-cli","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}],"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":"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}],"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/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/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/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/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/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/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/aebfde4b.bfdfc943.js b/assets/js/aebfde4b.bfdfc943.js new file mode 100644 index 000000000..dfb663265 --- /dev/null +++ b/assets/js/aebfde4b.bfdfc943.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[84560],{3668:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>d,frontMatter:()=>i,metadata:()=>c,toc:()=>a});var t=s(17624),o=s(4552);const i={id:"block-manifest",title:"Block Manifest"},r=void 0,c={id:"legacy/v7/basics/block-manifest",title:"Block Manifest",description:"docs-source",source:"@site/docs/legacy/v7/basics/block-manifest.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/block-manifest",permalink:"/docs/legacy/v7/basics/block-manifest",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"block-manifest",title:"Block Manifest"},sidebar:"docs",previous:{title:"Component Structure",permalink:"/docs/legacy/v7/basics/blocks-component-structure"},next:{title:"Component Manifest",permalink:"/docs/legacy/v7/basics/blocks-component-manifest"}},l={},a=[{value:"Example",id:"example",level:3},{value:"namespace",id:"namespace",level:3},{value:"icon.background & icon.foreground",id:"iconbackground--iconforeground",level:3},{value:"example",id:"example-1",level:3},{value:"attributes",id:"attributes",level:3},{value:"hasInnerBlocks",id:"hasinnerblocks",level:3},{value:"components",id:"components",level:3},{value:"responsiveAttributes",id:"responsiveattributes",level:3},{value:"variables",id:"variables",level:3},{value:"options",id:"options",level:3},{value:"The power of manifest.json",id:"the-power-of-manifestjson",level:2}];function h(e){const n={a:"a",blockquote:"blockquote",code:"code",em:"em",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,o.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/",children:(0,t.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsxs)(n.p,{children:["This file contains all the configuration required for a block to work. It's used in WordPress ",(0,t.jsx)(n.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-registration/",children:(0,t.jsx)(n.code,{children:"registerBlockType"})})," method to register a block. Using ",(0,t.jsx)(n.code,{children:"manifest.json"}),", we can provide a configuration in JavaScript and PHP part of the block in one file."]}),"\n",(0,t.jsx)(n.h3,{id:"example",children:"Example"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-json",children:'{\n "namespace": "custom-namespace",\n "blockName": "heading",\n "title": "Heading",\n "description": "Heading block with custom settings.",\n "category": "common",\n "icon": {\n "background": "#900",\n "foreground": "#500",\n "src": "heading"\n },\n "keywords": [\n "Header",\n "Title"\n ],\n "example": {\n "attributes": {\n "content": "New content",\n "level": 2\n }\n },\n "attributes": {\n "content": {\n "type": "string"\n },\n "level": {\n "type": "number",\n "default": 2\n }\n },\n "hasInnerBlocks": false,\n "components": {},\n "responsiveAttributes": {},\n "variables": {},\n "options": {}\n}\n'})}),"\n",(0,t.jsxs)(n.p,{children:["Most of the keys are the same as the ",(0,t.jsx)(n.code,{children:"registerBlockType"})," method. If you can't find the description here, please check the ",(0,t.jsx)(n.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-registration/",children:"official documentation"}),", but we also have some custom features here:"]}),"\n",(0,t.jsx)(n.h3,{id:"namespace",children:"namespace"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.em,{children:"native feature"})}),"\n",(0,t.jsx)(n.p,{children:"The block's namespace is set globally in the global manifest for all your custom blocks, but you can override them on each block if you need to."}),"\n",(0,t.jsx)(n.h3,{id:"iconbackground--iconforeground",children:"icon.background & icon.foreground"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.em,{children:"native feature"})}),"\n",(0,t.jsx)(n.p,{children:"The icon background and foreground is set globally in the global manifest for all your custom blocks, but you can override them on each block if you need to."}),"\n",(0,t.jsx)(n.h3,{id:"example-1",children:"example"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.em,{children:"native feature"})}),"\n",(0,t.jsxs)(n.p,{children:["This key provides you the ability to give an example mockup of your attributes. When you try to add a block to the editor using the button in the main toolbar, you will have a preview image on the right. The image generated here will actually be a rendered block with the attributes from the example key. We also use it in the storybook to mock attributes. More on this in the ",(0,t.jsx)(n.a,{href:"blocks-storybook",children:"storybook chapter"}),"."]}),"\n",(0,t.jsx)(n.h3,{id:"attributes",children:"attributes"}),"\n",(0,t.jsxs)(n.p,{children:["Attributes key is an object of attributes where you define and set up default values for a block. These attributes are then passed in the editor as props, and the PHP view part in the ",(0,t.jsx)(n.code,{children:"$attributes"})," variable.\nWe are using the same structure as described in the ",(0,t.jsx)(n.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-attributes/",children:"block editor documentation"}),". For more details please check ",(0,t.jsx)(n.a,{href:"blocks-attributes",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(n.h3,{id:"hasinnerblocks",children:"hasInnerBlocks"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"default: false"})}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.em,{children:"custom feature"})}),"\n",(0,t.jsxs)(n.p,{children:["If the ",(0,t.jsx)(n.code,{children:"hasInnerBlocks"})," key is set to true, the block's ",(0,t.jsx)(n.code,{children:"save"})," method for inner blocks will be used. This method is used when the block has ",(0,t.jsx)(n.a,{href:"https://github.com/WordPress/gutenberg/tree/master/packages/block-editor/src/components/inner-blocks",children:(0,t.jsx)(n.code,{children:"InnerBlocks"})}),". In the PHP view file, you will have the ",(0,t.jsx)(n.code,{children:"$innerBlockContent"})," variable available. Here is an example of what happens in the back:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-js",children:" save = () => createElement(InnerBlocks.Content);\n"})}),"\n",(0,t.jsx)(n.h3,{id:"components",children:"components"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.em,{children:"custom feature"})}),"\n",(0,t.jsxs)(n.p,{children:["This key gives you the ability to use component attributes in your block without mapping all the component's attributes every time. Please check ",(0,t.jsx)(n.a,{href:"blocks-component-in-block",children:"this chapter"})," for more details."]}),"\n",(0,t.jsx)(n.h3,{id:"responsiveattributes",children:"responsiveAttributes"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.em,{children:"custom feature"})}),"\n",(0,t.jsxs)(n.p,{children:["This key is used to combine multiple attributes with the similar name for the responsive breakpoints. Please check ",(0,t.jsx)(n.a,{href:"blocks-styles",children:"this chapter"})," for more details."]}),"\n",(0,t.jsx)(n.h3,{id:"variables",children:"variables"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.em,{children:"custom feature"})}),"\n",(0,t.jsxs)(n.p,{children:["This key is used to provide output for CSS variables. Please check ",(0,t.jsx)(n.a,{href:"blocks-styles",children:"this chapter"})," for more details."]}),"\n",(0,t.jsx)(n.h3,{id:"options",children:"options"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.em,{children:"custom feature"})}),"\n",(0,t.jsxs)(n.p,{children:["This key is used to provide options used in the Block Editor options for components like SelectControl or RangeControl. With this key, you can pass options and change them depending on the component used. Please check ",(0,t.jsx)(n.a,{href:"blocks-component-in-block",children:"this chapter"})," for more details."]}),"\n",(0,t.jsx)(n.h2,{id:"the-power-of-manifestjson",children:"The power of manifest.json"}),"\n",(0,t.jsxs)(n.p,{children:["As described before we use ",(0,t.jsx)(n.code,{children:"manifest.json"})," to share stuff across PHP / JS / SCSS so you can easily see its power."]}),"\n",(0,t.jsxs)(n.p,{children:["For example, you can use ",(0,t.jsx)(n.code,{children:"manifest.json"})," to store SVG files that you will use on the front-end (PHP) and in the editor / backend (JS) files. Or you can store block options so it is easier to find and add items."]}),"\n",(0,t.jsx)(n.p,{children:"Let's see how you would share SVG icon across multiple languages:"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"manifest.json"})}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:["Note: because this is a ",(0,t.jsx)(n.code,{children:"JSON"})," file you must convert all double quotes to single because otherwise, you will get a fatal error."]}),"\n"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-json",children:"{\n ...\n \"icon\": \"<svg xmlns='http://www.w3.org/2000/svg' width='7' height='12' viewBox='0 0 320 512'><path fill='currentColor' d='M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z'></path></svg>\",\n ...\n}\n"})}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"block-name.php"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"$manifest = Components::getManifest(__DIR__);\n\necho wp_kses_post($manifest['icon']);\n"})}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"block-name-editor.js"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-jsx",children:"import manifest from 'manifest.json';\n\n<span dangerouslySetInnerHTML={{ __html: manifest.icon }}></span>\n"})}),"\n",(0,t.jsx)(n.p,{children:"As you can see, you can share anything this way. Here are some additional examples:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/Blocks/components/social-links/manifest.json",children:"Social Links"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/Blocks/components/button/manifest.json",children:"Button"})}),"\n"]})]})}function d(e={}){const{wrapper:n}={...(0,o.M)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(h,{...e})}):h(e)}},4552:(e,n,s)=>{s.d(n,{I:()=>c,M:()=>r});var t=s(11504);const o={},i=t.createContext(o);function r(e){const n=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),t.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/aebfde4b.f94a8d77.js b/assets/js/aebfde4b.f94a8d77.js deleted file mode 100644 index a8f98d9ca..000000000 --- a/assets/js/aebfde4b.f94a8d77.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[48472],{15305:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>d,frontMatter:()=>i,metadata:()=>c,toc:()=>a});var t=s(85893),o=s(11151);const i={id:"block-manifest",title:"Block Manifest"},r=void 0,c={id:"legacy/v7/basics/block-manifest",title:"Block Manifest",description:"docs-source",source:"@site/docs/legacy/v7/basics/block-manifest.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/block-manifest",permalink:"/docs/legacy/v7/basics/block-manifest",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"block-manifest",title:"Block Manifest"},sidebar:"docs",previous:{title:"Component Structure",permalink:"/docs/legacy/v7/basics/blocks-component-structure"},next:{title:"Component Manifest",permalink:"/docs/legacy/v7/basics/blocks-component-manifest"}},l={},a=[{value:"Example",id:"example",level:3},{value:"namespace",id:"namespace",level:3},{value:"icon.background & icon.foreground",id:"iconbackground--iconforeground",level:3},{value:"example",id:"example-1",level:3},{value:"attributes",id:"attributes",level:3},{value:"hasInnerBlocks",id:"hasinnerblocks",level:3},{value:"components",id:"components",level:3},{value:"responsiveAttributes",id:"responsiveattributes",level:3},{value:"variables",id:"variables",level:3},{value:"options",id:"options",level:3},{value:"The power of manifest.json",id:"the-power-of-manifestjson",level:2}];function h(e){const n={a:"a",blockquote:"blockquote",code:"code",em:"em",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,o.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/",children:(0,t.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsxs)(n.p,{children:["This file contains all the configuration required for a block to work. It's used in WordPress ",(0,t.jsx)(n.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-registration/",children:(0,t.jsx)(n.code,{children:"registerBlockType"})})," method to register a block. Using ",(0,t.jsx)(n.code,{children:"manifest.json"}),", we can provide a configuration in JavaScript and PHP part of the block in one file."]}),"\n",(0,t.jsx)(n.h3,{id:"example",children:"Example"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-json",children:'{\n "namespace": "custom-namespace",\n "blockName": "heading",\n "title": "Heading",\n "description": "Heading block with custom settings.",\n "category": "common",\n "icon": {\n "background": "#900",\n "foreground": "#500",\n "src": "heading"\n },\n "keywords": [\n "Header",\n "Title"\n ],\n "example": {\n "attributes": {\n "content": "New content",\n "level": 2\n }\n },\n "attributes": {\n "content": {\n "type": "string"\n },\n "level": {\n "type": "number",\n "default": 2\n }\n },\n "hasInnerBlocks": false,\n "components": {},\n "responsiveAttributes": {},\n "variables": {},\n "options": {}\n}\n'})}),"\n",(0,t.jsxs)(n.p,{children:["Most of the keys are the same as the ",(0,t.jsx)(n.code,{children:"registerBlockType"})," method. If you can't find the description here, please check the ",(0,t.jsx)(n.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-registration/",children:"official documentation"}),", but we also have some custom features here:"]}),"\n",(0,t.jsx)(n.h3,{id:"namespace",children:"namespace"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.em,{children:"native feature"})}),"\n",(0,t.jsx)(n.p,{children:"The block's namespace is set globally in the global manifest for all your custom blocks, but you can override them on each block if you need to."}),"\n",(0,t.jsx)(n.h3,{id:"iconbackground--iconforeground",children:"icon.background & icon.foreground"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.em,{children:"native feature"})}),"\n",(0,t.jsx)(n.p,{children:"The icon background and foreground is set globally in the global manifest for all your custom blocks, but you can override them on each block if you need to."}),"\n",(0,t.jsx)(n.h3,{id:"example-1",children:"example"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.em,{children:"native feature"})}),"\n",(0,t.jsxs)(n.p,{children:["This key provides you the ability to give an example mockup of your attributes. When you try to add a block to the editor using the button in the main toolbar, you will have a preview image on the right. The image generated here will actually be a rendered block with the attributes from the example key. We also use it in the storybook to mock attributes. More on this in the ",(0,t.jsx)(n.a,{href:"blocks-storybook",children:"storybook chapter"}),"."]}),"\n",(0,t.jsx)(n.h3,{id:"attributes",children:"attributes"}),"\n",(0,t.jsxs)(n.p,{children:["Attributes key is an object of attributes where you define and set up default values for a block. These attributes are then passed in the editor as props, and the PHP view part in the ",(0,t.jsx)(n.code,{children:"$attributes"})," variable.\nWe are using the same structure as described in the ",(0,t.jsx)(n.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-attributes/",children:"block editor documentation"}),". For more details please check ",(0,t.jsx)(n.a,{href:"blocks-attributes",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(n.h3,{id:"hasinnerblocks",children:"hasInnerBlocks"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"default: false"})}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.em,{children:"custom feature"})}),"\n",(0,t.jsxs)(n.p,{children:["If the ",(0,t.jsx)(n.code,{children:"hasInnerBlocks"})," key is set to true, the block's ",(0,t.jsx)(n.code,{children:"save"})," method for inner blocks will be used. This method is used when the block has ",(0,t.jsx)(n.a,{href:"https://github.com/WordPress/gutenberg/tree/master/packages/block-editor/src/components/inner-blocks",children:(0,t.jsx)(n.code,{children:"InnerBlocks"})}),". In the PHP view file, you will have the ",(0,t.jsx)(n.code,{children:"$innerBlockContent"})," variable available. Here is an example of what happens in the back:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-js",children:" save = () => createElement(InnerBlocks.Content);\n"})}),"\n",(0,t.jsx)(n.h3,{id:"components",children:"components"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.em,{children:"custom feature"})}),"\n",(0,t.jsxs)(n.p,{children:["This key gives you the ability to use component attributes in your block without mapping all the component's attributes every time. Please check ",(0,t.jsx)(n.a,{href:"blocks-component-in-block",children:"this chapter"})," for more details."]}),"\n",(0,t.jsx)(n.h3,{id:"responsiveattributes",children:"responsiveAttributes"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.em,{children:"custom feature"})}),"\n",(0,t.jsxs)(n.p,{children:["This key is used to combine multiple attributes with the similar name for the responsive breakpoints. Please check ",(0,t.jsx)(n.a,{href:"blocks-styles",children:"this chapter"})," for more details."]}),"\n",(0,t.jsx)(n.h3,{id:"variables",children:"variables"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.em,{children:"custom feature"})}),"\n",(0,t.jsxs)(n.p,{children:["This key is used to provide output for CSS variables. Please check ",(0,t.jsx)(n.a,{href:"blocks-styles",children:"this chapter"})," for more details."]}),"\n",(0,t.jsx)(n.h3,{id:"options",children:"options"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.em,{children:"custom feature"})}),"\n",(0,t.jsxs)(n.p,{children:["This key is used to provide options used in the Block Editor options for components like SelectControl or RangeControl. With this key, you can pass options and change them depending on the component used. Please check ",(0,t.jsx)(n.a,{href:"blocks-component-in-block",children:"this chapter"})," for more details."]}),"\n",(0,t.jsx)(n.h2,{id:"the-power-of-manifestjson",children:"The power of manifest.json"}),"\n",(0,t.jsxs)(n.p,{children:["As described before we use ",(0,t.jsx)(n.code,{children:"manifest.json"})," to share stuff across PHP / JS / SCSS so you can easily see its power."]}),"\n",(0,t.jsxs)(n.p,{children:["For example, you can use ",(0,t.jsx)(n.code,{children:"manifest.json"})," to store SVG files that you will use on the front-end (PHP) and in the editor / backend (JS) files. Or you can store block options so it is easier to find and add items."]}),"\n",(0,t.jsx)(n.p,{children:"Let's see how you would share SVG icon across multiple languages:"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"manifest.json"})}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:["Note: because this is a ",(0,t.jsx)(n.code,{children:"JSON"})," file you must convert all double quotes to single because otherwise, you will get a fatal error."]}),"\n"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-json",children:"{\n ...\n \"icon\": \"<svg xmlns='http://www.w3.org/2000/svg' width='7' height='12' viewBox='0 0 320 512'><path fill='currentColor' d='M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z'></path></svg>\",\n ...\n}\n"})}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"block-name.php"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"$manifest = Components::getManifest(__DIR__);\n\necho wp_kses_post($manifest['icon']);\n"})}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"block-name-editor.js"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-jsx",children:"import manifest from 'manifest.json';\n\n<span dangerouslySetInnerHTML={{ __html: manifest.icon }}></span>\n"})}),"\n",(0,t.jsx)(n.p,{children:"As you can see, you can share anything this way. Here are some additional examples:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/Blocks/components/social-links/manifest.json",children:"Social Links"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/Blocks/components/button/manifest.json",children:"Button"})}),"\n"]})]})}function d(e={}){const{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(h,{...e})}):h(e)}},11151:(e,n,s)=>{s.d(n,{Z:()=>c,a:()=>r});var t=s(67294);const o={},i=t.createContext(o);function r(e){const n=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),t.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/aee4c48a.40bc6f9c.js b/assets/js/aee4c48a.40bc6f9c.js new file mode 100644 index 000000000..b9e6a68a4 --- /dev/null +++ b/assets/js/aee4c48a.40bc6f9c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[22100],{77612:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>s,default:()=>u,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var i=t(17624),r=t(4552);const o={id:"workable",title:"Workable"},s=void 0,l={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.",source:"@site/forms/integrations/workable.md",sourceDirName:"integrations",slug:"/integrations/workable",permalink:"/forms/integrations/workable",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"workable",title:"Workable"},sidebar:"forms",previous:{title:"Moments",permalink:"/forms/integrations/moments"},next:{title:"Pipedrive",permalink:"/forms/integrations/pipedrive"}},a={},c=[{value:"Website",id:"website",level:3},{value:"API Version",id:"api-version",level:3},{value:"API Documentation",id:"api-documentation",level:3},{value:"Integration type",id:"integration-type",level:3},{value:"Supported fields:",id:"supported-fields",level:3}];function d(e){const n={a:"a",h3:"h3",li:"li",p:"p",ul:"ul",...(0,r.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:"Workable is an sourcing automation tool to help hiring teams find, reach and engage top talent quickly and effectively."}),"\n",(0,i.jsx)(n.h3,{id:"website",children:"Website"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.workable.com/",children:"Visit website"})}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"api-version",children:"API Version"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"V1"}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"api-documentation",children:"API Documentation"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://workable.readme.io/reference/generate-an-access-token",children:"Documentation"})}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"integration-type",children:"Integration type"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Form builder provided by the service."}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"supported-fields",children:"Supported fields:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"All"}),"\n"]})]})}function u(e={}){const{wrapper:n}={...(0,r.M)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},4552:(e,n,t)=>{t.d(n,{I:()=>l,M:()=>s});var i=t(11504);const r={},o=i.createContext(r);function s(e){const n=i.useContext(o);return i.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(r):e.components||r:s(e.components),i.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/aee4c48a.539deb79.js b/assets/js/aee4c48a.539deb79.js deleted file mode 100644 index ad29f0e1c..000000000 --- a/assets/js/aee4c48a.539deb79.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[73570],{93267:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>s,default:()=>u,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var i=t(85893),r=t(11151);const o={id:"workable",title:"Workable"},s=void 0,l={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.",source:"@site/forms/integrations/workable.md",sourceDirName:"integrations",slug:"/integrations/workable",permalink:"/forms/integrations/workable",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"workable",title:"Workable"},sidebar:"forms",previous:{title:"Moments",permalink:"/forms/integrations/moments"},next:{title:"Pipedrive",permalink:"/forms/integrations/pipedrive"}},a={},c=[{value:"Website",id:"website",level:3},{value:"API Version",id:"api-version",level:3},{value:"API Documentation",id:"api-documentation",level:3},{value:"Integration type",id:"integration-type",level:3},{value:"Supported fields:",id:"supported-fields",level:3}];function d(e){const n={a:"a",h3:"h3",li:"li",p:"p",ul:"ul",...(0,r.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:"Workable is an sourcing automation tool to help hiring teams find, reach and engage top talent quickly and effectively."}),"\n",(0,i.jsx)(n.h3,{id:"website",children:"Website"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.workable.com/",children:"Visit website"})}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"api-version",children:"API Version"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"V1"}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"api-documentation",children:"API Documentation"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://workable.readme.io/reference/generate-an-access-token",children:"Documentation"})}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"integration-type",children:"Integration type"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Form builder provided by the service."}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"supported-fields",children:"Supported fields:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"All"}),"\n"]})]})}function u(e={}){const{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},11151:(e,n,t)=>{t.d(n,{Z:()=>l,a:()=>s});var i=t(67294);const r={},o=i.createContext(r);function s(e){const n=i.useContext(o);return i.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(r):e.components||r:s(e.components),i.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/af09cb5f.938f0905.js b/assets/js/af09cb5f.938f0905.js new file mode 100644 index 000000000..c331c9a53 --- /dev/null +++ b/assets/js/af09cb5f.938f0905.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[29730],{26804:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>i,default:()=>c,frontMatter:()=>r,metadata:()=>a,toc:()=>h});var s=t(17624),o=t(4552);const r={id:"greenhouse",title:"Greenhouse"},i=void 0,a={id:"php/global-variables/integrations/greenhouse",title:"Greenhouse",description:"ESAPIKEY_GREENHOUSE",source:"@site/forms/php/global-variables/integrations/greenhouse.md",sourceDirName:"php/global-variables/integrations",slug:"/php/global-variables/integrations/greenhouse",permalink:"/forms/php/global-variables/integrations/greenhouse",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"greenhouse",title:"Greenhouse"},sidebar:"forms",previous:{title:"Goodbits",permalink:"/forms/php/global-variables/integrations/goodbits"},next:{title:"Hubspot",permalink:"/forms/php/global-variables/integrations/hubspot"}},l={},h=[{value:"ES_API_KEY_GREENHOUSE",id:"es_api_key_greenhouse",level:3},{value:"ES_BOARD_TOKEN_GREENHOUSE",id:"es_board_token_greenhouse",level:3}];function p(e){const n={code:"code",h3:"h3",p:"p",pre:"pre",...(0,o.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h3,{id:"es_api_key_greenhouse",children:"ES_API_KEY_GREENHOUSE"}),"\n",(0,s.jsx)(n.p,{children:"This variable will set the Greenhouse integration API key."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-php",children:"define('ES_API_KEY_GREENHOUSE', '<api-key>');\n"})}),"\n",(0,s.jsx)(n.h3,{id:"es_board_token_greenhouse",children:"ES_BOARD_TOKEN_GREENHOUSE"}),"\n",(0,s.jsx)(n.p,{children:"This variable will set Greenhouse integration board token key."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-php",children:"define('ES_BOARD_TOKEN_GREENHOUSE', '<board-token>');\n"})})]})}function c(e={}){const{wrapper:n}={...(0,o.M)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(p,{...e})}):p(e)}},4552:(e,n,t)=>{t.d(n,{I:()=>a,M:()=>i});var s=t(11504);const o={},r=s.createContext(o);function i(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/af09cb5f.ff5ef31d.js b/assets/js/af09cb5f.ff5ef31d.js deleted file mode 100644 index 3a74bc598..000000000 --- a/assets/js/af09cb5f.ff5ef31d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[40988],{52600:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>i,default:()=>c,frontMatter:()=>r,metadata:()=>a,toc:()=>h});var s=t(85893),o=t(11151);const r={id:"greenhouse",title:"Greenhouse"},i=void 0,a={id:"php/global-variables/integrations/greenhouse",title:"Greenhouse",description:"ESAPIKEY_GREENHOUSE",source:"@site/forms/php/global-variables/integrations/greenhouse.md",sourceDirName:"php/global-variables/integrations",slug:"/php/global-variables/integrations/greenhouse",permalink:"/forms/php/global-variables/integrations/greenhouse",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"greenhouse",title:"Greenhouse"},sidebar:"forms",previous:{title:"Goodbits",permalink:"/forms/php/global-variables/integrations/goodbits"},next:{title:"Hubspot",permalink:"/forms/php/global-variables/integrations/hubspot"}},l={},h=[{value:"ES_API_KEY_GREENHOUSE",id:"es_api_key_greenhouse",level:3},{value:"ES_BOARD_TOKEN_GREENHOUSE",id:"es_board_token_greenhouse",level:3}];function p(e){const n={code:"code",h3:"h3",p:"p",pre:"pre",...(0,o.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h3,{id:"es_api_key_greenhouse",children:"ES_API_KEY_GREENHOUSE"}),"\n",(0,s.jsx)(n.p,{children:"This variable will set the Greenhouse integration API key."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-php",children:"define('ES_API_KEY_GREENHOUSE', '<api-key>');\n"})}),"\n",(0,s.jsx)(n.h3,{id:"es_board_token_greenhouse",children:"ES_BOARD_TOKEN_GREENHOUSE"}),"\n",(0,s.jsx)(n.p,{children:"This variable will set Greenhouse integration board token key."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-php",children:"define('ES_BOARD_TOKEN_GREENHOUSE', '<board-token>');\n"})})]})}function c(e={}){const{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(p,{...e})}):p(e)}},11151:(e,n,t)=>{t.d(n,{Z:()=>a,a:()=>i});var s=t(67294);const o={},r=s.createContext(o);function i(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/af8ed05f.a37496c9.js b/assets/js/af8ed05f.a37496c9.js new file mode 100644 index 000000000..5055549d8 --- /dev/null +++ b/assets/js/af8ed05f.a37496c9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[47496],{79756:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>s,default:()=>m,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var r=n(17624),i=n(4552),a=n(80148);const o={id:"additional-content",title:"Additional content"},s=void 0,l={id:"php/filters/block/select/additional-content",title:"Additional content",description:"",source:"@site/forms/php/filters/block/select/additional-content.mdx",sourceDirName:"php/filters/block/select",slug:"/php/filters/block/select/additional-content",permalink:"/forms/php/filters/block/select/additional-content",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"additional-content",title:"Additional content"},sidebar:"forms",previous:{title:"Additional content",permalink:"/forms/php/filters/block/textarea/additional-content"},next:{title:"Uploaded item remove button label",permalink:"/forms/php/filters/block/file/preview-remove-label"}},d={},c=[];function f(t){return(0,r.jsx)(a.g,{filter:"select"})}function m(t={}){const{wrapper:e}={...(0,i.M)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(f,{...t})}):f()}},80148:(t,e,n)=>{n.d(e,{g:()=>s,y:()=>o});n(11504);var r=n(1608),i=n(96616),a=n(17624);function o(t){let{filter:e,onlyUse:n=["dataFilter","orderFilter","prePostIdFilter","prePostParamsFilter"]}=t;return(0,a.jsxs)(a.Fragment,{children:[n.includes("dataFilter")&&(0,a.jsx)(l,{filter:e}),n.includes("orderFilter")&&(0,a.jsx)(d,{filter:e}),n.includes("prePostIdFilter")&&(0,a.jsx)(c,{filter:e}),n.includes("prePostParamsFilter")&&(0,a.jsx)(f,{filter:e})]})}function s(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{children:"Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc."}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\tadd_filter('es_forms_block_${e}_additional_content', function(): string {\n\t\t\t\treturn '<custom-string>';\n\t\t\t})\n\t\t\t`)})]})}function l(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Data filter"}),(0,a.jsx)("p",{children:"Allows modifying form field data before it's shown in the Block Editor or output on the frontend."}),(0,a.jsx)("p",{children:"Useful if, for example, you want to ensure that all fields fit into a 2-column layout."}),(0,a.jsx)("p",{children:"Overrides any Block Editor changes!"}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\tadd_filter('es_forms_integrations_${e}_data', 'getIntegrationFilterData', 10, 2);\n\n\t\t\t/**\n\t\t\t * Manipulate form fields data before it is sent to the Block Editor.\n\t\t\t *\n\t\t\t * @param array<mixed> $data Form fields data.\n\t\t\t * @param string $formId Form ID.\n\t\t\t *\n\t\t\t * @return array<mixed>\n\t\t\t */\n\t\t\tfunction getIntegrationFilterData(array $data, string $formId): array\n\t\t\t{\n\t\t\t\tforeach ($data as $index => $field) {\n\t\t\t\t\t$component = $field['component'] ?? '';\n\n\t\t\t\t\tif (!$component) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t$name = $field["{$component}Name"] ?? '';\n\n\t\t\t\t\tif (!$name) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch ($name) {\n\t\t\t\t\t\tcase 'firstname':\n\t\t\t\t\t\tcase 'lastname':\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthMobile"] = 12;\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthLarge"] = 6;\n\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"] = array_merge(\n\t\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthMobile",\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthLarge",\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t`)})]})}function d(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Order filter"}),(0,a.jsx)("p",{children:"Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor."}),(0,a.jsxs)("p",{children:["Not all fields need to have an order defined. For example, you may want to make sure ",(0,a.jsx)("code",{children:"firstname"}),", ",(0,a.jsx)("code",{children:"lastname"})," and ",(0,a.jsx)("code",{children:"email"})," are displayed first, but other fields follow their Block editor order."]}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_order', 'getIntegrationOrder');\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Forces form field order for the provided fields. For other fields, Block editor order is used.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationOrder(): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t'firstname',\n\t\t\t\t\t\t\t'lastname',\n\t\t\t\t\t\t\t'email',\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t`)})]})}function c(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post ID filter"}),(0,a.jsx)("p",{children:"Allows updating item IDs sent to external integrations to which the form data is sent."}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_pre_post_id', 'getIntegrationPrePostId', 10, 3);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies integration item ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @param string $itemId Integration item ID.\n\t\t\t\t\t * @param array<mixed> $params Params to be sent to the integration.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @return array<mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostId(string $itemId, array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn $itemId;\n\t\t\t\t\t}\n\t\t\t\t`)})]})}function f(t){let{filter:e}=t,n="";if("mailer"===e)n="mailer system";else n="external integration";return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post parameters filter"}),(0,a.jsxs)("p",{children:["Allows modifying form field data before it's sent to ",n,". Useful if you want to make values derived from the sent data, or add new fields."]}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_pre_post_params', 'getIntegrationPrePostParams', 10, 2);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies form field data before it's sent to ${n}.\n\t\t\t\t\t *\n\t\t\t\t\t * @param array<string, mixed> $params Array of params.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string, mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostParams(array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\t$formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? '';\n\n\t\t\t\t\t\tif ($formSubmissionPageLt) {\n\t\t\t\t\t\t\t$params['ib-submission-source'] = [\n\t\t\t\t\t\t\t\t'name' => 'ib-submission-source',\n\t\t\t\t\t\t\t\t'value' => $formSubmissionPageLt,\n\t\t\t\t\t\t\t\t'type' => 'text',\n\t\t\t\t\t\t\t\t'internalType' => '',\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn $params;\n\t\t\t\t\t}\n\t\t\t\t`)})]})}},96616:(t,e,n)=>{function r(t){const e=t.split(/\n/g);for(;0===e[0]?.replace(/\s/g,"").length;)e.shift();for(;0===e[e.length-1]?.replace(/\s/g,"").length;)e.pop();const n=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>t.match(/^\s*/)?.[0]?.length??0)),r=Math.min(...n);return e.map((t=>t.slice(r))).join("\n")}n.d(e,{c:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/af8ed05f.fdfee31a.js b/assets/js/af8ed05f.fdfee31a.js deleted file mode 100644 index 2cfa04113..000000000 --- a/assets/js/af8ed05f.fdfee31a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[38147],{87123:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>s,default:()=>c,frontMatter:()=>o,metadata:()=>l,toc:()=>f});var r=n(85893),i=n(11151),a=n(8122);const o={id:"additional-content",title:"Additional content"},s=void 0,l={id:"php/filters/block/select/additional-content",title:"Additional content",description:"",source:"@site/forms/php/filters/block/select/additional-content.mdx",sourceDirName:"php/filters/block/select",slug:"/php/filters/block/select/additional-content",permalink:"/forms/php/filters/block/select/additional-content",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"additional-content",title:"Additional content"},sidebar:"forms",previous:{title:"Additional content",permalink:"/forms/php/filters/block/textarea/additional-content"},next:{title:"Uploaded item remove button label",permalink:"/forms/php/filters/block/file/preview-remove-label"}},d={},f=[];function m(t){return(0,r.jsx)(a.F,{filter:"select"})}function c(t={}){const{wrapper:e}={...(0,i.a)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(m,{...t})}):m()}},8122:(t,e,n)=>{n.d(e,{F:()=>s,k:()=>o});n(67294);var r=n(9286),i=n(61684),a=n(85893);function o(t){let{filter:e,onlyUse:n=["dataFilter","orderFilter","prePostIdFilter","prePostParamsFilter"]}=t;return(0,a.jsxs)(a.Fragment,{children:[n.includes("dataFilter")&&(0,a.jsx)(l,{filter:e}),n.includes("orderFilter")&&(0,a.jsx)(d,{filter:e}),n.includes("prePostIdFilter")&&(0,a.jsx)(f,{filter:e}),n.includes("prePostParamsFilter")&&(0,a.jsx)(m,{filter:e})]})}function s(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{children:"Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc."}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\tadd_filter('es_forms_block_"+e+"_additional_content', function(): string {\n\t\t\t\treturn '<custom-string>';\n\t\t\t})\n\t\t\t")})]})}function l(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Data filter"}),(0,a.jsx)("p",{children:"Allows modifying form field data before it's shown in the Block Editor or output on the frontend."}),(0,a.jsx)("p",{children:"Useful if, for example, you want to ensure that all fields fit into a 2-column layout."}),(0,a.jsx)("p",{children:"Overrides any Block Editor changes!"}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\tadd_filter('es_forms_integrations_"+e+'_data\', \'getIntegrationFilterData\', 10, 2);\n\n\t\t\t/**\n\t\t\t * Manipulate form fields data before it is sent to the Block Editor.\n\t\t\t *\n\t\t\t * @param array<mixed> $data Form fields data.\n\t\t\t * @param string $formId Form ID.\n\t\t\t *\n\t\t\t * @return array<mixed>\n\t\t\t */\n\t\t\tfunction getIntegrationFilterData(array $data, string $formId): array\n\t\t\t{\n\t\t\t\tforeach ($data as $index => $field) {\n\t\t\t\t\t$component = $field[\'component\'] ?? \'\';\n\n\t\t\t\t\tif (!$component) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t$name = $field["{$component}Name"] ?? \'\';\n\n\t\t\t\t\tif (!$name) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch ($name) {\n\t\t\t\t\t\tcase \'firstname\':\n\t\t\t\t\t\tcase \'lastname\':\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthMobile"] = 12;\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthLarge"] = 6;\n\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"] = array_merge(\n\t\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthMobile",\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthLarge",\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t')})]})}function d(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Order filter"}),(0,a.jsx)("p",{children:"Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor."}),(0,a.jsxs)("p",{children:["Not all fields need to have an order defined. For example, you may want to make sure ",(0,a.jsx)("code",{children:"firstname"}),", ",(0,a.jsx)("code",{children:"lastname"})," and ",(0,a.jsx)("code",{children:"email"})," are displayed first, but other fields follow their Block editor order."]}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_order', 'getIntegrationOrder');\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Forces form field order for the provided fields. For other fields, Block editor order is used.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationOrder(): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t'firstname',\n\t\t\t\t\t\t\t'lastname',\n\t\t\t\t\t\t\t'email',\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t")})]})}function f(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post ID filter"}),(0,a.jsx)("p",{children:"Allows updating item IDs sent to external integrations to which the form data is sent."}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_pre_post_id', 'getIntegrationPrePostId', 10, 3);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies integration item ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @param string $itemId Integration item ID.\n\t\t\t\t\t * @param array<mixed> $params Params to be sent to the integration.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @return array<mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostId(string $itemId, array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn $itemId;\n\t\t\t\t\t}\n\t\t\t\t")})]})}function m(t){let{filter:e}=t,n="";if("mailer"===e)n="mailer system";else n="external integration";return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post parameters filter"}),(0,a.jsxs)("p",{children:["Allows modifying form field data before it's sent to ",n,". Useful if you want to make values derived from the sent data, or add new fields."]}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_pre_post_params', 'getIntegrationPrePostParams', 10, 2);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies form field data before it's sent to "+n+".\n\t\t\t\t\t *\n\t\t\t\t\t * @param array<string, mixed> $params Array of params.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string, mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostParams(array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\t$formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? '';\n\n\t\t\t\t\t\tif ($formSubmissionPageLt) {\n\t\t\t\t\t\t\t$params['ib-submission-source'] = [\n\t\t\t\t\t\t\t\t'name' => 'ib-submission-source',\n\t\t\t\t\t\t\t\t'value' => $formSubmissionPageLt,\n\t\t\t\t\t\t\t\t'type' => 'text',\n\t\t\t\t\t\t\t\t'internalType' => '',\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn $params;\n\t\t\t\t\t}\n\t\t\t\t")})]})}},61684:(t,e,n)=>{function r(t){const e=t.split(/\n/g);for(;0===(null==(n=e[0])?void 0:n.replace(/\s/g,"").length);){var n;e.shift()}for(;0===(null==(r=e[e.length-1])?void 0:r.replace(/\s/g,"").length);){var r;e.pop()}const i=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>{var e,n;return null!=(e=null==(n=t.match(/^\s*/))||null==(n=n[0])?void 0:n.length)?e:0})),a=Math.min(...i);return e.map((t=>t.slice(a))).join("\n")}n.d(e,{p:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/af9ac9e0.67881861.js b/assets/js/af9ac9e0.67881861.js deleted file mode 100644 index 9144b54f8..000000000 --- a/assets/js/af9ac9e0.67881861.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[68385],{72937:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>s,metadata:()=>r,toc:()=>p});var n=o(85893),i=o(11151);const s={id:"how-to-use",title:"How to use?"},a=void 0,r={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.",source:"@site/forms/php/actions/how-to-use.md",sourceDirName:"php/actions",slug:"/php/actions/how-to-use",permalink:"/forms/php/actions/how-to-use",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"how-to-use",title:"How to use?"},sidebar:"forms",previous:{title:"Settings data",permalink:"/forms/php/filters/admin/settings-data"},next:{title:"Migrations",permalink:"/forms/php/actions/migrations"}},c={},p=[{value:"How to use actions",id:"how-to-use-actions",level:2}];function l(e){const t={a:"a",code:"code",h2:"h2",p:"p",pre:"pre",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:"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."}),"\n",(0,n.jsx)(t.p,{children:"Difference between actions and filters is that actions are used to add functionality, while filters are used to modify data."}),"\n",(0,n.jsx)(t.h2,{id:"how-to-use-actions",children:"How to use actions"}),"\n",(0,n.jsxs)(t.p,{children:["The list of all available actions can be found ",(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-forms/blob/develop/testFilters/testFilters.php",children:"here"}),", along with descriptions and examples."]}),"\n",(0,n.jsx)(t.p,{children:"To use a action, simply copy the code snippet from the example and paste it into your project, e.g."}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"\\add_action('es_forms_migration_two_to_three_locale', [$this, 'runMigration2To3Locale']);\n\n/**\n * Run custom action after migration from version 2 to 3 locale.\n *\n * @return void\n */\npublic function runMigration2To3Locale(): void\n{\n\t\\update_option('<option-name>', '<option-value>');\n}\n"})})]})}function h(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(l,{...e})}):l(e)}},11151:(e,t,o)=>{o.d(t,{Z:()=>r,a:()=>a});var n=o(67294);const i={},s=n.createContext(i);function a(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:a(e.components),n.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/af9ac9e0.b523d785.js b/assets/js/af9ac9e0.b523d785.js new file mode 100644 index 000000000..753ae0d38 --- /dev/null +++ b/assets/js/af9ac9e0.b523d785.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[6820],{21960:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>s,metadata:()=>a,toc:()=>p});var n=o(17624),i=o(4552);const s={id:"how-to-use",title:"How to use?"},r=void 0,a={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.",source:"@site/forms/php/actions/how-to-use.md",sourceDirName:"php/actions",slug:"/php/actions/how-to-use",permalink:"/forms/php/actions/how-to-use",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"how-to-use",title:"How to use?"},sidebar:"forms",previous:{title:"Settings data",permalink:"/forms/php/filters/admin/settings-data"},next:{title:"Migrations",permalink:"/forms/php/actions/migrations"}},c={},p=[{value:"How to use actions",id:"how-to-use-actions",level:2}];function l(e){const t={a:"a",code:"code",h2:"h2",p:"p",pre:"pre",...(0,i.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:"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."}),"\n",(0,n.jsx)(t.p,{children:"Difference between actions and filters is that actions are used to add functionality, while filters are used to modify data."}),"\n",(0,n.jsx)(t.h2,{id:"how-to-use-actions",children:"How to use actions"}),"\n",(0,n.jsxs)(t.p,{children:["The list of all available actions can be found ",(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-forms/blob/develop/testFilters/testFilters.php",children:"here"}),", along with descriptions and examples."]}),"\n",(0,n.jsx)(t.p,{children:"To use a action, simply copy the code snippet from the example and paste it into your project, e.g."}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"\\add_action('es_forms_migration_two_to_three_locale', [$this, 'runMigration2To3Locale']);\n\n/**\n * Run custom action after migration from version 2 to 3 locale.\n *\n * @return void\n */\npublic function runMigration2To3Locale(): void\n{\n\t\\update_option('<option-name>', '<option-value>');\n}\n"})})]})}function h(e={}){const{wrapper:t}={...(0,i.M)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(l,{...e})}):l(e)}},4552:(e,t,o)=>{o.d(t,{I:()=>a,M:()=>r});var n=o(11504);const i={},s=n.createContext(i);function r(e){const t=n.useContext(s);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(i):e.components||i:r(e.components),n.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/afb6799c.7468503e.js b/assets/js/afb6799c.7468503e.js new file mode 100644 index 000000000..65e74fc2a --- /dev/null +++ b/assets/js/afb6799c.7468503e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[95640],{77832:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>p,frontMatter:()=>i,metadata:()=>l,toc:()=>r});var o=t(17624),s=t(4552);const i={id:"blocks-component-manifest",title:"Component Manifest"},a=void 0,l={id:"legacy/v6/basics/blocks-component-manifest",title:"Component Manifest",description:"docs-source",source:"@site/docs/legacy/v6/basics/blocks-component-manifest.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/blocks-component-manifest",permalink:"/docs/legacy/v6/basics/blocks-component-manifest",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-component-manifest",title:"Component Manifest"},sidebar:"docs",previous:{title:"Block Manifest",permalink:"/docs/legacy/v6/basics/block-manifest"},next:{title:"Attributes",permalink:"/docs/legacy/v6/basics/blocks-attributes"}},c={},r=[{value:"Example",id:"example",level:3},{value:"componentName",id:"componentname",level:3},{value:"title",id:"title",level:3},{value:"componentClass",id:"componentclass",level:3},{value:"example",id:"example-1",level:3},{value:"attributes",id:"attributes",level:3},{value:"options",id:"options",level:3},{value:"components",id:"components",level:3}];function d(e){const n={a:"a",code:"code",h3:"h3",img:"img",p:"p",pre:"pre",...(0,s.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/",children:(0,o.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(n.p,{children:"A component manifest is a bit different than the block manifest. The main difference is that the component manifest is a fully custom feature, and it is only here to provide a way to store configuration data and share it with multiple files in your project."}),"\n",(0,o.jsx)(n.h3,{id:"example",children:"Example"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n "componentName": "heading",\n "title": "Heading",\n "componentClass": "heading",\n "example": {\n "attributes": {\n "headingContent": "This is heading",\n "headingLevel": 2,\n "headingSize": "default",\n "headingUse": true\n }\n },\n "attributes": {\n "headingContent": {\n "type": "string"\n },\n "headingLevel": {\n "type": "integer",\n "default": 2\n },\n "headingSize": {\n "type": "string",\n "default": "default"\n },\n "headingUse": {\n "type": "boolean",\n "default": true\n }\n },\n "options": {\n "sizes": [\n {\n "label": "Default (30px)",\n "value": "default"\n },\n {\n "label": "Big (50px)",\n "value": "big"\n }\n ],\n "aligns": [\n "left",\n "center",\n "right"\n ],\n "colors": [\n "primary",\n "black"\n ]\n },\n "components": {}\n}\n'})}),"\n",(0,o.jsx)(n.h3,{id:"componentname",children:"componentName"}),"\n",(0,o.jsx)(n.p,{children:"This key is the most important one. We use this key to specify the component attributes prefix. When it's used correctly, we are able to change the attributes prefix depending on the component name passed from the parent component or block."}),"\n",(0,o.jsx)(n.h3,{id:"title",children:"title"}),"\n",(0,o.jsx)(n.p,{children:"This key is used to provide the label for all your component options and provide the storybook's automatic story title."}),"\n",(0,o.jsx)(n.h3,{id:"componentclass",children:"componentClass"}),"\n",(0,o.jsx)(n.p,{children:"These keys are used to provide a single point of reference for a component name. You'll use this key to provide a prefix for all the CSS selectors in your component."}),"\n",(0,o.jsx)(n.h3,{id:"example-1",children:"example"}),"\n",(0,o.jsxs)(n.p,{children:["The same as in the blocks manifest. Please check ",(0,o.jsx)(n.a,{href:"block-manifest",children:"this chapter"})," for more details."]}),"\n",(0,o.jsx)(n.h3,{id:"attributes",children:"attributes"}),"\n",(0,o.jsxs)(n.p,{children:["For more details please check ",(0,o.jsx)(n.a,{href:"blocks-attributes",children:"this chapter"}),"."]}),"\n",(0,o.jsx)(n.h3,{id:"options",children:"options"}),"\n",(0,o.jsxs)(n.p,{children:["These keys are used to provide a single point of reference for component options used in the options part. If you have a ",(0,o.jsx)(n.code,{children:"SelectControl"})," or a ",(0,o.jsx)(n.code,{children:"ColorSelector"})," component, you can set all your options here and use those options in the options section and story for mocking components. Please check ",(0,o.jsx)(n.a,{href:"blocks-component-in-block",children:"this chapter"})," for more details."]}),"\n",(0,o.jsx)(n.h3,{id:"components",children:"components"}),"\n",(0,o.jsxs)(n.p,{children:["The same as in the blocks manifest. Please check ",(0,o.jsx)(n.a,{href:"block-manifest",children:"this chapter"})," for more details."]})]})}function p(e={}){const{wrapper:n}={...(0,s.M)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},4552:(e,n,t)=>{t.d(n,{I:()=>l,M:()=>a});var o=t(11504);const s={},i=o.createContext(s);function a(e){const n=o.useContext(i);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:a(e.components),o.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/afb6799c.bb9c8e9b.js b/assets/js/afb6799c.bb9c8e9b.js deleted file mode 100644 index db97a7ab0..000000000 --- a/assets/js/afb6799c.bb9c8e9b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[48952],{32233:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>p,frontMatter:()=>i,metadata:()=>l,toc:()=>r});var o=t(85893),s=t(11151);const i={id:"blocks-component-manifest",title:"Component Manifest"},a=void 0,l={id:"legacy/v6/basics/blocks-component-manifest",title:"Component Manifest",description:"docs-source",source:"@site/docs/legacy/v6/basics/blocks-component-manifest.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/blocks-component-manifest",permalink:"/docs/legacy/v6/basics/blocks-component-manifest",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-component-manifest",title:"Component Manifest"},sidebar:"docs",previous:{title:"Block Manifest",permalink:"/docs/legacy/v6/basics/block-manifest"},next:{title:"Attributes",permalink:"/docs/legacy/v6/basics/blocks-attributes"}},c={},r=[{value:"Example",id:"example",level:3},{value:"componentName",id:"componentname",level:3},{value:"title",id:"title",level:3},{value:"componentClass",id:"componentclass",level:3},{value:"example",id:"example-1",level:3},{value:"attributes",id:"attributes",level:3},{value:"options",id:"options",level:3},{value:"components",id:"components",level:3}];function d(e){const n={a:"a",code:"code",h3:"h3",img:"img",p:"p",pre:"pre",...(0,s.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/",children:(0,o.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(n.p,{children:"A component manifest is a bit different than the block manifest. The main difference is that the component manifest is a fully custom feature, and it is only here to provide a way to store configuration data and share it with multiple files in your project."}),"\n",(0,o.jsx)(n.h3,{id:"example",children:"Example"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n "componentName": "heading",\n "title": "Heading",\n "componentClass": "heading",\n "example": {\n "attributes": {\n "headingContent": "This is heading",\n "headingLevel": 2,\n "headingSize": "default",\n "headingUse": true\n }\n },\n "attributes": {\n "headingContent": {\n "type": "string"\n },\n "headingLevel": {\n "type": "integer",\n "default": 2\n },\n "headingSize": {\n "type": "string",\n "default": "default"\n },\n "headingUse": {\n "type": "boolean",\n "default": true\n }\n },\n "options": {\n "sizes": [\n {\n "label": "Default (30px)",\n "value": "default"\n },\n {\n "label": "Big (50px)",\n "value": "big"\n }\n ],\n "aligns": [\n "left",\n "center",\n "right"\n ],\n "colors": [\n "primary",\n "black"\n ]\n },\n "components": {}\n}\n'})}),"\n",(0,o.jsx)(n.h3,{id:"componentname",children:"componentName"}),"\n",(0,o.jsx)(n.p,{children:"This key is the most important one. We use this key to specify the component attributes prefix. When it's used correctly, we are able to change the attributes prefix depending on the component name passed from the parent component or block."}),"\n",(0,o.jsx)(n.h3,{id:"title",children:"title"}),"\n",(0,o.jsx)(n.p,{children:"This key is used to provide the label for all your component options and provide the storybook's automatic story title."}),"\n",(0,o.jsx)(n.h3,{id:"componentclass",children:"componentClass"}),"\n",(0,o.jsx)(n.p,{children:"These keys are used to provide a single point of reference for a component name. You'll use this key to provide a prefix for all the CSS selectors in your component."}),"\n",(0,o.jsx)(n.h3,{id:"example-1",children:"example"}),"\n",(0,o.jsxs)(n.p,{children:["The same as in the blocks manifest. Please check ",(0,o.jsx)(n.a,{href:"block-manifest",children:"this chapter"})," for more details."]}),"\n",(0,o.jsx)(n.h3,{id:"attributes",children:"attributes"}),"\n",(0,o.jsxs)(n.p,{children:["For more details please check ",(0,o.jsx)(n.a,{href:"blocks-attributes",children:"this chapter"}),"."]}),"\n",(0,o.jsx)(n.h3,{id:"options",children:"options"}),"\n",(0,o.jsxs)(n.p,{children:["These keys are used to provide a single point of reference for component options used in the options part. If you have a ",(0,o.jsx)(n.code,{children:"SelectControl"})," or a ",(0,o.jsx)(n.code,{children:"ColorSelector"})," component, you can set all your options here and use those options in the options section and story for mocking components. Please check ",(0,o.jsx)(n.a,{href:"blocks-component-in-block",children:"this chapter"})," for more details."]}),"\n",(0,o.jsx)(n.h3,{id:"components",children:"components"}),"\n",(0,o.jsxs)(n.p,{children:["The same as in the blocks manifest. Please check ",(0,o.jsx)(n.a,{href:"block-manifest",children:"this chapter"})," for more details."]})]})}function p(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},11151:(e,n,t)=>{t.d(n,{Z:()=>l,a:()=>a});var o=t(67294);const s={},i=o.createContext(s);function a(e){const n=o.useContext(i);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:a(e.components),o.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/afdc90ee.08111d84.js b/assets/js/afdc90ee.08111d84.js new file mode 100644 index 000000000..60a079a5a --- /dev/null +++ b/assets/js/afdc90ee.08111d84.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[58948],{35588:(e,s,o)=>{o.r(s),o.d(s,{assets:()=>l,contentTitle:()=>r,default:()=>d,frontMatter:()=>n,metadata:()=>c,toc:()=>a});var t=o(17624),i=o(4552);const n={id:"blocks-hooks",title:"Hooks"},r=void 0,c={id:"basics/blocks-hooks",title:"Hooks",description:"docs-source",source:"@site/docs/basics/blocks-hooks.md",sourceDirName:"basics",slug:"/basics/blocks-hooks",permalink:"/docs/basics/blocks-hooks",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-hooks",title:"Hooks"},sidebar:"docs",previous:{title:"Transforms",permalink:"/docs/basics/blocks-transforms"},next:{title:"Special Use Cases",permalink:"/docs/basics/blocks-special-use-cases"}},l={},a=[];function h(e){const s={a:"a",img:"img",p:"p",...(0,i.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,t.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsx)(s.p,{children:"WordPress block editor hooks provide the same functionalities as PHP hooks. They are used to modify the behavior of the existing blocks."}),"\n",(0,t.jsxs)(s.p,{children:["You can check the ",(0,t.jsx)(s.a,{href:"https://developer.wordpress.org/block-editor/developers/filters/block-filters/",children:"WordPress documentation"})," on this subject."]}),"\n",(0,t.jsx)(s.p,{children:"We didn't change anything here regarding the original documentation; we simply provided you with the structured file where you can write all your hooks."}),"\n",(0,t.jsxs)(s.p,{children:["Please follow this ",(0,t.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/custom/column/column-hooks.js",children:"example"})," to get more insights on using hooks in your project."]})]})}function d(e={}){const{wrapper:s}={...(0,i.M)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(h,{...e})}):h(e)}},4552:(e,s,o)=>{o.d(s,{I:()=>c,M:()=>r});var t=o(11504);const i={},n=t.createContext(i);function r(e){const s=t.useContext(n);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),t.createElement(n.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/afdc90ee.cd734fc7.js b/assets/js/afdc90ee.cd734fc7.js deleted file mode 100644 index b0d882042..000000000 --- a/assets/js/afdc90ee.cd734fc7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[73887],{82125:(e,s,o)=>{o.r(s),o.d(s,{assets:()=>l,contentTitle:()=>r,default:()=>d,frontMatter:()=>n,metadata:()=>c,toc:()=>a});var t=o(85893),i=o(11151);const n={id:"blocks-hooks",title:"Hooks"},r=void 0,c={id:"basics/blocks-hooks",title:"Hooks",description:"docs-source",source:"@site/docs/basics/blocks-hooks.md",sourceDirName:"basics",slug:"/basics/blocks-hooks",permalink:"/docs/basics/blocks-hooks",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-hooks",title:"Hooks"},sidebar:"docs",previous:{title:"Transforms",permalink:"/docs/basics/blocks-transforms"},next:{title:"Special Use Cases",permalink:"/docs/basics/blocks-special-use-cases"}},l={},a=[];function h(e){const s={a:"a",img:"img",p:"p",...(0,i.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,t.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsx)(s.p,{children:"WordPress block editor hooks provide the same functionalities as PHP hooks. They are used to modify the behavior of the existing blocks."}),"\n",(0,t.jsxs)(s.p,{children:["You can check the ",(0,t.jsx)(s.a,{href:"https://developer.wordpress.org/block-editor/developers/filters/block-filters/",children:"WordPress documentation"})," on this subject."]}),"\n",(0,t.jsx)(s.p,{children:"We didn't change anything here regarding the original documentation; we simply provided you with the structured file where you can write all your hooks."}),"\n",(0,t.jsxs)(s.p,{children:["Please follow this ",(0,t.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/custom/column/column-hooks.js",children:"example"})," to get more insights on using hooks in your project."]})]})}function d(e={}){const{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(h,{...e})}):h(e)}},11151:(e,s,o)=>{o.d(s,{Z:()=>c,a:()=>r});var t=o(67294);const i={},n=t.createContext(i);function r(e){const s=t.useContext(n);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),t.createElement(n.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b11b48f8.5bc110c6.js b/assets/js/b11b48f8.5bc110c6.js deleted file mode 100644 index cfeb1bfc3..000000000 --- a/assets/js/b11b48f8.5bc110c6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[60401],{15407:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>c,frontMatter:()=>o,metadata:()=>s,toc:()=>a});var n=i(85893),d=i(11151);const o={id:"additional-hidden-fields",title:"Additional hidden fields"},r=void 0,s={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.",source:"@site/forms/php/filters/block/form/additional-hidden-fields.md",sourceDirName:"php/filters/block/form",slug:"/php/filters/block/form/additional-hidden-fields",permalink:"/forms/php/filters/block/form/additional-hidden-fields",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"additional-hidden-fields",title:"Additional hidden fields"},sidebar:"forms",previous:{title:"Pre-Response Success Redirect Data",permalink:"/forms/php/filters/block/form/pre-response-success-redirect-data"},next:{title:"Form templates",permalink:"/forms/php/filters/block/form-selector/form-templates"}},l={},a=[];function f(e){const t={code:"code",p:"p",pre:"pre",strong:"strong",...(0,d.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(t.p,{children:["Allows adding custom hidden fields to the form block. These fields will ",(0,n.jsx)(t.strong,{children:"not"})," be visible in the Block Editor. Useful if external data needs to be passed through the form."]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"\\add_filter('es_forms_block_form_additional_hidden_fields', [$this, 'getBlockFormAdditionalHiddenFields'], 10, 2);\n\n/**\n * Set additional hidden fields to form block.\n *\n * @param array<mixed> $output Output data.\n * @param string $formId FormId value.\n *\n * @return array<mixed>\n */\npublic function getBlockFormAdditionalHiddenFields(array $output, string $formId): array\n{\n\t$output['additionalHiddenFields'] = [\n\t\t[\n\t\t\t'name' => 'additional-hidden-field',\n\t\t\t'value' => 'additional-hidden-field-value',\n\t\t],\n\t];\n\n\treturn $output;\n}\n"})})]})}function c(e={}){const{wrapper:t}={...(0,d.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(f,{...e})}):f(e)}},11151:(e,t,i)=>{i.d(t,{Z:()=>s,a:()=>r});var n=i(67294);const d={},o=n.createContext(d);function r(e){const t=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(d):e.components||d:r(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b11b48f8.84c6b147.js b/assets/js/b11b48f8.84c6b147.js new file mode 100644 index 000000000..e1f4904c2 --- /dev/null +++ b/assets/js/b11b48f8.84c6b147.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[95288],{17780:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>c,frontMatter:()=>o,metadata:()=>s,toc:()=>a});var n=i(17624),d=i(4552);const o={id:"additional-hidden-fields",title:"Additional hidden fields"},r=void 0,s={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.",source:"@site/forms/php/filters/block/form/additional-hidden-fields.md",sourceDirName:"php/filters/block/form",slug:"/php/filters/block/form/additional-hidden-fields",permalink:"/forms/php/filters/block/form/additional-hidden-fields",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"additional-hidden-fields",title:"Additional hidden fields"},sidebar:"forms",previous:{title:"Pre-Response Success Redirect Data",permalink:"/forms/php/filters/block/form/pre-response-success-redirect-data"},next:{title:"Form templates",permalink:"/forms/php/filters/block/form-selector/form-templates"}},l={},a=[];function f(e){const t={code:"code",p:"p",pre:"pre",strong:"strong",...(0,d.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(t.p,{children:["Allows adding custom hidden fields to the form block. These fields will ",(0,n.jsx)(t.strong,{children:"not"})," be visible in the Block Editor. Useful if external data needs to be passed through the form."]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"\\add_filter('es_forms_block_form_additional_hidden_fields', [$this, 'getBlockFormAdditionalHiddenFields'], 10, 2);\n\n/**\n * Set additional hidden fields to form block.\n *\n * @param array<mixed> $output Output data.\n * @param string $formId FormId value.\n *\n * @return array<mixed>\n */\npublic function getBlockFormAdditionalHiddenFields(array $output, string $formId): array\n{\n\t$output['additionalHiddenFields'] = [\n\t\t[\n\t\t\t'name' => 'additional-hidden-field',\n\t\t\t'value' => 'additional-hidden-field-value',\n\t\t],\n\t];\n\n\treturn $output;\n}\n"})})]})}function c(e={}){const{wrapper:t}={...(0,d.M)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(f,{...e})}):f(e)}},4552:(e,t,i)=>{i.d(t,{I:()=>s,M:()=>r});var n=i(11504);const d={},o=n.createContext(d);function r(e){const t=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(d):e.components||d:r(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b22c1dac.3c5a6fb8.js b/assets/js/b22c1dac.3c5a6fb8.js deleted file mode 100644 index 3f1cde7d8..000000000 --- a/assets/js/b22c1dac.3c5a6fb8.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[43362],{78906:(t,e,o)=>{o.r(e),o.d(e,{assets:()=>a,contentTitle:()=>i,default:()=>f,frontMatter:()=>r,metadata:()=>l,toc:()=>c});var s=o(85893),n=o(11151);const r={id:"style-options",title:"Custom form styles"},i=void 0,l={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.",source:"@site/forms/php/filters/block/forms/style-options.md",sourceDirName:"php/filters/block/forms",slug:"/php/filters/block/forms/style-options",permalink:"/forms/php/filters/block/forms/style-options",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"style-options",title:"Custom form styles"},sidebar:"forms",previous:{title:"How to use?",permalink:"/forms/php/filters/how-to-use"},next:{title:"Redirect timeout",permalink:"/forms/php/filters/block/form/redirect-timeout"}},a={},c=[];function p(t){const e={code:"code",p:"p",pre:"pre",...(0,n.a)(),...t.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(e.p,{children:["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 ",(0,s.jsx)(e.code,{children:"value"})," provided."]}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-php",children:"\\add_filter('es_forms_block_forms_style_options', [$this, 'getBlockFormsStyleOptions']);\n\n/**\n * Add additional style options to forms block.\n *\n * This filter will add new options to the style select dropdown in the forms block. Forms style option selector will not show unless a filter is provided. This option is shown in Block Editor.\n *\n * @return array<int, array<string, string>>\n */\npublic function getBlockFormsStyleOptions(): array\n{\n\treturn [\n\t\t[\n\t\t\t'label' => 'Default',\n\t\t\t'value' => 'default'\n\t\t],\n\t\t[\n\t\t\t'label' => 'Custom Style',\n\t\t\t'value' => 'custom-style'\n\t\t],\n\t];\n}\n"})})]})}function f(t={}){const{wrapper:e}={...(0,n.a)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(p,{...t})}):p(t)}},11151:(t,e,o)=>{o.d(e,{Z:()=>l,a:()=>i});var s=o(67294);const n={},r=s.createContext(n);function i(t){const e=s.useContext(r);return s.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(n):t.components||n:i(t.components),s.createElement(r.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/b22c1dac.90a4a9ab.js b/assets/js/b22c1dac.90a4a9ab.js new file mode 100644 index 000000000..ab403cd0f --- /dev/null +++ b/assets/js/b22c1dac.90a4a9ab.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[94980],{35131:(t,e,o)=>{o.r(e),o.d(e,{assets:()=>c,contentTitle:()=>i,default:()=>f,frontMatter:()=>r,metadata:()=>l,toc:()=>a});var s=o(17624),n=o(4552);const r={id:"style-options",title:"Custom form styles"},i=void 0,l={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.",source:"@site/forms/php/filters/block/forms/style-options.md",sourceDirName:"php/filters/block/forms",slug:"/php/filters/block/forms/style-options",permalink:"/forms/php/filters/block/forms/style-options",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"style-options",title:"Custom form styles"},sidebar:"forms",previous:{title:"How to use?",permalink:"/forms/php/filters/how-to-use"},next:{title:"Redirect timeout",permalink:"/forms/php/filters/block/form/redirect-timeout"}},c={},a=[];function p(t){const e={code:"code",p:"p",pre:"pre",...(0,n.M)(),...t.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(e.p,{children:["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 ",(0,s.jsx)(e.code,{children:"value"})," provided."]}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-php",children:"\\add_filter('es_forms_block_forms_style_options', [$this, 'getBlockFormsStyleOptions']);\n\n/**\n * Add additional style options to forms block.\n *\n * This filter will add new options to the style select dropdown in the forms block. Forms style option selector will not show unless a filter is provided. This option is shown in Block Editor.\n *\n * @return array<int, array<string, string>>\n */\npublic function getBlockFormsStyleOptions(): array\n{\n\treturn [\n\t\t[\n\t\t\t'label' => 'Default',\n\t\t\t'value' => 'default'\n\t\t],\n\t\t[\n\t\t\t'label' => 'Custom Style',\n\t\t\t'value' => 'custom-style'\n\t\t],\n\t];\n}\n"})})]})}function f(t={}){const{wrapper:e}={...(0,n.M)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(p,{...t})}):p(t)}},4552:(t,e,o)=>{o.d(e,{I:()=>l,M:()=>i});var s=o(11504);const n={},r=s.createContext(n);function i(t){const e=s.useContext(r);return s.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(n):t.components||n:i(t.components),s.createElement(r.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/b2b675dd.530c7221.js b/assets/js/b2b675dd.530c7221.js new file mode 100644 index 000000000..ef1385d41 --- /dev/null +++ b/assets/js/b2b675dd.530c7221.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[16292],{76180:t=>{t.exports=JSON.parse('{"permalink":"/blog","page":1,"postsPerPage":9,"totalPages":2,"totalCount":14,"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/b2b675dd.5b585411.js b/assets/js/b2b675dd.5b585411.js deleted file mode 100644 index 582480cb2..000000000 --- a/assets/js/b2b675dd.5b585411.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[90533],{28017:t=>{t.exports=JSON.parse('{"permalink":"/blog","page":1,"postsPerPage":9,"totalPages":2,"totalCount":14,"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.15cf2448.js b/assets/js/b2f554cd.15cf2448.js new file mode 100644 index 000000000..f019b0463 --- /dev/null +++ b/assets/js/b2f554cd.15cf2448.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[86880],{38256:e=>{e.exports=JSON.parse('{"blogPosts":[{"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,"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.935,"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](/storybook) under `Editor -> 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](/storybook).\\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/b2f554cd.66ac60ee.js b/assets/js/b2f554cd.66ac60ee.js deleted file mode 100644 index 056442ec0..000000000 --- a/assets/js/b2f554cd.66ac60ee.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[11477],{30010:e=>{e.exports=JSON.parse('{"blogPosts":[{"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,"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.935,"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](/storybook) under `Editor -> 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](/sass).\\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](/storybook).\\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/b31b2138.aa68ee3b.js b/assets/js/b31b2138.aa68ee3b.js deleted file mode 100644 index a469a0963..000000000 --- a/assets/js/b31b2138.aa68ee3b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[15751],{1023:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>i,metadata:()=>r,toc:()=>c});var o=t(85893),s=t(11151);const i={id:"tips-tricks",title:"Tips & Tricks"},a=void 0,r={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.",source:"@site/docs/basics/tips-tricks.md",sourceDirName:"basics",slug:"/basics/tips-tricks",permalink:"/docs/basics/tips-tricks",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"tips-tricks",title:"Tips & Tricks"},sidebar:"docs",previous:{title:"PHP",permalink:"/docs/basics/helpers-php"},next:{title:"Intro",permalink:"/docs/tutorials/intro"}},l={},c=[{value:"Always disable cache when you are writing block editor components",id:"always-disable-cache-when-you-are-writing-block-editor-components",level:3},{value:"When to restart your Webpack watch?",id:"when-to-restart-your-webpack-watch",level:3},{value:"Using boilerplate and boilerplate-plugin in the same project",id:"using-boilerplate-and-boilerplate-plugin-in-the-same-project",level:3},{value:"Internationalization (I18n) and localization (L10n)",id:"internationalization-i18n-and-localization-l10n",level:3}];function d(e){const n={a:"a",code:"code",em:"em",h3:"h3",li:"li",p:"p",pre:"pre",ul:"ul",...(0,s.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:"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."}),"\n",(0,o.jsx)(n.h3,{id:"always-disable-cache-when-you-are-writing-block-editor-components",children:"Always disable cache when you are writing block editor components"}),"\n",(0,o.jsx)(n.p,{children:"When you are writing a JavaScript part of the block you should always have your browser inspector open and checkbox checked for disabling browser cache in the network tab. WordPress core is caching JS files and you may not always get the latest changes of your code in the editor. This way you can be sure that everything is up to date."}),"\n",(0,o.jsx)(n.h3,{id:"when-to-restart-your-webpack-watch",children:"When to restart your Webpack watch?"}),"\n",(0,o.jsx)(n.p,{children:"As we described in the previous chapters Webpack watch is used to monitor all your code changes and update the compiled files with your latest changes. We have set our folder structure in a way so we can have files automatically included in the build. However, there are some times you must restart your Webpack watch:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"Adding a new block/component."}),"\n",(0,o.jsx)(n.li,{children:"Changing the block/component folder name."}),"\n",(0,o.jsx)(n.li,{children:"Changing any of the file names in the block/component folder."}),"\n",(0,o.jsx)(n.li,{children:"Adding/removing a JS package to the project."}),"\n",(0,o.jsx)(n.li,{children:"Changing the webpack, babel, eslint, stylelint configuration."}),"\n",(0,o.jsx)(n.li,{children:"Changing the project domain name for Browser sync."}),"\n",(0,o.jsx)(n.li,{children:"Adding/removing a new JS or SCSS file in the global assets folder."}),"\n"]}),"\n",(0,o.jsx)(n.h3,{id:"using-boilerplate-and-boilerplate-plugin-in-the-same-project",children:"Using boilerplate and boilerplate-plugin in the same project"}),"\n",(0,o.jsx)(n.p,{children:"When you are using one boilerplate for a theme and another for a plugin keep in mind that you will have to do some changes. We would recommend leaving the theme as is and making changes to the plugin. Here are some of the changes you should make:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["If using manifest, you should update the ",(0,o.jsx)(n.code,{children:"MANIFEST_ITEM"})," filter name to something else."]}),"\n",(0,o.jsx)(n.li,{children:"If using blocks, change the default category of all your plugin blocks."}),"\n",(0,o.jsxs)(n.li,{children:["If using blocks, update all blocks to a new category in each block ",(0,o.jsx)(n.code,{children:"manifest.json"})," file."]}),"\n",(0,o.jsxs)(n.li,{children:["If using blocks, update the block namespace in the global block ",(0,o.jsx)(n.code,{children:"manifest.json"})," file."]}),"\n",(0,o.jsx)(n.li,{children:"If using blocks, change the blocks' background and foreground color (Not necessary but it would be a good UX)."}),"\n",(0,o.jsx)(n.li,{children:"If using blocks, make your own implementation of the Components::render method so you don't need to pass project location on every usage (example below)."}),"\n",(0,o.jsxs)(n.li,{children:["Update the default project imposter namespace in the ",(0,o.jsx)(n.code,{children:"composer.json"})," file and run ",(0,o.jsx)(n.code,{children:"composer install"}),"."]}),"\n",(0,o.jsx)(n.li,{children:"Update all files with the new vendor namespace prefix."}),"\n",(0,o.jsx)(n.li,{children:"Update the default WP-CLI command prefix for your plugin located in the root of your plugin."}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Helpers/Components.php"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-php",children:"/**\n * Helpers for components\n *\n * @package PluginNamespace\\Helpers\n */\n\ndeclare(strict_types=1);\n\nnamespace PluginNamespace\\Helpers;\n\nuse PluginNamespace\\Config\\Config;\nuse EightshiftLibs\\Helpers\\Components as LibsComponents;\n\n/**\n * Helpers for components\n */\nclass Components extends LibsComponents\n{\n\t/**\n\t * Local render method.\n\t */\n\tpublic static function render(string $component, array $attributes = [], string $parentPath = '', bool $useComponentDefaults = false): string\n\t{\n\t\t$parentPath = Config::getProjectPath();\n\n\t\treturn parent::render($component, $attributes, $parentPath, $useComponentDefaults);\n\t}\n}\n"})}),"\n",(0,o.jsx)(n.h3,{id:"internationalization-i18n-and-localization-l10n",children:"Internationalization (I18n) and localization (L10n)"}),"\n",(0,o.jsxs)(n.p,{children:["To make sure your project is translatable into other languages, you should use ",(0,o.jsx)(n.a,{href:"https://codex.wordpress.org/I18n_for_WordPress_Developers",children:"WordPress's i18n functions"})," every time you output text. This process, called internationalization, is quite simple to implement by using the ",(0,o.jsx)(n.code,{children:"__"})," WordPress function, which is available in both PHP and Gutenberg (in the ",(0,o.jsx)(n.code,{children:"@wordpress/i18n"})," package) and is standard practice in Eightshift Frontend Libs for all text output."]}),"\n",(0,o.jsxs)(n.p,{children:["The ",(0,o.jsx)(n.code,{children:"__"})," function accepts a string to translate and a text-domain, which is used to tell WordPress which translation set to use, and returns the translated string (or original string, in case a translation doesn't exist). Note that you can provide a ",(0,o.jsx)(n.code,{children:"sprintf"}),"-parametrized string to ",(0,o.jsx)(n.code,{children:"__"})," and use ",(0,o.jsx)(n.code,{children:"sprintf"})," on its return value to populate the string with certain values. You should also load the text-domain using ",(0,o.jsx)(n.code,{children:"load_theme_textdomain"}),". Using the Eightshift Libs ",(0,o.jsx)(n.code,{children:"I18n"})," class will do this for you by instructing WordPress to look for translations in ",(0,o.jsx)(n.code,{children:"src/I18n/languages"})," with the text-domain defined as your project name."]}),"\n",(0,o.jsxs)(n.p,{children:["However, there will come a time when ",(0,o.jsx)(n.em,{children:"being able"})," to translate won't be enough. You'll actually need to ",(0,o.jsx)(n.em,{children:"do"})," that. This happens in a process called localization and is a bit less trivial to do."]}),"\n",(0,o.jsxs)(n.p,{children:["First, you'll need to prepare the strings for translators. As WordPress i18n is based upon the ",(0,o.jsx)(n.code,{children:"gettext"}),' system, you should generate a POT ("portable object template") file which you can do by running WP-CLI command ',(0,o.jsx)(n.code,{children:"wp i18n make-pot"})," (",(0,o.jsx)(n.a,{href:"https://developer.wordpress.org/cli/commands/i18n/make-pot/",children:"https://developer.wordpress.org/cli/commands/i18n/make-pot/"}),") in your project root. Note that you may need to exclude vendor folders."]}),"\n",(0,o.jsxs)(n.p,{children:["You can provide this POT file to translators directly, and they can use tools for PO editing such as Poedit to translate the strings. After that, they can export an MO file which you can import into your project. Alternatively, you can set up a translation environment like Glotpress for translations, import your POT file there, and export translations as PO and MO files. You should locate these files into the path defined in your ",(0,o.jsx)(n.code,{children:"load_theme_textdomain"})," call, and they should have the name ",(0,o.jsx)(n.code,{children:"{textdomain}-{locale}.mo"})," (e.g. ",(0,o.jsx)(n.code,{children:"eightshift-boilerplate-hr_HR.mo"}),"), that is, ",(0,o.jsx)(n.code,{children:"{textdomain}-{locale}.po"}),"."]}),"\n",(0,o.jsxs)(n.p,{children:["MO translations are only loaded by PHP code and aren't understood by Gutenberg. To do so, you'll need to generate a JED file from the PO file. You can probably use the WP CLI ",(0,o.jsx)(n.code,{children:"wp i18n make-json"})," file for that (",(0,o.jsx)(n.a,{href:"https://developer.wordpress.org/cli/commands/i18n/make-json/",children:"https://developer.wordpress.org/cli/commands/i18n/make-json/"}),"). If you're using Glotpress, you can simply export the locale as a JED file."]}),"\n",(0,o.jsxs)(n.p,{children:["To instruct Gutenberg on how to load your JED translations, you'll need to call ",(0,o.jsx)(n.code,{children:"wp_set_script_translations"})," providing a text-domain, handle (script identifier), and locale path. If you're using the Eightshift Libs ",(0,o.jsx)(n.code,{children:"I18n"})," class, this is done for you with the same assumptions as for PHP translations. Furthermore, as we're assuming you're setting translations for block editor scripts, we set the handle to ",(0,o.jsx)(n.code,{children:"{$assetsPrefix}-block-editor-scripts"}),". If you haven't changed how scripts are enqueued, this should be the correct handle and your assets prefix should be your project name."]}),"\n",(0,o.jsxs)(n.p,{children:["Finally, to make sure WordPress loads the JED translations, you should place them into the path defined by your ",(0,o.jsx)(n.code,{children:"wp_set_script_translations"})," call (",(0,o.jsx)(n.code,{children:"src/I18n/languages"})," by default in the ",(0,o.jsx)(n.code,{children:"I18n"})," class) and make sure they have the name structure ",(0,o.jsx)(n.code,{children:"{textdomain}-{locale}-{handle}.json"}),". (e.g. ",(0,o.jsx)(n.code,{children:"eightshift-boilerplate-hr_HR-eightshift-boilerplate-block-editor-scripts.json"}),")"]}),"\n",(0,o.jsx)(n.p,{children:"After all of this work, you should be able to change the locale on the site, network or user level in the WordPress admin."})]})}function h(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},11151:(e,n,t)=>{t.d(n,{Z:()=>r,a:()=>a});var o=t(67294);const s={},i=o.createContext(s);function a(e){const n=o.useContext(i);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(s):e.components||s:a(e.components),o.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b31b2138.bf692a88.js b/assets/js/b31b2138.bf692a88.js new file mode 100644 index 000000000..527c27c72 --- /dev/null +++ b/assets/js/b31b2138.bf692a88.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[29580],{91248:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>i,metadata:()=>r,toc:()=>c});var o=t(17624),s=t(4552);const i={id:"tips-tricks",title:"Tips & Tricks"},a=void 0,r={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.",source:"@site/docs/basics/tips-tricks.md",sourceDirName:"basics",slug:"/basics/tips-tricks",permalink:"/docs/basics/tips-tricks",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"tips-tricks",title:"Tips & Tricks"},sidebar:"docs",previous:{title:"PHP",permalink:"/docs/basics/helpers-php"},next:{title:"Intro",permalink:"/docs/tutorials/intro"}},l={},c=[{value:"Always disable cache when you are writing block editor components",id:"always-disable-cache-when-you-are-writing-block-editor-components",level:3},{value:"When to restart your Webpack watch?",id:"when-to-restart-your-webpack-watch",level:3},{value:"Using boilerplate and boilerplate-plugin in the same project",id:"using-boilerplate-and-boilerplate-plugin-in-the-same-project",level:3},{value:"Internationalization (I18n) and localization (L10n)",id:"internationalization-i18n-and-localization-l10n",level:3}];function d(e){const n={a:"a",code:"code",em:"em",h3:"h3",li:"li",p:"p",pre:"pre",ul:"ul",...(0,s.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:"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."}),"\n",(0,o.jsx)(n.h3,{id:"always-disable-cache-when-you-are-writing-block-editor-components",children:"Always disable cache when you are writing block editor components"}),"\n",(0,o.jsx)(n.p,{children:"When you are writing a JavaScript part of the block you should always have your browser inspector open and checkbox checked for disabling browser cache in the network tab. WordPress core is caching JS files and you may not always get the latest changes of your code in the editor. This way you can be sure that everything is up to date."}),"\n",(0,o.jsx)(n.h3,{id:"when-to-restart-your-webpack-watch",children:"When to restart your Webpack watch?"}),"\n",(0,o.jsx)(n.p,{children:"As we described in the previous chapters Webpack watch is used to monitor all your code changes and update the compiled files with your latest changes. We have set our folder structure in a way so we can have files automatically included in the build. However, there are some times you must restart your Webpack watch:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"Adding a new block/component."}),"\n",(0,o.jsx)(n.li,{children:"Changing the block/component folder name."}),"\n",(0,o.jsx)(n.li,{children:"Changing any of the file names in the block/component folder."}),"\n",(0,o.jsx)(n.li,{children:"Adding/removing a JS package to the project."}),"\n",(0,o.jsx)(n.li,{children:"Changing the webpack, babel, eslint, stylelint configuration."}),"\n",(0,o.jsx)(n.li,{children:"Changing the project domain name for Browser sync."}),"\n",(0,o.jsx)(n.li,{children:"Adding/removing a new JS or SCSS file in the global assets folder."}),"\n"]}),"\n",(0,o.jsx)(n.h3,{id:"using-boilerplate-and-boilerplate-plugin-in-the-same-project",children:"Using boilerplate and boilerplate-plugin in the same project"}),"\n",(0,o.jsx)(n.p,{children:"When you are using one boilerplate for a theme and another for a plugin keep in mind that you will have to do some changes. We would recommend leaving the theme as is and making changes to the plugin. Here are some of the changes you should make:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["If using manifest, you should update the ",(0,o.jsx)(n.code,{children:"MANIFEST_ITEM"})," filter name to something else."]}),"\n",(0,o.jsx)(n.li,{children:"If using blocks, change the default category of all your plugin blocks."}),"\n",(0,o.jsxs)(n.li,{children:["If using blocks, update all blocks to a new category in each block ",(0,o.jsx)(n.code,{children:"manifest.json"})," file."]}),"\n",(0,o.jsxs)(n.li,{children:["If using blocks, update the block namespace in the global block ",(0,o.jsx)(n.code,{children:"manifest.json"})," file."]}),"\n",(0,o.jsx)(n.li,{children:"If using blocks, change the blocks' background and foreground color (Not necessary but it would be a good UX)."}),"\n",(0,o.jsx)(n.li,{children:"If using blocks, make your own implementation of the Components::render method so you don't need to pass project location on every usage (example below)."}),"\n",(0,o.jsxs)(n.li,{children:["Update the default project imposter namespace in the ",(0,o.jsx)(n.code,{children:"composer.json"})," file and run ",(0,o.jsx)(n.code,{children:"composer install"}),"."]}),"\n",(0,o.jsx)(n.li,{children:"Update all files with the new vendor namespace prefix."}),"\n",(0,o.jsx)(n.li,{children:"Update the default WP-CLI command prefix for your plugin located in the root of your plugin."}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Helpers/Components.php"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-php",children:"/**\n * Helpers for components\n *\n * @package PluginNamespace\\Helpers\n */\n\ndeclare(strict_types=1);\n\nnamespace PluginNamespace\\Helpers;\n\nuse PluginNamespace\\Config\\Config;\nuse EightshiftLibs\\Helpers\\Components as LibsComponents;\n\n/**\n * Helpers for components\n */\nclass Components extends LibsComponents\n{\n\t/**\n\t * Local render method.\n\t */\n\tpublic static function render(string $component, array $attributes = [], string $parentPath = '', bool $useComponentDefaults = false): string\n\t{\n\t\t$parentPath = Config::getProjectPath();\n\n\t\treturn parent::render($component, $attributes, $parentPath, $useComponentDefaults);\n\t}\n}\n"})}),"\n",(0,o.jsx)(n.h3,{id:"internationalization-i18n-and-localization-l10n",children:"Internationalization (I18n) and localization (L10n)"}),"\n",(0,o.jsxs)(n.p,{children:["To make sure your project is translatable into other languages, you should use ",(0,o.jsx)(n.a,{href:"https://codex.wordpress.org/I18n_for_WordPress_Developers",children:"WordPress's i18n functions"})," every time you output text. This process, called internationalization, is quite simple to implement by using the ",(0,o.jsx)(n.code,{children:"__"})," WordPress function, which is available in both PHP and Gutenberg (in the ",(0,o.jsx)(n.code,{children:"@wordpress/i18n"})," package) and is standard practice in Eightshift Frontend Libs for all text output."]}),"\n",(0,o.jsxs)(n.p,{children:["The ",(0,o.jsx)(n.code,{children:"__"})," function accepts a string to translate and a text-domain, which is used to tell WordPress which translation set to use, and returns the translated string (or original string, in case a translation doesn't exist). Note that you can provide a ",(0,o.jsx)(n.code,{children:"sprintf"}),"-parametrized string to ",(0,o.jsx)(n.code,{children:"__"})," and use ",(0,o.jsx)(n.code,{children:"sprintf"})," on its return value to populate the string with certain values. You should also load the text-domain using ",(0,o.jsx)(n.code,{children:"load_theme_textdomain"}),". Using the Eightshift Libs ",(0,o.jsx)(n.code,{children:"I18n"})," class will do this for you by instructing WordPress to look for translations in ",(0,o.jsx)(n.code,{children:"src/I18n/languages"})," with the text-domain defined as your project name."]}),"\n",(0,o.jsxs)(n.p,{children:["However, there will come a time when ",(0,o.jsx)(n.em,{children:"being able"})," to translate won't be enough. You'll actually need to ",(0,o.jsx)(n.em,{children:"do"})," that. This happens in a process called localization and is a bit less trivial to do."]}),"\n",(0,o.jsxs)(n.p,{children:["First, you'll need to prepare the strings for translators. As WordPress i18n is based upon the ",(0,o.jsx)(n.code,{children:"gettext"}),' system, you should generate a POT ("portable object template") file which you can do by running WP-CLI command ',(0,o.jsx)(n.code,{children:"wp i18n make-pot"})," (",(0,o.jsx)(n.a,{href:"https://developer.wordpress.org/cli/commands/i18n/make-pot/",children:"https://developer.wordpress.org/cli/commands/i18n/make-pot/"}),") in your project root. Note that you may need to exclude vendor folders."]}),"\n",(0,o.jsxs)(n.p,{children:["You can provide this POT file to translators directly, and they can use tools for PO editing such as Poedit to translate the strings. After that, they can export an MO file which you can import into your project. Alternatively, you can set up a translation environment like Glotpress for translations, import your POT file there, and export translations as PO and MO files. You should locate these files into the path defined in your ",(0,o.jsx)(n.code,{children:"load_theme_textdomain"})," call, and they should have the name ",(0,o.jsx)(n.code,{children:"{textdomain}-{locale}.mo"})," (e.g. ",(0,o.jsx)(n.code,{children:"eightshift-boilerplate-hr_HR.mo"}),"), that is, ",(0,o.jsx)(n.code,{children:"{textdomain}-{locale}.po"}),"."]}),"\n",(0,o.jsxs)(n.p,{children:["MO translations are only loaded by PHP code and aren't understood by Gutenberg. To do so, you'll need to generate a JED file from the PO file. You can probably use the WP CLI ",(0,o.jsx)(n.code,{children:"wp i18n make-json"})," file for that (",(0,o.jsx)(n.a,{href:"https://developer.wordpress.org/cli/commands/i18n/make-json/",children:"https://developer.wordpress.org/cli/commands/i18n/make-json/"}),"). If you're using Glotpress, you can simply export the locale as a JED file."]}),"\n",(0,o.jsxs)(n.p,{children:["To instruct Gutenberg on how to load your JED translations, you'll need to call ",(0,o.jsx)(n.code,{children:"wp_set_script_translations"})," providing a text-domain, handle (script identifier), and locale path. If you're using the Eightshift Libs ",(0,o.jsx)(n.code,{children:"I18n"})," class, this is done for you with the same assumptions as for PHP translations. Furthermore, as we're assuming you're setting translations for block editor scripts, we set the handle to ",(0,o.jsx)(n.code,{children:"{$assetsPrefix}-block-editor-scripts"}),". If you haven't changed how scripts are enqueued, this should be the correct handle and your assets prefix should be your project name."]}),"\n",(0,o.jsxs)(n.p,{children:["Finally, to make sure WordPress loads the JED translations, you should place them into the path defined by your ",(0,o.jsx)(n.code,{children:"wp_set_script_translations"})," call (",(0,o.jsx)(n.code,{children:"src/I18n/languages"})," by default in the ",(0,o.jsx)(n.code,{children:"I18n"})," class) and make sure they have the name structure ",(0,o.jsx)(n.code,{children:"{textdomain}-{locale}-{handle}.json"}),". (e.g. ",(0,o.jsx)(n.code,{children:"eightshift-boilerplate-hr_HR-eightshift-boilerplate-block-editor-scripts.json"}),")"]}),"\n",(0,o.jsx)(n.p,{children:"After all of this work, you should be able to change the locale on the site, network or user level in the WordPress admin."})]})}function h(e={}){const{wrapper:n}={...(0,s.M)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},4552:(e,n,t)=>{t.d(n,{I:()=>r,M:()=>a});var o=t(11504);const s={},i=o.createContext(s);function a(e){const n=o.useContext(i);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(s):e.components||s:a(e.components),o.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b3636d59.b34b512c.js b/assets/js/b3636d59.b34b512c.js deleted file mode 100644 index 25352d4ac..000000000 --- a/assets/js/b3636d59.b34b512c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[21740],{14647:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>l,contentTitle:()=>c,default:()=>h,frontMatter:()=>a,metadata:()=>o,toc:()=>r});var i=s(85893),t=s(11151);const a={id:"di-container",title:"Dependency injection container"},c=void 0,o={id:"legacy/v4/guides/di-container",title:"Dependency injection container",description:"docs-source",source:"@site/docs/legacy/v4/guides/di-container.md",sourceDirName:"legacy/v4/guides",slug:"/legacy/v4/guides/di-container",permalink:"/docs/legacy/v4/guides/di-container",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"di-container",title:"Dependency injection container"},sidebar:"docs",previous:{title:"Extending Classes",permalink:"/docs/legacy/v4/guides/extending-classes"},next:{title:"Project Config",permalink:"/docs/legacy/v4/guides/config"}},l={},r=[{value:"Useful hint",id:"useful-hint",level:2}];function d(e){const n={a:"a",code:"code",em:"em",h2:"h2",img:"img",p:"p",pre:"pre",strong:"strong",...(0,t.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/class-main.php",children:(0,i.jsx)(n.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsx)(n.p,{children:"Dependency injection is a way of implementing inversion of control design pattern. It's used to handle the dependencies between multiple classes without the direct instantiation of one class in another - which causes tight coupling in the code, and makes it less testable and harder to maintain.\nDependency injection is a way of implementing inversion of control design pattern. It's used to handle the dependencies between multiple classes without the direct instantiation of one class in another - which causes tight coupling in the code and makes it less testable and harder to maintain."}),"\n",(0,i.jsx)(n.p,{children:"In general, if you instantiate another class like this inside your class"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"new SuperClass()\n"})}),"\n",(0,i.jsx)(n.p,{children:"that should be avoided because it tightly couples two classes."}),"\n",(0,i.jsxs)(n.p,{children:["Eightshift libs are using ",(0,i.jsx)(n.a,{href:"http://php-di.org/",children:"PHP-DI"})," as an implementation of a dependency injection container. We'll explain the implementation by following the ",(0,i.jsx)(n.a,{href:"https://github.com/infinum/eightshift-boilerplate/tree/v4.0.0/src/class-main.php",children:"eightshift-boilerplate"})," example."]}),"\n",(0,i.jsxs)(n.p,{children:["In your main class, which is used to store all the dependencies in your code, and which extends the main eightshift-lib class (",(0,i.jsx)(n.code,{children:"Eightshift_Libs\\Core\\Main"}),"), you need to define a method called ",(0,i.jsx)(n.code,{children:"get_service_classes()"})," which contains an array of service classes (those that have a way to register hooks in your WordPress project):"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"protected function get_service_classes() : array {\n return [\n\n // Config.\n Config::class,\n\n // Manifest.\n Lib_Manifest\\Manifest::class => [ Config::class ],\n\n // I18n.\n Lib_I18n\\I18n::class => [ Config::class ],\n\n // Enqueue.\n Lib_Enqueue\\Enqueue_Admin::class => [ Config::class, Lib_Manifest\\Manifest::class ],\n Lib_Enqueue\\Enqueue_Theme::class => [ Config::class, Lib_Manifest\\Manifest::class ],\n Lib_Enqueue\\Enqueue_Blocks::class => [ Config::class, Lib_Manifest\\Manifest::class ],\n\n // Login.\n Lib_Login\\Login::class,\n\n // Media.\n Media\\Media::class,\n\n // Admin.\n Admin\\Modify_Admin_Appearance::class,\n\n // Menu.\n Menu\\Menu::class,\n\n // Blocks.\n Lib_Blocks\\Blocks::class => [ Config::class ],\n ];\n}\n"})}),"\n",(0,i.jsxs)(n.p,{children:["Whenever a class has a dependency on another class, you'd add this dependency through a process of constructor injection. For instance, the ",(0,i.jsx)(n.code,{children:"Enqueue_Admin"})," class depends on both the ",(0,i.jsx)(n.code,{children:"Config"})," and ",(0,i.jsx)(n.code,{children:"Manifest"})," classes. Looking at the ",(0,i.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/enqueue/class-enqueue-admin.php",children:"implementation"})," we have:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"class Enqueue_Admin implements Service {\n public function __construct( Config_Data $config, Manifest_Data $manifest ) {\n $this->config = $config;\n $this->manifest = $manifest;\n }\n}\n"})}),"\n",(0,i.jsxs)(n.p,{children:["Notice that we could add ",(0,i.jsx)(n.code,{children:"Lib_Manifest\\Manifest"})," as a type hint in the constructor of the ",(0,i.jsx)(n.code,{children:"Enqueue_Admin"})," class and ",(0,i.jsx)(n.code,{children:"Lib_Manifest\\Config"})," as well, but instead, we used their ",(0,i.jsx)(n.em,{children:"interfaces"}),": ",(0,i.jsx)(n.code,{children:"Config_Data"})," and ",(0,i.jsx)(n.code,{children:"Manifest_Data"}),". If we used concrete classes, we wouldn't have to add these in the ",(0,i.jsx)(n.code,{children:"get_service_classes()"})," method array, because the DI container lib would be able to figure out what class the ",(0,i.jsx)(n.code,{children:"Enqueue_Admin"})," class uses as a dependency through a process called ",(0,i.jsx)(n.a,{href:"https://www.php.net/manual/en/intro.reflection.php",children:"reflection"}),"."]}),"\n",(0,i.jsxs)(n.p,{children:["This, however, creates a tight coupling - the ",(0,i.jsx)(n.code,{children:"Enqueue_Admin"})," class now ",(0,i.jsx)(n.strong,{children:"always"})," depends on these concrete classes, and we cannot easily replace them if we want to create automated tests.\nThis is why we use interfaces since interface only mandates the contract our class needs to honor - not the implementation of that contract."]}),"\n",(0,i.jsx)(n.p,{children:"By adding the interfaces we need to say to our DI container what the classes, that implement these interfaces, actually are. This is why we needed to define:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"Lib_Enqueue\\Enqueue_Admin::class => [ Config::class, Lib_Manifest\\Manifest::class ]\n"})}),"\n",(0,i.jsxs)(n.p,{children:["in our ",(0,i.jsx)(n.code,{children:"get_service_classes()"})," method."]}),"\n",(0,i.jsx)(n.p,{children:"The beauty of this method is that we can easily add mocks in our automated tests:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"protected function get_service_classes() : array {\n $services = [\n Lib_Enqueue\\Enqueue_Admin::class => [ Config::class, Lib_Manifest\\Manifest::class ],\n // Other classes go here.\n ];\n\n if ( getenv('TEST') ) {\n $services[ Lib_Enqueue\\Enqueue_Admin::class ] => [ Fixture\\Config::class, Fixture\\Manifest::class ];\n }\n\n return $services;\n}\n"})}),"\n",(0,i.jsxs)(n.p,{children:["If we had an environment variable ",(0,i.jsx)(n.code,{children:"TEST"})," defined in our ",(0,i.jsx)(n.code,{children:"phpunit.xml"})," defined, this means that the ",(0,i.jsx)(n.code,{children:"Lib_Enqueue\\Enqueue_Admin"})," class will get overwritten during the test run, and we can pass the fake classes from the ",(0,i.jsx)(n.code,{children:"Fixture"})," namespace."]}),"\n",(0,i.jsx)(n.p,{children:"This is just a simple example, but one that could prove useful when writing testable code in the future, and something to be mindful of."}),"\n",(0,i.jsx)(n.h2,{id:"useful-hint",children:"Useful hint"}),"\n",(0,i.jsx)(n.p,{children:"Don't pass too many dependencies in your classes. Having more than three dependencies is usually a sign that your class may be doing too much, and that it should probably be broken down into more different classes."})]})}function h(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},11151:(e,n,s)=>{s.d(n,{Z:()=>o,a:()=>c});var i=s(67294);const t={},a=i.createContext(t);function c(e){const n=i.useContext(a);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:c(e.components),i.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b3636d59.e70a7e18.js b/assets/js/b3636d59.e70a7e18.js new file mode 100644 index 000000000..0a7a1792b --- /dev/null +++ b/assets/js/b3636d59.e70a7e18.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[74384],{66836:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>l,contentTitle:()=>c,default:()=>h,frontMatter:()=>a,metadata:()=>o,toc:()=>r});var i=s(17624),t=s(4552);const a={id:"di-container",title:"Dependency injection container"},c=void 0,o={id:"legacy/v4/guides/di-container",title:"Dependency injection container",description:"docs-source",source:"@site/docs/legacy/v4/guides/di-container.md",sourceDirName:"legacy/v4/guides",slug:"/legacy/v4/guides/di-container",permalink:"/docs/legacy/v4/guides/di-container",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"di-container",title:"Dependency injection container"},sidebar:"docs",previous:{title:"Extending Classes",permalink:"/docs/legacy/v4/guides/extending-classes"},next:{title:"Project Config",permalink:"/docs/legacy/v4/guides/config"}},l={},r=[{value:"Useful hint",id:"useful-hint",level:2}];function d(e){const n={a:"a",code:"code",em:"em",h2:"h2",img:"img",p:"p",pre:"pre",strong:"strong",...(0,t.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/class-main.php",children:(0,i.jsx)(n.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsx)(n.p,{children:"Dependency injection is a way of implementing inversion of control design pattern. It's used to handle the dependencies between multiple classes without the direct instantiation of one class in another - which causes tight coupling in the code, and makes it less testable and harder to maintain.\nDependency injection is a way of implementing inversion of control design pattern. It's used to handle the dependencies between multiple classes without the direct instantiation of one class in another - which causes tight coupling in the code and makes it less testable and harder to maintain."}),"\n",(0,i.jsx)(n.p,{children:"In general, if you instantiate another class like this inside your class"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"new SuperClass()\n"})}),"\n",(0,i.jsx)(n.p,{children:"that should be avoided because it tightly couples two classes."}),"\n",(0,i.jsxs)(n.p,{children:["Eightshift libs are using ",(0,i.jsx)(n.a,{href:"http://php-di.org/",children:"PHP-DI"})," as an implementation of a dependency injection container. We'll explain the implementation by following the ",(0,i.jsx)(n.a,{href:"https://github.com/infinum/eightshift-boilerplate/tree/v4.0.0/src/class-main.php",children:"eightshift-boilerplate"})," example."]}),"\n",(0,i.jsxs)(n.p,{children:["In your main class, which is used to store all the dependencies in your code, and which extends the main eightshift-lib class (",(0,i.jsx)(n.code,{children:"Eightshift_Libs\\Core\\Main"}),"), you need to define a method called ",(0,i.jsx)(n.code,{children:"get_service_classes()"})," which contains an array of service classes (those that have a way to register hooks in your WordPress project):"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"protected function get_service_classes() : array {\n return [\n\n // Config.\n Config::class,\n\n // Manifest.\n Lib_Manifest\\Manifest::class => [ Config::class ],\n\n // I18n.\n Lib_I18n\\I18n::class => [ Config::class ],\n\n // Enqueue.\n Lib_Enqueue\\Enqueue_Admin::class => [ Config::class, Lib_Manifest\\Manifest::class ],\n Lib_Enqueue\\Enqueue_Theme::class => [ Config::class, Lib_Manifest\\Manifest::class ],\n Lib_Enqueue\\Enqueue_Blocks::class => [ Config::class, Lib_Manifest\\Manifest::class ],\n\n // Login.\n Lib_Login\\Login::class,\n\n // Media.\n Media\\Media::class,\n\n // Admin.\n Admin\\Modify_Admin_Appearance::class,\n\n // Menu.\n Menu\\Menu::class,\n\n // Blocks.\n Lib_Blocks\\Blocks::class => [ Config::class ],\n ];\n}\n"})}),"\n",(0,i.jsxs)(n.p,{children:["Whenever a class has a dependency on another class, you'd add this dependency through a process of constructor injection. For instance, the ",(0,i.jsx)(n.code,{children:"Enqueue_Admin"})," class depends on both the ",(0,i.jsx)(n.code,{children:"Config"})," and ",(0,i.jsx)(n.code,{children:"Manifest"})," classes. Looking at the ",(0,i.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/enqueue/class-enqueue-admin.php",children:"implementation"})," we have:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"class Enqueue_Admin implements Service {\n public function __construct( Config_Data $config, Manifest_Data $manifest ) {\n $this->config = $config;\n $this->manifest = $manifest;\n }\n}\n"})}),"\n",(0,i.jsxs)(n.p,{children:["Notice that we could add ",(0,i.jsx)(n.code,{children:"Lib_Manifest\\Manifest"})," as a type hint in the constructor of the ",(0,i.jsx)(n.code,{children:"Enqueue_Admin"})," class and ",(0,i.jsx)(n.code,{children:"Lib_Manifest\\Config"})," as well, but instead, we used their ",(0,i.jsx)(n.em,{children:"interfaces"}),": ",(0,i.jsx)(n.code,{children:"Config_Data"})," and ",(0,i.jsx)(n.code,{children:"Manifest_Data"}),". If we used concrete classes, we wouldn't have to add these in the ",(0,i.jsx)(n.code,{children:"get_service_classes()"})," method array, because the DI container lib would be able to figure out what class the ",(0,i.jsx)(n.code,{children:"Enqueue_Admin"})," class uses as a dependency through a process called ",(0,i.jsx)(n.a,{href:"https://www.php.net/manual/en/intro.reflection.php",children:"reflection"}),"."]}),"\n",(0,i.jsxs)(n.p,{children:["This, however, creates a tight coupling - the ",(0,i.jsx)(n.code,{children:"Enqueue_Admin"})," class now ",(0,i.jsx)(n.strong,{children:"always"})," depends on these concrete classes, and we cannot easily replace them if we want to create automated tests.\nThis is why we use interfaces since interface only mandates the contract our class needs to honor - not the implementation of that contract."]}),"\n",(0,i.jsx)(n.p,{children:"By adding the interfaces we need to say to our DI container what the classes, that implement these interfaces, actually are. This is why we needed to define:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"Lib_Enqueue\\Enqueue_Admin::class => [ Config::class, Lib_Manifest\\Manifest::class ]\n"})}),"\n",(0,i.jsxs)(n.p,{children:["in our ",(0,i.jsx)(n.code,{children:"get_service_classes()"})," method."]}),"\n",(0,i.jsx)(n.p,{children:"The beauty of this method is that we can easily add mocks in our automated tests:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"protected function get_service_classes() : array {\n $services = [\n Lib_Enqueue\\Enqueue_Admin::class => [ Config::class, Lib_Manifest\\Manifest::class ],\n // Other classes go here.\n ];\n\n if ( getenv('TEST') ) {\n $services[ Lib_Enqueue\\Enqueue_Admin::class ] => [ Fixture\\Config::class, Fixture\\Manifest::class ];\n }\n\n return $services;\n}\n"})}),"\n",(0,i.jsxs)(n.p,{children:["If we had an environment variable ",(0,i.jsx)(n.code,{children:"TEST"})," defined in our ",(0,i.jsx)(n.code,{children:"phpunit.xml"})," defined, this means that the ",(0,i.jsx)(n.code,{children:"Lib_Enqueue\\Enqueue_Admin"})," class will get overwritten during the test run, and we can pass the fake classes from the ",(0,i.jsx)(n.code,{children:"Fixture"})," namespace."]}),"\n",(0,i.jsx)(n.p,{children:"This is just a simple example, but one that could prove useful when writing testable code in the future, and something to be mindful of."}),"\n",(0,i.jsx)(n.h2,{id:"useful-hint",children:"Useful hint"}),"\n",(0,i.jsx)(n.p,{children:"Don't pass too many dependencies in your classes. Having more than three dependencies is usually a sign that your class may be doing too much, and that it should probably be broken down into more different classes."})]})}function h(e={}){const{wrapper:n}={...(0,t.M)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},4552:(e,n,s)=>{s.d(n,{I:()=>o,M:()=>c});var i=s(11504);const t={},a=i.createContext(t);function c(e){const n=i.useContext(a);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:c(e.components),i.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b3760b7c.15a953b9.js b/assets/js/b3760b7c.15a953b9.js new file mode 100644 index 000000000..f69b7f39a --- /dev/null +++ b/assets/js/b3760b7c.15a953b9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[3024],{23596:(t,e,r)=>{r.r(e),r.d(e,{assets:()=>l,contentTitle:()=>i,default:()=>p,frontMatter:()=>a,metadata:()=>s,toc:()=>c});var o=r(17624),n=r(4552);const a={id:"data-type-selector",title:"Data type selector"},i=void 0,s={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.",source:"@site/forms/php/filters/block/form/data-type-selector.md",sourceDirName:"php/filters/block/form",slug:"/php/filters/block/form/data-type-selector",permalink:"/forms/php/filters/block/form/data-type-selector",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"data-type-selector",title:"Data type selector"},sidebar:"forms",previous:{title:"Tracking additional data",permalink:"/forms/php/filters/block/form/tracking-additional-data"},next:{title:"Phone sync",permalink:"/forms/php/filters/block/form/phone-sync"}},l={},c=[];function d(t){const e={code:"code",p:"p",pre:"pre",...(0,n.M)(),...t.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.p,{children:"This filter will add a new data attribute to the form element. It is used to identify the form type in the frontend."}),"\n",(0,o.jsxs)(e.p,{children:["In other words, you can use this filter to change the value of the ",(0,o.jsx)(e.code,{children:"formDataTypeSelector"})," attribute during a form render.\nThe attribute is used to output a ",(0,o.jsx)(e.code,{children:"data-type-selector"})," HTML attribute of the form element."]}),"\n",(0,o.jsx)(e.pre,{children:(0,o.jsx)(e.code,{className:"language-php",children:"\\add_filter('es_forms_block_form_data_type_selector', [$this 'getFormDataTypeSelector'], 10, 2);\n\n/**\n * Changing the form type selector on render\n * This filter will override the attribute-provided type selector for a Form component.\n * Passes form component attributes to the callback function as well, so you can check all sorts of conditions when filtering.\n *\n * In other words, you can use this filter to change the value of the `formDataTypeSelector` attribute during a form render.\n * The attribute is used to output a `data-type-selector` HTML attribute of the form element.\n *\n * @param string $selector The data type selector to filter.\n * @param array<mixed> $attr Form component attributes.\n *\n * @return string Filtered value.\n */\npublic function getFormDataTypeSelector(string $selector, array $attr): string\n{\n\tif (($attr['formType'] ?? '') === 'mailchimp') {\n\t\treturn '';\n\t}\n\n\treturn 'my-new-selector';\n}\n"})})]})}function p(t={}){const{wrapper:e}={...(0,n.M)(),...t.components};return e?(0,o.jsx)(e,{...t,children:(0,o.jsx)(d,{...t})}):d(t)}},4552:(t,e,r)=>{r.d(e,{I:()=>s,M:()=>i});var o=r(11504);const n={},a=o.createContext(n);function i(t){const e=o.useContext(a);return o.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function s(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(n):t.components||n:i(t.components),o.createElement(a.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/b3760b7c.b508f851.js b/assets/js/b3760b7c.b508f851.js deleted file mode 100644 index b7e8534e2..000000000 --- a/assets/js/b3760b7c.b508f851.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[40730],{36870:(t,e,r)=>{r.r(e),r.d(e,{assets:()=>l,contentTitle:()=>i,default:()=>p,frontMatter:()=>a,metadata:()=>s,toc:()=>c});var o=r(85893),n=r(11151);const a={id:"data-type-selector",title:"Data type selector"},i=void 0,s={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.",source:"@site/forms/php/filters/block/form/data-type-selector.md",sourceDirName:"php/filters/block/form",slug:"/php/filters/block/form/data-type-selector",permalink:"/forms/php/filters/block/form/data-type-selector",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"data-type-selector",title:"Data type selector"},sidebar:"forms",previous:{title:"Tracking additional data",permalink:"/forms/php/filters/block/form/tracking-additional-data"},next:{title:"Phone sync",permalink:"/forms/php/filters/block/form/phone-sync"}},l={},c=[];function d(t){const e={code:"code",p:"p",pre:"pre",...(0,n.a)(),...t.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.p,{children:"This filter will add a new data attribute to the form element. It is used to identify the form type in the frontend."}),"\n",(0,o.jsxs)(e.p,{children:["In other words, you can use this filter to change the value of the ",(0,o.jsx)(e.code,{children:"formDataTypeSelector"})," attribute during a form render.\nThe attribute is used to output a ",(0,o.jsx)(e.code,{children:"data-type-selector"})," HTML attribute of the form element."]}),"\n",(0,o.jsx)(e.pre,{children:(0,o.jsx)(e.code,{className:"language-php",children:"\\add_filter('es_forms_block_form_data_type_selector', [$this 'getFormDataTypeSelector'], 10, 2);\n\n/**\n * Changing the form type selector on render\n * This filter will override the attribute-provided type selector for a Form component.\n * Passes form component attributes to the callback function as well, so you can check all sorts of conditions when filtering.\n *\n * In other words, you can use this filter to change the value of the `formDataTypeSelector` attribute during a form render.\n * The attribute is used to output a `data-type-selector` HTML attribute of the form element.\n *\n * @param string $selector The data type selector to filter.\n * @param array<mixed> $attr Form component attributes.\n *\n * @return string Filtered value.\n */\npublic function getFormDataTypeSelector(string $selector, array $attr): string\n{\n\tif (($attr['formType'] ?? '') === 'mailchimp') {\n\t\treturn '';\n\t}\n\n\treturn 'my-new-selector';\n}\n"})})]})}function p(t={}){const{wrapper:e}={...(0,n.a)(),...t.components};return e?(0,o.jsx)(e,{...t,children:(0,o.jsx)(d,{...t})}):d(t)}},11151:(t,e,r)=>{r.d(e,{Z:()=>s,a:()=>i});var o=r(67294);const n={},a=o.createContext(n);function i(t){const e=o.useContext(a);return o.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function s(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(n):t.components||n:i(t.components),o.createElement(a.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/b3b90a5e.743d0ff3.js b/assets/js/b3b90a5e.743d0ff3.js deleted file mode 100644 index 261591c7f..000000000 --- a/assets/js/b3b90a5e.743d0ff3.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[33179],{52169: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/b3b90a5e.7a4dcca8.js b/assets/js/b3b90a5e.7a4dcca8.js new file mode 100644 index 000000000..1979f1b53 --- /dev/null +++ b/assets/js/b3b90a5e.7a4dcca8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[59476],{32696: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/b4c9bdc9.db931af6.js b/assets/js/b4c9bdc9.db931af6.js new file mode 100644 index 000000000..b64fdb030 --- /dev/null +++ b/assets/js/b4c9bdc9.db931af6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[80472],{41012:(e,s,o)=>{o.r(s),o.d(s,{assets:()=>l,contentTitle:()=>c,default:()=>d,frontMatter:()=>n,metadata:()=>r,toc:()=>a});var t=o(17624),i=o(4552);const n={id:"blocks-hooks",title:"Hooks"},c=void 0,r={id:"legacy/v6/basics/blocks-hooks",title:"Hooks",description:"docs-source",source:"@site/docs/legacy/v6/basics/blocks-hooks.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/blocks-hooks",permalink:"/docs/legacy/v6/basics/blocks-hooks",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-hooks",title:"Hooks"},sidebar:"docs",previous:{title:"Transforms",permalink:"/docs/legacy/v6/basics/blocks-transforms"},next:{title:"Special Use Cases",permalink:"/docs/legacy/v6/basics/blocks-special-use-cases"}},l={},a=[];function h(e){const s={a:"a",img:"img",p:"p",...(0,i.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/",children:(0,t.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsx)(s.p,{children:"WordPress block editor hooks provide the same functionalities as PHP hooks. They are used to modify the behavior of the existing blocks."}),"\n",(0,t.jsxs)(s.p,{children:["You can check the ",(0,t.jsx)(s.a,{href:"https://developer.wordpress.org/block-editor/developers/filters/block-filters/",children:"WordPress documentation"})," on this subject."]}),"\n",(0,t.jsx)(s.p,{children:"We didn't change anything here regarding the original documentation; we simply provided you with the structured file where you can write all your hooks."}),"\n",(0,t.jsxs)(s.p,{children:["Please follow this ",(0,t.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/custom/column/column-hooks.js",children:"example"})," to get more insights on using hooks in your project."]})]})}function d(e={}){const{wrapper:s}={...(0,i.M)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(h,{...e})}):h(e)}},4552:(e,s,o)=>{o.d(s,{I:()=>r,M:()=>c});var t=o(11504);const i={},n=t.createContext(i);function c(e){const s=t.useContext(n);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:c(e.components),t.createElement(n.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b4c9bdc9.f47be3c1.js b/assets/js/b4c9bdc9.f47be3c1.js deleted file mode 100644 index 36a4f9d8d..000000000 --- a/assets/js/b4c9bdc9.f47be3c1.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[71469],{20404:(e,s,o)=>{o.r(s),o.d(s,{assets:()=>l,contentTitle:()=>c,default:()=>d,frontMatter:()=>n,metadata:()=>r,toc:()=>a});var t=o(85893),i=o(11151);const n={id:"blocks-hooks",title:"Hooks"},c=void 0,r={id:"legacy/v6/basics/blocks-hooks",title:"Hooks",description:"docs-source",source:"@site/docs/legacy/v6/basics/blocks-hooks.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/blocks-hooks",permalink:"/docs/legacy/v6/basics/blocks-hooks",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-hooks",title:"Hooks"},sidebar:"docs",previous:{title:"Transforms",permalink:"/docs/legacy/v6/basics/blocks-transforms"},next:{title:"Special Use Cases",permalink:"/docs/legacy/v6/basics/blocks-special-use-cases"}},l={},a=[];function h(e){const s={a:"a",img:"img",p:"p",...(0,i.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/",children:(0,t.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsx)(s.p,{children:"WordPress block editor hooks provide the same functionalities as PHP hooks. They are used to modify the behavior of the existing blocks."}),"\n",(0,t.jsxs)(s.p,{children:["You can check the ",(0,t.jsx)(s.a,{href:"https://developer.wordpress.org/block-editor/developers/filters/block-filters/",children:"WordPress documentation"})," on this subject."]}),"\n",(0,t.jsx)(s.p,{children:"We didn't change anything here regarding the original documentation; we simply provided you with the structured file where you can write all your hooks."}),"\n",(0,t.jsxs)(s.p,{children:["Please follow this ",(0,t.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/custom/column/column-hooks.js",children:"example"})," to get more insights on using hooks in your project."]})]})}function d(e={}){const{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(h,{...e})}):h(e)}},11151:(e,s,o)=>{o.d(s,{Z:()=>r,a:()=>c});var t=o(67294);const i={},n=t.createContext(i);function c(e){const s=t.useContext(n);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:c(e.components),t.createElement(n.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b4f7c3fb.778e23f3.js b/assets/js/b4f7c3fb.778e23f3.js deleted file mode 100644 index 03e16204a..000000000 --- a/assets/js/b4f7c3fb.778e23f3.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[31653],{15659:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>r,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>l});var t=n(85893),i=n(11151);const o={id:"namespaces",title:"Namespaces"},a=void 0,c={id:"legacy/v6/basics/namespaces",title:"Namespaces",description:"docs-source",source:"@site/docs/legacy/v6/basics/namespaces.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/namespaces",permalink:"/docs/legacy/v6/basics/namespaces",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"namespaces",title:"Namespaces"},sidebar:"docs",previous:{title:"General",permalink:"/docs/legacy/v6/basics/backend"},next:{title:"Extending Classes",permalink:"/docs/legacy/v6/basics/extending-classes"}},r={},l=[{value:"Important note",id:"important-note",level:3}];function d(e){const s={a:"a",blockquote:"blockquote",code:"code",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/infinum/eightshift-libs/tree/4.0.0",children:(0,t.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:["The PHP codebase of this project lives in ",(0,t.jsx)(s.code,{children:"EightshiftLibs"})," namespace."]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Because WordPress lives in a global namespace, we had to provide the way for your project to be unique. That is why we implemented ",(0,t.jsx)(s.a,{href:"https://github.com/infinum/imposter-plugin",children:(0,t.jsx)(s.strong,{children:"Imposter"})})," in ",(0,t.jsx)(s.code,{children:"composer.json"}),". Imposter adds a namespace prefix to all the packages inside the ",(0,t.jsx)(s.code,{children:"vendor"})," folder that use namespacing."]}),"\n",(0,t.jsxs)(s.p,{children:["You can change the vendor prefix in your ",(0,t.jsx)(s.code,{children:"composer.json"})," file. If you do this, make sure you delete the ",(0,t.jsx)(s.code,{children:"vendor"})," folder and re-run ",(0,t.jsx)(s.code,{children:"composer install"}),"."]}),"\n",(0,t.jsx)(s.p,{children:"Using the default setup, your project will have the namespace you defined in the setup process."}),"\n",(0,t.jsxs)(s.p,{children:["However, let's say you change your ",(0,t.jsx)(s.code,{children:"composer.json"})," file to contain this snippet:"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-json",children:'"autoload": {\n "psr-4": {\n "CustomProject\\\\": "src/"\n }\n},\n"extra": {\n "imposter": {\n "namespace": "EightshiftBoilerplateVendor"\n }\n}\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Your current namespace is: ",(0,t.jsx)(s.code,{children:"CustomProject"}),"."]}),"\n",(0,t.jsxs)(s.li,{children:["Namespace for Eightshift Libs becomes: ",(0,t.jsx)(s.code,{children:"EightshiftBoilerplateVendor\\EightshiftLibs"}),"."]}),"\n",(0,t.jsxs)(s.li,{children:["Every package you additionally install will follow the same convention: ",(0,t.jsx)(s.code,{children:"EightshiftBoilerplateVendor\\SomePackageNamespace"}),"."]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"To sum it up"}),": you don't need to change the default vendor prefix if you only run one theme or one plugin with Eightshift Development Kit. If you have multiple Eightshift Development Kit-powered themes or plugins installed, please change the vendor prefix on each of the projects."]}),"\n",(0,t.jsx)(s.h3,{id:"important-note",children:"Important note"}),"\n",(0,t.jsxs)(s.p,{children:["If you are installing additional composer packages, make sure that they don't have any inline namespace usage. All referenced classes should be imported with ",(0,t.jsx)(s.code,{children:"use"})," statements, which must be defined at the top of files."]}),"\n",(0,t.jsx)(s.p,{children:"The Imposter plugin is not able to replace inline namespaces, which will cause issues with classname resolution and result in a fatal error getting thrown."}),"\n",(0,t.jsx)(s.p,{children:"To fix these issues, either create a PR on the package and fix this for everyone, or exclude this package from imposter script. Keep in mind that can have some unexpected side effects that we can't predict."})]})}function h(e={}){const{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},11151:(e,s,n)=>{n.d(s,{Z:()=>c,a:()=>a});var t=n(67294);const i={},o=t.createContext(i);function a(e){const s=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),t.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b4f7c3fb.b031eef5.js b/assets/js/b4f7c3fb.b031eef5.js new file mode 100644 index 000000000..1f7391469 --- /dev/null +++ b/assets/js/b4f7c3fb.b031eef5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[80564],{75668:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>r,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>l});var t=n(17624),i=n(4552);const o={id:"namespaces",title:"Namespaces"},a=void 0,c={id:"legacy/v6/basics/namespaces",title:"Namespaces",description:"docs-source",source:"@site/docs/legacy/v6/basics/namespaces.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/namespaces",permalink:"/docs/legacy/v6/basics/namespaces",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"namespaces",title:"Namespaces"},sidebar:"docs",previous:{title:"General",permalink:"/docs/legacy/v6/basics/backend"},next:{title:"Extending Classes",permalink:"/docs/legacy/v6/basics/extending-classes"}},r={},l=[{value:"Important note",id:"important-note",level:3}];function d(e){const s={a:"a",blockquote:"blockquote",code:"code",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/infinum/eightshift-libs/tree/4.0.0",children:(0,t.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:["The PHP codebase of this project lives in ",(0,t.jsx)(s.code,{children:"EightshiftLibs"})," namespace."]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Because WordPress lives in a global namespace, we had to provide the way for your project to be unique. That is why we implemented ",(0,t.jsx)(s.a,{href:"https://github.com/infinum/imposter-plugin",children:(0,t.jsx)(s.strong,{children:"Imposter"})})," in ",(0,t.jsx)(s.code,{children:"composer.json"}),". Imposter adds a namespace prefix to all the packages inside the ",(0,t.jsx)(s.code,{children:"vendor"})," folder that use namespacing."]}),"\n",(0,t.jsxs)(s.p,{children:["You can change the vendor prefix in your ",(0,t.jsx)(s.code,{children:"composer.json"})," file. If you do this, make sure you delete the ",(0,t.jsx)(s.code,{children:"vendor"})," folder and re-run ",(0,t.jsx)(s.code,{children:"composer install"}),"."]}),"\n",(0,t.jsx)(s.p,{children:"Using the default setup, your project will have the namespace you defined in the setup process."}),"\n",(0,t.jsxs)(s.p,{children:["However, let's say you change your ",(0,t.jsx)(s.code,{children:"composer.json"})," file to contain this snippet:"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-json",children:'"autoload": {\n "psr-4": {\n "CustomProject\\\\": "src/"\n }\n},\n"extra": {\n "imposter": {\n "namespace": "EightshiftBoilerplateVendor"\n }\n}\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Your current namespace is: ",(0,t.jsx)(s.code,{children:"CustomProject"}),"."]}),"\n",(0,t.jsxs)(s.li,{children:["Namespace for Eightshift Libs becomes: ",(0,t.jsx)(s.code,{children:"EightshiftBoilerplateVendor\\EightshiftLibs"}),"."]}),"\n",(0,t.jsxs)(s.li,{children:["Every package you additionally install will follow the same convention: ",(0,t.jsx)(s.code,{children:"EightshiftBoilerplateVendor\\SomePackageNamespace"}),"."]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"To sum it up"}),": you don't need to change the default vendor prefix if you only run one theme or one plugin with Eightshift Development Kit. If you have multiple Eightshift Development Kit-powered themes or plugins installed, please change the vendor prefix on each of the projects."]}),"\n",(0,t.jsx)(s.h3,{id:"important-note",children:"Important note"}),"\n",(0,t.jsxs)(s.p,{children:["If you are installing additional composer packages, make sure that they don't have any inline namespace usage. All referenced classes should be imported with ",(0,t.jsx)(s.code,{children:"use"})," statements, which must be defined at the top of files."]}),"\n",(0,t.jsx)(s.p,{children:"The Imposter plugin is not able to replace inline namespaces, which will cause issues with classname resolution and result in a fatal error getting thrown."}),"\n",(0,t.jsx)(s.p,{children:"To fix these issues, either create a PR on the package and fix this for everyone, or exclude this package from imposter script. Keep in mind that can have some unexpected side effects that we can't predict."})]})}function h(e={}){const{wrapper:s}={...(0,i.M)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},4552:(e,s,n)=>{n.d(s,{I:()=>c,M:()=>a});var t=n(11504);const i={},o=t.createContext(i);function a(e){const s=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),t.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b6358757.1caf28a9.js b/assets/js/b6358757.1caf28a9.js new file mode 100644 index 000000000..bd13238f7 --- /dev/null +++ b/assets/js/b6358757.1caf28a9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[21420],{30800:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>o,default:()=>f,frontMatter:()=>s,metadata:()=>l,toc:()=>m});var r=n(17624),a=n(4552),i=n(80148);const s={id:"moments",title:"Moments"},o=void 0,l={id:"php/filters/integrations/moments",title:"Moments",description:"Pre-Post Event Params",source:"@site/forms/php/filters/integrations/moments.mdx",sourceDirName:"php/filters/integrations",slug:"/php/filters/integrations/moments",permalink:"/forms/php/filters/integrations/moments",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"moments",title:"Moments"},sidebar:"forms",previous:{title:"MailerLite",permalink:"/forms/php/filters/integrations/mailerlite"},next:{title:"Workable",permalink:"/forms/php/filters/integrations/workable"}},d={},m=[{value:"Pre-Post Event Params",id:"pre-post-event-params",level:2},{value:"Pre-Post Event Params After",id:"pre-post-event-params-after",level:2}];function p(t){const e={code:"code",h2:"h2",p:"p",pre:"pre",...(0,a.M)(),...t.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.y,{name:"Moments",filter:"moments"}),"\n",(0,r.jsx)(e.h2,{id:"pre-post-event-params",children:"Pre-Post Event Params"}),"\n",(0,r.jsx)(e.p,{children:"This filter will allow you to add additional params to the body of the Moments integration payload before forms is done preparing the form params."}),"\n",(0,r.jsx)(e.pre,{children:(0,r.jsx)(e.code,{className:"language-php",children:"\\add_filter('es_forms_integrations_moments_pre_post_event_params', 'getMomentsPrePostEventParams', 10, 4);\n\n/**\n * Moments pre post event params before process.\n *\n * This filter will allow you to add additional params to the body of the Moments integration payload before forms is done preparing the form params.\n *\n * @param array<string, mixed> $params Form fields params.\n * @param string $eventName Event name value.\n * @param array<string, mixed> $map Map value.\n * @param string $formId FormId value.\n *\n * @return array<mixed>\n */\npublic function getMomentsPrePostEventParams(array $params, string $eventName, array $map, string $formId): array\n{\n\t$params['ib-submission-source'] = [\n\t\t'name' => 'ib-submission-source',\n\t\t'value' => 'value',\n\t\t'type' => 'text',\n\t\t'internalType' => '',\n\t];\n\n\treturn $params;\n}\n"})}),"\n",(0,r.jsx)(e.h2,{id:"pre-post-event-params-after",children:"Pre-Post Event Params After"}),"\n",(0,r.jsx)(e.p,{children:"This filter will allow you to add additional params to the body of the Moments integration payload after forms is done preparing the form params."}),"\n",(0,r.jsx)(e.pre,{children:(0,r.jsx)(e.code,{className:"language-php",children:"\\add_filter('es_forms_integrations_moments_pre_post_event_params_after', 'getMomentsPrePostEventParamsAfter', 10, 4);\n\n/**\n * Moments pre post event params after process.\n *\n * This filter will allow you to add additional params to the body of the Moments integration payload after forms is done preparing the form params.\n *\n * @param array<string, mixed> $output Output data.\n * @param array<string, mixed> $params Params original list.\n * @param string $eventName Event name value.\n * @param string $formId FormId value.\n *\n * @return array<mixed>\n */\npublic function getMomentsPrePostEventParamsAfter(array $output, array $params, string $eventName, string $formId): array\n{\n\t$output['properties'][\"testKey\"] = 'testValue';\n\n\treturn $output;\n}\n"})})]})}function f(t={}){const{wrapper:e}={...(0,a.M)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(p,{...t})}):p(t)}},80148:(t,e,n)=>{n.d(e,{g:()=>o,y:()=>s});n(11504);var r=n(1608),a=n(96616),i=n(17624);function s(t){let{filter:e,onlyUse:n=["dataFilter","orderFilter","prePostIdFilter","prePostParamsFilter"]}=t;return(0,i.jsxs)(i.Fragment,{children:[n.includes("dataFilter")&&(0,i.jsx)(l,{filter:e}),n.includes("orderFilter")&&(0,i.jsx)(d,{filter:e}),n.includes("prePostIdFilter")&&(0,i.jsx)(m,{filter:e}),n.includes("prePostParamsFilter")&&(0,i.jsx)(p,{filter:e})]})}function o(t){let{filter:e}=t;return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("p",{children:"Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc."}),(0,i.jsx)(r.c,{language:"php",children:(0,a.c)(`\n\t\t\tadd_filter('es_forms_block_${e}_additional_content', function(): string {\n\t\t\t\treturn '<custom-string>';\n\t\t\t})\n\t\t\t`)})]})}function l(t){let{filter:e}=t;return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h2",{children:"Data filter"}),(0,i.jsx)("p",{children:"Allows modifying form field data before it's shown in the Block Editor or output on the frontend."}),(0,i.jsx)("p",{children:"Useful if, for example, you want to ensure that all fields fit into a 2-column layout."}),(0,i.jsx)("p",{children:"Overrides any Block Editor changes!"}),(0,i.jsx)(r.c,{language:"php",children:(0,a.c)(`\n\t\t\tadd_filter('es_forms_integrations_${e}_data', 'getIntegrationFilterData', 10, 2);\n\n\t\t\t/**\n\t\t\t * Manipulate form fields data before it is sent to the Block Editor.\n\t\t\t *\n\t\t\t * @param array<mixed> $data Form fields data.\n\t\t\t * @param string $formId Form ID.\n\t\t\t *\n\t\t\t * @return array<mixed>\n\t\t\t */\n\t\t\tfunction getIntegrationFilterData(array $data, string $formId): array\n\t\t\t{\n\t\t\t\tforeach ($data as $index => $field) {\n\t\t\t\t\t$component = $field['component'] ?? '';\n\n\t\t\t\t\tif (!$component) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t$name = $field["{$component}Name"] ?? '';\n\n\t\t\t\t\tif (!$name) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch ($name) {\n\t\t\t\t\t\tcase 'firstname':\n\t\t\t\t\t\tcase 'lastname':\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthMobile"] = 12;\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthLarge"] = 6;\n\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"] = array_merge(\n\t\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthMobile",\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthLarge",\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t`)})]})}function d(t){let{filter:e}=t;return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h2",{children:"Order filter"}),(0,i.jsx)("p",{children:"Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor."}),(0,i.jsxs)("p",{children:["Not all fields need to have an order defined. For example, you may want to make sure ",(0,i.jsx)("code",{children:"firstname"}),", ",(0,i.jsx)("code",{children:"lastname"})," and ",(0,i.jsx)("code",{children:"email"})," are displayed first, but other fields follow their Block editor order."]}),(0,i.jsx)(r.c,{language:"php",children:(0,a.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_order', 'getIntegrationOrder');\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Forces form field order for the provided fields. For other fields, Block editor order is used.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationOrder(): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t'firstname',\n\t\t\t\t\t\t\t'lastname',\n\t\t\t\t\t\t\t'email',\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t`)})]})}function m(t){let{filter:e}=t;return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h2",{children:"Pre-post ID filter"}),(0,i.jsx)("p",{children:"Allows updating item IDs sent to external integrations to which the form data is sent."}),(0,i.jsx)(r.c,{language:"php",children:(0,a.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_pre_post_id', 'getIntegrationPrePostId', 10, 3);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies integration item ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @param string $itemId Integration item ID.\n\t\t\t\t\t * @param array<mixed> $params Params to be sent to the integration.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @return array<mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostId(string $itemId, array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn $itemId;\n\t\t\t\t\t}\n\t\t\t\t`)})]})}function p(t){let{filter:e}=t,n="";if("mailer"===e)n="mailer system";else n="external integration";return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h2",{children:"Pre-post parameters filter"}),(0,i.jsxs)("p",{children:["Allows modifying form field data before it's sent to ",n,". Useful if you want to make values derived from the sent data, or add new fields."]}),(0,i.jsx)(r.c,{language:"php",children:(0,a.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_pre_post_params', 'getIntegrationPrePostParams', 10, 2);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies form field data before it's sent to ${n}.\n\t\t\t\t\t *\n\t\t\t\t\t * @param array<string, mixed> $params Array of params.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string, mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostParams(array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\t$formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? '';\n\n\t\t\t\t\t\tif ($formSubmissionPageLt) {\n\t\t\t\t\t\t\t$params['ib-submission-source'] = [\n\t\t\t\t\t\t\t\t'name' => 'ib-submission-source',\n\t\t\t\t\t\t\t\t'value' => $formSubmissionPageLt,\n\t\t\t\t\t\t\t\t'type' => 'text',\n\t\t\t\t\t\t\t\t'internalType' => '',\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn $params;\n\t\t\t\t\t}\n\t\t\t\t`)})]})}},96616:(t,e,n)=>{function r(t){const e=t.split(/\n/g);for(;0===e[0]?.replace(/\s/g,"").length;)e.shift();for(;0===e[e.length-1]?.replace(/\s/g,"").length;)e.pop();const n=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>t.match(/^\s*/)?.[0]?.length??0)),r=Math.min(...n);return e.map((t=>t.slice(r))).join("\n")}n.d(e,{c:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/b6358757.993031c6.js b/assets/js/b6358757.993031c6.js deleted file mode 100644 index d31619316..000000000 --- a/assets/js/b6358757.993031c6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[83101],{54849:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>o,default:()=>f,frontMatter:()=>s,metadata:()=>l,toc:()=>m});var r=n(85893),a=n(11151),i=n(8122);const s={id:"moments",title:"Moments"},o=void 0,l={id:"php/filters/integrations/moments",title:"Moments",description:"Pre-Post Event Params",source:"@site/forms/php/filters/integrations/moments.mdx",sourceDirName:"php/filters/integrations",slug:"/php/filters/integrations/moments",permalink:"/forms/php/filters/integrations/moments",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"moments",title:"Moments"},sidebar:"forms",previous:{title:"MailerLite",permalink:"/forms/php/filters/integrations/mailerlite"},next:{title:"Workable",permalink:"/forms/php/filters/integrations/workable"}},d={},m=[{value:"Pre-Post Event Params",id:"pre-post-event-params",level:2},{value:"Pre-Post Event Params After",id:"pre-post-event-params-after",level:2}];function p(t){const e={code:"code",h2:"h2",p:"p",pre:"pre",...(0,a.a)(),...t.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.k,{name:"Moments",filter:"moments"}),"\n",(0,r.jsx)(e.h2,{id:"pre-post-event-params",children:"Pre-Post Event Params"}),"\n",(0,r.jsx)(e.p,{children:"This filter will allow you to add additional params to the body of the Moments integration payload before forms is done preparing the form params."}),"\n",(0,r.jsx)(e.pre,{children:(0,r.jsx)(e.code,{className:"language-php",children:"\\add_filter('es_forms_integrations_moments_pre_post_event_params', 'getMomentsPrePostEventParams', 10, 4);\n\n/**\n * Moments pre post event params before process.\n *\n * This filter will allow you to add additional params to the body of the Moments integration payload before forms is done preparing the form params.\n *\n * @param array<string, mixed> $params Form fields params.\n * @param string $eventName Event name value.\n * @param array<string, mixed> $map Map value.\n * @param string $formId FormId value.\n *\n * @return array<mixed>\n */\npublic function getMomentsPrePostEventParams(array $params, string $eventName, array $map, string $formId): array\n{\n\t$params['ib-submission-source'] = [\n\t\t'name' => 'ib-submission-source',\n\t\t'value' => 'value',\n\t\t'type' => 'text',\n\t\t'internalType' => '',\n\t];\n\n\treturn $params;\n}\n"})}),"\n",(0,r.jsx)(e.h2,{id:"pre-post-event-params-after",children:"Pre-Post Event Params After"}),"\n",(0,r.jsx)(e.p,{children:"This filter will allow you to add additional params to the body of the Moments integration payload after forms is done preparing the form params."}),"\n",(0,r.jsx)(e.pre,{children:(0,r.jsx)(e.code,{className:"language-php",children:"\\add_filter('es_forms_integrations_moments_pre_post_event_params_after', 'getMomentsPrePostEventParamsAfter', 10, 4);\n\n/**\n * Moments pre post event params after process.\n *\n * This filter will allow you to add additional params to the body of the Moments integration payload after forms is done preparing the form params.\n *\n * @param array<string, mixed> $output Output data.\n * @param array<string, mixed> $params Params original list.\n * @param string $eventName Event name value.\n * @param string $formId FormId value.\n *\n * @return array<mixed>\n */\npublic function getMomentsPrePostEventParamsAfter(array $output, array $params, string $eventName, string $formId): array\n{\n\t$output['properties'][\"testKey\"] = 'testValue';\n\n\treturn $output;\n}\n"})})]})}function f(t={}){const{wrapper:e}={...(0,a.a)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(p,{...t})}):p(t)}},8122:(t,e,n)=>{n.d(e,{F:()=>o,k:()=>s});n(67294);var r=n(9286),a=n(61684),i=n(85893);function s(t){let{filter:e,onlyUse:n=["dataFilter","orderFilter","prePostIdFilter","prePostParamsFilter"]}=t;return(0,i.jsxs)(i.Fragment,{children:[n.includes("dataFilter")&&(0,i.jsx)(l,{filter:e}),n.includes("orderFilter")&&(0,i.jsx)(d,{filter:e}),n.includes("prePostIdFilter")&&(0,i.jsx)(m,{filter:e}),n.includes("prePostParamsFilter")&&(0,i.jsx)(p,{filter:e})]})}function o(t){let{filter:e}=t;return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("p",{children:"Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc."}),(0,i.jsx)(r.Z,{language:"php",children:(0,a.p)("\n\t\t\tadd_filter('es_forms_block_"+e+"_additional_content', function(): string {\n\t\t\t\treturn '<custom-string>';\n\t\t\t})\n\t\t\t")})]})}function l(t){let{filter:e}=t;return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h2",{children:"Data filter"}),(0,i.jsx)("p",{children:"Allows modifying form field data before it's shown in the Block Editor or output on the frontend."}),(0,i.jsx)("p",{children:"Useful if, for example, you want to ensure that all fields fit into a 2-column layout."}),(0,i.jsx)("p",{children:"Overrides any Block Editor changes!"}),(0,i.jsx)(r.Z,{language:"php",children:(0,a.p)("\n\t\t\tadd_filter('es_forms_integrations_"+e+'_data\', \'getIntegrationFilterData\', 10, 2);\n\n\t\t\t/**\n\t\t\t * Manipulate form fields data before it is sent to the Block Editor.\n\t\t\t *\n\t\t\t * @param array<mixed> $data Form fields data.\n\t\t\t * @param string $formId Form ID.\n\t\t\t *\n\t\t\t * @return array<mixed>\n\t\t\t */\n\t\t\tfunction getIntegrationFilterData(array $data, string $formId): array\n\t\t\t{\n\t\t\t\tforeach ($data as $index => $field) {\n\t\t\t\t\t$component = $field[\'component\'] ?? \'\';\n\n\t\t\t\t\tif (!$component) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t$name = $field["{$component}Name"] ?? \'\';\n\n\t\t\t\t\tif (!$name) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch ($name) {\n\t\t\t\t\t\tcase \'firstname\':\n\t\t\t\t\t\tcase \'lastname\':\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthMobile"] = 12;\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthLarge"] = 6;\n\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"] = array_merge(\n\t\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthMobile",\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthLarge",\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t')})]})}function d(t){let{filter:e}=t;return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h2",{children:"Order filter"}),(0,i.jsx)("p",{children:"Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor."}),(0,i.jsxs)("p",{children:["Not all fields need to have an order defined. For example, you may want to make sure ",(0,i.jsx)("code",{children:"firstname"}),", ",(0,i.jsx)("code",{children:"lastname"})," and ",(0,i.jsx)("code",{children:"email"})," are displayed first, but other fields follow their Block editor order."]}),(0,i.jsx)(r.Z,{language:"php",children:(0,a.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_order', 'getIntegrationOrder');\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Forces form field order for the provided fields. For other fields, Block editor order is used.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationOrder(): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t'firstname',\n\t\t\t\t\t\t\t'lastname',\n\t\t\t\t\t\t\t'email',\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t")})]})}function m(t){let{filter:e}=t;return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h2",{children:"Pre-post ID filter"}),(0,i.jsx)("p",{children:"Allows updating item IDs sent to external integrations to which the form data is sent."}),(0,i.jsx)(r.Z,{language:"php",children:(0,a.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_pre_post_id', 'getIntegrationPrePostId', 10, 3);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies integration item ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @param string $itemId Integration item ID.\n\t\t\t\t\t * @param array<mixed> $params Params to be sent to the integration.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @return array<mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostId(string $itemId, array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn $itemId;\n\t\t\t\t\t}\n\t\t\t\t")})]})}function p(t){let{filter:e}=t,n="";if("mailer"===e)n="mailer system";else n="external integration";return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h2",{children:"Pre-post parameters filter"}),(0,i.jsxs)("p",{children:["Allows modifying form field data before it's sent to ",n,". Useful if you want to make values derived from the sent data, or add new fields."]}),(0,i.jsx)(r.Z,{language:"php",children:(0,a.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_pre_post_params', 'getIntegrationPrePostParams', 10, 2);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies form field data before it's sent to "+n+".\n\t\t\t\t\t *\n\t\t\t\t\t * @param array<string, mixed> $params Array of params.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string, mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostParams(array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\t$formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? '';\n\n\t\t\t\t\t\tif ($formSubmissionPageLt) {\n\t\t\t\t\t\t\t$params['ib-submission-source'] = [\n\t\t\t\t\t\t\t\t'name' => 'ib-submission-source',\n\t\t\t\t\t\t\t\t'value' => $formSubmissionPageLt,\n\t\t\t\t\t\t\t\t'type' => 'text',\n\t\t\t\t\t\t\t\t'internalType' => '',\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn $params;\n\t\t\t\t\t}\n\t\t\t\t")})]})}},61684:(t,e,n)=>{function r(t){const e=t.split(/\n/g);for(;0===(null==(n=e[0])?void 0:n.replace(/\s/g,"").length);){var n;e.shift()}for(;0===(null==(r=e[e.length-1])?void 0:r.replace(/\s/g,"").length);){var r;e.pop()}const a=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>{var e,n;return null!=(e=null==(n=t.match(/^\s*/))||null==(n=n[0])?void 0:n.length)?e:0})),i=Math.min(...a);return e.map((t=>t.slice(i))).join("\n")}n.d(e,{p:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/b64e38ac.5df65a05.js b/assets/js/b64e38ac.5df65a05.js new file mode 100644 index 000000000..aedd6e4de --- /dev/null +++ b/assets/js/b64e38ac.5df65a05.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[9748],{46592:(t,n,a)=>{a.r(n),a.d(n,{assets:()=>l,contentTitle:()=>s,default:()=>d,frontMatter:()=>o,metadata:()=>r,toc:()=>c});var i=a(17624),e=a(4552);const o={id:"manual-initiation",title:"Manual initiation"},s=void 0,r={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.",source:"@site/forms/javascript/manual-initiation.md",sourceDirName:"javascript",slug:"/javascript/manual-initiation",permalink:"/forms/javascript/manual-initiation",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"manual-initiation",title:"Manual initiation"},sidebar:"forms",previous:{title:"Captcha",permalink:"/forms/javascript/state/captcha"},next:{title:"Playlist",permalink:"/forms/tutorials/playlist"}},l={},c=[];function u(t){const n={code:"code",p:"p",pre:"pre",...(0,e.M)(),...t.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:"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."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"window.addEventListener('esFormsManualInitLoaded', ({detail}) => {\n\t// Load the form.\n\tdetail.esForms.form.init();\n});\n"})})]})}function d(t={}){const{wrapper:n}={...(0,e.M)(),...t.components};return n?(0,i.jsx)(n,{...t,children:(0,i.jsx)(u,{...t})}):u(t)}},4552:(t,n,a)=>{a.d(n,{I:()=>r,M:()=>s});var i=a(11504);const e={},o=i.createContext(e);function s(t){const n=i.useContext(o);return i.useMemo((function(){return"function"==typeof t?t(n):{...n,...t}}),[n,t])}function r(t){let n;return n=t.disableParentContext?"function"==typeof t.components?t.components(e):t.components||e:s(t.components),i.createElement(o.Provider,{value:n},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/b64e38ac.b9fa4b63.js b/assets/js/b64e38ac.b9fa4b63.js deleted file mode 100644 index a477ccf88..000000000 --- a/assets/js/b64e38ac.b9fa4b63.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[71508],{26055:(t,n,a)=>{a.r(n),a.d(n,{assets:()=>l,contentTitle:()=>s,default:()=>d,frontMatter:()=>o,metadata:()=>r,toc:()=>c});var i=a(85893),e=a(11151);const o={id:"manual-initiation",title:"Manual initiation"},s=void 0,r={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.",source:"@site/forms/javascript/manual-initiation.md",sourceDirName:"javascript",slug:"/javascript/manual-initiation",permalink:"/forms/javascript/manual-initiation",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"manual-initiation",title:"Manual initiation"},sidebar:"forms",previous:{title:"Captcha",permalink:"/forms/javascript/state/captcha"},next:{title:"Playlist",permalink:"/forms/tutorials/playlist"}},l={},c=[];function u(t){const n={code:"code",p:"p",pre:"pre",...(0,e.a)(),...t.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:"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."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"window.addEventListener('esFormsManualInitLoaded', ({detail}) => {\n\t// Load the form.\n\tdetail.esForms.form.init();\n});\n"})})]})}function d(t={}){const{wrapper:n}={...(0,e.a)(),...t.components};return n?(0,i.jsx)(n,{...t,children:(0,i.jsx)(u,{...t})}):u(t)}},11151:(t,n,a)=>{a.d(n,{Z:()=>r,a:()=>s});var i=a(67294);const e={},o=i.createContext(e);function s(t){const n=i.useContext(o);return i.useMemo((function(){return"function"==typeof t?t(n):{...n,...t}}),[n,t])}function r(t){let n;return n=t.disableParentContext?"function"==typeof t.components?t.components(e):t.components||e:s(t.components),i.createElement(o.Provider,{value:n},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/b6915d5f.739b1201.js b/assets/js/b6915d5f.739b1201.js new file mode 100644 index 000000000..c7f18b58b --- /dev/null +++ b/assets/js/b6915d5f.739b1201.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[77624],{77147:(o,e,t)=>{t.r(e),t.d(e,{assets:()=>l,contentTitle:()=>i,default:()=>h,frontMatter:()=>r,metadata:()=>c,toc:()=>a});var s=t(17624),n=t(4552);const r={id:"blocks-storybook",title:"Storybook"},i=void 0,c={id:"legacy/v7/basics/blocks-storybook",title:"Storybook",description:"docs-source",source:"@site/docs/legacy/v7/basics/blocks-storybook.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/blocks-storybook",permalink:"/docs/legacy/v7/basics/blocks-storybook",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-storybook",title:"Storybook"},sidebar:"docs",previous:{title:"Styles",permalink:"/docs/legacy/v7/basics/blocks-styles"},next:{title:"Helpers",permalink:"/docs/legacy/v7/basics/helpers"}},l={},a=[{value:"Create my custom story",id:"create-my-custom-story",level:2},{value:"Block story",id:"block-story",level:3},{value:"Variation story",id:"variation-story",level:3},{value:"Component story",id:"component-story",level:3}];function d(o){const e={a:"a",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",...(0,n.M)(),...o.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.p,{children:(0,s.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/",children:(0,s.jsx)(e.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(e.p,{children:"We have created a full storybook that hosts all our blocks/components/variations with a fully functional block editor, where you can try out how blocks work and behave."}),"\n",(0,s.jsxs)(e.blockquote,{children:["\n",(0,s.jsx)(e.p,{children:"To speed up project build time, Eightshift Boilerplate doesn't come with the storybook out of the box; you need to install it. To install Storybook to your project, just type this command in you terminal and follow the instructions:"}),"\n"]}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-bash",children:"wp boilerplate create_blocks_storybook\n"})}),"\n",(0,s.jsx)(e.h2,{id:"create-my-custom-story",children:"Create my custom story"}),"\n",(0,s.jsx)(e.p,{children:"You don't need to have stories in your block/component, but we provided you with the ability to use the Storybook for all of your blocks and components. Why not use it? It will speed up your development time. Trust us."}),"\n",(0,s.jsx)(e.p,{children:"If you used our way to set up your project, you already have Storybook ready to use. To start the Storybook, run this command:"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-bash",children:"npm run storybook\n"})}),"\n",(0,s.jsxs)(e.p,{children:["In your project, you also have the ",(0,s.jsx)(e.code,{children:".storybook"})," folder, where all the configuration for Storybook is defined."]}),"\n",(0,s.jsxs)(e.p,{children:["For your blocks/components/variation to be seen in the Storybook, you must have the ",(0,s.jsx)(e.code,{children:"docs"})," folder and the ",(0,s.jsx)(e.code,{children:"story.js"})," file in it."]}),"\n",(0,s.jsx)(e.h3,{id:"block-story",children:"Block story"}),"\n",(0,s.jsxs)(e.p,{children:["For all blocks, you don't need to write anything because all blocks stories look the same here is an example of the ",(0,s.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/Blocks/custom/heading/docs/story.js",children:"heading block story"}),"."]}),"\n",(0,s.jsxs)(e.p,{children:["We pull all the data from the manifest.json file and all the attribute values from the ",(0,s.jsx)(e.code,{children:"example"})," key."]}),"\n",(0,s.jsx)(e.h3,{id:"variation-story",children:"Variation story"}),"\n",(0,s.jsx)(e.p,{children:"The same as the block's story."}),"\n",(0,s.jsx)(e.h3,{id:"component-story",children:"Component story"}),"\n",(0,s.jsxs)(e.p,{children:["Components are not smart and can't be automatically built into the story. This is why you must create a story of all your components and mock the data.\nYou should set all the mock data in the component ",(0,s.jsx)(e.code,{children:"manifest.json"})," and just provide the story's implementation. We have provided you with the helper that uses example data from you manifests and respects the component's dependency tree. Here you can see and example of ",(0,s.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/Blocks/components/card/docs/story.js",children:"card component story"}),"."]})]})}function h(o={}){const{wrapper:e}={...(0,n.M)(),...o.components};return e?(0,s.jsx)(e,{...o,children:(0,s.jsx)(d,{...o})}):d(o)}},4552:(o,e,t)=>{t.d(e,{I:()=>c,M:()=>i});var s=t(11504);const n={},r=s.createContext(n);function i(o){const e=s.useContext(r);return s.useMemo((function(){return"function"==typeof o?o(e):{...e,...o}}),[e,o])}function c(o){let e;return e=o.disableParentContext?"function"==typeof o.components?o.components(n):o.components||n:i(o.components),s.createElement(r.Provider,{value:e},o.children)}}}]); \ No newline at end of file diff --git a/assets/js/b6915d5f.bfa9e219.js b/assets/js/b6915d5f.bfa9e219.js deleted file mode 100644 index dc08ca565..000000000 --- a/assets/js/b6915d5f.bfa9e219.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[86057],{93937:(o,e,t)=>{t.r(e),t.d(e,{assets:()=>l,contentTitle:()=>i,default:()=>h,frontMatter:()=>r,metadata:()=>c,toc:()=>a});var s=t(85893),n=t(11151);const r={id:"blocks-storybook",title:"Storybook"},i=void 0,c={id:"legacy/v7/basics/blocks-storybook",title:"Storybook",description:"docs-source",source:"@site/docs/legacy/v7/basics/blocks-storybook.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/blocks-storybook",permalink:"/docs/legacy/v7/basics/blocks-storybook",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-storybook",title:"Storybook"},sidebar:"docs",previous:{title:"Styles",permalink:"/docs/legacy/v7/basics/blocks-styles"},next:{title:"Helpers",permalink:"/docs/legacy/v7/basics/helpers"}},l={},a=[{value:"Create my custom story",id:"create-my-custom-story",level:2},{value:"Block story",id:"block-story",level:3},{value:"Variation story",id:"variation-story",level:3},{value:"Component story",id:"component-story",level:3}];function d(o){const e={a:"a",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",...(0,n.a)(),...o.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.p,{children:(0,s.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/",children:(0,s.jsx)(e.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(e.p,{children:"We have created a full storybook that hosts all our blocks/components/variations with a fully functional block editor, where you can try out how blocks work and behave."}),"\n",(0,s.jsxs)(e.blockquote,{children:["\n",(0,s.jsx)(e.p,{children:"To speed up project build time, Eightshift Boilerplate doesn't come with the storybook out of the box; you need to install it. To install Storybook to your project, just type this command in you terminal and follow the instructions:"}),"\n"]}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-bash",children:"wp boilerplate create_blocks_storybook\n"})}),"\n",(0,s.jsx)(e.h2,{id:"create-my-custom-story",children:"Create my custom story"}),"\n",(0,s.jsx)(e.p,{children:"You don't need to have stories in your block/component, but we provided you with the ability to use the Storybook for all of your blocks and components. Why not use it? It will speed up your development time. Trust us."}),"\n",(0,s.jsx)(e.p,{children:"If you used our way to set up your project, you already have Storybook ready to use. To start the Storybook, run this command:"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-bash",children:"npm run storybook\n"})}),"\n",(0,s.jsxs)(e.p,{children:["In your project, you also have the ",(0,s.jsx)(e.code,{children:".storybook"})," folder, where all the configuration for Storybook is defined."]}),"\n",(0,s.jsxs)(e.p,{children:["For your blocks/components/variation to be seen in the Storybook, you must have the ",(0,s.jsx)(e.code,{children:"docs"})," folder and the ",(0,s.jsx)(e.code,{children:"story.js"})," file in it."]}),"\n",(0,s.jsx)(e.h3,{id:"block-story",children:"Block story"}),"\n",(0,s.jsxs)(e.p,{children:["For all blocks, you don't need to write anything because all blocks stories look the same here is an example of the ",(0,s.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/Blocks/custom/heading/docs/story.js",children:"heading block story"}),"."]}),"\n",(0,s.jsxs)(e.p,{children:["We pull all the data from the manifest.json file and all the attribute values from the ",(0,s.jsx)(e.code,{children:"example"})," key."]}),"\n",(0,s.jsx)(e.h3,{id:"variation-story",children:"Variation story"}),"\n",(0,s.jsx)(e.p,{children:"The same as the block's story."}),"\n",(0,s.jsx)(e.h3,{id:"component-story",children:"Component story"}),"\n",(0,s.jsxs)(e.p,{children:["Components are not smart and can't be automatically built into the story. This is why you must create a story of all your components and mock the data.\nYou should set all the mock data in the component ",(0,s.jsx)(e.code,{children:"manifest.json"})," and just provide the story's implementation. We have provided you with the helper that uses example data from you manifests and respects the component's dependency tree. Here you can see and example of ",(0,s.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/Blocks/components/card/docs/story.js",children:"card component story"}),"."]})]})}function h(o={}){const{wrapper:e}={...(0,n.a)(),...o.components};return e?(0,s.jsx)(e,{...o,children:(0,s.jsx)(d,{...o})}):d(o)}},11151:(o,e,t)=>{t.d(e,{Z:()=>c,a:()=>i});var s=t(67294);const n={},r=s.createContext(n);function i(o){const e=s.useContext(r);return s.useMemo((function(){return"function"==typeof o?o(e):{...e,...o}}),[e,o])}function c(o){let e;return e=o.disableParentContext?"function"==typeof o.components?o.components(n):o.components||n:i(o.components),s.createElement(r.Provider,{value:e},o.children)}}}]); \ No newline at end of file diff --git a/assets/js/b6d824a3.078283e6.js b/assets/js/b6d824a3.078283e6.js deleted file mode 100644 index 58c6d7651..000000000 --- a/assets/js/b6d824a3.078283e6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[72468],{30950: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/b6d824a3.c48459da.js b/assets/js/b6d824a3.c48459da.js new file mode 100644 index 000000000..9276d94c9 --- /dev/null +++ b/assets/js/b6d824a3.c48459da.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[42300],{30550: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/b7f27d80.6671c6a7.js b/assets/js/b7f27d80.6671c6a7.js deleted file mode 100644 index 87e7e66dc..000000000 --- a/assets/js/b7f27d80.6671c6a7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[12430],{34960:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>s,default:()=>m,frontMatter:()=>i,metadata:()=>d,toc:()=>a});var r=n(85893),o=n(11151);const i={id:"intro",title:"Intro"},s=void 0,d={id:"addons/premium/intro",title:"Intro",description:"Premium plugins:",source:"@site/forms/addons/premium/intro.md",sourceDirName:"addons/premium",slug:"/addons/premium/intro",permalink:"/forms/addons/premium/intro",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"intro",title:"Intro"},sidebar:"forms",previous:{title:"Intro",permalink:"/forms/addons/free/intro"},next:{title:"Intro",permalink:"/forms/addons/premium/computed-fields/intro"}},u={},a=[{value:"How to purchase?",id:"how-to-purchase",level:2}];function c(e){const t={a:"a",h2:"h2",li:"li",p:"p",strong:"strong",ul:"ul",...(0,o.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Premium plugins:"})}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"/forms/addons/premium/computed-fields/intro",children:"Computed fields"})}),"\n"]}),"\n",(0,r.jsx)(t.h2,{id:"how-to-purchase",children:"How to purchase?"}),"\n",(0,r.jsxs)(t.p,{children:["Premium plugins are not included with Eightshift Forms and have to be purchased separately. For more info, ",(0,r.jsx)(t.a,{href:"mailto:support.eightshift-forms@infinum.com",children:"drop us an e-mail"}),"."]})]})}function m(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},11151:(e,t,n)=>{n.d(t,{Z:()=>d,a:()=>s});var r=n(67294);const o={},i=r.createContext(o);function s(e){const t=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),r.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b7f27d80.c0ab1707.js b/assets/js/b7f27d80.c0ab1707.js new file mode 100644 index 000000000..cd68fb2f6 --- /dev/null +++ b/assets/js/b7f27d80.c0ab1707.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[15232],{6440:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>s,default:()=>m,frontMatter:()=>i,metadata:()=>d,toc:()=>a});var r=n(17624),o=n(4552);const i={id:"intro",title:"Intro"},s=void 0,d={id:"addons/premium/intro",title:"Intro",description:"Premium plugins:",source:"@site/forms/addons/premium/intro.md",sourceDirName:"addons/premium",slug:"/addons/premium/intro",permalink:"/forms/addons/premium/intro",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"intro",title:"Intro"},sidebar:"forms",previous:{title:"Intro",permalink:"/forms/addons/free/intro"},next:{title:"Intro",permalink:"/forms/addons/premium/computed-fields/intro"}},u={},a=[{value:"How to purchase?",id:"how-to-purchase",level:2}];function c(e){const t={a:"a",h2:"h2",li:"li",p:"p",strong:"strong",ul:"ul",...(0,o.M)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Premium plugins:"})}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"/forms/addons/premium/computed-fields/intro",children:"Computed fields"})}),"\n"]}),"\n",(0,r.jsx)(t.h2,{id:"how-to-purchase",children:"How to purchase?"}),"\n",(0,r.jsxs)(t.p,{children:["Premium plugins are not included with Eightshift Forms and have to be purchased separately. For more info, ",(0,r.jsx)(t.a,{href:"mailto:support.eightshift-forms@infinum.com",children:"drop us an e-mail"}),"."]})]})}function m(e={}){const{wrapper:t}={...(0,o.M)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},4552:(e,t,n)=>{n.d(t,{I:()=>d,M:()=>s});var r=n(11504);const o={},i=r.createContext(o);function s(e){const t=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),r.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b8283c8e.0da8ce56.js b/assets/js/b8283c8e.0da8ce56.js new file mode 100644 index 000000000..18aacfdd1 --- /dev/null +++ b/assets/js/b8283c8e.0da8ce56.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[10528],{92116:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>l,contentTitle:()=>s,default:()=>m,frontMatter:()=>o,metadata:()=>d,toc:()=>c});var r=n(17624),i=n(4552),a=n(80148);const o={id:"additional-content",title:"Additional content"},s=void 0,d={id:"php/filters/block/radios/additional-content",title:"Additional content",description:"",source:"@site/forms/php/filters/block/radios/additional-content.mdx",sourceDirName:"php/filters/block/radios",slug:"/php/filters/block/radios/additional-content",permalink:"/forms/php/filters/block/radios/additional-content",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"additional-content",title:"Additional content"},sidebar:"forms",previous:{title:"Additional content",permalink:"/forms/php/filters/block/checkboxes/additional-content"},next:{title:"Additional content",permalink:"/forms/php/filters/block/phone/additional-content"}},l={},c=[];function f(t){return(0,r.jsx)(a.g,{filter:"radios"})}function m(t={}){const{wrapper:e}={...(0,i.M)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(f,{...t})}):f()}},80148:(t,e,n)=>{n.d(e,{g:()=>s,y:()=>o});n(11504);var r=n(1608),i=n(96616),a=n(17624);function o(t){let{filter:e,onlyUse:n=["dataFilter","orderFilter","prePostIdFilter","prePostParamsFilter"]}=t;return(0,a.jsxs)(a.Fragment,{children:[n.includes("dataFilter")&&(0,a.jsx)(d,{filter:e}),n.includes("orderFilter")&&(0,a.jsx)(l,{filter:e}),n.includes("prePostIdFilter")&&(0,a.jsx)(c,{filter:e}),n.includes("prePostParamsFilter")&&(0,a.jsx)(f,{filter:e})]})}function s(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{children:"Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc."}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\tadd_filter('es_forms_block_${e}_additional_content', function(): string {\n\t\t\t\treturn '<custom-string>';\n\t\t\t})\n\t\t\t`)})]})}function d(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Data filter"}),(0,a.jsx)("p",{children:"Allows modifying form field data before it's shown in the Block Editor or output on the frontend."}),(0,a.jsx)("p",{children:"Useful if, for example, you want to ensure that all fields fit into a 2-column layout."}),(0,a.jsx)("p",{children:"Overrides any Block Editor changes!"}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\tadd_filter('es_forms_integrations_${e}_data', 'getIntegrationFilterData', 10, 2);\n\n\t\t\t/**\n\t\t\t * Manipulate form fields data before it is sent to the Block Editor.\n\t\t\t *\n\t\t\t * @param array<mixed> $data Form fields data.\n\t\t\t * @param string $formId Form ID.\n\t\t\t *\n\t\t\t * @return array<mixed>\n\t\t\t */\n\t\t\tfunction getIntegrationFilterData(array $data, string $formId): array\n\t\t\t{\n\t\t\t\tforeach ($data as $index => $field) {\n\t\t\t\t\t$component = $field['component'] ?? '';\n\n\t\t\t\t\tif (!$component) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t$name = $field["{$component}Name"] ?? '';\n\n\t\t\t\t\tif (!$name) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch ($name) {\n\t\t\t\t\t\tcase 'firstname':\n\t\t\t\t\t\tcase 'lastname':\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthMobile"] = 12;\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthLarge"] = 6;\n\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"] = array_merge(\n\t\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthMobile",\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthLarge",\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t`)})]})}function l(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Order filter"}),(0,a.jsx)("p",{children:"Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor."}),(0,a.jsxs)("p",{children:["Not all fields need to have an order defined. For example, you may want to make sure ",(0,a.jsx)("code",{children:"firstname"}),", ",(0,a.jsx)("code",{children:"lastname"})," and ",(0,a.jsx)("code",{children:"email"})," are displayed first, but other fields follow their Block editor order."]}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_order', 'getIntegrationOrder');\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Forces form field order for the provided fields. For other fields, Block editor order is used.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationOrder(): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t'firstname',\n\t\t\t\t\t\t\t'lastname',\n\t\t\t\t\t\t\t'email',\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t`)})]})}function c(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post ID filter"}),(0,a.jsx)("p",{children:"Allows updating item IDs sent to external integrations to which the form data is sent."}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_pre_post_id', 'getIntegrationPrePostId', 10, 3);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies integration item ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @param string $itemId Integration item ID.\n\t\t\t\t\t * @param array<mixed> $params Params to be sent to the integration.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @return array<mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostId(string $itemId, array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn $itemId;\n\t\t\t\t\t}\n\t\t\t\t`)})]})}function f(t){let{filter:e}=t,n="";if("mailer"===e)n="mailer system";else n="external integration";return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post parameters filter"}),(0,a.jsxs)("p",{children:["Allows modifying form field data before it's sent to ",n,". Useful if you want to make values derived from the sent data, or add new fields."]}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_pre_post_params', 'getIntegrationPrePostParams', 10, 2);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies form field data before it's sent to ${n}.\n\t\t\t\t\t *\n\t\t\t\t\t * @param array<string, mixed> $params Array of params.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string, mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostParams(array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\t$formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? '';\n\n\t\t\t\t\t\tif ($formSubmissionPageLt) {\n\t\t\t\t\t\t\t$params['ib-submission-source'] = [\n\t\t\t\t\t\t\t\t'name' => 'ib-submission-source',\n\t\t\t\t\t\t\t\t'value' => $formSubmissionPageLt,\n\t\t\t\t\t\t\t\t'type' => 'text',\n\t\t\t\t\t\t\t\t'internalType' => '',\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn $params;\n\t\t\t\t\t}\n\t\t\t\t`)})]})}},96616:(t,e,n)=>{function r(t){const e=t.split(/\n/g);for(;0===e[0]?.replace(/\s/g,"").length;)e.shift();for(;0===e[e.length-1]?.replace(/\s/g,"").length;)e.pop();const n=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>t.match(/^\s*/)?.[0]?.length??0)),r=Math.min(...n);return e.map((t=>t.slice(r))).join("\n")}n.d(e,{c:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/b8283c8e.d86682f7.js b/assets/js/b8283c8e.d86682f7.js deleted file mode 100644 index fe3caddc4..000000000 --- a/assets/js/b8283c8e.d86682f7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[24373],{78836:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>s,default:()=>m,frontMatter:()=>o,metadata:()=>l,toc:()=>f});var r=n(85893),i=n(11151),a=n(8122);const o={id:"additional-content",title:"Additional content"},s=void 0,l={id:"php/filters/block/radios/additional-content",title:"Additional content",description:"",source:"@site/forms/php/filters/block/radios/additional-content.mdx",sourceDirName:"php/filters/block/radios",slug:"/php/filters/block/radios/additional-content",permalink:"/forms/php/filters/block/radios/additional-content",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"additional-content",title:"Additional content"},sidebar:"forms",previous:{title:"Additional content",permalink:"/forms/php/filters/block/checkboxes/additional-content"},next:{title:"Additional content",permalink:"/forms/php/filters/block/phone/additional-content"}},d={},f=[];function c(t){return(0,r.jsx)(a.F,{filter:"radios"})}function m(t={}){const{wrapper:e}={...(0,i.a)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(c,{...t})}):c()}},8122:(t,e,n)=>{n.d(e,{F:()=>s,k:()=>o});n(67294);var r=n(9286),i=n(61684),a=n(85893);function o(t){let{filter:e,onlyUse:n=["dataFilter","orderFilter","prePostIdFilter","prePostParamsFilter"]}=t;return(0,a.jsxs)(a.Fragment,{children:[n.includes("dataFilter")&&(0,a.jsx)(l,{filter:e}),n.includes("orderFilter")&&(0,a.jsx)(d,{filter:e}),n.includes("prePostIdFilter")&&(0,a.jsx)(f,{filter:e}),n.includes("prePostParamsFilter")&&(0,a.jsx)(c,{filter:e})]})}function s(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{children:"Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc."}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\tadd_filter('es_forms_block_"+e+"_additional_content', function(): string {\n\t\t\t\treturn '<custom-string>';\n\t\t\t})\n\t\t\t")})]})}function l(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Data filter"}),(0,a.jsx)("p",{children:"Allows modifying form field data before it's shown in the Block Editor or output on the frontend."}),(0,a.jsx)("p",{children:"Useful if, for example, you want to ensure that all fields fit into a 2-column layout."}),(0,a.jsx)("p",{children:"Overrides any Block Editor changes!"}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\tadd_filter('es_forms_integrations_"+e+'_data\', \'getIntegrationFilterData\', 10, 2);\n\n\t\t\t/**\n\t\t\t * Manipulate form fields data before it is sent to the Block Editor.\n\t\t\t *\n\t\t\t * @param array<mixed> $data Form fields data.\n\t\t\t * @param string $formId Form ID.\n\t\t\t *\n\t\t\t * @return array<mixed>\n\t\t\t */\n\t\t\tfunction getIntegrationFilterData(array $data, string $formId): array\n\t\t\t{\n\t\t\t\tforeach ($data as $index => $field) {\n\t\t\t\t\t$component = $field[\'component\'] ?? \'\';\n\n\t\t\t\t\tif (!$component) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t$name = $field["{$component}Name"] ?? \'\';\n\n\t\t\t\t\tif (!$name) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch ($name) {\n\t\t\t\t\t\tcase \'firstname\':\n\t\t\t\t\t\tcase \'lastname\':\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthMobile"] = 12;\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthLarge"] = 6;\n\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"] = array_merge(\n\t\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthMobile",\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthLarge",\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t')})]})}function d(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Order filter"}),(0,a.jsx)("p",{children:"Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor."}),(0,a.jsxs)("p",{children:["Not all fields need to have an order defined. For example, you may want to make sure ",(0,a.jsx)("code",{children:"firstname"}),", ",(0,a.jsx)("code",{children:"lastname"})," and ",(0,a.jsx)("code",{children:"email"})," are displayed first, but other fields follow their Block editor order."]}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_order', 'getIntegrationOrder');\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Forces form field order for the provided fields. For other fields, Block editor order is used.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationOrder(): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t'firstname',\n\t\t\t\t\t\t\t'lastname',\n\t\t\t\t\t\t\t'email',\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t")})]})}function f(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post ID filter"}),(0,a.jsx)("p",{children:"Allows updating item IDs sent to external integrations to which the form data is sent."}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_pre_post_id', 'getIntegrationPrePostId', 10, 3);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies integration item ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @param string $itemId Integration item ID.\n\t\t\t\t\t * @param array<mixed> $params Params to be sent to the integration.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @return array<mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostId(string $itemId, array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn $itemId;\n\t\t\t\t\t}\n\t\t\t\t")})]})}function c(t){let{filter:e}=t,n="";if("mailer"===e)n="mailer system";else n="external integration";return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post parameters filter"}),(0,a.jsxs)("p",{children:["Allows modifying form field data before it's sent to ",n,". Useful if you want to make values derived from the sent data, or add new fields."]}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_pre_post_params', 'getIntegrationPrePostParams', 10, 2);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies form field data before it's sent to "+n+".\n\t\t\t\t\t *\n\t\t\t\t\t * @param array<string, mixed> $params Array of params.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string, mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostParams(array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\t$formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? '';\n\n\t\t\t\t\t\tif ($formSubmissionPageLt) {\n\t\t\t\t\t\t\t$params['ib-submission-source'] = [\n\t\t\t\t\t\t\t\t'name' => 'ib-submission-source',\n\t\t\t\t\t\t\t\t'value' => $formSubmissionPageLt,\n\t\t\t\t\t\t\t\t'type' => 'text',\n\t\t\t\t\t\t\t\t'internalType' => '',\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn $params;\n\t\t\t\t\t}\n\t\t\t\t")})]})}},61684:(t,e,n)=>{function r(t){const e=t.split(/\n/g);for(;0===(null==(n=e[0])?void 0:n.replace(/\s/g,"").length);){var n;e.shift()}for(;0===(null==(r=e[e.length-1])?void 0:r.replace(/\s/g,"").length);){var r;e.pop()}const i=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>{var e,n;return null!=(e=null==(n=t.match(/^\s*/))||null==(n=n[0])?void 0:n.length)?e:0})),a=Math.min(...i);return e.map((t=>t.slice(a))).join("\n")}n.d(e,{p:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/b8b55b85.6e676735.js b/assets/js/b8b55b85.6e676735.js new file mode 100644 index 000000000..4150c285f --- /dev/null +++ b/assets/js/b8b55b85.6e676735.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[73624],{63180:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>d});var s=n(17624),i=n(4552);const o={id:"hubspot",title:"Hubspot"},r=void 0,c={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.",source:"@site/forms/integrations/hubspot.md",sourceDirName:"integrations",slug:"/integrations/hubspot",permalink:"/forms/integrations/hubspot",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"hubspot",title:"Hubspot"},sidebar:"forms",previous:{title:"Greenhouse",permalink:"/forms/integrations/greenhouse"},next:{title:"Jira",permalink:"/forms/integrations/jira"}},l={},d=[{value:"Website",id:"website",level:3},{value:"API Version",id:"api-version",level:3},{value:"API Documentation",id:"api-documentation",level:3},{value:"Integration type",id:"integration-type",level:3},{value:"Not supported fields:",id:"not-supported-fields",level:3}];function a(e){const t={a:"a",h3:"h3",li:"li",p:"p",ul:"ul",...(0,i.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:"Hubspot is an CRM platform that connects everything scaling companies need to deliver a best-in-class customer experience into one place."}),"\n",(0,s.jsx)(t.h3,{id:"website",children:"Website"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"https://www.hubspot.com/",children:"Visit website"})}),"\n"]}),"\n",(0,s.jsx)(t.h3,{id:"api-version",children:"API Version"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"V3 - Submit"}),"\n",(0,s.jsx)(t.li,{children:"V2 - Items"}),"\n"]}),"\n",(0,s.jsx)(t.h3,{id:"api-documentation",children:"API Documentation"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"https://legacydocs.hubspot.com/docs/overview",children:"Documentation"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"https://legacydocs.hubspot.com/docs/methods/forms/submit_form",children:"API Submit"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"https://legacydocs.hubspot.com/docs/methods/files/v3/upload_new_file",children:"API Files"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"https://legacydocs.hubspot.com/docs/methods/contacts/create_or_update",children:"API Update Contact"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"https://legacydocs.hubspot.com/docs/methods/contacts/v2/get_contacts_properties",children:"API Properties"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"https://legacydocs.hubspot.com/docs/methods/forms/v2/get_forms",children:"API Forms"})}),"\n"]}),"\n",(0,s.jsx)(t.h3,{id:"integration-type",children:"Integration type"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Form builder provided by the service."}),"\n"]}),"\n",(0,s.jsx)(t.h3,{id:"not-supported-fields",children:"Not supported fields:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Heading"}),"\n",(0,s.jsx)(t.li,{children:"Paragraph"}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,i.M)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},4552:(e,t,n)=>{n.d(t,{I:()=>c,M:()=>r});var s=n(11504);const i={},o=s.createContext(i);function r(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b8b55b85.e1eca788.js b/assets/js/b8b55b85.e1eca788.js deleted file mode 100644 index 43ee1d773..000000000 --- a/assets/js/b8b55b85.e1eca788.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[52521],{74158:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>a});var s=n(85893),i=n(11151);const o={id:"hubspot",title:"Hubspot"},r=void 0,c={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.",source:"@site/forms/integrations/hubspot.md",sourceDirName:"integrations",slug:"/integrations/hubspot",permalink:"/forms/integrations/hubspot",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"hubspot",title:"Hubspot"},sidebar:"forms",previous:{title:"Greenhouse",permalink:"/forms/integrations/greenhouse"},next:{title:"Jira",permalink:"/forms/integrations/jira"}},l={},a=[{value:"Website",id:"website",level:3},{value:"API Version",id:"api-version",level:3},{value:"API Documentation",id:"api-documentation",level:3},{value:"Integration type",id:"integration-type",level:3},{value:"Not supported fields:",id:"not-supported-fields",level:3}];function d(e){const t={a:"a",h3:"h3",li:"li",p:"p",ul:"ul",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:"Hubspot is an CRM platform that connects everything scaling companies need to deliver a best-in-class customer experience into one place."}),"\n",(0,s.jsx)(t.h3,{id:"website",children:"Website"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"https://www.hubspot.com/",children:"Visit website"})}),"\n"]}),"\n",(0,s.jsx)(t.h3,{id:"api-version",children:"API Version"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"V3 - Submit"}),"\n",(0,s.jsx)(t.li,{children:"V2 - Items"}),"\n"]}),"\n",(0,s.jsx)(t.h3,{id:"api-documentation",children:"API Documentation"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"https://legacydocs.hubspot.com/docs/overview",children:"Documentation"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"https://legacydocs.hubspot.com/docs/methods/forms/submit_form",children:"API Submit"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"https://legacydocs.hubspot.com/docs/methods/files/v3/upload_new_file",children:"API Files"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"https://legacydocs.hubspot.com/docs/methods/contacts/create_or_update",children:"API Update Contact"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"https://legacydocs.hubspot.com/docs/methods/contacts/v2/get_contacts_properties",children:"API Properties"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"https://legacydocs.hubspot.com/docs/methods/forms/v2/get_forms",children:"API Forms"})}),"\n"]}),"\n",(0,s.jsx)(t.h3,{id:"integration-type",children:"Integration type"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Form builder provided by the service."}),"\n"]}),"\n",(0,s.jsx)(t.h3,{id:"not-supported-fields",children:"Not supported fields:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Heading"}),"\n",(0,s.jsx)(t.li,{children:"Paragraph"}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},11151:(e,t,n)=>{n.d(t,{Z:()=>c,a:()=>r});var s=n(67294);const i={},o=s.createContext(i);function r(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b8b9d8e8.54b76df8.js b/assets/js/b8b9d8e8.54b76df8.js deleted file mode 100644 index 9ebbf6804..000000000 --- a/assets/js/b8b9d8e8.54b76df8.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[62303],{66764:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>s,default:()=>u,frontMatter:()=>r,metadata:()=>a,toc:()=>l});var i=t(85893),o=t(11151);const r={id:"webpack",title:"Webpack",sidebar_label:"Webpack"},s=void 0,a={id:"legacy/v5/basics/webpack",title:"Webpack",description:"docs-source",source:"@site/docs/legacy/v5/basics/webpack.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/webpack",permalink:"/docs/legacy/v5/basics/webpack",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"webpack",title:"Webpack",sidebar_label:"Webpack"},sidebar:"docs",previous:{title:"Front End",permalink:"/docs/legacy/v5/basics/frontend"},next:{title:"Library",permalink:"/docs/legacy/v5/basics/library"}},c={},l=[{value:"Override built-in functionality",id:"override-built-in-functionality",level:2},{value:"Add a new custom functionality",id:"add-a-new-custom-functionality",level:2},{value:"Change the default config",id:"change-the-default-config",level:2},{value:"Add a new entrypoint",id:"add-a-new-entrypoint",level:2}];function d(e){const n={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",...(0,o.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0",children:(0,i.jsx)(n.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsxs)(n.p,{children:["At its core, Webpack is a static module bundler for modern JavaScript applications. When Webpack processes your application, it internally builds a dependency graph that maps every module your project needs and generates one or more bundles. Learn more about Webpack ",(0,i.jsx)(n.a,{href:"https://webpack.js.org/concepts/",children:"here"}),"."]}),"\n",(0,i.jsx)(n.p,{children:"To put it simply, Webpack takes your development files and creates a production-ready version of them based on the config."}),"\n",(0,i.jsxs)(n.p,{children:["Eightshift Boilerplate comes with everything set for you to use out of the box. In the root of your project, you will find a file called ",(0,i.jsx)(n.code,{children:"webpack.config.js"}),". If you open it, you will see that the configuration is pulled from the Eightshift Frontend Libs library."]}),"\n",(0,i.jsx)(n.p,{children:"You can remove this config and write everything from scratch (keep in mind that this is a lot of work), or you can use our config and extend/remove whatever you need."}),"\n",(0,i.jsx)(n.h2,{id:"override-built-in-functionality",children:"Override built-in functionality"}),"\n",(0,i.jsxs)(n.p,{children:["To remove built-in functionality, add a new array to the config called ",(0,i.jsx)(n.code,{children:"overrides"}),".\nIf you provide any of the ",(0,i.jsx)(n.code,{children:"overrides keys"}),", it will remove that config from the feature from the build."]}),"\n",(0,i.jsx)(n.p,{children:"You can't change our config; you can only remove it and make your own."}),"\n",(0,i.jsx)(n.p,{children:"Here is a list of all the features that we use and how to remove them."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"\nconst projectConfig = {\n config: {\n ... everything from default setup\n },\n overrides: [\n 'application',\n 'applicationAdmin',\n 'applicationBlocks',\n 'applicationBlocksEditor',\n 'filename',\n 'cleanWebpackPlugin',\n 'terserPlugin',\n 'browserSyncPlugin',\n 'providePlugin',\n 'manifestPlugin',\n 'miniCssExtractPlugin',\n 'copyWebpackPlugin',\n 'optimizeCSSAssetsPlugin',\n 'js',\n 'scss',\n 'images',\n 'fonts',\n 'runtimeChunk',\n ],\n}\n"})}),"\n",(0,i.jsx)(n.h2,{id:"add-a-new-custom-functionality",children:"Add a new custom functionality"}),"\n",(0,i.jsxs)(n.p,{children:["Let's say you want to add a custom ",(0,i.jsx)(n.code,{children:"html-webpack-plugin"})," to the build. You can simply use all the native ",(0,i.jsx)(n.a,{href:"https://webpack.js.org/guides/",children:"webpack features"}),", like in this example:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"const HtmlWebpackPlugin = require('html-webpack-plugin');\n\nmodule.exports = (env, argv) => {\n\n ...\n\n return {\n ...project,\n plugins: [\n ...project.plugins,\n new HtmlWebpackPlugin(),\n ],\n };\n};\n"})}),"\n",(0,i.jsx)(n.h2,{id:"change-the-default-config",children:"Change the default config"}),"\n",(0,i.jsxs)(n.p,{children:["Let's say you want to change what we made and adjust it to your specific needs. In that case, you should remove our functionality by providing the ",(0,i.jsx)(n.code,{children:"overrides"})," array and create your implementation. For example:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"const BrowserSyncPlugin = require('browser-sync-webpack-plugin');\n\nmodule.exports = (env, argv) => {\n\n const projectConfig = {\n config: {\n ... everything from default setup\n },\n overrides: [\n 'browserSyncPlugin', // this removes our configuration.\n ],\n };\n\n // Generate Webpack config for this project using options object.\n const project = require('./node_modules/@eightshift/frontend-libs/webpack')(argv.mode, projectConfig);\n\n return {\n ...project,\n plugins: [\n ...project.plugins,\n\n // This provides your configuration.\n new BrowserSyncPlugin({\n host: 'localhost',\n port: 3000,\n https: true,\n }),\n ],\n };\n"})}),"\n",(0,i.jsx)(n.h2,{id:"add-a-new-entrypoint",children:"Add a new entrypoint"}),"\n",(0,i.jsxs)(n.p,{children:["Let's say you want to add a new, separate JS and/or CSS build for some specific functionality. This functionality may or may not have anything to do with your WordPress theme or plugin, but it needs to be in separate files. To do that you'd need to add a new entrypoint for webpack to build in ",(0,i.jsx)(n.code,{children:"webpack.config.js"}),":"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"module.exports = (env, argv) => {\n\n ...\n\n\treturn {\n\t\t...project,\n\t\tentry: {\n\t\t\t...project.entry,\n\t\t\tnewBuild: path.resolve(projectConfig.config.projectDir, 'assets', 'application-newBuild.js'),\n\t\t},\n\t};\n};\n"})}),"\n",(0,i.jsxs)(n.p,{children:["Next thing you'd do is create ",(0,i.jsx)(n.code,{children:"application-newBuild.js"})," in ",(0,i.jsx)(n.code,{children:"assets/"})," directory, in which you'd import and JS or SCSS partials. After restarting the build process, the results should be visible in ",(0,i.jsx)(n.code,{children:"public/"})," directory as new JS or CSS files."]})]})}function u(e={}){const{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},11151:(e,n,t)=>{t.d(n,{Z:()=>a,a:()=>s});var i=t(67294);const o={},r=i.createContext(o);function s(e){const n=i.useContext(r);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(o):e.components||o:s(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b8b9d8e8.ded41519.js b/assets/js/b8b9d8e8.ded41519.js new file mode 100644 index 000000000..5a528049a --- /dev/null +++ b/assets/js/b8b9d8e8.ded41519.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[45452],{2414:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>s,default:()=>u,frontMatter:()=>r,metadata:()=>a,toc:()=>l});var i=t(17624),o=t(4552);const r={id:"webpack",title:"Webpack",sidebar_label:"Webpack"},s=void 0,a={id:"legacy/v5/basics/webpack",title:"Webpack",description:"docs-source",source:"@site/docs/legacy/v5/basics/webpack.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/webpack",permalink:"/docs/legacy/v5/basics/webpack",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"webpack",title:"Webpack",sidebar_label:"Webpack"},sidebar:"docs",previous:{title:"Front End",permalink:"/docs/legacy/v5/basics/frontend"},next:{title:"Library",permalink:"/docs/legacy/v5/basics/library"}},c={},l=[{value:"Override built-in functionality",id:"override-built-in-functionality",level:2},{value:"Add a new custom functionality",id:"add-a-new-custom-functionality",level:2},{value:"Change the default config",id:"change-the-default-config",level:2},{value:"Add a new entrypoint",id:"add-a-new-entrypoint",level:2}];function d(e){const n={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",...(0,o.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0",children:(0,i.jsx)(n.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsxs)(n.p,{children:["At its core, Webpack is a static module bundler for modern JavaScript applications. When Webpack processes your application, it internally builds a dependency graph that maps every module your project needs and generates one or more bundles. Learn more about Webpack ",(0,i.jsx)(n.a,{href:"https://webpack.js.org/concepts/",children:"here"}),"."]}),"\n",(0,i.jsx)(n.p,{children:"To put it simply, Webpack takes your development files and creates a production-ready version of them based on the config."}),"\n",(0,i.jsxs)(n.p,{children:["Eightshift Boilerplate comes with everything set for you to use out of the box. In the root of your project, you will find a file called ",(0,i.jsx)(n.code,{children:"webpack.config.js"}),". If you open it, you will see that the configuration is pulled from the Eightshift Frontend Libs library."]}),"\n",(0,i.jsx)(n.p,{children:"You can remove this config and write everything from scratch (keep in mind that this is a lot of work), or you can use our config and extend/remove whatever you need."}),"\n",(0,i.jsx)(n.h2,{id:"override-built-in-functionality",children:"Override built-in functionality"}),"\n",(0,i.jsxs)(n.p,{children:["To remove built-in functionality, add a new array to the config called ",(0,i.jsx)(n.code,{children:"overrides"}),".\nIf you provide any of the ",(0,i.jsx)(n.code,{children:"overrides keys"}),", it will remove that config from the feature from the build."]}),"\n",(0,i.jsx)(n.p,{children:"You can't change our config; you can only remove it and make your own."}),"\n",(0,i.jsx)(n.p,{children:"Here is a list of all the features that we use and how to remove them."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"\nconst projectConfig = {\n config: {\n ... everything from default setup\n },\n overrides: [\n 'application',\n 'applicationAdmin',\n 'applicationBlocks',\n 'applicationBlocksEditor',\n 'filename',\n 'cleanWebpackPlugin',\n 'terserPlugin',\n 'browserSyncPlugin',\n 'providePlugin',\n 'manifestPlugin',\n 'miniCssExtractPlugin',\n 'copyWebpackPlugin',\n 'optimizeCSSAssetsPlugin',\n 'js',\n 'scss',\n 'images',\n 'fonts',\n 'runtimeChunk',\n ],\n}\n"})}),"\n",(0,i.jsx)(n.h2,{id:"add-a-new-custom-functionality",children:"Add a new custom functionality"}),"\n",(0,i.jsxs)(n.p,{children:["Let's say you want to add a custom ",(0,i.jsx)(n.code,{children:"html-webpack-plugin"})," to the build. You can simply use all the native ",(0,i.jsx)(n.a,{href:"https://webpack.js.org/guides/",children:"webpack features"}),", like in this example:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"const HtmlWebpackPlugin = require('html-webpack-plugin');\n\nmodule.exports = (env, argv) => {\n\n ...\n\n return {\n ...project,\n plugins: [\n ...project.plugins,\n new HtmlWebpackPlugin(),\n ],\n };\n};\n"})}),"\n",(0,i.jsx)(n.h2,{id:"change-the-default-config",children:"Change the default config"}),"\n",(0,i.jsxs)(n.p,{children:["Let's say you want to change what we made and adjust it to your specific needs. In that case, you should remove our functionality by providing the ",(0,i.jsx)(n.code,{children:"overrides"})," array and create your implementation. For example:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"const BrowserSyncPlugin = require('browser-sync-webpack-plugin');\n\nmodule.exports = (env, argv) => {\n\n const projectConfig = {\n config: {\n ... everything from default setup\n },\n overrides: [\n 'browserSyncPlugin', // this removes our configuration.\n ],\n };\n\n // Generate Webpack config for this project using options object.\n const project = require('./node_modules/@eightshift/frontend-libs/webpack')(argv.mode, projectConfig);\n\n return {\n ...project,\n plugins: [\n ...project.plugins,\n\n // This provides your configuration.\n new BrowserSyncPlugin({\n host: 'localhost',\n port: 3000,\n https: true,\n }),\n ],\n };\n"})}),"\n",(0,i.jsx)(n.h2,{id:"add-a-new-entrypoint",children:"Add a new entrypoint"}),"\n",(0,i.jsxs)(n.p,{children:["Let's say you want to add a new, separate JS and/or CSS build for some specific functionality. This functionality may or may not have anything to do with your WordPress theme or plugin, but it needs to be in separate files. To do that you'd need to add a new entrypoint for webpack to build in ",(0,i.jsx)(n.code,{children:"webpack.config.js"}),":"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"module.exports = (env, argv) => {\n\n ...\n\n\treturn {\n\t\t...project,\n\t\tentry: {\n\t\t\t...project.entry,\n\t\t\tnewBuild: path.resolve(projectConfig.config.projectDir, 'assets', 'application-newBuild.js'),\n\t\t},\n\t};\n};\n"})}),"\n",(0,i.jsxs)(n.p,{children:["Next thing you'd do is create ",(0,i.jsx)(n.code,{children:"application-newBuild.js"})," in ",(0,i.jsx)(n.code,{children:"assets/"})," directory, in which you'd import and JS or SCSS partials. After restarting the build process, the results should be visible in ",(0,i.jsx)(n.code,{children:"public/"})," directory as new JS or CSS files."]})]})}function u(e={}){const{wrapper:n}={...(0,o.M)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},4552:(e,n,t)=>{t.d(n,{I:()=>a,M:()=>s});var i=t(11504);const o={},r=i.createContext(o);function s(e){const n=i.useContext(r);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(o):e.components||o:s(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b9355076.21549dab.js b/assets/js/b9355076.21549dab.js new file mode 100644 index 000000000..a395d992d --- /dev/null +++ b/assets/js/b9355076.21549dab.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[16998],{13324:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>o,contentTitle:()=>c,default:()=>p,frontMatter:()=>i,metadata:()=>r,toc:()=>l});var s=t(17624),a=t(4552);const i={id:"backend",title:"General"},c=void 0,r={id:"legacy/v8/basics/backend",title:"General",description:"docs-source",source:"@site/docs/legacy/v8/basics/backend.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/backend",permalink:"/docs/legacy/v8/basics/backend",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"backend",title:"General"},sidebar:"docs",previous:{title:"Architecture concepts",permalink:"/docs/legacy/v8/basics/architecture-concepts"},next:{title:"Namespaces",permalink:"/docs/legacy/v8/basics/namespaces"}},o={},l=[];function h(e){const n={a:"a",img:"img",li:"li",p:"p",ul:"ul",...(0,a.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs",children:(0,s.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(n.p,{children:"In general, you can use anything as-is from the vendor library, or you can modify/add the functionality of existing classes by extending them in your project."}),"\n",(0,s.jsx)(n.p,{children:"If you are familiar with the extending classes (class inheritance) in PHP language, you can skip this chapter. For the rest, here are some awesome descriptions of how it works:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.php.net/manual/en/language.oop5.interfaces.php",children:"Interfaces"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://en.wikipedia.org/wiki/Dependency_injection",children:"Dependency Injection"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.php.net/manual/en/language.oop5.abstract.php",children:"Abstract Classes"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.php.net/manual/en/language.oop5.inheritance.php",children:"Object Inheritance"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.php.net/manual/en/language.namespaces.php",children:"Namespaces"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.php.net/manual/en/language.oop5.traits.php",children:"Traits"})}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Please get acquainted with these concepts before you continue because they will help you in the later chapters."})]})}function p(e={}){const{wrapper:n}={...(0,a.M)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},4552:(e,n,t)=>{t.d(n,{I:()=>r,M:()=>c});var s=t(11504);const a={},i=s.createContext(a);function c(e){const n=s.useContext(i);return s.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(a):e.components||a:c(e.components),s.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b9355076.d220a535.js b/assets/js/b9355076.d220a535.js deleted file mode 100644 index 08ece10df..000000000 --- a/assets/js/b9355076.d220a535.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[12706],{58257:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>o,contentTitle:()=>c,default:()=>p,frontMatter:()=>i,metadata:()=>r,toc:()=>l});var s=t(85893),a=t(11151);const i={id:"backend",title:"General"},c=void 0,r={id:"legacy/v8/basics/backend",title:"General",description:"docs-source",source:"@site/docs/legacy/v8/basics/backend.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/backend",permalink:"/docs/legacy/v8/basics/backend",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"backend",title:"General"},sidebar:"docs",previous:{title:"Architecture concepts",permalink:"/docs/legacy/v8/basics/architecture-concepts"},next:{title:"Namespaces",permalink:"/docs/legacy/v8/basics/namespaces"}},o={},l=[];function h(e){const n={a:"a",img:"img",li:"li",p:"p",ul:"ul",...(0,a.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs",children:(0,s.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(n.p,{children:"In general, you can use anything as-is from the vendor library, or you can modify/add the functionality of existing classes by extending them in your project."}),"\n",(0,s.jsx)(n.p,{children:"If you are familiar with the extending classes (class inheritance) in PHP language, you can skip this chapter. For the rest, here are some awesome descriptions of how it works:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.php.net/manual/en/language.oop5.interfaces.php",children:"Interfaces"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://en.wikipedia.org/wiki/Dependency_injection",children:"Dependency Injection"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.php.net/manual/en/language.oop5.abstract.php",children:"Abstract Classes"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.php.net/manual/en/language.oop5.inheritance.php",children:"Object Inheritance"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.php.net/manual/en/language.namespaces.php",children:"Namespaces"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.php.net/manual/en/language.oop5.traits.php",children:"Traits"})}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Please get acquainted with these concepts before you continue because they will help you in the later chapters."})]})}function p(e={}){const{wrapper:n}={...(0,a.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},11151:(e,n,t)=>{t.d(n,{Z:()=>r,a:()=>c});var s=t(67294);const a={},i=s.createContext(a);function c(e){const n=s.useContext(i);return s.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(a):e.components||a:c(e.components),s.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b9979bed.0b4972d8.js b/assets/js/b9979bed.0b4972d8.js new file mode 100644 index 000000000..a7f18ecfb --- /dev/null +++ b/assets/js/b9979bed.0b4972d8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[80072],{1698:s=>{s.exports=JSON.parse('{"label":"eightshift","permalink":"/blog/tags/eightshift","allTagsPath":"/blog/tags","count":14,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/b9979bed.d6a8a3c7.js b/assets/js/b9979bed.d6a8a3c7.js deleted file mode 100644 index 710b36d99..000000000 --- a/assets/js/b9979bed.d6a8a3c7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[21303],{57985:s=>{s.exports=JSON.parse('{"label":"eightshift","permalink":"/blog/tags/eightshift","allTagsPath":"/blog/tags","count":14,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/ba4d70ca.d93e23e2.js b/assets/js/ba4d70ca.d93e23e2.js new file mode 100644 index 000000000..b9000e1a6 --- /dev/null +++ b/assets/js/ba4d70ca.d93e23e2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[2312],{40436:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>c,default:()=>h,frontMatter:()=>r,metadata:()=>i,toc:()=>l});var o=n(17624),s=n(4552);const r={id:"browser-sync",title:"Browsersync"},c=void 0,i={id:"legacy/v7/basics/browser-sync",title:"Browsersync",description:"docs-source",source:"@site/docs/legacy/v7/basics/browser-sync.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/browser-sync",permalink:"/docs/legacy/v7/basics/browser-sync",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"browser-sync",title:"Browsersync"},sidebar:"docs",previous:{title:"Fonts",permalink:"/docs/legacy/v7/basics/fonts"},next:{title:"Dynamic Import",permalink:"/docs/legacy/v7/basics/dynamic-import"}},a={},l=[{value:"Using SSL for local development",id:"using-ssl-for-local-development",level:2}];function d(e){const t={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",...(0,s.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0",children:(0,o.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.a,{href:"https://browsersync.io/docs",children:"Browsersync"})," is a Node module that enables you to develop sites faster. It will react to any code change and 'refresh' the site without you needing to refresh it. In the background, it runs a small local server. When configured, it will inject a script on your web page to react to any code change."]}),"\n",(0,o.jsx)(t.p,{children:"Besides that, you can test your site on various devices on the same network."}),"\n",(0,o.jsx)(t.p,{children:"It's part of the Eightshift Development Kit by default. When you run:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-bash",children:"npm start\n"})}),"\n",(0,o.jsxs)(t.p,{children:["it will proxy the page you've specified in the ",(0,o.jsx)(t.code,{children:"projectUrl"})," to your local server."]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-bash",children:"[Browsersync] Proxying: https://local-url.test\n[Browsersync] Access URLs:\n--------------------------------------\nLocal: https://localhost:3000\nExternal: https://192.168.0.25:3000\n--------------------------------------\nUI: http://localhost:3001\nUI External: http://localhost:3001\n--------------------------------------\n"})}),"\n",(0,o.jsx)(t.p,{children:"Using the IP address, you can open it on any device (mobile phone or tablet) that is connected to the same network, and see how your site looks on that device."}),"\n",(0,o.jsx)(t.h2,{id:"using-ssl-for-local-development",children:"Using SSL for local development"}),"\n",(0,o.jsx)(t.p,{children:"By default, BrowserSync does not work with HTTPS URLs. If you use HTTPS in your local environment you can simply provide an additional key in the Webpack config to make it work."}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-js",children:"module.exports = (env, argv) => {\n\tconst projectConfig = {\n\t\tconfig: {\n\t\t\tprojectDir: __dirname, // Current project directory absolute path.\n\t\t\tprojectUrl: 'local-url.test', // Used for providing browsersync functionality.\n\t\t\tprojectPath: 'wp-content/themes/your-theme-name', // Project path relative to project root.\n\t\t\tuseSsl: true,\n\t\t},\n\t};\n\n\t// Generate webpack config for this project using options object.\n\treturn require('./node_modules/@eightshift/frontend-libs/webpack')(argv.mode, projectConfig);\n};\n"})})]})}function h(e={}){const{wrapper:t}={...(0,s.M)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},4552:(e,t,n)=>{n.d(t,{I:()=>i,M:()=>c});var o=n(11504);const s={},r=o.createContext(s);function c(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:c(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ba4d70ca.dd405777.js b/assets/js/ba4d70ca.dd405777.js deleted file mode 100644 index 3548e9680..000000000 --- a/assets/js/ba4d70ca.dd405777.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[59602],{14741:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>c,default:()=>h,frontMatter:()=>r,metadata:()=>i,toc:()=>l});var o=n(85893),s=n(11151);const r={id:"browser-sync",title:"Browsersync"},c=void 0,i={id:"legacy/v7/basics/browser-sync",title:"Browsersync",description:"docs-source",source:"@site/docs/legacy/v7/basics/browser-sync.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/browser-sync",permalink:"/docs/legacy/v7/basics/browser-sync",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"browser-sync",title:"Browsersync"},sidebar:"docs",previous:{title:"Fonts",permalink:"/docs/legacy/v7/basics/fonts"},next:{title:"Dynamic Import",permalink:"/docs/legacy/v7/basics/dynamic-import"}},a={},l=[{value:"Using SSL for local development",id:"using-ssl-for-local-development",level:2}];function d(e){const t={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",...(0,s.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0",children:(0,o.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.a,{href:"https://browsersync.io/docs",children:"Browsersync"})," is a Node module that enables you to develop sites faster. It will react to any code change and 'refresh' the site without you needing to refresh it. In the background, it runs a small local server. When configured, it will inject a script on your web page to react to any code change."]}),"\n",(0,o.jsx)(t.p,{children:"Besides that, you can test your site on various devices on the same network."}),"\n",(0,o.jsx)(t.p,{children:"It's part of the Eightshift Development Kit by default. When you run:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-bash",children:"npm start\n"})}),"\n",(0,o.jsxs)(t.p,{children:["it will proxy the page you've specified in the ",(0,o.jsx)(t.code,{children:"projectUrl"})," to your local server."]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-bash",children:"[Browsersync] Proxying: https://local-url.test\n[Browsersync] Access URLs:\n--------------------------------------\nLocal: https://localhost:3000\nExternal: https://192.168.0.25:3000\n--------------------------------------\nUI: http://localhost:3001\nUI External: http://localhost:3001\n--------------------------------------\n"})}),"\n",(0,o.jsx)(t.p,{children:"Using the IP address, you can open it on any device (mobile phone or tablet) that is connected to the same network, and see how your site looks on that device."}),"\n",(0,o.jsx)(t.h2,{id:"using-ssl-for-local-development",children:"Using SSL for local development"}),"\n",(0,o.jsx)(t.p,{children:"By default, BrowserSync does not work with HTTPS URLs. If you use HTTPS in your local environment you can simply provide an additional key in the Webpack config to make it work."}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-js",children:"module.exports = (env, argv) => {\n\tconst projectConfig = {\n\t\tconfig: {\n\t\t\tprojectDir: __dirname, // Current project directory absolute path.\n\t\t\tprojectUrl: 'local-url.test', // Used for providing browsersync functionality.\n\t\t\tprojectPath: 'wp-content/themes/your-theme-name', // Project path relative to project root.\n\t\t\tuseSsl: true,\n\t\t},\n\t};\n\n\t// Generate webpack config for this project using options object.\n\treturn require('./node_modules/@eightshift/frontend-libs/webpack')(argv.mode, projectConfig);\n};\n"})})]})}function h(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},11151:(e,t,n)=>{n.d(t,{Z:()=>i,a:()=>c});var o=n(67294);const s={},r=o.createContext(s);function c(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:c(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/bb95e167.b6259ecb.js b/assets/js/bb95e167.b6259ecb.js new file mode 100644 index 000000000..60d4e735f --- /dev/null +++ b/assets/js/bb95e167.b6259ecb.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[247],{76340:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var i=s(17624),t=s(4552);const o={id:"dynamic-import",title:"Dynamic Import"},r=void 0,l={id:"legacy/v8/basics/dynamic-import",title:"Dynamic Import",description:"docs-source",source:"@site/docs/legacy/v8/basics/dynamic-import.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/dynamic-import",permalink:"/docs/legacy/v8/basics/dynamic-import",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"dynamic-import",title:"Dynamic Import"},sidebar:"docs",previous:{title:"Browsersync",permalink:"/docs/legacy/v8/basics/browser-sync"},next:{title:"Blocks",permalink:"/docs/legacy/v8/basics/blocks"}},a={},c=[{value:"How does it work?",id:"how-does-it-work",level:2},{value:"Example",id:"example",level:2},{value:"index.js",id:"indexjs",level:3},{value:"carousel-slider.js",id:"carousel-sliderjs",level:3}];function d(e){const n={a:"a",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs",children:(0,i.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsxs)(n.p,{children:["As JavaScript code runs on the visitor's device, it's crucial that it's as fast and optimized as possible. A powerful tool from Webpack called ",(0,i.jsx)(n.a,{href:"https://webpack.js.org/guides/code-splitting/#dynamic-imports",children:"dynamic imports"})," helps with that."]}),"\n",(0,i.jsx)(n.p,{children:"Dynamic imports provide us the ability to load our JavaScript code only when it's used."}),"\n",(0,i.jsx)(n.p,{children:"By writing all JavaScript code using dynamic imports, we can reap significant benefits:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"optimize loading time"}),"\n",(0,i.jsx)(n.li,{children:"reduce the size of finished bundled JavaScript code"}),"\n",(0,i.jsx)(n.li,{children:"have websites that are fast, which can positively impact your SEO rating"}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"how-does-it-work",children:"How does it work?"}),"\n",(0,i.jsxs)(n.p,{children:["In a nutshell, you load all your code using JavaScript promises. Webpack splits all these promises into separate file chunks. Once the condition to resolve the promise is set (generally, if a selector is present in the DOM), Webpack automatically injects your chunk in the DOM and loads it up. This is why you will see a bunch of smaller files (",(0,i.jsx)(n.code,{children:"0.js"}),", ",(0,i.jsx)(n.code,{children:"1.js"}),", ",(0,i.jsx)(n.code,{children:"2.js"}),", etc) in your public folder instead of a single large file."]}),"\n",(0,i.jsx)(n.p,{children:"You don't need to think about this. Webpack just does it for you."}),"\n",(0,i.jsx)(n.h2,{id:"example",children:"Example"}),"\n",(0,i.jsx)(n.p,{children:"For example, let's make a carousel. An Eightshift convention is to write JavaScript code using classes, so we'll provide an example for that. However, you can use this approach with functions as well."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"We have two files:"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"index.js"})," - the main entry point for your JavaScript feature."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"className.js"})," - class with your JavaScript features that you can reuse."]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"indexjs",children:"index.js"}),"\n",(0,i.jsx)(n.p,{children:"This is a version where you have multiple instances of a feature on one page. If you are creating a feature for your block/component, you'll use something along these lines."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"import domReady from '@wordpress/dom-ready';\nimport { blockJsClass, blockName } from '../manifest.json';\n\n// Use this helper to make sure this code is executed when everything in DOM is set.\ndomReady(() => {\n\n // Provide selectors to check.\n const selector = `.${blockJsClass}`;\n const elements = document.querySelectorAll(selector);\n\n // This is the important part - if this condition is true, this promise will resolve and your chunk will be loaded in the DOM.\n if (!elements.length) {\n return;\n }\n\n // Normally load and resolve a promise on file import.\n const { CarouselSlider } = await import('./carousel-slider');\n\n // Loop possible multiple iterations.\n [...elements].forEach((element) => {\n const carouselSlider = new CarouselSlider({\n element,\n nextElement: `${selector}-next-arrow`,\n prevElement: `${selector}-prev-arrow`,\n });\n\n // Run and init function that starts everything in your class.\n carouselSlider.init();\n });\n});\n"})}),"\n",(0,i.jsxs)(n.p,{children:["If you are sure you will have only one instance of this feature on one-page, you can use the following code in your ",(0,i.jsx)(n.code,{children:"index.js"})," file."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"import domReady from '@wordpress/dom-ready';\nimport { blockJsClass, blockName } from '../manifest.json';\n\n// Use this helper to make sure this code is executed when everything in DOM is set.\ndomReady(() => {\n\n // Provide selectors to check.\n const selector = `.${blockJsClass}`;\n const element = document.querySelector(selector);\n\n // This is the important part. Because of it, your code will only be imported when there's an element on the page that uses it.\n if (!element) {\n return;\n }\n\n // Normally load and resolve a promise on file import.\n const { CarouselSlider } = await import('./carousel-slider');\n\n const carouselSlider = new CarouselSlider({\n element,\n nextElement: `${selector}-next-arrow`,\n prevElement: `${selector}-prev-arrow`,\n });\n\n // Run and init function that starts everything in your class.\n carouselSlider.init();\n});\n"})}),"\n",(0,i.jsx)(n.h3,{id:"carousel-sliderjs",children:"carousel-slider.js"}),"\n",(0,i.jsx)(n.p,{children:"This is a normal class with some JavaScript functionality."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"import Swiper from 'swiper';\n\nexport class CarouselSlider {\n constructor(options) {\n this.element = options.element;\n this.nextElement = options.nextElement;\n this.prevElement = options.prevElement;\n }\n\n init() {\n new Swiper(\n this.element,\n {\n // ...\n navigation: {\n nextEl: this.nextElement,\n prevEl: this.prevElement,\n },\n // ...\n }\n );\n }\n}\n"})})]})}function h(e={}){const{wrapper:n}={...(0,t.M)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},4552:(e,n,s)=>{s.d(n,{I:()=>l,M:()=>r});var i=s(11504);const t={},o=i.createContext(t);function r(e){const n=i.useContext(o);return i.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(t):e.components||t:r(e.components),i.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/bb95e167.efe3fb50.js b/assets/js/bb95e167.efe3fb50.js deleted file mode 100644 index 1df1a09bd..000000000 --- a/assets/js/bb95e167.efe3fb50.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[10823],{20927:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var i=s(85893),t=s(11151);const o={id:"dynamic-import",title:"Dynamic Import"},r=void 0,l={id:"legacy/v8/basics/dynamic-import",title:"Dynamic Import",description:"docs-source",source:"@site/docs/legacy/v8/basics/dynamic-import.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/dynamic-import",permalink:"/docs/legacy/v8/basics/dynamic-import",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"dynamic-import",title:"Dynamic Import"},sidebar:"docs",previous:{title:"Browsersync",permalink:"/docs/legacy/v8/basics/browser-sync"},next:{title:"Blocks",permalink:"/docs/legacy/v8/basics/blocks"}},a={},c=[{value:"How does it work?",id:"how-does-it-work",level:2},{value:"Example",id:"example",level:2},{value:"index.js",id:"indexjs",level:3},{value:"carousel-slider.js",id:"carousel-sliderjs",level:3}];function d(e){const n={a:"a",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs",children:(0,i.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsxs)(n.p,{children:["As JavaScript code runs on the visitor's device, it's crucial that it's as fast and optimized as possible. A powerful tool from Webpack called ",(0,i.jsx)(n.a,{href:"https://webpack.js.org/guides/code-splitting/#dynamic-imports",children:"dynamic imports"})," helps with that."]}),"\n",(0,i.jsx)(n.p,{children:"Dynamic imports provide us the ability to load our JavaScript code only when it's used."}),"\n",(0,i.jsx)(n.p,{children:"By writing all JavaScript code using dynamic imports, we can reap significant benefits:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"optimize loading time"}),"\n",(0,i.jsx)(n.li,{children:"reduce the size of finished bundled JavaScript code"}),"\n",(0,i.jsx)(n.li,{children:"have websites that are fast, which can positively impact your SEO rating"}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"how-does-it-work",children:"How does it work?"}),"\n",(0,i.jsxs)(n.p,{children:["In a nutshell, you load all your code using JavaScript promises. Webpack splits all these promises into separate file chunks. Once the condition to resolve the promise is set (generally, if a selector is present in the DOM), Webpack automatically injects your chunk in the DOM and loads it up. This is why you will see a bunch of smaller files (",(0,i.jsx)(n.code,{children:"0.js"}),", ",(0,i.jsx)(n.code,{children:"1.js"}),", ",(0,i.jsx)(n.code,{children:"2.js"}),", etc) in your public folder instead of a single large file."]}),"\n",(0,i.jsx)(n.p,{children:"You don't need to think about this. Webpack just does it for you."}),"\n",(0,i.jsx)(n.h2,{id:"example",children:"Example"}),"\n",(0,i.jsx)(n.p,{children:"For example, let's make a carousel. An Eightshift convention is to write JavaScript code using classes, so we'll provide an example for that. However, you can use this approach with functions as well."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"We have two files:"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"index.js"})," - the main entry point for your JavaScript feature."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"className.js"})," - class with your JavaScript features that you can reuse."]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"indexjs",children:"index.js"}),"\n",(0,i.jsx)(n.p,{children:"This is a version where you have multiple instances of a feature on one page. If you are creating a feature for your block/component, you'll use something along these lines."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"import domReady from '@wordpress/dom-ready';\nimport { blockJsClass, blockName } from '../manifest.json';\n\n// Use this helper to make sure this code is executed when everything in DOM is set.\ndomReady(() => {\n\n // Provide selectors to check.\n const selector = `.${blockJsClass}`;\n const elements = document.querySelectorAll(selector);\n\n // This is the important part - if this condition is true, this promise will resolve and your chunk will be loaded in the DOM.\n if (!elements.length) {\n return;\n }\n\n // Normally load and resolve a promise on file import.\n const { CarouselSlider } = await import('./carousel-slider');\n\n // Loop possible multiple iterations.\n [...elements].forEach((element) => {\n const carouselSlider = new CarouselSlider({\n element,\n nextElement: `${selector}-next-arrow`,\n prevElement: `${selector}-prev-arrow`,\n });\n\n // Run and init function that starts everything in your class.\n carouselSlider.init();\n });\n});\n"})}),"\n",(0,i.jsxs)(n.p,{children:["If you are sure you will have only one instance of this feature on one-page, you can use the following code in your ",(0,i.jsx)(n.code,{children:"index.js"})," file."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"import domReady from '@wordpress/dom-ready';\nimport { blockJsClass, blockName } from '../manifest.json';\n\n// Use this helper to make sure this code is executed when everything in DOM is set.\ndomReady(() => {\n\n // Provide selectors to check.\n const selector = `.${blockJsClass}`;\n const element = document.querySelector(selector);\n\n // This is the important part. Because of it, your code will only be imported when there's an element on the page that uses it.\n if (!element) {\n return;\n }\n\n // Normally load and resolve a promise on file import.\n const { CarouselSlider } = await import('./carousel-slider');\n\n const carouselSlider = new CarouselSlider({\n element,\n nextElement: `${selector}-next-arrow`,\n prevElement: `${selector}-prev-arrow`,\n });\n\n // Run and init function that starts everything in your class.\n carouselSlider.init();\n});\n"})}),"\n",(0,i.jsx)(n.h3,{id:"carousel-sliderjs",children:"carousel-slider.js"}),"\n",(0,i.jsx)(n.p,{children:"This is a normal class with some JavaScript functionality."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"import Swiper from 'swiper';\n\nexport class CarouselSlider {\n constructor(options) {\n this.element = options.element;\n this.nextElement = options.nextElement;\n this.prevElement = options.prevElement;\n }\n\n init() {\n new Swiper(\n this.element,\n {\n // ...\n navigation: {\n nextEl: this.nextElement,\n prevEl: this.prevElement,\n },\n // ...\n }\n );\n }\n}\n"})})]})}function h(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},11151:(e,n,s)=>{s.d(n,{Z:()=>l,a:()=>r});var i=s(67294);const t={},o=i.createContext(t);function r(e){const n=i.useContext(o);return i.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(t):e.components||t:r(e.components),i.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/bb98611a.081680bd.js b/assets/js/bb98611a.081680bd.js deleted file mode 100644 index fda853a71..000000000 --- a/assets/js/bb98611a.081680bd.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[63571],{32263:(t,i,s)=>{s.r(i),s.d(i,{assets:()=>a,contentTitle:()=>o,default:()=>l,frontMatter:()=>d,metadata:()=>r,toc:()=>c});var n=s(85893),e=s(11151);const d={id:"coding-standards",title:"Eightshift Coding Standards"},o=void 0,r={id:"additional-libraries/coding-standards",title:"Eightshift Coding Standards",description:"GitHub tag",source:"@site/docs/additional-libraries/coding-standards.md",sourceDirName:"additional-libraries",slug:"/additional-libraries/coding-standards",permalink:"/docs/additional-libraries/coding-standards",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"coding-standards",title:"Eightshift Coding Standards"},sidebar:"docs",previous:{title:"Eightshift Docs",permalink:"/docs/additional-libraries/docs"},next:{title:"Eightshift Storybook",permalink:"/docs/additional-libraries/storybook"}},a={},c=[];function h(t){const i={a:"a",img:"img",li:"li",p:"p",ul:"ul",...(0,e.a)(),...t.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"https://github.com/infinum/eightshift-coding-standards",children:(0,n.jsx)(i.img,{src:"https://img.shields.io/github/tag/infinum/eightshift-coding-standards.svg?style=for-the-badge",alt:"GitHub tag"})})}),"\n",(0,n.jsxs)(i.p,{children:["This package contains ",(0,n.jsx)(i.a,{href:"https://handbook.infinum.co/books/wordpress",children:"Eightshift Coding Standards for WordPress"})," for ",(0,n.jsx)(i.a,{href:"https://github.com/squizlabs/PHP_CodeSniffer/",children:"PHP_CodeSniffer"}),". The goal is to have a unified code across the WordPress projects we do at Eightshift and help with the code review."]}),"\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"https://github.com/infinum/eightshift-coding-standards/wiki",children:"Documentation"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"https://github.com/infinum/eightshift-coding-standards",children:"Github"})}),"\n"]})]})}function l(t={}){const{wrapper:i}={...(0,e.a)(),...t.components};return i?(0,n.jsx)(i,{...t,children:(0,n.jsx)(h,{...t})}):h(t)}},11151:(t,i,s)=>{s.d(i,{Z:()=>r,a:()=>o});var n=s(67294);const e={},d=n.createContext(e);function o(t){const i=n.useContext(d);return n.useMemo((function(){return"function"==typeof t?t(i):{...i,...t}}),[i,t])}function r(t){let i;return i=t.disableParentContext?"function"==typeof t.components?t.components(e):t.components||e:o(t.components),n.createElement(d.Provider,{value:i},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/bb98611a.7183cd55.js b/assets/js/bb98611a.7183cd55.js new file mode 100644 index 000000000..2209d3a8b --- /dev/null +++ b/assets/js/bb98611a.7183cd55.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[56128],{72408:(t,i,s)=>{s.r(i),s.d(i,{assets:()=>a,contentTitle:()=>o,default:()=>l,frontMatter:()=>d,metadata:()=>r,toc:()=>c});var n=s(17624),e=s(4552);const d={id:"coding-standards",title:"Eightshift Coding Standards"},o=void 0,r={id:"additional-libraries/coding-standards",title:"Eightshift Coding Standards",description:"GitHub tag",source:"@site/docs/additional-libraries/coding-standards.md",sourceDirName:"additional-libraries",slug:"/additional-libraries/coding-standards",permalink:"/docs/additional-libraries/coding-standards",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"coding-standards",title:"Eightshift Coding Standards"},sidebar:"docs",previous:{title:"Eightshift Docs",permalink:"/docs/additional-libraries/docs"},next:{title:"Eightshift Storybook",permalink:"/docs/additional-libraries/storybook"}},a={},c=[];function h(t){const i={a:"a",img:"img",li:"li",p:"p",ul:"ul",...(0,e.M)(),...t.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"https://github.com/infinum/eightshift-coding-standards",children:(0,n.jsx)(i.img,{src:"https://img.shields.io/github/tag/infinum/eightshift-coding-standards.svg?style=for-the-badge",alt:"GitHub tag"})})}),"\n",(0,n.jsxs)(i.p,{children:["This package contains ",(0,n.jsx)(i.a,{href:"https://handbook.infinum.co/books/wordpress",children:"Eightshift Coding Standards for WordPress"})," for ",(0,n.jsx)(i.a,{href:"https://github.com/squizlabs/PHP_CodeSniffer/",children:"PHP_CodeSniffer"}),". The goal is to have a unified code across the WordPress projects we do at Eightshift and help with the code review."]}),"\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"https://github.com/infinum/eightshift-coding-standards/wiki",children:"Documentation"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"https://github.com/infinum/eightshift-coding-standards",children:"Github"})}),"\n"]})]})}function l(t={}){const{wrapper:i}={...(0,e.M)(),...t.components};return i?(0,n.jsx)(i,{...t,children:(0,n.jsx)(h,{...t})}):h(t)}},4552:(t,i,s)=>{s.d(i,{I:()=>r,M:()=>o});var n=s(11504);const e={},d=n.createContext(e);function o(t){const i=n.useContext(d);return n.useMemo((function(){return"function"==typeof t?t(i):{...i,...t}}),[i,t])}function r(t){let i;return i=t.disableParentContext?"function"==typeof t.components?t.components(e):t.components||e:o(t.components),n.createElement(d.Provider,{value:i},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/bc5075fb.b33388a2.js b/assets/js/bc5075fb.b33388a2.js new file mode 100644 index 000000000..c1c78f487 --- /dev/null +++ b/assets/js/bc5075fb.b33388a2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[2692],{26052:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>a,contentTitle:()=>i,default:()=>d,frontMatter:()=>l,metadata:()=>r,toc:()=>c});var t=n(17624),o=n(4552);const l={id:"global-settings",title:"Global Settings"},i=void 0,r={id:"legacy/v7/basics/global-settings",title:"Global Settings",description:"docs-source",source:"@site/docs/legacy/v7/basics/global-settings.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/global-settings",permalink:"/docs/legacy/v7/basics/global-settings",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"global-settings",title:"Global Settings"},sidebar:"docs",previous:{title:"SCSS Library",permalink:"/docs/legacy/v7/basics/library"},next:{title:"Writing Styles",permalink:"/docs/legacy/v7/basics/writing-styles"}},a={},c=[{value:"Why do we use this?",id:"why-do-we-use-this",level:2},{value:"How does this work?",id:"how-does-this-work",level:2},{value:"Scenario 1:",id:"scenario-1",level:3},{value:"Scenario 2:",id:"scenario-2",level:3},{value:"Scenario 3:",id:"scenario-3",level:3}];function h(e){const s={a:"a",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",strong:"strong",...(0,o.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0",children:(0,t.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:["This chapter is only relevant in setups that don't use CSS variables. If you are using CSS variables please skip to the ",(0,t.jsx)(s.a,{href:"blocks-styles",children:"Blocks Styles chapter"})," chapter."]}),"\n"]}),"\n",(0,t.jsx)(s.p,{children:"Ok, this is the part that we are incredibly proud of. Did you know that you can pass values from the JSON manifest or some other file directly to SCSS? Yes, we had the same facial expression when we found out. For this to work, we used Webpack and its excellent features."}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsx)(s.p,{children:"This feature comes only with the block setup."}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["If you used our ",(0,t.jsx)(s.code,{children:"wp boilerplate setup_theme"})," command, you are all set. If not, please visit the ",(0,t.jsx)(s.a,{href:"blocks",children:"blocks chapter"})," for more details."]}),"\n",(0,t.jsx)(s.h2,{id:"why-do-we-use-this",children:"Why do we use this?"}),"\n",(0,t.jsx)(s.p,{children:"Because, with dynamic blocks, you must create your blocks. We got tired of copy/pasting styles from JavaScript/PHP/SCSS files. That is why we created this feature to define some global styles in one spot and use them in all three places."}),"\n",(0,t.jsx)(s.h2,{id:"how-does-this-work",children:"How does this work?"}),"\n",(0,t.jsxs)(s.p,{children:["You have the file ",(0,t.jsx)(s.code,{children:"src/Blocks/manifest.json"})," that has a key called ",(0,t.jsx)(s.code,{children:"globalVariables"}),". We use this key and build the SCSS maps that you can use in your style files."]}),"\n",(0,t.jsx)(s.p,{children:"Mind-blowing, right?"}),"\n",(0,t.jsxs)(s.p,{children:["To use it, write your style in the ",(0,t.jsx)(s.code,{children:"manifest.json"})," under the ",(0,t.jsx)(s.code,{children:"globalVariables"})," key, and you can use that variable in your style files like this:"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"$base-col-number: global-settings(maxCols);\n"})}),"\n",(0,t.jsxs)(s.p,{children:["Keep in mind that the ",(0,t.jsx)(s.code,{children:"global-settings"})," is a function that checks the ",(0,t.jsx)(s.code,{children:"globalVariables"})," map and returns the value depending on the key provided."]}),"\n",(0,t.jsxs)(s.p,{children:["For example, if you have something like this in your ",(0,t.jsx)(s.code,{children:"manifest.json"}),":"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-json",children:'{\n "globalVariables": {\n "maxCols": 12,\n "gutters": {\n "none": "0",\n "default": "25px",\n "big": "50px"\n },\n "colors": [\n {\n "name": "Primary",\n "slug": "primary",\n "color": "#3E3E3E"\n },\n {\n "name": "Black",\n "slug": "black",\n "color": "#000000"\n },\n ]\n }\n}\n'})}),"\n",(0,t.jsx)(s.h3,{id:"scenario-1",children:"Scenario 1:"}),"\n",(0,t.jsx)(s.p,{children:"You type this in you SCSS files:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"$base-col-number: global-settings(maxCols);\n"})}),"\n",(0,t.jsxs)(s.p,{children:["the output will be: ",(0,t.jsx)(s.strong,{children:"12"})]}),"\n",(0,t.jsx)(s.h3,{id:"scenario-2",children:"Scenario 2:"}),"\n",(0,t.jsx)(s.p,{children:"You type this in you SCSS files:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"$gutters: global-settings(gutters);\n"})}),"\n",(0,t.jsxs)(s.p,{children:["the output will be a map that you need to loop or fetch individual files using ",(0,t.jsx)(s.code,{children:"get-map-strict"})," or ",(0,t.jsx)(s.code,{children:"get-map-deep"})," function:"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:'$gutters: (\n "none": "0",\n "default": "25px",\n "big": "50px"\n);\n'})}),"\n",(0,t.jsx)(s.p,{children:"so you can call it like this:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"width: get-map-strict($gutters, default);\n"})}),"\n",(0,t.jsx)(s.h3,{id:"scenario-3",children:"Scenario 3:"}),"\n",(0,t.jsx)(s.p,{children:'"I want to output colors, but they don\'t follow the structure you mentioned before. Why is that?"'}),"\n",(0,t.jsx)(s.p,{children:"Yes, colors are different because we use this manifest to output the colors to the block editors' color palette. Only the colors are like this."}),"\n",(0,t.jsx)(s.p,{children:"Type this into your SCSS files:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"$primary-color: global-settings(colors, primary),\n$black-color: global-settings(colors, black),\n"})}),"\n",(0,t.jsx)(s.p,{children:"The output will be:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"$primary-color: #3E3E3E;\n$black-color: #000000;\n"})}),"\n",(0,t.jsx)(s.p,{children:"so you use it the normal SCSS way:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"color: $primary-color;\nbackground-color: $black-color;\n"})}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:["If you add/remove/change any value in the ",(0,t.jsx)(s.code,{children:"manifest.json"})," file, please restart your Webpack watch because it won't recognize that change."]}),"\n"]})]})}function d(e={}){const{wrapper:s}={...(0,o.M)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(h,{...e})}):h(e)}},4552:(e,s,n)=>{n.d(s,{I:()=>r,M:()=>i});var t=n(11504);const o={},l=t.createContext(o);function i(e){const s=t.useContext(l);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),t.createElement(l.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/bc5075fb.da760e69.js b/assets/js/bc5075fb.da760e69.js deleted file mode 100644 index 082f5f248..000000000 --- a/assets/js/bc5075fb.da760e69.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[79087],{57842:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>r,contentTitle:()=>i,default:()=>d,frontMatter:()=>l,metadata:()=>a,toc:()=>c});var t=n(85893),o=n(11151);const l={id:"global-settings",title:"Global Settings"},i=void 0,a={id:"legacy/v7/basics/global-settings",title:"Global Settings",description:"docs-source",source:"@site/docs/legacy/v7/basics/global-settings.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/global-settings",permalink:"/docs/legacy/v7/basics/global-settings",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"global-settings",title:"Global Settings"},sidebar:"docs",previous:{title:"SCSS Library",permalink:"/docs/legacy/v7/basics/library"},next:{title:"Writing Styles",permalink:"/docs/legacy/v7/basics/writing-styles"}},r={},c=[{value:"Why do we use this?",id:"why-do-we-use-this",level:2},{value:"How does this work?",id:"how-does-this-work",level:2},{value:"Scenario 1:",id:"scenario-1",level:3},{value:"Scenario 2:",id:"scenario-2",level:3},{value:"Scenario 3:",id:"scenario-3",level:3}];function h(e){const s={a:"a",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",strong:"strong",...(0,o.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0",children:(0,t.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:["This chapter is only relevant in setups that don't use CSS variables. If you are using CSS variables please skip to the ",(0,t.jsx)(s.a,{href:"blocks-styles",children:"Blocks Styles chapter"})," chapter."]}),"\n"]}),"\n",(0,t.jsx)(s.p,{children:"Ok, this is the part that we are incredibly proud of. Did you know that you can pass values from the JSON manifest or some other file directly to SCSS? Yes, we had the same facial expression when we found out. For this to work, we used Webpack and its excellent features."}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsx)(s.p,{children:"This feature comes only with the block setup."}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["If you used our ",(0,t.jsx)(s.code,{children:"wp boilerplate setup_theme"})," command, you are all set. If not, please visit the ",(0,t.jsx)(s.a,{href:"blocks",children:"blocks chapter"})," for more details."]}),"\n",(0,t.jsx)(s.h2,{id:"why-do-we-use-this",children:"Why do we use this?"}),"\n",(0,t.jsx)(s.p,{children:"Because, with dynamic blocks, you must create your blocks. We got tired of copy/pasting styles from JavaScript/PHP/SCSS files. That is why we created this feature to define some global styles in one spot and use them in all three places."}),"\n",(0,t.jsx)(s.h2,{id:"how-does-this-work",children:"How does this work?"}),"\n",(0,t.jsxs)(s.p,{children:["You have the file ",(0,t.jsx)(s.code,{children:"src/Blocks/manifest.json"})," that has a key called ",(0,t.jsx)(s.code,{children:"globalVariables"}),". We use this key and build the SCSS maps that you can use in your style files."]}),"\n",(0,t.jsx)(s.p,{children:"Mind-blowing, right?"}),"\n",(0,t.jsxs)(s.p,{children:["To use it, write your style in the ",(0,t.jsx)(s.code,{children:"manifest.json"})," under the ",(0,t.jsx)(s.code,{children:"globalVariables"})," key, and you can use that variable in your style files like this:"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"$base-col-number: global-settings(maxCols);\n"})}),"\n",(0,t.jsxs)(s.p,{children:["Keep in mind that the ",(0,t.jsx)(s.code,{children:"global-settings"})," is a function that checks the ",(0,t.jsx)(s.code,{children:"globalVariables"})," map and returns the value depending on the key provided."]}),"\n",(0,t.jsxs)(s.p,{children:["For example, if you have something like this in your ",(0,t.jsx)(s.code,{children:"manifest.json"}),":"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-json",children:'{\n "globalVariables": {\n "maxCols": 12,\n "gutters": {\n "none": "0",\n "default": "25px",\n "big": "50px"\n },\n "colors": [\n {\n "name": "Primary",\n "slug": "primary",\n "color": "#3E3E3E"\n },\n {\n "name": "Black",\n "slug": "black",\n "color": "#000000"\n },\n ]\n }\n}\n'})}),"\n",(0,t.jsx)(s.h3,{id:"scenario-1",children:"Scenario 1:"}),"\n",(0,t.jsx)(s.p,{children:"You type this in you SCSS files:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"$base-col-number: global-settings(maxCols);\n"})}),"\n",(0,t.jsxs)(s.p,{children:["the output will be: ",(0,t.jsx)(s.strong,{children:"12"})]}),"\n",(0,t.jsx)(s.h3,{id:"scenario-2",children:"Scenario 2:"}),"\n",(0,t.jsx)(s.p,{children:"You type this in you SCSS files:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"$gutters: global-settings(gutters);\n"})}),"\n",(0,t.jsxs)(s.p,{children:["the output will be a map that you need to loop or fetch individual files using ",(0,t.jsx)(s.code,{children:"get-map-strict"})," or ",(0,t.jsx)(s.code,{children:"get-map-deep"})," function:"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:'$gutters: (\n "none": "0",\n "default": "25px",\n "big": "50px"\n);\n'})}),"\n",(0,t.jsx)(s.p,{children:"so you can call it like this:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"width: get-map-strict($gutters, default);\n"})}),"\n",(0,t.jsx)(s.h3,{id:"scenario-3",children:"Scenario 3:"}),"\n",(0,t.jsx)(s.p,{children:'"I want to output colors, but they don\'t follow the structure you mentioned before. Why is that?"'}),"\n",(0,t.jsx)(s.p,{children:"Yes, colors are different because we use this manifest to output the colors to the block editors' color palette. Only the colors are like this."}),"\n",(0,t.jsx)(s.p,{children:"Type this into your SCSS files:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"$primary-color: global-settings(colors, primary),\n$black-color: global-settings(colors, black),\n"})}),"\n",(0,t.jsx)(s.p,{children:"The output will be:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"$primary-color: #3E3E3E;\n$black-color: #000000;\n"})}),"\n",(0,t.jsx)(s.p,{children:"so you use it the normal SCSS way:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-scss",children:"color: $primary-color;\nbackground-color: $black-color;\n"})}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:["If you add/remove/change any value in the ",(0,t.jsx)(s.code,{children:"manifest.json"})," file, please restart your Webpack watch because it won't recognize that change."]}),"\n"]})]})}function d(e={}){const{wrapper:s}={...(0,o.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(h,{...e})}):h(e)}},11151:(e,s,n)=>{n.d(s,{Z:()=>a,a:()=>i});var t=n(67294);const o={},l=t.createContext(o);function i(e){const s=t.useContext(l);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),t.createElement(l.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/bc8a7ae5.95c6df19.js b/assets/js/bc8a7ae5.95c6df19.js deleted file mode 100644 index d03219bb8..000000000 --- a/assets/js/bc8a7ae5.95c6df19.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[11928],{98663:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>r,toc:()=>l});var s=i(85893),n=i(11151);const o={id:"basics-intro",title:"Basics"},a=void 0,r={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.",source:"@site/docs/legacy/v6/basics/basics-intro.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/basics-intro",permalink:"/docs/legacy/v6/basics/basics-intro",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"basics-intro",title:"Basics"},sidebar:"docs",previous:{title:"Versions",permalink:"/docs/legacy/v6/versions"},next:{title:"WP-CLI",permalink:"/docs/legacy/v6/basics/wp-cli"}},c={},l=[{value:"Let's finally start with documentation",id:"lets-finally-start-with-documentation",level:2}];function d(e){const t={a:"a",h2:"h2",p:"p",strong:"strong",...(0,n.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:"Prior to WordPress 5.0, themes were mostly PHP-based, with JavaScript used only to provide interactive functionality on the website.\nNow 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."}),"\n",(0,s.jsx)(t.p,{children:"Now that everything is different, we must adapt to the changes as well."}),"\n",(0,s.jsx)(t.h2,{id:"lets-finally-start-with-documentation",children:"Let's finally start with documentation"}),"\n",(0,s.jsx)(t.p,{children:"We took our time to set up a bunch of WP-CLI commands. That should help you set up everything and use all our features, without worrying about correct names, files, and organization. You can find out more about it on this link:"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"wp-cli",children:"WP-CLI"})}),"\n",(0,s.jsx)(t.p,{children:"If you would like to read about our extensive WP-CLI features, find out how to use service classes, or learn how dependency injection container works with auto wiring, this link is for you:"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"backend",children:"Back-end stuff"})}),"\n",(0,s.jsx)(t.p,{children:"If instead, you would like to check out what we have prepared regarding the JavaScript Babel and Webpack, or find out how we ensure that our code is the same across multiple developers, this link is for you:"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"frontend",children:"Front-end stuff"})}),"\n",(0,s.jsxs)(t.p,{children:["On the other hand, if you would like to see our extensive ",(0,s.jsx)(t.strong,{children:"Dynamic Blocks"})," collection and learn how you can use them with all the developer's flexibility and as little code duplication as possible, check out this link:"]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"blocks",children:"Block editor blocks"})})]})}function h(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},11151:(e,t,i)=>{i.d(t,{Z:()=>r,a:()=>a});var s=i(67294);const n={},o=s.createContext(n);function a(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/bc8a7ae5.e7f0c57b.js b/assets/js/bc8a7ae5.e7f0c57b.js new file mode 100644 index 000000000..8ba29bb37 --- /dev/null +++ b/assets/js/bc8a7ae5.e7f0c57b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[37800],{79980:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>a,toc:()=>l});var s=i(17624),n=i(4552);const o={id:"basics-intro",title:"Basics"},r=void 0,a={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.",source:"@site/docs/legacy/v6/basics/basics-intro.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/basics-intro",permalink:"/docs/legacy/v6/basics/basics-intro",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"basics-intro",title:"Basics"},sidebar:"docs",previous:{title:"Versions",permalink:"/docs/legacy/v6/versions"},next:{title:"WP-CLI",permalink:"/docs/legacy/v6/basics/wp-cli"}},c={},l=[{value:"Let's finally start with documentation",id:"lets-finally-start-with-documentation",level:2}];function d(e){const t={a:"a",h2:"h2",p:"p",strong:"strong",...(0,n.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:"Prior to WordPress 5.0, themes were mostly PHP-based, with JavaScript used only to provide interactive functionality on the website.\nNow 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."}),"\n",(0,s.jsx)(t.p,{children:"Now that everything is different, we must adapt to the changes as well."}),"\n",(0,s.jsx)(t.h2,{id:"lets-finally-start-with-documentation",children:"Let's finally start with documentation"}),"\n",(0,s.jsx)(t.p,{children:"We took our time to set up a bunch of WP-CLI commands. That should help you set up everything and use all our features, without worrying about correct names, files, and organization. You can find out more about it on this link:"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"wp-cli",children:"WP-CLI"})}),"\n",(0,s.jsx)(t.p,{children:"If you would like to read about our extensive WP-CLI features, find out how to use service classes, or learn how dependency injection container works with auto wiring, this link is for you:"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"backend",children:"Back-end stuff"})}),"\n",(0,s.jsx)(t.p,{children:"If instead, you would like to check out what we have prepared regarding the JavaScript Babel and Webpack, or find out how we ensure that our code is the same across multiple developers, this link is for you:"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"frontend",children:"Front-end stuff"})}),"\n",(0,s.jsxs)(t.p,{children:["On the other hand, if you would like to see our extensive ",(0,s.jsx)(t.strong,{children:"Dynamic Blocks"})," collection and learn how you can use them with all the developer's flexibility and as little code duplication as possible, check out this link:"]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"blocks",children:"Block editor blocks"})})]})}function h(e={}){const{wrapper:t}={...(0,n.M)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},4552:(e,t,i)=>{i.d(t,{I:()=>a,M:()=>r});var s=i(11504);const n={},o=s.createContext(n);function r(e){const t=s.useContext(o);return s.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:r(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/bca46e3f.2866f9f2.js b/assets/js/bca46e3f.2866f9f2.js deleted file mode 100644 index ce07da5fd..000000000 --- a/assets/js/bca46e3f.2866f9f2.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[76814],{13085:(t,e,o)=>{o.r(e),o.d(e,{assets:()=>l,contentTitle:()=>i,default:()=>m,frontMatter:()=>a,metadata:()=>r,toc:()=>p});var s=o(85893),n=o(11151);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.a)(),...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.a)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(c,{...t})}):c(t)}},11151:(t,e,o)=>{o.d(e,{Z:()=>r,a:()=>i});var s=o(67294);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.abf03454.js b/assets/js/bca46e3f.abf03454.js new file mode 100644 index 000000000..3ef984299 --- /dev/null +++ b/assets/js/bca46e3f.abf03454.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[11212],{38138:(t,e,o)=>{o.r(e),o.d(e,{assets:()=>l,contentTitle:()=>i,default:()=>m,frontMatter:()=>a,metadata:()=>r,toc:()=>p});var s=o(17624),n=o(4552);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.M)(),...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.M)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(c,{...t})}):c(t)}},4552:(t,e,o)=>{o.d(e,{I:()=>r,M:()=>i});var s=o(11504);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/bcdc9a5c.66652ab3.js b/assets/js/bcdc9a5c.66652ab3.js deleted file mode 100644 index cddb86470..000000000 --- a/assets/js/bcdc9a5c.66652ab3.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[38284],{26009:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>o,contentTitle:()=>i,default:()=>c,frontMatter:()=>s,metadata:()=>l,toc:()=>p});var a=n(85893),r=n(11151);const s={id:"blocks-styles",title:"Styles"},i=void 0,l={id:"legacy/v6/basics/blocks-styles",title:"Styles",description:"docs-source",source:"@site/docs/legacy/v6/basics/blocks-styles.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/blocks-styles",permalink:"/docs/legacy/v6/basics/blocks-styles",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-styles",title:"Styles"},sidebar:"docs",previous:{title:"Reusable Blocks",permalink:"/docs/legacy/v6/basics/blocks-reusable"},next:{title:"Storybook",permalink:"/docs/legacy/v6/basics/blocks-storybook"}},o={},p=[{value:"Setup",id:"setup",level:2},{value:"Details",id:"details",level:2},{value:"Global variables",id:"global-variables",level:2},{value:"Variables",id:"variables",level:2},{value:"Default type",id:"default-type",level:2},{value:"Value type",id:"value-type",level:2},{value:"Editor variables",id:"editor-variables",level:2},{value:"Manual variables",id:"manual-variables",level:2},{value:"Manual variables inside the Block editor",id:"manual-variables-inside-the-block-editor",level:2},{value:"Additional options and examples",id:"additional-options-and-examples",level:2},{value:"Color",id:"color",level:3},{value:"Responsive",id:"responsive",level:3},{value:"Responsive Inverse",id:"responsive-inverse",level:3},{value:"Attribute value replacement",id:"attribute-value-replacement",level:3},{value:"Responsive variables",id:"responsive-variables",level:2}];function d(t){const e={a:"a",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",strong:"strong",...(0,r.a)(),...t.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(e.p,{children:(0,a.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/",children:(0,a.jsx)(e.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,a.jsx)(e.p,{children:"We decided to remove all support for IE 11. That decision opened up doors that lead to new, awesome features and all the cool stuff. One of those features is CSS variables with block manifest and global settings."}),"\n",(0,a.jsx)(e.p,{children:"Let's dig into the implementation of CSS variables in your project."}),"\n",(0,a.jsx)(e.h2,{id:"setup",children:"Setup"}),"\n",(0,a.jsxs)(e.p,{children:["To be able to use CSS variables you need to implement two helpers in your blocks/components: ",(0,a.jsx)(e.code,{children:"outputCssVariables"})," and ",(0,a.jsx)(e.code,{children:"getUnique"}),". For more details on these helpers, you can read ",(0,a.jsx)(e.a,{href:"helpers-javascript",children:"here"}),"."]}),"\n",(0,a.jsx)(e.p,{children:"There are a few differences between the JavaScript and PHP implementation due to a way React handles component re-rendering."}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"JavaScript component:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-js",children:"import React, { useMemo } from 'react';\nimport { outputCssVariables, getUnique } from '@eightshift/frontend-libs/scripts';\nimport manifest from '../manifest.json';\nimport globalManifest from './../../../manifest.json';\n\nexport const TypographyEditor = (attributes) => {\n\n\t// We need to use memo in order to optimise component re-rendering.\n\tconst unique = useMemo(() => getUnique(), []);\n\n\treturn (\n\t\t<>\n\t\t\t{outputCssVariables(attributes, manifest, unique, globalManifest)}\n\n\t\t\t<div data-id={unique}>\n\t\t\t\t{/*Regular component implementation*/}\n\t\t\t</div>\n\t\t</>\n\t);\n};\n"})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"PHP view:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-php",children:'use EightshiftLibs\\Helpers\\Components;\n\n$globalManifest = Components::getManifest(dirname(__DIR__, 2));\n$manifest = Components::getManifest(__DIR__);\n\n$unique = Components::getUnique();\n\n?>\n\n<div data-id="<?php echo esc_attr($unique); ?>">\n\t<?php echo Components::outputCssVariables($attributes, $manifest, $unique, $globalManifest); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>\n\t// Regular component implementation\n</div>\n'})}),"\n",(0,a.jsx)(e.p,{children:"Now that we have helpers in place, let's see how they work and what features they offer."}),"\n",(0,a.jsx)(e.h2,{id:"details",children:"Details"}),"\n",(0,a.jsxs)(e.p,{children:["CSS variables helper consists of 2 helpers. ",(0,a.jsx)(e.code,{children:"outputCssVariables"})," helper will output all CSS variables set in your blocks/component manifest and ",(0,a.jsx)(e.code,{children:"getUnique"})," helper will make sure that variables are applied only to the exact block/component."]}),"\n",(0,a.jsx)(e.p,{children:"If you check your rendered website you can see that you have something like this:"}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-html",children:'<div class="typography" data-id="210c9bbf733ef5c6aa74c49168ac29a7">\n\t<style>\n\t\t.typography[data-id=\'210c9bbf733ef5c6aa74c49168ac29a7\'] {\n\t\t\t--typography-color: var(--global-colors-black);\n\t\t\t--typography-content-align: left;\n\t\t}\n\t</style>\n\t...\n</div>\n'})}),"\n",(0,a.jsx)(e.p,{children:"This is all that's required for the magic of CSS variables to work! Now let's see it in action and check out all additional features you can use."}),"\n",(0,a.jsx)(e.h2,{id:"global-variables",children:"Global variables"}),"\n",(0,a.jsxs)(e.p,{children:["Now that we know how CSS variables are generated, we have one more helper to describe.\nThe ",(0,a.jsx)(e.code,{children:"outputCssVariablesGlobal(globalSettings);"})," helper is called in the ",(0,a.jsx)(e.code,{children:"application-blocks-editor.js"})," file. It is used to output all CSS variables from the global manifest under the ",(0,a.jsx)(e.code,{children:"globalVariables"})," key, into the ",(0,a.jsx)(e.code,{children:":root"})," selector."]}),"\n",(0,a.jsxs)(e.blockquote,{children:["\n",(0,a.jsx)(e.p,{children:"All of these variables are available to use inside any blocks/components."}),"\n"]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Global Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"namespace": "eightshift-boilerplate",\n\t"background": "#D8262C",\n\t"foreground": "#FFFFFF",\n\t"globalVariables": {\n\t\t"customBlocksName": "eightshift-block",\n\t\t"maxCols": 12,\n\t\t"breakpoints": {\n\t\t\t"mobile": 479,\n\t\t\t"tablet": 1279,\n\t\t\t"desktop": 1919,\n\t\t\t"large": 1920\n\t\t},\n\t\t"containers": {\n\t\t\t"default": "1330px"\n\t\t},\n\t\t"gutters": {\n\t\t\t"none": "0",\n\t\t\t"default": "25px",\n\t\t\t"big": "50px"\n\t\t},\n\t\t"sectionSpacing": {\n\t\t\t"min": -300,\n\t\t\t"max": 300,\n\t\t\t"step": 10\n\t\t},\n\t\t"sectionInSpacing": {\n\t\t\t"min": 0,\n\t\t\t"max": 300,\n\t\t\t"step": 10\n\t\t},\n\t\t"colors": [\n\t\t\t{\n\t\t\t\t"name": "Black",\n\t\t\t\t"slug": "black",\n\t\t\t\t"color": "#111111"\n\t\t\t},\n\t\t\t{\n\t\t\t\t"name": "White",\n\t\t\t\t"slug": "white",\n\t\t\t\t"color": "#FFFFFF"\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-html",children:"<style>\n\t:root {\n\t\t--global-custom-blocks-name: eightshift-block;\n\t\t--global-max-cols: 12;\n\t\t--global-breakpoints-mobile: 479;\n\t\t--global-breakpoints-tablet: 1279;\n\t\t--global-breakpoints-desktop: 1919;\n\t\t--global-breakpoints-large: 1920;\n\t\t--global-containers-default: 1330px;\n\t\t--global-gutters-none: 0;\n\t\t--global-gutters-default: 25px;\n\t\t--global-gutters-big: 50px;\n\t\t--global-section-spacing-min: -300;\n\t\t--global-section-spacing-max: 300;\n\t\t--global-section-spacing-step: 10;\n\t\t--global-section-in-spacing-min: 0;\n\t\t--global-section-in-spacing-max: 300;\n\t\t--global-section-in-spacing-step: 10;\n\t\t--global-colors-black: #111111;\n\t\t--global-colors-white: #FFFFFF;\n\t}\n</style>\n"})}),"\n",(0,a.jsx)(e.p,{children:"You can use a global variable like any other CSS variable:"}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"color: var(--global-colors-white);\n"})}),"\n",(0,a.jsx)(e.h2,{id:"variables",children:"Variables"}),"\n",(0,a.jsx)(e.p,{children:"As we said in the beginning, all CSS variables are defined within the block/component manifest."}),"\n",(0,a.jsxs)(e.p,{children:["To output an attribute as a CSS variable, you need to set the ",(0,a.jsx)(e.code,{children:"variables"})," key in the block/component ",(0,a.jsx)(e.code,{children:"manifest"})," and define the variable markdown."]}),"\n",(0,a.jsx)(e.p,{children:"All css variables are prepared and ready to be used in the responsive manner."}),"\n",(0,a.jsx)(e.h2,{id:"default-type",children:"Default type"}),"\n",(0,a.jsxs)(e.p,{children:["Variable ",(0,a.jsx)(e.code,{children:"default"})," will output all variables from the list no matter what you have selected in the attribute. You can use unlimited variables."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographySize": {\n\t\t\t"type": "string",\n\t\t\t"default": "120-default"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographySize": [\n\t\t\t{\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "120px",\n\t\t\t\t\t"typography-line-height": "calc(var(--typography-size) * 1.2)"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--typography-size: 120px;\n--typography-line-height: 144px;\n"})}),"\n",(0,a.jsx)(e.h2,{id:"value-type",children:"Value type"}),"\n",(0,a.jsxs)(e.p,{children:["Variable ",(0,a.jsx)(e.code,{children:"value"})," will output all variables depending on attributes value. Everything else is the same as in the default type."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographySize": {\n\t\t\t"type": "string",\n\t\t\t"default": "120-default"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographySize": {\n\t\t\t"120-default": [\n\t\t\t\t{\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"typography-size": "120px",\n\t\t\t\t\t\t"typography-line-height": "calc(var(--typography-size) * 1.2)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--typography-size: 120px;\n--typography-line-height: 144px;\n"})}),"\n",(0,a.jsx)(e.h2,{id:"editor-variables",children:"Editor variables"}),"\n",(0,a.jsxs)(e.p,{children:["Editor variables behave just like regular ",(0,a.jsx)(e.code,{children:"variables"}),", except they are output only inside the Block Editor.\nThey are mostly used for overriding specific behaviour, e.g. showing a hidden element as half-transparent instead of hiding it completely."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentName": "wrapper",\n\t"title": "Wrapper",\n\t"componentClass": "wrapper",\n\t"attributes": {\n\t\t"wrapperHide": {\n\t\t\t"type": "boolean",\n\t\t\t"default": false\n\t\t}\n\t},\n\t"variables": {\n\t\t"wrapperHide": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t}\n\t},\n\t"variablesEditor": {\n\t\t"wrapperHide": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display-opacity": "0.5",\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--wrapper-display: none;\n--wrapper-display-opacity: 0.5;\n--wrapper-display: var(--wrapper-display-type, grid);\n"})}),"\n",(0,a.jsx)(e.h2,{id:"manual-variables",children:"Manual variables"}),"\n",(0,a.jsxs)(e.p,{children:["Custom CSS variables can be generated and output independently from all the attributes through the ",(0,a.jsx)(e.code,{children:"variablesCustom"})," key. Add it inside the manifest (top level) and add each variable as an array item.\nManual variables will be added at the end of the output."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"attributes": {\n\t\t// ...\n\t},\n\t"variablesCustom": [\n\t\t"--variable1: test1",\n\t\t"--variable2: test2",\n\t\t"--variable3: test3"\n\t]\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--variable1: test1;\n--variable2: test2;\n--variable3: test3;\n"})}),"\n",(0,a.jsx)(e.h2,{id:"manual-variables-inside-the-block-editor",children:"Manual variables inside the Block editor"}),"\n",(0,a.jsxs)(e.p,{children:["If you want to add manual variables that only apply inside the Block editor you can use the ",(0,a.jsx)(e.code,{children:"variablesCustomEditor"})," key. Everything works the same as described in the ",(0,a.jsx)(e.strong,{children:"Manual variables"})," section.\nIf you define both ",(0,a.jsx)(e.code,{children:"variablesCustomEditor"})," and ",(0,a.jsx)(e.code,{children:"variables"}),", both will be output in the editor, but only ",(0,a.jsx)(e.code,{children:"variables"})," will be output on the frontend."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"attributes": {\n\t\t// ...\n\t},\n\t"variablesCustomEditor": [\n\t\t"--variable1: test1",\n\t\t"--variable2: test2",\n\t\t"--variable3: test3"\n\t]\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--variable1: test1;\n--variable2: test2;\n--variable3: test3;\n"})}),"\n",(0,a.jsx)(e.h2,{id:"additional-options-and-examples",children:"Additional options and examples"}),"\n",(0,a.jsx)(e.h3,{id:"color",children:"Color"}),"\n",(0,a.jsx)(e.p,{children:"Here is an example how to output global variable as a css variable."}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographyColor": {\n\t\t\t"type": "string",\n\t\t\t"default": "white"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographyColor": [\n\t\t\t{\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-color": "var(--global-colors-white)"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--typography-color: var(--global-colors-white);\n"})}),"\n",(0,a.jsx)(e.h3,{id:"responsive",children:"Responsive"}),"\n",(0,a.jsx)(e.p,{children:"All variables are prepared to be responsive. If you set multiple keys in the manifest list that variable will be outputted in the correct media query. Breakpoints are taken from the global manifest and the order of the output breakpoints."}),"\n",(0,a.jsxs)(e.blockquote,{children:["\n",(0,a.jsx)(e.p,{children:"Global breakpoints must follow the convention from the smallest size to the largest."}),"\n"]}),"\n",(0,a.jsx)(e.p,{children:"If you don't specify breakpoint key, that item will not be wrapped in the media query."}),"\n",(0,a.jsx)(e.p,{children:"If you write breakpoint that isn't defined in the global manifest, that condition will be ignored."}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographySize": {\n\t\t\t"type": "string",\n\t\t\t"default": "120-default"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographySize": [\n\t\t\t{\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "30px"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t"breakpoint": "tablet",\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "80px"\n\t\t\t\t}\n\t\t\t}\n\t\t\t{\n\t\t\t\t"breakpoint": "large",\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "120px"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:".typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t--typography-size: 30px;\n}\n\n@media(min-width: 1279px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 80px;\n\t}\n}\n\n@media(min-width: 1920px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 120px;\n\t}\n}\n"})}),"\n",(0,a.jsx)(e.h3,{id:"responsive-inverse",children:"Responsive Inverse"}),"\n",(0,a.jsxs)(e.p,{children:["By default, we use mobile first approach but if you need desktop first you can use ",(0,a.jsx)(e.code,{children:"inverse: true"})," key."]}),"\n",(0,a.jsxs)(e.blockquote,{children:["\n",(0,a.jsx)(e.p,{children:"If you have multiple mobile/desktop first breakpoints, output will sort them mobile first and then desktop first after that."}),"\n"]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographySize": {\n\t\t\t"type": "string",\n\t\t\t"default": "120-default"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographySize": [\n\t\t\t{\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "120px"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t"breakpoint": "tablet",\n\t\t\t\t"inverse": true,\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "80px"\n\t\t\t\t}\n\t\t\t}\n\t\t\t{\n\t\t\t\t"breakpoint": "mobile",\n\t\t\t\t"inverse": true,\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "320px"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:".typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t--typography-size: 120px;\n}\n\n@media(max-width: 1279px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 80px;\n\t}\n}\n\n@media(max-width: 479px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 30px;\n\t}\n}\n"})}),"\n",(0,a.jsx)(e.h3,{id:"attribute-value-replacement",children:"Attribute value replacement"}),"\n",(0,a.jsxs)(e.p,{children:["Attribute value replacement variable is used to return the attribute value where you want it in the css variables. To use it just put ",(0,a.jsx)(e.code,{children:"%value%"})," in you css variables."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographySize": {\n\t\t\t"type": "string",\n\t\t\t"default": "120"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographySize": [\n\t\t\t{\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "30px"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t"breakpoint": "tablet",\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "80px"\n\t\t\t\t}\n\t\t\t}\n\t\t\t{\n\t\t\t\t"breakpoint": "large",\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "%value%px"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:".typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t--typography-size: 30px;\n}\n\n@media(min-width: 1279px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 80px;\n\t}\n}\n\n@media(min-width: 1920px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 120px;\n\t}\n}\n"})}),"\n",(0,a.jsx)(e.h2,{id:"responsive-variables",children:"Responsive variables"}),"\n",(0,a.jsxs)(e.p,{children:["Responsive variables are used for eliminating unnecessary code duplication. For example, if you have 4 separate attributes used for setting a responsive variable where all the attributes have the same output (e.g. ",(0,a.jsx)(e.code,{children:"%value%"}),"), the variables can get cluttered rather quickly."]}),"\n",(0,a.jsxs)(e.p,{children:["In a top-level manifest key ",(0,a.jsx)(e.code,{children:"responsiveAttributes"}),", you can place a new key (e.g. ",(0,a.jsx)(e.code,{children:"wrapperHide"}),") that represents a common key for your responsive variables. Inside of it, you can list your responsive variables (e.g. ",(0,a.jsx)(e.code,{children:"wrapperHideLarge"}),", ",(0,a.jsx)(e.code,{children:"wrapperHideDesktop"}),", ",(0,a.jsx)(e.code,{children:"wrapperHideTablet"}),", ",(0,a.jsx)(e.code,{children:"wrapperHideMobile"}),") as a key-value pair. The key represents a breakpoint name, and the value represents responsive variable(",(0,a.jsx)(e.code,{children:"breakpoint"}),": ",(0,a.jsx)(e.code,{children:"responsiveVariableName"}),"). Afterwards, you can add that common key inside the ",(0,a.jsx)(e.code,{children:"variables"})," (and/or ",(0,a.jsx)(e.code,{children:"variablesEditor"}),") key and configure the output template."]}),"\n",(0,a.jsxs)(e.p,{children:["Best practice is to have the attributes named consistently with your breakpoints - in the ",(0,a.jsx)(e.strong,{children:(0,a.jsx)(e.code,{children:"variableName``breakpointName"})})," format (see example below)."]}),"\n",(0,a.jsxs)(e.blockquote,{children:["\n",(0,a.jsxs)(e.p,{children:["If you need an extra variable, or are overriding some of the auto-generated variables (from the helper), the variables will be output after the responsive variables. (see ",(0,a.jsx)(e.strong,{children:"Example 2"}),")"]}),"\n"]}),"\n",(0,a.jsxs)(e.blockquote,{children:["\n",(0,a.jsxs)(e.p,{children:["Order of responsive attributes is important since generating variables relies on that order. Make sure to use the ",(0,a.jsx)(e.code,{children:"inverse"})," option properly."]}),"\n"]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Example 1"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentName": "wrapper",\n\t"title": "Wrapper",\n\t"componentClass": "wrapper",\n\t"attributes": {\n\t\t"wrapperHideLarge": {\n\t\t\t"type": "boolean",\n\t\t\t"default": false\n\t\t},\n\t\t"wrapperHideDesktop": {\n\t\t\t"type": "boolean"\n\t\t},\n\t\t"wrapperHideTablet": {\n\t\t\t"type": "boolean"\n\t\t}\n\t},\n\t"responsiveAttributes": {\n\t\t"wrapperHide": {\n\t\t\t"large": "wrapperHideLarge",\n\t\t\t"desktop": "wrapperHideDesktop",\n\t\t\t"tablet": "wrapperHideTablet"\n\t\t}\n\t},\n\t"variables": {\n\t\t"wrapperHide": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t\t"false": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Transformed:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentName": "wrapper",\n\t"title": "Wrapper",\n\t"componentClass": "wrapper",\n\t"attributes": {\n\t\t"wrapperHide": {\n\t\t\t"type": "boolean",\n\t\t\t"default": false\n\t\t}\n\t},\n\t"responsiveAttributes": {\n\t\t"wrapperHideLarge": {\n\t\t\t"type": "boolean",\n\t\t\t"default": false\n\t\t},\n\t\t"wrapperHideDesktop": {\n\t\t\t"type": "boolean"\n\t\t},\n\t\t"wrapperHideTablet": {\n\t\t\t"type": "boolean"\n\t\t}\n\t},\n\t"variables": {\n\t\t"wrapperHideLarge": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t\t"false": [\n\t\t\t\t{\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t"wrapperHideDesktop": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"breakpoint": "desktop",\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t\t"false": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"breakpoint": "desktop",\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t"wrapperHideTablet": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"breakpoint": "desktop",\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t\t"false": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"breakpoint": "desktop",\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:".wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t--wrapper-display: var(--wrapper-display-type, grid);\n}\n@media(max-width: 1920px) {\n\t.wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--wrapper-display: none;\n\t}\n}\n@media(max-width: 1279px) {\n\t.wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--wrapper-display: var(--wrapper-display-type, grid);\n\t}\n}\n\n"})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Example 2"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentName": "wrapper",\n\t"title": "Wrapper",\n\t"componentClass": "wrapper",\n\t"attributes": {\n\t\t"wrapperHideLarge": {\n\t\t\t"type": "boolean",\n\t\t\t"default": false\n\t\t},\n\t\t"wrapperHideDesktop": {\n\t\t\t"type": "boolean"\n\t\t},\n\t\t"wrapperHideTablet": {\n\t\t\t"type": "boolean"\n\t\t}\n\t},\n\t"responsiveAttributes": {\n\t\t"wrapperHide": {\n\t\t\t"large": "wrapperHideLarge",\n\t\t\t"desktop": "wrapperHideDesktop",\n\t\t\t"tablet": "wrapperHideTablet"\n\t\t}\n\t},\n\t"variables": {\n\t\t"wrapperHide": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t\t"false": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t"wrapperHideLarge": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "block",\n\t\t\t\t\t\t"wrapper-opacity": 0\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t}\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:".wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t--wrapper-display: none;\n\t--wrapper-display: block;\n\t--wrapper-opacity: 0;\n}\n\n"})})]})}function c(t={}){const{wrapper:e}={...(0,r.a)(),...t.components};return e?(0,a.jsx)(e,{...t,children:(0,a.jsx)(d,{...t})}):d(t)}},11151:(t,e,n)=>{n.d(e,{Z:()=>l,a:()=>i});var a=n(67294);const r={},s=a.createContext(r);function i(t){const e=a.useContext(s);return a.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(r):t.components||r:i(t.components),a.createElement(s.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/bcdc9a5c.d6ea3348.js b/assets/js/bcdc9a5c.d6ea3348.js new file mode 100644 index 000000000..0ee78d8f4 --- /dev/null +++ b/assets/js/bcdc9a5c.d6ea3348.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[20676],{23572:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>o,contentTitle:()=>i,default:()=>c,frontMatter:()=>s,metadata:()=>l,toc:()=>p});var a=n(17624),r=n(4552);const s={id:"blocks-styles",title:"Styles"},i=void 0,l={id:"legacy/v6/basics/blocks-styles",title:"Styles",description:"docs-source",source:"@site/docs/legacy/v6/basics/blocks-styles.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/blocks-styles",permalink:"/docs/legacy/v6/basics/blocks-styles",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-styles",title:"Styles"},sidebar:"docs",previous:{title:"Reusable Blocks",permalink:"/docs/legacy/v6/basics/blocks-reusable"},next:{title:"Storybook",permalink:"/docs/legacy/v6/basics/blocks-storybook"}},o={},p=[{value:"Setup",id:"setup",level:2},{value:"Details",id:"details",level:2},{value:"Global variables",id:"global-variables",level:2},{value:"Variables",id:"variables",level:2},{value:"Default type",id:"default-type",level:2},{value:"Value type",id:"value-type",level:2},{value:"Editor variables",id:"editor-variables",level:2},{value:"Manual variables",id:"manual-variables",level:2},{value:"Manual variables inside the Block editor",id:"manual-variables-inside-the-block-editor",level:2},{value:"Additional options and examples",id:"additional-options-and-examples",level:2},{value:"Color",id:"color",level:3},{value:"Responsive",id:"responsive",level:3},{value:"Responsive Inverse",id:"responsive-inverse",level:3},{value:"Attribute value replacement",id:"attribute-value-replacement",level:3},{value:"Responsive variables",id:"responsive-variables",level:2}];function d(t){const e={a:"a",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",strong:"strong",...(0,r.M)(),...t.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(e.p,{children:(0,a.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/",children:(0,a.jsx)(e.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,a.jsx)(e.p,{children:"We decided to remove all support for IE 11. That decision opened up doors that lead to new, awesome features and all the cool stuff. One of those features is CSS variables with block manifest and global settings."}),"\n",(0,a.jsx)(e.p,{children:"Let's dig into the implementation of CSS variables in your project."}),"\n",(0,a.jsx)(e.h2,{id:"setup",children:"Setup"}),"\n",(0,a.jsxs)(e.p,{children:["To be able to use CSS variables you need to implement two helpers in your blocks/components: ",(0,a.jsx)(e.code,{children:"outputCssVariables"})," and ",(0,a.jsx)(e.code,{children:"getUnique"}),". For more details on these helpers, you can read ",(0,a.jsx)(e.a,{href:"helpers-javascript",children:"here"}),"."]}),"\n",(0,a.jsx)(e.p,{children:"There are a few differences between the JavaScript and PHP implementation due to a way React handles component re-rendering."}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"JavaScript component:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-js",children:"import React, { useMemo } from 'react';\nimport { outputCssVariables, getUnique } from '@eightshift/frontend-libs/scripts';\nimport manifest from '../manifest.json';\nimport globalManifest from './../../../manifest.json';\n\nexport const TypographyEditor = (attributes) => {\n\n\t// We need to use memo in order to optimise component re-rendering.\n\tconst unique = useMemo(() => getUnique(), []);\n\n\treturn (\n\t\t<>\n\t\t\t{outputCssVariables(attributes, manifest, unique, globalManifest)}\n\n\t\t\t<div data-id={unique}>\n\t\t\t\t{/*Regular component implementation*/}\n\t\t\t</div>\n\t\t</>\n\t);\n};\n"})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"PHP view:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-php",children:'use EightshiftLibs\\Helpers\\Components;\n\n$globalManifest = Components::getManifest(dirname(__DIR__, 2));\n$manifest = Components::getManifest(__DIR__);\n\n$unique = Components::getUnique();\n\n?>\n\n<div data-id="<?php echo esc_attr($unique); ?>">\n\t<?php echo Components::outputCssVariables($attributes, $manifest, $unique, $globalManifest); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>\n\t// Regular component implementation\n</div>\n'})}),"\n",(0,a.jsx)(e.p,{children:"Now that we have helpers in place, let's see how they work and what features they offer."}),"\n",(0,a.jsx)(e.h2,{id:"details",children:"Details"}),"\n",(0,a.jsxs)(e.p,{children:["CSS variables helper consists of 2 helpers. ",(0,a.jsx)(e.code,{children:"outputCssVariables"})," helper will output all CSS variables set in your blocks/component manifest and ",(0,a.jsx)(e.code,{children:"getUnique"})," helper will make sure that variables are applied only to the exact block/component."]}),"\n",(0,a.jsx)(e.p,{children:"If you check your rendered website you can see that you have something like this:"}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-html",children:'<div class="typography" data-id="210c9bbf733ef5c6aa74c49168ac29a7">\n\t<style>\n\t\t.typography[data-id=\'210c9bbf733ef5c6aa74c49168ac29a7\'] {\n\t\t\t--typography-color: var(--global-colors-black);\n\t\t\t--typography-content-align: left;\n\t\t}\n\t</style>\n\t...\n</div>\n'})}),"\n",(0,a.jsx)(e.p,{children:"This is all that's required for the magic of CSS variables to work! Now let's see it in action and check out all additional features you can use."}),"\n",(0,a.jsx)(e.h2,{id:"global-variables",children:"Global variables"}),"\n",(0,a.jsxs)(e.p,{children:["Now that we know how CSS variables are generated, we have one more helper to describe.\nThe ",(0,a.jsx)(e.code,{children:"outputCssVariablesGlobal(globalSettings);"})," helper is called in the ",(0,a.jsx)(e.code,{children:"application-blocks-editor.js"})," file. It is used to output all CSS variables from the global manifest under the ",(0,a.jsx)(e.code,{children:"globalVariables"})," key, into the ",(0,a.jsx)(e.code,{children:":root"})," selector."]}),"\n",(0,a.jsxs)(e.blockquote,{children:["\n",(0,a.jsx)(e.p,{children:"All of these variables are available to use inside any blocks/components."}),"\n"]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Global Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"namespace": "eightshift-boilerplate",\n\t"background": "#D8262C",\n\t"foreground": "#FFFFFF",\n\t"globalVariables": {\n\t\t"customBlocksName": "eightshift-block",\n\t\t"maxCols": 12,\n\t\t"breakpoints": {\n\t\t\t"mobile": 479,\n\t\t\t"tablet": 1279,\n\t\t\t"desktop": 1919,\n\t\t\t"large": 1920\n\t\t},\n\t\t"containers": {\n\t\t\t"default": "1330px"\n\t\t},\n\t\t"gutters": {\n\t\t\t"none": "0",\n\t\t\t"default": "25px",\n\t\t\t"big": "50px"\n\t\t},\n\t\t"sectionSpacing": {\n\t\t\t"min": -300,\n\t\t\t"max": 300,\n\t\t\t"step": 10\n\t\t},\n\t\t"sectionInSpacing": {\n\t\t\t"min": 0,\n\t\t\t"max": 300,\n\t\t\t"step": 10\n\t\t},\n\t\t"colors": [\n\t\t\t{\n\t\t\t\t"name": "Black",\n\t\t\t\t"slug": "black",\n\t\t\t\t"color": "#111111"\n\t\t\t},\n\t\t\t{\n\t\t\t\t"name": "White",\n\t\t\t\t"slug": "white",\n\t\t\t\t"color": "#FFFFFF"\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-html",children:"<style>\n\t:root {\n\t\t--global-custom-blocks-name: eightshift-block;\n\t\t--global-max-cols: 12;\n\t\t--global-breakpoints-mobile: 479;\n\t\t--global-breakpoints-tablet: 1279;\n\t\t--global-breakpoints-desktop: 1919;\n\t\t--global-breakpoints-large: 1920;\n\t\t--global-containers-default: 1330px;\n\t\t--global-gutters-none: 0;\n\t\t--global-gutters-default: 25px;\n\t\t--global-gutters-big: 50px;\n\t\t--global-section-spacing-min: -300;\n\t\t--global-section-spacing-max: 300;\n\t\t--global-section-spacing-step: 10;\n\t\t--global-section-in-spacing-min: 0;\n\t\t--global-section-in-spacing-max: 300;\n\t\t--global-section-in-spacing-step: 10;\n\t\t--global-colors-black: #111111;\n\t\t--global-colors-white: #FFFFFF;\n\t}\n</style>\n"})}),"\n",(0,a.jsx)(e.p,{children:"You can use a global variable like any other CSS variable:"}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"color: var(--global-colors-white);\n"})}),"\n",(0,a.jsx)(e.h2,{id:"variables",children:"Variables"}),"\n",(0,a.jsx)(e.p,{children:"As we said in the beginning, all CSS variables are defined within the block/component manifest."}),"\n",(0,a.jsxs)(e.p,{children:["To output an attribute as a CSS variable, you need to set the ",(0,a.jsx)(e.code,{children:"variables"})," key in the block/component ",(0,a.jsx)(e.code,{children:"manifest"})," and define the variable markdown."]}),"\n",(0,a.jsx)(e.p,{children:"All css variables are prepared and ready to be used in the responsive manner."}),"\n",(0,a.jsx)(e.h2,{id:"default-type",children:"Default type"}),"\n",(0,a.jsxs)(e.p,{children:["Variable ",(0,a.jsx)(e.code,{children:"default"})," will output all variables from the list no matter what you have selected in the attribute. You can use unlimited variables."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographySize": {\n\t\t\t"type": "string",\n\t\t\t"default": "120-default"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographySize": [\n\t\t\t{\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "120px",\n\t\t\t\t\t"typography-line-height": "calc(var(--typography-size) * 1.2)"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--typography-size: 120px;\n--typography-line-height: 144px;\n"})}),"\n",(0,a.jsx)(e.h2,{id:"value-type",children:"Value type"}),"\n",(0,a.jsxs)(e.p,{children:["Variable ",(0,a.jsx)(e.code,{children:"value"})," will output all variables depending on attributes value. Everything else is the same as in the default type."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographySize": {\n\t\t\t"type": "string",\n\t\t\t"default": "120-default"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographySize": {\n\t\t\t"120-default": [\n\t\t\t\t{\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"typography-size": "120px",\n\t\t\t\t\t\t"typography-line-height": "calc(var(--typography-size) * 1.2)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--typography-size: 120px;\n--typography-line-height: 144px;\n"})}),"\n",(0,a.jsx)(e.h2,{id:"editor-variables",children:"Editor variables"}),"\n",(0,a.jsxs)(e.p,{children:["Editor variables behave just like regular ",(0,a.jsx)(e.code,{children:"variables"}),", except they are output only inside the Block Editor.\nThey are mostly used for overriding specific behaviour, e.g. showing a hidden element as half-transparent instead of hiding it completely."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentName": "wrapper",\n\t"title": "Wrapper",\n\t"componentClass": "wrapper",\n\t"attributes": {\n\t\t"wrapperHide": {\n\t\t\t"type": "boolean",\n\t\t\t"default": false\n\t\t}\n\t},\n\t"variables": {\n\t\t"wrapperHide": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t}\n\t},\n\t"variablesEditor": {\n\t\t"wrapperHide": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display-opacity": "0.5",\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--wrapper-display: none;\n--wrapper-display-opacity: 0.5;\n--wrapper-display: var(--wrapper-display-type, grid);\n"})}),"\n",(0,a.jsx)(e.h2,{id:"manual-variables",children:"Manual variables"}),"\n",(0,a.jsxs)(e.p,{children:["Custom CSS variables can be generated and output independently from all the attributes through the ",(0,a.jsx)(e.code,{children:"variablesCustom"})," key. Add it inside the manifest (top level) and add each variable as an array item.\nManual variables will be added at the end of the output."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"attributes": {\n\t\t// ...\n\t},\n\t"variablesCustom": [\n\t\t"--variable1: test1",\n\t\t"--variable2: test2",\n\t\t"--variable3: test3"\n\t]\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--variable1: test1;\n--variable2: test2;\n--variable3: test3;\n"})}),"\n",(0,a.jsx)(e.h2,{id:"manual-variables-inside-the-block-editor",children:"Manual variables inside the Block editor"}),"\n",(0,a.jsxs)(e.p,{children:["If you want to add manual variables that only apply inside the Block editor you can use the ",(0,a.jsx)(e.code,{children:"variablesCustomEditor"})," key. Everything works the same as described in the ",(0,a.jsx)(e.strong,{children:"Manual variables"})," section.\nIf you define both ",(0,a.jsx)(e.code,{children:"variablesCustomEditor"})," and ",(0,a.jsx)(e.code,{children:"variables"}),", both will be output in the editor, but only ",(0,a.jsx)(e.code,{children:"variables"})," will be output on the frontend."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"attributes": {\n\t\t// ...\n\t},\n\t"variablesCustomEditor": [\n\t\t"--variable1: test1",\n\t\t"--variable2: test2",\n\t\t"--variable3: test3"\n\t]\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--variable1: test1;\n--variable2: test2;\n--variable3: test3;\n"})}),"\n",(0,a.jsx)(e.h2,{id:"additional-options-and-examples",children:"Additional options and examples"}),"\n",(0,a.jsx)(e.h3,{id:"color",children:"Color"}),"\n",(0,a.jsx)(e.p,{children:"Here is an example how to output global variable as a css variable."}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographyColor": {\n\t\t\t"type": "string",\n\t\t\t"default": "white"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographyColor": [\n\t\t\t{\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-color": "var(--global-colors-white)"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--typography-color: var(--global-colors-white);\n"})}),"\n",(0,a.jsx)(e.h3,{id:"responsive",children:"Responsive"}),"\n",(0,a.jsx)(e.p,{children:"All variables are prepared to be responsive. If you set multiple keys in the manifest list that variable will be outputted in the correct media query. Breakpoints are taken from the global manifest and the order of the output breakpoints."}),"\n",(0,a.jsxs)(e.blockquote,{children:["\n",(0,a.jsx)(e.p,{children:"Global breakpoints must follow the convention from the smallest size to the largest."}),"\n"]}),"\n",(0,a.jsx)(e.p,{children:"If you don't specify breakpoint key, that item will not be wrapped in the media query."}),"\n",(0,a.jsx)(e.p,{children:"If you write breakpoint that isn't defined in the global manifest, that condition will be ignored."}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographySize": {\n\t\t\t"type": "string",\n\t\t\t"default": "120-default"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographySize": [\n\t\t\t{\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "30px"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t"breakpoint": "tablet",\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "80px"\n\t\t\t\t}\n\t\t\t}\n\t\t\t{\n\t\t\t\t"breakpoint": "large",\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "120px"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:".typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t--typography-size: 30px;\n}\n\n@media(min-width: 1279px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 80px;\n\t}\n}\n\n@media(min-width: 1920px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 120px;\n\t}\n}\n"})}),"\n",(0,a.jsx)(e.h3,{id:"responsive-inverse",children:"Responsive Inverse"}),"\n",(0,a.jsxs)(e.p,{children:["By default, we use mobile first approach but if you need desktop first you can use ",(0,a.jsx)(e.code,{children:"inverse: true"})," key."]}),"\n",(0,a.jsxs)(e.blockquote,{children:["\n",(0,a.jsx)(e.p,{children:"If you have multiple mobile/desktop first breakpoints, output will sort them mobile first and then desktop first after that."}),"\n"]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographySize": {\n\t\t\t"type": "string",\n\t\t\t"default": "120-default"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographySize": [\n\t\t\t{\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "120px"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t"breakpoint": "tablet",\n\t\t\t\t"inverse": true,\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "80px"\n\t\t\t\t}\n\t\t\t}\n\t\t\t{\n\t\t\t\t"breakpoint": "mobile",\n\t\t\t\t"inverse": true,\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "320px"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:".typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t--typography-size: 120px;\n}\n\n@media(max-width: 1279px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 80px;\n\t}\n}\n\n@media(max-width: 479px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 30px;\n\t}\n}\n"})}),"\n",(0,a.jsx)(e.h3,{id:"attribute-value-replacement",children:"Attribute value replacement"}),"\n",(0,a.jsxs)(e.p,{children:["Attribute value replacement variable is used to return the attribute value where you want it in the css variables. To use it just put ",(0,a.jsx)(e.code,{children:"%value%"})," in you css variables."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographySize": {\n\t\t\t"type": "string",\n\t\t\t"default": "120"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographySize": [\n\t\t\t{\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "30px"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t"breakpoint": "tablet",\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "80px"\n\t\t\t\t}\n\t\t\t}\n\t\t\t{\n\t\t\t\t"breakpoint": "large",\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "%value%px"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:".typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t--typography-size: 30px;\n}\n\n@media(min-width: 1279px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 80px;\n\t}\n}\n\n@media(min-width: 1920px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 120px;\n\t}\n}\n"})}),"\n",(0,a.jsx)(e.h2,{id:"responsive-variables",children:"Responsive variables"}),"\n",(0,a.jsxs)(e.p,{children:["Responsive variables are used for eliminating unnecessary code duplication. For example, if you have 4 separate attributes used for setting a responsive variable where all the attributes have the same output (e.g. ",(0,a.jsx)(e.code,{children:"%value%"}),"), the variables can get cluttered rather quickly."]}),"\n",(0,a.jsxs)(e.p,{children:["In a top-level manifest key ",(0,a.jsx)(e.code,{children:"responsiveAttributes"}),", you can place a new key (e.g. ",(0,a.jsx)(e.code,{children:"wrapperHide"}),") that represents a common key for your responsive variables. Inside of it, you can list your responsive variables (e.g. ",(0,a.jsx)(e.code,{children:"wrapperHideLarge"}),", ",(0,a.jsx)(e.code,{children:"wrapperHideDesktop"}),", ",(0,a.jsx)(e.code,{children:"wrapperHideTablet"}),", ",(0,a.jsx)(e.code,{children:"wrapperHideMobile"}),") as a key-value pair. The key represents a breakpoint name, and the value represents responsive variable(",(0,a.jsx)(e.code,{children:"breakpoint"}),": ",(0,a.jsx)(e.code,{children:"responsiveVariableName"}),"). Afterwards, you can add that common key inside the ",(0,a.jsx)(e.code,{children:"variables"})," (and/or ",(0,a.jsx)(e.code,{children:"variablesEditor"}),") key and configure the output template."]}),"\n",(0,a.jsxs)(e.p,{children:["Best practice is to have the attributes named consistently with your breakpoints - in the ",(0,a.jsx)(e.strong,{children:(0,a.jsx)(e.code,{children:"variableName``breakpointName"})})," format (see example below)."]}),"\n",(0,a.jsxs)(e.blockquote,{children:["\n",(0,a.jsxs)(e.p,{children:["If you need an extra variable, or are overriding some of the auto-generated variables (from the helper), the variables will be output after the responsive variables. (see ",(0,a.jsx)(e.strong,{children:"Example 2"}),")"]}),"\n"]}),"\n",(0,a.jsxs)(e.blockquote,{children:["\n",(0,a.jsxs)(e.p,{children:["Order of responsive attributes is important since generating variables relies on that order. Make sure to use the ",(0,a.jsx)(e.code,{children:"inverse"})," option properly."]}),"\n"]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Example 1"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentName": "wrapper",\n\t"title": "Wrapper",\n\t"componentClass": "wrapper",\n\t"attributes": {\n\t\t"wrapperHideLarge": {\n\t\t\t"type": "boolean",\n\t\t\t"default": false\n\t\t},\n\t\t"wrapperHideDesktop": {\n\t\t\t"type": "boolean"\n\t\t},\n\t\t"wrapperHideTablet": {\n\t\t\t"type": "boolean"\n\t\t}\n\t},\n\t"responsiveAttributes": {\n\t\t"wrapperHide": {\n\t\t\t"large": "wrapperHideLarge",\n\t\t\t"desktop": "wrapperHideDesktop",\n\t\t\t"tablet": "wrapperHideTablet"\n\t\t}\n\t},\n\t"variables": {\n\t\t"wrapperHide": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t\t"false": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Transformed:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentName": "wrapper",\n\t"title": "Wrapper",\n\t"componentClass": "wrapper",\n\t"attributes": {\n\t\t"wrapperHide": {\n\t\t\t"type": "boolean",\n\t\t\t"default": false\n\t\t}\n\t},\n\t"responsiveAttributes": {\n\t\t"wrapperHideLarge": {\n\t\t\t"type": "boolean",\n\t\t\t"default": false\n\t\t},\n\t\t"wrapperHideDesktop": {\n\t\t\t"type": "boolean"\n\t\t},\n\t\t"wrapperHideTablet": {\n\t\t\t"type": "boolean"\n\t\t}\n\t},\n\t"variables": {\n\t\t"wrapperHideLarge": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t\t"false": [\n\t\t\t\t{\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t"wrapperHideDesktop": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"breakpoint": "desktop",\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t\t"false": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"breakpoint": "desktop",\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t"wrapperHideTablet": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"breakpoint": "desktop",\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t\t"false": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"breakpoint": "desktop",\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:".wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t--wrapper-display: var(--wrapper-display-type, grid);\n}\n@media(max-width: 1920px) {\n\t.wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--wrapper-display: none;\n\t}\n}\n@media(max-width: 1279px) {\n\t.wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--wrapper-display: var(--wrapper-display-type, grid);\n\t}\n}\n\n"})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Example 2"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentName": "wrapper",\n\t"title": "Wrapper",\n\t"componentClass": "wrapper",\n\t"attributes": {\n\t\t"wrapperHideLarge": {\n\t\t\t"type": "boolean",\n\t\t\t"default": false\n\t\t},\n\t\t"wrapperHideDesktop": {\n\t\t\t"type": "boolean"\n\t\t},\n\t\t"wrapperHideTablet": {\n\t\t\t"type": "boolean"\n\t\t}\n\t},\n\t"responsiveAttributes": {\n\t\t"wrapperHide": {\n\t\t\t"large": "wrapperHideLarge",\n\t\t\t"desktop": "wrapperHideDesktop",\n\t\t\t"tablet": "wrapperHideTablet"\n\t\t}\n\t},\n\t"variables": {\n\t\t"wrapperHide": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t\t"false": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t"wrapperHideLarge": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "block",\n\t\t\t\t\t\t"wrapper-opacity": 0\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t}\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:".wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t--wrapper-display: none;\n\t--wrapper-display: block;\n\t--wrapper-opacity: 0;\n}\n\n"})})]})}function c(t={}){const{wrapper:e}={...(0,r.M)(),...t.components};return e?(0,a.jsx)(e,{...t,children:(0,a.jsx)(d,{...t})}):d(t)}},4552:(t,e,n)=>{n.d(e,{I:()=>l,M:()=>i});var a=n(11504);const r={},s=a.createContext(r);function i(t){const e=a.useContext(s);return a.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(r):t.components||r:i(t.components),a.createElement(s.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/bce2f7e5.032a4a30.js b/assets/js/bce2f7e5.032a4a30.js deleted file mode 100644 index f2f6cce4d..000000000 --- a/assets/js/bce2f7e5.032a4a30.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[50964],{91933:(o,e,t)=>{t.r(e),t.d(e,{assets:()=>c,contentTitle:()=>i,default:()=>h,frontMatter:()=>r,metadata:()=>l,toc:()=>a});var s=t(85893),n=t(11151);const r={id:"blocks-storybook",title:"Storybook"},i=void 0,l={id:"legacy/v6/basics/blocks-storybook",title:"Storybook",description:"docs-source",source:"@site/docs/legacy/v6/basics/blocks-storybook.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/blocks-storybook",permalink:"/docs/legacy/v6/basics/blocks-storybook",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-storybook",title:"Storybook"},sidebar:"docs",previous:{title:"Styles",permalink:"/docs/legacy/v6/basics/blocks-styles"},next:{title:"Helpers",permalink:"/docs/legacy/v6/basics/helpers"}},c={},a=[{value:"Create my custom story",id:"create-my-custom-story",level:2},{value:"Block story",id:"block-story",level:3},{value:"Variation story",id:"variation-story",level:3},{value:"Component story",id:"component-story",level:3}];function d(o){const e={a:"a",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",...(0,n.a)(),...o.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.p,{children:(0,s.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/",children:(0,s.jsx)(e.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(e.p,{children:"We have created a full storybook that hosts all our blocks/components/variations with a fully functional block editor, where you can try out how blocks work and behave."}),"\n",(0,s.jsxs)(e.blockquote,{children:["\n",(0,s.jsx)(e.p,{children:"To speed up project build time, Eightshift Boilerplate doesn't come with the storybook out of the box; you need to install it. To install Storybook to your project, just type this command in you terminal and follow the instructions:"}),"\n"]}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-bash",children:"wp boilerplate create_blocks_storybook\n"})}),"\n",(0,s.jsx)(e.h2,{id:"create-my-custom-story",children:"Create my custom story"}),"\n",(0,s.jsx)(e.p,{children:"You don't need to have stories in your block/component, but we provided you with the ability to use the Storybook for all of your blocks and components. Why not use it? It will speed up your development time. Trust us."}),"\n",(0,s.jsx)(e.p,{children:"If you used our way to set up your project, you already have Storybook ready to use. To start the Storybook, run this command:"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-bash",children:"npm run storybook\n"})}),"\n",(0,s.jsxs)(e.p,{children:["In your project, you also have the ",(0,s.jsx)(e.code,{children:".storybook"})," folder, where all the configuration for Storybook is defined."]}),"\n",(0,s.jsxs)(e.p,{children:["For your blocks/components/variation to be seen in the Storybook, you must have the ",(0,s.jsx)(e.code,{children:"docs"})," folder and the ",(0,s.jsx)(e.code,{children:"story.js"})," file in it."]}),"\n",(0,s.jsx)(e.h3,{id:"block-story",children:"Block story"}),"\n",(0,s.jsxs)(e.p,{children:["For all blocks, you don't need to write anything because all blocks stories look the same here is an example of the ",(0,s.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/custom/heading/docs/story.js",children:"heading block story"}),"."]}),"\n",(0,s.jsxs)(e.p,{children:["We pull all the data from the manifest.json file and all the attribute values from the ",(0,s.jsx)(e.code,{children:"example"})," key."]}),"\n",(0,s.jsx)(e.h3,{id:"variation-story",children:"Variation story"}),"\n",(0,s.jsx)(e.p,{children:"The same as the block's story."}),"\n",(0,s.jsx)(e.h3,{id:"component-story",children:"Component story"}),"\n",(0,s.jsxs)(e.p,{children:["Components are not smart and can't be automatically built into the story. This is why you must create a story of all your components and mock the data.\nYou should set all the mock data in the component ",(0,s.jsx)(e.code,{children:"manifest.json"})," and just provide the story's implementation. We have provided you with the helper that uses example data from you manifests and respects the component's dependency tree. Here you can see and example of ",(0,s.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/components/card/docs/story.js",children:"card component story"}),"."]})]})}function h(o={}){const{wrapper:e}={...(0,n.a)(),...o.components};return e?(0,s.jsx)(e,{...o,children:(0,s.jsx)(d,{...o})}):d(o)}},11151:(o,e,t)=>{t.d(e,{Z:()=>l,a:()=>i});var s=t(67294);const n={},r=s.createContext(n);function i(o){const e=s.useContext(r);return s.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(n):o.components||n:i(o.components),s.createElement(r.Provider,{value:e},o.children)}}}]); \ No newline at end of file diff --git a/assets/js/bce2f7e5.52256330.js b/assets/js/bce2f7e5.52256330.js new file mode 100644 index 000000000..c555218d5 --- /dev/null +++ b/assets/js/bce2f7e5.52256330.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[18240],{23392:(o,e,t)=>{t.r(e),t.d(e,{assets:()=>c,contentTitle:()=>i,default:()=>h,frontMatter:()=>r,metadata:()=>l,toc:()=>a});var s=t(17624),n=t(4552);const r={id:"blocks-storybook",title:"Storybook"},i=void 0,l={id:"legacy/v6/basics/blocks-storybook",title:"Storybook",description:"docs-source",source:"@site/docs/legacy/v6/basics/blocks-storybook.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/blocks-storybook",permalink:"/docs/legacy/v6/basics/blocks-storybook",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-storybook",title:"Storybook"},sidebar:"docs",previous:{title:"Styles",permalink:"/docs/legacy/v6/basics/blocks-styles"},next:{title:"Helpers",permalink:"/docs/legacy/v6/basics/helpers"}},c={},a=[{value:"Create my custom story",id:"create-my-custom-story",level:2},{value:"Block story",id:"block-story",level:3},{value:"Variation story",id:"variation-story",level:3},{value:"Component story",id:"component-story",level:3}];function d(o){const e={a:"a",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",...(0,n.M)(),...o.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.p,{children:(0,s.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/",children:(0,s.jsx)(e.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(e.p,{children:"We have created a full storybook that hosts all our blocks/components/variations with a fully functional block editor, where you can try out how blocks work and behave."}),"\n",(0,s.jsxs)(e.blockquote,{children:["\n",(0,s.jsx)(e.p,{children:"To speed up project build time, Eightshift Boilerplate doesn't come with the storybook out of the box; you need to install it. To install Storybook to your project, just type this command in you terminal and follow the instructions:"}),"\n"]}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-bash",children:"wp boilerplate create_blocks_storybook\n"})}),"\n",(0,s.jsx)(e.h2,{id:"create-my-custom-story",children:"Create my custom story"}),"\n",(0,s.jsx)(e.p,{children:"You don't need to have stories in your block/component, but we provided you with the ability to use the Storybook for all of your blocks and components. Why not use it? It will speed up your development time. Trust us."}),"\n",(0,s.jsx)(e.p,{children:"If you used our way to set up your project, you already have Storybook ready to use. To start the Storybook, run this command:"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-bash",children:"npm run storybook\n"})}),"\n",(0,s.jsxs)(e.p,{children:["In your project, you also have the ",(0,s.jsx)(e.code,{children:".storybook"})," folder, where all the configuration for Storybook is defined."]}),"\n",(0,s.jsxs)(e.p,{children:["For your blocks/components/variation to be seen in the Storybook, you must have the ",(0,s.jsx)(e.code,{children:"docs"})," folder and the ",(0,s.jsx)(e.code,{children:"story.js"})," file in it."]}),"\n",(0,s.jsx)(e.h3,{id:"block-story",children:"Block story"}),"\n",(0,s.jsxs)(e.p,{children:["For all blocks, you don't need to write anything because all blocks stories look the same here is an example of the ",(0,s.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/custom/heading/docs/story.js",children:"heading block story"}),"."]}),"\n",(0,s.jsxs)(e.p,{children:["We pull all the data from the manifest.json file and all the attribute values from the ",(0,s.jsx)(e.code,{children:"example"})," key."]}),"\n",(0,s.jsx)(e.h3,{id:"variation-story",children:"Variation story"}),"\n",(0,s.jsx)(e.p,{children:"The same as the block's story."}),"\n",(0,s.jsx)(e.h3,{id:"component-story",children:"Component story"}),"\n",(0,s.jsxs)(e.p,{children:["Components are not smart and can't be automatically built into the story. This is why you must create a story of all your components and mock the data.\nYou should set all the mock data in the component ",(0,s.jsx)(e.code,{children:"manifest.json"})," and just provide the story's implementation. We have provided you with the helper that uses example data from you manifests and respects the component's dependency tree. Here you can see and example of ",(0,s.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/components/card/docs/story.js",children:"card component story"}),"."]})]})}function h(o={}){const{wrapper:e}={...(0,n.M)(),...o.components};return e?(0,s.jsx)(e,{...o,children:(0,s.jsx)(d,{...o})}):d(o)}},4552:(o,e,t)=>{t.d(e,{I:()=>l,M:()=>i});var s=t(11504);const n={},r=s.createContext(n);function i(o){const e=s.useContext(r);return s.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(n):o.components||n:i(o.components),s.createElement(r.Provider,{value:e},o.children)}}}]); \ No newline at end of file diff --git a/assets/js/be197d78.82165284.js b/assets/js/be197d78.82165284.js new file mode 100644 index 000000000..71d7e17be --- /dev/null +++ b/assets/js/be197d78.82165284.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[51368],{86988:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>d,frontMatter:()=>o,metadata:()=>i,toc:()=>c});var a=s(17624),n=s(4552);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.M)(),...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.M)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(h,{...e})}):h(e)}},4552:(e,t,s)=>{s.d(t,{I:()=>i,M:()=>r});var a=s(11504);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.c0b7ab5b.js b/assets/js/be197d78.c0b7ab5b.js deleted file mode 100644 index 5fc60181a..000000000 --- a/assets/js/be197d78.c0b7ab5b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[20101],{31487:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>d,frontMatter:()=>o,metadata:()=>i,toc:()=>c});var a=s(85893),n=s(11151);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.a)(),...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.a)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(h,{...e})}):h(e)}},11151:(e,t,s)=>{s.d(t,{Z:()=>i,a:()=>r});var a=s(67294);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/be937143.9b9ce781.js b/assets/js/be937143.9b9ce781.js deleted file mode 100644 index 360e52790..000000000 --- a/assets/js/be937143.9b9ce781.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[46065],{32027:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>m,contentTitle:()=>s,default:()=>u,frontMatter:()=>i,metadata:()=>o,toc:()=>l});var r=n(85893),a=n(11151);const i={id:"manual-map",title:"Manual map"},s=void 0,o={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.",source:"@site/forms/php/filters/enrichment/manual-map.md",sourceDirName:"php/filters/enrichment",slug:"/php/filters/enrichment/manual-map",permalink:"/forms/php/filters/enrichment/manual-map",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"manual-map",title:"Manual map"},sidebar:"forms",previous:{title:"Pre-Post Params",permalink:"/forms/php/filters/entries/pre-post-params"},next:{title:"Force mimetype from FS",permalink:"/forms/php/filters/validation/force-mimetype-from-fs"}},m={},l=[];function c(e){const t={code:"code",em:"em",p:"p",pre:"pre",...(0,a.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.em,{children:"Enrichment"})," is a feature that allows storing URL parameters or cookie values in the browser ",(0,r.jsx)(t.code,{children:"localStorage"}),", allowing their use during form submissions, in case they are not available after the user returns to the page."]}),"\n",(0,r.jsxs)(t.p,{children:["This filter allows to configure the ",(0,r.jsx)(t.em,{children:"Enrichment"})," functionality. You should have a list of URL parameter/cookie names, and their corresponding form field names ready. Return an associative array with the keys being URL parameter/cookie names, and the value an array of one or more form field names. The parameter mapping will happen during form submission."]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-php",children:"\\add_filter('es_forms_enrichment_manual_map', [$this, 'getEnrichmentManualMap']);\n\n/**\n * Manual map enrichment array.\n *\n * This filter provides you with the ability to manually map enrichment array combined with settings data.\n *\n * @return array<string, array<int, string>>\n */\npublic function getEnrichmentManualMap(): array\n{\n\treturn [\n\t\t'__IB_LT_utm_medium' => ['utm_medium_lt'],\n\t\t'__IB_LT_utm_source' => ['utm_source_lt'],\n\t];\n}\n"})}),"\n",(0,r.jsxs)(t.p,{children:["In this example, if while submitting the form you have a URL parameter or a cookie name ",(0,r.jsx)(t.code,{children:"__IB_LT_utm_medium"}),", its value will be entered into the ",(0,r.jsx)(t.code,{children:"utm_medium_lt"})," form field."]}),"\n",(0,r.jsxs)(t.p,{children:["The data is stored in ",(0,r.jsx)(t.code,{children:"localStorage"})," for the duration set in Settings."]})]})}function u(e={}){const{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},11151:(e,t,n)=>{n.d(t,{Z:()=>o,a:()=>s});var r=n(67294);const a={},i=r.createContext(a);function s(e){const t=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:s(e.components),r.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/be937143.ed1f3505.js b/assets/js/be937143.ed1f3505.js new file mode 100644 index 000000000..29d0535ff --- /dev/null +++ b/assets/js/be937143.ed1f3505.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[1772],{1004:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>m,contentTitle:()=>s,default:()=>u,frontMatter:()=>i,metadata:()=>o,toc:()=>l});var r=n(17624),a=n(4552);const i={id:"manual-map",title:"Manual map"},s=void 0,o={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.",source:"@site/forms/php/filters/enrichment/manual-map.md",sourceDirName:"php/filters/enrichment",slug:"/php/filters/enrichment/manual-map",permalink:"/forms/php/filters/enrichment/manual-map",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"manual-map",title:"Manual map"},sidebar:"forms",previous:{title:"Pre-Post Params",permalink:"/forms/php/filters/entries/pre-post-params"},next:{title:"Force mimetype from FS",permalink:"/forms/php/filters/validation/force-mimetype-from-fs"}},m={},l=[];function c(e){const t={code:"code",em:"em",p:"p",pre:"pre",...(0,a.M)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.em,{children:"Enrichment"})," is a feature that allows storing URL parameters or cookie values in the browser ",(0,r.jsx)(t.code,{children:"localStorage"}),", allowing their use during form submissions, in case they are not available after the user returns to the page."]}),"\n",(0,r.jsxs)(t.p,{children:["This filter allows to configure the ",(0,r.jsx)(t.em,{children:"Enrichment"})," functionality. You should have a list of URL parameter/cookie names, and their corresponding form field names ready. Return an associative array with the keys being URL parameter/cookie names, and the value an array of one or more form field names. The parameter mapping will happen during form submission."]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-php",children:"\\add_filter('es_forms_enrichment_manual_map', [$this, 'getEnrichmentManualMap']);\n\n/**\n * Manual map enrichment array.\n *\n * This filter provides you with the ability to manually map enrichment array combined with settings data.\n *\n * @return array<string, array<int, string>>\n */\npublic function getEnrichmentManualMap(): array\n{\n\treturn [\n\t\t'__IB_LT_utm_medium' => ['utm_medium_lt'],\n\t\t'__IB_LT_utm_source' => ['utm_source_lt'],\n\t];\n}\n"})}),"\n",(0,r.jsxs)(t.p,{children:["In this example, if while submitting the form you have a URL parameter or a cookie name ",(0,r.jsx)(t.code,{children:"__IB_LT_utm_medium"}),", its value will be entered into the ",(0,r.jsx)(t.code,{children:"utm_medium_lt"})," form field."]}),"\n",(0,r.jsxs)(t.p,{children:["The data is stored in ",(0,r.jsx)(t.code,{children:"localStorage"})," for the duration set in Settings."]})]})}function u(e={}){const{wrapper:t}={...(0,a.M)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},4552:(e,t,n)=>{n.d(t,{I:()=>o,M:()=>s});var r=n(11504);const a={},i=r.createContext(a);function s(e){const t=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:s(e.components),r.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/beb2a160.a6a67747.js b/assets/js/beb2a160.a6a67747.js deleted file mode 100644 index b97c55db5..000000000 --- a/assets/js/beb2a160.a6a67747.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[30602],{85663:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>s,default:()=>c,frontMatter:()=>o,metadata:()=>l,toc:()=>f});var r=n(85893),i=n(11151),a=n(8122);const o={id:"additional-content",title:"Additional content"},s=void 0,l={id:"php/filters/block/file/additional-content",title:"Additional content",description:"",source:"@site/forms/php/filters/block/file/additional-content.mdx",sourceDirName:"php/filters/block/file",slug:"/php/filters/block/file/additional-content",permalink:"/forms/php/filters/block/file/additional-content",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"additional-content",title:"Additional content"},sidebar:"forms",previous:{title:"Uploaded item remove button label",permalink:"/forms/php/filters/block/file/preview-remove-label"},next:{title:"Additional content",permalink:"/forms/php/filters/block/checkboxes/additional-content"}},d={},f=[];function m(t){return(0,r.jsx)(a.F,{filter:"file"})}function c(t={}){const{wrapper:e}={...(0,i.a)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(m,{...t})}):m()}},8122:(t,e,n)=>{n.d(e,{F:()=>s,k:()=>o});n(67294);var r=n(9286),i=n(61684),a=n(85893);function o(t){let{filter:e,onlyUse:n=["dataFilter","orderFilter","prePostIdFilter","prePostParamsFilter"]}=t;return(0,a.jsxs)(a.Fragment,{children:[n.includes("dataFilter")&&(0,a.jsx)(l,{filter:e}),n.includes("orderFilter")&&(0,a.jsx)(d,{filter:e}),n.includes("prePostIdFilter")&&(0,a.jsx)(f,{filter:e}),n.includes("prePostParamsFilter")&&(0,a.jsx)(m,{filter:e})]})}function s(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{children:"Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc."}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\tadd_filter('es_forms_block_"+e+"_additional_content', function(): string {\n\t\t\t\treturn '<custom-string>';\n\t\t\t})\n\t\t\t")})]})}function l(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Data filter"}),(0,a.jsx)("p",{children:"Allows modifying form field data before it's shown in the Block Editor or output on the frontend."}),(0,a.jsx)("p",{children:"Useful if, for example, you want to ensure that all fields fit into a 2-column layout."}),(0,a.jsx)("p",{children:"Overrides any Block Editor changes!"}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\tadd_filter('es_forms_integrations_"+e+'_data\', \'getIntegrationFilterData\', 10, 2);\n\n\t\t\t/**\n\t\t\t * Manipulate form fields data before it is sent to the Block Editor.\n\t\t\t *\n\t\t\t * @param array<mixed> $data Form fields data.\n\t\t\t * @param string $formId Form ID.\n\t\t\t *\n\t\t\t * @return array<mixed>\n\t\t\t */\n\t\t\tfunction getIntegrationFilterData(array $data, string $formId): array\n\t\t\t{\n\t\t\t\tforeach ($data as $index => $field) {\n\t\t\t\t\t$component = $field[\'component\'] ?? \'\';\n\n\t\t\t\t\tif (!$component) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t$name = $field["{$component}Name"] ?? \'\';\n\n\t\t\t\t\tif (!$name) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch ($name) {\n\t\t\t\t\t\tcase \'firstname\':\n\t\t\t\t\t\tcase \'lastname\':\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthMobile"] = 12;\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthLarge"] = 6;\n\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"] = array_merge(\n\t\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthMobile",\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthLarge",\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t')})]})}function d(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Order filter"}),(0,a.jsx)("p",{children:"Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor."}),(0,a.jsxs)("p",{children:["Not all fields need to have an order defined. For example, you may want to make sure ",(0,a.jsx)("code",{children:"firstname"}),", ",(0,a.jsx)("code",{children:"lastname"})," and ",(0,a.jsx)("code",{children:"email"})," are displayed first, but other fields follow their Block editor order."]}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_order', 'getIntegrationOrder');\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Forces form field order for the provided fields. For other fields, Block editor order is used.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationOrder(): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t'firstname',\n\t\t\t\t\t\t\t'lastname',\n\t\t\t\t\t\t\t'email',\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t")})]})}function f(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post ID filter"}),(0,a.jsx)("p",{children:"Allows updating item IDs sent to external integrations to which the form data is sent."}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_pre_post_id', 'getIntegrationPrePostId', 10, 3);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies integration item ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @param string $itemId Integration item ID.\n\t\t\t\t\t * @param array<mixed> $params Params to be sent to the integration.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @return array<mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostId(string $itemId, array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn $itemId;\n\t\t\t\t\t}\n\t\t\t\t")})]})}function m(t){let{filter:e}=t,n="";if("mailer"===e)n="mailer system";else n="external integration";return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post parameters filter"}),(0,a.jsxs)("p",{children:["Allows modifying form field data before it's sent to ",n,". Useful if you want to make values derived from the sent data, or add new fields."]}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_pre_post_params', 'getIntegrationPrePostParams', 10, 2);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies form field data before it's sent to "+n+".\n\t\t\t\t\t *\n\t\t\t\t\t * @param array<string, mixed> $params Array of params.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string, mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostParams(array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\t$formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? '';\n\n\t\t\t\t\t\tif ($formSubmissionPageLt) {\n\t\t\t\t\t\t\t$params['ib-submission-source'] = [\n\t\t\t\t\t\t\t\t'name' => 'ib-submission-source',\n\t\t\t\t\t\t\t\t'value' => $formSubmissionPageLt,\n\t\t\t\t\t\t\t\t'type' => 'text',\n\t\t\t\t\t\t\t\t'internalType' => '',\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn $params;\n\t\t\t\t\t}\n\t\t\t\t")})]})}},61684:(t,e,n)=>{function r(t){const e=t.split(/\n/g);for(;0===(null==(n=e[0])?void 0:n.replace(/\s/g,"").length);){var n;e.shift()}for(;0===(null==(r=e[e.length-1])?void 0:r.replace(/\s/g,"").length);){var r;e.pop()}const i=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>{var e,n;return null!=(e=null==(n=t.match(/^\s*/))||null==(n=n[0])?void 0:n.length)?e:0})),a=Math.min(...i);return e.map((t=>t.slice(a))).join("\n")}n.d(e,{p:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/beb2a160.d5babf64.js b/assets/js/beb2a160.d5babf64.js new file mode 100644 index 000000000..c0621bbf9 --- /dev/null +++ b/assets/js/beb2a160.d5babf64.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[63736],{73284:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>s,default:()=>m,frontMatter:()=>o,metadata:()=>l,toc:()=>f});var r=n(17624),i=n(4552),a=n(80148);const o={id:"additional-content",title:"Additional content"},s=void 0,l={id:"php/filters/block/file/additional-content",title:"Additional content",description:"",source:"@site/forms/php/filters/block/file/additional-content.mdx",sourceDirName:"php/filters/block/file",slug:"/php/filters/block/file/additional-content",permalink:"/forms/php/filters/block/file/additional-content",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"additional-content",title:"Additional content"},sidebar:"forms",previous:{title:"Uploaded item remove button label",permalink:"/forms/php/filters/block/file/preview-remove-label"},next:{title:"Additional content",permalink:"/forms/php/filters/block/checkboxes/additional-content"}},d={},f=[];function c(t){return(0,r.jsx)(a.g,{filter:"file"})}function m(t={}){const{wrapper:e}={...(0,i.M)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(c,{...t})}):c()}},80148:(t,e,n)=>{n.d(e,{g:()=>s,y:()=>o});n(11504);var r=n(1608),i=n(96616),a=n(17624);function o(t){let{filter:e,onlyUse:n=["dataFilter","orderFilter","prePostIdFilter","prePostParamsFilter"]}=t;return(0,a.jsxs)(a.Fragment,{children:[n.includes("dataFilter")&&(0,a.jsx)(l,{filter:e}),n.includes("orderFilter")&&(0,a.jsx)(d,{filter:e}),n.includes("prePostIdFilter")&&(0,a.jsx)(f,{filter:e}),n.includes("prePostParamsFilter")&&(0,a.jsx)(c,{filter:e})]})}function s(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{children:"Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc."}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\tadd_filter('es_forms_block_${e}_additional_content', function(): string {\n\t\t\t\treturn '<custom-string>';\n\t\t\t})\n\t\t\t`)})]})}function l(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Data filter"}),(0,a.jsx)("p",{children:"Allows modifying form field data before it's shown in the Block Editor or output on the frontend."}),(0,a.jsx)("p",{children:"Useful if, for example, you want to ensure that all fields fit into a 2-column layout."}),(0,a.jsx)("p",{children:"Overrides any Block Editor changes!"}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\tadd_filter('es_forms_integrations_${e}_data', 'getIntegrationFilterData', 10, 2);\n\n\t\t\t/**\n\t\t\t * Manipulate form fields data before it is sent to the Block Editor.\n\t\t\t *\n\t\t\t * @param array<mixed> $data Form fields data.\n\t\t\t * @param string $formId Form ID.\n\t\t\t *\n\t\t\t * @return array<mixed>\n\t\t\t */\n\t\t\tfunction getIntegrationFilterData(array $data, string $formId): array\n\t\t\t{\n\t\t\t\tforeach ($data as $index => $field) {\n\t\t\t\t\t$component = $field['component'] ?? '';\n\n\t\t\t\t\tif (!$component) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t$name = $field["{$component}Name"] ?? '';\n\n\t\t\t\t\tif (!$name) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch ($name) {\n\t\t\t\t\t\tcase 'firstname':\n\t\t\t\t\t\tcase 'lastname':\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthMobile"] = 12;\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthLarge"] = 6;\n\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"] = array_merge(\n\t\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthMobile",\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthLarge",\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t`)})]})}function d(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Order filter"}),(0,a.jsx)("p",{children:"Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor."}),(0,a.jsxs)("p",{children:["Not all fields need to have an order defined. For example, you may want to make sure ",(0,a.jsx)("code",{children:"firstname"}),", ",(0,a.jsx)("code",{children:"lastname"})," and ",(0,a.jsx)("code",{children:"email"})," are displayed first, but other fields follow their Block editor order."]}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_order', 'getIntegrationOrder');\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Forces form field order for the provided fields. For other fields, Block editor order is used.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationOrder(): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t'firstname',\n\t\t\t\t\t\t\t'lastname',\n\t\t\t\t\t\t\t'email',\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t`)})]})}function f(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post ID filter"}),(0,a.jsx)("p",{children:"Allows updating item IDs sent to external integrations to which the form data is sent."}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_pre_post_id', 'getIntegrationPrePostId', 10, 3);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies integration item ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @param string $itemId Integration item ID.\n\t\t\t\t\t * @param array<mixed> $params Params to be sent to the integration.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @return array<mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostId(string $itemId, array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn $itemId;\n\t\t\t\t\t}\n\t\t\t\t`)})]})}function c(t){let{filter:e}=t,n="";if("mailer"===e)n="mailer system";else n="external integration";return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post parameters filter"}),(0,a.jsxs)("p",{children:["Allows modifying form field data before it's sent to ",n,". Useful if you want to make values derived from the sent data, or add new fields."]}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_pre_post_params', 'getIntegrationPrePostParams', 10, 2);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies form field data before it's sent to ${n}.\n\t\t\t\t\t *\n\t\t\t\t\t * @param array<string, mixed> $params Array of params.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string, mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostParams(array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\t$formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? '';\n\n\t\t\t\t\t\tif ($formSubmissionPageLt) {\n\t\t\t\t\t\t\t$params['ib-submission-source'] = [\n\t\t\t\t\t\t\t\t'name' => 'ib-submission-source',\n\t\t\t\t\t\t\t\t'value' => $formSubmissionPageLt,\n\t\t\t\t\t\t\t\t'type' => 'text',\n\t\t\t\t\t\t\t\t'internalType' => '',\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn $params;\n\t\t\t\t\t}\n\t\t\t\t`)})]})}},96616:(t,e,n)=>{function r(t){const e=t.split(/\n/g);for(;0===e[0]?.replace(/\s/g,"").length;)e.shift();for(;0===e[e.length-1]?.replace(/\s/g,"").length;)e.pop();const n=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>t.match(/^\s*/)?.[0]?.length??0)),r=Math.min(...n);return e.map((t=>t.slice(r))).join("\n")}n.d(e,{c:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/bf7018cf.7a92a54b.js b/assets/js/bf7018cf.7a92a54b.js new file mode 100644 index 000000000..da0bbe164 --- /dev/null +++ b/assets/js/bf7018cf.7a92a54b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[39776],{55232:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>p,frontMatter:()=>l,metadata:()=>a,toc:()=>i});var n=o(17624),s=o(4552);const l={id:"components-color-palette",title:"Color Palette"},r=void 0,a={id:"legacy/v4/advanced/components-color-palette",title:"Color Palette",description:"docs-source",source:"@site/docs/legacy/v4/advanced/components-color-palette.md",sourceDirName:"legacy/v4/advanced",slug:"/legacy/v4/advanced/components-color-palette",permalink:"/docs/legacy/v4/advanced/components-color-palette",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"components-color-palette",title:"Color Palette"},sidebar:"docs",previous:{title:"Error Logger",permalink:"/docs/legacy/v4/advanced/helpers-error-logger-helpers"},next:{title:"Heading Level",permalink:"/docs/legacy/v4/advanced/components-heading-level"}},c={},i=[{value:"Usage",id:"usage",level:2},{value:"Options",id:"options",level:3}];function d(e){const t={a:"a",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",...(0,s.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/v2.0.0/components/color-palette-custom/color-palette-custom.js",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsxs)(t.p,{children:["This is a custom React component that renders a custom color picker exactly the same as the native block editor component, but on the ",(0,n.jsx)(t.code,{children:"save"})," method in the attributes, we save the color name and not the color hex value."]}),"\n",(0,n.jsx)(t.h2,{id:"usage",children:"Usage"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-js",children:'import { ColorPaletteCustom } from \'EightshiftComponentColorPalette\';\n\n{onChangeStyleColor &&\n <ColorPaletteCustom\n label={__(\'Heading Color\', \'eightshift-boilerplate\')}\n colors={[\n {\n "name": "scarlet",\n "color": "#D8262C"\n },\n {\n "name": "guard",\n "color": "#C00100"\n },\n ]}\n value={styleColor}\n onChange={onChangeStyleColor}\n />\n}\n'})}),"\n",(0,n.jsx)(t.h3,{id:"options",children:"Options"}),"\n",(0,n.jsxs)(t.p,{children:["All the options are the same as in the native block editor component that you can see ",(0,n.jsx)(t.a,{href:"https://developer.wordpress.org/block-editor/components/color-palette/",children:"here"}),"."]})]})}function p(e={}){const{wrapper:t}={...(0,s.M)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},4552:(e,t,o)=>{o.d(t,{I:()=>a,M:()=>r});var n=o(11504);const s={},l=n.createContext(s);function r(e){const t=n.useContext(l);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:r(e.components),n.createElement(l.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/bf7018cf.cf3d3c22.js b/assets/js/bf7018cf.cf3d3c22.js deleted file mode 100644 index d46c47cd4..000000000 --- a/assets/js/bf7018cf.cf3d3c22.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[14799],{67769:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>c,contentTitle:()=>l,default:()=>p,frontMatter:()=>a,metadata:()=>r,toc:()=>i});var n=o(85893),s=o(11151);const a={id:"components-color-palette",title:"Color Palette"},l=void 0,r={id:"legacy/v4/advanced/components-color-palette",title:"Color Palette",description:"docs-source",source:"@site/docs/legacy/v4/advanced/components-color-palette.md",sourceDirName:"legacy/v4/advanced",slug:"/legacy/v4/advanced/components-color-palette",permalink:"/docs/legacy/v4/advanced/components-color-palette",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"components-color-palette",title:"Color Palette"},sidebar:"docs",previous:{title:"Error Logger",permalink:"/docs/legacy/v4/advanced/helpers-error-logger-helpers"},next:{title:"Heading Level",permalink:"/docs/legacy/v4/advanced/components-heading-level"}},c={},i=[{value:"Usage",id:"usage",level:2},{value:"Options",id:"options",level:3}];function d(e){const t={a:"a",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",...(0,s.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/v2.0.0/components/color-palette-custom/color-palette-custom.js",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsxs)(t.p,{children:["This is a custom React component that renders a custom color picker exactly the same as the native block editor component, but on the ",(0,n.jsx)(t.code,{children:"save"})," method in the attributes, we save the color name and not the color hex value."]}),"\n",(0,n.jsx)(t.h2,{id:"usage",children:"Usage"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-js",children:'import { ColorPaletteCustom } from \'EightshiftComponentColorPalette\';\n\n{onChangeStyleColor &&\n <ColorPaletteCustom\n label={__(\'Heading Color\', \'eightshift-boilerplate\')}\n colors={[\n {\n "name": "scarlet",\n "color": "#D8262C"\n },\n {\n "name": "guard",\n "color": "#C00100"\n },\n ]}\n value={styleColor}\n onChange={onChangeStyleColor}\n />\n}\n'})}),"\n",(0,n.jsx)(t.h3,{id:"options",children:"Options"}),"\n",(0,n.jsxs)(t.p,{children:["All the options are the same as in the native block editor component that you can see ",(0,n.jsx)(t.a,{href:"https://developer.wordpress.org/block-editor/components/color-palette/",children:"here"}),"."]})]})}function p(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},11151:(e,t,o)=>{o.d(t,{Z:()=>r,a:()=>l});var n=o(67294);const s={},a=n.createContext(s);function l(e){const t=n.useContext(a);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:l(e.components),n.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/bff0bad2.0004f8f8.js b/assets/js/bff0bad2.0004f8f8.js deleted file mode 100644 index 9943183fd..000000000 --- a/assets/js/bff0bad2.0004f8f8.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[54583],{97740:(t,e,i)=>{i.r(e),i.d(e,{assets:()=>c,contentTitle:()=>o,default:()=>u,frontMatter:()=>s,metadata:()=>a,toc:()=>l});var r=i(85893),n=i(11151);const s={id:"success-redirect-variation-options",title:"Success redirect variation options"},o=void 0,a={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.",source:"@site/forms/php/filters/block/form/success-redirect-variation-options.md",sourceDirName:"php/filters/block/form",slug:"/php/filters/block/form/success-redirect-variation-options",permalink:"/forms/php/filters/block/form/success-redirect-variation-options",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"success-redirect-variation-options",title:"Success redirect variation options"},sidebar:"forms",previous:{title:"Success redirect variation",permalink:"/forms/php/filters/block/form/success-redirect-variation"},next:{title:"Tracking event name",permalink:"/forms/php/filters/block/form/tracking-event-name"}},c={},l=[];function d(t){const e={code:"code",p:"p",pre:"pre",...(0,n.a)(),...t.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(e.p,{children:"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."}),"\n",(0,r.jsx)(e.p,{children:"Filter returns an array of arrays. The first value is the variation value and the second value is the variation label."}),"\n",(0,r.jsx)(e.pre,{children:(0,r.jsx)(e.code,{className:"language-php",children:"\\add_filter('es_forms_block_form_success_redirect_variation_options', [$this, 'getBlockFormSuccessRedirectVariationOptions']);\n\n/**\n * Set success redirect variation options value.\n *\n * This filter will override settings for success redirect variation options.\n *\n * @return array<string, string>\n */\npublic function getBlockFormSuccessRedirectVariationOptions(): array\n{\n\treturn [\n\t\t[\n\t\t\t'test1',\n\t\t\t\\esc_html__('label1', '<text_domain>'),\n\t\t],\n\t\t[\n\t\t\t'test2',\n\t\t\t\\esc_html__('label2', '<text_domain>'),\n\t\t],\n\t];\n}\n"})})]})}function u(t={}){const{wrapper:e}={...(0,n.a)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(d,{...t})}):d(t)}},11151:(t,e,i)=>{i.d(e,{Z:()=>a,a:()=>o});var r=i(67294);const n={},s=r.createContext(n);function o(t){const e=r.useContext(s);return r.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(n):t.components||n:o(t.components),r.createElement(s.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/bff0bad2.8aef008b.js b/assets/js/bff0bad2.8aef008b.js new file mode 100644 index 000000000..58d2c9acc --- /dev/null +++ b/assets/js/bff0bad2.8aef008b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[73560],{55240:(t,e,i)=>{i.r(e),i.d(e,{assets:()=>a,contentTitle:()=>o,default:()=>u,frontMatter:()=>s,metadata:()=>c,toc:()=>l});var r=i(17624),n=i(4552);const s={id:"success-redirect-variation-options",title:"Success redirect variation options"},o=void 0,c={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.",source:"@site/forms/php/filters/block/form/success-redirect-variation-options.md",sourceDirName:"php/filters/block/form",slug:"/php/filters/block/form/success-redirect-variation-options",permalink:"/forms/php/filters/block/form/success-redirect-variation-options",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"success-redirect-variation-options",title:"Success redirect variation options"},sidebar:"forms",previous:{title:"Success redirect variation",permalink:"/forms/php/filters/block/form/success-redirect-variation"},next:{title:"Tracking event name",permalink:"/forms/php/filters/block/form/tracking-event-name"}},a={},l=[];function d(t){const e={code:"code",p:"p",pre:"pre",...(0,n.M)(),...t.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(e.p,{children:"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."}),"\n",(0,r.jsx)(e.p,{children:"Filter returns an array of arrays. The first value is the variation value and the second value is the variation label."}),"\n",(0,r.jsx)(e.pre,{children:(0,r.jsx)(e.code,{className:"language-php",children:"\\add_filter('es_forms_block_form_success_redirect_variation_options', [$this, 'getBlockFormSuccessRedirectVariationOptions']);\n\n/**\n * Set success redirect variation options value.\n *\n * This filter will override settings for success redirect variation options.\n *\n * @return array<string, string>\n */\npublic function getBlockFormSuccessRedirectVariationOptions(): array\n{\n\treturn [\n\t\t[\n\t\t\t'test1',\n\t\t\t\\esc_html__('label1', '<text_domain>'),\n\t\t],\n\t\t[\n\t\t\t'test2',\n\t\t\t\\esc_html__('label2', '<text_domain>'),\n\t\t],\n\t];\n}\n"})})]})}function u(t={}){const{wrapper:e}={...(0,n.M)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(d,{...t})}):d(t)}},4552:(t,e,i)=>{i.d(e,{I:()=>c,M:()=>o});var r=i(11504);const n={},s=r.createContext(n);function o(t){const e=r.useContext(s);return r.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function c(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(n):t.components||n:o(t.components),r.createElement(s.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/c15d2dfd.9d0890c8.js b/assets/js/c15d2dfd.9d0890c8.js new file mode 100644 index 000000000..0a36bbd37 --- /dev/null +++ b/assets/js/c15d2dfd.9d0890c8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[58928],{22048:(t,e,o)=>{o.r(e),o.d(e,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>n,metadata:()=>a,toc:()=>u});var s=o(17624),i=o(4552);const n={id:"intro",title:"Intro"},r=void 0,a={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!",source:"@site/docs/tutorials/intro.md",sourceDirName:"tutorials",slug:"/tutorials/intro",permalink:"/docs/tutorials/intro",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"intro",title:"Intro"},sidebar:"docs",previous:{title:"Tips & Tricks",permalink:"/docs/basics/tips-tricks"},next:{title:"Version 10 to 11",permalink:"/docs/migrations/10-11"}},c={},u=[];function d(t){const e={a:"a",p:"p",...(0,i.M)(),...t.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.p,{children:"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!"}),"\n",(0,s.jsx)(e.p,{children:(0,s.jsx)(e.a,{href:"https://www.youtube.com/playlist?list=PLFjp6yaGpZJuqHB5ItBa3FfTqYB2FSiL3",children:"Eightshift Dev Kit video tutorials playlist"})})]})}function h(t={}){const{wrapper:e}={...(0,i.M)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(d,{...t})}):d(t)}},4552:(t,e,o)=>{o.d(e,{I:()=>a,M:()=>r});var s=o(11504);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/c15d2dfd.c4804871.js b/assets/js/c15d2dfd.c4804871.js deleted file mode 100644 index 490a5d8c5..000000000 --- a/assets/js/c15d2dfd.c4804871.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[97517],{90855:(t,e,o)=>{o.r(e),o.d(e,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>n,metadata:()=>a,toc:()=>u});var s=o(85893),i=o(11151);const n={id:"intro",title:"Intro"},r=void 0,a={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!",source:"@site/docs/tutorials/intro.md",sourceDirName:"tutorials",slug:"/tutorials/intro",permalink:"/docs/tutorials/intro",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"intro",title:"Intro"},sidebar:"docs",previous:{title:"Tips & Tricks",permalink:"/docs/basics/tips-tricks"},next:{title:"Version 10 to 11",permalink:"/docs/migrations/10-11"}},c={},u=[];function d(t){const e={a:"a",p:"p",...(0,i.a)(),...t.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.p,{children:"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!"}),"\n",(0,s.jsx)(e.p,{children:(0,s.jsx)(e.a,{href:"https://www.youtube.com/playlist?list=PLFjp6yaGpZJuqHB5ItBa3FfTqYB2FSiL3",children:"Eightshift Dev Kit video tutorials playlist"})})]})}function h(t={}){const{wrapper:e}={...(0,i.a)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(d,{...t})}):d(t)}},11151:(t,e,o)=>{o.d(e,{Z:()=>a,a:()=>r});var s=o(67294);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/c2a527e7.657f446a.js b/assets/js/c2a527e7.657f446a.js deleted file mode 100644 index ffbd7ce94..000000000 --- a/assets/js/c2a527e7.657f446a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[55273],{67035:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>i,default:()=>u,frontMatter:()=>r,metadata:()=>c,toc:()=>l});var o=n(85893),s=n(11151);const r={id:"frontend",title:"General"},i=void 0,c={id:"legacy/v8/basics/frontend",title:"General",description:"docs-source",source:"@site/docs/legacy/v8/basics/frontend.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/frontend",permalink:"/docs/legacy/v8/basics/frontend",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"frontend",title:"General"},sidebar:"docs",previous:{title:"REST Route",permalink:"/docs/legacy/v8/basics/rest-route"},next:{title:"Webpack",permalink:"/docs/legacy/v8/basics/webpack"}},a={},l=[];function d(e){const t={a:"a",code:"code",img:"img",p:"p",...(0,s.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs",children:(0,o.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsxs)(t.p,{children:["In general, you can use anything as-is from the ",(0,o.jsx)(t.code,{children:"node_modules"})," library, or you can modify/add the functionality in your project."]}),"\n",(0,o.jsxs)(t.p,{children:["Block editor is written using React; we then use React in the block editor. You can read about blocks in this ",(0,o.jsx)(t.a,{href:"blocks",children:"chapter"}),". However, there are other aspects of the project's front-end part you should know in order to use the Eightshift Boilerplate to its full potential."]})]})}function u(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},11151:(e,t,n)=>{n.d(t,{Z:()=>c,a:()=>i});var o=n(67294);const s={},r=o.createContext(s);function i(e){const t=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c2a527e7.d7aeed2b.js b/assets/js/c2a527e7.d7aeed2b.js new file mode 100644 index 000000000..4634762b7 --- /dev/null +++ b/assets/js/c2a527e7.d7aeed2b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[2344],{6528:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>i,default:()=>u,frontMatter:()=>r,metadata:()=>c,toc:()=>l});var o=n(17624),s=n(4552);const r={id:"frontend",title:"General"},i=void 0,c={id:"legacy/v8/basics/frontend",title:"General",description:"docs-source",source:"@site/docs/legacy/v8/basics/frontend.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/frontend",permalink:"/docs/legacy/v8/basics/frontend",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"frontend",title:"General"},sidebar:"docs",previous:{title:"REST Route",permalink:"/docs/legacy/v8/basics/rest-route"},next:{title:"Webpack",permalink:"/docs/legacy/v8/basics/webpack"}},a={},l=[];function d(e){const t={a:"a",code:"code",img:"img",p:"p",...(0,s.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs",children:(0,o.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsxs)(t.p,{children:["In general, you can use anything as-is from the ",(0,o.jsx)(t.code,{children:"node_modules"})," library, or you can modify/add the functionality in your project."]}),"\n",(0,o.jsxs)(t.p,{children:["Block editor is written using React; we then use React in the block editor. You can read about blocks in this ",(0,o.jsx)(t.a,{href:"blocks",children:"chapter"}),". However, there are other aspects of the project's front-end part you should know in order to use the Eightshift Boilerplate to its full potential."]})]})}function u(e={}){const{wrapper:t}={...(0,s.M)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},4552:(e,t,n)=>{n.d(t,{I:()=>c,M:()=>i});var o=n(11504);const s={},r=o.createContext(s);function i(e){const t=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c3122f65.8c25c8bf.js b/assets/js/c3122f65.8c25c8bf.js new file mode 100644 index 000000000..db52ea1ac --- /dev/null +++ b/assets/js/c3122f65.8c25c8bf.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[15484],{79644:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>a,default:()=>d,frontMatter:()=>i,metadata:()=>r,toc:()=>c});var o=t(17624),s=t(4552);const i={id:"blocks-component-in-block",title:"Component in a Block"},a=void 0,r={id:"legacy/v8/basics/blocks-component-in-block",title:"Component in a Block",description:"docs-source",source:"@site/docs/legacy/v8/basics/blocks-component-in-block.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/blocks-component-in-block",permalink:"/docs/legacy/v8/basics/blocks-component-in-block",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-component-in-block",title:"Component in a Block"},sidebar:"docs",previous:{title:"Attributes",permalink:"/docs/legacy/v8/basics/blocks-attributes"},next:{title:"Wrapper",permalink:"/docs/legacy/v8/basics/blocks-wrapper"}},l={},c=[{value:"Manifest setup",id:"manifest-setup",level:2},{value:"Important helpers",id:"important-helpers",level:2},{value:"Setting up attributes",id:"setting-up-attributes",level:2},{value:"I want to use one heading component in my block.",id:"i-want-to-use-one-heading-component-in-my-block",level:3},{value:"I want to override one heading attribute in my block.",id:"i-want-to-override-one-heading-attribute-in-my-block",level:3},{value:"I want to use one heading and a paragraph component in my block.",id:"i-want-to-use-one-heading-and-a-paragraph-component-in-my-block",level:3},{value:"I want two heading components in my block.",id:"i-want-two-heading-components-in-my-block",level:3},{value:"I want to use a component that uses more components (componentCeption).",id:"i-want-to-use-a-component-that-uses-more-components-componentception",level:3},{value:"I don't need all the component options in my block.",id:"i-dont-need-all-the-component-options-in-my-block",level:3},{value:"I don't want my editor to be able to change component options in my block.",id:"i-dont-want-my-editor-to-be-able-to-change-component-options-in-my-block",level:3},{value:"How do my example attributes behave when I use components in blocks?",id:"how-do-my-example-attributes-behave-when-i-use-components-in-blocks",level:3},{value:"I have a component name that has multiple strings in a name, will this work?",id:"i-have-a-component-name-that-has-multiple-strings-in-a-name-will-this-work",level:3},{value:"I have a component that I want to use manually",id:"i-have-a-component-that-i-want-to-use-manually",level:3},{value:"I want to limit which options are shown for components inside a block/component",id:"i-want-to-limit-which-options-are-shown-for-components-inside-a-blockcomponent",level:3},{value:"I want to only pass attributes to the component that I'm going to use",id:"i-want-to-only-pass-attributes-to-the-component-that-im-going-to-use",level:3},{value:"Passing setAttributes to components",id:"passing-setattributes-to-components",level:3},{value:"Manually overriding attributes from the code",id:"manually-overriding-attributes-from-the-code",level:3}];function h(e){const n={a:"a",blockquote:"blockquote",code:"code",em:"em",h2:"h2",h3:"h3",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,o.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(n.p,{children:"Blocks and components work perfectly together because they are made that way. We simplified this as much as possible but there always a few things you need to do manually."}),"\n",(0,o.jsx)(n.p,{children:"Try to think of your development process in this way:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"Each component must be standalone and ideally not depend on any other components (sometimes this is not possible but keep this to a minimum)."}),"\n",(0,o.jsx)(n.li,{children:"Components must not be aware of the layout they are used in."}),"\n",(0,o.jsxs)(n.li,{children:["No global styles. Instead, all styles should be contained to the block/component. For more details, check ",(0,o.jsx)(n.a,{href:"blocks-styles",children:"this link"}),"."]}),"\n",(0,o.jsxs)(n.li,{children:["You should define all heading variations in a ",(0,o.jsx)(n.code,{children:"heading"})," component. You can then use this component everywhere you have a heading instead of writing a new implementation. In practice: don't do ",(0,o.jsx)(n.code,{children:"<h2>$heading</h2>"})," but render the ",(0,o.jsx)(n.code,{children:"heading"})," component instead using the helpers defined in the ",(0,o.jsx)(n.a,{href:"helpers",children:"helpers section"}),". The heading is just an example, but this applies to every component."]}),"\n",(0,o.jsx)(n.li,{children:"You can have multiple heading components in one block."}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.strong,{children:"JavaScript and PHP part of the block/component must be 99% the same this is why we wrote all those helpers."})}),"\n"]}),"\n",(0,o.jsx)(n.h2,{id:"manifest-setup",children:"Manifest setup"}),"\n",(0,o.jsxs)(n.p,{children:["In order to use our way of passing props, there are a few prerequisites you must follow. You must use our helpers and you must set ",(0,o.jsx)(n.code,{children:"components"})," key in the manifest."]}),"\n",(0,o.jsxs)(n.p,{children:["As we described in the ",(0,o.jsx)(n.a,{href:"block-manifest",children:"block manifest"})," chapter each block/component can have a ",(0,o.jsx)(n.code,{children:"components"})," key. This key is used in the registration of the block attributes in the block editor and as a dependency tree for passing props in the children components."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Default setup:"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"components": {\n\t"heading": "heading"\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"Components key is an object that can have multiple items added."}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsx)(n.p,{children:"Key represents the name that is going to be used for this component in this block/component and the prefix used in the attributes (more on this later)."}),"\n"]}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsx)(n.p,{children:"Value represents the real component name that you have in your project."}),"\n"]}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsx)(n.p,{children:"Each key and value names can be written in the kebab-case or camelCase but we recommend using camelCase."}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Multiple components setup:"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"components": {\n\t"heading": "heading",\n\t"paragraph": "paragraph"\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"This block/component uses two components, one is heading and the other is paragraphy and they are using the default names."}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Multiple components set up with the components of the same type:"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"components": {\n\t"heading": "heading",\n\t"intro": "heading",\n\t"paragraph": "paragraph"\n}\n'})}),"\n",(0,o.jsxs)(n.p,{children:["This block/component uses three components, two headings (one of which is renamed to ",(0,o.jsx)(n.code,{children:"intro"}),") and a paragraph."]}),"\n",(0,o.jsx)(n.h2,{id:"important-helpers",children:"Important helpers"}),"\n",(0,o.jsx)(n.p,{children:"As we described earlier, in order to use our setup you must use our helpers. Here are some of the helpers you should get familiar with:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["props - ",(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/scripts/editor/attributes.js",children:"JS"})," - ",(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/blob/develop/src/Helpers/AttributesTrait.php",children:"PHP"})]}),"\n",(0,o.jsxs)(n.li,{children:["getOptions - ",(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/scripts/editor/options.js",children:"JS"})]}),"\n",(0,o.jsxs)(n.li,{children:["getOption - ",(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/scripts/editor/options.js",children:"JS"})]}),"\n",(0,o.jsxs)(n.li,{children:["getAttrKey - ",(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/scripts/editor/attributes.js",children:"JS"})," - ",(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/blob/develop/src/Helpers/AttributesTrait.php",children:"PHP"})]}),"\n",(0,o.jsxs)(n.li,{children:["checkAttr - ",(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/scripts/editor/attributes.js",children:"JS"})," - ",(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/blob/develop/src/Helpers/AttributesTrait.php",children:"PHP"})]}),"\n",(0,o.jsxs)(n.li,{children:["render - ",(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/blob/develop/src/Blocks/AbstractBlocks.php",children:"PHP"})]}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["For more details please check our helpers sections for ",(0,o.jsx)(n.a,{href:"helpers-javascript",children:"JavaScript"})," and ",(0,o.jsx)(n.a,{href:"helpers-php",children:"PHP"}),"."]}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsx)(n.p,{children:"Keep in mind that you can always ignore our setup and use the React way of passing props to components by prop drilling."}),"\n"]}),"\n",(0,o.jsx)(n.h2,{id:"setting-up-attributes",children:"Setting up attributes"}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsx)(n.p,{children:"Each attribute must have the component name prefix in each attribute. This is one of the biggest requirements in order for our setup to work."}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:"By defining components key in the block registration phase we are drilling down from block to the last component and setting up attribute names according to your setup. In order for everything to work, we had to add/change prefixes to each component attribute in relation to where this attribute is used in the dependency tree. It is not so hard as it sounds so let us show you some graphical examples:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{alt:"Attributes 1",src:t(44972).c+"",width:"781",height:"251"})}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{alt:"Attributes 2",src:t(73564).c+"",width:"781",height:"251"})}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{alt:"Attributes 3",src:t(68264).c+"",width:"781",height:"251"})}),"\n",(0,o.jsx)(n.h3,{id:"i-want-to-use-one-heading-component-in-my-block",children:"I want to use one heading component in my block."}),"\n",(0,o.jsx)(n.p,{children:"If you have a heading component with these attributes:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/components/heading/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"componentName": "heading",\n"attributes": {\n\t"headingContent": {\n\t\t"type": "string"\n\t},\n\t"headingLevel": {\n\t\t"type": "integer",\n\t\t"default": 2\n\t},\n\t"headingSize": {\n\t\t"type": "string",\n\t\t"default": "default"\n\t},\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"and you want to use the heading component in the Jumbotron block, you can use it by adding a component key in the Jumbotron block manifest like this:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/custom/jumbotron/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"blockName": "jumbotron",\n"attributes": {\n\t"jumbotronContent": {\n\t\t"type": "string"\n\t\t"default": "test",\n\t}\n},\n"components": {\n\t"heading": "heading"\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"in your block attribute's object, you will now have these keys:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'// Attributes from the component.\n"jumbotronHeadingContent": "",\n"jumbotronHeadingLevel": 2,\n"jumbotronHeadingSize": "default",\n\n// Attributes from the block.\n"jumbotronContent": "test",\n'})}),"\n",(0,o.jsx)(n.p,{children:"As you can see in the example, each block/component attribute must have a prefix, and we are then stacking that prefixed in the final output."}),"\n",(0,o.jsx)(n.h3,{id:"i-want-to-override-one-heading-attribute-in-my-block",children:"I want to override one heading attribute in my block."}),"\n",(0,o.jsx)(n.p,{children:"We build all our attributes by merging attribute's objects in this order:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"global attributes (global settings)"}),"\n",(0,o.jsx)(n.li,{children:"wrapper attributes"}),"\n",(0,o.jsx)(n.li,{children:"component attributes"}),"\n",(0,o.jsx)(n.li,{children:"block attributes"}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:"By following the basic principle of merging objects, if you have two keys with the same name, the last one will always override the previous. Now that you know how attributes are built, you can follow this example for your answer."}),"\n",(0,o.jsx)(n.p,{children:"We are using the same component as before:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/components/heading/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"componentName": "heading",\n"attributes": {\n\t"headingContent": {\n\t\t"type": "string"\n\t},\n\t"headingLevel": {\n\t\t"type": "integer",\n\t\t"default": 2\n\t},\n\t"headingSize": {\n\t\t"type": "string",\n\t\t"default": "default"\n\t},\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"and in Jumbotron block we want to change the default value of headingSize to big:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/custom/jumbotron/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"blockName": "jumbotron",\n"attributes": {\n\t"jumbotronContent": {\n\t\t"type": "string"\n\t\t"default": "test",\n\t},\n\t"jumbotronHeadingSize": {\n\t\t"type": "string",\n\t\t"default": "big"\n\t},\n},\n"components": {\n\t"heading": "heading"\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"In your block attributes object, you will now have these keys:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'\n// Attributes from the component.\n"jumbotronHeadingContent": "",\n"jumbotronHeadingLevel": 2,\n"jumbotronHeadingSize": "big",\n\n// Attributes from the block.\n"jumbotronContent": "test",\n'})}),"\n",(0,o.jsx)(n.p,{children:"As you can see in the example, to override the component attribute you just set that attribute to a different value but you must respect the attribute prefix."}),"\n",(0,o.jsx)(n.h3,{id:"i-want-to-use-one-heading-and-a-paragraph-component-in-my-block",children:"I want to use one heading and a paragraph component in my block."}),"\n",(0,o.jsx)(n.p,{children:"You can do this by following the same principle as before. Here is an example:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/custom/jumbotron/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"blockName": "jumbotron",\n"attributes": {\n\t"jumbotronContent": {\n\t\t"type": "string"\n\t\t"default": "test",\n\t}\n},\n"components": {\n\t"heading": "heading",\n\t"paragraph": "paragraph"\n}\n'})}),"\n",(0,o.jsx)(n.h3,{id:"i-want-two-heading-components-in-my-block",children:"I want two heading components in my block."}),"\n",(0,o.jsx)(n.p,{children:"If you want to use multiple heading components in your block, follow this example:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/custom/jumbotron/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"blockName": "jumbotron",\n"attributes": {\n\t"jumbotronContent": {\n\t\t"type": "string"\n\t\t"default": "test",\n\t}\n},\n"components": {\n\t"heading": "heading"\n\t"intro": "heading"\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"In your block attributes object, you will now have these keys:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'\n// Attributes from the first component.\n"jumbotronHeadingContent": "",\n"jumbotronHeadingLevel": 2,\n"jumbotronHeadingSize": "default",\n\n// Attributes from the second component.\n"jumbotronIntroContent": "",\n"jumbotronIntroLevel": 2,\n"jumbotronIntroSize": "default",\n\n// Attributes from the block.\n"jumbotronContent": "test",\n'})}),"\n",(0,o.jsx)(n.h3,{id:"i-want-to-use-a-component-that-uses-more-components-componentception",children:"I want to use a component that uses more components (componentCeption)."}),"\n",(0,o.jsx)(n.p,{children:"For example, if you have a block called cards grid that uses a card component, that card component uses a heading component."}),"\n",(0,o.jsx)(n.p,{children:"Structure:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["Cards","\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["Card","\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"Heading"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:"If you have a heading component with these attributes:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/components/heading/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"componentName": "heading",\n"attributes": {\n\t"headingContent": {\n\t\t"type": "string"\n\t},\n\t"headingLevel": {\n\t\t"type": "integer",\n\t\t"default": 2\n\t},\n\t"headingSize": {\n\t\t"type": "string",\n\t\t"default": "default"\n\t},\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"and you have a card component:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/components/card/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"componentName": "card",\n"attributes": {\n\t"cardUsage": {\n\t\t"type": "boolean"\n\t\t"default": true,\n\t},\n},\n"components": {\n\t"heading": "heading"\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"and you have a cards grid block:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/custom/cards-grid/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"blockName": "cards-grid",\n"attributes": {\n\t"cardsGridContent": {\n\t\t"type": "string"\n\t\t"default": "test",\n\t},\n},\n"components": {\n\t"card": "card"\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"in your block attributes object, you will now have these keys:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'// Attributes from the heading component.\n"cardsGridCardHeadingContent": "",\n"cardsGridCardHeadingLevel": 2,\n"cardsGridCardHeadingSize": "default",\n\n// Attributes from the card component.\n"cardsGridCardUsage": true,\n\n// Attributes from the block.\n"cardsGridContent": "test",\n'})}),"\n",(0,o.jsx)(n.p,{children:"As you can see in the example, you have all the attributes from the card and heading component inside your card's grid block."}),"\n",(0,o.jsx)(n.h3,{id:"i-dont-need-all-the-component-options-in-my-block",children:"I don't need all the component options in my block."}),"\n",(0,o.jsxs)(n.p,{children:["All our components come with a few common attributes that we recommend you also implement in your components. One of those attributes is ",(0,o.jsx)(n.code,{children:"buttonUse"}),"."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"buttonUse": true,\n'})}),"\n",(0,o.jsxs)(n.p,{children:["This attribute is available in all three components (editor, toolbar, options). If set to ",(0,o.jsx)(n.strong,{children:"false"}),", it will remove this component from the DOM. This is useful if you want to hide all markup from the DOM."]}),"\n",(0,o.jsx)(n.p,{children:"For example, you have a Jumbotron block and a heading that you want to populate if necessary. If you add content to the heading, everything looks good. But if you don't add it, you'll still see a placeholder for that heading in the block editor. This affects how you perceive it, and an editor may think this block will look like that on the front end (with the placeholder text). So if you have a component that you will not populate on some block, switch the toggle to false, and you will hide it from the DOM. This is useful for content editors."}),"\n",(0,o.jsx)(n.h3,{id:"i-dont-want-my-editor-to-be-able-to-change-component-options-in-my-block",children:"I don't want my editor to be able to change component options in my block."}),"\n",(0,o.jsxs)(n.p,{children:["Another attribute that you can use is ",(0,o.jsx)(n.code,{children:"buttonShowControls"}),"."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"buttonShowControls": true,\n'})}),"\n",(0,o.jsx)(n.p,{children:"This attribute is available in the options component only. You can't set it up via block editor, only from code. You would use it if you wanted to use a heading component and set all the defaults, without your content editor changing how the heading looks. It can add the heading content from the editor section without changing any of the options. You can set this option in the manifest or pass it manually via props."}),"\n",(0,o.jsx)(n.h3,{id:"how-do-my-example-attributes-behave-when-i-use-components-in-blocks",children:"How do my example attributes behave when I use components in blocks?"}),"\n",(0,o.jsx)(n.p,{children:"Exactly the same way as attributes."}),"\n",(0,o.jsx)(n.h3,{id:"i-have-a-component-name-that-has-multiple-strings-in-a-name-will-this-work",children:"I have a component name that has multiple strings in a name, will this work?"}),"\n",(0,o.jsxs)(n.p,{children:["By multiple strings in a name we mean that component name has multiple words, for example, ",(0,o.jsx)(n.code,{children:"jumbotron-cta"}),". The problem here is that we define components with kebab-case and attributes with camelCase."]}),"\n",(0,o.jsxs)(n.p,{children:["The short answer is ",(0,o.jsx)(n.strong,{children:"yes"})," this will work."]}),"\n",(0,o.jsx)(n.h3,{id:"i-have-a-component-that-i-want-to-use-manually",children:"I have a component that I want to use manually"}),"\n",(0,o.jsx)(n.p,{children:"We created this cool way of importing attributes and loading components in your blocks or other components. However, that doesn't mean that you can't have instances where you have to load components manually. In that case, you have to provide all the attributes that you want to use manually. The attributes that you didn't provide will not be magically set from the manifest, but you can make your life easier and map it like this."}),"\n",(0,o.jsxs)(n.p,{children:["For example, you have a ",(0,o.jsx)(n.code,{children:"card"})," component that you will use in the ",(0,o.jsx)(n.code,{children:"featured-posts"})," block."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/custom/featured-posts/featured-posts.php"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-php",children:"echo Components::render(\n 'card',\n Components::props('card', $attributes, [\n 'cardHeadingContent' => __('Custom content for heading', 'textdomain'),\n 'cardParagraphContent' => __('Custom content for paragraph', 'textdomain'),\n ])\n);\n"})}),"\n",(0,o.jsx)(n.p,{children:"This example will only pass these 2 attributes to you component and attributes from the currect file, it will not pass default attributes of heading and paragraph components."}),"\n",(0,o.jsx)(n.p,{children:"By providing the forth parameter to a render method you can also add default attributes to the output like this:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"featured-posts.php"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-php",children:"echo Components::render(\n 'card',\n Components::props('card', $attributes, [\n 'cardHeadingContent' => __('Custom content for heading', 'textdomain'),\n 'cardParagraphContent' => __('Custom content for paragraph', 'textdomain'),\n ]),\n '',\n true\n);\n"})}),"\n",(0,o.jsx)(n.h3,{id:"i-want-to-limit-which-options-are-shown-for-components-inside-a-blockcomponent",children:"I want to limit which options are shown for components inside a block/component"}),"\n",(0,o.jsxs)(n.p,{children:["Let's say you have a block that has a ",(0,o.jsx)(n.code,{children:"heading"})," component inside it."]}),"\n",(0,o.jsxs)(n.p,{children:["The ",(0,o.jsx)(n.code,{children:"heading"})," has 10 text sizes and 5 colors, but for that block, only 2 colors and 3 text sizes are allowed.\nTo achieve this you must prepare your component to be able to use this feature:"]}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsxs)(n.li,{children:["Your component options must be named the same name as their attribute value. In the example, you can see that the options key for ",(0,o.jsx)(n.code,{children:"typographySize"})," is the same name as in the attributes."]}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/components/heading/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n\t"componentName": "heading",\n\t"attributes": {\n\t\t"headingSize": {\n\t\t\t"type": "string",\n\t\t\t"default": "16-text-roman"\n\t\t},\n\t\t"headingColor": {\n\t\t\t"type": "string",\n\t\t\t"default": "black",\n\t\t\t"variable": true,\n\t\t\t"color": true\n\t\t},\n\t},\n\t"options": {\n\t\t"headingSize": [\n\t\t\t{\n\t\t\t\t"label": "180 Display",\n\t\t\t\t"value": "180-default"\n\t\t\t},\n\t\t\t{\n\t\t\t\t"label": "120 Display",\n\t\t\t\t"value": "120-default"\n\t\t\t},\n\t\t\t{\n\t\t\t\t"label": "80 Display",\n\t\t\t\t"value": "80-default"\n\t\t\t},\n\t\t\t{\n\t\t\t\t"label": "52 Display",\n\t\t\t\t"value": "52-default"\n\t\t\t},\n\t\t\t{\n\t\t\t\t"label": "36 Text",\n\t\t\t\t"value": "36-text"\n\t\t\t}\n\t\t],\n\t\t"headingColor": [\n\t\t\t"black",\n\t\t\t"white",\n\t\t\t"grey100",\n\t\t\t"grey200"\n\t\t]\n\t}\n}\n'})}),"\n",(0,o.jsxs)(n.ol,{start:"2",children:["\n",(0,o.jsxs)(n.li,{children:["Every option in your component must use ",(0,o.jsx)(n.code,{children:"getOption"})," helper for the prop that is used to provide options. Details about the helper can be found ",(0,o.jsx)(n.a,{href:"helpers-javascript",children:"here"}),"."]}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"SelectControl Example:"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"const headingSize = checkAttr('headingSize', attributes, manifest);\n\n<SelectControl\n\tlabel={__('Text size', 'eightshift-boilerplate')}\n\tvalue={headingSize}\n\toptions={getOption('headingSize', attributes, manifest)}\n\tonChange={(value) => setAttributes({ [getAttrKey('headingSize', attributes, manifest)]: value })}\n/>\n"})}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"ColorPaletteCustom Example:"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"const headingColor = checkAttr('headingColor', attributes, manifest);\n\n<ColorPaletteCustom\n\tlabel={__('Color', 'eightshift-boilerplate')}\n\tvalue={headingColor}\n\tcolors={getOption('headingColor', attributes, manifest, true)}\n\tonChange={(value) => setAttributes({ [getAttrKey('headingColor', attributes, manifest)]: value })}\n/>\n"})}),"\n",(0,o.jsxs)(n.ol,{start:"3",children:["\n",(0,o.jsx)(n.li,{children:"In the component/block for which you are going to override the options, you must provide an option prop that is going to override the default one also following the described attribute prefixes."}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"heading-options.js"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"<HeadingOptions\n\t{...props('heading', attributes, {\n\t\toptions: getOptions(attributes, manifest),\n\t})}\n/>\n"})}),"\n",(0,o.jsxs)(n.ol,{start:"4",children:["\n",(0,o.jsxs)(n.li,{children:["In the component/blocks for which you are going to override options, you must provide the override in the ",(0,o.jsx)(n.code,{children:"manifest.json"})," by following the same naming as in the component."]}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/custom/heading/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n\t"blockName": "heading",\n\t"options": {\n\t\t"headingHeadingSize": [\n\t\t\t"80-default",\n\t\t\t"52-default"\n\t\t],\n\t\t"headingHeadingColor": [\n\t\t\t"black",\n\t\t\t"white"\n\t\t]\n\t}\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"And this is it. You are now able to override the options from the parent block/component."}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsx)(n.p,{children:"Keep in mind that you can only override SelectControl, ColorPaletteCustom, and AlignmentToolbar."}),"\n"]}),"\n",(0,o.jsx)(n.h3,{id:"i-want-to-only-pass-attributes-to-the-component-that-im-going-to-use",children:"I want to only pass attributes to the component that I'm going to use"}),"\n",(0,o.jsx)(n.p,{children:"At one point in time, we agreed on naming standards for all component attributes. That way we made sure that you wouldn't get any collisions when using multiple components. So we said it is ok to spread all attributes to the component and let the component handle what it needs. Well, that approach is ok but it can bite you in the a.. at the point that you least expect."}),"\n",(0,o.jsxs)(n.p,{children:["That is why we created ",(0,o.jsx)(n.a,{href:"helpers-javascript",children:"props helper"})," that determines what attributes are passed to what component depending on the dependency tree."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Let's set a layout for this example:"})}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["components","\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"heading"}),"\n",(0,o.jsx)(n.li,{children:"typography"}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["custom","\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"heading"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["You have block ",(0,o.jsx)(n.code,{children:"heading"})," that uses component ",(0,o.jsx)(n.code,{children:"heading"})," and that component uses another component called ",(0,o.jsx)(n.code,{children:"typography"}),".\nWe are putting only relevant code in the example:"]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/custom/heading/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n\t"blockName": "heading",\n\t"components": {\n\t\t"heading": "heading"\n\t},\n}\n'})}),"\n",(0,o.jsxs)(n.p,{children:["In the ",(0,o.jsx)(n.code,{children:"components"})," key, you must provide components that you are going to be using in this block. There are more options in the ",(0,o.jsx)(n.a,{href:"#i-want-to-use-one-heading-component-in-my-block",children:"example"})," at the beginning of this chapter."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/custom/heading/components/heading-editor.js"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"import React from 'react';\nimport { props } from '@eightshift/frontend-libs/scripts';\nimport { HeadingEditor as HeadingEditorComponent } from '../../../components/heading/components/heading-editor';\n\nexport const HeadingEditor = ({ attributes, setAttributes }) => {\n\treturn (\n\t\t<HeadingEditorComponent\n\t\t\t{...props('heading', attributes, {\n\t\t\t\tsetAttributes: setAttributes,\n\t\t\t})}\n\t\t/>\n\t);\n};\n"})}),"\n",(0,o.jsx)(n.p,{children:"In JavaScript, you spread the results of the props helper."}),"\n",(0,o.jsx)(n.p,{children:"The PHP template should look like this:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/custom/heading/heading.php"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-php",children:"<?php\n\n/**\n * Template for the Heading Block view.\n *\n * @package EightshiftBoilerplate\n */\n\nuse EightshiftBoilerplateVendor\\EightshiftLibs\\Helpers\\Components;\n\n?>\n\n<div>\n\t<?php\n\techo Components::render(\n\t\t'heading',\n\t\tComponents::props('heading', $attributes)\n\t);\n\t?>\n</div>\n"})}),"\n",(0,o.jsxs)(n.p,{children:["Now, let's see how the component ",(0,o.jsx)(n.code,{children:"heading"})," looks like."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/components/heading/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n\t"componentName": "heading",\n\t"components": {\n\t\t"heading": "typography"\n\t},\n}\n'})}),"\n",(0,o.jsxs)(n.p,{children:["In the ",(0,o.jsx)(n.code,{children:"heading"})," component we are using the ",(0,o.jsx)(n.code,{children:"typography"})," component but we are not using the default component name. Instead, we are changing the attribute name from ",(0,o.jsx)(n.code,{children:"typography"})," to ",(0,o.jsx)(n.code,{children:"heading"}),"."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/components/heading/components/heading-editor.js"})}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"The same is for options or toolbar components!"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"import React from 'react';\nimport { props } from '@eightshift/frontend-libs/scripts';\nimport { TypographyEditor } from './../../typography/components/typography-editor';\nimport manifest from './../manifest.json';\n \nexport const HeadingEditor = (attributes) => {\n\tconst {\n\t\tcomponentClass,\n\t} = manifest;\n\n\tconst {\n\t\tblockClass,\n\t} = attributes;\n\n\treturn (\n\t\t<TypographyEditor\n\t\t\t{...props('heading', attributes, {\n\t\t\t\tblockClass: componentClass,\n\t\t\t})}\n\t\t/>\n\t);\n};\n"})}),"\n",(0,o.jsx)(n.p,{children:"In this example, you can see that everything is the same as in the parent block."}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/components/heading/heading.php"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-php",children:"<?php\n\n/**\n * Template for the Heading Component.\n *\n * @package EightshiftBoilerplate\n */\n\nuse EightshiftBoilerplateVendor\\EightshiftLibs\\Helpers\\Components;\n\n$manifest = Components::getManifest(__DIR__);\n\n$componentClass = $manifest['componentClass'] ?? '';\n\necho Components::render(\n\t'typography',\n\tComponents::props('heading', $attributes, [\n\t\t'blockClass' => $componentClass\n\t])\n),\n"})}),"\n",(0,o.jsx)(n.p,{children:"The PHP part looks similar to the JS block part."}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Typography"})}),"\n",(0,o.jsx)(n.p,{children:"There is nothing special that you need to do in the last component in the tree other than following the attributes naming convention."}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Summing it all up"})}),"\n",(0,o.jsx)(n.p,{children:"Block:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"Components"})," key in the ",(0,o.jsx)(n.code,{children:"manifest.json"})," is used to provide/change the attribute names on the block registration process."]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"Props helper"})," will provide all the attributes used in the block and it will follow the dependency tree to the end so that all the attributes from the children components will also be provided as a result."]}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:"Components:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"Components"})," key in the ",(0,o.jsx)(n.code,{children:"manifest.json"})," is used to determine the dependency tree when passing the attributes from parent to children."]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"Props helper"})," will provide only those attributes that are used in the children's components recursively. The same as props helper in the block."]}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["For more details please read the ",(0,o.jsx)(n.a,{href:"helpers-javascript",children:"props helper docs"}),"."]}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsx)(n.p,{children:"You should avoid spreading attributes as props but rather use this helper because it provides only what is used in the component."}),"\n"]}),"\n",(0,o.jsx)(n.h3,{id:"passing-setattributes-to-components",children:"Passing setAttributes to components"}),"\n",(0,o.jsxs)(n.p,{children:["As we described earlier props helper knows what to pass to a child component but there are some wild cards here. When you are passing props from block to component you must pass setAttributes down as props but if if you are passing props from component to component you don't need to. This is because we added some automatic includes in our props helper that you can check ",(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/scripts/editor/attributes.js",children:"here"}),"."]}),"\n",(0,o.jsx)(n.h3,{id:"manually-overriding-attributes-from-the-code",children:"Manually overriding attributes from the code"}),"\n",(0,o.jsx)(n.p,{children:"You can also do this and this is why we created the third parameter in the props helper in order to be able to pass attributes via code and still be able to use automatic attributes prefixes that the props helper provides:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"<TypographyEditor\n\t{...props('typography', attributes, {\n\t\ttypographyContent: item,\n\t})}\n\tdisableEdit={true}\n/>\n"})}),"\n",(0,o.jsx)(n.p,{children:"typographyContent attribute will follow the naming prefix when passed to a child but the disableEdit will remain the same name in all the children."}),"\n",(0,o.jsx)(n.p,{children:"Any of the included attributes can be passed as the third parameter here, but they will not be prefixed:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"<ImageEditor\n\t{...props('image', attributes, {\n\t\tblockClass: componentClass,\n\t})}\n/>\n"})})]})}function d(e={}){const{wrapper:n}={...(0,s.M)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(h,{...e})}):h(e)}},44972:(e,n,t)=>{t.d(n,{c:()=>o});const o=t.p+"assets/images/attributes-1-b68f9798ba07c21636b26fef3de0f202.webp"},73564:(e,n,t)=>{t.d(n,{c:()=>o});const o=t.p+"assets/images/attributes-2-f47779c67174908485c045f80daef4ec.webp"},68264:(e,n,t)=>{t.d(n,{c:()=>o});const o=t.p+"assets/images/attributes-3-d4804b9a6810dbbb6295b65f8e8c70fd.webp"},4552:(e,n,t)=>{t.d(n,{I:()=>r,M:()=>a});var o=t(11504);const s={},i=o.createContext(s);function a(e){const n=o.useContext(i);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(s):e.components||s:a(e.components),o.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c3122f65.f0a18bf2.js b/assets/js/c3122f65.f0a18bf2.js deleted file mode 100644 index 2ce7b7b49..000000000 --- a/assets/js/c3122f65.f0a18bf2.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[8482],{37706:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>a,default:()=>d,frontMatter:()=>i,metadata:()=>r,toc:()=>h});var o=t(85893),s=t(11151);const i={id:"blocks-component-in-block",title:"Component in a Block"},a=void 0,r={id:"legacy/v8/basics/blocks-component-in-block",title:"Component in a Block",description:"docs-source",source:"@site/docs/legacy/v8/basics/blocks-component-in-block.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/blocks-component-in-block",permalink:"/docs/legacy/v8/basics/blocks-component-in-block",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-component-in-block",title:"Component in a Block"},sidebar:"docs",previous:{title:"Attributes",permalink:"/docs/legacy/v8/basics/blocks-attributes"},next:{title:"Wrapper",permalink:"/docs/legacy/v8/basics/blocks-wrapper"}},l={},h=[{value:"Manifest setup",id:"manifest-setup",level:2},{value:"Important helpers",id:"important-helpers",level:2},{value:"Setting up attributes",id:"setting-up-attributes",level:2},{value:"I want to use one heading component in my block.",id:"i-want-to-use-one-heading-component-in-my-block",level:3},{value:"I want to override one heading attribute in my block.",id:"i-want-to-override-one-heading-attribute-in-my-block",level:3},{value:"I want to use one heading and a paragraph component in my block.",id:"i-want-to-use-one-heading-and-a-paragraph-component-in-my-block",level:3},{value:"I want two heading components in my block.",id:"i-want-two-heading-components-in-my-block",level:3},{value:"I want to use a component that uses more components (componentCeption).",id:"i-want-to-use-a-component-that-uses-more-components-componentception",level:3},{value:"I don't need all the component options in my block.",id:"i-dont-need-all-the-component-options-in-my-block",level:3},{value:"I don't want my editor to be able to change component options in my block.",id:"i-dont-want-my-editor-to-be-able-to-change-component-options-in-my-block",level:3},{value:"How do my example attributes behave when I use components in blocks?",id:"how-do-my-example-attributes-behave-when-i-use-components-in-blocks",level:3},{value:"I have a component name that has multiple strings in a name, will this work?",id:"i-have-a-component-name-that-has-multiple-strings-in-a-name-will-this-work",level:3},{value:"I have a component that I want to use manually",id:"i-have-a-component-that-i-want-to-use-manually",level:3},{value:"I want to limit which options are shown for components inside a block/component",id:"i-want-to-limit-which-options-are-shown-for-components-inside-a-blockcomponent",level:3},{value:"I want to only pass attributes to the component that I'm going to use",id:"i-want-to-only-pass-attributes-to-the-component-that-im-going-to-use",level:3},{value:"Passing setAttributes to components",id:"passing-setattributes-to-components",level:3},{value:"Manually overriding attributes from the code",id:"manually-overriding-attributes-from-the-code",level:3}];function c(e){const n={a:"a",blockquote:"blockquote",code:"code",em:"em",h2:"h2",h3:"h3",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,o.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(n.p,{children:"Blocks and components work perfectly together because they are made that way. We simplified this as much as possible but there always a few things you need to do manually."}),"\n",(0,o.jsx)(n.p,{children:"Try to think of your development process in this way:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"Each component must be standalone and ideally not depend on any other components (sometimes this is not possible but keep this to a minimum)."}),"\n",(0,o.jsx)(n.li,{children:"Components must not be aware of the layout they are used in."}),"\n",(0,o.jsxs)(n.li,{children:["No global styles. Instead, all styles should be contained to the block/component. For more details, check ",(0,o.jsx)(n.a,{href:"blocks-styles",children:"this link"}),"."]}),"\n",(0,o.jsxs)(n.li,{children:["You should define all heading variations in a ",(0,o.jsx)(n.code,{children:"heading"})," component. You can then use this component everywhere you have a heading instead of writing a new implementation. In practice: don't do ",(0,o.jsx)(n.code,{children:"<h2>$heading</h2>"})," but render the ",(0,o.jsx)(n.code,{children:"heading"})," component instead using the helpers defined in the ",(0,o.jsx)(n.a,{href:"helpers",children:"helpers section"}),". The heading is just an example, but this applies to every component."]}),"\n",(0,o.jsx)(n.li,{children:"You can have multiple heading components in one block."}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.strong,{children:"JavaScript and PHP part of the block/component must be 99% the same this is why we wrote all those helpers."})}),"\n"]}),"\n",(0,o.jsx)(n.h2,{id:"manifest-setup",children:"Manifest setup"}),"\n",(0,o.jsxs)(n.p,{children:["In order to use our way of passing props, there are a few prerequisites you must follow. You must use our helpers and you must set ",(0,o.jsx)(n.code,{children:"components"})," key in the manifest."]}),"\n",(0,o.jsxs)(n.p,{children:["As we described in the ",(0,o.jsx)(n.a,{href:"block-manifest",children:"block manifest"})," chapter each block/component can have a ",(0,o.jsx)(n.code,{children:"components"})," key. This key is used in the registration of the block attributes in the block editor and as a dependency tree for passing props in the children components."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Default setup:"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"components": {\n\t"heading": "heading"\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"Components key is an object that can have multiple items added."}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsx)(n.p,{children:"Key represents the name that is going to be used for this component in this block/component and the prefix used in the attributes (more on this later)."}),"\n"]}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsx)(n.p,{children:"Value represents the real component name that you have in your project."}),"\n"]}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsx)(n.p,{children:"Each key and value names can be written in the kebab-case or camelCase but we recommend using camelCase."}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Multiple components setup:"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"components": {\n\t"heading": "heading",\n\t"paragraph": "paragraph"\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"This block/component uses two components, one is heading and the other is paragraphy and they are using the default names."}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Multiple components set up with the components of the same type:"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"components": {\n\t"heading": "heading",\n\t"intro": "heading",\n\t"paragraph": "paragraph"\n}\n'})}),"\n",(0,o.jsxs)(n.p,{children:["This block/component uses three components, two headings (one of which is renamed to ",(0,o.jsx)(n.code,{children:"intro"}),") and a paragraph."]}),"\n",(0,o.jsx)(n.h2,{id:"important-helpers",children:"Important helpers"}),"\n",(0,o.jsx)(n.p,{children:"As we described earlier, in order to use our setup you must use our helpers. Here are some of the helpers you should get familiar with:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["props - ",(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/scripts/editor/attributes.js",children:"JS"})," - ",(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/blob/develop/src/Helpers/AttributesTrait.php",children:"PHP"})]}),"\n",(0,o.jsxs)(n.li,{children:["getOptions - ",(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/scripts/editor/options.js",children:"JS"})]}),"\n",(0,o.jsxs)(n.li,{children:["getOption - ",(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/scripts/editor/options.js",children:"JS"})]}),"\n",(0,o.jsxs)(n.li,{children:["getAttrKey - ",(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/scripts/editor/attributes.js",children:"JS"})," - ",(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/blob/develop/src/Helpers/AttributesTrait.php",children:"PHP"})]}),"\n",(0,o.jsxs)(n.li,{children:["checkAttr - ",(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/scripts/editor/attributes.js",children:"JS"})," - ",(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/blob/develop/src/Helpers/AttributesTrait.php",children:"PHP"})]}),"\n",(0,o.jsxs)(n.li,{children:["render - ",(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/blob/develop/src/Blocks/AbstractBlocks.php",children:"PHP"})]}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["For more details please check our helpers sections for ",(0,o.jsx)(n.a,{href:"helpers-javascript",children:"JavaScript"})," and ",(0,o.jsx)(n.a,{href:"helpers-php",children:"PHP"}),"."]}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsx)(n.p,{children:"Keep in mind that you can always ignore our setup and use the React way of passing props to components by prop drilling."}),"\n"]}),"\n",(0,o.jsx)(n.h2,{id:"setting-up-attributes",children:"Setting up attributes"}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsx)(n.p,{children:"Each attribute must have the component name prefix in each attribute. This is one of the biggest requirements in order for our setup to work."}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:"By defining components key in the block registration phase we are drilling down from block to the last component and setting up attribute names according to your setup. In order for everything to work, we had to add/change prefixes to each component attribute in relation to where this attribute is used in the dependency tree. It is not so hard as it sounds so let us show you some graphical examples:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{alt:"Attributes 1",src:t(5477).Z+"",width:"781",height:"251"})}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{alt:"Attributes 2",src:t(53248).Z+"",width:"781",height:"251"})}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{alt:"Attributes 3",src:t(70439).Z+"",width:"781",height:"251"})}),"\n",(0,o.jsx)(n.h3,{id:"i-want-to-use-one-heading-component-in-my-block",children:"I want to use one heading component in my block."}),"\n",(0,o.jsx)(n.p,{children:"If you have a heading component with these attributes:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/components/heading/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"componentName": "heading",\n"attributes": {\n\t"headingContent": {\n\t\t"type": "string"\n\t},\n\t"headingLevel": {\n\t\t"type": "integer",\n\t\t"default": 2\n\t},\n\t"headingSize": {\n\t\t"type": "string",\n\t\t"default": "default"\n\t},\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"and you want to use the heading component in the Jumbotron block, you can use it by adding a component key in the Jumbotron block manifest like this:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/custom/jumbotron/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"blockName": "jumbotron",\n"attributes": {\n\t"jumbotronContent": {\n\t\t"type": "string"\n\t\t"default": "test",\n\t}\n},\n"components": {\n\t"heading": "heading"\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"in your block attribute's object, you will now have these keys:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'// Attributes from the component.\n"jumbotronHeadingContent": "",\n"jumbotronHeadingLevel": 2,\n"jumbotronHeadingSize": "default",\n\n// Attributes from the block.\n"jumbotronContent": "test",\n'})}),"\n",(0,o.jsx)(n.p,{children:"As you can see in the example, each block/component attribute must have a prefix, and we are then stacking that prefixed in the final output."}),"\n",(0,o.jsx)(n.h3,{id:"i-want-to-override-one-heading-attribute-in-my-block",children:"I want to override one heading attribute in my block."}),"\n",(0,o.jsx)(n.p,{children:"We build all our attributes by merging attribute's objects in this order:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"global attributes (global settings)"}),"\n",(0,o.jsx)(n.li,{children:"wrapper attributes"}),"\n",(0,o.jsx)(n.li,{children:"component attributes"}),"\n",(0,o.jsx)(n.li,{children:"block attributes"}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:"By following the basic principle of merging objects, if you have two keys with the same name, the last one will always override the previous. Now that you know how attributes are built, you can follow this example for your answer."}),"\n",(0,o.jsx)(n.p,{children:"We are using the same component as before:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/components/heading/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"componentName": "heading",\n"attributes": {\n\t"headingContent": {\n\t\t"type": "string"\n\t},\n\t"headingLevel": {\n\t\t"type": "integer",\n\t\t"default": 2\n\t},\n\t"headingSize": {\n\t\t"type": "string",\n\t\t"default": "default"\n\t},\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"and in Jumbotron block we want to change the default value of headingSize to big:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/custom/jumbotron/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"blockName": "jumbotron",\n"attributes": {\n\t"jumbotronContent": {\n\t\t"type": "string"\n\t\t"default": "test",\n\t},\n\t"jumbotronHeadingSize": {\n\t\t"type": "string",\n\t\t"default": "big"\n\t},\n},\n"components": {\n\t"heading": "heading"\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"In your block attributes object, you will now have these keys:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'\n// Attributes from the component.\n"jumbotronHeadingContent": "",\n"jumbotronHeadingLevel": 2,\n"jumbotronHeadingSize": "big",\n\n// Attributes from the block.\n"jumbotronContent": "test",\n'})}),"\n",(0,o.jsx)(n.p,{children:"As you can see in the example, to override the component attribute you just set that attribute to a different value but you must respect the attribute prefix."}),"\n",(0,o.jsx)(n.h3,{id:"i-want-to-use-one-heading-and-a-paragraph-component-in-my-block",children:"I want to use one heading and a paragraph component in my block."}),"\n",(0,o.jsx)(n.p,{children:"You can do this by following the same principle as before. Here is an example:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/custom/jumbotron/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"blockName": "jumbotron",\n"attributes": {\n\t"jumbotronContent": {\n\t\t"type": "string"\n\t\t"default": "test",\n\t}\n},\n"components": {\n\t"heading": "heading",\n\t"paragraph": "paragraph"\n}\n'})}),"\n",(0,o.jsx)(n.h3,{id:"i-want-two-heading-components-in-my-block",children:"I want two heading components in my block."}),"\n",(0,o.jsx)(n.p,{children:"If you want to use multiple heading components in your block, follow this example:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/custom/jumbotron/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"blockName": "jumbotron",\n"attributes": {\n\t"jumbotronContent": {\n\t\t"type": "string"\n\t\t"default": "test",\n\t}\n},\n"components": {\n\t"heading": "heading"\n\t"intro": "heading"\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"In your block attributes object, you will now have these keys:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'\n// Attributes from the first component.\n"jumbotronHeadingContent": "",\n"jumbotronHeadingLevel": 2,\n"jumbotronHeadingSize": "default",\n\n// Attributes from the second component.\n"jumbotronIntroContent": "",\n"jumbotronIntroLevel": 2,\n"jumbotronIntroSize": "default",\n\n// Attributes from the block.\n"jumbotronContent": "test",\n'})}),"\n",(0,o.jsx)(n.h3,{id:"i-want-to-use-a-component-that-uses-more-components-componentception",children:"I want to use a component that uses more components (componentCeption)."}),"\n",(0,o.jsx)(n.p,{children:"For example, if you have a block called cards grid that uses a card component, that card component uses a heading component."}),"\n",(0,o.jsx)(n.p,{children:"Structure:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["Cards","\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["Card","\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"Heading"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:"If you have a heading component with these attributes:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/components/heading/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"componentName": "heading",\n"attributes": {\n\t"headingContent": {\n\t\t"type": "string"\n\t},\n\t"headingLevel": {\n\t\t"type": "integer",\n\t\t"default": 2\n\t},\n\t"headingSize": {\n\t\t"type": "string",\n\t\t"default": "default"\n\t},\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"and you have a card component:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/components/card/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"componentName": "card",\n"attributes": {\n\t"cardUsage": {\n\t\t"type": "boolean"\n\t\t"default": true,\n\t},\n},\n"components": {\n\t"heading": "heading"\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"and you have a cards grid block:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/custom/cards-grid/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"blockName": "cards-grid",\n"attributes": {\n\t"cardsGridContent": {\n\t\t"type": "string"\n\t\t"default": "test",\n\t},\n},\n"components": {\n\t"card": "card"\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"in your block attributes object, you will now have these keys:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'// Attributes from the heading component.\n"cardsGridCardHeadingContent": "",\n"cardsGridCardHeadingLevel": 2,\n"cardsGridCardHeadingSize": "default",\n\n// Attributes from the card component.\n"cardsGridCardUsage": true,\n\n// Attributes from the block.\n"cardsGridContent": "test",\n'})}),"\n",(0,o.jsx)(n.p,{children:"As you can see in the example, you have all the attributes from the card and heading component inside your card's grid block."}),"\n",(0,o.jsx)(n.h3,{id:"i-dont-need-all-the-component-options-in-my-block",children:"I don't need all the component options in my block."}),"\n",(0,o.jsxs)(n.p,{children:["All our components come with a few common attributes that we recommend you also implement in your components. One of those attributes is ",(0,o.jsx)(n.code,{children:"buttonUse"}),"."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"buttonUse": true,\n'})}),"\n",(0,o.jsxs)(n.p,{children:["This attribute is available in all three components (editor, toolbar, options). If set to ",(0,o.jsx)(n.strong,{children:"false"}),", it will remove this component from the DOM. This is useful if you want to hide all markup from the DOM."]}),"\n",(0,o.jsx)(n.p,{children:"For example, you have a Jumbotron block and a heading that you want to populate if necessary. If you add content to the heading, everything looks good. But if you don't add it, you'll still see a placeholder for that heading in the block editor. This affects how you perceive it, and an editor may think this block will look like that on the front end (with the placeholder text). So if you have a component that you will not populate on some block, switch the toggle to false, and you will hide it from the DOM. This is useful for content editors."}),"\n",(0,o.jsx)(n.h3,{id:"i-dont-want-my-editor-to-be-able-to-change-component-options-in-my-block",children:"I don't want my editor to be able to change component options in my block."}),"\n",(0,o.jsxs)(n.p,{children:["Another attribute that you can use is ",(0,o.jsx)(n.code,{children:"buttonShowControls"}),"."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"buttonShowControls": true,\n'})}),"\n",(0,o.jsx)(n.p,{children:"This attribute is available in the options component only. You can't set it up via block editor, only from code. You would use it if you wanted to use a heading component and set all the defaults, without your content editor changing how the heading looks. It can add the heading content from the editor section without changing any of the options. You can set this option in the manifest or pass it manually via props."}),"\n",(0,o.jsx)(n.h3,{id:"how-do-my-example-attributes-behave-when-i-use-components-in-blocks",children:"How do my example attributes behave when I use components in blocks?"}),"\n",(0,o.jsx)(n.p,{children:"Exactly the same way as attributes."}),"\n",(0,o.jsx)(n.h3,{id:"i-have-a-component-name-that-has-multiple-strings-in-a-name-will-this-work",children:"I have a component name that has multiple strings in a name, will this work?"}),"\n",(0,o.jsxs)(n.p,{children:["By multiple strings in a name we mean that component name has multiple words, for example, ",(0,o.jsx)(n.code,{children:"jumbotron-cta"}),". The problem here is that we define components with kebab-case and attributes with camelCase."]}),"\n",(0,o.jsxs)(n.p,{children:["The short answer is ",(0,o.jsx)(n.strong,{children:"yes"})," this will work."]}),"\n",(0,o.jsx)(n.h3,{id:"i-have-a-component-that-i-want-to-use-manually",children:"I have a component that I want to use manually"}),"\n",(0,o.jsx)(n.p,{children:"We created this cool way of importing attributes and loading components in your blocks or other components. However, that doesn't mean that you can't have instances where you have to load components manually. In that case, you have to provide all the attributes that you want to use manually. The attributes that you didn't provide will not be magically set from the manifest, but you can make your life easier and map it like this."}),"\n",(0,o.jsxs)(n.p,{children:["For example, you have a ",(0,o.jsx)(n.code,{children:"card"})," component that you will use in the ",(0,o.jsx)(n.code,{children:"featured-posts"})," block."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/custom/featured-posts/featured-posts.php"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-php",children:"echo Components::render(\n 'card',\n Components::props('card', $attributes, [\n 'cardHeadingContent' => __('Custom content for heading', 'textdomain'),\n 'cardParagraphContent' => __('Custom content for paragraph', 'textdomain'),\n ])\n);\n"})}),"\n",(0,o.jsx)(n.p,{children:"This example will only pass these 2 attributes to you component and attributes from the currect file, it will not pass default attributes of heading and paragraph components."}),"\n",(0,o.jsx)(n.p,{children:"By providing the forth parameter to a render method you can also add default attributes to the output like this:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"featured-posts.php"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-php",children:"echo Components::render(\n 'card',\n Components::props('card', $attributes, [\n 'cardHeadingContent' => __('Custom content for heading', 'textdomain'),\n 'cardParagraphContent' => __('Custom content for paragraph', 'textdomain'),\n ]),\n '',\n true\n);\n"})}),"\n",(0,o.jsx)(n.h3,{id:"i-want-to-limit-which-options-are-shown-for-components-inside-a-blockcomponent",children:"I want to limit which options are shown for components inside a block/component"}),"\n",(0,o.jsxs)(n.p,{children:["Let's say you have a block that has a ",(0,o.jsx)(n.code,{children:"heading"})," component inside it."]}),"\n",(0,o.jsxs)(n.p,{children:["The ",(0,o.jsx)(n.code,{children:"heading"})," has 10 text sizes and 5 colors, but for that block, only 2 colors and 3 text sizes are allowed.\nTo achieve this you must prepare your component to be able to use this feature:"]}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsxs)(n.li,{children:["Your component options must be named the same name as their attribute value. In the example, you can see that the options key for ",(0,o.jsx)(n.code,{children:"typographySize"})," is the same name as in the attributes."]}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/components/heading/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n\t"componentName": "heading",\n\t"attributes": {\n\t\t"headingSize": {\n\t\t\t"type": "string",\n\t\t\t"default": "16-text-roman"\n\t\t},\n\t\t"headingColor": {\n\t\t\t"type": "string",\n\t\t\t"default": "black",\n\t\t\t"variable": true,\n\t\t\t"color": true\n\t\t},\n\t},\n\t"options": {\n\t\t"headingSize": [\n\t\t\t{\n\t\t\t\t"label": "180 Display",\n\t\t\t\t"value": "180-default"\n\t\t\t},\n\t\t\t{\n\t\t\t\t"label": "120 Display",\n\t\t\t\t"value": "120-default"\n\t\t\t},\n\t\t\t{\n\t\t\t\t"label": "80 Display",\n\t\t\t\t"value": "80-default"\n\t\t\t},\n\t\t\t{\n\t\t\t\t"label": "52 Display",\n\t\t\t\t"value": "52-default"\n\t\t\t},\n\t\t\t{\n\t\t\t\t"label": "36 Text",\n\t\t\t\t"value": "36-text"\n\t\t\t}\n\t\t],\n\t\t"headingColor": [\n\t\t\t"black",\n\t\t\t"white",\n\t\t\t"grey100",\n\t\t\t"grey200"\n\t\t]\n\t}\n}\n'})}),"\n",(0,o.jsxs)(n.ol,{start:"2",children:["\n",(0,o.jsxs)(n.li,{children:["Every option in your component must use ",(0,o.jsx)(n.code,{children:"getOption"})," helper for the prop that is used to provide options. Details about the helper can be found ",(0,o.jsx)(n.a,{href:"helpers-javascript",children:"here"}),"."]}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"SelectControl Example:"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"const headingSize = checkAttr('headingSize', attributes, manifest);\n\n<SelectControl\n\tlabel={__('Text size', 'eightshift-boilerplate')}\n\tvalue={headingSize}\n\toptions={getOption('headingSize', attributes, manifest)}\n\tonChange={(value) => setAttributes({ [getAttrKey('headingSize', attributes, manifest)]: value })}\n/>\n"})}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"ColorPaletteCustom Example:"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"const headingColor = checkAttr('headingColor', attributes, manifest);\n\n<ColorPaletteCustom\n\tlabel={__('Color', 'eightshift-boilerplate')}\n\tvalue={headingColor}\n\tcolors={getOption('headingColor', attributes, manifest, true)}\n\tonChange={(value) => setAttributes({ [getAttrKey('headingColor', attributes, manifest)]: value })}\n/>\n"})}),"\n",(0,o.jsxs)(n.ol,{start:"3",children:["\n",(0,o.jsx)(n.li,{children:"In the component/block for which you are going to override the options, you must provide an option prop that is going to override the default one also following the described attribute prefixes."}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"heading-options.js"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"<HeadingOptions\n\t{...props('heading', attributes, {\n\t\toptions: getOptions(attributes, manifest),\n\t})}\n/>\n"})}),"\n",(0,o.jsxs)(n.ol,{start:"4",children:["\n",(0,o.jsxs)(n.li,{children:["In the component/blocks for which you are going to override options, you must provide the override in the ",(0,o.jsx)(n.code,{children:"manifest.json"})," by following the same naming as in the component."]}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/custom/heading/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n\t"blockName": "heading",\n\t"options": {\n\t\t"headingHeadingSize": [\n\t\t\t"80-default",\n\t\t\t"52-default"\n\t\t],\n\t\t"headingHeadingColor": [\n\t\t\t"black",\n\t\t\t"white"\n\t\t]\n\t}\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"And this is it. You are now able to override the options from the parent block/component."}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsx)(n.p,{children:"Keep in mind that you can only override SelectControl, ColorPaletteCustom, and AlignmentToolbar."}),"\n"]}),"\n",(0,o.jsx)(n.h3,{id:"i-want-to-only-pass-attributes-to-the-component-that-im-going-to-use",children:"I want to only pass attributes to the component that I'm going to use"}),"\n",(0,o.jsx)(n.p,{children:"At one point in time, we agreed on naming standards for all component attributes. That way we made sure that you wouldn't get any collisions when using multiple components. So we said it is ok to spread all attributes to the component and let the component handle what it needs. Well, that approach is ok but it can bite you in the a.. at the point that you least expect."}),"\n",(0,o.jsxs)(n.p,{children:["That is why we created ",(0,o.jsx)(n.a,{href:"helpers-javascript",children:"props helper"})," that determines what attributes are passed to what component depending on the dependency tree."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Let's set a layout for this example:"})}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["components","\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"heading"}),"\n",(0,o.jsx)(n.li,{children:"typography"}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["custom","\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"heading"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["You have block ",(0,o.jsx)(n.code,{children:"heading"})," that uses component ",(0,o.jsx)(n.code,{children:"heading"})," and that component uses another component called ",(0,o.jsx)(n.code,{children:"typography"}),".\nWe are putting only relevant code in the example:"]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/custom/heading/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n\t"blockName": "heading",\n\t"components": {\n\t\t"heading": "heading"\n\t},\n}\n'})}),"\n",(0,o.jsxs)(n.p,{children:["In the ",(0,o.jsx)(n.code,{children:"components"})," key, you must provide components that you are going to be using in this block. There are more options in the ",(0,o.jsx)(n.a,{href:"#i-want-to-use-one-heading-component-in-my-block",children:"example"})," at the beginning of this chapter."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/custom/heading/components/heading-editor.js"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"import React from 'react';\nimport { props } from '@eightshift/frontend-libs/scripts';\nimport { HeadingEditor as HeadingEditorComponent } from '../../../components/heading/components/heading-editor';\n\nexport const HeadingEditor = ({ attributes, setAttributes }) => {\n\treturn (\n\t\t<HeadingEditorComponent\n\t\t\t{...props('heading', attributes, {\n\t\t\t\tsetAttributes: setAttributes,\n\t\t\t})}\n\t\t/>\n\t);\n};\n"})}),"\n",(0,o.jsx)(n.p,{children:"In JavaScript, you spread the results of the props helper."}),"\n",(0,o.jsx)(n.p,{children:"The PHP template should look like this:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/custom/heading/heading.php"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-php",children:"<?php\n\n/**\n * Template for the Heading Block view.\n *\n * @package EightshiftBoilerplate\n */\n\nuse EightshiftBoilerplateVendor\\EightshiftLibs\\Helpers\\Components;\n\n?>\n\n<div>\n\t<?php\n\techo Components::render(\n\t\t'heading',\n\t\tComponents::props('heading', $attributes)\n\t);\n\t?>\n</div>\n"})}),"\n",(0,o.jsxs)(n.p,{children:["Now, let's see how the component ",(0,o.jsx)(n.code,{children:"heading"})," looks like."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/components/heading/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n\t"componentName": "heading",\n\t"components": {\n\t\t"heading": "typography"\n\t},\n}\n'})}),"\n",(0,o.jsxs)(n.p,{children:["In the ",(0,o.jsx)(n.code,{children:"heading"})," component we are using the ",(0,o.jsx)(n.code,{children:"typography"})," component but we are not using the default component name. Instead, we are changing the attribute name from ",(0,o.jsx)(n.code,{children:"typography"})," to ",(0,o.jsx)(n.code,{children:"heading"}),"."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/components/heading/components/heading-editor.js"})}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"The same is for options or toolbar components!"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"import React from 'react';\nimport { props } from '@eightshift/frontend-libs/scripts';\nimport { TypographyEditor } from './../../typography/components/typography-editor';\nimport manifest from './../manifest.json';\n \nexport const HeadingEditor = (attributes) => {\n\tconst {\n\t\tcomponentClass,\n\t} = manifest;\n\n\tconst {\n\t\tblockClass,\n\t} = attributes;\n\n\treturn (\n\t\t<TypographyEditor\n\t\t\t{...props('heading', attributes, {\n\t\t\t\tblockClass: componentClass,\n\t\t\t})}\n\t\t/>\n\t);\n};\n"})}),"\n",(0,o.jsx)(n.p,{children:"In this example, you can see that everything is the same as in the parent block."}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/components/heading/heading.php"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-php",children:"<?php\n\n/**\n * Template for the Heading Component.\n *\n * @package EightshiftBoilerplate\n */\n\nuse EightshiftBoilerplateVendor\\EightshiftLibs\\Helpers\\Components;\n\n$manifest = Components::getManifest(__DIR__);\n\n$componentClass = $manifest['componentClass'] ?? '';\n\necho Components::render(\n\t'typography',\n\tComponents::props('heading', $attributes, [\n\t\t'blockClass' => $componentClass\n\t])\n),\n"})}),"\n",(0,o.jsx)(n.p,{children:"The PHP part looks similar to the JS block part."}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Typography"})}),"\n",(0,o.jsx)(n.p,{children:"There is nothing special that you need to do in the last component in the tree other than following the attributes naming convention."}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Summing it all up"})}),"\n",(0,o.jsx)(n.p,{children:"Block:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"Components"})," key in the ",(0,o.jsx)(n.code,{children:"manifest.json"})," is used to provide/change the attribute names on the block registration process."]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"Props helper"})," will provide all the attributes used in the block and it will follow the dependency tree to the end so that all the attributes from the children components will also be provided as a result."]}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:"Components:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"Components"})," key in the ",(0,o.jsx)(n.code,{children:"manifest.json"})," is used to determine the dependency tree when passing the attributes from parent to children."]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"Props helper"})," will provide only those attributes that are used in the children's components recursively. The same as props helper in the block."]}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["For more details please read the ",(0,o.jsx)(n.a,{href:"helpers-javascript",children:"props helper docs"}),"."]}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsx)(n.p,{children:"You should avoid spreading attributes as props but rather use this helper because it provides only what is used in the component."}),"\n"]}),"\n",(0,o.jsx)(n.h3,{id:"passing-setattributes-to-components",children:"Passing setAttributes to components"}),"\n",(0,o.jsxs)(n.p,{children:["As we described earlier props helper knows what to pass to a child component but there are some wild cards here. When you are passing props from block to component you must pass setAttributes down as props but if if you are passing props from component to component you don't need to. This is because we added some automatic includes in our props helper that you can check ",(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/scripts/editor/attributes.js",children:"here"}),"."]}),"\n",(0,o.jsx)(n.h3,{id:"manually-overriding-attributes-from-the-code",children:"Manually overriding attributes from the code"}),"\n",(0,o.jsx)(n.p,{children:"You can also do this and this is why we created the third parameter in the props helper in order to be able to pass attributes via code and still be able to use automatic attributes prefixes that the props helper provides:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"<TypographyEditor\n\t{...props('typography', attributes, {\n\t\ttypographyContent: item,\n\t})}\n\tdisableEdit={true}\n/>\n"})}),"\n",(0,o.jsx)(n.p,{children:"typographyContent attribute will follow the naming prefix when passed to a child but the disableEdit will remain the same name in all the children."}),"\n",(0,o.jsx)(n.p,{children:"Any of the included attributes can be passed as the third parameter here, but they will not be prefixed:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"<ImageEditor\n\t{...props('image', attributes, {\n\t\tblockClass: componentClass,\n\t})}\n/>\n"})})]})}function d(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(c,{...e})}):c(e)}},5477:(e,n,t)=>{t.d(n,{Z:()=>o});const o=t.p+"assets/images/attributes-1-b68f9798ba07c21636b26fef3de0f202.webp"},53248:(e,n,t)=>{t.d(n,{Z:()=>o});const o=t.p+"assets/images/attributes-2-f47779c67174908485c045f80daef4ec.webp"},70439:(e,n,t)=>{t.d(n,{Z:()=>o});const o=t.p+"assets/images/attributes-3-d4804b9a6810dbbb6295b65f8e8c70fd.webp"},11151:(e,n,t)=>{t.d(n,{Z:()=>r,a:()=>a});var o=t(67294);const s={},i=o.createContext(s);function a(e){const n=o.useContext(i);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(s):e.components||s:a(e.components),o.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c344252c.7e1152d4.js b/assets/js/c344252c.7e1152d4.js deleted file mode 100644 index d5c71bfdc..000000000 --- a/assets/js/c344252c.7e1152d4.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[85064],{54078:(e,i,a)=>{a.r(i),a.d(i,{assets:()=>l,contentTitle:()=>s,default:()=>h,frontMatter:()=>n,metadata:()=>o,toc:()=>d});var r=a(85893),t=a(11151);const n={id:"jira",title:"Jira"},s=void 0,o={id:"php/global-variables/integrations/jira",title:"Jira",description:"ESAPIKEY_JIRA",source:"@site/forms/php/global-variables/integrations/jira.md",sourceDirName:"php/global-variables/integrations",slug:"/php/global-variables/integrations/jira",permalink:"/forms/php/global-variables/integrations/jira",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"jira",title:"Jira"},sidebar:"forms",previous:{title:"Hubspot",permalink:"/forms/php/global-variables/integrations/hubspot"},next:{title:"Mailchimp",permalink:"/forms/php/global-variables/integrations/mailchimp"}},l={},d=[{value:"ES_API_KEY_JIRA",id:"es_api_key_jira",level:3},{value:"ES_API_BOARD_JIRA",id:"es_api_board_jira",level:3},{value:"ES_API_USER_JIRA",id:"es_api_user_jira",level:3}];function c(e){const i={code:"code",h3:"h3",p:"p",pre:"pre",...(0,t.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.h3,{id:"es_api_key_jira",children:"ES_API_KEY_JIRA"}),"\n",(0,r.jsx)(i.p,{children:"This variable will set the Jira integration API key."}),"\n",(0,r.jsx)(i.pre,{children:(0,r.jsx)(i.code,{className:"language-php",children:"define('ES_API_KEY_JIRA', '<api-key>');\n"})}),"\n",(0,r.jsx)(i.h3,{id:"es_api_board_jira",children:"ES_API_BOARD_JIRA"}),"\n",(0,r.jsxs)(i.p,{children:["This variable will set the Jira integration board ID. The board should be assigned to the API key set with ",(0,r.jsx)(i.code,{children:"ES_API_KEY_JIRA"}),"."]}),"\n",(0,r.jsx)(i.pre,{children:(0,r.jsx)(i.code,{className:"language-php",children:"define('ES_API_BOARD_JIRA', '<api-board-key>');\n"})}),"\n",(0,r.jsx)(i.h3,{id:"es_api_user_jira",children:"ES_API_USER_JIRA"}),"\n",(0,r.jsxs)(i.p,{children:["This variable will set the Jira integration user ID. The user should be assigned to the API key set with ",(0,r.jsx)(i.code,{children:"ES_API_KEY_JIRA"})," and should have the permission to edit the board set with ",(0,r.jsx)(i.code,{children:"ES_API_BOARD_JIRA"}),"."]}),"\n",(0,r.jsx)(i.pre,{children:(0,r.jsx)(i.code,{className:"language-php",children:"define('ES_API_USER_JIRA', '<api-user-key>');\n"})})]})}function h(e={}){const{wrapper:i}={...(0,t.a)(),...e.components};return i?(0,r.jsx)(i,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},11151:(e,i,a)=>{a.d(i,{Z:()=>o,a:()=>s});var r=a(67294);const t={},n=r.createContext(t);function s(e){const i=r.useContext(n);return r.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function o(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:s(e.components),r.createElement(n.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c344252c.a89f332f.js b/assets/js/c344252c.a89f332f.js new file mode 100644 index 000000000..ecfeaba23 --- /dev/null +++ b/assets/js/c344252c.a89f332f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[97968],{71680:(e,i,r)=>{r.r(i),r.d(i,{assets:()=>l,contentTitle:()=>s,default:()=>h,frontMatter:()=>n,metadata:()=>o,toc:()=>d});var a=r(17624),t=r(4552);const n={id:"jira",title:"Jira"},s=void 0,o={id:"php/global-variables/integrations/jira",title:"Jira",description:"ESAPIKEY_JIRA",source:"@site/forms/php/global-variables/integrations/jira.md",sourceDirName:"php/global-variables/integrations",slug:"/php/global-variables/integrations/jira",permalink:"/forms/php/global-variables/integrations/jira",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"jira",title:"Jira"},sidebar:"forms",previous:{title:"Hubspot",permalink:"/forms/php/global-variables/integrations/hubspot"},next:{title:"Mailchimp",permalink:"/forms/php/global-variables/integrations/mailchimp"}},l={},d=[{value:"ES_API_KEY_JIRA",id:"es_api_key_jira",level:3},{value:"ES_API_BOARD_JIRA",id:"es_api_board_jira",level:3},{value:"ES_API_USER_JIRA",id:"es_api_user_jira",level:3}];function c(e){const i={code:"code",h3:"h3",p:"p",pre:"pre",...(0,t.M)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(i.h3,{id:"es_api_key_jira",children:"ES_API_KEY_JIRA"}),"\n",(0,a.jsx)(i.p,{children:"This variable will set the Jira integration API key."}),"\n",(0,a.jsx)(i.pre,{children:(0,a.jsx)(i.code,{className:"language-php",children:"define('ES_API_KEY_JIRA', '<api-key>');\n"})}),"\n",(0,a.jsx)(i.h3,{id:"es_api_board_jira",children:"ES_API_BOARD_JIRA"}),"\n",(0,a.jsxs)(i.p,{children:["This variable will set the Jira integration board ID. The board should be assigned to the API key set with ",(0,a.jsx)(i.code,{children:"ES_API_KEY_JIRA"}),"."]}),"\n",(0,a.jsx)(i.pre,{children:(0,a.jsx)(i.code,{className:"language-php",children:"define('ES_API_BOARD_JIRA', '<api-board-key>');\n"})}),"\n",(0,a.jsx)(i.h3,{id:"es_api_user_jira",children:"ES_API_USER_JIRA"}),"\n",(0,a.jsxs)(i.p,{children:["This variable will set the Jira integration user ID. The user should be assigned to the API key set with ",(0,a.jsx)(i.code,{children:"ES_API_KEY_JIRA"})," and should have the permission to edit the board set with ",(0,a.jsx)(i.code,{children:"ES_API_BOARD_JIRA"}),"."]}),"\n",(0,a.jsx)(i.pre,{children:(0,a.jsx)(i.code,{className:"language-php",children:"define('ES_API_USER_JIRA', '<api-user-key>');\n"})})]})}function h(e={}){const{wrapper:i}={...(0,t.M)(),...e.components};return i?(0,a.jsx)(i,{...e,children:(0,a.jsx)(c,{...e})}):c(e)}},4552:(e,i,r)=>{r.d(i,{I:()=>o,M:()=>s});var a=r(11504);const t={},n=a.createContext(t);function s(e){const i=a.useContext(n);return a.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function o(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:s(e.components),a.createElement(n.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c361232e.6cce46a7.js b/assets/js/c361232e.6cce46a7.js new file mode 100644 index 000000000..e450d18c3 --- /dev/null +++ b/assets/js/c361232e.6cce46a7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[38640],{72260:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>i,toc:()=>l});var n=s(17624),r=s(4552);const o={id:"blocks-patterns",title:"Patterns"},a=void 0,i={id:"legacy/v6/basics/blocks-patterns",title:"Patterns",description:"docs-source",source:"@site/docs/legacy/v6/basics/blocks-patterns.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/blocks-patterns",permalink:"/docs/legacy/v6/basics/blocks-patterns",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-patterns",title:"Patterns"},sidebar:"docs",previous:{title:"Variations",permalink:"/docs/legacy/v6/basics/blocks-variations"},next:{title:"Transforms",permalink:"/docs/legacy/v6/basics/blocks-transforms"}},c={},l=[{value:"Remove all core patterns",id:"remove-all-core-patterns",level:3}];function d(e){const t={a:"a",code:"code",em:"em",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,r.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(t.p,{children:"Block Patterns are predefined block layouts, ready to insert and tweak."}),"\n",(0,n.jsxs)(t.p,{children:["You can check the ",(0,n.jsx)(t.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-patterns/",children:"WordPress documentation"})," on this subject."]}),"\n",(0,n.jsxs)(t.p,{children:["Patterns are (as we understand them) the same thing as block variations. The main difference is that you can provide full layouts with patterns, as described in ",(0,n.jsx)(t.a,{href:"blocks-variations#limitations",children:"this chapter"}),". You can also provide the full page layouts with our variations."]}),"\n",(0,n.jsx)(t.p,{children:"This means that the only differences between our variations and block patterns are:"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Variations"})}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"Variations provide data using our manifest.json file (the rest is handled using JavaScript)."}),"\n",(0,n.jsx)(t.li,{children:"Variations appear in the editor next to the static blocks."}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Patterns"})}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"Patterns are registered using PHP."}),"\n",(0,n.jsx)(t.li,{children:"Patterns appear in the editor inside the special tab for patterns."}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.em,{children:"We will soon provide WP-CLI command to automaticity create block patterns, boilerplate class, for you to use."})}),"\n",(0,n.jsx)(t.h3,{id:"remove-all-core-patterns",children:"Remove all core patterns"}),"\n",(0,n.jsx)(t.p,{children:"If you don't use core blocks, core patterns won't work. Don't confuse your users and remove them (but feel free to add new patterns based on your own custom blocks!)"}),"\n",(0,n.jsxs)(t.p,{children:["To remove all core patterns add this code to you ",(0,n.jsx)(t.code,{children:"src/Blocks/Blocks.php"})," class."]}),"\n",(0,n.jsx)(t.p,{children:"Filter goes in the register method:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"// Remove block patterns.\nadd_filter('block_editor_settings', [$this, 'removeCorePatterns']);\n"})}),"\n",(0,n.jsx)(t.p,{children:"Callback method:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"/**\n\t* Remove core block patterns\n\t*\n\t* @param array $settings Array of block editor settings to filter out.\n\t*\n\t* @return array Filtered array.\n\t*/\npublic function removeCorePatterns(array $settings): array\n{\n\t$settings['__experimentalBlockPatterns'] = [];\n\n\treturn $settings;\n}\n"})})]})}function h(e={}){const{wrapper:t}={...(0,r.M)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},4552:(e,t,s)=>{s.d(t,{I:()=>i,M:()=>a});var n=s(11504);const r={},o=n.createContext(r);function a(e){const t=n.useContext(o);return n.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(r):e.components||r:a(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c361232e.ad0c45e4.js b/assets/js/c361232e.ad0c45e4.js deleted file mode 100644 index 3d4ccb325..000000000 --- a/assets/js/c361232e.ad0c45e4.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[11364],{26274:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>i,toc:()=>l});var n=s(85893),r=s(11151);const o={id:"blocks-patterns",title:"Patterns"},a=void 0,i={id:"legacy/v6/basics/blocks-patterns",title:"Patterns",description:"docs-source",source:"@site/docs/legacy/v6/basics/blocks-patterns.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/blocks-patterns",permalink:"/docs/legacy/v6/basics/blocks-patterns",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-patterns",title:"Patterns"},sidebar:"docs",previous:{title:"Variations",permalink:"/docs/legacy/v6/basics/blocks-variations"},next:{title:"Transforms",permalink:"/docs/legacy/v6/basics/blocks-transforms"}},c={},l=[{value:"Remove all core patterns",id:"remove-all-core-patterns",level:3}];function d(e){const t={a:"a",code:"code",em:"em",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,r.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(t.p,{children:"Block Patterns are predefined block layouts, ready to insert and tweak."}),"\n",(0,n.jsxs)(t.p,{children:["You can check the ",(0,n.jsx)(t.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-patterns/",children:"WordPress documentation"})," on this subject."]}),"\n",(0,n.jsxs)(t.p,{children:["Patterns are (as we understand them) the same thing as block variations. The main difference is that you can provide full layouts with patterns, as described in ",(0,n.jsx)(t.a,{href:"blocks-variations#limitations",children:"this chapter"}),". You can also provide the full page layouts with our variations."]}),"\n",(0,n.jsx)(t.p,{children:"This means that the only differences between our variations and block patterns are:"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Variations"})}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"Variations provide data using our manifest.json file (the rest is handled using JavaScript)."}),"\n",(0,n.jsx)(t.li,{children:"Variations appear in the editor next to the static blocks."}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Patterns"})}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"Patterns are registered using PHP."}),"\n",(0,n.jsx)(t.li,{children:"Patterns appear in the editor inside the special tab for patterns."}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.em,{children:"We will soon provide WP-CLI command to automaticity create block patterns, boilerplate class, for you to use."})}),"\n",(0,n.jsx)(t.h3,{id:"remove-all-core-patterns",children:"Remove all core patterns"}),"\n",(0,n.jsx)(t.p,{children:"If you don't use core blocks, core patterns won't work. Don't confuse your users and remove them (but feel free to add new patterns based on your own custom blocks!)"}),"\n",(0,n.jsxs)(t.p,{children:["To remove all core patterns add this code to you ",(0,n.jsx)(t.code,{children:"src/Blocks/Blocks.php"})," class."]}),"\n",(0,n.jsx)(t.p,{children:"Filter goes in the register method:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"// Remove block patterns.\nadd_filter('block_editor_settings', [$this, 'removeCorePatterns']);\n"})}),"\n",(0,n.jsx)(t.p,{children:"Callback method:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"/**\n\t* Remove core block patterns\n\t*\n\t* @param array $settings Array of block editor settings to filter out.\n\t*\n\t* @return array Filtered array.\n\t*/\npublic function removeCorePatterns(array $settings): array\n{\n\t$settings['__experimentalBlockPatterns'] = [];\n\n\treturn $settings;\n}\n"})})]})}function h(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},11151:(e,t,s)=>{s.d(t,{Z:()=>i,a:()=>a});var n=s(67294);const r={},o=n.createContext(r);function a(e){const t=n.useContext(o);return n.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(r):e.components||r:a(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c38062b9.9eb89be6.js b/assets/js/c38062b9.9eb89be6.js deleted file mode 100644 index 53070da1f..000000000 --- a/assets/js/c38062b9.9eb89be6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[57971],{45017:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>a,default:()=>m,frontMatter:()=>o,metadata:()=>l,toc:()=>p});var r=n(85893),i=n(11151),s=n(8122);const o={id:"hubspot",title:"HubSpot"},a=void 0,l={id:"php/filters/integrations/hubspot",title:"HubSpot",description:"Files options filter",source:"@site/forms/php/filters/integrations/hubspot.mdx",sourceDirName:"php/filters/integrations",slug:"/php/filters/integrations/hubspot",permalink:"/forms/php/filters/integrations/hubspot",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"hubspot",title:"HubSpot"},sidebar:"forms",previous:{title:"Greenhouse",permalink:"/forms/php/filters/integrations/greenhouse"},next:{title:"Jira",permalink:"/forms/php/filters/integrations/jira"}},d={},p=[{value:"Files options filter",id:"files-options-filter",level:2}];function f(t){const e={a:"a",code:"code",h2:"h2",p:"p",pre:"pre",...(0,i.a)(),...t.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(e.h2,{id:"files-options-filter",children:"Files options filter"}),"\n",(0,r.jsxs)(e.p,{children:["Allows changing default file upload options set by Forms and Hubspot. For available options check the ",(0,r.jsx)(e.a,{href:"https://legacydocs.hubspot.com/docs/methods/files/v3/upload_new_file",children:"HubSpot API reference"}),"."]}),"\n",(0,r.jsx)(e.pre,{children:(0,r.jsx)(e.code,{className:"language-php",children:"\\add_filter('es_forms_integrations_hubspot_files_options', [$this, 'getFileUploadCustomOptions']);\n\n/**\n * Change Hubspot file upload options.\n *\n * Allows changing default file upload options set by Forms and Hubspot. For available options check the [HubSpot API reference](https://legacydocs.hubspot.com/docs/methods/files/v3/upload_new_file).\n *\n * @return array<mixed>\n */\npublic function getFileUploadCustomOptions(): array\n{\n\treturn [\n\t\t'folderPath' => '/esforms',\n\t\t'options' => \\wp_json_encode([\n\t\t\t\"access\" => \"PUBLIC_NOT_INDEXABLE\",\n\t\t\t\"overwrite\" => false,\n\t\t]),\n\t];\n}\n"})}),"\n",(0,r.jsx)(s.k,{name:"HubSpot",filter:"hubspot"})]})}function m(t={}){const{wrapper:e}={...(0,i.a)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(f,{...t})}):f(t)}},8122:(t,e,n)=>{n.d(e,{F:()=>a,k:()=>o});n(67294);var r=n(9286),i=n(61684),s=n(85893);function o(t){let{filter:e,onlyUse:n=["dataFilter","orderFilter","prePostIdFilter","prePostParamsFilter"]}=t;return(0,s.jsxs)(s.Fragment,{children:[n.includes("dataFilter")&&(0,s.jsx)(l,{filter:e}),n.includes("orderFilter")&&(0,s.jsx)(d,{filter:e}),n.includes("prePostIdFilter")&&(0,s.jsx)(p,{filter:e}),n.includes("prePostParamsFilter")&&(0,s.jsx)(f,{filter:e})]})}function a(t){let{filter:e}=t;return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("p",{children:"Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc."}),(0,s.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\tadd_filter('es_forms_block_"+e+"_additional_content', function(): string {\n\t\t\t\treturn '<custom-string>';\n\t\t\t})\n\t\t\t")})]})}function l(t){let{filter:e}=t;return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("h2",{children:"Data filter"}),(0,s.jsx)("p",{children:"Allows modifying form field data before it's shown in the Block Editor or output on the frontend."}),(0,s.jsx)("p",{children:"Useful if, for example, you want to ensure that all fields fit into a 2-column layout."}),(0,s.jsx)("p",{children:"Overrides any Block Editor changes!"}),(0,s.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\tadd_filter('es_forms_integrations_"+e+'_data\', \'getIntegrationFilterData\', 10, 2);\n\n\t\t\t/**\n\t\t\t * Manipulate form fields data before it is sent to the Block Editor.\n\t\t\t *\n\t\t\t * @param array<mixed> $data Form fields data.\n\t\t\t * @param string $formId Form ID.\n\t\t\t *\n\t\t\t * @return array<mixed>\n\t\t\t */\n\t\t\tfunction getIntegrationFilterData(array $data, string $formId): array\n\t\t\t{\n\t\t\t\tforeach ($data as $index => $field) {\n\t\t\t\t\t$component = $field[\'component\'] ?? \'\';\n\n\t\t\t\t\tif (!$component) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t$name = $field["{$component}Name"] ?? \'\';\n\n\t\t\t\t\tif (!$name) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch ($name) {\n\t\t\t\t\t\tcase \'firstname\':\n\t\t\t\t\t\tcase \'lastname\':\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthMobile"] = 12;\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthLarge"] = 6;\n\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"] = array_merge(\n\t\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthMobile",\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthLarge",\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t')})]})}function d(t){let{filter:e}=t;return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("h2",{children:"Order filter"}),(0,s.jsx)("p",{children:"Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor."}),(0,s.jsxs)("p",{children:["Not all fields need to have an order defined. For example, you may want to make sure ",(0,s.jsx)("code",{children:"firstname"}),", ",(0,s.jsx)("code",{children:"lastname"})," and ",(0,s.jsx)("code",{children:"email"})," are displayed first, but other fields follow their Block editor order."]}),(0,s.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_order', 'getIntegrationOrder');\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Forces form field order for the provided fields. For other fields, Block editor order is used.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationOrder(): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t'firstname',\n\t\t\t\t\t\t\t'lastname',\n\t\t\t\t\t\t\t'email',\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t")})]})}function p(t){let{filter:e}=t;return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("h2",{children:"Pre-post ID filter"}),(0,s.jsx)("p",{children:"Allows updating item IDs sent to external integrations to which the form data is sent."}),(0,s.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_pre_post_id', 'getIntegrationPrePostId', 10, 3);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies integration item ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @param string $itemId Integration item ID.\n\t\t\t\t\t * @param array<mixed> $params Params to be sent to the integration.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @return array<mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostId(string $itemId, array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn $itemId;\n\t\t\t\t\t}\n\t\t\t\t")})]})}function f(t){let{filter:e}=t,n="";if("mailer"===e)n="mailer system";else n="external integration";return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("h2",{children:"Pre-post parameters filter"}),(0,s.jsxs)("p",{children:["Allows modifying form field data before it's sent to ",n,". Useful if you want to make values derived from the sent data, or add new fields."]}),(0,s.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_pre_post_params', 'getIntegrationPrePostParams', 10, 2);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies form field data before it's sent to "+n+".\n\t\t\t\t\t *\n\t\t\t\t\t * @param array<string, mixed> $params Array of params.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string, mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostParams(array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\t$formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? '';\n\n\t\t\t\t\t\tif ($formSubmissionPageLt) {\n\t\t\t\t\t\t\t$params['ib-submission-source'] = [\n\t\t\t\t\t\t\t\t'name' => 'ib-submission-source',\n\t\t\t\t\t\t\t\t'value' => $formSubmissionPageLt,\n\t\t\t\t\t\t\t\t'type' => 'text',\n\t\t\t\t\t\t\t\t'internalType' => '',\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn $params;\n\t\t\t\t\t}\n\t\t\t\t")})]})}},61684:(t,e,n)=>{function r(t){const e=t.split(/\n/g);for(;0===(null==(n=e[0])?void 0:n.replace(/\s/g,"").length);){var n;e.shift()}for(;0===(null==(r=e[e.length-1])?void 0:r.replace(/\s/g,"").length);){var r;e.pop()}const i=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>{var e,n;return null!=(e=null==(n=t.match(/^\s*/))||null==(n=n[0])?void 0:n.length)?e:0})),s=Math.min(...i);return e.map((t=>t.slice(s))).join("\n")}n.d(e,{p:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/c38062b9.dec43f66.js b/assets/js/c38062b9.dec43f66.js new file mode 100644 index 000000000..2eaabe22e --- /dev/null +++ b/assets/js/c38062b9.dec43f66.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[9968],{3820:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>a,default:()=>c,frontMatter:()=>o,metadata:()=>l,toc:()=>f});var r=n(17624),i=n(4552),s=n(80148);const o={id:"hubspot",title:"HubSpot"},a=void 0,l={id:"php/filters/integrations/hubspot",title:"HubSpot",description:"Files options filter",source:"@site/forms/php/filters/integrations/hubspot.mdx",sourceDirName:"php/filters/integrations",slug:"/php/filters/integrations/hubspot",permalink:"/forms/php/filters/integrations/hubspot",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"hubspot",title:"HubSpot"},sidebar:"forms",previous:{title:"Greenhouse",permalink:"/forms/php/filters/integrations/greenhouse"},next:{title:"Jira",permalink:"/forms/php/filters/integrations/jira"}},d={},f=[{value:"Files options filter",id:"files-options-filter",level:2}];function p(t){const e={a:"a",code:"code",h2:"h2",p:"p",pre:"pre",...(0,i.M)(),...t.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(e.h2,{id:"files-options-filter",children:"Files options filter"}),"\n",(0,r.jsxs)(e.p,{children:["Allows changing default file upload options set by Forms and Hubspot. For available options check the ",(0,r.jsx)(e.a,{href:"https://legacydocs.hubspot.com/docs/methods/files/v3/upload_new_file",children:"HubSpot API reference"}),"."]}),"\n",(0,r.jsx)(e.pre,{children:(0,r.jsx)(e.code,{className:"language-php",children:"\\add_filter('es_forms_integrations_hubspot_files_options', [$this, 'getFileUploadCustomOptions']);\n\n/**\n * Change Hubspot file upload options.\n *\n * Allows changing default file upload options set by Forms and Hubspot. For available options check the [HubSpot API reference](https://legacydocs.hubspot.com/docs/methods/files/v3/upload_new_file).\n *\n * @return array<mixed>\n */\npublic function getFileUploadCustomOptions(): array\n{\n\treturn [\n\t\t'folderPath' => '/esforms',\n\t\t'options' => \\wp_json_encode([\n\t\t\t\"access\" => \"PUBLIC_NOT_INDEXABLE\",\n\t\t\t\"overwrite\" => false,\n\t\t]),\n\t];\n}\n"})}),"\n",(0,r.jsx)(s.y,{name:"HubSpot",filter:"hubspot"})]})}function c(t={}){const{wrapper:e}={...(0,i.M)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(p,{...t})}):p(t)}},80148:(t,e,n)=>{n.d(e,{g:()=>a,y:()=>o});n(11504);var r=n(1608),i=n(96616),s=n(17624);function o(t){let{filter:e,onlyUse:n=["dataFilter","orderFilter","prePostIdFilter","prePostParamsFilter"]}=t;return(0,s.jsxs)(s.Fragment,{children:[n.includes("dataFilter")&&(0,s.jsx)(l,{filter:e}),n.includes("orderFilter")&&(0,s.jsx)(d,{filter:e}),n.includes("prePostIdFilter")&&(0,s.jsx)(f,{filter:e}),n.includes("prePostParamsFilter")&&(0,s.jsx)(p,{filter:e})]})}function a(t){let{filter:e}=t;return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("p",{children:"Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc."}),(0,s.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\tadd_filter('es_forms_block_${e}_additional_content', function(): string {\n\t\t\t\treturn '<custom-string>';\n\t\t\t})\n\t\t\t`)})]})}function l(t){let{filter:e}=t;return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("h2",{children:"Data filter"}),(0,s.jsx)("p",{children:"Allows modifying form field data before it's shown in the Block Editor or output on the frontend."}),(0,s.jsx)("p",{children:"Useful if, for example, you want to ensure that all fields fit into a 2-column layout."}),(0,s.jsx)("p",{children:"Overrides any Block Editor changes!"}),(0,s.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\tadd_filter('es_forms_integrations_${e}_data', 'getIntegrationFilterData', 10, 2);\n\n\t\t\t/**\n\t\t\t * Manipulate form fields data before it is sent to the Block Editor.\n\t\t\t *\n\t\t\t * @param array<mixed> $data Form fields data.\n\t\t\t * @param string $formId Form ID.\n\t\t\t *\n\t\t\t * @return array<mixed>\n\t\t\t */\n\t\t\tfunction getIntegrationFilterData(array $data, string $formId): array\n\t\t\t{\n\t\t\t\tforeach ($data as $index => $field) {\n\t\t\t\t\t$component = $field['component'] ?? '';\n\n\t\t\t\t\tif (!$component) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t$name = $field["{$component}Name"] ?? '';\n\n\t\t\t\t\tif (!$name) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch ($name) {\n\t\t\t\t\t\tcase 'firstname':\n\t\t\t\t\t\tcase 'lastname':\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthMobile"] = 12;\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthLarge"] = 6;\n\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"] = array_merge(\n\t\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthMobile",\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthLarge",\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t`)})]})}function d(t){let{filter:e}=t;return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("h2",{children:"Order filter"}),(0,s.jsx)("p",{children:"Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor."}),(0,s.jsxs)("p",{children:["Not all fields need to have an order defined. For example, you may want to make sure ",(0,s.jsx)("code",{children:"firstname"}),", ",(0,s.jsx)("code",{children:"lastname"})," and ",(0,s.jsx)("code",{children:"email"})," are displayed first, but other fields follow their Block editor order."]}),(0,s.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_order', 'getIntegrationOrder');\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Forces form field order for the provided fields. For other fields, Block editor order is used.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationOrder(): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t'firstname',\n\t\t\t\t\t\t\t'lastname',\n\t\t\t\t\t\t\t'email',\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t`)})]})}function f(t){let{filter:e}=t;return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("h2",{children:"Pre-post ID filter"}),(0,s.jsx)("p",{children:"Allows updating item IDs sent to external integrations to which the form data is sent."}),(0,s.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_pre_post_id', 'getIntegrationPrePostId', 10, 3);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies integration item ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @param string $itemId Integration item ID.\n\t\t\t\t\t * @param array<mixed> $params Params to be sent to the integration.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @return array<mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostId(string $itemId, array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn $itemId;\n\t\t\t\t\t}\n\t\t\t\t`)})]})}function p(t){let{filter:e}=t,n="";if("mailer"===e)n="mailer system";else n="external integration";return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("h2",{children:"Pre-post parameters filter"}),(0,s.jsxs)("p",{children:["Allows modifying form field data before it's sent to ",n,". Useful if you want to make values derived from the sent data, or add new fields."]}),(0,s.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_pre_post_params', 'getIntegrationPrePostParams', 10, 2);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies form field data before it's sent to ${n}.\n\t\t\t\t\t *\n\t\t\t\t\t * @param array<string, mixed> $params Array of params.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string, mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostParams(array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\t$formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? '';\n\n\t\t\t\t\t\tif ($formSubmissionPageLt) {\n\t\t\t\t\t\t\t$params['ib-submission-source'] = [\n\t\t\t\t\t\t\t\t'name' => 'ib-submission-source',\n\t\t\t\t\t\t\t\t'value' => $formSubmissionPageLt,\n\t\t\t\t\t\t\t\t'type' => 'text',\n\t\t\t\t\t\t\t\t'internalType' => '',\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn $params;\n\t\t\t\t\t}\n\t\t\t\t`)})]})}},96616:(t,e,n)=>{function r(t){const e=t.split(/\n/g);for(;0===e[0]?.replace(/\s/g,"").length;)e.shift();for(;0===e[e.length-1]?.replace(/\s/g,"").length;)e.pop();const n=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>t.match(/^\s*/)?.[0]?.length??0)),r=Math.min(...n);return e.map((t=>t.slice(r))).join("\n")}n.d(e,{c:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/c38fd7bd.34633438.js b/assets/js/c38fd7bd.34633438.js new file mode 100644 index 000000000..704a223a9 --- /dev/null +++ b/assets/js/c38fd7bd.34633438.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[61542],{39468:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>r,toc:()=>d});var n=i(17624),s=i(4552);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.M)(),...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(63962).c+"",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(79832).c+"",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.M)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},63962:(e,t,i)=>{i.d(t,{c:()=>n});const n=i.p+"assets/images/acf-generate-php-b848d0dc2aa8a12145e0ae6d3797d9a9.webp"},79832:(e,t,i)=>{i.d(t,{c:()=>n});const n=i.p+"assets/images/acf-theme-options-860205bc633280803c2236331b83b8be.webp"},4552:(e,t,i)=>{i.d(t,{I:()=>r,M:()=>a});var n=i(11504);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/c38fd7bd.d95ef8f6.js b/assets/js/c38fd7bd.d95ef8f6.js deleted file mode 100644 index 7ceb172aa..000000000 --- a/assets/js/c38fd7bd.d95ef8f6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[12080],{10381:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>r,toc:()=>d});var n=i(85893),s=i(11151);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.a)(),...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(15484).Z+"",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(52284).Z+"",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.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},15484:(e,t,i)=>{i.d(t,{Z:()=>n});const n=i.p+"assets/images/acf-generate-php-b848d0dc2aa8a12145e0ae6d3797d9a9.webp"},52284:(e,t,i)=>{i.d(t,{Z:()=>n});const n=i.p+"assets/images/acf-theme-options-860205bc633280803c2236331b83b8be.webp"},11151:(e,t,i)=>{i.d(t,{Z:()=>r,a:()=>a});var n=i(67294);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/c4f5d8e4.02ad68f5.js b/assets/js/c4f5d8e4.02ad68f5.js deleted file mode 100644 index 9ecc99425..000000000 --- a/assets/js/c4f5d8e4.02ad68f5.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[64195],{62841:(t,e,i)=>{i.r(e),i.d(e,{default:()=>c});i(67294);var o=i(52263),s=i(44996),n=i(22189),r=i(38970),l=i(61262),a=i(3074),u=i(85893);function c(){const t=(0,o.Z)(),{siteConfig:e={}}=t;return(0,u.jsxs)(n.Z,{title:e.title,description:e.tagline,keywords:e.customFields.keywords,metaImage:(0,s.Z)("img/"+e.customFields.image),wrapperClassName:"es-footer-white",children:[(0,u.jsx)(r.VM,{title:"Eightshift Development Kit",subtitle:"All the tools you need to start building a modern WordPress project, using all the latest front end development tools.",buttonLabel:"Get started",buttonUrl:"#get-started",imageUrl:"/img/homepage/w-logo.svg",gray:!0}),(0,u.jsxs)(r.A9,{title:"A WordPress boilerplate from the future",imageUrl:"/img/homepage/block-cards.svg",gray:!0,children:["Eightshift Development kit makes building complex WordPress themes and plugins painless.",(0,u.jsx)("br",{})," ",(0,u.jsx)("br",{}),"Use and extend our block and component collection to build out dynamic Gutenberg blocks. Extract commonly-used UI elements into reusable components. Forget about block registration and save callbacks. Build a REST route in minutes.",(0,u.jsx)("br",{})," ",(0,u.jsx)("br",{}),"You'll never want to go back!"]}),(0,u.jsx)("div",{id:"get-started",children:(0,u.jsx)(r.kc,{title:"Get started in minutes, not hours",subtitle:"Boilerplate your project in a few simple steps. Get instructions for setting up an Eightshift DevKit theme or plugin, run a command (or two) and start coding. It's that easy!",cards:[{icon:r.ci.frontendDevelopment,text:"I want a new WordPress theme",buttonLabel:"New theme",buttonUrl:"/docs/theme"},{icon:r.ci.puzzleOpenJob,text:"I want a new WordPress plugin",buttonLabel:"New plugin",buttonUrl:"/docs/plugin"}]})}),(0,u.jsx)(r.PZ,{title:"Batteries included",subtitle:"The DevKit is feature-packed, with a bunch of cool things making the lives of developers and end-users easier!",cards:[{title:"Custom Block Editor blocks",subtitle:"Build a dynamic block faster than you can say Gutenberg. With automatic block registration and top-notch attribute handling, you'll be shipping blocks in record time."},{title:"Sustainable, like code should be",subtitle:"All our code follows battle-tested programming practices. OOP? Check. Unit tests? Double-check. Code doc blocks, linters for coding standards and great documentation? Triple-check."},{title:"Eightshift Libs",subtitle:"Library aimed at bringing the modern development tools to your project."},{title:"WP Boilerplate",subtitle:"Include features you need, and leave out the ones you don't using our powerful WP-CLI tooling."},{title:"As responsive as it can get",subtitle:"Declare breakpoints once, use them everywhere \u2014 from media queries to blocks. Override any attribute value for particular breakpoints without breaking a sweat. Need to tweak that width for tablets? Done."},{title:"A build process to love",subtitle:"Eightshift Development kit comes with Webpack pre-configured, so you can start building your JavaScript and CSS assets from the start. Vendor prefixes? Polyfills? SCSS compilation? Asset minification? All taken care of!"},{title:"First-class CSS variables",subtitle:"Forget about conditional classnames: build out CSS variables from attribute values and scope them to a particular block with almost no code."},{title:"Cache busting",subtitle:"Each time you build assets, we generate a new URL for each asset file. This means you'll never see the old cached version while developing or after pushing your code to production."},{title:"OOP: The good way to write PHP code",subtitle:"Object-oriented programming is at the core of Eightshift Development kit, making your projects cleaner and allowing you to extend and replace functionality."},{title:"Eightshift Frontend Libs",subtitle:"A collection of useful front-end utility modules and all the tools you need to start building modern Block Editor dynamic blocks."}]}),(0,u.jsx)(r.F5,{title:"An editing experience content editors will love",text:"Provide the ease of use and flexibility that your content editors crave for. Rely on our user-friendly default blocks or use plug&play editor components to build great experiences.",imageUrl:"/img/homepage/block-editor.webp",gray:!0}),(0,u.jsx)(l.D,{}),(0,u.jsx)(a.d,{})]})}},3074:(t,e,i)=>{i.d(e,{d:()=>n});i(67294);var o=i(38970),s=i(85893);const n=t=>(0,s.jsx)(o.xq,{...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"})},61262:(t,e,i)=>{i.d(e,{D:()=>n});i(67294);var o=i(38970),s=i(85893);const n=t=>(0,s.jsx)(o.vm,{...t,title:"Start exploring",osProjectIcons:!0,cards:[{icon:o.pW.boilerplate,text:"Eightshift Boilerplate",url:"https://github.com/infinum/eightshift-boilerplate"},{icon:o.pW.boilerplate,text:"Eightshift Boilerplate Plugin",url:"https://github.com/infinum/eightshift-boilerplate-plugin"},{icon:o.pW.eightshiftLibs1,text:"Eightshift Libs",url:"https://github.com/infinum/eightshift-libs"},{icon:o.pW.eightshiftFrontendLibs,text:"Eightshift Frontend Libs",url:"https://github.com/infinum/eightshift-frontend-libs"},{icon:o.pW.eightshiftForms,text:"Eightshift Forms",url:"https://github.com/infinum/eightshift-forms"},{icon:o.pW.eightshiftDocs,text:"Eightshift Docs",url:"https://github.com/infinum/eightshift-docs"},{icon:o.pW.storybook,text:"Eightshift Storybook",url:"https://github.com/infinum/eightshift-storybook"},{icon:o.pW.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/c4f5d8e4.37871e62.js b/assets/js/c4f5d8e4.37871e62.js new file mode 100644 index 000000000..24cbee6c4 --- /dev/null +++ b/assets/js/c4f5d8e4.37871e62.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[62632],{91936:(t,e,i)=>{i.r(e),i.d(e,{default:()=>c});i(11504);var o=i(28264),s=i(70964),n=i(520),r=i(50236),l=i(69200),a=i(3965),u=i(17624);function c(){const t=(0,o.c)(),{siteConfig:e={}}=t;return(0,u.jsxs)(n.c,{title:e.title,description:e.tagline,keywords:e.customFields.keywords,metaImage:(0,s.c)(`img/${e.customFields.image}`),wrapperClassName:"es-footer-white",children:[(0,u.jsx)(r.Ax,{title:"Eightshift Development Kit",subtitle:"All the tools you need to start building a modern WordPress project, using all the latest front end development tools.",buttonLabel:"Get started",buttonUrl:"#get-started",imageUrl:"/img/homepage/w-logo.svg",gray:!0}),(0,u.jsxs)(r.W4,{title:"A WordPress boilerplate from the future",imageUrl:"/img/homepage/block-cards.svg",gray:!0,children:["Eightshift Development kit makes building complex WordPress themes and plugins painless.",(0,u.jsx)("br",{})," ",(0,u.jsx)("br",{}),"Use and extend our block and component collection to build out dynamic Gutenberg blocks. Extract commonly-used UI elements into reusable components. Forget about block registration and save callbacks. Build a REST route in minutes.",(0,u.jsx)("br",{})," ",(0,u.jsx)("br",{}),"You'll never want to go back!"]}),(0,u.jsx)("div",{id:"get-started",children:(0,u.jsx)(r.SO,{title:"Get started in minutes, not hours",subtitle:"Boilerplate your project in a few simple steps. Get instructions for setting up an Eightshift DevKit theme or plugin, run a command (or two) and start coding. It's that easy!",cards:[{icon:r.Pt.frontendDevelopment,text:"I want a new WordPress theme",buttonLabel:"New theme",buttonUrl:"/docs/theme"},{icon:r.Pt.puzzleOpenJob,text:"I want a new WordPress plugin",buttonLabel:"New plugin",buttonUrl:"/docs/plugin"}]})}),(0,u.jsx)(r.ei,{title:"Batteries included",subtitle:"The DevKit is feature-packed, with a bunch of cool things making the lives of developers and end-users easier!",cards:[{title:"Custom Block Editor blocks",subtitle:"Build a dynamic block faster than you can say Gutenberg. With automatic block registration and top-notch attribute handling, you'll be shipping blocks in record time."},{title:"Sustainable, like code should be",subtitle:"All our code follows battle-tested programming practices. OOP? Check. Unit tests? Double-check. Code doc blocks, linters for coding standards and great documentation? Triple-check."},{title:"Eightshift Libs",subtitle:"Library aimed at bringing the modern development tools to your project."},{title:"WP Boilerplate",subtitle:"Include features you need, and leave out the ones you don't using our powerful WP-CLI tooling."},{title:"As responsive as it can get",subtitle:"Declare breakpoints once, use them everywhere \u2014 from media queries to blocks. Override any attribute value for particular breakpoints without breaking a sweat. Need to tweak that width for tablets? Done."},{title:"A build process to love",subtitle:"Eightshift Development kit comes with Webpack pre-configured, so you can start building your JavaScript and CSS assets from the start. Vendor prefixes? Polyfills? SCSS compilation? Asset minification? All taken care of!"},{title:"First-class CSS variables",subtitle:"Forget about conditional classnames: build out CSS variables from attribute values and scope them to a particular block with almost no code."},{title:"Cache busting",subtitle:"Each time you build assets, we generate a new URL for each asset file. This means you'll never see the old cached version while developing or after pushing your code to production."},{title:"OOP: The good way to write PHP code",subtitle:"Object-oriented programming is at the core of Eightshift Development kit, making your projects cleaner and allowing you to extend and replace functionality."},{title:"Eightshift Frontend Libs",subtitle:"A collection of useful front-end utility modules and all the tools you need to start building modern Block Editor dynamic blocks."}]}),(0,u.jsx)(r.Yv,{title:"An editing experience content editors will love",text:"Provide the ease of use and flexibility that your content editors crave for. Rely on our user-friendly default blocks or use plug&play editor components to build great experiences.",imageUrl:"/img/homepage/block-editor.webp",gray:!0}),(0,u.jsx)(l.m,{}),(0,u.jsx)(a.u,{})]})}},3965:(t,e,i)=>{i.d(e,{u:()=>n});i(11504);var o=i(50236),s=i(17624);const n=t=>(0,s.jsx)(o.cz,{...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"})},69200:(t,e,i)=>{i.d(e,{m:()=>n});i(11504);var o=i(50236),s=i(17624);const n=t=>(0,s.jsx)(o.of,{...t,title:"Start exploring",osProjectIcons:!0,cards:[{icon:o.YR.boilerplate,text:"Eightshift Boilerplate",url:"https://github.com/infinum/eightshift-boilerplate"},{icon:o.YR.boilerplate,text:"Eightshift Boilerplate Plugin",url:"https://github.com/infinum/eightshift-boilerplate-plugin"},{icon:o.YR.eightshiftLibs1,text:"Eightshift Libs",url:"https://github.com/infinum/eightshift-libs"},{icon:o.YR.eightshiftFrontendLibs,text:"Eightshift Frontend Libs",url:"https://github.com/infinum/eightshift-frontend-libs"},{icon:o.YR.eightshiftForms,text:"Eightshift Forms",url:"https://github.com/infinum/eightshift-forms"},{icon:o.YR.eightshiftDocs,text:"Eightshift Docs",url:"https://github.com/infinum/eightshift-docs"},{icon:o.YR.storybook,text:"Eightshift Storybook",url:"https://github.com/infinum/eightshift-storybook"},{icon:o.YR.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/c55525a9.21d4deab.js b/assets/js/c55525a9.21d4deab.js new file mode 100644 index 000000000..d752bf0b5 --- /dev/null +++ b/assets/js/c55525a9.21d4deab.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[51296],{47900:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>o,contentTitle:()=>a,default:()=>p,frontMatter:()=>r,metadata:()=>l,toc:()=>c});var s=n(17624),i=n(4552);const r={id:"rest-field-example",title:"Field Example"},a=void 0,l={id:"legacy/v4/guides/rest-field-example",title:"Field Example",description:"docs-source",source:"@site/docs/legacy/v4/guides/rest-field-example.md",sourceDirName:"legacy/v4/guides",slug:"/legacy/v4/guides/rest-field-example",permalink:"/docs/legacy/v4/guides/rest-field-example",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"rest-field-example",title:"Field Example"},sidebar:"docs",previous:{title:"Rest Intro",permalink:"/docs/legacy/v4/guides/rest-intro"},next:{title:"Route Example",permalink:"/docs/legacy/v4/guides/rest-route-example"}},o={},c=[{value:"Example:",id:"example",level:2},{value:"Test in action",id:"test-in-action",level:3}];function d(e){const t={a:"a",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",...(0,i.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/master/src/rest",children:(0,s.jsx)(t.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsxs)(t.p,{children:["REST Field class is located in ",(0,s.jsx)(t.code,{children:"Eightshift Libs"}),". To extend it, use ",(0,s.jsx)(t.code,{children:"use Eightshift_Libs\\Rest\\Base_Field"})," class. This is an abstract class."]}),"\n",(0,s.jsx)(t.h2,{id:"example",children:"Example:"}),"\n",(0,s.jsx)(t.p,{children:"To create custom REST Field:"}),"\n",(0,s.jsxs)(t.ol,{children:["\n",(0,s.jsxs)(t.li,{children:["make a new class ",(0,s.jsx)(t.code,{children:"src/rest-routes/fields/class-example-field.php"}),"."]}),"\n",(0,s.jsx)(t.li,{children:"implement all the methods provided in the example."}),"\n",(0,s.jsxs)(t.li,{children:["register the class inside the ",(0,s.jsx)(t.code,{children:"class-main.php"})," file."]}),"\n",(0,s.jsx)(t.li,{children:"dump autoload."}),"\n"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"<?php\n/**\n * The class register field for example endpoint\n *\n * @since 1.0.0\n * @package Eightshift_Boilerplate\\Rest_Routes\\Fields\n */\n\n declare( strict_types=1 );\n\nnamespace Eightshift_Boilerplate\\Rest_Routes\\Fields;\n\nuse Eightshift_Libs\\Rest\\Base_Field;\nuse Eightshift_Libs\\Rest\\Callable_Field;\n\n/**\n * Class Register Field\n */\nclass Example_Field extends Base_Field implements Callable_Field {\n\n /**\n * Method that returns field object type.\n * Object(s) the field is being registered to, \"post\"|\"term\"|\"comment\" etc.\n *\n * @return string|array\n *\n * @since 2.0.0 Added in the project\n */\n protected function get_object_type() : string {\n return 'post';\n }\n\n /**\n * Get the name of the field you want to register or override.\n *\n * @return string The attribute name.\n *\n * @since 2.0.0 Added in the project\n */\n protected function get_field_name() : string {\n return 'example-field-name';\n }\n\n /**\n * Get callback arguments array\n *\n * @return array Either an array of options for the endpoint, or an array of arrays for multiple methods.\n *\n * @since 2.0.0 Added in the project\n */\n protected function get_callback_arguments() : array {\n return [\n 'get_callback' => [ $this, 'field_callback' ],\n ];\n }\n\n /**\n * Method that returns rest response\n *\n * @param object|array $object Post or custom post type object of the request.\n * @param string $attr Rest field/attr string identifier from the second parameter of your register_rest_field() declaration.\n * @param object $request Full request payload \u2013 as a WP_REST_Request object.\n * @param string $object_type The object type which the field is registered against. Typically first parameter of your register_rest_field() declaration.\n *\n * @return mixed If response generated an error, WP_Error, if response\n * is already an instance, WP_HTTP_Response, otherwise\n * returns a new WP_REST_Response instance.\n *\n * @since 0.8.0 Removing type hinting void for php 7.0.\n * @since 0.2.0 Removed type hinting from first argument because it can be object|array.\n * @since 0.1.0\n */\n public function field_callback( $object, string $attr, $request, string $object_type ) : string {\n return \\rest_ensure_response( 'output data' );\n }\n}\n\n"})}),"\n",(0,s.jsx)(t.h3,{id:"test-in-action",children:"Test in action"}),"\n",(0,s.jsx)(t.p,{children:"To test it in action for default boilerplate the link would be:"}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.code,{children:"domain.ext/wp-json/eightshift-boilerplate/v2/posts"}),"."]}),"\n",(0,s.jsx)(t.p,{children:"This link will be different based on your project implementation."})]})}function p(e={}){const{wrapper:t}={...(0,i.M)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},4552:(e,t,n)=>{n.d(t,{I:()=>l,M:()=>a});var s=n(11504);const i={},r=s.createContext(i);function a(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(i):e.components||i:a(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c55525a9.7679ae4b.js b/assets/js/c55525a9.7679ae4b.js deleted file mode 100644 index 3c2e42d54..000000000 --- a/assets/js/c55525a9.7679ae4b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[84279],{67278:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>o,contentTitle:()=>a,default:()=>p,frontMatter:()=>r,metadata:()=>l,toc:()=>c});var s=n(85893),i=n(11151);const r={id:"rest-field-example",title:"Field Example"},a=void 0,l={id:"legacy/v4/guides/rest-field-example",title:"Field Example",description:"docs-source",source:"@site/docs/legacy/v4/guides/rest-field-example.md",sourceDirName:"legacy/v4/guides",slug:"/legacy/v4/guides/rest-field-example",permalink:"/docs/legacy/v4/guides/rest-field-example",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"rest-field-example",title:"Field Example"},sidebar:"docs",previous:{title:"Rest Intro",permalink:"/docs/legacy/v4/guides/rest-intro"},next:{title:"Route Example",permalink:"/docs/legacy/v4/guides/rest-route-example"}},o={},c=[{value:"Example:",id:"example",level:2},{value:"Test in action",id:"test-in-action",level:3}];function d(e){const t={a:"a",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/master/src/rest",children:(0,s.jsx)(t.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsxs)(t.p,{children:["REST Field class is located in ",(0,s.jsx)(t.code,{children:"Eightshift Libs"}),". To extend it, use ",(0,s.jsx)(t.code,{children:"use Eightshift_Libs\\Rest\\Base_Field"})," class. This is an abstract class."]}),"\n",(0,s.jsx)(t.h2,{id:"example",children:"Example:"}),"\n",(0,s.jsx)(t.p,{children:"To create custom REST Field:"}),"\n",(0,s.jsxs)(t.ol,{children:["\n",(0,s.jsxs)(t.li,{children:["make a new class ",(0,s.jsx)(t.code,{children:"src/rest-routes/fields/class-example-field.php"}),"."]}),"\n",(0,s.jsx)(t.li,{children:"implement all the methods provided in the example."}),"\n",(0,s.jsxs)(t.li,{children:["register the class inside the ",(0,s.jsx)(t.code,{children:"class-main.php"})," file."]}),"\n",(0,s.jsx)(t.li,{children:"dump autoload."}),"\n"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"<?php\n/**\n * The class register field for example endpoint\n *\n * @since 1.0.0\n * @package Eightshift_Boilerplate\\Rest_Routes\\Fields\n */\n\n declare( strict_types=1 );\n\nnamespace Eightshift_Boilerplate\\Rest_Routes\\Fields;\n\nuse Eightshift_Libs\\Rest\\Base_Field;\nuse Eightshift_Libs\\Rest\\Callable_Field;\n\n/**\n * Class Register Field\n */\nclass Example_Field extends Base_Field implements Callable_Field {\n\n /**\n * Method that returns field object type.\n * Object(s) the field is being registered to, \"post\"|\"term\"|\"comment\" etc.\n *\n * @return string|array\n *\n * @since 2.0.0 Added in the project\n */\n protected function get_object_type() : string {\n return 'post';\n }\n\n /**\n * Get the name of the field you want to register or override.\n *\n * @return string The attribute name.\n *\n * @since 2.0.0 Added in the project\n */\n protected function get_field_name() : string {\n return 'example-field-name';\n }\n\n /**\n * Get callback arguments array\n *\n * @return array Either an array of options for the endpoint, or an array of arrays for multiple methods.\n *\n * @since 2.0.0 Added in the project\n */\n protected function get_callback_arguments() : array {\n return [\n 'get_callback' => [ $this, 'field_callback' ],\n ];\n }\n\n /**\n * Method that returns rest response\n *\n * @param object|array $object Post or custom post type object of the request.\n * @param string $attr Rest field/attr string identifier from the second parameter of your register_rest_field() declaration.\n * @param object $request Full request payload \u2013 as a WP_REST_Request object.\n * @param string $object_type The object type which the field is registered against. Typically first parameter of your register_rest_field() declaration.\n *\n * @return mixed If response generated an error, WP_Error, if response\n * is already an instance, WP_HTTP_Response, otherwise\n * returns a new WP_REST_Response instance.\n *\n * @since 0.8.0 Removing type hinting void for php 7.0.\n * @since 0.2.0 Removed type hinting from first argument because it can be object|array.\n * @since 0.1.0\n */\n public function field_callback( $object, string $attr, $request, string $object_type ) : string {\n return \\rest_ensure_response( 'output data' );\n }\n}\n\n"})}),"\n",(0,s.jsx)(t.h3,{id:"test-in-action",children:"Test in action"}),"\n",(0,s.jsx)(t.p,{children:"To test it in action for default boilerplate the link would be:"}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.code,{children:"domain.ext/wp-json/eightshift-boilerplate/v2/posts"}),"."]}),"\n",(0,s.jsx)(t.p,{children:"This link will be different based on your project implementation."})]})}function p(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},11151:(e,t,n)=>{n.d(t,{Z:()=>l,a:()=>a});var s=n(67294);const i={},r=s.createContext(i);function a(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(i):e.components||i:a(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c62d4947.132e7071.js b/assets/js/c62d4947.132e7071.js deleted file mode 100644 index c5db1728d..000000000 --- a/assets/js/c62d4947.132e7071.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[40089],{44190:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>i,metadata:()=>a,toc:()=>l});var n=s(85893),o=s(11151);const i={id:"fonts",title:"Fonts"},r=void 0,a={id:"basics/fonts",title:"Fonts",description:"docs-source",source:"@site/docs/basics/fonts.md",sourceDirName:"basics",slug:"/basics/fonts",permalink:"/docs/basics/fonts",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"fonts",title:"Fonts"},sidebar:"docs",previous:{title:"Writing Styles",permalink:"/docs/basics/writing-styles"},next:{title:"Browsersync",permalink:"/docs/basics/browser-sync"}},c={},l=[];function d(e){const t={a:"a",code:"code",img:"img",li:"li",p:"p",ul:"ul",...(0,o.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(t.p,{children:"Fonts can be added to your project in multiple ways, depending on your project's needs. In general, if you can use fonts from an external source like Google Fonts, use that approach because the fonts are loaded smartly. On the other hand, if you have fonts that are added to your project, below are the steps to follow to make them available in the project."}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["Put your font files in this folder: ",(0,n.jsx)(t.code,{children:"assets/fonts"}),"."]}),"\n",(0,n.jsxs)(t.li,{children:["Import each file in the ",(0,n.jsx)(t.code,{children:"assets/fonts/index.js"})," so that Webpack knows how to process these files in its build process."]}),"\n",(0,n.jsxs)(t.li,{children:["In your project, load the font family using font-face ",(0,n.jsx)(t.a,{href:"/sass",children:"method"}),". We recommend that you create a new file ",(0,n.jsx)(t.code,{children:"assets/styles/parts/utils/_defaults.scss"})," and put everything in that file."]}),"\n"]}),"\n",(0,n.jsxs)(t.p,{children:["You can read ",(0,n.jsx)(t.a,{href:"/blog/adding-fonts",children:"Igor's blog post about adding fonts to your project"}),"."]})]})}function h(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},11151:(e,t,s)=>{s.d(t,{Z:()=>a,a:()=>r});var n=s(67294);const o={},i=n.createContext(o);function r(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(o):e.components||o:r(e.components),n.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c62d4947.ce0855fd.js b/assets/js/c62d4947.ce0855fd.js new file mode 100644 index 000000000..2670f7562 --- /dev/null +++ b/assets/js/c62d4947.ce0855fd.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[70012],{81904:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>i,metadata:()=>c,toc:()=>l});var o=s(17624),n=s(4552);const i={id:"fonts",title:"Fonts"},r=void 0,c={id:"basics/fonts",title:"Fonts",description:"docs-source",source:"@site/docs/basics/fonts.md",sourceDirName:"basics",slug:"/basics/fonts",permalink:"/docs/basics/fonts",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"fonts",title:"Fonts"},sidebar:"docs",previous:{title:"Writing Styles",permalink:"/docs/basics/writing-styles"},next:{title:"Browsersync",permalink:"/docs/basics/browser-sync"}},a={},l=[];function d(e){const t={a:"a",code:"code",img:"img",li:"li",p:"p",ul:"ul",...(0,n.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs",children:(0,o.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(t.p,{children:"Fonts can be added to your project in multiple ways, depending on your project's needs. In general, if you can use fonts from an external source like Google Fonts, use that approach because the fonts are loaded smartly. On the other hand, if you have fonts that are added to your project, below are the steps to follow to make them available in the project."}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:["Put your font files in this folder: ",(0,o.jsx)(t.code,{children:"assets/fonts"}),"."]}),"\n",(0,o.jsxs)(t.li,{children:["Import each file in the ",(0,o.jsx)(t.code,{children:"assets/fonts/index.js"})," so that Webpack knows how to process these files in its build process."]}),"\n",(0,o.jsxs)(t.li,{children:["In your project, load the font family using font-face ",(0,o.jsx)(t.a,{href:"/docs/basics/library",children:"method"}),". We recommend that you create a new file ",(0,o.jsx)(t.code,{children:"assets/styles/parts/utils/_defaults.scss"})," and put everything in that file."]}),"\n"]}),"\n",(0,o.jsxs)(t.p,{children:["You can read ",(0,o.jsx)(t.a,{href:"/blog/adding-fonts",children:"Igor's blog post about adding fonts to your project"}),"."]})]})}function h(e={}){const{wrapper:t}={...(0,n.M)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},4552:(e,t,s)=>{s.d(t,{I:()=>c,M:()=>r});var o=s(11504);const n={},i=o.createContext(n);function r(e){const t=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),o.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c661d3f1.dc540f16.js b/assets/js/c661d3f1.dc540f16.js deleted file mode 100644 index 41c0122bf..000000000 --- a/assets/js/c661d3f1.dc540f16.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[18639],{71755:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>i,metadata:()=>l,toc:()=>c});var o=s(85893),t=s(11151);const i={id:"block-manifest",title:"Block Manifest"},r=void 0,l={id:"basics/block-manifest",title:"Block Manifest",description:"docs-source",source:"@site/docs/basics/block-manifest.md",sourceDirName:"basics",slug:"/basics/block-manifest",permalink:"/docs/basics/block-manifest",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"block-manifest",title:"Block Manifest"},sidebar:"docs",previous:{title:"Component Structure",permalink:"/docs/basics/blocks-component-structure"},next:{title:"Component Manifest",permalink:"/docs/basics/blocks-component-manifest"}},a={},c=[{value:"Example",id:"example",level:3},{value:"namespace",id:"namespace",level:3},{value:"icon.background & icon.foreground",id:"iconbackground--iconforeground",level:3},{value:"example",id:"example-1",level:3},{value:"attributes",id:"attributes",level:3},{value:"hasInnerBlocks",id:"hasinnerblocks",level:3},{value:"components",id:"components",level:3},{value:"responsiveAttributes",id:"responsiveattributes",level:3},{value:"variables",id:"variables",level:3},{value:"options",id:"options",level:3},{value:"The power of manifest.json",id:"the-power-of-manifestjson",level:2}];function d(e){const n={a:"a",admonition:"admonition",code:"code",em:"em",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,o.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsxs)(n.p,{children:["This file contains all the configuration required for a block to work. It's used in WordPress ",(0,o.jsx)(n.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-registration/",children:(0,o.jsx)(n.code,{children:"registerBlockType"})})," method to register a block. Using ",(0,o.jsx)(n.code,{children:"manifest.json"}),", we can provide a configuration in JavaScript and PHP part of the block in one file."]}),"\n",(0,o.jsx)(n.h3,{id:"example",children:"Example"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n "namespace": "custom-namespace",\n "blockName": "heading",\n "title": "Heading",\n "description": "Heading block with custom settings.",\n "category": "common",\n "icon": {\n "background": "#900",\n "foreground": "#500",\n "src": "heading"\n },\n "keywords": [\n "Header",\n "Title"\n ],\n "example": {\n "attributes": {\n "content": "New content",\n "level": 2\n }\n },\n "attributes": {\n "content": {\n "type": "string"\n },\n "level": {\n "type": "integer",\n "default": 2\n }\n },\n "hasInnerBlocks": false,\n "components": {},\n "responsiveAttributes": {},\n "variables": {},\n "options": {}\n}\n'})}),"\n",(0,o.jsxs)(n.p,{children:["Most of the keys are the same as in the ",(0,o.jsx)(n.a,{href:"https://developer.wordpress.org/block-editor/reference-guides/block-api/block-metadata/",children:"block.json metadata"}),". If you can't find the description here, please check the ",(0,o.jsx)(n.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-registration/",children:"official documentation"}),". We also have some custom features here, not present in the ",(0,o.jsx)(n.code,{children:"block.json"})," file:"]}),"\n",(0,o.jsx)(n.h3,{id:"namespace",children:"namespace"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"custom feature"})}),"\n",(0,o.jsx)(n.p,{children:"The block's namespace is set globally in the global manifest for all your custom blocks, but you can override them on each block if you need to."}),"\n",(0,o.jsx)(n.h3,{id:"iconbackground--iconforeground",children:"icon.background & icon.foreground"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"native feature"})}),"\n",(0,o.jsx)(n.p,{children:"The icon background and foreground is set globally in the global manifest for all your custom blocks, but you can override them on each block if you need to."}),"\n",(0,o.jsx)(n.h3,{id:"example-1",children:"example"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"native feature"})}),"\n",(0,o.jsxs)(n.p,{children:["This key provides you the ability to give an example mockup of your attributes. When you try to add a block to the editor using the button in the main toolbar, you will have a preview image on the right. The image generated here will actually be a rendered block with the attributes from the example key. We also use it in the storybook to mock attributes. More on this in the ",(0,o.jsx)(n.a,{href:"blocks-storybook",children:"storybook chapter"}),"."]}),"\n",(0,o.jsx)(n.h3,{id:"attributes",children:"attributes"}),"\n",(0,o.jsxs)(n.p,{children:["Attributes key is an object of attributes where you define and set up default values for a block. These attributes are then passed in the editor as props, and the PHP view part in the ",(0,o.jsx)(n.code,{children:"$attributes"})," variable.\nWe are using the same structure as described in the ",(0,o.jsx)(n.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-attributes/",children:"block editor documentation"}),". For more details please check ",(0,o.jsx)(n.a,{href:"blocks-attributes",children:"this chapter"}),"."]}),"\n",(0,o.jsx)(n.h3,{id:"hasinnerblocks",children:"hasInnerBlocks"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"default: false"})}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"custom feature"})}),"\n",(0,o.jsxs)(n.p,{children:["If the ",(0,o.jsx)(n.code,{children:"hasInnerBlocks"})," key is set to true, the block's ",(0,o.jsx)(n.code,{children:"save"})," method for inner blocks will be used. This method is used when the block has ",(0,o.jsx)(n.a,{href:"https://github.com/WordPress/gutenberg/tree/master/packages/block-editor/src/components/inner-blocks",children:(0,o.jsx)(n.code,{children:"InnerBlocks"})}),". In the PHP view file, you will have the ",(0,o.jsx)(n.code,{children:"$innerBlockContent"})," variable available. Here is an example of what happens in the back:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:" save = () => createElement(InnerBlocks.Content);\n"})}),"\n",(0,o.jsx)(n.h3,{id:"components",children:"components"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"custom feature"})}),"\n",(0,o.jsxs)(n.p,{children:["This key gives you the ability to use component attributes in your block without mapping all the component's attributes every time. Please check ",(0,o.jsx)(n.a,{href:"blocks-component-in-block",children:"this chapter"})," for more details."]}),"\n",(0,o.jsx)(n.h3,{id:"responsiveattributes",children:"responsiveAttributes"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"custom feature"})}),"\n",(0,o.jsxs)(n.p,{children:["This key is used to combine multiple attributes with the similar name for the responsive breakpoints. Please check ",(0,o.jsx)(n.a,{href:"blocks-styles",children:"this chapter"})," for more details."]}),"\n",(0,o.jsx)(n.h3,{id:"variables",children:"variables"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"custom feature"})}),"\n",(0,o.jsxs)(n.p,{children:["This key is used to provide output for CSS variables. Please check ",(0,o.jsx)(n.a,{href:"blocks-styles",children:"this chapter"})," for more details."]}),"\n",(0,o.jsx)(n.h3,{id:"options",children:"options"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"custom feature"})}),"\n",(0,o.jsxs)(n.p,{children:["This key is used to provide options used in the Block Editor options for components like SelectControl or RangeControl. With this key, you can pass options and change them depending on the component used. Please check ",(0,o.jsx)(n.a,{href:"blocks-component-in-block",children:"this chapter"})," for more details."]}),"\n",(0,o.jsx)(n.h2,{id:"the-power-of-manifestjson",children:"The power of manifest.json"}),"\n",(0,o.jsxs)(n.p,{children:["As described before we use ",(0,o.jsx)(n.code,{children:"manifest.json"})," to share stuff across PHP / JS / SCSS so you can easily see its power."]}),"\n",(0,o.jsxs)(n.p,{children:["For example, you can use ",(0,o.jsx)(n.code,{children:"manifest.json"})," to store SVG files that you will use on the front-end (PHP) and in the editor / backend (JS) files. Or you can store block options so it is easier to find and add items."]}),"\n",(0,o.jsx)(n.p,{children:"Let's see how you would share SVG icon across multiple languages:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"manifest.json"})}),"\n",(0,o.jsx)(n.admonition,{type:"note",children:(0,o.jsxs)(n.p,{children:["Because this is a ",(0,o.jsx)(n.code,{children:"JSON"})," file you must convert all double quotes to single because otherwise, you will get a fatal error."]})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:"{\n ...\n \"icon\": \"<svg xmlns='http://www.w3.org/2000/svg' width='7' height='12' viewBox='0 0 320 512'><path fill='currentColor' d='M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z'></path></svg>\",\n ...\n}\n"})}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"block-name.php"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-php",children:"$manifest = Components::getManifest(__DIR__);\n\necho wp_kses_post($manifest['icon']); // Make sure you have allowed filters for all SVG attributes.\n"})}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"block-name-editor.js"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-jsx",children:"import manifest from 'manifest.json';\n\n<span dangerouslySetInnerHTML={{ __html: manifest.icon }}></span>\n"})}),"\n",(0,o.jsx)(n.p,{children:"As you can see, you can share anything this way. Here are some additional examples:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/components/social-networks/manifest.json",children:"Social Networks"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/components/button/manifest.json",children:"Button"})}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},11151:(e,n,s)=>{s.d(n,{Z:()=>l,a:()=>r});var o=s(67294);const t={},i=o.createContext(t);function r(e){const n=o.useContext(i);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(t):e.components||t:r(e.components),o.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c661d3f1.e20c6ef1.js b/assets/js/c661d3f1.e20c6ef1.js new file mode 100644 index 000000000..d8595b0c1 --- /dev/null +++ b/assets/js/c661d3f1.e20c6ef1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[35524],{5380:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>i,metadata:()=>l,toc:()=>a});var o=s(17624),t=s(4552);const i={id:"block-manifest",title:"Block Manifest"},r=void 0,l={id:"basics/block-manifest",title:"Block Manifest",description:"docs-source",source:"@site/docs/basics/block-manifest.md",sourceDirName:"basics",slug:"/basics/block-manifest",permalink:"/docs/basics/block-manifest",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"block-manifest",title:"Block Manifest"},sidebar:"docs",previous:{title:"Component Structure",permalink:"/docs/basics/blocks-component-structure"},next:{title:"Component Manifest",permalink:"/docs/basics/blocks-component-manifest"}},c={},a=[{value:"Example",id:"example",level:3},{value:"namespace",id:"namespace",level:3},{value:"icon.background & icon.foreground",id:"iconbackground--iconforeground",level:3},{value:"example",id:"example-1",level:3},{value:"attributes",id:"attributes",level:3},{value:"hasInnerBlocks",id:"hasinnerblocks",level:3},{value:"components",id:"components",level:3},{value:"responsiveAttributes",id:"responsiveattributes",level:3},{value:"variables",id:"variables",level:3},{value:"options",id:"options",level:3},{value:"The power of manifest.json",id:"the-power-of-manifestjson",level:2}];function d(e){const n={a:"a",admonition:"admonition",code:"code",em:"em",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,o.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsxs)(n.p,{children:["This file contains all the configuration required for a block to work. It's used in WordPress ",(0,o.jsx)(n.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-registration/",children:(0,o.jsx)(n.code,{children:"registerBlockType"})})," method to register a block. Using ",(0,o.jsx)(n.code,{children:"manifest.json"}),", we can provide a configuration in JavaScript and PHP part of the block in one file."]}),"\n",(0,o.jsx)(n.h3,{id:"example",children:"Example"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n "namespace": "custom-namespace",\n "blockName": "heading",\n "title": "Heading",\n "description": "Heading block with custom settings.",\n "category": "common",\n "icon": {\n "background": "#900",\n "foreground": "#500",\n "src": "heading"\n },\n "keywords": [\n "Header",\n "Title"\n ],\n "example": {\n "attributes": {\n "content": "New content",\n "level": 2\n }\n },\n "attributes": {\n "content": {\n "type": "string"\n },\n "level": {\n "type": "integer",\n "default": 2\n }\n },\n "hasInnerBlocks": false,\n "components": {},\n "responsiveAttributes": {},\n "variables": {},\n "options": {}\n}\n'})}),"\n",(0,o.jsxs)(n.p,{children:["Most of the keys are the same as in the ",(0,o.jsx)(n.a,{href:"https://developer.wordpress.org/block-editor/reference-guides/block-api/block-metadata/",children:"block.json metadata"}),". If you can't find the description here, please check the ",(0,o.jsx)(n.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-registration/",children:"official documentation"}),". We also have some custom features here, not present in the ",(0,o.jsx)(n.code,{children:"block.json"})," file:"]}),"\n",(0,o.jsx)(n.h3,{id:"namespace",children:"namespace"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"custom feature"})}),"\n",(0,o.jsx)(n.p,{children:"The block's namespace is set globally in the global manifest for all your custom blocks, but you can override them on each block if you need to."}),"\n",(0,o.jsx)(n.h3,{id:"iconbackground--iconforeground",children:"icon.background & icon.foreground"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"native feature"})}),"\n",(0,o.jsx)(n.p,{children:"The icon background and foreground is set globally in the global manifest for all your custom blocks, but you can override them on each block if you need to."}),"\n",(0,o.jsx)(n.h3,{id:"example-1",children:"example"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"native feature"})}),"\n",(0,o.jsxs)(n.p,{children:["This key provides you the ability to give an example mockup of your attributes. When you try to add a block to the editor using the button in the main toolbar, you will have a preview image on the right. The image generated here will actually be a rendered block with the attributes from the example key. We also use it in the storybook to mock attributes. More on this in the ",(0,o.jsx)(n.a,{href:"blocks-storybook",children:"storybook chapter"}),"."]}),"\n",(0,o.jsx)(n.h3,{id:"attributes",children:"attributes"}),"\n",(0,o.jsxs)(n.p,{children:["Attributes key is an object of attributes where you define and set up default values for a block. These attributes are then passed in the editor as props, and the PHP view part in the ",(0,o.jsx)(n.code,{children:"$attributes"})," variable.\nWe are using the same structure as described in the ",(0,o.jsx)(n.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-attributes/",children:"block editor documentation"}),". For more details please check ",(0,o.jsx)(n.a,{href:"blocks-attributes",children:"this chapter"}),"."]}),"\n",(0,o.jsx)(n.h3,{id:"hasinnerblocks",children:"hasInnerBlocks"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"default: false"})}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"custom feature"})}),"\n",(0,o.jsxs)(n.p,{children:["If the ",(0,o.jsx)(n.code,{children:"hasInnerBlocks"})," key is set to true, the block's ",(0,o.jsx)(n.code,{children:"save"})," method for inner blocks will be used. This method is used when the block has ",(0,o.jsx)(n.a,{href:"https://github.com/WordPress/gutenberg/tree/master/packages/block-editor/src/components/inner-blocks",children:(0,o.jsx)(n.code,{children:"InnerBlocks"})}),". In the PHP view file, you will have the ",(0,o.jsx)(n.code,{children:"$innerBlockContent"})," variable available. Here is an example of what happens in the back:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:" save = () => createElement(InnerBlocks.Content);\n"})}),"\n",(0,o.jsx)(n.h3,{id:"components",children:"components"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"custom feature"})}),"\n",(0,o.jsxs)(n.p,{children:["This key gives you the ability to use component attributes in your block without mapping all the component's attributes every time. Please check ",(0,o.jsx)(n.a,{href:"blocks-component-in-block",children:"this chapter"})," for more details."]}),"\n",(0,o.jsx)(n.h3,{id:"responsiveattributes",children:"responsiveAttributes"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"custom feature"})}),"\n",(0,o.jsxs)(n.p,{children:["This key is used to combine multiple attributes with the similar name for the responsive breakpoints. Please check ",(0,o.jsx)(n.a,{href:"blocks-styles",children:"this chapter"})," for more details."]}),"\n",(0,o.jsx)(n.h3,{id:"variables",children:"variables"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"custom feature"})}),"\n",(0,o.jsxs)(n.p,{children:["This key is used to provide output for CSS variables. Please check ",(0,o.jsx)(n.a,{href:"blocks-styles",children:"this chapter"})," for more details."]}),"\n",(0,o.jsx)(n.h3,{id:"options",children:"options"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"custom feature"})}),"\n",(0,o.jsxs)(n.p,{children:["This key is used to provide options used in the Block Editor options for components like SelectControl or RangeControl. With this key, you can pass options and change them depending on the component used. Please check ",(0,o.jsx)(n.a,{href:"blocks-component-in-block",children:"this chapter"})," for more details."]}),"\n",(0,o.jsx)(n.h2,{id:"the-power-of-manifestjson",children:"The power of manifest.json"}),"\n",(0,o.jsxs)(n.p,{children:["As described before we use ",(0,o.jsx)(n.code,{children:"manifest.json"})," to share stuff across PHP / JS / SCSS so you can easily see its power."]}),"\n",(0,o.jsxs)(n.p,{children:["For example, you can use ",(0,o.jsx)(n.code,{children:"manifest.json"})," to store SVG files that you will use on the front-end (PHP) and in the editor / backend (JS) files. Or you can store block options so it is easier to find and add items."]}),"\n",(0,o.jsx)(n.p,{children:"Let's see how you would share SVG icon across multiple languages:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"manifest.json"})}),"\n",(0,o.jsx)(n.admonition,{type:"note",children:(0,o.jsxs)(n.p,{children:["Because this is a ",(0,o.jsx)(n.code,{children:"JSON"})," file you must convert all double quotes to single because otherwise, you will get a fatal error."]})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:"{\n ...\n \"icon\": \"<svg xmlns='http://www.w3.org/2000/svg' width='7' height='12' viewBox='0 0 320 512'><path fill='currentColor' d='M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z'></path></svg>\",\n ...\n}\n"})}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"block-name.php"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-php",children:"$manifest = Components::getManifest(__DIR__);\n\necho wp_kses_post($manifest['icon']); // Make sure you have allowed filters for all SVG attributes.\n"})}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"block-name-editor.js"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-jsx",children:"import manifest from 'manifest.json';\n\n<span dangerouslySetInnerHTML={{ __html: manifest.icon }}></span>\n"})}),"\n",(0,o.jsx)(n.p,{children:"As you can see, you can share anything this way. Here are some additional examples:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/components/social-networks/manifest.json",children:"Social Networks"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/components/button/manifest.json",children:"Button"})}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,t.M)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},4552:(e,n,s)=>{s.d(n,{I:()=>l,M:()=>r});var o=s(11504);const t={},i=o.createContext(t);function r(e){const n=o.useContext(i);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(t):e.components||t:r(e.components),o.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c6cd348e.44e8aaa5.js b/assets/js/c6cd348e.44e8aaa5.js new file mode 100644 index 000000000..8769dd21b --- /dev/null +++ b/assets/js/c6cd348e.44e8aaa5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[20652],{43304:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>l,contentTitle:()=>r,default:()=>u,frontMatter:()=>o,metadata:()=>c,toc:()=>a});var n=t(17624),i=t(4552);const o={id:"blocks-registration",title:"Registration"},r=void 0,c={id:"legacy/v7/basics/blocks-registration",title:"Registration",description:"docs-source",source:"@site/docs/legacy/v7/basics/blocks-registration.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/blocks-registration",permalink:"/docs/legacy/v7/basics/blocks-registration",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-registration",title:"Registration"},sidebar:"docs",previous:{title:"Faq",permalink:"/docs/legacy/v7/basics/blocks-faq"},next:{title:"Structure",permalink:"/docs/legacy/v7/basics/blocks-structure"}},l={},a=[];function d(e){const s={a:"a",code:"code",img:"img",li:"li",p:"p",ul:"ul",...(0,i.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/",children:(0,n.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(s.p,{children:"Our setup works if you follow our naming convention and strict folder structure for all blocks, components, variations, patterns, and wrapper."}),"\n",(0,n.jsxs)(s.p,{children:["By following our structure, we can find all files using the ",(0,n.jsx)(s.code,{children:"require.context"})," regular expression inside the ",(0,n.jsx)(s.code,{children:"Blocks"})," folder. Alongside some JavaScript magic, we have been able to leave out all those unnecessary steps when creating new blocks like:"]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"providing style files;"}),"\n",(0,n.jsx)(s.li,{children:"writing register method;"}),"\n",(0,n.jsx)(s.li,{children:"setting PHP method for registering dynamic blocks; and"}),"\n",(0,n.jsx)(s.li,{children:"including files when adding new components."}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["You can check out how this works inside the ",(0,n.jsx)(s.code,{children:"src/Blocks/assets/scripts/application-blocks-editor.js"})," file."]}),"\n",(0,n.jsxs)(s.p,{children:["Please follow our ",(0,n.jsx)(s.a,{href:"blocks-structure",children:"blocks structure folder"})," to see the naming standard and how blocks are set."]})]})}function u(e={}){const{wrapper:s}={...(0,i.M)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},4552:(e,s,t)=>{t.d(s,{I:()=>c,M:()=>r});var n=t(11504);const i={},o=n.createContext(i);function r(e){const s=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),n.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c6cd348e.7cb85e40.js b/assets/js/c6cd348e.7cb85e40.js deleted file mode 100644 index e5c9a1033..000000000 --- a/assets/js/c6cd348e.7cb85e40.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[83036],{11467:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>l,contentTitle:()=>r,default:()=>u,frontMatter:()=>o,metadata:()=>c,toc:()=>a});var n=t(85893),i=t(11151);const o={id:"blocks-registration",title:"Registration"},r=void 0,c={id:"legacy/v7/basics/blocks-registration",title:"Registration",description:"docs-source",source:"@site/docs/legacy/v7/basics/blocks-registration.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/blocks-registration",permalink:"/docs/legacy/v7/basics/blocks-registration",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-registration",title:"Registration"},sidebar:"docs",previous:{title:"Faq",permalink:"/docs/legacy/v7/basics/blocks-faq"},next:{title:"Structure",permalink:"/docs/legacy/v7/basics/blocks-structure"}},l={},a=[];function d(e){const s={a:"a",code:"code",img:"img",li:"li",p:"p",ul:"ul",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/",children:(0,n.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(s.p,{children:"Our setup works if you follow our naming convention and strict folder structure for all blocks, components, variations, patterns, and wrapper."}),"\n",(0,n.jsxs)(s.p,{children:["By following our structure, we can find all files using the ",(0,n.jsx)(s.code,{children:"require.context"})," regular expression inside the ",(0,n.jsx)(s.code,{children:"Blocks"})," folder. Alongside some JavaScript magic, we have been able to leave out all those unnecessary steps when creating new blocks like:"]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"providing style files;"}),"\n",(0,n.jsx)(s.li,{children:"writing register method;"}),"\n",(0,n.jsx)(s.li,{children:"setting PHP method for registering dynamic blocks; and"}),"\n",(0,n.jsx)(s.li,{children:"including files when adding new components."}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["You can check out how this works inside the ",(0,n.jsx)(s.code,{children:"src/Blocks/assets/scripts/application-blocks-editor.js"})," file."]}),"\n",(0,n.jsxs)(s.p,{children:["Please follow our ",(0,n.jsx)(s.a,{href:"blocks-structure",children:"blocks structure folder"})," to see the naming standard and how blocks are set."]})]})}function u(e={}){const{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},11151:(e,s,t)=>{t.d(s,{Z:()=>c,a:()=>r});var n=t(67294);const i={},o=n.createContext(i);function r(e){const s=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),n.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c709f244.22356c8e.js b/assets/js/c709f244.22356c8e.js new file mode 100644 index 000000000..36d84c1a3 --- /dev/null +++ b/assets/js/c709f244.22356c8e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[15264],{43336: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/c709f244.e769dbfb.js b/assets/js/c709f244.e769dbfb.js deleted file mode 100644 index f364ff9e5..000000000 --- a/assets/js/c709f244.e769dbfb.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[54281],{47550: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/c72fb457.12dd1dd4.js b/assets/js/c72fb457.12dd1dd4.js new file mode 100644 index 000000000..77928a82d --- /dev/null +++ b/assets/js/c72fb457.12dd1dd4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[31616],{57388:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>h,frontMatter:()=>i,metadata:()=>c,toc:()=>a});var t=s(17624),o=s(4552);const i={id:"block-manifest",title:"Block Manifest",sidebar_label:"Block Manifest"},r=void 0,c={id:"legacy/v5/basics/block-manifest",title:"Block Manifest",description:"docs-source",source:"@site/docs/legacy/v5/basics/block-manifest.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/block-manifest",permalink:"/docs/legacy/v5/basics/block-manifest",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"block-manifest",title:"Block Manifest",sidebar_label:"Block Manifest"},sidebar:"docs",previous:{title:"Component Structure",permalink:"/docs/legacy/v5/basics/blocks-component-structure"},next:{title:"Component Manifest",permalink:"/docs/legacy/v5/basics/blocks-component-manifest"}},l={},a=[{value:"Example",id:"example",level:3},{value:"namespace",id:"namespace",level:3},{value:"icon.background & icon.foreground",id:"iconbackground--iconforeground",level:3},{value:"example",id:"example-1",level:3},{value:"attributes",id:"attributes",level:3},{value:"hasInnerBlocks",id:"hasinnerblocks",level:3},{value:"components",id:"components",level:3},{value:"The power of manifest.json",id:"the-power-of-manifestjson",level:2}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",em:"em",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,o.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/",children:(0,t.jsx)(n.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsxs)(n.p,{children:["This file contains all the configuration required for a block to work. It's used in WordPress ",(0,t.jsx)(n.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-registration/",children:(0,t.jsx)(n.code,{children:"registerBlockType"})})," method to register a block. Using ",(0,t.jsx)(n.code,{children:"manifest.json"}),", we can provide a configuration in JavaScript and PHP part of the block in one file."]}),"\n",(0,t.jsx)(n.h3,{id:"example",children:"Example"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-json",children:'{\n "namespace": "custom-namespace",\n "blockName": "heading",\n "title": "Heading",\n "description": "Heading block with custom settings.",\n "category": "common",\n "icon": {\n "background": "#900",\n "foreground": "#500",\n "src": "heading"\n },\n "keywords": [\n "Header",\n "Title"\n ],\n "example": {\n "attributes": {\n "content": "New content",\n "level": 2\n }\n },\n "attributes": {\n "content": {\n "type": "string"\n },\n "level": {\n "type": "number",\n "default": 2\n }\n }\n}\n'})}),"\n",(0,t.jsxs)(n.p,{children:["Most of the keys are the same as the ",(0,t.jsx)(n.code,{children:"registerBlockType"})," method. If you can't find the description here, please check the ",(0,t.jsx)(n.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-registration/",children:"official documentation"}),", but we also have some custom features here:"]}),"\n",(0,t.jsx)(n.h3,{id:"namespace",children:"namespace"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.em,{children:"native feature"})}),"\n",(0,t.jsx)(n.p,{children:"The block's namespace is set globally in the global manifest for all your custom blocks, but you can override them on each block if you need to."}),"\n",(0,t.jsx)(n.h3,{id:"iconbackground--iconforeground",children:"icon.background & icon.foreground"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.em,{children:"native feature"})}),"\n",(0,t.jsx)(n.p,{children:"The icon background and foreground is set globally in the global manifest for all your custom blocks, but you can override them on each block if you need to."}),"\n",(0,t.jsx)(n.h3,{id:"example-1",children:"example"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.em,{children:"native feature"})}),"\n",(0,t.jsxs)(n.p,{children:["This key provides you the ability to give an example mockup of your attributes. When you try to add a block to the editor using the button in the main toolbar, you will have a preview image on the right. The image generated here will actually be a rendered block with the attributes from the example key. We also use it in the storybook to mock attributes. More on this in the ",(0,t.jsx)(n.a,{href:"blocks-storybook",children:"storybook chapter"}),"."]}),"\n",(0,t.jsx)(n.h3,{id:"attributes",children:"attributes"}),"\n",(0,t.jsxs)(n.p,{children:["Attributes key is an object of attributes where you define and set up default values for a block. These attributes are then passed in the editor as props, and the PHP view part in the ",(0,t.jsx)(n.code,{children:"$attributes"})," variable.\nWe are using the same structure as described in the ",(0,t.jsx)(n.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-attributes/",children:"block editor documentation"}),"."]}),"\n",(0,t.jsx)(n.h3,{id:"hasinnerblocks",children:"hasInnerBlocks"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"default: false"})}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.em,{children:"custom feature"})}),"\n",(0,t.jsxs)(n.p,{children:["If the ",(0,t.jsx)(n.code,{children:"hasInnerBlocks"})," key is set to true, the block's ",(0,t.jsx)(n.code,{children:"save"})," method for inner blocks will be used. This method is used when the block has ",(0,t.jsx)(n.a,{href:"https://github.com/WordPress/gutenberg/tree/trunk/packages/block-editor/src/components/inner-blocks",children:(0,t.jsx)(n.code,{children:"InnerBlocks"})}),". In the PHP view file, you will have the ",(0,t.jsx)(n.code,{children:"$innerBlockContent"})," variable available. Here is an example of what happens in the back:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-js",children:" save = () => createElement(InnerBlocks.Content);\n"})}),"\n",(0,t.jsx)(n.h3,{id:"components",children:"components"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.em,{children:"custom feature"})}),"\n",(0,t.jsxs)(n.p,{children:["This key gives you the ability to use component attributes in your block without mapping all the component's attributes every time. Please check ",(0,t.jsx)(n.a,{href:"blocks-component-in-block",children:"this chapter"})," for more details."]}),"\n",(0,t.jsx)(n.h2,{id:"the-power-of-manifestjson",children:"The power of manifest.json"}),"\n",(0,t.jsxs)(n.p,{children:["As described before we use ",(0,t.jsx)(n.code,{children:"manifest.json"})," to share stuff across PHP / JS / SCSS so you can easily see its power."]}),"\n",(0,t.jsxs)(n.p,{children:["For example, you can use ",(0,t.jsx)(n.code,{children:"manifest.json"})," to store SVG files that you will use on the front-end (PHP) and in the editor / backend (JS) files. Or you can store block options so it is easier to find and add items."]}),"\n",(0,t.jsx)(n.p,{children:"Let's see how you would share SVG icon across multiple languages:"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"manifest.json"})}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:["Note: because this is a ",(0,t.jsx)(n.code,{children:"JSON"})," file you must convert all double quotes to single because otherwise, you will get a fatal error."]}),"\n"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-json",children:"{\n ...\n \"icon\": \"<svg xmlns='http://www.w3.org/2000/svg' width='7' height='12' viewBox='0 0 320 512'><path fill='currentColor' d='M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z'></path></svg>\",\n ...\n}\n"})}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"block-name.php"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"$manifest = Components::getManifest(__DIR__);\n\necho wp_kses_post($manifest['icon']);\n"})}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"block-name-editor.js"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-jsx",children:"import manifest from 'manifest.json';\n\n<span dangerouslySetInnerHTML={{ __html: manifest.icon }}></span>\n"})}),"\n",(0,t.jsx)(n.p,{children:"As you can see, you can share anything this way. Here are some additional examples:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/Blocks/components/social-links/manifest.json",children:"Social Links"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/Blocks/components/button/manifest.json",children:"Button"})}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,o.M)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},4552:(e,n,s)=>{s.d(n,{I:()=>c,M:()=>r});var t=s(11504);const o={},i=t.createContext(o);function r(e){const n=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),t.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c72fb457.5735ed47.js b/assets/js/c72fb457.5735ed47.js deleted file mode 100644 index 551c47b6a..000000000 --- a/assets/js/c72fb457.5735ed47.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[70741],{39868:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>h,frontMatter:()=>i,metadata:()=>c,toc:()=>a});var t=s(85893),o=s(11151);const i={id:"block-manifest",title:"Block Manifest",sidebar_label:"Block Manifest"},r=void 0,c={id:"legacy/v5/basics/block-manifest",title:"Block Manifest",description:"docs-source",source:"@site/docs/legacy/v5/basics/block-manifest.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/block-manifest",permalink:"/docs/legacy/v5/basics/block-manifest",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"block-manifest",title:"Block Manifest",sidebar_label:"Block Manifest"},sidebar:"docs",previous:{title:"Component Structure",permalink:"/docs/legacy/v5/basics/blocks-component-structure"},next:{title:"Component Manifest",permalink:"/docs/legacy/v5/basics/blocks-component-manifest"}},l={},a=[{value:"Example",id:"example",level:3},{value:"namespace",id:"namespace",level:3},{value:"icon.background & icon.foreground",id:"iconbackground--iconforeground",level:3},{value:"example",id:"example-1",level:3},{value:"attributes",id:"attributes",level:3},{value:"hasInnerBlocks",id:"hasinnerblocks",level:3},{value:"components",id:"components",level:3},{value:"The power of manifest.json",id:"the-power-of-manifestjson",level:2}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",em:"em",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,o.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/",children:(0,t.jsx)(n.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsxs)(n.p,{children:["This file contains all the configuration required for a block to work. It's used in WordPress ",(0,t.jsx)(n.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-registration/",children:(0,t.jsx)(n.code,{children:"registerBlockType"})})," method to register a block. Using ",(0,t.jsx)(n.code,{children:"manifest.json"}),", we can provide a configuration in JavaScript and PHP part of the block in one file."]}),"\n",(0,t.jsx)(n.h3,{id:"example",children:"Example"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-json",children:'{\n "namespace": "custom-namespace",\n "blockName": "heading",\n "title": "Heading",\n "description": "Heading block with custom settings.",\n "category": "common",\n "icon": {\n "background": "#900",\n "foreground": "#500",\n "src": "heading"\n },\n "keywords": [\n "Header",\n "Title"\n ],\n "example": {\n "attributes": {\n "content": "New content",\n "level": 2\n }\n },\n "attributes": {\n "content": {\n "type": "string"\n },\n "level": {\n "type": "number",\n "default": 2\n }\n }\n}\n'})}),"\n",(0,t.jsxs)(n.p,{children:["Most of the keys are the same as the ",(0,t.jsx)(n.code,{children:"registerBlockType"})," method. If you can't find the description here, please check the ",(0,t.jsx)(n.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-registration/",children:"official documentation"}),", but we also have some custom features here:"]}),"\n",(0,t.jsx)(n.h3,{id:"namespace",children:"namespace"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.em,{children:"native feature"})}),"\n",(0,t.jsx)(n.p,{children:"The block's namespace is set globally in the global manifest for all your custom blocks, but you can override them on each block if you need to."}),"\n",(0,t.jsx)(n.h3,{id:"iconbackground--iconforeground",children:"icon.background & icon.foreground"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.em,{children:"native feature"})}),"\n",(0,t.jsx)(n.p,{children:"The icon background and foreground is set globally in the global manifest for all your custom blocks, but you can override them on each block if you need to."}),"\n",(0,t.jsx)(n.h3,{id:"example-1",children:"example"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.em,{children:"native feature"})}),"\n",(0,t.jsxs)(n.p,{children:["This key provides you the ability to give an example mockup of your attributes. When you try to add a block to the editor using the button in the main toolbar, you will have a preview image on the right. The image generated here will actually be a rendered block with the attributes from the example key. We also use it in the storybook to mock attributes. More on this in the ",(0,t.jsx)(n.a,{href:"blocks-storybook",children:"storybook chapter"}),"."]}),"\n",(0,t.jsx)(n.h3,{id:"attributes",children:"attributes"}),"\n",(0,t.jsxs)(n.p,{children:["Attributes key is an object of attributes where you define and set up default values for a block. These attributes are then passed in the editor as props, and the PHP view part in the ",(0,t.jsx)(n.code,{children:"$attributes"})," variable.\nWe are using the same structure as described in the ",(0,t.jsx)(n.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-attributes/",children:"block editor documentation"}),"."]}),"\n",(0,t.jsx)(n.h3,{id:"hasinnerblocks",children:"hasInnerBlocks"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"default: false"})}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.em,{children:"custom feature"})}),"\n",(0,t.jsxs)(n.p,{children:["If the ",(0,t.jsx)(n.code,{children:"hasInnerBlocks"})," key is set to true, the block's ",(0,t.jsx)(n.code,{children:"save"})," method for inner blocks will be used. This method is used when the block has ",(0,t.jsx)(n.a,{href:"https://github.com/WordPress/gutenberg/tree/trunk/packages/block-editor/src/components/inner-blocks",children:(0,t.jsx)(n.code,{children:"InnerBlocks"})}),". In the PHP view file, you will have the ",(0,t.jsx)(n.code,{children:"$innerBlockContent"})," variable available. Here is an example of what happens in the back:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-js",children:" save = () => createElement(InnerBlocks.Content);\n"})}),"\n",(0,t.jsx)(n.h3,{id:"components",children:"components"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.em,{children:"custom feature"})}),"\n",(0,t.jsxs)(n.p,{children:["This key gives you the ability to use component attributes in your block without mapping all the component's attributes every time. Please check ",(0,t.jsx)(n.a,{href:"blocks-component-in-block",children:"this chapter"})," for more details."]}),"\n",(0,t.jsx)(n.h2,{id:"the-power-of-manifestjson",children:"The power of manifest.json"}),"\n",(0,t.jsxs)(n.p,{children:["As described before we use ",(0,t.jsx)(n.code,{children:"manifest.json"})," to share stuff across PHP / JS / SCSS so you can easily see its power."]}),"\n",(0,t.jsxs)(n.p,{children:["For example, you can use ",(0,t.jsx)(n.code,{children:"manifest.json"})," to store SVG files that you will use on the front-end (PHP) and in the editor / backend (JS) files. Or you can store block options so it is easier to find and add items."]}),"\n",(0,t.jsx)(n.p,{children:"Let's see how you would share SVG icon across multiple languages:"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"manifest.json"})}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:["Note: because this is a ",(0,t.jsx)(n.code,{children:"JSON"})," file you must convert all double quotes to single because otherwise, you will get a fatal error."]}),"\n"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-json",children:"{\n ...\n \"icon\": \"<svg xmlns='http://www.w3.org/2000/svg' width='7' height='12' viewBox='0 0 320 512'><path fill='currentColor' d='M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z'></path></svg>\",\n ...\n}\n"})}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"block-name.php"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"$manifest = Components::getManifest(__DIR__);\n\necho wp_kses_post($manifest['icon']);\n"})}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"block-name-editor.js"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-jsx",children:"import manifest from 'manifest.json';\n\n<span dangerouslySetInnerHTML={{ __html: manifest.icon }}></span>\n"})}),"\n",(0,t.jsx)(n.p,{children:"As you can see, you can share anything this way. Here are some additional examples:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/Blocks/components/social-links/manifest.json",children:"Social Links"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/Blocks/components/button/manifest.json",children:"Button"})}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},11151:(e,n,s)=>{s.d(n,{Z:()=>c,a:()=>r});var t=s(67294);const o={},i=t.createContext(o);function r(e){const n=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),t.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c78f4965.14d572fc.js b/assets/js/c78f4965.14d572fc.js deleted file mode 100644 index c768b781e..000000000 --- a/assets/js/c78f4965.14d572fc.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[88963],{1011:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>f,frontMatter:()=>i,metadata:()=>s,toc:()=>m});var r=n(85893),o=n(11151);const i={id:"tracking-event-name",title:"Tracking event name"},a=void 0,s={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.",source:"@site/forms/php/filters/block/form/tracking-event-name.md",sourceDirName:"php/filters/block/form",slug:"/php/filters/block/form/tracking-event-name",permalink:"/forms/php/filters/block/form/tracking-event-name",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"tracking-event-name",title:"Tracking event name"},sidebar:"forms",previous:{title:"Success redirect variation options",permalink:"/forms/php/filters/block/form/success-redirect-variation-options"},next:{title:"Tracking additional data",permalink:"/forms/php/filters/block/form/tracking-additional-data"}},c={},m=[];function l(e){const t={code:"code",p:"p",pre:"pre",...(0,o.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.p,{children:"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."}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-php",children:"\\add_filter('es_forms_block_form_tracking_event_name', [$this, 'getBlockFormTrackingEventName'], 10, 2);\n\n/**\n * Set tracking event name value.\n *\n * This filter will override settings for tracking event name.\n *\n * @param string $formType Type of form used like greenhouse, hubspot, etc.\n * @param string $formId Form ID.\n *\n * @return string\n */\npublic function getBlockFormTrackingEventName(string $formType, string $formId): string\n{\n\tif ($formType === 'workable') {\n\t\treturn 'job-application';\n\t}\n\n\treturn '';\n}\n"})})]})}function f(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},11151:(e,t,n)=>{n.d(t,{Z:()=>s,a:()=>a});var r=n(67294);const o={},i=r.createContext(o);function a(e){const t=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:a(e.components),r.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c78f4965.907597cd.js b/assets/js/c78f4965.907597cd.js new file mode 100644 index 000000000..56c7d3d37 --- /dev/null +++ b/assets/js/c78f4965.907597cd.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[23424],{10552:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>s,default:()=>f,frontMatter:()=>i,metadata:()=>a,toc:()=>m});var r=n(17624),o=n(4552);const i={id:"tracking-event-name",title:"Tracking event name"},s=void 0,a={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.",source:"@site/forms/php/filters/block/form/tracking-event-name.md",sourceDirName:"php/filters/block/form",slug:"/php/filters/block/form/tracking-event-name",permalink:"/forms/php/filters/block/form/tracking-event-name",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"tracking-event-name",title:"Tracking event name"},sidebar:"forms",previous:{title:"Success redirect variation options",permalink:"/forms/php/filters/block/form/success-redirect-variation-options"},next:{title:"Tracking additional data",permalink:"/forms/php/filters/block/form/tracking-additional-data"}},c={},m=[];function l(e){const t={code:"code",p:"p",pre:"pre",...(0,o.M)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.p,{children:"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."}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-php",children:"\\add_filter('es_forms_block_form_tracking_event_name', [$this, 'getBlockFormTrackingEventName'], 10, 2);\n\n/**\n * Set tracking event name value.\n *\n * This filter will override settings for tracking event name.\n *\n * @param string $formType Type of form used like greenhouse, hubspot, etc.\n * @param string $formId Form ID.\n *\n * @return string\n */\npublic function getBlockFormTrackingEventName(string $formType, string $formId): string\n{\n\tif ($formType === 'workable') {\n\t\treturn 'job-application';\n\t}\n\n\treturn '';\n}\n"})})]})}function f(e={}){const{wrapper:t}={...(0,o.M)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},4552:(e,t,n)=>{n.d(t,{I:()=>a,M:()=>s});var r=n(11504);const o={},i=r.createContext(o);function s(e){const t=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),r.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c7fa2f29.2136082d.js b/assets/js/c7fa2f29.2136082d.js new file mode 100644 index 000000000..2edd389c6 --- /dev/null +++ b/assets/js/c7fa2f29.2136082d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[27660],{74180:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>l,default:()=>h,frontMatter:()=>t,metadata:()=>r,toc:()=>a});var i=s(17624),o=s(4552);const t={id:"wp-cli",title:"WP-CLI",sidebar_label:"WP-CLI"},l=void 0,r={id:"legacy/v5/basics/wp-cli",title:"WP-CLI",description:"docs-source",source:"@site/docs/legacy/v5/basics/wp-cli.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/wp-cli",permalink:"/docs/legacy/v5/basics/wp-cli",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"wp-cli",title:"WP-CLI",sidebar_label:"WP-CLI"},sidebar:"docs",previous:{title:"Basics",permalink:"/docs/legacy/v5/basics/basics-intro"},next:{title:"Backend",permalink:"/docs/legacy/v5/basics/backend"}},c={},a=[{value:"How it works",id:"how-it-works",level:2},{value:"Options and commands",id:"options-and-commands",level:2},{value:"Commands",id:"commands",level:3}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,o.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/tree/3.0.0/",children:(0,i.jsx)(n.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsx)(n.p,{children:"We have already mentioned the WP-CLI feature of Eightshift Boilerplate. Now, let's dig a little deeper into this awesome feature. We took our time to set up a bunch of WP-CLI commands that will help you set everything up and use all our features without worrying about correct names, files, and organization."}),"\n",(0,i.jsx)(n.h2,{id:"how-it-works",children:"How it works"}),"\n",(0,i.jsx)(n.p,{children:"In your project's entry point, you have something like this:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-php",children:"/**\n * Run all WP-CLI commands.\n */\nif (class_exists(Cli::class)) {\n (new Cli())->load('boilerplate');\n}\n"})}),"\n",(0,i.jsxs)(n.p,{children:["This code loads WP-CLI class from Eightshift Libs responsible for registering all of our custom commands. Keep in mind that, since WP-CLI code loads inside the theme/plugin, that same theme/plugin ",(0,i.jsx)(n.strong,{children:"must"})," be activated in the WordPress admin."]}),"\n",(0,i.jsx)(n.p,{children:"To run the WP-CLI command and see what you can use, run this command in your terminal:"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"wp boilerplate --help"})}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:["By default, your project's WP-CLI commands run under the parent name ",(0,i.jsx)(n.code,{children:"boilerplate"})," defined in the upper code."]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"You can change that by simply replacing the string inside the load method like this:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-php",children:"/**\n * Run all WP-CLI commands.\n */\nif (class_exists(Cli::class)) {\n (new Cli())->load('superCoolTheme');\n}\n"})}),"\n",(0,i.jsx)(n.p,{children:"Now, your project's WP-CLI loads like this:"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"wp superCoolTheme --help"}),"."]}),"\n",(0,i.jsx)(n.p,{children:"This is especially handy when you have multiple Eightshift Boilerplate powered themes or plugins installed. In that case, you should change the WP-CLI parent name on each of the projects."}),"\n",(0,i.jsx)(n.h2,{id:"options-and-commands",children:"Options and commands"}),"\n",(0,i.jsxs)(n.p,{children:["When you type each command in the terminal, it will do some action. Some commands will ask you for additional parameters. You can see them if you run the ",(0,i.jsx)(n.code,{children:"command name"})," and ",(0,i.jsx)(n.code,{children:"--help"})," like this:"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"wp boilerplate create_config --help"})}),"\n",(0,i.jsxs)(n.p,{children:["Under the ",(0,i.jsx)(n.code,{children:"OPTIONS"}),", you can see all required and optional parameters you can pass to the command to fine-tune your output."]}),"\n",(0,i.jsx)(n.h3,{id:"commands",children:"Commands"}),"\n",(0,i.jsx)(n.p,{children:"We have defined a few command prefixes:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"create"})," - services classes that will be copied to your project."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"init"})," - additional functions, methods and helpers that will be copied to your project."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"run"})," - commands used to run an action directly from Eightshift Libs. They will not copy anything to your project."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"setup"})," - commands that runs multiple already defined commands from the list."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"use"})," - commands used for blocks and block-related stuff. They will copy various files and folders from the blocks folder to your project."]}),"\n"]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Make WP-CLI your best friend, and your coding life will be much more comfortable, trust me."})}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["We will explain the classes that we think are necessary and should be described in more detail. For the rest of the classes, you can find the descriptions by running ",(0,i.jsx)(n.code,{children:"--help"})," after each command."]})]})}function h(e={}){const{wrapper:n}={...(0,o.M)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},4552:(e,n,s)=>{s.d(n,{I:()=>r,M:()=>l});var i=s(11504);const o={},t=i.createContext(o);function l(e){const n=i.useContext(t);return i.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(o):e.components||o:l(e.components),i.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c7fa2f29.a2583f43.js b/assets/js/c7fa2f29.a2583f43.js deleted file mode 100644 index 71b0b79a9..000000000 --- a/assets/js/c7fa2f29.a2583f43.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[7582],{83697:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>l,default:()=>h,frontMatter:()=>t,metadata:()=>r,toc:()=>a});var i=s(85893),o=s(11151);const t={id:"wp-cli",title:"WP-CLI",sidebar_label:"WP-CLI"},l=void 0,r={id:"legacy/v5/basics/wp-cli",title:"WP-CLI",description:"docs-source",source:"@site/docs/legacy/v5/basics/wp-cli.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/wp-cli",permalink:"/docs/legacy/v5/basics/wp-cli",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"wp-cli",title:"WP-CLI",sidebar_label:"WP-CLI"},sidebar:"docs",previous:{title:"Basics",permalink:"/docs/legacy/v5/basics/basics-intro"},next:{title:"Backend",permalink:"/docs/legacy/v5/basics/backend"}},c={},a=[{value:"How it works",id:"how-it-works",level:2},{value:"Options and commands",id:"options-and-commands",level:2},{value:"Commands",id:"commands",level:3}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,o.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/tree/3.0.0/",children:(0,i.jsx)(n.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsx)(n.p,{children:"We have already mentioned the WP-CLI feature of Eightshift Boilerplate. Now, let's dig a little deeper into this awesome feature. We took our time to set up a bunch of WP-CLI commands that will help you set everything up and use all our features without worrying about correct names, files, and organization."}),"\n",(0,i.jsx)(n.h2,{id:"how-it-works",children:"How it works"}),"\n",(0,i.jsx)(n.p,{children:"In your project's entry point, you have something like this:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-php",children:"/**\n * Run all WP-CLI commands.\n */\nif (class_exists(Cli::class)) {\n (new Cli())->load('boilerplate');\n}\n"})}),"\n",(0,i.jsxs)(n.p,{children:["This code loads WP-CLI class from Eightshift Libs responsible for registering all of our custom commands. Keep in mind that, since WP-CLI code loads inside the theme/plugin, that same theme/plugin ",(0,i.jsx)(n.strong,{children:"must"})," be activated in the WordPress admin."]}),"\n",(0,i.jsx)(n.p,{children:"To run the WP-CLI command and see what you can use, run this command in your terminal:"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"wp boilerplate --help"})}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:["By default, your project's WP-CLI commands run under the parent name ",(0,i.jsx)(n.code,{children:"boilerplate"})," defined in the upper code."]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"You can change that by simply replacing the string inside the load method like this:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-php",children:"/**\n * Run all WP-CLI commands.\n */\nif (class_exists(Cli::class)) {\n (new Cli())->load('superCoolTheme');\n}\n"})}),"\n",(0,i.jsx)(n.p,{children:"Now, your project's WP-CLI loads like this:"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"wp superCoolTheme --help"}),"."]}),"\n",(0,i.jsx)(n.p,{children:"This is especially handy when you have multiple Eightshift Boilerplate powered themes or plugins installed. In that case, you should change the WP-CLI parent name on each of the projects."}),"\n",(0,i.jsx)(n.h2,{id:"options-and-commands",children:"Options and commands"}),"\n",(0,i.jsxs)(n.p,{children:["When you type each command in the terminal, it will do some action. Some commands will ask you for additional parameters. You can see them if you run the ",(0,i.jsx)(n.code,{children:"command name"})," and ",(0,i.jsx)(n.code,{children:"--help"})," like this:"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"wp boilerplate create_config --help"})}),"\n",(0,i.jsxs)(n.p,{children:["Under the ",(0,i.jsx)(n.code,{children:"OPTIONS"}),", you can see all required and optional parameters you can pass to the command to fine-tune your output."]}),"\n",(0,i.jsx)(n.h3,{id:"commands",children:"Commands"}),"\n",(0,i.jsx)(n.p,{children:"We have defined a few command prefixes:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"create"})," - services classes that will be copied to your project."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"init"})," - additional functions, methods and helpers that will be copied to your project."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"run"})," - commands used to run an action directly from Eightshift Libs. They will not copy anything to your project."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"setup"})," - commands that runs multiple already defined commands from the list."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"use"})," - commands used for blocks and block-related stuff. They will copy various files and folders from the blocks folder to your project."]}),"\n"]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Make WP-CLI your best friend, and your coding life will be much more comfortable, trust me."})}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["We will explain the classes that we think are necessary and should be described in more detail. For the rest of the classes, you can find the descriptions by running ",(0,i.jsx)(n.code,{children:"--help"})," after each command."]})]})}function h(e={}){const{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},11151:(e,n,s)=>{s.d(n,{Z:()=>r,a:()=>l});var i=s(67294);const o={},t=i.createContext(o);function l(e){const n=i.useContext(t);return i.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(o):e.components||o:l(e.components),i.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c80bf43d.0b564bdf.js b/assets/js/c80bf43d.0b564bdf.js deleted file mode 100644 index ffeb3e155..000000000 --- a/assets/js/c80bf43d.0b564bdf.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[95181],{37464:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>r,default:()=>u,frontMatter:()=>s,metadata:()=>i,toc:()=>l});var o=n(85893),a=n(11151);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.a)(),...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.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(c,{...e})}):c(e)}},11151:(e,t,n)=>{n.d(t,{Z:()=>i,a:()=>r});var o=n(67294);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.798aeeb8.js b/assets/js/c80bf43d.798aeeb8.js new file mode 100644 index 000000000..f5901eed2 --- /dev/null +++ b/assets/js/c80bf43d.798aeeb8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[69536],{96664:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>r,default:()=>u,frontMatter:()=>s,metadata:()=>i,toc:()=>l});var o=n(17624),a=n(4552);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.M)(),...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.M)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(c,{...e})}):c(e)}},4552:(e,t,n)=>{n.d(t,{I:()=>i,M:()=>r});var o=n(11504);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.070a1f91.js b/assets/js/c87de583.070a1f91.js new file mode 100644 index 000000000..488ad06e3 --- /dev/null +++ b/assets/js/c87de583.070a1f91.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[22524],{19464: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/c87de583.7bc36fca.js b/assets/js/c87de583.7bc36fca.js deleted file mode 100644 index 8f48b8ea2..000000000 --- a/assets/js/c87de583.7bc36fca.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[74292],{71778: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/c9815f8a.278cdd7d.js b/assets/js/c9815f8a.278cdd7d.js deleted file mode 100644 index deb928f78..000000000 --- a/assets/js/c9815f8a.278cdd7d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[16875],{72474:(e,i,t)=>{t.r(i),t.d(i,{assets:()=>o,contentTitle:()=>l,default:()=>m,frontMatter:()=>r,metadata:()=>s,toc:()=>p});var n=t(85893),a=t(11151);const r={id:"mailchimp",title:"Mailchimp"},l=void 0,s={id:"php/global-variables/integrations/mailchimp",title:"Mailchimp",description:"ESAPIKEY_MAILCHIMP",source:"@site/forms/php/global-variables/integrations/mailchimp.md",sourceDirName:"php/global-variables/integrations",slug:"/php/global-variables/integrations/mailchimp",permalink:"/forms/php/global-variables/integrations/mailchimp",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"mailchimp",title:"Mailchimp"},sidebar:"forms",previous:{title:"Jira",permalink:"/forms/php/global-variables/integrations/jira"},next:{title:"MailerLite",permalink:"/forms/php/global-variables/integrations/mailerlite"}},o={},p=[{value:"ES_API_KEY_MAILCHIMP",id:"es_api_key_mailchimp",level:3}];function c(e){const i={code:"code",h3:"h3",p:"p",pre:"pre",...(0,a.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(i.h3,{id:"es_api_key_mailchimp",children:"ES_API_KEY_MAILCHIMP"}),"\n",(0,n.jsx)(i.p,{children:"This variable will set the Mailchimp integration API key."}),"\n",(0,n.jsx)(i.pre,{children:(0,n.jsx)(i.code,{className:"language-php",children:"define('ES_API_KEY_MAILCHIMP', '<api-key>');\n"})})]})}function m(e={}){const{wrapper:i}={...(0,a.a)(),...e.components};return i?(0,n.jsx)(i,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},11151:(e,i,t)=>{t.d(i,{Z:()=>s,a:()=>l});var n=t(67294);const a={},r=n.createContext(a);function l(e){const i=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function s(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:l(e.components),n.createElement(r.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c9815f8a.70b4237e.js b/assets/js/c9815f8a.70b4237e.js new file mode 100644 index 000000000..c5ad72cb7 --- /dev/null +++ b/assets/js/c9815f8a.70b4237e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[4596],{3744:(e,i,t)=>{t.r(i),t.d(i,{assets:()=>o,contentTitle:()=>l,default:()=>m,frontMatter:()=>r,metadata:()=>s,toc:()=>p});var n=t(17624),a=t(4552);const r={id:"mailchimp",title:"Mailchimp"},l=void 0,s={id:"php/global-variables/integrations/mailchimp",title:"Mailchimp",description:"ESAPIKEY_MAILCHIMP",source:"@site/forms/php/global-variables/integrations/mailchimp.md",sourceDirName:"php/global-variables/integrations",slug:"/php/global-variables/integrations/mailchimp",permalink:"/forms/php/global-variables/integrations/mailchimp",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"mailchimp",title:"Mailchimp"},sidebar:"forms",previous:{title:"Jira",permalink:"/forms/php/global-variables/integrations/jira"},next:{title:"MailerLite",permalink:"/forms/php/global-variables/integrations/mailerlite"}},o={},p=[{value:"ES_API_KEY_MAILCHIMP",id:"es_api_key_mailchimp",level:3}];function c(e){const i={code:"code",h3:"h3",p:"p",pre:"pre",...(0,a.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(i.h3,{id:"es_api_key_mailchimp",children:"ES_API_KEY_MAILCHIMP"}),"\n",(0,n.jsx)(i.p,{children:"This variable will set the Mailchimp integration API key."}),"\n",(0,n.jsx)(i.pre,{children:(0,n.jsx)(i.code,{className:"language-php",children:"define('ES_API_KEY_MAILCHIMP', '<api-key>');\n"})})]})}function m(e={}){const{wrapper:i}={...(0,a.M)(),...e.components};return i?(0,n.jsx)(i,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},4552:(e,i,t)=>{t.d(i,{I:()=>s,M:()=>l});var n=t(11504);const a={},r=n.createContext(a);function l(e){const i=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function s(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:l(e.components),n.createElement(r.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c9c3a302.a0a7a249.js b/assets/js/c9c3a302.a0a7a249.js deleted file mode 100644 index 9792e869e..000000000 --- a/assets/js/c9c3a302.a0a7a249.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[74121],{63426: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/c9c3a302.ac4a22b2.js b/assets/js/c9c3a302.ac4a22b2.js new file mode 100644 index 000000000..4391fd1ef --- /dev/null +++ b/assets/js/c9c3a302.ac4a22b2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[86760],{83940: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/c9f06a2a.68451c74.js b/assets/js/c9f06a2a.68451c74.js new file mode 100644 index 000000000..f30543da1 --- /dev/null +++ b/assets/js/c9f06a2a.68451c74.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[73532],{64100:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>a,contentTitle:()=>i,default:()=>d,frontMatter:()=>r,metadata:()=>l,toc:()=>c});var n=s(17624),o=s(4552);const r={id:"global-msg-headings",title:"Global msg headings"},i=void 0,l={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.",source:"@site/forms/php/filters/block/form/global-msg-headings.md",sourceDirName:"php/filters/block/form",slug:"/php/filters/block/form/global-msg-headings",permalink:"/forms/php/filters/block/form/global-msg-headings",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"global-msg-headings",title:"Global msg headings"},sidebar:"forms",previous:{title:"Phone sync",permalink:"/forms/php/filters/block/form/phone-sync"},next:{title:"Additional content",permalink:"/forms/php/filters/block/form/additional-content"}},a={},c=[];function g(e){const t={code:"code",p:"p",pre:"pre",...(0,o.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:"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."}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"\\add_filter('es_forms_block_form_global_msg_headings', [$this, 'getGlobalMsgHeadings']);\n\n/**\n * Set global msg headings.\n *\n * This filter will set global message headings for success and error.\n *\n * @return array<string, string>\n */\npublic function getGlobalMsgHeadings(): array\n{\n\treturn [\n\t\t'success' => \\__('Good news!', 'eightshift-form'),\n\t\t'error' => \\__('Something went wrong.', 'eightshift-form'),\n\t];\n}\n"})})]})}function d(e={}){const{wrapper:t}={...(0,o.M)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(g,{...e})}):g(e)}},4552:(e,t,s)=>{s.d(t,{I:()=>l,M:()=>i});var n=s(11504);const o={},r=n.createContext(o);function i(e){const t=n.useContext(r);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(o):e.components||o:i(e.components),n.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c9f06a2a.b0c11554.js b/assets/js/c9f06a2a.b0c11554.js deleted file mode 100644 index 445db94fd..000000000 --- a/assets/js/c9f06a2a.b0c11554.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[49900],{53345:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>a,contentTitle:()=>i,default:()=>d,frontMatter:()=>r,metadata:()=>l,toc:()=>c});var n=s(85893),o=s(11151);const r={id:"global-msg-headings",title:"Global msg headings"},i=void 0,l={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.",source:"@site/forms/php/filters/block/form/global-msg-headings.md",sourceDirName:"php/filters/block/form",slug:"/php/filters/block/form/global-msg-headings",permalink:"/forms/php/filters/block/form/global-msg-headings",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"global-msg-headings",title:"Global msg headings"},sidebar:"forms",previous:{title:"Phone sync",permalink:"/forms/php/filters/block/form/phone-sync"},next:{title:"Additional content",permalink:"/forms/php/filters/block/form/additional-content"}},a={},c=[];function g(e){const t={code:"code",p:"p",pre:"pre",...(0,o.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:"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."}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"\\add_filter('es_forms_block_form_global_msg_headings', [$this, 'getGlobalMsgHeadings']);\n\n/**\n * Set global msg headings.\n *\n * This filter will set global message headings for success and error.\n *\n * @return array<string, string>\n */\npublic function getGlobalMsgHeadings(): array\n{\n\treturn [\n\t\t'success' => \\__('Good news!', 'eightshift-form'),\n\t\t'error' => \\__('Something went wrong.', 'eightshift-form'),\n\t];\n}\n"})})]})}function d(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(g,{...e})}):g(e)}},11151:(e,t,s)=>{s.d(t,{Z:()=>l,a:()=>i});var n=s(67294);const o={},r=n.createContext(o);function i(e){const t=n.useContext(r);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(o):e.components||o:i(e.components),n.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ca69ab29.7373d5fa.js b/assets/js/ca69ab29.7373d5fa.js new file mode 100644 index 000000000..536c7f9d8 --- /dev/null +++ b/assets/js/ca69ab29.7373d5fa.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[74264],{4848:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var i=t(17624),n=t(4552);const o={id:"helpers-scss",title:"Scss"},r=void 0,l={id:"legacy/v7/basics/helpers-scss",title:"Scss",description:"docs-source",source:"@site/docs/legacy/v7/basics/helpers-scss.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/helpers-scss",permalink:"/docs/legacy/v7/basics/helpers-scss",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"helpers-scss",title:"Scss"},sidebar:"docs",previous:{title:"JavaScript",permalink:"/docs/legacy/v7/basics/helpers-javascript"},next:{title:"PHP",permalink:"/docs/legacy/v7/basics/helpers-php"}},a={},c=[{value:"Default usage",id:"default-usage",level:2},{value:"Usage outside of Eightshift Boilerplate",id:"usage-outside-of-eightshift-boilerplate",level:2}];function d(e){const s={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",strong:"strong",...(0,n.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/",children:(0,i.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsx)(s.p,{children:"For years, we have collected a list of useful SASS mixins, placeholders, and functions you can use in a project. You don't need to have all of this in your project. Check out our documentation and see what we have in store for you."}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsxs)(s.strong,{children:["Visit ",(0,i.jsx)(s.a,{href:"/docs/basics/library",children:"SassDocs"})," for more details."]})}),"\n",(0,i.jsx)(s.h2,{id:"default-usage",children:"Default usage"}),"\n",(0,i.jsx)(s.p,{children:"Eightshift Frontend Libs styles library is already implemented in your WordPress project, so you don't need to worry about implementation."}),"\n",(0,i.jsxs)(s.p,{children:["All our sass mixing, functions and helpers are located in ",(0,i.jsx)(s.code,{children:"node_modules/@eighshift/frontent-libs/styles/scss/eightshift-frontend-libs.scss"})," file."]}),"\n",(0,i.jsxs)(s.p,{children:["We imported that library into this file: ",(0,i.jsx)(s.code,{children:"/assets/styles/parts/_shared.scss"}),"."]}),"\n",(0,i.jsx)(s.h2,{id:"usage-outside-of-eightshift-boilerplate",children:"Usage outside of Eightshift Boilerplate"}),"\n",(0,i.jsx)(s.p,{children:"If you want to use it outside of the Eightshift Boilerplate, you can. It is only a matter of installing the package and importing it into your project's style file."}),"\n",(0,i.jsx)(s.p,{children:"In your terminal, install Eightshift Frontend Libs package:"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-bash",children:"npm install @eightshift/frontend-libs\n"})}),"\n",(0,i.jsx)(s.p,{children:"and add this import in your project:"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-scss",children:"@import '@eightshift/frontend-libs/styles/index.scss';\n"})})]})}function h(e={}){const{wrapper:s}={...(0,n.M)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},4552:(e,s,t)=>{t.d(s,{I:()=>l,M:()=>r});var i=t(11504);const n={},o=i.createContext(n);function r(e){const s=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),i.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ca69ab29.fb293bef.js b/assets/js/ca69ab29.fb293bef.js deleted file mode 100644 index 25c9a4cc7..000000000 --- a/assets/js/ca69ab29.fb293bef.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[76741],{63109:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>l,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>a,toc:()=>c});var i=t(85893),n=t(11151);const o={id:"helpers-scss",title:"Scss"},r=void 0,a={id:"legacy/v7/basics/helpers-scss",title:"Scss",description:"docs-source",source:"@site/docs/legacy/v7/basics/helpers-scss.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/helpers-scss",permalink:"/docs/legacy/v7/basics/helpers-scss",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"helpers-scss",title:"Scss"},sidebar:"docs",previous:{title:"JavaScript",permalink:"/docs/legacy/v7/basics/helpers-javascript"},next:{title:"PHP",permalink:"/docs/legacy/v7/basics/helpers-php"}},l={},c=[{value:"Default usage",id:"default-usage",level:2},{value:"Usage outside of Eightshift Boilerplate",id:"usage-outside-of-eightshift-boilerplate",level:2}];function d(e){const s={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",strong:"strong",...(0,n.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/",children:(0,i.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsx)(s.p,{children:"For years, we have collected a list of useful SASS mixins, placeholders, and functions you can use in a project. You don't need to have all of this in your project. Check out our documentation and see what we have in store for you."}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsxs)(s.strong,{children:["Visit ",(0,i.jsx)(s.a,{href:"/sass",children:"SassDocs"})," for more details."]})}),"\n",(0,i.jsx)(s.h2,{id:"default-usage",children:"Default usage"}),"\n",(0,i.jsx)(s.p,{children:"Eightshift Frontend Libs styles library is already implemented in your WordPress project, so you don't need to worry about implementation."}),"\n",(0,i.jsxs)(s.p,{children:["All our sass mixing, functions and helpers are located in ",(0,i.jsx)(s.code,{children:"node_modules/@eighshift/frontent-libs/styles/scss/eightshift-frontend-libs.scss"})," file."]}),"\n",(0,i.jsxs)(s.p,{children:["We imported that library into this file: ",(0,i.jsx)(s.code,{children:"/assets/styles/parts/_shared.scss"}),"."]}),"\n",(0,i.jsx)(s.h2,{id:"usage-outside-of-eightshift-boilerplate",children:"Usage outside of Eightshift Boilerplate"}),"\n",(0,i.jsx)(s.p,{children:"If you want to use it outside of the Eightshift Boilerplate, you can. It is only a matter of installing the package and importing it into your project's style file."}),"\n",(0,i.jsx)(s.p,{children:"In your terminal, install Eightshift Frontend Libs package:"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-bash",children:"npm install @eightshift/frontend-libs\n"})}),"\n",(0,i.jsx)(s.p,{children:"and add this import in your project:"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-scss",children:"@import '@eightshift/frontend-libs/styles/index.scss';\n"})})]})}function h(e={}){const{wrapper:s}={...(0,n.a)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},11151:(e,s,t)=>{t.d(s,{Z:()=>a,a:()=>r});var i=t(67294);const n={},o=i.createContext(n);function r(e){const s=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),i.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/cb3c2681.1eb5c804.js b/assets/js/cb3c2681.1eb5c804.js new file mode 100644 index 000000000..2c6cad985 --- /dev/null +++ b/assets/js/cb3c2681.1eb5c804.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[86364],{63068:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var i=s(17624),t=s(4552);const o={id:"dynamic-import",title:"Dynamic Import"},r=void 0,l={id:"legacy/v6/basics/dynamic-import",title:"Dynamic Import",description:"docs-source",source:"@site/docs/legacy/v6/basics/dynamic-import.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/dynamic-import",permalink:"/docs/legacy/v6/basics/dynamic-import",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"dynamic-import",title:"Dynamic Import"},sidebar:"docs",previous:{title:"Browsersync",permalink:"/docs/legacy/v6/basics/browser-sync"},next:{title:"Blocks",permalink:"/docs/legacy/v6/basics/blocks"}},a={},c=[{value:"How does it work?",id:"how-does-it-work",level:2},{value:"Example",id:"example",level:2},{value:"index.js",id:"indexjs",level:3},{value:"carousel-slider.js",id:"carousel-sliderjs",level:3}];function d(e){const n={a:"a",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0",children:(0,i.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsxs)(n.p,{children:["As JavaScript code runs on the visitor's device, it's crucial that it's as fast and optimized as possible. A powerful tool from Webpack called ",(0,i.jsx)(n.a,{href:"https://webpack.js.org/guides/code-splitting/#dynamic-imports",children:"dynamic imports"})," helps with that."]}),"\n",(0,i.jsx)(n.p,{children:"Dynamic imports provide us the ability to load our JavaScript code only when it's used."}),"\n",(0,i.jsx)(n.p,{children:"By writing all JavaScript code using dynamic imports, we can reap significant benefits:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"optimize loading time"}),"\n",(0,i.jsx)(n.li,{children:"reduce the size of finished bundled JavaScript code"}),"\n",(0,i.jsx)(n.li,{children:"have websites that are fast, which can positively impact your SEO rating"}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"how-does-it-work",children:"How does it work?"}),"\n",(0,i.jsxs)(n.p,{children:["In a nutshell, you load all your code using JavaScript promises. Webpack splits all these promises into separate file chunks. Once the condition to resolve the promise is set (generally, if a selector is present in the DOM), Webpack automatically injects your chunk in the DOM and loads it up. This is why you will see a bunch of smaller files (",(0,i.jsx)(n.code,{children:"0.js"}),", ",(0,i.jsx)(n.code,{children:"1.js"}),", ",(0,i.jsx)(n.code,{children:"2.js"}),", etc) in your public folder instead of a single large file."]}),"\n",(0,i.jsx)(n.p,{children:"You don't need to think about this. Webpack just does it for you."}),"\n",(0,i.jsx)(n.h2,{id:"example",children:"Example"}),"\n",(0,i.jsx)(n.p,{children:"For example, let's make a carousel. An Eightshift convention is to write JavaScript code using classes, so we'll provide an example for that. However, you can use this approach with functions as well."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"We have two files:"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"index.js"})," - the main entry point for your JavaScript feature."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"className.js"})," - class with your JavaScript features that you can reuse."]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"indexjs",children:"index.js"}),"\n",(0,i.jsx)(n.p,{children:"This is a version where you have multiple instances of a feature on one page. If you are creating a feature for your block/component, you'll use something along these lines."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"import domReady from '@wordpress/dom-ready';\nimport { blockJsClass, blockName } from '../manifest.json';\n\n// Use this helper to make sure this code is executed when everything in DOM is set.\ndomReady(() => {\n\n // Provide selectors to check.\n const selector = `.${blockJsClass}`;\n const elements = document.querySelectorAll(selector);\n\n // This is the important part - if this condition is true, this promise will resolve and your chunk will be loaded in the DOM.\n if (!elements.length) {\n return;\n }\n\n // Normally load and resolve a promise on file import.\n const { CarouselSlider } = await import('./carousel-slider');\n\n // Loop possible multiple iterations.\n [...elements].forEach((element) => {\n const carouselSlider = new CarouselSlider({\n element,\n nextElement: `${selector}-next-arrow`,\n prevElement: `${selector}-prev-arrow`,\n });\n\n // Run and init function that starts everything in your class.\n carouselSlider.init();\n });\n});\n"})}),"\n",(0,i.jsxs)(n.p,{children:["If you are sure you will have only one instance of this feature on one-page, you can use the following code in your ",(0,i.jsx)(n.code,{children:"index.js"})," file."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"import domReady from '@wordpress/dom-ready';\nimport { blockJsClass, blockName } from '../manifest.json';\n\n// Use this helper to make sure this code is executed when everything in DOM is set.\ndomReady(() => {\n\n // Provide selectors to check.\n const selector = `.${blockJsClass}`;\n const element = document.querySelector(selector);\n\n // This is the important part. Because of it, your code will only be imported when there's an element on the page that uses it.\n if (!element) {\n return;\n }\n\n // Normally load and resolve a promise on file import.\n const { CarouselSlider } = await import('./carousel-slider');\n\n const carouselSlider = new CarouselSlider({\n element,\n nextElement: `${selector}-next-arrow`,\n prevElement: `${selector}-prev-arrow`,\n });\n\n // Run and init function that starts everything in your class.\n carouselSlider.init();\n});\n"})}),"\n",(0,i.jsx)(n.h3,{id:"carousel-sliderjs",children:"carousel-slider.js"}),"\n",(0,i.jsx)(n.p,{children:"This is a normal class with some JavaScript functionality."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"import Swiper from 'swiper';\n\nexport class CarouselSlider {\n constructor(options) {\n this.element = options.element;\n this.nextElement = options.nextElement;\n this.prevElement = options.prevElement;\n }\n\n init() {\n new Swiper(\n this.element,\n {\n // ...\n navigation: {\n nextEl: this.nextElement,\n prevEl: this.prevElement,\n },\n // ...\n }\n );\n }\n}\n"})})]})}function h(e={}){const{wrapper:n}={...(0,t.M)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},4552:(e,n,s)=>{s.d(n,{I:()=>l,M:()=>r});var i=s(11504);const t={},o=i.createContext(t);function r(e){const n=i.useContext(o);return i.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(t):e.components||t:r(e.components),i.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/cb3c2681.d9ccfa82.js b/assets/js/cb3c2681.d9ccfa82.js deleted file mode 100644 index ccbb3a39c..000000000 --- a/assets/js/cb3c2681.d9ccfa82.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[97607],{7762:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var i=s(85893),t=s(11151);const o={id:"dynamic-import",title:"Dynamic Import"},r=void 0,l={id:"legacy/v6/basics/dynamic-import",title:"Dynamic Import",description:"docs-source",source:"@site/docs/legacy/v6/basics/dynamic-import.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/dynamic-import",permalink:"/docs/legacy/v6/basics/dynamic-import",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"dynamic-import",title:"Dynamic Import"},sidebar:"docs",previous:{title:"Browsersync",permalink:"/docs/legacy/v6/basics/browser-sync"},next:{title:"Blocks",permalink:"/docs/legacy/v6/basics/blocks"}},a={},c=[{value:"How does it work?",id:"how-does-it-work",level:2},{value:"Example",id:"example",level:2},{value:"index.js",id:"indexjs",level:3},{value:"carousel-slider.js",id:"carousel-sliderjs",level:3}];function d(e){const n={a:"a",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0",children:(0,i.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsxs)(n.p,{children:["As JavaScript code runs on the visitor's device, it's crucial that it's as fast and optimized as possible. A powerful tool from Webpack called ",(0,i.jsx)(n.a,{href:"https://webpack.js.org/guides/code-splitting/#dynamic-imports",children:"dynamic imports"})," helps with that."]}),"\n",(0,i.jsx)(n.p,{children:"Dynamic imports provide us the ability to load our JavaScript code only when it's used."}),"\n",(0,i.jsx)(n.p,{children:"By writing all JavaScript code using dynamic imports, we can reap significant benefits:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"optimize loading time"}),"\n",(0,i.jsx)(n.li,{children:"reduce the size of finished bundled JavaScript code"}),"\n",(0,i.jsx)(n.li,{children:"have websites that are fast, which can positively impact your SEO rating"}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"how-does-it-work",children:"How does it work?"}),"\n",(0,i.jsxs)(n.p,{children:["In a nutshell, you load all your code using JavaScript promises. Webpack splits all these promises into separate file chunks. Once the condition to resolve the promise is set (generally, if a selector is present in the DOM), Webpack automatically injects your chunk in the DOM and loads it up. This is why you will see a bunch of smaller files (",(0,i.jsx)(n.code,{children:"0.js"}),", ",(0,i.jsx)(n.code,{children:"1.js"}),", ",(0,i.jsx)(n.code,{children:"2.js"}),", etc) in your public folder instead of a single large file."]}),"\n",(0,i.jsx)(n.p,{children:"You don't need to think about this. Webpack just does it for you."}),"\n",(0,i.jsx)(n.h2,{id:"example",children:"Example"}),"\n",(0,i.jsx)(n.p,{children:"For example, let's make a carousel. An Eightshift convention is to write JavaScript code using classes, so we'll provide an example for that. However, you can use this approach with functions as well."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"We have two files:"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"index.js"})," - the main entry point for your JavaScript feature."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"className.js"})," - class with your JavaScript features that you can reuse."]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"indexjs",children:"index.js"}),"\n",(0,i.jsx)(n.p,{children:"This is a version where you have multiple instances of a feature on one page. If you are creating a feature for your block/component, you'll use something along these lines."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"import domReady from '@wordpress/dom-ready';\nimport { blockJsClass, blockName } from '../manifest.json';\n\n// Use this helper to make sure this code is executed when everything in DOM is set.\ndomReady(() => {\n\n // Provide selectors to check.\n const selector = `.${blockJsClass}`;\n const elements = document.querySelectorAll(selector);\n\n // This is the important part - if this condition is true, this promise will resolve and your chunk will be loaded in the DOM.\n if (!elements.length) {\n return;\n }\n\n // Normally load and resolve a promise on file import.\n const { CarouselSlider } = await import('./carousel-slider');\n\n // Loop possible multiple iterations.\n [...elements].forEach((element) => {\n const carouselSlider = new CarouselSlider({\n element,\n nextElement: `${selector}-next-arrow`,\n prevElement: `${selector}-prev-arrow`,\n });\n\n // Run and init function that starts everything in your class.\n carouselSlider.init();\n });\n});\n"})}),"\n",(0,i.jsxs)(n.p,{children:["If you are sure you will have only one instance of this feature on one-page, you can use the following code in your ",(0,i.jsx)(n.code,{children:"index.js"})," file."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"import domReady from '@wordpress/dom-ready';\nimport { blockJsClass, blockName } from '../manifest.json';\n\n// Use this helper to make sure this code is executed when everything in DOM is set.\ndomReady(() => {\n\n // Provide selectors to check.\n const selector = `.${blockJsClass}`;\n const element = document.querySelector(selector);\n\n // This is the important part. Because of it, your code will only be imported when there's an element on the page that uses it.\n if (!element) {\n return;\n }\n\n // Normally load and resolve a promise on file import.\n const { CarouselSlider } = await import('./carousel-slider');\n\n const carouselSlider = new CarouselSlider({\n element,\n nextElement: `${selector}-next-arrow`,\n prevElement: `${selector}-prev-arrow`,\n });\n\n // Run and init function that starts everything in your class.\n carouselSlider.init();\n});\n"})}),"\n",(0,i.jsx)(n.h3,{id:"carousel-sliderjs",children:"carousel-slider.js"}),"\n",(0,i.jsx)(n.p,{children:"This is a normal class with some JavaScript functionality."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"import Swiper from 'swiper';\n\nexport class CarouselSlider {\n constructor(options) {\n this.element = options.element;\n this.nextElement = options.nextElement;\n this.prevElement = options.prevElement;\n }\n\n init() {\n new Swiper(\n this.element,\n {\n // ...\n navigation: {\n nextEl: this.nextElement,\n prevEl: this.prevElement,\n },\n // ...\n }\n );\n }\n}\n"})})]})}function h(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},11151:(e,n,s)=>{s.d(n,{Z:()=>l,a:()=>r});var i=s(67294);const t={},o=i.createContext(t);function r(e){const n=i.useContext(o);return i.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(t):e.components||t:r(e.components),i.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/cb7a22d0.0483d508.js b/assets/js/cb7a22d0.0483d508.js deleted file mode 100644 index 3c241f8e8..000000000 --- a/assets/js/cb7a22d0.0483d508.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[99958],{11895:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>a,metadata:()=>l,toc:()=>p});var n=s(85893),i=s(11151),r=s(22130);const a={id:"step",title:"Step"},o=void 0,l={id:"javascript/state/step",title:"Step",description:"The step object contains methods used in multi-step/multi-flow forms.",source:"@site/forms/javascript/state/step.mdx",sourceDirName:"javascript/state",slug:"/javascript/state/step",permalink:"/forms/javascript/state/step",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"step",title:"Step"},sidebar:"forms",previous:{title:"Enrichment",permalink:"/forms/javascript/state/enrichment"},next:{title:"Captcha",permalink:"/forms/javascript/state/captcha"}},c={},p=[{value:"Example",id:"example",level:3}];function d(e){const t={a:"a",admonition:"admonition",code:"code",h3:"h3",p:"p",pre:"pre",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(t.p,{children:["The ",(0,n.jsx)(t.code,{children:"step"})," object contains methods used in multi-step/multi-flow forms."]}),"\n",(0,n.jsx)(t.admonition,{type:"tip",children:(0,n.jsxs)(t.p,{children:["For more details about this feature visit ",(0,n.jsx)(t.a,{href:"/forms/features/multisteps-forms",children:"multi-steps"})," feature."]})}),"\n",(0,n.jsx)(r.D,{name:"Step",filter:"step"}),"\n",(0,n.jsx)(t.h3,{id:"example",children:"Example"}),"\n",(0,n.jsxs)(t.p,{children:["This example will change the form step to the provided step ",(0,n.jsx)(t.code,{children:"id"}),"."]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-js",children:"window?.esForms?.step?.goToNextStep('<formId>', '<nextStepId>');\n"})})]})}function h(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},22130:(e,t,s)=>{s.d(t,{D:()=>a});s(67294);var n=s(9286),i=s(61684),r=s(85893);function a(e){const{name:t,filter:s,url:a}=e,o="https://github.com/infinum/eightshift-forms/blob/develop/src/Blocks/components/form/assets/"+a+".js";return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("h3",{children:"Usage"}),(0,r.jsxs)("p",{children:["To access ",t," object and all its customization options use your browsers console and type:"]}),(0,r.jsx)(n.Z,{language:"js",children:(0,i.p)("\n\t\t\t\twindow?.esForms?."+s+"\n\t\t\t")}),a&&(0,r.jsxs)("p",{children:["You can find all methods and their documentation on this ",(0,r.jsx)("a",{href:o,target:"_blank",rel:"noopener noreferrer",children:"link"}),"."]})]})}},61684:(e,t,s)=>{function n(e){const t=e.split(/\n/g);for(;0===(null==(s=t[0])?void 0:s.replace(/\s/g,"").length);){var s;t.shift()}for(;0===(null==(n=t[t.length-1])?void 0:n.replace(/\s/g,"").length);){var n;t.pop()}const i=e.split(/\n/g).filter((e=>e.replace(/\s/g,"").length>0)).map((e=>{var t,s;return null!=(t=null==(s=e.match(/^\s*/))||null==(s=s[0])?void 0:s.length)?t:0})),r=Math.min(...i);return t.map((e=>e.slice(r))).join("\n")}s.d(t,{p:()=>n})}}]); \ No newline at end of file diff --git a/assets/js/cb7a22d0.5fbe69ed.js b/assets/js/cb7a22d0.5fbe69ed.js new file mode 100644 index 000000000..f9549f883 --- /dev/null +++ b/assets/js/cb7a22d0.5fbe69ed.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[77576],{18176:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>p});var n=s(17624),i=s(4552),r=s(13536);const o={id:"step",title:"Step"},a=void 0,c={id:"javascript/state/step",title:"Step",description:"The step object contains methods used in multi-step/multi-flow forms.",source:"@site/forms/javascript/state/step.mdx",sourceDirName:"javascript/state",slug:"/javascript/state/step",permalink:"/forms/javascript/state/step",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"step",title:"Step"},sidebar:"forms",previous:{title:"Enrichment",permalink:"/forms/javascript/state/enrichment"},next:{title:"Captcha",permalink:"/forms/javascript/state/captcha"}},l={},p=[{value:"Example",id:"example",level:3}];function d(e){const t={a:"a",admonition:"admonition",code:"code",h3:"h3",p:"p",pre:"pre",...(0,i.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(t.p,{children:["The ",(0,n.jsx)(t.code,{children:"step"})," object contains methods used in multi-step/multi-flow forms."]}),"\n",(0,n.jsx)(t.admonition,{type:"tip",children:(0,n.jsxs)(t.p,{children:["For more details about this feature visit ",(0,n.jsx)(t.a,{href:"/forms/features/multisteps-forms",children:"multi-steps"})," feature."]})}),"\n",(0,n.jsx)(r.g,{name:"Step",filter:"step"}),"\n",(0,n.jsx)(t.h3,{id:"example",children:"Example"}),"\n",(0,n.jsxs)(t.p,{children:["This example will change the form step to the provided step ",(0,n.jsx)(t.code,{children:"id"}),"."]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-js",children:"window?.esForms?.step?.goToNextStep('<formId>', '<nextStepId>');\n"})})]})}function h(e={}){const{wrapper:t}={...(0,i.M)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},13536:(e,t,s)=>{s.d(t,{g:()=>o});s(11504);var n=s(1608),i=s(96616),r=s(17624);function o(e){const{name:t,filter:s,url:o}=e,a=`https://github.com/infinum/eightshift-forms/blob/develop/src/Blocks/components/form/assets/${o}.js`;return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("h3",{children:"Usage"}),(0,r.jsxs)("p",{children:["To access ",t," object and all its customization options use your browsers console and type:"]}),(0,r.jsx)(n.c,{language:"js",children:(0,i.c)(`\n\t\t\t\twindow?.esForms?.${s}\n\t\t\t`)}),o&&(0,r.jsxs)("p",{children:["You can find all methods and their documentation on this ",(0,r.jsx)("a",{href:a,target:"_blank",rel:"noopener noreferrer",children:"link"}),"."]})]})}},96616:(e,t,s)=>{function n(e){const t=e.split(/\n/g);for(;0===t[0]?.replace(/\s/g,"").length;)t.shift();for(;0===t[t.length-1]?.replace(/\s/g,"").length;)t.pop();const s=e.split(/\n/g).filter((e=>e.replace(/\s/g,"").length>0)).map((e=>e.match(/^\s*/)?.[0]?.length??0)),n=Math.min(...s);return t.map((e=>e.slice(n))).join("\n")}s.d(t,{c:()=>n})}}]); \ No newline at end of file diff --git a/assets/js/ccc49370.b157fed1.js b/assets/js/ccc49370.b157fed1.js new file mode 100644 index 000000000..62c2218e0 --- /dev/null +++ b/assets/js/ccc49370.b157fed1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[66344,26752],{18320:(e,n,t)=>{t.r(n),t.d(n,{default:()=>x});t(11504);var i=t(65456),s=t(85008),a=t(45864),o=t(83152),l=t(9452),r=t(57792),c=t(84357),d=t(70308),u=t(17624);function m(e){const{nextItem:n,prevItem:t}=e;return(0,u.jsxs)("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,c.G)({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.c,{...t,subLabel:(0,u.jsx)(c.c,{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.c,{...n,subLabel:(0,u.jsx)(c.c,{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.g)(),{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.U7,{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(75124),f=t(61528);function v(e){let{sidebar:n,children:t}=e;const{metadata:i,toc:s}=(0,o.g)(),{nextItem:a,prevItem:c,frontMatter:d,unlisted:g}=i,{hide_table_of_contents:v,toc_min_heading_level:x,toc_max_heading_level:p}=d;return(0,u.jsxs)(l.c,{sidebar:n,toc:!v&&s.length>0?(0,u.jsx)(h.c,{toc:s,minHeadingLevel:x,maxHeadingLevel:p}):void 0,children:[g&&(0,u.jsx)(f.c,{}),(0,u.jsx)(r.c,{children:t}),(a||c)&&(0,u.jsx)(m,{nextItem:a,prevItem:c})]})}function x(e){const n=e.content;return(0,u.jsx)(o.E,{content:e.content,isBlogPostPage:!0,children:(0,u.jsxs)(s.cr,{className:(0,i.c)(a.W.wrapper.blogPages,a.W.page.blogPostPage),children:[(0,u.jsx)(g,{}),(0,u.jsx)(v,{sidebar:e.sidebar,children:(0,u.jsx)(n,{})})]})})}},75124:(e,n,t)=>{t.d(n,{c:()=>c});t(11504);var i=t(65456),s=t(43088);const a={tableOfContents:"tableOfContents_bqdL",docItemContainer:"docItemContainer_F8PC"};var o=t(17624);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.c)(a.tableOfContents,"thin-scrollbar",n),children:(0,o.jsx)(s.c,{...t,linkClassName:l,linkActiveClassName:r})})}},43088:(e,n,t)=>{t.d(n,{c:()=>f});var i=t(11504),s=t(21824);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.y)();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(10867),m=t(17624);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.c,{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.y)(),v=c??f.tableOfContents.minHeadingLevel,x=u??f.tableOfContents.maxHeadingLevel,p=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:x});return d((0,i.useMemo)((()=>{if(l&&r)return{linkClassName:l,linkActiveClassName:r,minHeadingLevel:v,maxHeadingLevel:x}}),[l,r,v,x])),(0,m.jsx)(h,{toc:p,className:t,linkClassName:l,...g})}},61528:(e,n,t)=>{t.d(n,{c:()=>g});t(11504);var i=t(65456),s=t(84357),a=t(56952),o=t(17624);function l(){return(0,o.jsx)(s.c,{id:"theme.unlistedContent.title",description:"The unlisted content banner title",children:"Unlisted page"})}function r(){return(0,o.jsx)(s.c,{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.c,{children:(0,o.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}var d=t(45864),u=t(28952);function m(e){let{className:n}=e;return(0,o.jsx)(u.c,{type:"caution",title:(0,o.jsx)(l,{}),className:(0,i.c)(n,d.W.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})]})}},28952:(e,n,t)=>{t.d(n,{c:()=>a});t(11504);var i=t(50236),s=t(17624);function a(e){return(0,s.jsx)(i.Ok,{...e})}}}]); \ No newline at end of file diff --git a/assets/js/ccc49370.f2e8965c.js b/assets/js/ccc49370.f2e8965c.js deleted file mode 100644 index 1685a7ca7..000000000 --- a/assets/js/ccc49370.f2e8965c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[46103,27918],{65203:(e,n,t)=>{t.r(n),t.d(n,{default:()=>x});t(67294);var i=t(36905),a=t(10833),s=t(35281),l=t(9460),o=t(61460),r=t(30390),c=t(95999),d=t(32244),u=t(85893);function m(e){const{nextItem:n,prevItem:t}=e;return(0,u.jsxs)("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,c.I)({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.Z,{...t,subLabel:(0,u.jsx)(c.Z,{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.Z,{...n,subLabel:(0,u.jsx)(c.Z,{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(){var e;const{assets:n,metadata:t}=(0,l.C)(),{title:i,description:s,date:o,tags:r,authors:c,frontMatter:d}=t,{keywords:m}=d,g=null!=(e=n.image)?e:d.image;return(0,u.jsxs)(a.d,{title:i,description:s,keywords:m,image:g,children:[(0,u.jsx)("meta",{property:"og:type",content:"article"}),(0,u.jsx)("meta",{property:"article:published_time",content:o}),c.some((e=>e.url))&&(0,u.jsx)("meta",{property:"article:author",content:c.map((e=>e.url)).filter(Boolean).join(",")}),r.length>0&&(0,u.jsx)("meta",{property:"article:tag",content:r.map((e=>e.label)).join(",")})]})}var h=t(39407),f=t(22212);function v(e){let{sidebar:n,children:t}=e;const{metadata:i,toc:a}=(0,l.C)(),{nextItem:s,prevItem:c,frontMatter:d,unlisted:g}=i,{hide_table_of_contents:v,toc_min_heading_level:x,toc_max_heading_level:p}=d;return(0,u.jsxs)(o.Z,{sidebar:n,toc:!v&&a.length>0?(0,u.jsx)(h.Z,{toc:a,minHeadingLevel:x,maxHeadingLevel:p}):void 0,children:[g&&(0,u.jsx)(f.Z,{}),(0,u.jsx)(r.Z,{children:t}),(s||c)&&(0,u.jsx)(m,{nextItem:s,prevItem:c})]})}function x(e){const n=e.content;return(0,u.jsx)(l.n,{content:e.content,isBlogPostPage:!0,children:(0,u.jsxs)(a.FG,{className:(0,i.Z)(s.k.wrapper.blogPages,s.k.page.blogPostPage),children:[(0,u.jsx)(g,{}),(0,u.jsx)(v,{sidebar:e.sidebar,children:(0,u.jsx)(n,{})})]})})}},39407:(e,n,t)=>{t.d(n,{Z:()=>c});t(67294);var i=t(36905),a=t(93743);const s={tableOfContents:"tableOfContents_bqdL",docItemContainer:"docItemContainer_F8PC"};var l=t(85893);const o="table-of-contents__link toc-highlight",r="table-of-contents__link--active";function c(e){let{className:n,...t}=e;return(0,l.jsx)("div",{className:(0,i.Z)(s.tableOfContents,"thin-scrollbar",n),children:(0,l.jsx)(a.Z,{...t,linkClassName:o,linkActiveClassName:r})})}},93743:(e,n,t)=>{t.d(n,{Z:()=>f});var i=t(67294),a=t(86668);function s(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,...a}=e;t>=0?n[t].children.push(a):i.push(a)})),i}function l(e){let{toc:n,minHeadingLevel:t,maxHeadingLevel:i}=e;return n.flatMap((e=>{const n=l({toc:e.children,minHeadingLevel:t,maxHeadingLevel:i});return function(e){return e.level>=t&&e.level<=i}(e)?[{...e,children:n}]:n}))}function o(e){const n=e.getBoundingClientRect();return n.top===n.bottom?o(e.parentNode):n}function r(e,n){var t;let{anchorTopOffset:i}=n;const a=e.find((e=>o(e).top>=i));if(a){var s;return function(e){return e.top>0&&e.bottom<window.innerHeight/2}(o(a))?a:null!=(s=e[e.indexOf(a)-1])?s:null}return null!=(t=e[e.length-1])?t:null}function c(){const e=(0,i.useRef)(0),{navbar:{hideOnScroll:n}}=(0,a.L)();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:a,minHeadingLevel:s,maxHeadingLevel:l}=e;function o(){const e=function(e){return Array.from(document.getElementsByClassName(e))}(i),o=function(e){let{minHeadingLevel:n,maxHeadingLevel:t}=e;const i=[];for(let a=n;a<=t;a+=1)i.push("h"+a+".anchor");return Array.from(document.querySelectorAll(i.join()))}({minHeadingLevel:s,maxHeadingLevel:l}),c=r(o,{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(a),e.classList.add(a),n.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,t])}var u=t(33692),m=t(85893);function g(e){let{toc:n,className:t,linkClassName:i,isChild:a}=e;return n.length?(0,m.jsx)("ul",{className:a?void 0:t,children:n.map((e=>(0,m.jsxs)("li",{children:[(0,m.jsx)(u.Z,{to:"#"+e.id,className:null!=i?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:o="table-of-contents__link",linkActiveClassName:r,minHeadingLevel:c,maxHeadingLevel:u,...g}=e;const f=(0,a.L)(),v=null!=c?c:f.tableOfContents.minHeadingLevel,x=null!=u?u:f.tableOfContents.maxHeadingLevel,p=function(e){let{toc:n,minHeadingLevel:t,maxHeadingLevel:a}=e;return(0,i.useMemo)((()=>l({toc:s(n),minHeadingLevel:t,maxHeadingLevel:a})),[n,t,a])}({toc:n,minHeadingLevel:v,maxHeadingLevel:x});return d((0,i.useMemo)((()=>{if(o&&r)return{linkClassName:o,linkActiveClassName:r,minHeadingLevel:v,maxHeadingLevel:x}}),[o,r,v,x])),(0,m.jsx)(h,{toc:p,className:t,linkClassName:o,...g})}},22212:(e,n,t)=>{t.d(n,{Z:()=>g});t(67294);var i=t(36905),a=t(95999),s=t(35742),l=t(85893);function o(){return(0,l.jsx)(a.Z,{id:"theme.unlistedContent.title",description:"The unlisted content banner title",children:"Unlisted page"})}function r(){return(0,l.jsx)(a.Z,{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)(s.Z,{children:(0,l.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}var d=t(35281),u=t(25943);function m(e){let{className:n}=e;return(0,l.jsx)(u.Z,{type:"caution",title:(0,l.jsx)(o,{}),className:(0,i.Z)(n,d.k.common.unlistedBanner),children:(0,l.jsx)(r,{})})}function g(e){return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(c,{}),(0,l.jsx)(m,{...e})]})}},25943:(e,n,t)=>{t.d(n,{Z:()=>s});t(67294);var i=t(38970),a=t(85893);function s(e){return(0,a.jsx)(i.SV,{...e})}}}]); \ No newline at end of file diff --git a/assets/js/ccea3a4d.0f97d1eb.js b/assets/js/ccea3a4d.0f97d1eb.js deleted file mode 100644 index df079d512..000000000 --- a/assets/js/ccea3a4d.0f97d1eb.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[3168],{15816:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>d,contentTitle:()=>r,default:()=>h,frontMatter:()=>t,metadata:()=>l,toc:()=>c});var o=n(85893),i=n(11151);const t={id:"block-structure",title:"Block Structure"},r=void 0,l={id:"legacy/v7/basics/block-structure",title:"Block Structure",description:"docs-source",source:"@site/docs/legacy/v7/basics/block-structure.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/block-structure",permalink:"/docs/legacy/v7/basics/block-structure",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"block-structure",title:"Block Structure"},sidebar:"docs",previous:{title:"Global Manifest",permalink:"/docs/legacy/v7/basics/blocks-global-manifest"},next:{title:"Component Structure",permalink:"/docs/legacy/v7/basics/blocks-component-structure"}},d={},c=[{value:"assets",id:"assets",level:3},{value:"components",id:"components",level:3},{value:"docs",id:"docs",level:3},{value:"heading-block.js",id:"heading-blockjs",level:3},{value:"heading.php",id:"headingphp",level:3},{value:"heading-editor.scss",id:"heading-editorscss",level:3},{value:"heading-style.scss",id:"heading-stylescss",level:3},{value:"heading-hooks.js",id:"heading-hooksjs",level:3},{value:"heading-transforms.js",id:"heading-transformsjs",level:3},{value:"manifest.json",id:"manifestjson",level:3}];function a(e){const s={a:"a",code:"code",em:"em",h3:"h3",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s.p,{children:(0,o.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/",children:(0,o.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsxs)(s.p,{children:["Your custom blocks are placed in the ",(0,o.jsx)(s.code,{children:"src/Blocks/custom"})," folder."]}),"\n",(0,o.jsxs)(s.p,{children:["For example, let's take the heading block (just replace ",(0,o.jsx)(s.code,{children:"heading"})," with your block name)."]}),"\n",(0,o.jsxs)(s.p,{children:["We suggest you always use the full name and never abbreviate the block name. If your block has multiple words, you should separate them by a dash, for example, ",(0,o.jsx)(s.code,{children:"featured-post-block.js"}),"."]}),"\n",(0,o.jsx)(s.p,{children:(0,o.jsx)(s.strong,{children:"Block structure should look like this:"})}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:["heading","\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:["assets","\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsx)(s.li,{children:"index.js"}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(s.li,{children:["components","\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsx)(s.li,{children:"heading-editor.js"}),"\n",(0,o.jsx)(s.li,{children:"heading-options.js"}),"\n",(0,o.jsx)(s.li,{children:"heading-toolbar.js"}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(s.li,{children:["docs","\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsx)(s.li,{children:"story.js"}),"\n",(0,o.jsx)(s.li,{children:"readme.mdx"}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(s.li,{children:"heading-block.js"}),"\n",(0,o.jsx)(s.li,{children:"heading.php"}),"\n",(0,o.jsx)(s.li,{children:"heading-editor.scss"}),"\n",(0,o.jsx)(s.li,{children:"heading-style.scss"}),"\n",(0,o.jsx)(s.li,{children:"heading-hooks.js"}),"\n",(0,o.jsx)(s.li,{children:"heading-transforms.js"}),"\n",(0,o.jsx)(s.li,{children:"manifest.json"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(s.p,{children:["For example, you can check the ",(0,o.jsx)(s.a,{href:"/storybook",children:"storybook"}),"."]}),"\n",(0,o.jsx)(s.h3,{id:"assets",children:"assets"}),"\n",(0,o.jsxs)(s.p,{children:["In this folder, you'll define all the custom JavaScript functionality for your block that will only be used on the front end of the application. You must provide the ",(0,o.jsx)(s.code,{children:"index.js"})," file in this folder, as a starting point, and the rest is up to you. We recommend using ",(0,o.jsx)(s.a,{href:"dynamic-import",children:"JavaScript dynamic imports"})," for all your front-end scripts. This ensures that the JavaScript is only loaded in the application when it is used and not before. By using dynamic import, you optimize your application and make it load faster."]}),"\n",(0,o.jsx)(s.h3,{id:"components",children:"components"}),"\n",(0,o.jsxs)(s.p,{children:["Components folder holds three files: ",(0,o.jsx)(s.code,{children:"heading-options.js"}),", ",(0,o.jsx)(s.code,{children:"heading-editor.js"}),", and ",(0,o.jsx)(s.code,{children:"heading-toolbars.js"}),". Each of these files represents a part of the block editor block that is used in the editor. We have separated options, editor, and toolbar into separate components for readability and reusing components in different projects."]}),"\n",(0,o.jsx)(s.h3,{id:"docs",children:"docs"}),"\n",(0,o.jsx)(s.p,{children:"Contains everything a block needs to be run inside the Storybook. This part is optional. However, it will speed up your development time and provide you with much-needed documentation."}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"story.js"})," - Storybook entry point for your block. All blocks have the exact same story."]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"readme.mdx"})," - README document that describes your block and provides the documentation."]}),"\n"]}),"\n",(0,o.jsx)(s.h3,{id:"heading-blockjs",children:"heading-block.js"}),"\n",(0,o.jsxs)(s.p,{children:["This file represents the ",(0,o.jsx)(s.code,{children:"edit"})," callback method used in WordPress ",(0,o.jsx)(s.code,{children:"registerBlockType"})," method.\nWe are not using the ",(0,o.jsx)(s.code,{children:"save"})," callback method because we are creating dynamic blocks. The ",(0,o.jsx)(s.code,{children:"edit"})," method describes how your block will be rendered in the editor once the block is used. In this file, you can use more advanced stuff like hooks and all the top-level block features."]}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"heading-options.js"})," - must be wrapped with the ",(0,o.jsx)(s.code,{children:"InspectorControls"})," component from the core. This will ensure that options are shown in the proper place in the block editor (sidebar)."]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"heading-toolbar.js"})," - must be wrapped with the ",(0,o.jsx)(s.code,{children:"BlockControls"})," component from the core. This will ensure that the toolbar is shown in the proper place in the block editor (floating or fixed toolbar)."]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"heading-editor.js"})," - must ",(0,o.jsx)(s.strong,{children:"not"})," be wrapped with any top-level component. This will ensure that the editor component is shown in the proper place in the block editor (editor)."]}),"\n"]}),"\n",(0,o.jsx)(s.h3,{id:"headingphp",children:"heading.php"}),"\n",(0,o.jsxs)(s.p,{children:["This file is the front-end representation of a block. In this file, you will have all the attributes you defined in the ",(0,o.jsx)(s.code,{children:"manifest.json"})," file."]}),"\n",(0,o.jsx)(s.p,{children:"In the blocks PHP part, you always have these two properties (props) available:"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"$attributes"})," - This prop contains all the attributes you defined in the ",(0,o.jsx)(s.code,{children:"manifest.json"})," and all the attributes saved in the database."]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"$innerBlockContent"})," - This prop contains all the inner block details when you set your block to contain inner blocks."]}),"\n"]}),"\n",(0,o.jsx)(s.h3,{id:"heading-editorscss",children:"heading-editor.scss"}),"\n",(0,o.jsx)(s.p,{children:"Holds only the editor styling for the block. You should be using this file to override styles in the editor set by the component. In 90% of cases, you will not need to write any overrides here. But if you are using any column layout like a grid, flex, etc., you may need to add some corrections."}),"\n",(0,o.jsx)(s.p,{children:"Corrections in the grid layout are necessary because the block editor adds additional HTML and we can't change it."}),"\n",(0,o.jsxs)(s.p,{children:["Please read the ",(0,o.jsx)(s.a,{href:"blocks-styles",children:"block styles"})," chapter for more details."]}),"\n",(0,o.jsxs)(s.p,{children:[(0,o.jsx)(s.em,{children:"This file is optional"}),"."]}),"\n",(0,o.jsx)(s.h3,{id:"heading-stylescss",children:"heading-style.scss"}),"\n",(0,o.jsx)(s.p,{children:"Holds all the front-end and editor styling for the component."}),"\n",(0,o.jsxs)(s.p,{children:["Please read the ",(0,o.jsx)(s.a,{href:"blocks-styles",children:"block styles"})," chapter for more details."]}),"\n",(0,o.jsxs)(s.p,{children:[(0,o.jsx)(s.em,{children:"This file is optional"}),"."]}),"\n",(0,o.jsx)(s.h3,{id:"heading-hooksjs",children:"heading-hooks.js"}),"\n",(0,o.jsxs)(s.p,{children:["Here you can provide any custom block editor hook you need. For documentation, please refer to ",(0,o.jsx)(s.a,{href:"https://developer.wordpress.org/block-editor/developers/filters/block-filters/",children:"this link"}),". This file is going to be merged in the ",(0,o.jsx)(s.code,{children:"registerBlockType"})," method."]}),"\n",(0,o.jsx)(s.h3,{id:"heading-transformsjs",children:"heading-transforms.js"}),"\n",(0,o.jsxs)(s.p,{children:["Here you can provide any custom block transformation you need. For documentation, please refer to ",(0,o.jsx)(s.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-transforms/",children:"this link"}),". This file is going to be merged in the ",(0,o.jsx)(s.code,{children:"registerBlockType"})," method."]}),"\n",(0,o.jsx)(s.h3,{id:"manifestjson",children:"manifest.json"}),"\n",(0,o.jsxs)(s.p,{children:["This file contains all the configuration required for a block to work. It's used in WordPress ",(0,o.jsx)(s.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-registration/",children:(0,o.jsx)(s.code,{children:"registerBlockType"})})," method to register a block."]}),"\n",(0,o.jsxs)(s.p,{children:["For more details, check the ",(0,o.jsx)(s.a,{href:"block-manifest",children:"block manifest"})," chapter."]})]})}function h(e={}){const{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,o.jsx)(s,{...e,children:(0,o.jsx)(a,{...e})}):a(e)}},11151:(e,s,n)=>{n.d(s,{Z:()=>l,a:()=>r});var o=n(67294);const i={},t=o.createContext(i);function r(e){const s=o.useContext(t);return o.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),o.createElement(t.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ccea3a4d.7c513ca2.js b/assets/js/ccea3a4d.7c513ca2.js new file mode 100644 index 000000000..c6bf0779e --- /dev/null +++ b/assets/js/ccea3a4d.7c513ca2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[21444],{79020:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>d,contentTitle:()=>r,default:()=>a,frontMatter:()=>t,metadata:()=>l,toc:()=>c});var o=n(17624),i=n(4552);const t={id:"block-structure",title:"Block Structure"},r=void 0,l={id:"legacy/v7/basics/block-structure",title:"Block Structure",description:"docs-source",source:"@site/docs/legacy/v7/basics/block-structure.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/block-structure",permalink:"/docs/legacy/v7/basics/block-structure",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"block-structure",title:"Block Structure"},sidebar:"docs",previous:{title:"Global Manifest",permalink:"/docs/legacy/v7/basics/blocks-global-manifest"},next:{title:"Component Structure",permalink:"/docs/legacy/v7/basics/blocks-component-structure"}},d={},c=[{value:"assets",id:"assets",level:3},{value:"components",id:"components",level:3},{value:"docs",id:"docs",level:3},{value:"heading-block.js",id:"heading-blockjs",level:3},{value:"heading.php",id:"headingphp",level:3},{value:"heading-editor.scss",id:"heading-editorscss",level:3},{value:"heading-style.scss",id:"heading-stylescss",level:3},{value:"heading-hooks.js",id:"heading-hooksjs",level:3},{value:"heading-transforms.js",id:"heading-transformsjs",level:3},{value:"manifest.json",id:"manifestjson",level:3}];function h(e){const s={a:"a",code:"code",em:"em",h3:"h3",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s.p,{children:(0,o.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/",children:(0,o.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsxs)(s.p,{children:["Your custom blocks are placed in the ",(0,o.jsx)(s.code,{children:"src/Blocks/custom"})," folder."]}),"\n",(0,o.jsxs)(s.p,{children:["For example, let's take the heading block (just replace ",(0,o.jsx)(s.code,{children:"heading"})," with your block name)."]}),"\n",(0,o.jsxs)(s.p,{children:["We suggest you always use the full name and never abbreviate the block name. If your block has multiple words, you should separate them by a dash, for example, ",(0,o.jsx)(s.code,{children:"featured-post-block.js"}),"."]}),"\n",(0,o.jsx)(s.p,{children:(0,o.jsx)(s.strong,{children:"Block structure should look like this:"})}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:["heading","\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:["assets","\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsx)(s.li,{children:"index.js"}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(s.li,{children:["components","\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsx)(s.li,{children:"heading-editor.js"}),"\n",(0,o.jsx)(s.li,{children:"heading-options.js"}),"\n",(0,o.jsx)(s.li,{children:"heading-toolbar.js"}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(s.li,{children:["docs","\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsx)(s.li,{children:"story.js"}),"\n",(0,o.jsx)(s.li,{children:"readme.mdx"}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(s.li,{children:"heading-block.js"}),"\n",(0,o.jsx)(s.li,{children:"heading.php"}),"\n",(0,o.jsx)(s.li,{children:"heading-editor.scss"}),"\n",(0,o.jsx)(s.li,{children:"heading-style.scss"}),"\n",(0,o.jsx)(s.li,{children:"heading-hooks.js"}),"\n",(0,o.jsx)(s.li,{children:"heading-transforms.js"}),"\n",(0,o.jsx)(s.li,{children:"manifest.json"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(s.p,{children:["For example, you can check the ",(0,o.jsx)(s.a,{href:"/storybook",children:"storybook"}),"."]}),"\n",(0,o.jsx)(s.h3,{id:"assets",children:"assets"}),"\n",(0,o.jsxs)(s.p,{children:["In this folder, you'll define all the custom JavaScript functionality for your block that will only be used on the front end of the application. You must provide the ",(0,o.jsx)(s.code,{children:"index.js"})," file in this folder, as a starting point, and the rest is up to you. We recommend using ",(0,o.jsx)(s.a,{href:"dynamic-import",children:"JavaScript dynamic imports"})," for all your front-end scripts. This ensures that the JavaScript is only loaded in the application when it is used and not before. By using dynamic import, you optimize your application and make it load faster."]}),"\n",(0,o.jsx)(s.h3,{id:"components",children:"components"}),"\n",(0,o.jsxs)(s.p,{children:["Components folder holds three files: ",(0,o.jsx)(s.code,{children:"heading-options.js"}),", ",(0,o.jsx)(s.code,{children:"heading-editor.js"}),", and ",(0,o.jsx)(s.code,{children:"heading-toolbars.js"}),". Each of these files represents a part of the block editor block that is used in the editor. We have separated options, editor, and toolbar into separate components for readability and reusing components in different projects."]}),"\n",(0,o.jsx)(s.h3,{id:"docs",children:"docs"}),"\n",(0,o.jsx)(s.p,{children:"Contains everything a block needs to be run inside the Storybook. This part is optional. However, it will speed up your development time and provide you with much-needed documentation."}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"story.js"})," - Storybook entry point for your block. All blocks have the exact same story."]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"readme.mdx"})," - README document that describes your block and provides the documentation."]}),"\n"]}),"\n",(0,o.jsx)(s.h3,{id:"heading-blockjs",children:"heading-block.js"}),"\n",(0,o.jsxs)(s.p,{children:["This file represents the ",(0,o.jsx)(s.code,{children:"edit"})," callback method used in WordPress ",(0,o.jsx)(s.code,{children:"registerBlockType"})," method.\nWe are not using the ",(0,o.jsx)(s.code,{children:"save"})," callback method because we are creating dynamic blocks. The ",(0,o.jsx)(s.code,{children:"edit"})," method describes how your block will be rendered in the editor once the block is used. In this file, you can use more advanced stuff like hooks and all the top-level block features."]}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"heading-options.js"})," - must be wrapped with the ",(0,o.jsx)(s.code,{children:"InspectorControls"})," component from the core. This will ensure that options are shown in the proper place in the block editor (sidebar)."]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"heading-toolbar.js"})," - must be wrapped with the ",(0,o.jsx)(s.code,{children:"BlockControls"})," component from the core. This will ensure that the toolbar is shown in the proper place in the block editor (floating or fixed toolbar)."]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"heading-editor.js"})," - must ",(0,o.jsx)(s.strong,{children:"not"})," be wrapped with any top-level component. This will ensure that the editor component is shown in the proper place in the block editor (editor)."]}),"\n"]}),"\n",(0,o.jsx)(s.h3,{id:"headingphp",children:"heading.php"}),"\n",(0,o.jsxs)(s.p,{children:["This file is the front-end representation of a block. In this file, you will have all the attributes you defined in the ",(0,o.jsx)(s.code,{children:"manifest.json"})," file."]}),"\n",(0,o.jsx)(s.p,{children:"In the blocks PHP part, you always have these two properties (props) available:"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"$attributes"})," - This prop contains all the attributes you defined in the ",(0,o.jsx)(s.code,{children:"manifest.json"})," and all the attributes saved in the database."]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"$innerBlockContent"})," - This prop contains all the inner block details when you set your block to contain inner blocks."]}),"\n"]}),"\n",(0,o.jsx)(s.h3,{id:"heading-editorscss",children:"heading-editor.scss"}),"\n",(0,o.jsx)(s.p,{children:"Holds only the editor styling for the block. You should be using this file to override styles in the editor set by the component. In 90% of cases, you will not need to write any overrides here. But if you are using any column layout like a grid, flex, etc., you may need to add some corrections."}),"\n",(0,o.jsx)(s.p,{children:"Corrections in the grid layout are necessary because the block editor adds additional HTML and we can't change it."}),"\n",(0,o.jsxs)(s.p,{children:["Please read the ",(0,o.jsx)(s.a,{href:"blocks-styles",children:"block styles"})," chapter for more details."]}),"\n",(0,o.jsxs)(s.p,{children:[(0,o.jsx)(s.em,{children:"This file is optional"}),"."]}),"\n",(0,o.jsx)(s.h3,{id:"heading-stylescss",children:"heading-style.scss"}),"\n",(0,o.jsx)(s.p,{children:"Holds all the front-end and editor styling for the component."}),"\n",(0,o.jsxs)(s.p,{children:["Please read the ",(0,o.jsx)(s.a,{href:"blocks-styles",children:"block styles"})," chapter for more details."]}),"\n",(0,o.jsxs)(s.p,{children:[(0,o.jsx)(s.em,{children:"This file is optional"}),"."]}),"\n",(0,o.jsx)(s.h3,{id:"heading-hooksjs",children:"heading-hooks.js"}),"\n",(0,o.jsxs)(s.p,{children:["Here you can provide any custom block editor hook you need. For documentation, please refer to ",(0,o.jsx)(s.a,{href:"https://developer.wordpress.org/block-editor/developers/filters/block-filters/",children:"this link"}),". This file is going to be merged in the ",(0,o.jsx)(s.code,{children:"registerBlockType"})," method."]}),"\n",(0,o.jsx)(s.h3,{id:"heading-transformsjs",children:"heading-transforms.js"}),"\n",(0,o.jsxs)(s.p,{children:["Here you can provide any custom block transformation you need. For documentation, please refer to ",(0,o.jsx)(s.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-transforms/",children:"this link"}),". This file is going to be merged in the ",(0,o.jsx)(s.code,{children:"registerBlockType"})," method."]}),"\n",(0,o.jsx)(s.h3,{id:"manifestjson",children:"manifest.json"}),"\n",(0,o.jsxs)(s.p,{children:["This file contains all the configuration required for a block to work. It's used in WordPress ",(0,o.jsx)(s.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-registration/",children:(0,o.jsx)(s.code,{children:"registerBlockType"})})," method to register a block."]}),"\n",(0,o.jsxs)(s.p,{children:["For more details, check the ",(0,o.jsx)(s.a,{href:"block-manifest",children:"block manifest"})," chapter."]})]})}function a(e={}){const{wrapper:s}={...(0,i.M)(),...e.components};return s?(0,o.jsx)(s,{...e,children:(0,o.jsx)(h,{...e})}):h(e)}},4552:(e,s,n)=>{n.d(s,{I:()=>l,M:()=>r});var o=n(11504);const i={},t=o.createContext(i);function r(e){const s=o.useContext(t);return o.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),o.createElement(t.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/cd0300a2.4987f94f.js b/assets/js/cd0300a2.4987f94f.js new file mode 100644 index 000000000..c7aedb4dc --- /dev/null +++ b/assets/js/cd0300a2.4987f94f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[87240],{23904: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/cd0300a2.9bffa988.js b/assets/js/cd0300a2.9bffa988.js deleted file mode 100644 index 136dd0e1d..000000000 --- a/assets/js/cd0300a2.9bffa988.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[22260],{93683: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.a15ed2a8.js b/assets/js/cd521b29.a15ed2a8.js deleted file mode 100644 index 27c935c87..000000000 --- a/assets/js/cd521b29.a15ed2a8.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[8256],{89831:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>l,contentTitle:()=>a,default:()=>p,frontMatter:()=>i,metadata:()=>r,toc:()=>c});var s=n(85893),o=n(11151);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.a)(),...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(77191).Z+"",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.a)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(d,{...t})}):d(t)}},77191:(t,e,n)=>{n.d(e,{Z:()=>s});const s=n.p+"assets/images/comparison-block-0abb53656f82a74375e23dc8334eb266.webp"},11151:(t,e,n)=>{n.d(e,{Z:()=>r,a:()=>a});var s=n(67294);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.a3d8be70.js b/assets/js/cd521b29.a3d8be70.js new file mode 100644 index 000000000..2f245d9c7 --- /dev/null +++ b/assets/js/cd521b29.a3d8be70.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[62684],{96420:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>l,contentTitle:()=>a,default:()=>p,frontMatter:()=>i,metadata:()=>r,toc:()=>c});var s=n(17624),o=n(4552);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.M)(),...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(49704).c+"",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.M)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(d,{...t})}):d(t)}},49704:(t,e,n)=>{n.d(e,{c:()=>s});const s=n.p+"assets/images/comparison-block-0abb53656f82a74375e23dc8334eb266.webp"},4552:(t,e,n)=>{n.d(e,{I:()=>r,M:()=>a});var s=n(11504);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/ce0a947c.3785144e.js b/assets/js/ce0a947c.3785144e.js new file mode 100644 index 000000000..304f1e9a5 --- /dev/null +++ b/assets/js/ce0a947c.3785144e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[42752],{87556:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>c,default:()=>h,frontMatter:()=>r,metadata:()=>i,toc:()=>l});var o=n(17624),s=n(4552);const r={id:"browser-sync",title:"Browsersync"},c=void 0,i={id:"legacy/v8/basics/browser-sync",title:"Browsersync",description:"docs-source",source:"@site/docs/legacy/v8/basics/browser-sync.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/browser-sync",permalink:"/docs/legacy/v8/basics/browser-sync",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"browser-sync",title:"Browsersync"},sidebar:"docs",previous:{title:"Fonts",permalink:"/docs/legacy/v8/basics/fonts"},next:{title:"Dynamic Import",permalink:"/docs/legacy/v8/basics/dynamic-import"}},a={},l=[{value:"Using SSL for local development",id:"using-ssl-for-local-development",level:2}];function d(e){const t={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",...(0,s.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs",children:(0,o.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.a,{href:"https://browsersync.io/docs",children:"Browsersync"})," is a Node module that enables you to develop sites faster. It will react to any code change and 'refresh' the site without you needing to refresh it. In the background, it runs a small local server. When configured, it will inject a script on your web page to react to any code change."]}),"\n",(0,o.jsx)(t.p,{children:"Besides that, you can test your site on various devices on the same network."}),"\n",(0,o.jsx)(t.p,{children:"It's part of the Eightshift Development Kit by default. When you run:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-bash",children:"npm start\n"})}),"\n",(0,o.jsxs)(t.p,{children:["it will proxy the page you've specified in the ",(0,o.jsx)(t.code,{children:"projectUrl"})," to your local server."]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-bash",children:"[Browsersync] Proxying: http://local-url.test\n[Browsersync] Access URLs:\n--------------------------------------\nLocal: http://localhost:3000\nExternal: http://192.168.0.25:3000\n--------------------------------------\nUI: http://localhost:3001\nUI External: http://localhost:3001\n--------------------------------------\n"})}),"\n",(0,o.jsx)(t.p,{children:"Using the IP address, you can open it on any device (mobile phone or tablet) that is connected to the same network, and see how your site looks on that device."}),"\n",(0,o.jsx)(t.h2,{id:"using-ssl-for-local-development",children:"Using SSL for local development"}),"\n",(0,o.jsx)(t.p,{children:"By default, BrowserSync does not work with HTTPS URLs. If you use HTTPS in your local environment you can simply provide an additional key in the Webpack config to make it work."}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-js",children:"module.exports = (env, argv) => {\n\tconst projectConfig = {\n\t\tconfig: {\n\t\t\tprojectDir: __dirname, // Current project directory absolute path.\n\t\t\tprojectUrl: 'local-url.test', // Used for providing browsersync functionality.\n\t\t\tprojectPath: 'wp-content/themes/your-theme-name', // Project path relative to project root.\n\t\t\tuseSsl: true,\n\t\t},\n\t};\n\n\t// Generate webpack config for this project using options object.\n\treturn require('./node_modules/@eightshift/frontend-libs/webpack')(argv.mode, projectConfig);\n};\n"})}),"\n",(0,o.jsx)(t.p,{children:"Do note that in order for Browsersync to work correctly and utilise the hot reload functionality, the Chrome dev tools must be visible and the 'Disable cache' option must be enabled in the Network tab. Otherwise, the changes will be cached by the browser.\nSimilar should be set for other browsers as well."})]})}function h(e={}){const{wrapper:t}={...(0,s.M)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},4552:(e,t,n)=>{n.d(t,{I:()=>i,M:()=>c});var o=n(11504);const s={},r=o.createContext(s);function c(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:c(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ce0a947c.a622469e.js b/assets/js/ce0a947c.a622469e.js deleted file mode 100644 index ffba58d0a..000000000 --- a/assets/js/ce0a947c.a622469e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[41790],{47770:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>c,default:()=>h,frontMatter:()=>r,metadata:()=>i,toc:()=>l});var o=n(85893),s=n(11151);const r={id:"browser-sync",title:"Browsersync"},c=void 0,i={id:"legacy/v8/basics/browser-sync",title:"Browsersync",description:"docs-source",source:"@site/docs/legacy/v8/basics/browser-sync.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/browser-sync",permalink:"/docs/legacy/v8/basics/browser-sync",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"browser-sync",title:"Browsersync"},sidebar:"docs",previous:{title:"Fonts",permalink:"/docs/legacy/v8/basics/fonts"},next:{title:"Dynamic Import",permalink:"/docs/legacy/v8/basics/dynamic-import"}},a={},l=[{value:"Using SSL for local development",id:"using-ssl-for-local-development",level:2}];function d(e){const t={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",...(0,s.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs",children:(0,o.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.a,{href:"https://browsersync.io/docs",children:"Browsersync"})," is a Node module that enables you to develop sites faster. It will react to any code change and 'refresh' the site without you needing to refresh it. In the background, it runs a small local server. When configured, it will inject a script on your web page to react to any code change."]}),"\n",(0,o.jsx)(t.p,{children:"Besides that, you can test your site on various devices on the same network."}),"\n",(0,o.jsx)(t.p,{children:"It's part of the Eightshift Development Kit by default. When you run:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-bash",children:"npm start\n"})}),"\n",(0,o.jsxs)(t.p,{children:["it will proxy the page you've specified in the ",(0,o.jsx)(t.code,{children:"projectUrl"})," to your local server."]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-bash",children:"[Browsersync] Proxying: http://local-url.test\n[Browsersync] Access URLs:\n--------------------------------------\nLocal: http://localhost:3000\nExternal: http://192.168.0.25:3000\n--------------------------------------\nUI: http://localhost:3001\nUI External: http://localhost:3001\n--------------------------------------\n"})}),"\n",(0,o.jsx)(t.p,{children:"Using the IP address, you can open it on any device (mobile phone or tablet) that is connected to the same network, and see how your site looks on that device."}),"\n",(0,o.jsx)(t.h2,{id:"using-ssl-for-local-development",children:"Using SSL for local development"}),"\n",(0,o.jsx)(t.p,{children:"By default, BrowserSync does not work with HTTPS URLs. If you use HTTPS in your local environment you can simply provide an additional key in the Webpack config to make it work."}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-js",children:"module.exports = (env, argv) => {\n\tconst projectConfig = {\n\t\tconfig: {\n\t\t\tprojectDir: __dirname, // Current project directory absolute path.\n\t\t\tprojectUrl: 'local-url.test', // Used for providing browsersync functionality.\n\t\t\tprojectPath: 'wp-content/themes/your-theme-name', // Project path relative to project root.\n\t\t\tuseSsl: true,\n\t\t},\n\t};\n\n\t// Generate webpack config for this project using options object.\n\treturn require('./node_modules/@eightshift/frontend-libs/webpack')(argv.mode, projectConfig);\n};\n"})}),"\n",(0,o.jsx)(t.p,{children:"Do note that in order for Browsersync to work correctly and utilise the hot reload functionality, the Chrome dev tools must be visible and the 'Disable cache' option must be enabled in the Network tab. Otherwise, the changes will be cached by the browser.\nSimilar should be set for other browsers as well."})]})}function h(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},11151:(e,t,n)=>{n.d(t,{Z:()=>i,a:()=>c});var o=n(67294);const s={},r=o.createContext(s);function c(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:c(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ce19f7d3.2e3803ba.js b/assets/js/ce19f7d3.2e3803ba.js new file mode 100644 index 000000000..97ea82270 --- /dev/null +++ b/assets/js/ce19f7d3.2e3803ba.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[46160],{35096:t=>{t.exports=JSON.parse('{"permalink":"/blog/tags/boilerplate/page/2","page":2,"postsPerPage":9,"totalPages":2,"totalCount":14,"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/ce19f7d3.cf564f41.js b/assets/js/ce19f7d3.cf564f41.js deleted file mode 100644 index 43291392b..000000000 --- a/assets/js/ce19f7d3.cf564f41.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[48944],{97818:t=>{t.exports=JSON.parse('{"permalink":"/blog/tags/boilerplate/page/2","page":2,"postsPerPage":9,"totalPages":2,"totalCount":14,"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/ce4b3df7.00964818.js b/assets/js/ce4b3df7.00964818.js new file mode 100644 index 000000000..01ea5b579 --- /dev/null +++ b/assets/js/ce4b3df7.00964818.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[67404],{33356:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>d,contentTitle:()=>c,default:()=>u,frontMatter:()=>o,metadata:()=>a,toc:()=>r});var s=i(17624),n=i(4552);const o={id:"media",title:"Media"},c=void 0,a={id:"legacy/v4/guides/media",title:"Media",description:"docs-source",source:"@site/docs/legacy/v4/guides/media.md",sourceDirName:"legacy/v4/guides",slug:"/legacy/v4/guides/media",permalink:"/docs/legacy/v4/guides/media",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"media",title:"Media"},sidebar:"docs",previous:{title:"i18n",permalink:"/docs/legacy/v4/guides/i18n"},next:{title:"Menu",permalink:"/docs/legacy/v4/guides/menu"}},d={},r=[];function l(e){const t={a:"a",code:"code",img:"img",p:"p",...(0,n.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-boilerplate/tree/v4.0.0/src/media/class-media.php",children:(0,s.jsx)(t.img,{src:"https://img.shields.io/badge/source-eigthshift--boilerplate-red?style=for-the-badge&logo=wordpress&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsxs)(t.p,{children:["Media class is located in ",(0,s.jsx)(t.code,{children:"project"}),". It extends ",(0,s.jsx)(t.code,{children:"Eightshift_Libs\\Media\\Media"})," class."]}),"\n",(0,s.jsx)(t.p,{children:"This class is used to add all custom project implementation for media like adding custom image size, enabling SVG image, etc."})]})}function u(e={}){const{wrapper:t}={...(0,n.M)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},4552:(e,t,i)=>{i.d(t,{I:()=>a,M:()=>c});var s=i(11504);const n={},o=s.createContext(n);function c(e){const t=s.useContext(o);return s.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:c(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ce4b3df7.7be556dc.js b/assets/js/ce4b3df7.7be556dc.js deleted file mode 100644 index 412983ac3..000000000 --- a/assets/js/ce4b3df7.7be556dc.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[54909],{93041:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>d,contentTitle:()=>a,default:()=>u,frontMatter:()=>o,metadata:()=>c,toc:()=>r});var s=i(85893),n=i(11151);const o={id:"media",title:"Media"},a=void 0,c={id:"legacy/v4/guides/media",title:"Media",description:"docs-source",source:"@site/docs/legacy/v4/guides/media.md",sourceDirName:"legacy/v4/guides",slug:"/legacy/v4/guides/media",permalink:"/docs/legacy/v4/guides/media",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"media",title:"Media"},sidebar:"docs",previous:{title:"i18n",permalink:"/docs/legacy/v4/guides/i18n"},next:{title:"Menu",permalink:"/docs/legacy/v4/guides/menu"}},d={},r=[];function l(e){const t={a:"a",code:"code",img:"img",p:"p",...(0,n.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-boilerplate/tree/v4.0.0/src/media/class-media.php",children:(0,s.jsx)(t.img,{src:"https://img.shields.io/badge/source-eigthshift--boilerplate-red?style=for-the-badge&logo=wordpress&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsxs)(t.p,{children:["Media class is located in ",(0,s.jsx)(t.code,{children:"project"}),". It extends ",(0,s.jsx)(t.code,{children:"Eightshift_Libs\\Media\\Media"})," class."]}),"\n",(0,s.jsx)(t.p,{children:"This class is used to add all custom project implementation for media like adding custom image size, enabling SVG image, etc."})]})}function u(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},11151:(e,t,i)=>{i.d(t,{Z:()=>c,a:()=>a});var s=i(67294);const n={},o=s.createContext(n);function a(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ce7d450a.61b2642b.js b/assets/js/ce7d450a.61b2642b.js deleted file mode 100644 index f2e09f7d4..000000000 --- a/assets/js/ce7d450a.61b2642b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[6650],{69977:(e,o,t)=>{t.r(o),t.d(o,{assets:()=>p,contentTitle:()=>r,default:()=>d,frontMatter:()=>i,metadata:()=>a,toc:()=>l});var s=t(85893),n=t(11151);const i={id:"blocks-wrapper",title:"Wrapper"},r=void 0,a={id:"basics/blocks-wrapper",title:"Wrapper",description:"docs-source",source:"@site/docs/basics/blocks-wrapper.md",sourceDirName:"basics",slug:"/basics/blocks-wrapper",permalink:"/docs/basics/blocks-wrapper",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-wrapper",title:"Wrapper"},sidebar:"docs",previous:{title:"Component in a Block",permalink:"/docs/basics/blocks-component-in-block"},next:{title:"Variations",permalink:"/docs/basics/blocks-variations"}},p={},l=[{value:"Where can I find wrapper options?",id:"where-can-i-find-wrapper-options",level:2},{value:"Additional development options",id:"additional-development-options",level:2},{value:"wrapperUse",id:"wrapperuse",level:3},{value:"wrapperUseShowControl",id:"wrapperuseshowcontrol",level:3},{value:"wrapperUseSimple",id:"wrapperusesimple",level:3},{value:"wrapperUseSimpleShowControl",id:"wrapperusesimpleshowcontrol",level:3},{value:"wrapperDisable",id:"wrapperdisable",level:3},{value:"wrapperParentClass",id:"wrapperparentclass",level:3},{value:"Wrapper limitations",id:"wrapper-limitations",level:2}];function c(e){const o={a:"a",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",strong:"strong",...(0,n.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(o.p,{children:(0,s.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,s.jsx)(o.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(o.p,{children:"The wrapper is our best and most powerful feature. In a nutshell, the wrapper is nothing more than a high order component (parent component)."}),"\n",(0,s.jsx)(o.p,{children:"When setting up block registration, we made it so that every block view (PHP part) passes through the wrapper component before it is registered. This gives us the ability to set multiple shared attributes in one component."}),"\n",(0,s.jsx)(o.p,{children:"The wrapper is designed to be the ultimate top-level component that controls how your block behaves in the website layout. The wrapper is a sort of a 'section' in traditional builders. By default, you can control a whole lot of stuff, but there is an ability to add your custom attributes and fine-tune the wrapper to your project's needs."}),"\n",(0,s.jsx)(o.h2,{id:"where-can-i-find-wrapper-options",children:"Where can I find wrapper options?"}),"\n",(0,s.jsxs)(o.p,{children:["When you open your block editor in the sidebar before every blocks options you will see a ",(0,s.jsx)(o.code,{children:"layout"})," panel that controls the wrapper options:"]}),"\n",(0,s.jsx)(o.p,{children:(0,s.jsx)(o.img,{alt:"Wrapper Closed",src:t(40701).Z+"",width:"770",height:"664"})}),"\n",(0,s.jsx)(o.p,{children:"We also made a helper button that describes what each wrapper options does when the layout panel is open:"}),"\n",(0,s.jsx)(o.p,{children:(0,s.jsx)(o.img,{alt:"Wrapper Help Button",src:t(58964).Z+"",width:"315",height:"187"})}),"\n",(0,s.jsxs)(o.p,{children:["Here are some of the descriptions that we created but you can add your own icons and options to this modal by providing the additions properties to the ",(0,s.jsx)(o.code,{children:"HelpModal"})," component:"]}),"\n",(0,s.jsx)(o.p,{children:(0,s.jsx)(o.img,{alt:"Wrapper Modal",src:t(66348).Z+"",width:"764",height:"740"})}),"\n",(0,s.jsx)(o.h2,{id:"additional-development-options",children:"Additional development options"}),"\n",(0,s.jsxs)(o.p,{children:["Along with the provided details and descriptions for the standard options in the ",(0,s.jsx)(o.code,{children:"HelpModal"})," we have some development specific options for you to check."]}),"\n",(0,s.jsx)(o.h3,{id:"wrapperuse",children:"wrapperUse"}),"\n",(0,s.jsxs)(o.p,{children:["This attribute controls the usage of the wrapper component. It behaves the same way as described in ",(0,s.jsx)(o.a,{href:"blocks-component-in-block#i-dont-need-all-the-component-options-in-my-block",children:"this chapter"}),"."]}),"\n",(0,s.jsx)(o.h3,{id:"wrapperuseshowcontrol",children:"wrapperUseShowControl"}),"\n",(0,s.jsxs)(o.p,{children:["This attribute controls whether you will see the options for block use in the block editor. It behaves the same way as described in ",(0,s.jsx)(o.a,{href:"blocks-component-in-block#i-dont-want-my-editor-to-be-able-to-change-component-options-in-my-block",children:"this chapter"}),"."]}),"\n",(0,s.jsx)(o.h3,{id:"wrapperusesimple",children:"wrapperUseSimple"}),"\n",(0,s.jsxs)(o.p,{children:["We wrapped some options in a specific condition and we call it ",(0,s.jsx)(o.code,{children:"wrapperUseSimple"}),". In general, this attribute is set to ",(0,s.jsx)(o.code,{children:"true"})," when you only want the simplified options on your block. Natively, it is used inside all the inner blocks in the column block because we don't need wrappers inside wrappers inside wrappers (and so on). It's a good rule of thumb to use a simple wrapper in all the inner blocks."]}),"\n",(0,s.jsx)(o.h3,{id:"wrapperusesimpleshowcontrol",children:"wrapperUseSimpleShowControl"}),"\n",(0,s.jsxs)(o.p,{children:["This attribute controls whether you are going to see options in the block editor to use the simple option. It behaves the same way as described in ",(0,s.jsx)(o.a,{href:"blocks-component-in-block#i-dont-want-my-editor-to-be-able-to-change-component-options-in-my-block",children:"this chapter"}),"."]}),"\n",(0,s.jsx)(o.h3,{id:"wrapperdisable",children:"wrapperDisable"}),"\n",(0,s.jsxs)(o.p,{children:["This attribute disables the wrapper completely. When this attribute is set to ",(0,s.jsx)(o.code,{children:"true"}),", you will not have any wrapper options in your block."]}),"\n",(0,s.jsx)(o.h3,{id:"wrapperparentclass",children:"wrapperParentClass"}),"\n",(0,s.jsx)(o.p,{children:"This attribute is interesting to use if, for example, you have a carousel block with inner blocks. To provide the markup necessary for the carousel script to work, you need to add some items selector (a div). With this key, you can pass a parent item class, and all of your items will be wrapped with this selector and a class."}),"\n",(0,s.jsx)(o.h2,{id:"wrapper-limitations",children:"Wrapper limitations"}),"\n",(0,s.jsxs)(o.p,{children:["In wrapper you ",(0,s.jsx)(o.strong,{children:"can't"})," use ",(0,s.jsx)(o.code,{children:"components"})," key in the manifest to automaticity add additional components like you can in the blocks or components. If you want to add component to a wrapper you must manually add it the old fashion way."]})]})}function d(e={}){const{wrapper:o}={...(0,n.a)(),...e.components};return o?(0,s.jsx)(o,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},40701:(e,o,t)=>{t.d(o,{Z:()=>s});const s=t.p+"assets/images/wrapper-closed-6d555371a14a7f0576d2334e591904f4.webp"},58964:(e,o,t)=>{t.d(o,{Z:()=>s});const s="data:image/webp;base64,UklGRtgVAABXRUJQVlA4IMwVAAAQXACdASo7AbsAPjEYikOiIaESKMUYIAMEs7dwuPCEDq7UjT3jOR/BP4T5k/2/3Ie8T/cexL86+wR+o/+A6iX68eoD9gv9R/lPdb/zP6ze5P0Bv5t/h///62/sQf3j/eewN/I/9F6ZP7kfBl/a/9n+73s8/+TWCupva//PPxk/cT2D8MncL1w/djfl/4D0I/h/0v+of2X9dv65+zn3u+478YPxm9w/Tt+N3wBfin8U/nn5C/3j9nuP8AB+MfxP+0/17+3/7P+2fuf7Zv6r+OHup9Xf8B7gH8K/iP9Q/Hv+4f/r6t/UDyzaAH8d/mP9v/wf7af2L///MR/J/4T9rv7r///fp+Z/2H/Tf4r94P8h9gn8Y/lf9+/uX+X/4P96////c+4D15ftz7Ff6tf8f8/yQoVBvzgagVWFNY1vLAsSnSHeycQ+D/JGbc77TzFKIWIN+gAo7ltWIjJ4+RLf5FiCtpa9MVspned9p8wbZ06N+JHLBOgkbhVeIkZLFt4JgYoQ41o56D3A62k32+RhtzvsVQm9I6uROE74bc77T5g25gtgPkfCByLnDKMOxsWWh1gQ0XISCOuVNYWJChsCDuSa7WOHKG4ZjEz0F59ozAI4KUuP6cEOYisTjQK59nxm9v+A2n60vhc/x2O86psMgNNIa37jYWXqcrGqtS9WMQEhnyybuBeTld0SSz/67e/JJ++Kdxopt9486Xge5ats1QYbPzXnL4TrVZDpGOo0s8EekbCDf6/ZJBtjpTRalzLH25ZoWQi7OGhUuGU1qF4VaeVVmHQqlUptsSIrdMmmZ3lu4gljfALmU4TxxW9EBdVT1JoAKs4hpS68KAqExHTVKSUfb/pH7h7zP0BzTS2c2O3XHtcdfAHODV5Vm0q5QPdhrKzutkR9YC8I5Wz3TRi2rVXHXw3pxMBoJ87dgW4vlIUn+gWKl0ProyF36QPNJEa3lRdfKGPjsKKQhFbjMIIeo8M51NwhMuS/BogAAP7/w3Cn3D+KXMCYP8HTRYzD1jZpcPJSv4M+hgP0IlDmgf+SEci33X0n+cSYwKcsXgwCQhg8pa6mHmuh2ZW8A5mdvVBNCo+xk+/T4qfLR+XWrOwUwnElcfsBdXSqqIkGLp3qXQtpqrajRzDpBx+5kwamUsvMkQxeYwBrRCz0m4T3Xsn6qKqVrfh6EdGthX//k86sgmk9ICnoAL8f+LYb5Q7TckVYYNmmlqwZie79cPnETrvEB+5+csUsYr2IEe9/CcdV3aXliEZLw4HxKzl52hBs4B8P0FgC0ey4cmSzbX//KGGfyyBlAWreJ6CkFccnzYwcVcbaY04WwZzoXXYj2H/7nbB3lh5erb8di2stWa1Uf+f/jYgekgRMdfbWkJ4VkCZ1JjVJwYg7FuBjKU9yp2YrFkCPBGZ9ATTVEYwXOjoYhmR3LfMCvkxJxb//rmId3P9K6Pj1uRr04hOvVM5vzlysExhbjwDHLZSowQNF4bPhWUKNpov/4NvonBNWVPhdpVHRBi/uqHsUgjJ7+XZmf60nX5Hf/+aiXk+R209lRp86YCyuCgqN2JKmZzWtb8LBwGVwCUZLKDF8vOvip1IkylnyG+2MkK8lm+g7VJzPj7I7I2dwbLe5u//415ZcFZkJDY+wJkwsm9b77mcP/5km0kfwSx7mjqHrqFWfPJN+QROdwKcRWWTb9+bSxPy8VVybTcthMZi5f//jSGEcVJwWhWDjzIShsXr7EGmePsYajVNJmQj0lZSutT2C+oO/bNyqolAEDt1LWSlCzeC2OXqplewuzpm2niD7G+RurQqjRpi8Px9BP5uTjUQ6y1g72pKsvkzV2yfyA/t1Bp8k8OwV9ZgtBL6cC+nao3jPi+hCLu67jCGRQeY/sIg2bXqkJXcFeAerw80IjQ9oI9qsDgd2rdzFBdiOC7Yz/wrRBl39SWEWHbyR4uUhAIsJmB+TEa05deNhWy1GXIqpPYQI90zHomicNzFae812Rf3DZKii+Aae1UoTDfe3wsz/ZVHdfTjEG4ku+8+YS+gB+FQV5X9Y5NpCVxhJI7T6Mel8qoNAJBj/wlK4k87mcLliYxN29tGEpZIwUhgARx3ySZwECRK8IiqXEtD3569CZ8yG8O/Lr8rJVSnhXMp5cVBnbhp2ZlR09VtkbhojnV/G/uwfIweCtfG+brys585640oz9QomiLJF0Lw4rSAhMAI/DRgseeTALrwDHEA0Sv5uPMhsebm48yGx5ubjzIbHmylqjz0dFhd2bQGIkFBRtKAAMtu1HSmFkEW5i53i7VhyFgTUevuKANN63olz4Pyizof/7R14K4F+MvOM9w4MXlXpmz2pJFFxYj8KUBtiDqAV3G8aQcsh6Wz8WPxi4YFHIdy0fhXQ64mF6KqgAGGCgipwWQV7js38LsHqUBjIHNK3KCAWHMQtd//yia7HRvAJKKDn7j//i/jn1pELa17xC8bBwmvPH1OxBXepR5iup8yBzrKef4+Itl3wBkpNv4QIVddVYv7b6XYz0AEuFVXx9HAFrO9X4LYoGhbaCB2LQbgBXNydhf3NkPcSrql/T9U97KycnugYH69p5JESyxNbdQt/gV16i536l2oVT74pT/ZnI+HkN7kH0ouigexUsy2znwE0S8JHkCWHfaXnxpvoz/eMv/D98ytbgdj1adQ6Xky1PEf4h7fn+1Kt2eTZ0GzUxhTm2whjD5fwqy3kDcCRyiWM7XS/ivPw0wzoS1GFirjNYt60x8fRrK2X5e1fddjFu6rHzf67jZ/G/G3bDXyGZXfVV3UdncfixWSNPGaPELWWqNM4LKHbDliRWPViX3onphpAgxjaH0o78Rc+zu+o+VilVQ23Ewlo0rQl90wCbmhNaJ7lAhi64R1GzHvrYndnakEjGxFSQDNwNYO34d4Npfh7g2uFQme2aodcz3DeqMqSozwdQaE/cuxYakyPQIxIDvXJPOou66umYRolThh9VlA1HNaGZcS+Irfw594JQGTzienZ9rJkljHdu1RBuWVKnQZcful/bhjvLz2w/++vZ5L3JmjsFM4Qoa/7z99Epp597YLeepzbbxyj8a+zgq9+mswWWh4cjBrqOx+tHFeAmivdqEVTbb1dJlJEww8b0CcobB35/tB6/KwiUTggAORCdCBuW6n+XOwqocZK+strOMDfDxwvzJJXLHbPt6+ST0dPIfIVw+rD4UsET6uaXw2UJfS3tdu1CltUjnxUNRXvLgjVG6LRR+hBZz0P/o99swHD7lIwurEaOUG8DrGC/fne8zWVl0r5vcT/GP/6bGB79d7gYrZca0yxnCM0S1gyxRezcIIFs9pglKCB9OSkUX98cQwiJdKYyF8jXI1Hnl1T0cnJapnscwTlRKJVgBT3PHb2U3OB/ILfGJXwxeb6OkdfiVeznhE1cOYAKQ+9eyw1E9ikuVpM25NHHcSuwifwav2tfwo5mMNsNhStVVnA+cqbTjxGLJ7aCgaCT0trOw/NVcocBgWez5sS1n7w0xjk6bhudE2zs9j/nPxHfianMITUBk2neCN79E7dEkBM8YtEA06FfQOjjAVSdlmzgA4XbA+DJQ7ocg+Wyt5VF3qMALZYPBsQLRhBE3GroyOgEVX4Fd8GN815wlZMN6QXPn7DBa9cKrpAqRCJqfQruQsssMsjZFblZ7jpSUvJFxDXuOdk8SGnMqcKGsvjboXWVsXtfx1Lgql3PW8WQloEFNQ8KZToRnGhClFlDx7asCyR0esGSqSpB/NsteMUN6LZdmeNOTQtuHaepTKkx2GgJCS73JmuD3DViqWr2pWU3yhPjPp+6i5De+krJY+D2USwyNDjcv/9vPKlMSzznKHNI3rCOO+R93C9u6Yav5heNcEo6gvXLtqHJo5VRLMRTDGd1ZigY15UKded/EF7v2wr+zL/cJoXgHoxNak1YIw9f/iFH0tFBtKonfdZMq+wwxB9r83q9oTZRybi1zc1ZJ5YwI0sXGXUxRSdFDQG5GcLliVLYTUEFUTIS/MBHQSzzzdEHNUF2MWw/NVl22vPJR8TqvOI2C1IMRd2xIHKygUAFMhsCfHqfgTE8Qa5C5s2nP1bod45vSbtyOhclsyE2XTlLnrn9Rjatp5Z+vgnxS9RTDEw2EMaV1HRY5d75qstLB9x5EC7ua4kuR4uz3YhDlBsTaercEtHZMjQfr+AKh3RTKZnhRhp16dk3Ib/wKKot6W4UiYfCcev1Z3BS+aKDgZIo4BmUay486IGUSegitCvnZApaZ/+zgVgNdSx5LX3A/03qMoUwbKWV//iIuq0HCvemrziyScM+S106OQwGxMnpzIC587e8Aytz9sv/Cm7m32dyJz2hcqfV/igZCzkwHeMBFws5zm7+pkjwxYWM81Y63TNN+mptY1xPX9jayWiRW5mZgqLQXIk4UjXBP70d3/UAVYBDNc8oDQbAhYhbZrO3+o7XEZXSODmtCYcgg2Ho0qPzB7DBlDNYk7AF5hWTRMXbM0tm9dvWEB6JXS+eG4BSZhDhX6abMwDPiQG0Ro8mcmZ4j4YdwFCi2t4hzAqnS8rQjnFnBq6dXnixiHAa+65zxSkpRWA3sTBZggky6YGcQlOTT7omwGZGNEZsJCuebmyrbdCR/wAKSWWHCVmf8BOJVBBg2TLWnFUyzlmUJDaVvDrfBzsnZ6b73hFZiqWWCOO2NQFLOGJjcFGF+uKA4QGyOV4BQWZXjQjJ/gWyYmNRRz5nDxgyalSGy7gJIa0vcA+fuZ7RGQDnMLFx3xrQWL/Pwn9RQKnsPMl+KQPpu07cymfopVgHeow1BL5gJHe8c2Kt6Ctoao83PPp7SnLiKr15Prz3W0rSABScKe+1hjX3YN5eUGO1ToFRmRx9RDZswm3XJjeJYIarM394qfQbjCIqT16UeX8qs7eT43IBqUdG/l6671YTKjVV2wqkH1cD0jXbjECfkSJHnnqF5IVY+Od97Azh4jWuW3GJ3yqxyMJR+Zktw3p6H/+yvydoCfwPcpY+XHkwqobRzwG7U2vX0R71FceQUP1T9+Vv1x92Vi0SYissbJlB5ZWfQEcW6ULBHyw00qIMrbmBdrKD/wZo3yeg9TSU7qXNHgp5pl0ACFnL0UFeL6MmmMLeu4LKkoKJ2hUsrosFmJa1qX+wVAzqms7BPHsPFsIMq8ldtvm7Kyh5Md+lpYd5RL7bhkgD6dDluf5oxjUMtRwPpT0VkvJOywywpv5ciymBQimjlfmT2Nb0SGs7Gx8KOZt8UopYj8BzYGlBzJB/48+gW9aZUYT/LWgxBuiSDDQABNJn9Vx0n1bpO6L11akNwABZKyab5cGdw0CRNPLQYIU73+IMasmZcC8NIml4XmDMAAf0bNeUWnIJLc2MMPO6OSmJXZVS4yI5xRjGLjJqcXXlz3pAdVMNg//DQ34MgeK6jWmq2FdHFubd/as6mJZ1BUIuBzdQ1gaVlU2n5gNS3JsYCweZgWSKMrWzVHlS97SP+XCFs7swjmFpj1IpnG5PO5HR0Gj1KCR1o7B5Nn94y0O5Sy8cfftERhPGmMPruLzE9IVpAqb9W2mwl2aB5TiDIQy0UUIIvPTuts4G5ElVg/9jCtipqVOmof/cmVf6f6kLm5yQannJ83QeQ1B5/66U3klN78eKPpGBMwj/LrPojsHD/M2Wa/e6Cj37Fi4MmFKkcbHqRzm+KLjQj+vkwGKJ37YU8GKKcdpoQU9weaZgHrEANeDnq+5NZGdTWDLkxv8w6+povwEO4kNdZ3EyOJWQbGMBfQgJOgzPnQzHHD+jeAmqG//j2jHxYZRWh55+gfueW0SER2rd9IW3kNegKJ7TtdhIgjdHtXfVjEjZf4wts/XOVKKLaKns2bNUo2VPIvAh+4o7dbE9Jf/zqOzPwpBtXNXUCERnDgCsLRZTxipdaTUlNPLL64oQrT3UY5q1CBNJROF4HIvOqH4evWve79ddD0ICHGGQQu/HoWN7JaLN/4H8BtD8+KI51k+jeR1fFXUbJzvWOyXMr0zyoEEwiC9lxfmYbPxlc+CLEp/WESmuQxZ80pcpQc04zXFBathqjHroMLSNup4xvjNPgl8RIPrqilH0fPBJA/d/aR6mdMyO7Xb49MQaSwR7wlz08q+YmbuC9Cs6GewGuZvMBaODsdFynKsgG1LjvqA06rVc2wrQwixiebhwp9eU8xEoesn7LJBER73J/C1kR4u8I2dVuh1nm18Bkux/jHvstoQB/CK6oUT21mS+d9W3Fp/zYpjo8mUP7E7dim5TvB4NP+6C59EqYUsjalW5Keznrc9qhldWu7gF3pMy1SAcw2eqpLL1ukuAJopVxaExPTG4goiV6Pu4/+Lk3t3AZ3aVdupT3EfIZDbqk0UdTtK3g4zvcwi3POUra1JvIRKRNH1b87EEFqi/rq0zsiDCLJll/7vdYDxQwiMBLaZsYEe8MXagSt107i9pOj2hEZEDV1B0hGP5vp5OBG6o9dVPu/8RZUyBP6PbDsqto+d8sqErIjy/NnyAV3kITM49fEdXoeaK9MMR8lap/75VWfbDl9IUNkO67YkCtl+z0zmo+mAamrLY/VULMaK9K3G1IVcteB7SiG+QHYDSLUiDzBIp3yEAAABWtNl/ZNAxz7DNhs5TMRfaHh5xs5HfeSSbVMP22KDXXLcKBsXpam4KNZ445Awb4/UgulHkP3WxJMxpFtSL68J0kVGlXEMjduyG0ayjWwylZycm5BUQKv93/wagwobFtef9FDG7C8jtni9Hv3FKlo/b3ynRWMejczT/XvIk9ruwHvGi02chE0jZ6DIeICqXO7RQoHvVFFpAjl7JVZpqsOl2L8anSMQQFPlNt7zvgORzyZUd3zoWVvkAl9eZM4whrGoTHReLWWFZi2Y0nxGG8M4WMyDgwt2P5EJAI29c5G/HQ8+KPWm0SwXtz02UaLm4Y9jnwQjUWj5ZhtUUE2AXFnyA07QQDoENFhRpNZfd8IUtFDBnQ3IRJSzZchEgduiIJ4DWPG7ScRHUaVVOOmCS90Eni044htHJuI6JxOzvowSqa0oIFVRE1iK1tQooyxzxyFInkWCNGv+WHGUnvz9jRwWnEuduLLDPbp7B2KKvYcqxpUR3/lf09ZmJoHBKhIAVYRvA5MIEFyZSUcGyF7fQODkFg1pYM4pDxy17gm0BgiDCe7ItiTCEX/Y51MjMtwkeXxH2r24bvNympZi0ML0gbO8YM4skFmKZv7haKYCa6fzERrFyJZocPi+HKR7pe6AdgwAoypHD+hpbouDOCTo6BVJKNcz8Nq8AnXZOr+q++e9N72AGass3S2bqIT9EGTD6j9fHM91Jn071aOffNDbEZS+taM1NavisF/m9IPOVfa0DMlrJvYYeBPcaJM9A/RfF6MzCbAf9I1FfYNbcg+6RqwiUVOnXfbURec9vDmum+sh/kRuiAFX+eV+WY9hFdvRm9xEiqDY1WxOmoF/5vXZRVWAAAA="},66348:(e,o,t)=>{t.d(o,{Z:()=>s});const s=t.p+"assets/images/wrapper-modal-7e522af5e936b203331d1ab5808fb70d.webp"},11151:(e,o,t)=>{t.d(o,{Z:()=>a,a:()=>r});var s=t(67294);const n={},i=s.createContext(n);function r(e){const o=s.useContext(i);return s.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(n):e.components||n:r(e.components),s.createElement(i.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ce7d450a.8dbfe15b.js b/assets/js/ce7d450a.8dbfe15b.js new file mode 100644 index 000000000..3febf0e81 --- /dev/null +++ b/assets/js/ce7d450a.8dbfe15b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[39228],{68952:(e,o,t)=>{t.r(o),t.d(o,{assets:()=>p,contentTitle:()=>r,default:()=>d,frontMatter:()=>i,metadata:()=>a,toc:()=>l});var s=t(17624),n=t(4552);const i={id:"blocks-wrapper",title:"Wrapper"},r=void 0,a={id:"basics/blocks-wrapper",title:"Wrapper",description:"docs-source",source:"@site/docs/basics/blocks-wrapper.md",sourceDirName:"basics",slug:"/basics/blocks-wrapper",permalink:"/docs/basics/blocks-wrapper",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-wrapper",title:"Wrapper"},sidebar:"docs",previous:{title:"Component in a Block",permalink:"/docs/basics/blocks-component-in-block"},next:{title:"Variations",permalink:"/docs/basics/blocks-variations"}},p={},l=[{value:"Where can I find wrapper options?",id:"where-can-i-find-wrapper-options",level:2},{value:"Additional development options",id:"additional-development-options",level:2},{value:"wrapperUse",id:"wrapperuse",level:3},{value:"wrapperUseShowControl",id:"wrapperuseshowcontrol",level:3},{value:"wrapperUseSimple",id:"wrapperusesimple",level:3},{value:"wrapperUseSimpleShowControl",id:"wrapperusesimpleshowcontrol",level:3},{value:"wrapperDisable",id:"wrapperdisable",level:3},{value:"wrapperParentClass",id:"wrapperparentclass",level:3},{value:"Wrapper limitations",id:"wrapper-limitations",level:2}];function c(e){const o={a:"a",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",strong:"strong",...(0,n.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(o.p,{children:(0,s.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,s.jsx)(o.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(o.p,{children:"The wrapper is our best and most powerful feature. In a nutshell, the wrapper is nothing more than a high order component (parent component)."}),"\n",(0,s.jsx)(o.p,{children:"When setting up block registration, we made it so that every block view (PHP part) passes through the wrapper component before it is registered. This gives us the ability to set multiple shared attributes in one component."}),"\n",(0,s.jsx)(o.p,{children:"The wrapper is designed to be the ultimate top-level component that controls how your block behaves in the website layout. The wrapper is a sort of a 'section' in traditional builders. By default, you can control a whole lot of stuff, but there is an ability to add your custom attributes and fine-tune the wrapper to your project's needs."}),"\n",(0,s.jsx)(o.h2,{id:"where-can-i-find-wrapper-options",children:"Where can I find wrapper options?"}),"\n",(0,s.jsxs)(o.p,{children:["When you open your block editor in the sidebar before every blocks options you will see a ",(0,s.jsx)(o.code,{children:"layout"})," panel that controls the wrapper options:"]}),"\n",(0,s.jsx)(o.p,{children:(0,s.jsx)(o.img,{alt:"Wrapper Closed",src:t(35424).c+"",width:"770",height:"664"})}),"\n",(0,s.jsx)(o.p,{children:"We also made a helper button that describes what each wrapper options does when the layout panel is open:"}),"\n",(0,s.jsx)(o.p,{children:(0,s.jsx)(o.img,{alt:"Wrapper Help Button",src:t(2568).c+"",width:"315",height:"187"})}),"\n",(0,s.jsxs)(o.p,{children:["Here are some of the descriptions that we created but you can add your own icons and options to this modal by providing the additions properties to the ",(0,s.jsx)(o.code,{children:"HelpModal"})," component:"]}),"\n",(0,s.jsx)(o.p,{children:(0,s.jsx)(o.img,{alt:"Wrapper Modal",src:t(8832).c+"",width:"764",height:"740"})}),"\n",(0,s.jsx)(o.h2,{id:"additional-development-options",children:"Additional development options"}),"\n",(0,s.jsxs)(o.p,{children:["Along with the provided details and descriptions for the standard options in the ",(0,s.jsx)(o.code,{children:"HelpModal"})," we have some development specific options for you to check."]}),"\n",(0,s.jsx)(o.h3,{id:"wrapperuse",children:"wrapperUse"}),"\n",(0,s.jsxs)(o.p,{children:["This attribute controls the usage of the wrapper component. It behaves the same way as described in ",(0,s.jsx)(o.a,{href:"blocks-component-in-block#i-dont-need-all-the-component-options-in-my-block",children:"this chapter"}),"."]}),"\n",(0,s.jsx)(o.h3,{id:"wrapperuseshowcontrol",children:"wrapperUseShowControl"}),"\n",(0,s.jsxs)(o.p,{children:["This attribute controls whether you will see the options for block use in the block editor. It behaves the same way as described in ",(0,s.jsx)(o.a,{href:"blocks-component-in-block#i-dont-want-my-editor-to-be-able-to-change-component-options-in-my-block",children:"this chapter"}),"."]}),"\n",(0,s.jsx)(o.h3,{id:"wrapperusesimple",children:"wrapperUseSimple"}),"\n",(0,s.jsxs)(o.p,{children:["We wrapped some options in a specific condition and we call it ",(0,s.jsx)(o.code,{children:"wrapperUseSimple"}),". In general, this attribute is set to ",(0,s.jsx)(o.code,{children:"true"})," when you only want the simplified options on your block. Natively, it is used inside all the inner blocks in the column block because we don't need wrappers inside wrappers inside wrappers (and so on). It's a good rule of thumb to use a simple wrapper in all the inner blocks."]}),"\n",(0,s.jsx)(o.h3,{id:"wrapperusesimpleshowcontrol",children:"wrapperUseSimpleShowControl"}),"\n",(0,s.jsxs)(o.p,{children:["This attribute controls whether you are going to see options in the block editor to use the simple option. It behaves the same way as described in ",(0,s.jsx)(o.a,{href:"blocks-component-in-block#i-dont-want-my-editor-to-be-able-to-change-component-options-in-my-block",children:"this chapter"}),"."]}),"\n",(0,s.jsx)(o.h3,{id:"wrapperdisable",children:"wrapperDisable"}),"\n",(0,s.jsxs)(o.p,{children:["This attribute disables the wrapper completely. When this attribute is set to ",(0,s.jsx)(o.code,{children:"true"}),", you will not have any wrapper options in your block."]}),"\n",(0,s.jsx)(o.h3,{id:"wrapperparentclass",children:"wrapperParentClass"}),"\n",(0,s.jsx)(o.p,{children:"This attribute is interesting to use if, for example, you have a carousel block with inner blocks. To provide the markup necessary for the carousel script to work, you need to add some items selector (a div). With this key, you can pass a parent item class, and all of your items will be wrapped with this selector and a class."}),"\n",(0,s.jsx)(o.h2,{id:"wrapper-limitations",children:"Wrapper limitations"}),"\n",(0,s.jsxs)(o.p,{children:["In wrapper you ",(0,s.jsx)(o.strong,{children:"can't"})," use ",(0,s.jsx)(o.code,{children:"components"})," key in the manifest to automaticity add additional components like you can in the blocks or components. If you want to add component to a wrapper you must manually add it the old fashion way."]})]})}function d(e={}){const{wrapper:o}={...(0,n.M)(),...e.components};return o?(0,s.jsx)(o,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},35424:(e,o,t)=>{t.d(o,{c:()=>s});const s=t.p+"assets/images/wrapper-closed-6d555371a14a7f0576d2334e591904f4.webp"},2568:(e,o,t)=>{t.d(o,{c:()=>s});const s="data:image/webp;base64,UklGRtgVAABXRUJQVlA4IMwVAAAQXACdASo7AbsAPjEYikOiIaESKMUYIAMEs7dwuPCEDq7UjT3jOR/BP4T5k/2/3Ie8T/cexL86+wR+o/+A6iX68eoD9gv9R/lPdb/zP6ze5P0Bv5t/h///62/sQf3j/eewN/I/9F6ZP7kfBl/a/9n+73s8/+TWCupva//PPxk/cT2D8MncL1w/djfl/4D0I/h/0v+of2X9dv65+zn3u+478YPxm9w/Tt+N3wBfin8U/nn5C/3j9nuP8AB+MfxP+0/17+3/7P+2fuf7Zv6r+OHup9Xf8B7gH8K/iP9Q/Hv+4f/r6t/UDyzaAH8d/mP9v/wf7af2L///MR/J/4T9rv7r///fp+Z/2H/Tf4r94P8h9gn8Y/lf9+/uX+X/4P96////c+4D15ftz7Ff6tf8f8/yQoVBvzgagVWFNY1vLAsSnSHeycQ+D/JGbc77TzFKIWIN+gAo7ltWIjJ4+RLf5FiCtpa9MVspned9p8wbZ06N+JHLBOgkbhVeIkZLFt4JgYoQ41o56D3A62k32+RhtzvsVQm9I6uROE74bc77T5g25gtgPkfCByLnDKMOxsWWh1gQ0XISCOuVNYWJChsCDuSa7WOHKG4ZjEz0F59ozAI4KUuP6cEOYisTjQK59nxm9v+A2n60vhc/x2O86psMgNNIa37jYWXqcrGqtS9WMQEhnyybuBeTld0SSz/67e/JJ++Kdxopt9486Xge5ats1QYbPzXnL4TrVZDpGOo0s8EekbCDf6/ZJBtjpTRalzLH25ZoWQi7OGhUuGU1qF4VaeVVmHQqlUptsSIrdMmmZ3lu4gljfALmU4TxxW9EBdVT1JoAKs4hpS68KAqExHTVKSUfb/pH7h7zP0BzTS2c2O3XHtcdfAHODV5Vm0q5QPdhrKzutkR9YC8I5Wz3TRi2rVXHXw3pxMBoJ87dgW4vlIUn+gWKl0ProyF36QPNJEa3lRdfKGPjsKKQhFbjMIIeo8M51NwhMuS/BogAAP7/w3Cn3D+KXMCYP8HTRYzD1jZpcPJSv4M+hgP0IlDmgf+SEci33X0n+cSYwKcsXgwCQhg8pa6mHmuh2ZW8A5mdvVBNCo+xk+/T4qfLR+XWrOwUwnElcfsBdXSqqIkGLp3qXQtpqrajRzDpBx+5kwamUsvMkQxeYwBrRCz0m4T3Xsn6qKqVrfh6EdGthX//k86sgmk9ICnoAL8f+LYb5Q7TckVYYNmmlqwZie79cPnETrvEB+5+csUsYr2IEe9/CcdV3aXliEZLw4HxKzl52hBs4B8P0FgC0ey4cmSzbX//KGGfyyBlAWreJ6CkFccnzYwcVcbaY04WwZzoXXYj2H/7nbB3lh5erb8di2stWa1Uf+f/jYgekgRMdfbWkJ4VkCZ1JjVJwYg7FuBjKU9yp2YrFkCPBGZ9ATTVEYwXOjoYhmR3LfMCvkxJxb//rmId3P9K6Pj1uRr04hOvVM5vzlysExhbjwDHLZSowQNF4bPhWUKNpov/4NvonBNWVPhdpVHRBi/uqHsUgjJ7+XZmf60nX5Hf/+aiXk+R209lRp86YCyuCgqN2JKmZzWtb8LBwGVwCUZLKDF8vOvip1IkylnyG+2MkK8lm+g7VJzPj7I7I2dwbLe5u//415ZcFZkJDY+wJkwsm9b77mcP/5km0kfwSx7mjqHrqFWfPJN+QROdwKcRWWTb9+bSxPy8VVybTcthMZi5f//jSGEcVJwWhWDjzIShsXr7EGmePsYajVNJmQj0lZSutT2C+oO/bNyqolAEDt1LWSlCzeC2OXqplewuzpm2niD7G+RurQqjRpi8Px9BP5uTjUQ6y1g72pKsvkzV2yfyA/t1Bp8k8OwV9ZgtBL6cC+nao3jPi+hCLu67jCGRQeY/sIg2bXqkJXcFeAerw80IjQ9oI9qsDgd2rdzFBdiOC7Yz/wrRBl39SWEWHbyR4uUhAIsJmB+TEa05deNhWy1GXIqpPYQI90zHomicNzFae812Rf3DZKii+Aae1UoTDfe3wsz/ZVHdfTjEG4ku+8+YS+gB+FQV5X9Y5NpCVxhJI7T6Mel8qoNAJBj/wlK4k87mcLliYxN29tGEpZIwUhgARx3ySZwECRK8IiqXEtD3569CZ8yG8O/Lr8rJVSnhXMp5cVBnbhp2ZlR09VtkbhojnV/G/uwfIweCtfG+brys585640oz9QomiLJF0Lw4rSAhMAI/DRgseeTALrwDHEA0Sv5uPMhsebm48yGx5ubjzIbHmylqjz0dFhd2bQGIkFBRtKAAMtu1HSmFkEW5i53i7VhyFgTUevuKANN63olz4Pyizof/7R14K4F+MvOM9w4MXlXpmz2pJFFxYj8KUBtiDqAV3G8aQcsh6Wz8WPxi4YFHIdy0fhXQ64mF6KqgAGGCgipwWQV7js38LsHqUBjIHNK3KCAWHMQtd//yia7HRvAJKKDn7j//i/jn1pELa17xC8bBwmvPH1OxBXepR5iup8yBzrKef4+Itl3wBkpNv4QIVddVYv7b6XYz0AEuFVXx9HAFrO9X4LYoGhbaCB2LQbgBXNydhf3NkPcSrql/T9U97KycnugYH69p5JESyxNbdQt/gV16i536l2oVT74pT/ZnI+HkN7kH0ouigexUsy2znwE0S8JHkCWHfaXnxpvoz/eMv/D98ytbgdj1adQ6Xky1PEf4h7fn+1Kt2eTZ0GzUxhTm2whjD5fwqy3kDcCRyiWM7XS/ivPw0wzoS1GFirjNYt60x8fRrK2X5e1fddjFu6rHzf67jZ/G/G3bDXyGZXfVV3UdncfixWSNPGaPELWWqNM4LKHbDliRWPViX3onphpAgxjaH0o78Rc+zu+o+VilVQ23Ewlo0rQl90wCbmhNaJ7lAhi64R1GzHvrYndnakEjGxFSQDNwNYO34d4Npfh7g2uFQme2aodcz3DeqMqSozwdQaE/cuxYakyPQIxIDvXJPOou66umYRolThh9VlA1HNaGZcS+Irfw594JQGTzienZ9rJkljHdu1RBuWVKnQZcful/bhjvLz2w/++vZ5L3JmjsFM4Qoa/7z99Epp597YLeepzbbxyj8a+zgq9+mswWWh4cjBrqOx+tHFeAmivdqEVTbb1dJlJEww8b0CcobB35/tB6/KwiUTggAORCdCBuW6n+XOwqocZK+strOMDfDxwvzJJXLHbPt6+ST0dPIfIVw+rD4UsET6uaXw2UJfS3tdu1CltUjnxUNRXvLgjVG6LRR+hBZz0P/o99swHD7lIwurEaOUG8DrGC/fne8zWVl0r5vcT/GP/6bGB79d7gYrZca0yxnCM0S1gyxRezcIIFs9pglKCB9OSkUX98cQwiJdKYyF8jXI1Hnl1T0cnJapnscwTlRKJVgBT3PHb2U3OB/ILfGJXwxeb6OkdfiVeznhE1cOYAKQ+9eyw1E9ikuVpM25NHHcSuwifwav2tfwo5mMNsNhStVVnA+cqbTjxGLJ7aCgaCT0trOw/NVcocBgWez5sS1n7w0xjk6bhudE2zs9j/nPxHfianMITUBk2neCN79E7dEkBM8YtEA06FfQOjjAVSdlmzgA4XbA+DJQ7ocg+Wyt5VF3qMALZYPBsQLRhBE3GroyOgEVX4Fd8GN815wlZMN6QXPn7DBa9cKrpAqRCJqfQruQsssMsjZFblZ7jpSUvJFxDXuOdk8SGnMqcKGsvjboXWVsXtfx1Lgql3PW8WQloEFNQ8KZToRnGhClFlDx7asCyR0esGSqSpB/NsteMUN6LZdmeNOTQtuHaepTKkx2GgJCS73JmuD3DViqWr2pWU3yhPjPp+6i5De+krJY+D2USwyNDjcv/9vPKlMSzznKHNI3rCOO+R93C9u6Yav5heNcEo6gvXLtqHJo5VRLMRTDGd1ZigY15UKded/EF7v2wr+zL/cJoXgHoxNak1YIw9f/iFH0tFBtKonfdZMq+wwxB9r83q9oTZRybi1zc1ZJ5YwI0sXGXUxRSdFDQG5GcLliVLYTUEFUTIS/MBHQSzzzdEHNUF2MWw/NVl22vPJR8TqvOI2C1IMRd2xIHKygUAFMhsCfHqfgTE8Qa5C5s2nP1bod45vSbtyOhclsyE2XTlLnrn9Rjatp5Z+vgnxS9RTDEw2EMaV1HRY5d75qstLB9x5EC7ua4kuR4uz3YhDlBsTaercEtHZMjQfr+AKh3RTKZnhRhp16dk3Ib/wKKot6W4UiYfCcev1Z3BS+aKDgZIo4BmUay486IGUSegitCvnZApaZ/+zgVgNdSx5LX3A/03qMoUwbKWV//iIuq0HCvemrziyScM+S106OQwGxMnpzIC587e8Aytz9sv/Cm7m32dyJz2hcqfV/igZCzkwHeMBFws5zm7+pkjwxYWM81Y63TNN+mptY1xPX9jayWiRW5mZgqLQXIk4UjXBP70d3/UAVYBDNc8oDQbAhYhbZrO3+o7XEZXSODmtCYcgg2Ho0qPzB7DBlDNYk7AF5hWTRMXbM0tm9dvWEB6JXS+eG4BSZhDhX6abMwDPiQG0Ro8mcmZ4j4YdwFCi2t4hzAqnS8rQjnFnBq6dXnixiHAa+65zxSkpRWA3sTBZggky6YGcQlOTT7omwGZGNEZsJCuebmyrbdCR/wAKSWWHCVmf8BOJVBBg2TLWnFUyzlmUJDaVvDrfBzsnZ6b73hFZiqWWCOO2NQFLOGJjcFGF+uKA4QGyOV4BQWZXjQjJ/gWyYmNRRz5nDxgyalSGy7gJIa0vcA+fuZ7RGQDnMLFx3xrQWL/Pwn9RQKnsPMl+KQPpu07cymfopVgHeow1BL5gJHe8c2Kt6Ctoao83PPp7SnLiKr15Prz3W0rSABScKe+1hjX3YN5eUGO1ToFRmRx9RDZswm3XJjeJYIarM394qfQbjCIqT16UeX8qs7eT43IBqUdG/l6671YTKjVV2wqkH1cD0jXbjECfkSJHnnqF5IVY+Od97Azh4jWuW3GJ3yqxyMJR+Zktw3p6H/+yvydoCfwPcpY+XHkwqobRzwG7U2vX0R71FceQUP1T9+Vv1x92Vi0SYissbJlB5ZWfQEcW6ULBHyw00qIMrbmBdrKD/wZo3yeg9TSU7qXNHgp5pl0ACFnL0UFeL6MmmMLeu4LKkoKJ2hUsrosFmJa1qX+wVAzqms7BPHsPFsIMq8ldtvm7Kyh5Md+lpYd5RL7bhkgD6dDluf5oxjUMtRwPpT0VkvJOywywpv5ciymBQimjlfmT2Nb0SGs7Gx8KOZt8UopYj8BzYGlBzJB/48+gW9aZUYT/LWgxBuiSDDQABNJn9Vx0n1bpO6L11akNwABZKyab5cGdw0CRNPLQYIU73+IMasmZcC8NIml4XmDMAAf0bNeUWnIJLc2MMPO6OSmJXZVS4yI5xRjGLjJqcXXlz3pAdVMNg//DQ34MgeK6jWmq2FdHFubd/as6mJZ1BUIuBzdQ1gaVlU2n5gNS3JsYCweZgWSKMrWzVHlS97SP+XCFs7swjmFpj1IpnG5PO5HR0Gj1KCR1o7B5Nn94y0O5Sy8cfftERhPGmMPruLzE9IVpAqb9W2mwl2aB5TiDIQy0UUIIvPTuts4G5ElVg/9jCtipqVOmof/cmVf6f6kLm5yQannJ83QeQ1B5/66U3klN78eKPpGBMwj/LrPojsHD/M2Wa/e6Cj37Fi4MmFKkcbHqRzm+KLjQj+vkwGKJ37YU8GKKcdpoQU9weaZgHrEANeDnq+5NZGdTWDLkxv8w6+povwEO4kNdZ3EyOJWQbGMBfQgJOgzPnQzHHD+jeAmqG//j2jHxYZRWh55+gfueW0SER2rd9IW3kNegKJ7TtdhIgjdHtXfVjEjZf4wts/XOVKKLaKns2bNUo2VPIvAh+4o7dbE9Jf/zqOzPwpBtXNXUCERnDgCsLRZTxipdaTUlNPLL64oQrT3UY5q1CBNJROF4HIvOqH4evWve79ddD0ICHGGQQu/HoWN7JaLN/4H8BtD8+KI51k+jeR1fFXUbJzvWOyXMr0zyoEEwiC9lxfmYbPxlc+CLEp/WESmuQxZ80pcpQc04zXFBathqjHroMLSNup4xvjNPgl8RIPrqilH0fPBJA/d/aR6mdMyO7Xb49MQaSwR7wlz08q+YmbuC9Cs6GewGuZvMBaODsdFynKsgG1LjvqA06rVc2wrQwixiebhwp9eU8xEoesn7LJBER73J/C1kR4u8I2dVuh1nm18Bkux/jHvstoQB/CK6oUT21mS+d9W3Fp/zYpjo8mUP7E7dim5TvB4NP+6C59EqYUsjalW5Keznrc9qhldWu7gF3pMy1SAcw2eqpLL1ukuAJopVxaExPTG4goiV6Pu4/+Lk3t3AZ3aVdupT3EfIZDbqk0UdTtK3g4zvcwi3POUra1JvIRKRNH1b87EEFqi/rq0zsiDCLJll/7vdYDxQwiMBLaZsYEe8MXagSt107i9pOj2hEZEDV1B0hGP5vp5OBG6o9dVPu/8RZUyBP6PbDsqto+d8sqErIjy/NnyAV3kITM49fEdXoeaK9MMR8lap/75VWfbDl9IUNkO67YkCtl+z0zmo+mAamrLY/VULMaK9K3G1IVcteB7SiG+QHYDSLUiDzBIp3yEAAABWtNl/ZNAxz7DNhs5TMRfaHh5xs5HfeSSbVMP22KDXXLcKBsXpam4KNZ445Awb4/UgulHkP3WxJMxpFtSL68J0kVGlXEMjduyG0ayjWwylZycm5BUQKv93/wagwobFtef9FDG7C8jtni9Hv3FKlo/b3ynRWMejczT/XvIk9ruwHvGi02chE0jZ6DIeICqXO7RQoHvVFFpAjl7JVZpqsOl2L8anSMQQFPlNt7zvgORzyZUd3zoWVvkAl9eZM4whrGoTHReLWWFZi2Y0nxGG8M4WMyDgwt2P5EJAI29c5G/HQ8+KPWm0SwXtz02UaLm4Y9jnwQjUWj5ZhtUUE2AXFnyA07QQDoENFhRpNZfd8IUtFDBnQ3IRJSzZchEgduiIJ4DWPG7ScRHUaVVOOmCS90Eni044htHJuI6JxOzvowSqa0oIFVRE1iK1tQooyxzxyFInkWCNGv+WHGUnvz9jRwWnEuduLLDPbp7B2KKvYcqxpUR3/lf09ZmJoHBKhIAVYRvA5MIEFyZSUcGyF7fQODkFg1pYM4pDxy17gm0BgiDCe7ItiTCEX/Y51MjMtwkeXxH2r24bvNympZi0ML0gbO8YM4skFmKZv7haKYCa6fzERrFyJZocPi+HKR7pe6AdgwAoypHD+hpbouDOCTo6BVJKNcz8Nq8AnXZOr+q++e9N72AGass3S2bqIT9EGTD6j9fHM91Jn071aOffNDbEZS+taM1NavisF/m9IPOVfa0DMlrJvYYeBPcaJM9A/RfF6MzCbAf9I1FfYNbcg+6RqwiUVOnXfbURec9vDmum+sh/kRuiAFX+eV+WY9hFdvRm9xEiqDY1WxOmoF/5vXZRVWAAAA="},8832:(e,o,t)=>{t.d(o,{c:()=>s});const s=t.p+"assets/images/wrapper-modal-7e522af5e936b203331d1ab5808fb70d.webp"},4552:(e,o,t)=>{t.d(o,{I:()=>a,M:()=>r});var s=t(11504);const n={},i=s.createContext(n);function r(e){const o=s.useContext(i);return s.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(n):e.components||n:r(e.components),s.createElement(i.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/cec206a7.57565897.js b/assets/js/cec206a7.57565897.js deleted file mode 100644 index 99c87977e..000000000 --- a/assets/js/cec206a7.57565897.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[49909],{46540:(o,e,t)=>{t.r(e),t.d(e,{assets:()=>c,contentTitle:()=>i,default:()=>h,frontMatter:()=>r,metadata:()=>l,toc:()=>a});var s=t(85893),n=t(11151);const r={id:"blocks-storybook",title:"Storybook"},i=void 0,l={id:"legacy/v8/basics/blocks-storybook",title:"Storybook",description:"docs-source",source:"@site/docs/legacy/v8/basics/blocks-storybook.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/blocks-storybook",permalink:"/docs/legacy/v8/basics/blocks-storybook",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-storybook",title:"Storybook"},sidebar:"docs",previous:{title:"Styles",permalink:"/docs/legacy/v8/basics/blocks-styles"},next:{title:"Helpers",permalink:"/docs/legacy/v8/basics/helpers"}},c={},a=[{value:"Create my custom story",id:"create-my-custom-story",level:2},{value:"Block story",id:"block-story",level:3},{value:"Variation story",id:"variation-story",level:3},{value:"Component story",id:"component-story",level:3}];function d(o){const e={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",...(0,n.a)(),...o.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.p,{children:(0,s.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,s.jsx)(e.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(e.p,{children:"We have created a full storybook that hosts all our blocks/components/variations with a fully functional block editor, where you can try out how blocks work and behave."}),"\n",(0,s.jsx)(e.admonition,{title:":es-hide-title:",type:"note",children:(0,s.jsx)(e.p,{children:"To speed up project build time, Eightshift Boilerplate doesn't come with Storybook out of the box; you need to install it. To install Storybook to your project, just type this command in you terminal and follow the instructions:"})}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-bash",children:"wp boilerplate blocks use-storybook\n"})}),"\n",(0,s.jsx)(e.h2,{id:"create-my-custom-story",children:"Create my custom story"}),"\n",(0,s.jsx)(e.p,{children:"You don't need to have stories in your block/component, but we provided you with the ability to use the Storybook for all of your blocks and components. Why not use it? It will speed up your development time. Trust us."}),"\n",(0,s.jsx)(e.p,{children:"If you used our way to set up your project, you already have Storybook ready to use. To start the Storybook, run this command:"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-bash",children:"npm run storybook\n"})}),"\n",(0,s.jsxs)(e.p,{children:["In your project, you also have the ",(0,s.jsx)(e.code,{children:".storybook"})," folder, where all the configuration for Storybook is defined."]}),"\n",(0,s.jsxs)(e.p,{children:["For your blocks/components/variation to be seen in the Storybook, you must have the ",(0,s.jsx)(e.code,{children:"docs"})," folder and the ",(0,s.jsx)(e.code,{children:"story.js"})," file in it."]}),"\n",(0,s.jsx)(e.h3,{id:"block-story",children:"Block story"}),"\n",(0,s.jsxs)(e.p,{children:["For all blocks, you don't need to write anything because all blocks stories look the same here is an example of the ",(0,s.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/custom/heading/docs/story.js",children:"heading block story"}),"."]}),"\n",(0,s.jsxs)(e.p,{children:["We pull all the data from the manifest.json file and all the attribute values from the ",(0,s.jsx)(e.code,{children:"example"})," key."]}),"\n",(0,s.jsx)(e.h3,{id:"variation-story",children:"Variation story"}),"\n",(0,s.jsx)(e.p,{children:"The same as the block's story."}),"\n",(0,s.jsx)(e.h3,{id:"component-story",children:"Component story"}),"\n",(0,s.jsxs)(e.p,{children:["Components are not smart and can't be automatically built into the story. This is why you must create a story of all your components and mock the data.\nYou should set all the mock data in the component ",(0,s.jsx)(e.code,{children:"manifest.json"})," and just provide the story's implementation. We have provided you with the helper that uses example data from you manifests and respects the component's dependency tree. Here you can see and example of ",(0,s.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/components/card/docs/story.js",children:"card component story"}),"."]})]})}function h(o={}){const{wrapper:e}={...(0,n.a)(),...o.components};return e?(0,s.jsx)(e,{...o,children:(0,s.jsx)(d,{...o})}):d(o)}},11151:(o,e,t)=>{t.d(e,{Z:()=>l,a:()=>i});var s=t(67294);const n={},r=s.createContext(n);function i(o){const e=s.useContext(r);return s.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(n):o.components||n:i(o.components),s.createElement(r.Provider,{value:e},o.children)}}}]); \ No newline at end of file diff --git a/assets/js/cec206a7.d0af7a9e.js b/assets/js/cec206a7.d0af7a9e.js new file mode 100644 index 000000000..797ab8db8 --- /dev/null +++ b/assets/js/cec206a7.d0af7a9e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[23408],{25124:(o,e,t)=>{t.r(e),t.d(e,{assets:()=>c,contentTitle:()=>i,default:()=>h,frontMatter:()=>r,metadata:()=>l,toc:()=>a});var s=t(17624),n=t(4552);const r={id:"blocks-storybook",title:"Storybook"},i=void 0,l={id:"legacy/v8/basics/blocks-storybook",title:"Storybook",description:"docs-source",source:"@site/docs/legacy/v8/basics/blocks-storybook.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/blocks-storybook",permalink:"/docs/legacy/v8/basics/blocks-storybook",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-storybook",title:"Storybook"},sidebar:"docs",previous:{title:"Styles",permalink:"/docs/legacy/v8/basics/blocks-styles"},next:{title:"Helpers",permalink:"/docs/legacy/v8/basics/helpers"}},c={},a=[{value:"Create my custom story",id:"create-my-custom-story",level:2},{value:"Block story",id:"block-story",level:3},{value:"Variation story",id:"variation-story",level:3},{value:"Component story",id:"component-story",level:3}];function d(o){const e={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",...(0,n.M)(),...o.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.p,{children:(0,s.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,s.jsx)(e.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(e.p,{children:"We have created a full storybook that hosts all our blocks/components/variations with a fully functional block editor, where you can try out how blocks work and behave."}),"\n",(0,s.jsx)(e.admonition,{title:":es-hide-title:",type:"note",children:(0,s.jsx)(e.p,{children:"To speed up project build time, Eightshift Boilerplate doesn't come with Storybook out of the box; you need to install it. To install Storybook to your project, just type this command in you terminal and follow the instructions:"})}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-bash",children:"wp boilerplate blocks use-storybook\n"})}),"\n",(0,s.jsx)(e.h2,{id:"create-my-custom-story",children:"Create my custom story"}),"\n",(0,s.jsx)(e.p,{children:"You don't need to have stories in your block/component, but we provided you with the ability to use the Storybook for all of your blocks and components. Why not use it? It will speed up your development time. Trust us."}),"\n",(0,s.jsx)(e.p,{children:"If you used our way to set up your project, you already have Storybook ready to use. To start the Storybook, run this command:"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-bash",children:"npm run storybook\n"})}),"\n",(0,s.jsxs)(e.p,{children:["In your project, you also have the ",(0,s.jsx)(e.code,{children:".storybook"})," folder, where all the configuration for Storybook is defined."]}),"\n",(0,s.jsxs)(e.p,{children:["For your blocks/components/variation to be seen in the Storybook, you must have the ",(0,s.jsx)(e.code,{children:"docs"})," folder and the ",(0,s.jsx)(e.code,{children:"story.js"})," file in it."]}),"\n",(0,s.jsx)(e.h3,{id:"block-story",children:"Block story"}),"\n",(0,s.jsxs)(e.p,{children:["For all blocks, you don't need to write anything because all blocks stories look the same here is an example of the ",(0,s.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/custom/heading/docs/story.js",children:"heading block story"}),"."]}),"\n",(0,s.jsxs)(e.p,{children:["We pull all the data from the manifest.json file and all the attribute values from the ",(0,s.jsx)(e.code,{children:"example"})," key."]}),"\n",(0,s.jsx)(e.h3,{id:"variation-story",children:"Variation story"}),"\n",(0,s.jsx)(e.p,{children:"The same as the block's story."}),"\n",(0,s.jsx)(e.h3,{id:"component-story",children:"Component story"}),"\n",(0,s.jsxs)(e.p,{children:["Components are not smart and can't be automatically built into the story. This is why you must create a story of all your components and mock the data.\nYou should set all the mock data in the component ",(0,s.jsx)(e.code,{children:"manifest.json"})," and just provide the story's implementation. We have provided you with the helper that uses example data from you manifests and respects the component's dependency tree. Here you can see and example of ",(0,s.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/components/card/docs/story.js",children:"card component story"}),"."]})]})}function h(o={}){const{wrapper:e}={...(0,n.M)(),...o.components};return e?(0,s.jsx)(e,{...o,children:(0,s.jsx)(d,{...o})}):d(o)}},4552:(o,e,t)=>{t.d(e,{I:()=>l,M:()=>i});var s=t(11504);const n={},r=s.createContext(n);function i(o){const e=s.useContext(r);return s.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(n):o.components||n:i(o.components),s.createElement(r.Provider,{value:e},o.children)}}}]); \ No newline at end of file diff --git a/assets/js/cf4609e7.71907238.js b/assets/js/cf4609e7.71907238.js deleted file mode 100644 index c1f2e63c9..000000000 --- a/assets/js/cf4609e7.71907238.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[86198],{41561:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>d,frontMatter:()=>i,metadata:()=>r,toc:()=>c});var o=n(85893),s=n(11151);const i={id:"blocks-component-in-block",title:"Component in a Block"},a=void 0,r={id:"legacy/v6/basics/blocks-component-in-block",title:"Component in a Block",description:"docs-source",source:"@site/docs/legacy/v6/basics/blocks-component-in-block.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/blocks-component-in-block",permalink:"/docs/legacy/v6/basics/blocks-component-in-block",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-component-in-block",title:"Component in a Block"},sidebar:"docs",previous:{title:"Attributes",permalink:"/docs/legacy/v6/basics/blocks-attributes"},next:{title:"Wrapper",permalink:"/docs/legacy/v6/basics/blocks-wrapper"}},l={},c=[{value:"Manifest setup",id:"manifest-setup",level:2},{value:"Important helpers",id:"important-helpers",level:2},{value:"Setting up attributes",id:"setting-up-attributes",level:2},{value:"I want to use one heading component in my block.",id:"i-want-to-use-one-heading-component-in-my-block",level:3},{value:"I want to override one heading attribute in my block.",id:"i-want-to-override-one-heading-attribute-in-my-block",level:3},{value:"I want to use one heading and a paragraph component in my block.",id:"i-want-to-use-one-heading-and-a-paragraph-component-in-my-block",level:3},{value:"I want two heading components in my block.",id:"i-want-two-heading-components-in-my-block",level:3},{value:"I want to use a component that uses more components (componentCeption).",id:"i-want-to-use-a-component-that-uses-more-components-componentception",level:3},{value:"I don't need all the component options in my block.",id:"i-dont-need-all-the-component-options-in-my-block",level:3},{value:"I don't want my editor to be able to change component options in my block.",id:"i-dont-want-my-editor-to-be-able-to-change-component-options-in-my-block",level:3},{value:"How do my example attributes behave when I use components in blocks?",id:"how-do-my-example-attributes-behave-when-i-use-components-in-blocks",level:3},{value:"I have a component name that has multiple strings in a name, will this work?",id:"i-have-a-component-name-that-has-multiple-strings-in-a-name-will-this-work",level:3},{value:"I have a component that I want to use manually",id:"i-have-a-component-that-i-want-to-use-manually",level:3},{value:"I want to limit which options are shown for components inside a block/component",id:"i-want-to-limit-which-options-are-shown-for-components-inside-a-blockcomponent",level:3},{value:"I want to only pass attributes to the component that I'm going to use",id:"i-want-to-only-pass-attributes-to-the-component-that-im-going-to-use",level:3},{value:"Passing setAttributes to components",id:"passing-setattributes-to-components",level:3},{value:"Manualy overiding attributes from the code",id:"manualy-overiding-attributes-from-the-code",level:3}];function h(e){const t={a:"a",blockquote:"blockquote",code:"code",em:"em",h2:"h2",h3:"h3",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/",children:(0,o.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(t.p,{children:"Blocks and components work perfectly together because they are made that way. We simplified this as much as possible but there always a few things you need to do manually."}),"\n",(0,o.jsx)(t.p,{children:"Try to think of your development process in this way:"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"Each component must be standalone and ideally not depend on any other components (sometimes this is not possible but keep this to a minimum)."}),"\n",(0,o.jsx)(t.li,{children:"Components must not be aware of the layout they are used in."}),"\n",(0,o.jsxs)(t.li,{children:["No global styles. Instead, all styles should be contained to the block/component. For more details, check ",(0,o.jsx)(t.a,{href:"blocks-styles",children:"this link"}),"."]}),"\n",(0,o.jsxs)(t.li,{children:["You should define all heading variations in a ",(0,o.jsx)(t.code,{children:"heading"})," component. You can then use this component everywhere you have a heading instead of writing a new implementation. In practice: don't do ",(0,o.jsx)(t.code,{children:"<h2>$heading</h2>"})," but render the ",(0,o.jsx)(t.code,{children:"heading"})," component instead using the helpers defined in the ",(0,o.jsx)(t.a,{href:"helpers",children:"helpers section"}),". The heading is just an example, but this applies to every component."]}),"\n",(0,o.jsx)(t.li,{children:"You can have multiple heading components in one block."}),"\n",(0,o.jsx)(t.li,{children:(0,o.jsx)(t.strong,{children:"JavaScript and PHP part of the block/component must be 99% the same this is why we wrote all those helpers."})}),"\n"]}),"\n",(0,o.jsx)(t.h2,{id:"manifest-setup",children:"Manifest setup"}),"\n",(0,o.jsxs)(t.p,{children:["In order to use our way of passing props, there are a few prerequisites you must follow. You must use our helpers and you must set ",(0,o.jsx)(t.code,{children:"components"})," key in the manifest."]}),"\n",(0,o.jsxs)(t.p,{children:["As we described in the ",(0,o.jsx)(t.a,{href:"block-manifest",children:"block manifest"})," chapter each block/component can have a ",(0,o.jsx)(t.code,{children:"components"})," key. This key is used in the registration of the block attributes in the block editor and as a dependency tree for passing props in the children components."]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.strong,{children:"Default setup:"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"components": {\n\t"heading": "heading"\n}\n'})}),"\n",(0,o.jsx)(t.p,{children:"Components key is an object that can have multiple items added."}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsx)(t.p,{children:"Key represents the name that is going to be used for this component in this block/component and the prefix used in the attributes (more on this later)."}),"\n"]}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsx)(t.p,{children:"Value represents the real component name that you have in your project."}),"\n"]}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsx)(t.p,{children:"Each key and value names can be written in the kebab-case or camelCase but we recommend using camelCase."}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.strong,{children:"Multiple components setup:"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"components": {\n\t"heading": "heading",\n\t"paragraph": "paragraph"\n}\n'})}),"\n",(0,o.jsx)(t.p,{children:"This block/component uses two components, one is heading and the other is paragraphy and they are using the default names."}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.strong,{children:"Multiple components set up with the components of the same type:"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"components": {\n\t"heading": "heading",\n\t"intro": "heading",\n\t"paragraph": "paragraph"\n}\n'})}),"\n",(0,o.jsxs)(t.p,{children:["This block/component uses three components, two headings (one of which is renamed to ",(0,o.jsx)(t.code,{children:"intro"}),") and a paragraph."]}),"\n",(0,o.jsx)(t.h2,{id:"important-helpers",children:"Important helpers"}),"\n",(0,o.jsx)(t.p,{children:"As we described earlier, in order to use our setup you must use our helpers. Here are some of the helpers you should get familiar with:"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:["props - ",(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/scripts/editor/attributes.js",children:"JS"})," - ",(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/4.0.0/src/Helpers/AttributesTrait.php",children:"PHP"})]}),"\n",(0,o.jsxs)(t.li,{children:["getOptions - ",(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/scripts/editor/options.js",children:"JS"})]}),"\n",(0,o.jsxs)(t.li,{children:["getOption - ",(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/scripts/editor/options.js",children:"JS"})]}),"\n",(0,o.jsxs)(t.li,{children:["getAttrKey - ",(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/scripts/editor/attributes.js",children:"JS"})," - ",(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/4.0.0/src/Helpers/AttributesTrait.php",children:"PHP"})]}),"\n",(0,o.jsxs)(t.li,{children:["checkAttr - ",(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/scripts/editor/attributes.js",children:"JS"})," - ",(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/4.0.0/src/Helpers/AttributesTrait.php",children:"PHP"})]}),"\n",(0,o.jsxs)(t.li,{children:["render - ",(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/4.0.0/src/Blocks/AbstractBlocks.php",children:"PHP"})]}),"\n"]}),"\n",(0,o.jsxs)(t.p,{children:["For more details please check our helpers sections for ",(0,o.jsx)(t.a,{href:"helpers-javascript",children:"JavaScript"})," and ",(0,o.jsx)(t.a,{href:"helpers-php",children:"PHP"}),"."]}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsx)(t.p,{children:"Keep in mind that you can always ignore our setup and use the React way of passing props to components by prop drilling."}),"\n"]}),"\n",(0,o.jsx)(t.h2,{id:"setting-up-attributes",children:"Setting up attributes"}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsx)(t.p,{children:"Each attribute must have the component name prefix in each attribute. This is one of the biggest requirements in order for our setup to work."}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:"By defining components key in the block registration phase we are drilling down from block to the last component and setting up attribute names according to your setup. In order for everything to work, we had to add/change prefixes to each component attribute in relation to where this attribute is used in the dependency tree. It is not so hard as it sounds so let us show you some graphical examples:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{alt:"Attributes 1",src:n(5477).Z+"",width:"781",height:"251"})}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{alt:"Attributes 2",src:n(53248).Z+"",width:"781",height:"251"})}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{alt:"Attributes 3",src:n(70439).Z+"",width:"781",height:"251"})}),"\n",(0,o.jsx)(t.h3,{id:"i-want-to-use-one-heading-component-in-my-block",children:"I want to use one heading component in my block."}),"\n",(0,o.jsx)(t.p,{children:"If you have a heading component with these attributes:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/components/heading/manifest.json"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"componentName": "heading",\n"attributes": {\n\t"headingContent": {\n\t\t"type": "string"\n\t},\n\t"headingLevel": {\n\t\t"type": "integer",\n\t\t"default": 2\n\t},\n\t"headingSize": {\n\t\t"type": "string",\n\t\t"default": "default"\n\t},\n}\n'})}),"\n",(0,o.jsx)(t.p,{children:"and you want to use the heading component in the Jumbotron block, you can use it by adding a component key in the Jumbotron block manifest like this:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/custom/jumbotron/manifest.json"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"blockName": "jumbotron",\n"attributes": {\n\t"jumbotronContent": {\n\t\t"type": "string"\n\t\t"default": "test",\n\t}\n},\n"components": {\n\t"heading": "heading"\n}\n'})}),"\n",(0,o.jsx)(t.p,{children:"in your block attribute's object, you will now have these keys:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'\n// Attributes from the component.\n"jumbotronHeadingContent": "",\n"jumbotronHeadingLevel": 2,\n"jumbotronHeadingSize": "default",\n\n// Attributes from the block.\n"jumbotronContent": "test",\n'})}),"\n",(0,o.jsx)(t.p,{children:"As you can see in the example, each block/component attribute must have a prefix, and we are then stacking that prefixed in the final output."}),"\n",(0,o.jsx)(t.h3,{id:"i-want-to-override-one-heading-attribute-in-my-block",children:"I want to override one heading attribute in my block."}),"\n",(0,o.jsx)(t.p,{children:"We build all our attributes by merging attribute's objects in this order:"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"global attributes (global settings)"}),"\n",(0,o.jsx)(t.li,{children:"wrapper attributes"}),"\n",(0,o.jsx)(t.li,{children:"component attributes"}),"\n",(0,o.jsx)(t.li,{children:"block attributes"}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:"By following the basic principle of merging objects, if you have two keys with the same name, the last one will always override the previous. Now that you know how attributes are built, you can follow this example for your answer."}),"\n",(0,o.jsx)(t.p,{children:"We are using the same component as before:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/components/heading/manifest.json"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"componentName": "heading",\n"attributes": {\n\t"headingContent": {\n\t\t"type": "string"\n\t},\n\t"headingLevel": {\n\t\t"type": "integer",\n\t\t"default": 2\n\t},\n\t"headingSize": {\n\t\t"type": "string",\n\t\t"default": "default"\n\t},\n}\n'})}),"\n",(0,o.jsx)(t.p,{children:"and in Jumbotron block we want to change the default value of headingSize to big:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/custom/jumbotron/manifest.json"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"blockName": "jumbotron",\n"attributes": {\n\t"jumbotronContent": {\n\t\t"type": "string"\n\t\t"default": "test",\n\t},\n\t"jumbotronHeadingSize": {\n\t\t"type": "string",\n\t\t"default": "big"\n\t},\n},\n"components": {\n\t"heading": "heading"\n}\n'})}),"\n",(0,o.jsx)(t.p,{children:"In your block attributes object, you will now have these keys:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'\n// Attributes from the component.\n"jumbotronHeadingContent": "",\n"jumbotronHeadingLevel": 2,\n"jumbotronHeadingSize": "big",\n\n// Attributes from the block.\n"jumbotronContent": "test",\n'})}),"\n",(0,o.jsx)(t.p,{children:"As you can see in the example, to override the component attribute you just set that attribute to a different value but you must respect the attribute prefix."}),"\n",(0,o.jsx)(t.h3,{id:"i-want-to-use-one-heading-and-a-paragraph-component-in-my-block",children:"I want to use one heading and a paragraph component in my block."}),"\n",(0,o.jsx)(t.p,{children:"You can do this by following the same principle as before. Here is an example:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/custom/jumbotron/manifest.json"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"blockName": "jumbotron",\n"attributes": {\n\t"jumbotronContent": {\n\t\t"type": "string"\n\t\t"default": "test",\n\t}\n},\n"components": {\n\t"heading": "heading",\n\t"paragraph": "paragraph"\n}\n'})}),"\n",(0,o.jsx)(t.h3,{id:"i-want-two-heading-components-in-my-block",children:"I want two heading components in my block."}),"\n",(0,o.jsx)(t.p,{children:"If you want to use multiple heading components in your block, follow this example:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/custom/jumbotron/manifest.json"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"blockName": "jumbotron",\n"attributes": {\n\t"jumbotronContent": {\n\t\t"type": "string"\n\t\t"default": "test",\n\t}\n},\n"components": {\n\t"heading": "heading"\n\t"intro": "heading"\n}\n'})}),"\n",(0,o.jsx)(t.p,{children:"In your block attributes object, you will now have these keys:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'\n// Attributes from the first component.\n"jumbotronHeadingContent": "",\n"jumbotronHeadingLevel": 2,\n"jumbotronHeadingSize": "default",\n\n// Attributes from the second component.\n"jumbotronIntroContent": "",\n"jumbotronIntroLevel": 2,\n"jumbotronIntroSize": "default",\n\n// Attributes from the block.\n"jumbotronContent": "test",\n'})}),"\n",(0,o.jsx)(t.h3,{id:"i-want-to-use-a-component-that-uses-more-components-componentception",children:"I want to use a component that uses more components (componentCeption)."}),"\n",(0,o.jsx)(t.p,{children:"For example, if you have a block called cards grid that uses a card component, that card component uses a heading component."}),"\n",(0,o.jsx)(t.p,{children:"Structure:"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:["Cards","\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:["Card","\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"Heading"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:"If you have a heading component with these attributes:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/components/heading/manifest.json"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"componentName": "heading",\n"attributes": {\n\t"headingContent": {\n\t\t"type": "string"\n\t},\n\t"headingLevel": {\n\t\t"type": "integer",\n\t\t"default": 2\n\t},\n\t"headingSize": {\n\t\t"type": "string",\n\t\t"default": "default"\n\t},\n}\n'})}),"\n",(0,o.jsx)(t.p,{children:"and you have a card component:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/components/card/manifest.json"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"componentName": "card",\n"attributes": {\n\t"cardUsage": {\n\t\t"type": "boolean"\n\t\t"default": true,\n\t},\n},\n"components": {\n\t"heading": "heading"\n}\n'})}),"\n",(0,o.jsx)(t.p,{children:"and you have a cards grid block:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/custom/cards-grid/manifest.json"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"blockName": "cards-grid",\n"attributes": {\n\t"cardsGridContent": {\n\t\t"type": "string"\n\t\t"default": "test",\n\t},\n},\n"components": {\n\t"card": "card"\n}\n'})}),"\n",(0,o.jsx)(t.p,{children:"in your block attributes object, you will now have these keys:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'\n// Attributes from the heading component.\n"cardsGridCardHeadingContent": "",\n"cardsGridCardHeadingLevel": 2,\n"cardsGridCardHeadingSize": "default",\n\n// Attributes from the card component.\n"cardsGridCardUsage": true,\n\n// Attributes from the block.\n"cardsGridContent": "test",\n'})}),"\n",(0,o.jsx)(t.p,{children:"As you can see in the example, you have all the attributes from the card and heading component inside your card's grid block."}),"\n",(0,o.jsx)(t.h3,{id:"i-dont-need-all-the-component-options-in-my-block",children:"I don't need all the component options in my block."}),"\n",(0,o.jsxs)(t.p,{children:["All our components come with a few common attributes that we recommend you also implement in your components. One of those attributes is ",(0,o.jsx)(t.code,{children:"buttonUse"}),"."]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"buttonUse": true,\n'})}),"\n",(0,o.jsxs)(t.p,{children:["This attribute is available in all three components (editor, toolbar, options). If set to ",(0,o.jsx)(t.strong,{children:"false"}),", it will remove this component from the DOM. This is useful if you want to hide all markup from the DOM."]}),"\n",(0,o.jsx)(t.p,{children:"For example, you have a Jumbotron block and a heading that you want to populate if necessary. If you add content to the heading, everything looks good. But if you don't add it, you'll still see a placeholder for that heading in the block editor. This affects how you perceive it, and an editor may think this block will look like that on the front end (with the placeholder text). So if you have a component that you will not populate on some block, switch the toggle to false, and you will hide it from the DOM. This is useful for content editors."}),"\n",(0,o.jsx)(t.h3,{id:"i-dont-want-my-editor-to-be-able-to-change-component-options-in-my-block",children:"I don't want my editor to be able to change component options in my block."}),"\n",(0,o.jsxs)(t.p,{children:["Another attribute that you can use is ",(0,o.jsx)(t.code,{children:"buttonShowControls"}),"."]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"buttonShowControls": true,\n'})}),"\n",(0,o.jsx)(t.p,{children:"This attribute is available in the options component only. You can't set it up via block editor, only from code. You would use it if you wanted to use a heading component and set all the defaults, without your content editor changing how the heading looks. It can add the heading content from the editor section without changing any of the options. You can set this option in the manifest or pass it manually via props."}),"\n",(0,o.jsx)(t.h3,{id:"how-do-my-example-attributes-behave-when-i-use-components-in-blocks",children:"How do my example attributes behave when I use components in blocks?"}),"\n",(0,o.jsx)(t.p,{children:"Exactly the same way as attributes."}),"\n",(0,o.jsx)(t.h3,{id:"i-have-a-component-name-that-has-multiple-strings-in-a-name-will-this-work",children:"I have a component name that has multiple strings in a name, will this work?"}),"\n",(0,o.jsxs)(t.p,{children:["By multiple strings in a name we mean that component name has multiple words, for example, ",(0,o.jsx)(t.code,{children:"jumbotron-cta"}),". The problem here is that we define components with kebab-case and attributes with camelCase."]}),"\n",(0,o.jsxs)(t.p,{children:["The short answer is ",(0,o.jsx)(t.strong,{children:"yes"})," this will work."]}),"\n",(0,o.jsx)(t.h3,{id:"i-have-a-component-that-i-want-to-use-manually",children:"I have a component that I want to use manually"}),"\n",(0,o.jsx)(t.p,{children:"We created this cool way of importing attributes and loading components in your blocks or other components. However, that doesn't mean that you can't have instances where you have to load components manually. In that case, you have to provide all the attributes that you want to use manually. The attributes that you didn't provide will not be magically set from the manifest, but you can make your life easier and map it like this."}),"\n",(0,o.jsxs)(t.p,{children:["For example, you have a ",(0,o.jsx)(t.code,{children:"card"})," component that you will use in the ",(0,o.jsx)(t.code,{children:"featured-posts"})," block."]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/custom/featured-posts/featured-posts.php"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-php",children:"echo wp_kses_post(\n\tComponents::render(\n\t\t'card',\n\t\tComponents::props('card', $attributes, [\n\t\t\t'cardHeadingContent' => __('Custom content for heading', 'textdomain'),\n\t\t\t'cardParagraphContent' => __('Custom content for paragraph', 'textdomain'),\n\t\t])\n\t)\n);\n"})}),"\n",(0,o.jsx)(t.p,{children:"This example will only pass these 2 attributes to you component and attributes from the currect file, it will not pass default attributes of heading and paragraph components."}),"\n",(0,o.jsx)(t.p,{children:"By providing the forth parameter to a render method you can also add default attributes to the output like this:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.strong,{children:"featured-posts.php"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-php",children:"echo wp_kses_post(\n\tComponents::render(\n\t\t'card',\n\t\tComponents::props('card', $attributes, [\n\t\t\t'cardHeadingContent' => __('Custom content for heading', 'textdomain'),\n\t\t\t'cardParagraphContent' => __('Custom content for paragraph', 'textdomain'),\n\t\t]),\n\t\t'',\n\t\ttrue\n\t)\n);\n"})}),"\n",(0,o.jsx)(t.h3,{id:"i-want-to-limit-which-options-are-shown-for-components-inside-a-blockcomponent",children:"I want to limit which options are shown for components inside a block/component"}),"\n",(0,o.jsxs)(t.p,{children:["Let's say you have a block that has a ",(0,o.jsx)(t.code,{children:"heading"})," component inside it."]}),"\n",(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"heading"})," has 10 text sizes and 5 colors, but for that block, only 2 colors and 3 text sizes are allowed.\nTo achieve this you must prepare your component to be able to use this feature:"]}),"\n",(0,o.jsxs)(t.ol,{children:["\n",(0,o.jsxs)(t.li,{children:["Your component options must be named the same name as their attribute value. In the example, you can see that the options key for ",(0,o.jsx)(t.code,{children:"typographySize"})," is the same name as in the attributes."]}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/components/heading/manifest.json"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'{\n\t"componentName": "heading",\n\t"attributes": {\n\t\t"headingSize": {\n\t\t\t"type": "string",\n\t\t\t"default": "16-text-roman"\n\t\t},\n\t\t"headingColor": {\n\t\t\t"type": "string",\n\t\t\t"default": "black",\n\t\t\t"variable": true,\n\t\t\t"color": true\n\t\t},\n\t},\n\t"options": {\n\t\t"headingSize": [\n\t\t\t{\n\t\t\t\t"label": "180 Display",\n\t\t\t\t"value": "180-default"\n\t\t\t},\n\t\t\t{\n\t\t\t\t"label": "120 Display",\n\t\t\t\t"value": "120-default"\n\t\t\t},\n\t\t\t{\n\t\t\t\t"label": "80 Display",\n\t\t\t\t"value": "80-default"\n\t\t\t},\n\t\t\t{\n\t\t\t\t"label": "52 Display",\n\t\t\t\t"value": "52-default"\n\t\t\t},\n\t\t\t{\n\t\t\t\t"label": "36 Text",\n\t\t\t\t"value": "36-text"\n\t\t\t}\n\t\t],\n\t\t"headingColor": [\n\t\t\t"black",\n\t\t\t"white",\n\t\t\t"grey100",\n\t\t\t"grey200"\n\t\t]\n\t}\n}\n'})}),"\n",(0,o.jsxs)(t.ol,{start:"2",children:["\n",(0,o.jsxs)(t.li,{children:["Every option in your component must use ",(0,o.jsx)(t.code,{children:"getOption"})," helper for the prop that is used to provide options. Details about the helper can be found ",(0,o.jsx)(t.a,{href:"helpers-javascript",children:"here"}),"."]}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.strong,{children:"SelectControl Example:"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-js",children:"const headingSize = checkAttr('headingSize', attributes, manifest);\n\n<SelectControl\n\tlabel={__('Text size', 'eightshift-boilerplate')}\n\tvalue={headingSize}\n\toptions={getOption('headingSize', attributes, manifest)}\n\tonChange={(value) => setAttributes({ [getAttrKey('headingSize', attributes, manifest)]: value })}\n/>\n"})}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.strong,{children:"ColorPaletteCustom Example:"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-js",children:"const headingColor = checkAttr('headingColor', attributes, manifest);\n\n<ColorPaletteCustom\n\tlabel={__('Color', 'eightshift-boilerplate')}\n\tvalue={headingColor}\n\tcolors={getOption('headingColor', attributes, manifest, true)}\n\tonChange={(value) => setAttributes({ [getAttrKey('headingColor', attributes, manifest)]: value })}\n/>\n"})}),"\n",(0,o.jsxs)(t.ol,{start:"3",children:["\n",(0,o.jsx)(t.li,{children:"In the component/blocks for which you are going to override the options, you must provide an options prop that is going to override the default one also following the described attribute prefixes."}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.strong,{children:"heading-options.js"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-js",children:"<HeadingOptions\n\t{...props('heading', attributes, {\n\t\toptions: getOptions(attributes, manifest),\n\t})}\n/>\n"})}),"\n",(0,o.jsxs)(t.ol,{start:"4",children:["\n",(0,o.jsxs)(t.li,{children:["In the component/blocks for which you are going to override options, you must provide the override in the ",(0,o.jsx)(t.code,{children:"manifest.json"})," by following the same naming as in the component."]}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/custom/heading/manifest.json"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'{\n\t"blockName": "heading",\n\t"options": {\n\t\t"headingHeadingSize": [\n\t\t\t"80-default",\n\t\t\t"52-default"\n\t\t],\n\t\t"headingHeadingColor": [\n\t\t\t"black",\n\t\t\t"white"\n\t\t]\n\t}\n}\n'})}),"\n",(0,o.jsx)(t.p,{children:"And this is it. You are now able to override the options from the parent block/component."}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsx)(t.p,{children:"Keep in mind that you can only override SelectControl, ColorPaletteCustom, and AlignmentToolbar."}),"\n"]}),"\n",(0,o.jsx)(t.h3,{id:"i-want-to-only-pass-attributes-to-the-component-that-im-going-to-use",children:"I want to only pass attributes to the component that I'm going to use"}),"\n",(0,o.jsx)(t.p,{children:"At one point in time, we agreed on naming standards for all component attributes. That way we made sure that you wouldn't get any collisions when using multiple components. So we said it is ok to spread all attributes to the component and let the component handle what it needs. Well, that approach is ok but it can bite you in the a.. at the point that you least expect."}),"\n",(0,o.jsxs)(t.p,{children:["That is why we created ",(0,o.jsx)(t.a,{href:"helpers-javascript",children:"props helper"})," that determines what attributes are passed to what component depending on the dependency tree."]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.strong,{children:"Let's set a layout for this example:"})}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:["components","\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"heading"}),"\n",(0,o.jsx)(t.li,{children:"typography"}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["custom","\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"heading"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(t.p,{children:["You have block ",(0,o.jsx)(t.code,{children:"heading"})," that uses component ",(0,o.jsx)(t.code,{children:"heading"})," and that component uses another component called ",(0,o.jsx)(t.code,{children:"typography"}),".\nWe are putting only relevant code in the example:"]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/custom/heading/manifest.json"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'{\n\t"blockName": "heading",\n\t"components": {\n\t\t"heading": "heading"\n\t},\n}\n'})}),"\n",(0,o.jsxs)(t.p,{children:["In the ",(0,o.jsx)(t.code,{children:"components"})," key, you must provide components that you are going to be using in this block. There are more options in the ",(0,o.jsx)(t.a,{href:"#i-want-to-use-one-heading-component-in-my-block",children:"example"})," at the beginning of this chapter."]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/custom/heading/components/heading-editor.js"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-js",children:"import React from 'react';\nimport { props } from '@eightshift/frontend-libs/scripts';\nimport { HeadingEditor as HeadingEditorComponent } from '../../../components/heading/components/heading-editor';\n\nexport const HeadingEditor = ({ attributes, setAttributes }) => {\n\treturn (\n\t\t<HeadingEditorComponent\n\t\t\t{...props('heading', attributes, {\n\t\t\t\tsetAttributes: setAttributes,\n\t\t\t})}\n\t\t/>\n\t);\n};\n"})}),"\n",(0,o.jsx)(t.p,{children:"In JavaScript, you spread the results of the props helper."}),"\n",(0,o.jsx)(t.p,{children:"The PHP template should look like this:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/custom/heading/heading.php"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-php",children:"<?php\n\n/**\n * Template for the Heading Block view.\n *\n * @package EightshiftBoilerplate\n */\n\nuse EightshiftBoilerplateVendor\\EightshiftLibs\\Helpers\\Components;\n\n?>\n\n<div>\n\t<?php\n\techo Components::render( // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped\n\t\t'heading',\n\t\tComponents::props('heading', $attributes)\n\t);\n\t?>\n</div>\n"})}),"\n",(0,o.jsxs)(t.p,{children:["Now, let's see how the component ",(0,o.jsx)(t.code,{children:"heading"})," looks like."]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/components/heading/manifest.json"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'{\n\t"componentName": "heading",\n\t"components": {\n\t\t"heading": "typography"\n\t},\n}\n'})}),"\n",(0,o.jsxs)(t.p,{children:["In the ",(0,o.jsx)(t.code,{children:"heading"})," component we are using the ",(0,o.jsx)(t.code,{children:"typography"})," component but we are not using the default component name. Instead, we are changing the attribute name from ",(0,o.jsx)(t.code,{children:"typography"})," to ",(0,o.jsx)(t.code,{children:"heading"}),"."]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/components/heading/components/heading-editor.js"})}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.em,{children:"The same is for options or toolbar components!"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-js",children:"import React from 'react';\nimport { props } from '@eightshift/frontend-libs/scripts';\nimport { TypographyEditor } from './../../typography/components/typography-editor';\nimport manifest from './../manifest.json';\n \nexport const HeadingEditor = (attributes) => {\n\tconst {\n\t\tcomponentClass,\n\t} = manifest;\n\n\tconst {\n\t\tblockClass,\n\t} = attributes;\n\n\treturn (\n\t\t<TypographyEditor\n\t\t\t{...props('heading', attributes, {\n\t\t\t\tblockClass: componentClass,\n\t\t\t})}\n\t\t/>\n\t);\n};\n"})}),"\n",(0,o.jsx)(t.p,{children:"In this example, you can see that everything is the same as in the parent block."}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/components/heading/heading.php"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-php",children:"<?php\n\n/**\n * Template for the Heading Component.\n *\n * @package EightshiftBoilerplate\n */\n\nuse EightshiftBoilerplateVendor\\EightshiftLibs\\Helpers\\Components;\n\n$manifest = Components::getManifest(__DIR__);\n\n$componentClass = $manifest['componentClass'] ?? '';\n\nComponents::render( // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped\n\t'typography',\n\tComponents::props('heading', $attributes, [\n\t\t'blockClass' => $componentClass\n\t])\n),\n"})}),"\n",(0,o.jsx)(t.p,{children:"The PHP part looks similar to the JS block part."}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.strong,{children:"Typography"})}),"\n",(0,o.jsx)(t.p,{children:"There is nothing special that you need to do in the last component in the tree other than following the attributes naming convention."}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.strong,{children:"Summing it all up"})}),"\n",(0,o.jsx)(t.p,{children:"Block:"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.code,{children:"Components"})," key in the ",(0,o.jsx)(t.code,{children:"manifest.json"})," is used to provide/change the attribute names on the block registration process."]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.code,{children:"Props helper"})," will provide all the attributes used in the block and it will follow the dependency tree to the end so that all the attributes from the children components will also be provided as a result."]}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:"Components:"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.code,{children:"Components"})," key in the ",(0,o.jsx)(t.code,{children:"manifest.json"})," is used to determine the dependency tree when passing the attributes from parent to children."]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.code,{children:"Props helper"})," will provide only those attributes that are used in the children's components recursively. The same as props helper in the block."]}),"\n"]}),"\n",(0,o.jsxs)(t.p,{children:["For more details please read the ",(0,o.jsx)(t.a,{href:"helpers-javascript",children:"props helper docs"}),"."]}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsx)(t.p,{children:"You should avoid spreading attributes as props but rather use this helper because it provides only what is used in the component."}),"\n"]}),"\n",(0,o.jsx)(t.h3,{id:"passing-setattributes-to-components",children:"Passing setAttributes to components"}),"\n",(0,o.jsxs)(t.p,{children:["As we described earlier props helper knows what to pass to a child component but there are some wild cards here. When you are passing props from block to component you must pass setAttributes down as props but if if you are passing props from component to component you don't need to. This is because we added some automatic includes in our props helper that you can check ",(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/scripts/editor/attributes.js",children:"here"}),"."]}),"\n",(0,o.jsx)(t.h3,{id:"manualy-overiding-attributes-from-the-code",children:"Manualy overiding attributes from the code"}),"\n",(0,o.jsx)(t.p,{children:"You can also do this and this is why we created the third parameter in the props helper in order to be able to pass attributes via code and still be able to use automatic attributes prefixes that the props helper provides:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-js",children:"<TypographyEditor\n\t{...props('typography', attributes, {\n\t\ttypographyContent: item,\n\t})}\n\tdisableEdit={true}\n/>\n"})}),"\n",(0,o.jsx)(t.p,{children:"typographyContent attribute will follow the naming prefix when passed to a child but the disableEdit will remain the same name in all the children."}),"\n",(0,o.jsx)(t.p,{children:"Any of the included attributes can be passed as the third parameter here, but they will not be prefixed:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-js",children:"<ImageEditor\n\t{...props('image', attributes, {\n\t\tblockClass: componentClass,\n\t})}\n/>\n"})})]})}function d(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(h,{...e})}):h(e)}},5477:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/attributes-1-b68f9798ba07c21636b26fef3de0f202.webp"},53248:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/attributes-2-f47779c67174908485c045f80daef4ec.webp"},70439:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/attributes-3-d4804b9a6810dbbb6295b65f8e8c70fd.webp"},11151:(e,t,n)=>{n.d(t,{Z:()=>r,a:()=>a});var o=n(67294);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/cf4609e7.f154dd50.js b/assets/js/cf4609e7.f154dd50.js new file mode 100644 index 000000000..fc952b5a1 --- /dev/null +++ b/assets/js/cf4609e7.f154dd50.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[70896],{48008:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>d,frontMatter:()=>i,metadata:()=>r,toc:()=>c});var o=n(17624),s=n(4552);const i={id:"blocks-component-in-block",title:"Component in a Block"},a=void 0,r={id:"legacy/v6/basics/blocks-component-in-block",title:"Component in a Block",description:"docs-source",source:"@site/docs/legacy/v6/basics/blocks-component-in-block.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/blocks-component-in-block",permalink:"/docs/legacy/v6/basics/blocks-component-in-block",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-component-in-block",title:"Component in a Block"},sidebar:"docs",previous:{title:"Attributes",permalink:"/docs/legacy/v6/basics/blocks-attributes"},next:{title:"Wrapper",permalink:"/docs/legacy/v6/basics/blocks-wrapper"}},l={},c=[{value:"Manifest setup",id:"manifest-setup",level:2},{value:"Important helpers",id:"important-helpers",level:2},{value:"Setting up attributes",id:"setting-up-attributes",level:2},{value:"I want to use one heading component in my block.",id:"i-want-to-use-one-heading-component-in-my-block",level:3},{value:"I want to override one heading attribute in my block.",id:"i-want-to-override-one-heading-attribute-in-my-block",level:3},{value:"I want to use one heading and a paragraph component in my block.",id:"i-want-to-use-one-heading-and-a-paragraph-component-in-my-block",level:3},{value:"I want two heading components in my block.",id:"i-want-two-heading-components-in-my-block",level:3},{value:"I want to use a component that uses more components (componentCeption).",id:"i-want-to-use-a-component-that-uses-more-components-componentception",level:3},{value:"I don't need all the component options in my block.",id:"i-dont-need-all-the-component-options-in-my-block",level:3},{value:"I don't want my editor to be able to change component options in my block.",id:"i-dont-want-my-editor-to-be-able-to-change-component-options-in-my-block",level:3},{value:"How do my example attributes behave when I use components in blocks?",id:"how-do-my-example-attributes-behave-when-i-use-components-in-blocks",level:3},{value:"I have a component name that has multiple strings in a name, will this work?",id:"i-have-a-component-name-that-has-multiple-strings-in-a-name-will-this-work",level:3},{value:"I have a component that I want to use manually",id:"i-have-a-component-that-i-want-to-use-manually",level:3},{value:"I want to limit which options are shown for components inside a block/component",id:"i-want-to-limit-which-options-are-shown-for-components-inside-a-blockcomponent",level:3},{value:"I want to only pass attributes to the component that I'm going to use",id:"i-want-to-only-pass-attributes-to-the-component-that-im-going-to-use",level:3},{value:"Passing setAttributes to components",id:"passing-setattributes-to-components",level:3},{value:"Manualy overiding attributes from the code",id:"manualy-overiding-attributes-from-the-code",level:3}];function h(e){const t={a:"a",blockquote:"blockquote",code:"code",em:"em",h2:"h2",h3:"h3",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/",children:(0,o.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(t.p,{children:"Blocks and components work perfectly together because they are made that way. We simplified this as much as possible but there always a few things you need to do manually."}),"\n",(0,o.jsx)(t.p,{children:"Try to think of your development process in this way:"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"Each component must be standalone and ideally not depend on any other components (sometimes this is not possible but keep this to a minimum)."}),"\n",(0,o.jsx)(t.li,{children:"Components must not be aware of the layout they are used in."}),"\n",(0,o.jsxs)(t.li,{children:["No global styles. Instead, all styles should be contained to the block/component. For more details, check ",(0,o.jsx)(t.a,{href:"blocks-styles",children:"this link"}),"."]}),"\n",(0,o.jsxs)(t.li,{children:["You should define all heading variations in a ",(0,o.jsx)(t.code,{children:"heading"})," component. You can then use this component everywhere you have a heading instead of writing a new implementation. In practice: don't do ",(0,o.jsx)(t.code,{children:"<h2>$heading</h2>"})," but render the ",(0,o.jsx)(t.code,{children:"heading"})," component instead using the helpers defined in the ",(0,o.jsx)(t.a,{href:"helpers",children:"helpers section"}),". The heading is just an example, but this applies to every component."]}),"\n",(0,o.jsx)(t.li,{children:"You can have multiple heading components in one block."}),"\n",(0,o.jsx)(t.li,{children:(0,o.jsx)(t.strong,{children:"JavaScript and PHP part of the block/component must be 99% the same this is why we wrote all those helpers."})}),"\n"]}),"\n",(0,o.jsx)(t.h2,{id:"manifest-setup",children:"Manifest setup"}),"\n",(0,o.jsxs)(t.p,{children:["In order to use our way of passing props, there are a few prerequisites you must follow. You must use our helpers and you must set ",(0,o.jsx)(t.code,{children:"components"})," key in the manifest."]}),"\n",(0,o.jsxs)(t.p,{children:["As we described in the ",(0,o.jsx)(t.a,{href:"block-manifest",children:"block manifest"})," chapter each block/component can have a ",(0,o.jsx)(t.code,{children:"components"})," key. This key is used in the registration of the block attributes in the block editor and as a dependency tree for passing props in the children components."]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.strong,{children:"Default setup:"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"components": {\n\t"heading": "heading"\n}\n'})}),"\n",(0,o.jsx)(t.p,{children:"Components key is an object that can have multiple items added."}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsx)(t.p,{children:"Key represents the name that is going to be used for this component in this block/component and the prefix used in the attributes (more on this later)."}),"\n"]}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsx)(t.p,{children:"Value represents the real component name that you have in your project."}),"\n"]}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsx)(t.p,{children:"Each key and value names can be written in the kebab-case or camelCase but we recommend using camelCase."}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.strong,{children:"Multiple components setup:"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"components": {\n\t"heading": "heading",\n\t"paragraph": "paragraph"\n}\n'})}),"\n",(0,o.jsx)(t.p,{children:"This block/component uses two components, one is heading and the other is paragraphy and they are using the default names."}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.strong,{children:"Multiple components set up with the components of the same type:"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"components": {\n\t"heading": "heading",\n\t"intro": "heading",\n\t"paragraph": "paragraph"\n}\n'})}),"\n",(0,o.jsxs)(t.p,{children:["This block/component uses three components, two headings (one of which is renamed to ",(0,o.jsx)(t.code,{children:"intro"}),") and a paragraph."]}),"\n",(0,o.jsx)(t.h2,{id:"important-helpers",children:"Important helpers"}),"\n",(0,o.jsx)(t.p,{children:"As we described earlier, in order to use our setup you must use our helpers. Here are some of the helpers you should get familiar with:"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:["props - ",(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/scripts/editor/attributes.js",children:"JS"})," - ",(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/4.0.0/src/Helpers/AttributesTrait.php",children:"PHP"})]}),"\n",(0,o.jsxs)(t.li,{children:["getOptions - ",(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/scripts/editor/options.js",children:"JS"})]}),"\n",(0,o.jsxs)(t.li,{children:["getOption - ",(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/scripts/editor/options.js",children:"JS"})]}),"\n",(0,o.jsxs)(t.li,{children:["getAttrKey - ",(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/scripts/editor/attributes.js",children:"JS"})," - ",(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/4.0.0/src/Helpers/AttributesTrait.php",children:"PHP"})]}),"\n",(0,o.jsxs)(t.li,{children:["checkAttr - ",(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/scripts/editor/attributes.js",children:"JS"})," - ",(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/4.0.0/src/Helpers/AttributesTrait.php",children:"PHP"})]}),"\n",(0,o.jsxs)(t.li,{children:["render - ",(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/4.0.0/src/Blocks/AbstractBlocks.php",children:"PHP"})]}),"\n"]}),"\n",(0,o.jsxs)(t.p,{children:["For more details please check our helpers sections for ",(0,o.jsx)(t.a,{href:"helpers-javascript",children:"JavaScript"})," and ",(0,o.jsx)(t.a,{href:"helpers-php",children:"PHP"}),"."]}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsx)(t.p,{children:"Keep in mind that you can always ignore our setup and use the React way of passing props to components by prop drilling."}),"\n"]}),"\n",(0,o.jsx)(t.h2,{id:"setting-up-attributes",children:"Setting up attributes"}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsx)(t.p,{children:"Each attribute must have the component name prefix in each attribute. This is one of the biggest requirements in order for our setup to work."}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:"By defining components key in the block registration phase we are drilling down from block to the last component and setting up attribute names according to your setup. In order for everything to work, we had to add/change prefixes to each component attribute in relation to where this attribute is used in the dependency tree. It is not so hard as it sounds so let us show you some graphical examples:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{alt:"Attributes 1",src:n(44972).c+"",width:"781",height:"251"})}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{alt:"Attributes 2",src:n(73564).c+"",width:"781",height:"251"})}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{alt:"Attributes 3",src:n(68264).c+"",width:"781",height:"251"})}),"\n",(0,o.jsx)(t.h3,{id:"i-want-to-use-one-heading-component-in-my-block",children:"I want to use one heading component in my block."}),"\n",(0,o.jsx)(t.p,{children:"If you have a heading component with these attributes:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/components/heading/manifest.json"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"componentName": "heading",\n"attributes": {\n\t"headingContent": {\n\t\t"type": "string"\n\t},\n\t"headingLevel": {\n\t\t"type": "integer",\n\t\t"default": 2\n\t},\n\t"headingSize": {\n\t\t"type": "string",\n\t\t"default": "default"\n\t},\n}\n'})}),"\n",(0,o.jsx)(t.p,{children:"and you want to use the heading component in the Jumbotron block, you can use it by adding a component key in the Jumbotron block manifest like this:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/custom/jumbotron/manifest.json"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"blockName": "jumbotron",\n"attributes": {\n\t"jumbotronContent": {\n\t\t"type": "string"\n\t\t"default": "test",\n\t}\n},\n"components": {\n\t"heading": "heading"\n}\n'})}),"\n",(0,o.jsx)(t.p,{children:"in your block attribute's object, you will now have these keys:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'\n// Attributes from the component.\n"jumbotronHeadingContent": "",\n"jumbotronHeadingLevel": 2,\n"jumbotronHeadingSize": "default",\n\n// Attributes from the block.\n"jumbotronContent": "test",\n'})}),"\n",(0,o.jsx)(t.p,{children:"As you can see in the example, each block/component attribute must have a prefix, and we are then stacking that prefixed in the final output."}),"\n",(0,o.jsx)(t.h3,{id:"i-want-to-override-one-heading-attribute-in-my-block",children:"I want to override one heading attribute in my block."}),"\n",(0,o.jsx)(t.p,{children:"We build all our attributes by merging attribute's objects in this order:"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"global attributes (global settings)"}),"\n",(0,o.jsx)(t.li,{children:"wrapper attributes"}),"\n",(0,o.jsx)(t.li,{children:"component attributes"}),"\n",(0,o.jsx)(t.li,{children:"block attributes"}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:"By following the basic principle of merging objects, if you have two keys with the same name, the last one will always override the previous. Now that you know how attributes are built, you can follow this example for your answer."}),"\n",(0,o.jsx)(t.p,{children:"We are using the same component as before:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/components/heading/manifest.json"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"componentName": "heading",\n"attributes": {\n\t"headingContent": {\n\t\t"type": "string"\n\t},\n\t"headingLevel": {\n\t\t"type": "integer",\n\t\t"default": 2\n\t},\n\t"headingSize": {\n\t\t"type": "string",\n\t\t"default": "default"\n\t},\n}\n'})}),"\n",(0,o.jsx)(t.p,{children:"and in Jumbotron block we want to change the default value of headingSize to big:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/custom/jumbotron/manifest.json"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"blockName": "jumbotron",\n"attributes": {\n\t"jumbotronContent": {\n\t\t"type": "string"\n\t\t"default": "test",\n\t},\n\t"jumbotronHeadingSize": {\n\t\t"type": "string",\n\t\t"default": "big"\n\t},\n},\n"components": {\n\t"heading": "heading"\n}\n'})}),"\n",(0,o.jsx)(t.p,{children:"In your block attributes object, you will now have these keys:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'\n// Attributes from the component.\n"jumbotronHeadingContent": "",\n"jumbotronHeadingLevel": 2,\n"jumbotronHeadingSize": "big",\n\n// Attributes from the block.\n"jumbotronContent": "test",\n'})}),"\n",(0,o.jsx)(t.p,{children:"As you can see in the example, to override the component attribute you just set that attribute to a different value but you must respect the attribute prefix."}),"\n",(0,o.jsx)(t.h3,{id:"i-want-to-use-one-heading-and-a-paragraph-component-in-my-block",children:"I want to use one heading and a paragraph component in my block."}),"\n",(0,o.jsx)(t.p,{children:"You can do this by following the same principle as before. Here is an example:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/custom/jumbotron/manifest.json"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"blockName": "jumbotron",\n"attributes": {\n\t"jumbotronContent": {\n\t\t"type": "string"\n\t\t"default": "test",\n\t}\n},\n"components": {\n\t"heading": "heading",\n\t"paragraph": "paragraph"\n}\n'})}),"\n",(0,o.jsx)(t.h3,{id:"i-want-two-heading-components-in-my-block",children:"I want two heading components in my block."}),"\n",(0,o.jsx)(t.p,{children:"If you want to use multiple heading components in your block, follow this example:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/custom/jumbotron/manifest.json"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"blockName": "jumbotron",\n"attributes": {\n\t"jumbotronContent": {\n\t\t"type": "string"\n\t\t"default": "test",\n\t}\n},\n"components": {\n\t"heading": "heading"\n\t"intro": "heading"\n}\n'})}),"\n",(0,o.jsx)(t.p,{children:"In your block attributes object, you will now have these keys:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'\n// Attributes from the first component.\n"jumbotronHeadingContent": "",\n"jumbotronHeadingLevel": 2,\n"jumbotronHeadingSize": "default",\n\n// Attributes from the second component.\n"jumbotronIntroContent": "",\n"jumbotronIntroLevel": 2,\n"jumbotronIntroSize": "default",\n\n// Attributes from the block.\n"jumbotronContent": "test",\n'})}),"\n",(0,o.jsx)(t.h3,{id:"i-want-to-use-a-component-that-uses-more-components-componentception",children:"I want to use a component that uses more components (componentCeption)."}),"\n",(0,o.jsx)(t.p,{children:"For example, if you have a block called cards grid that uses a card component, that card component uses a heading component."}),"\n",(0,o.jsx)(t.p,{children:"Structure:"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:["Cards","\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:["Card","\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"Heading"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:"If you have a heading component with these attributes:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/components/heading/manifest.json"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"componentName": "heading",\n"attributes": {\n\t"headingContent": {\n\t\t"type": "string"\n\t},\n\t"headingLevel": {\n\t\t"type": "integer",\n\t\t"default": 2\n\t},\n\t"headingSize": {\n\t\t"type": "string",\n\t\t"default": "default"\n\t},\n}\n'})}),"\n",(0,o.jsx)(t.p,{children:"and you have a card component:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/components/card/manifest.json"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"componentName": "card",\n"attributes": {\n\t"cardUsage": {\n\t\t"type": "boolean"\n\t\t"default": true,\n\t},\n},\n"components": {\n\t"heading": "heading"\n}\n'})}),"\n",(0,o.jsx)(t.p,{children:"and you have a cards grid block:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/custom/cards-grid/manifest.json"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"blockName": "cards-grid",\n"attributes": {\n\t"cardsGridContent": {\n\t\t"type": "string"\n\t\t"default": "test",\n\t},\n},\n"components": {\n\t"card": "card"\n}\n'})}),"\n",(0,o.jsx)(t.p,{children:"in your block attributes object, you will now have these keys:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'\n// Attributes from the heading component.\n"cardsGridCardHeadingContent": "",\n"cardsGridCardHeadingLevel": 2,\n"cardsGridCardHeadingSize": "default",\n\n// Attributes from the card component.\n"cardsGridCardUsage": true,\n\n// Attributes from the block.\n"cardsGridContent": "test",\n'})}),"\n",(0,o.jsx)(t.p,{children:"As you can see in the example, you have all the attributes from the card and heading component inside your card's grid block."}),"\n",(0,o.jsx)(t.h3,{id:"i-dont-need-all-the-component-options-in-my-block",children:"I don't need all the component options in my block."}),"\n",(0,o.jsxs)(t.p,{children:["All our components come with a few common attributes that we recommend you also implement in your components. One of those attributes is ",(0,o.jsx)(t.code,{children:"buttonUse"}),"."]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"buttonUse": true,\n'})}),"\n",(0,o.jsxs)(t.p,{children:["This attribute is available in all three components (editor, toolbar, options). If set to ",(0,o.jsx)(t.strong,{children:"false"}),", it will remove this component from the DOM. This is useful if you want to hide all markup from the DOM."]}),"\n",(0,o.jsx)(t.p,{children:"For example, you have a Jumbotron block and a heading that you want to populate if necessary. If you add content to the heading, everything looks good. But if you don't add it, you'll still see a placeholder for that heading in the block editor. This affects how you perceive it, and an editor may think this block will look like that on the front end (with the placeholder text). So if you have a component that you will not populate on some block, switch the toggle to false, and you will hide it from the DOM. This is useful for content editors."}),"\n",(0,o.jsx)(t.h3,{id:"i-dont-want-my-editor-to-be-able-to-change-component-options-in-my-block",children:"I don't want my editor to be able to change component options in my block."}),"\n",(0,o.jsxs)(t.p,{children:["Another attribute that you can use is ",(0,o.jsx)(t.code,{children:"buttonShowControls"}),"."]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"buttonShowControls": true,\n'})}),"\n",(0,o.jsx)(t.p,{children:"This attribute is available in the options component only. You can't set it up via block editor, only from code. You would use it if you wanted to use a heading component and set all the defaults, without your content editor changing how the heading looks. It can add the heading content from the editor section without changing any of the options. You can set this option in the manifest or pass it manually via props."}),"\n",(0,o.jsx)(t.h3,{id:"how-do-my-example-attributes-behave-when-i-use-components-in-blocks",children:"How do my example attributes behave when I use components in blocks?"}),"\n",(0,o.jsx)(t.p,{children:"Exactly the same way as attributes."}),"\n",(0,o.jsx)(t.h3,{id:"i-have-a-component-name-that-has-multiple-strings-in-a-name-will-this-work",children:"I have a component name that has multiple strings in a name, will this work?"}),"\n",(0,o.jsxs)(t.p,{children:["By multiple strings in a name we mean that component name has multiple words, for example, ",(0,o.jsx)(t.code,{children:"jumbotron-cta"}),". The problem here is that we define components with kebab-case and attributes with camelCase."]}),"\n",(0,o.jsxs)(t.p,{children:["The short answer is ",(0,o.jsx)(t.strong,{children:"yes"})," this will work."]}),"\n",(0,o.jsx)(t.h3,{id:"i-have-a-component-that-i-want-to-use-manually",children:"I have a component that I want to use manually"}),"\n",(0,o.jsx)(t.p,{children:"We created this cool way of importing attributes and loading components in your blocks or other components. However, that doesn't mean that you can't have instances where you have to load components manually. In that case, you have to provide all the attributes that you want to use manually. The attributes that you didn't provide will not be magically set from the manifest, but you can make your life easier and map it like this."}),"\n",(0,o.jsxs)(t.p,{children:["For example, you have a ",(0,o.jsx)(t.code,{children:"card"})," component that you will use in the ",(0,o.jsx)(t.code,{children:"featured-posts"})," block."]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/custom/featured-posts/featured-posts.php"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-php",children:"echo wp_kses_post(\n\tComponents::render(\n\t\t'card',\n\t\tComponents::props('card', $attributes, [\n\t\t\t'cardHeadingContent' => __('Custom content for heading', 'textdomain'),\n\t\t\t'cardParagraphContent' => __('Custom content for paragraph', 'textdomain'),\n\t\t])\n\t)\n);\n"})}),"\n",(0,o.jsx)(t.p,{children:"This example will only pass these 2 attributes to you component and attributes from the currect file, it will not pass default attributes of heading and paragraph components."}),"\n",(0,o.jsx)(t.p,{children:"By providing the forth parameter to a render method you can also add default attributes to the output like this:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.strong,{children:"featured-posts.php"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-php",children:"echo wp_kses_post(\n\tComponents::render(\n\t\t'card',\n\t\tComponents::props('card', $attributes, [\n\t\t\t'cardHeadingContent' => __('Custom content for heading', 'textdomain'),\n\t\t\t'cardParagraphContent' => __('Custom content for paragraph', 'textdomain'),\n\t\t]),\n\t\t'',\n\t\ttrue\n\t)\n);\n"})}),"\n",(0,o.jsx)(t.h3,{id:"i-want-to-limit-which-options-are-shown-for-components-inside-a-blockcomponent",children:"I want to limit which options are shown for components inside a block/component"}),"\n",(0,o.jsxs)(t.p,{children:["Let's say you have a block that has a ",(0,o.jsx)(t.code,{children:"heading"})," component inside it."]}),"\n",(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"heading"})," has 10 text sizes and 5 colors, but for that block, only 2 colors and 3 text sizes are allowed.\nTo achieve this you must prepare your component to be able to use this feature:"]}),"\n",(0,o.jsxs)(t.ol,{children:["\n",(0,o.jsxs)(t.li,{children:["Your component options must be named the same name as their attribute value. In the example, you can see that the options key for ",(0,o.jsx)(t.code,{children:"typographySize"})," is the same name as in the attributes."]}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/components/heading/manifest.json"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'{\n\t"componentName": "heading",\n\t"attributes": {\n\t\t"headingSize": {\n\t\t\t"type": "string",\n\t\t\t"default": "16-text-roman"\n\t\t},\n\t\t"headingColor": {\n\t\t\t"type": "string",\n\t\t\t"default": "black",\n\t\t\t"variable": true,\n\t\t\t"color": true\n\t\t},\n\t},\n\t"options": {\n\t\t"headingSize": [\n\t\t\t{\n\t\t\t\t"label": "180 Display",\n\t\t\t\t"value": "180-default"\n\t\t\t},\n\t\t\t{\n\t\t\t\t"label": "120 Display",\n\t\t\t\t"value": "120-default"\n\t\t\t},\n\t\t\t{\n\t\t\t\t"label": "80 Display",\n\t\t\t\t"value": "80-default"\n\t\t\t},\n\t\t\t{\n\t\t\t\t"label": "52 Display",\n\t\t\t\t"value": "52-default"\n\t\t\t},\n\t\t\t{\n\t\t\t\t"label": "36 Text",\n\t\t\t\t"value": "36-text"\n\t\t\t}\n\t\t],\n\t\t"headingColor": [\n\t\t\t"black",\n\t\t\t"white",\n\t\t\t"grey100",\n\t\t\t"grey200"\n\t\t]\n\t}\n}\n'})}),"\n",(0,o.jsxs)(t.ol,{start:"2",children:["\n",(0,o.jsxs)(t.li,{children:["Every option in your component must use ",(0,o.jsx)(t.code,{children:"getOption"})," helper for the prop that is used to provide options. Details about the helper can be found ",(0,o.jsx)(t.a,{href:"helpers-javascript",children:"here"}),"."]}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.strong,{children:"SelectControl Example:"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-js",children:"const headingSize = checkAttr('headingSize', attributes, manifest);\n\n<SelectControl\n\tlabel={__('Text size', 'eightshift-boilerplate')}\n\tvalue={headingSize}\n\toptions={getOption('headingSize', attributes, manifest)}\n\tonChange={(value) => setAttributes({ [getAttrKey('headingSize', attributes, manifest)]: value })}\n/>\n"})}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.strong,{children:"ColorPaletteCustom Example:"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-js",children:"const headingColor = checkAttr('headingColor', attributes, manifest);\n\n<ColorPaletteCustom\n\tlabel={__('Color', 'eightshift-boilerplate')}\n\tvalue={headingColor}\n\tcolors={getOption('headingColor', attributes, manifest, true)}\n\tonChange={(value) => setAttributes({ [getAttrKey('headingColor', attributes, manifest)]: value })}\n/>\n"})}),"\n",(0,o.jsxs)(t.ol,{start:"3",children:["\n",(0,o.jsx)(t.li,{children:"In the component/blocks for which you are going to override the options, you must provide an options prop that is going to override the default one also following the described attribute prefixes."}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.strong,{children:"heading-options.js"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-js",children:"<HeadingOptions\n\t{...props('heading', attributes, {\n\t\toptions: getOptions(attributes, manifest),\n\t})}\n/>\n"})}),"\n",(0,o.jsxs)(t.ol,{start:"4",children:["\n",(0,o.jsxs)(t.li,{children:["In the component/blocks for which you are going to override options, you must provide the override in the ",(0,o.jsx)(t.code,{children:"manifest.json"})," by following the same naming as in the component."]}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/custom/heading/manifest.json"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'{\n\t"blockName": "heading",\n\t"options": {\n\t\t"headingHeadingSize": [\n\t\t\t"80-default",\n\t\t\t"52-default"\n\t\t],\n\t\t"headingHeadingColor": [\n\t\t\t"black",\n\t\t\t"white"\n\t\t]\n\t}\n}\n'})}),"\n",(0,o.jsx)(t.p,{children:"And this is it. You are now able to override the options from the parent block/component."}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsx)(t.p,{children:"Keep in mind that you can only override SelectControl, ColorPaletteCustom, and AlignmentToolbar."}),"\n"]}),"\n",(0,o.jsx)(t.h3,{id:"i-want-to-only-pass-attributes-to-the-component-that-im-going-to-use",children:"I want to only pass attributes to the component that I'm going to use"}),"\n",(0,o.jsx)(t.p,{children:"At one point in time, we agreed on naming standards for all component attributes. That way we made sure that you wouldn't get any collisions when using multiple components. So we said it is ok to spread all attributes to the component and let the component handle what it needs. Well, that approach is ok but it can bite you in the a.. at the point that you least expect."}),"\n",(0,o.jsxs)(t.p,{children:["That is why we created ",(0,o.jsx)(t.a,{href:"helpers-javascript",children:"props helper"})," that determines what attributes are passed to what component depending on the dependency tree."]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.strong,{children:"Let's set a layout for this example:"})}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:["components","\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"heading"}),"\n",(0,o.jsx)(t.li,{children:"typography"}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["custom","\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"heading"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(t.p,{children:["You have block ",(0,o.jsx)(t.code,{children:"heading"})," that uses component ",(0,o.jsx)(t.code,{children:"heading"})," and that component uses another component called ",(0,o.jsx)(t.code,{children:"typography"}),".\nWe are putting only relevant code in the example:"]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/custom/heading/manifest.json"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'{\n\t"blockName": "heading",\n\t"components": {\n\t\t"heading": "heading"\n\t},\n}\n'})}),"\n",(0,o.jsxs)(t.p,{children:["In the ",(0,o.jsx)(t.code,{children:"components"})," key, you must provide components that you are going to be using in this block. There are more options in the ",(0,o.jsx)(t.a,{href:"#i-want-to-use-one-heading-component-in-my-block",children:"example"})," at the beginning of this chapter."]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/custom/heading/components/heading-editor.js"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-js",children:"import React from 'react';\nimport { props } from '@eightshift/frontend-libs/scripts';\nimport { HeadingEditor as HeadingEditorComponent } from '../../../components/heading/components/heading-editor';\n\nexport const HeadingEditor = ({ attributes, setAttributes }) => {\n\treturn (\n\t\t<HeadingEditorComponent\n\t\t\t{...props('heading', attributes, {\n\t\t\t\tsetAttributes: setAttributes,\n\t\t\t})}\n\t\t/>\n\t);\n};\n"})}),"\n",(0,o.jsx)(t.p,{children:"In JavaScript, you spread the results of the props helper."}),"\n",(0,o.jsx)(t.p,{children:"The PHP template should look like this:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/custom/heading/heading.php"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-php",children:"<?php\n\n/**\n * Template for the Heading Block view.\n *\n * @package EightshiftBoilerplate\n */\n\nuse EightshiftBoilerplateVendor\\EightshiftLibs\\Helpers\\Components;\n\n?>\n\n<div>\n\t<?php\n\techo Components::render( // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped\n\t\t'heading',\n\t\tComponents::props('heading', $attributes)\n\t);\n\t?>\n</div>\n"})}),"\n",(0,o.jsxs)(t.p,{children:["Now, let's see how the component ",(0,o.jsx)(t.code,{children:"heading"})," looks like."]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/components/heading/manifest.json"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'{\n\t"componentName": "heading",\n\t"components": {\n\t\t"heading": "typography"\n\t},\n}\n'})}),"\n",(0,o.jsxs)(t.p,{children:["In the ",(0,o.jsx)(t.code,{children:"heading"})," component we are using the ",(0,o.jsx)(t.code,{children:"typography"})," component but we are not using the default component name. Instead, we are changing the attribute name from ",(0,o.jsx)(t.code,{children:"typography"})," to ",(0,o.jsx)(t.code,{children:"heading"}),"."]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/components/heading/components/heading-editor.js"})}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.em,{children:"The same is for options or toolbar components!"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-js",children:"import React from 'react';\nimport { props } from '@eightshift/frontend-libs/scripts';\nimport { TypographyEditor } from './../../typography/components/typography-editor';\nimport manifest from './../manifest.json';\n \nexport const HeadingEditor = (attributes) => {\n\tconst {\n\t\tcomponentClass,\n\t} = manifest;\n\n\tconst {\n\t\tblockClass,\n\t} = attributes;\n\n\treturn (\n\t\t<TypographyEditor\n\t\t\t{...props('heading', attributes, {\n\t\t\t\tblockClass: componentClass,\n\t\t\t})}\n\t\t/>\n\t);\n};\n"})}),"\n",(0,o.jsx)(t.p,{children:"In this example, you can see that everything is the same as in the parent block."}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"src/Blocks/components/heading/heading.php"})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-php",children:"<?php\n\n/**\n * Template for the Heading Component.\n *\n * @package EightshiftBoilerplate\n */\n\nuse EightshiftBoilerplateVendor\\EightshiftLibs\\Helpers\\Components;\n\n$manifest = Components::getManifest(__DIR__);\n\n$componentClass = $manifest['componentClass'] ?? '';\n\nComponents::render( // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped\n\t'typography',\n\tComponents::props('heading', $attributes, [\n\t\t'blockClass' => $componentClass\n\t])\n),\n"})}),"\n",(0,o.jsx)(t.p,{children:"The PHP part looks similar to the JS block part."}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.strong,{children:"Typography"})}),"\n",(0,o.jsx)(t.p,{children:"There is nothing special that you need to do in the last component in the tree other than following the attributes naming convention."}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.strong,{children:"Summing it all up"})}),"\n",(0,o.jsx)(t.p,{children:"Block:"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.code,{children:"Components"})," key in the ",(0,o.jsx)(t.code,{children:"manifest.json"})," is used to provide/change the attribute names on the block registration process."]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.code,{children:"Props helper"})," will provide all the attributes used in the block and it will follow the dependency tree to the end so that all the attributes from the children components will also be provided as a result."]}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:"Components:"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.code,{children:"Components"})," key in the ",(0,o.jsx)(t.code,{children:"manifest.json"})," is used to determine the dependency tree when passing the attributes from parent to children."]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.code,{children:"Props helper"})," will provide only those attributes that are used in the children's components recursively. The same as props helper in the block."]}),"\n"]}),"\n",(0,o.jsxs)(t.p,{children:["For more details please read the ",(0,o.jsx)(t.a,{href:"helpers-javascript",children:"props helper docs"}),"."]}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsx)(t.p,{children:"You should avoid spreading attributes as props but rather use this helper because it provides only what is used in the component."}),"\n"]}),"\n",(0,o.jsx)(t.h3,{id:"passing-setattributes-to-components",children:"Passing setAttributes to components"}),"\n",(0,o.jsxs)(t.p,{children:["As we described earlier props helper knows what to pass to a child component but there are some wild cards here. When you are passing props from block to component you must pass setAttributes down as props but if if you are passing props from component to component you don't need to. This is because we added some automatic includes in our props helper that you can check ",(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/scripts/editor/attributes.js",children:"here"}),"."]}),"\n",(0,o.jsx)(t.h3,{id:"manualy-overiding-attributes-from-the-code",children:"Manualy overiding attributes from the code"}),"\n",(0,o.jsx)(t.p,{children:"You can also do this and this is why we created the third parameter in the props helper in order to be able to pass attributes via code and still be able to use automatic attributes prefixes that the props helper provides:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-js",children:"<TypographyEditor\n\t{...props('typography', attributes, {\n\t\ttypographyContent: item,\n\t})}\n\tdisableEdit={true}\n/>\n"})}),"\n",(0,o.jsx)(t.p,{children:"typographyContent attribute will follow the naming prefix when passed to a child but the disableEdit will remain the same name in all the children."}),"\n",(0,o.jsx)(t.p,{children:"Any of the included attributes can be passed as the third parameter here, but they will not be prefixed:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-js",children:"<ImageEditor\n\t{...props('image', attributes, {\n\t\tblockClass: componentClass,\n\t})}\n/>\n"})})]})}function d(e={}){const{wrapper:t}={...(0,s.M)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(h,{...e})}):h(e)}},44972:(e,t,n)=>{n.d(t,{c:()=>o});const o=n.p+"assets/images/attributes-1-b68f9798ba07c21636b26fef3de0f202.webp"},73564:(e,t,n)=>{n.d(t,{c:()=>o});const o=n.p+"assets/images/attributes-2-f47779c67174908485c045f80daef4ec.webp"},68264:(e,t,n)=>{n.d(t,{c:()=>o});const o=n.p+"assets/images/attributes-3-d4804b9a6810dbbb6295b65f8e8c70fd.webp"},4552:(e,t,n)=>{n.d(t,{I:()=>r,M:()=>a});var o=n(11504);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/cf91d205.42b2bfb0.js b/assets/js/cf91d205.42b2bfb0.js new file mode 100644 index 000000000..b883284ab --- /dev/null +++ b/assets/js/cf91d205.42b2bfb0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[37124],{24852:(n,e,t)=>{t.r(e),t.d(e,{assets:()=>d,contentTitle:()=>i,default:()=>u,frontMatter:()=>s,metadata:()=>l,toc:()=>a});var o=t(17624),r=t(4552);const s={id:"intro",title:"Intro"},i=void 0,l={id:"addons/free/intro",title:"Intro",description:"Free plugins:",source:"@site/forms/addons/free/intro.md",sourceDirName:"addons/free",slug:"/addons/free/intro",permalink:"/forms/addons/free/intro",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"intro",title:"Intro"},sidebar:"forms",previous:{title:"Intro",permalink:"/forms/addons/intro"},next:{title:"Intro",permalink:"/forms/addons/premium/intro"}},d={},a=[{value:"How to download?",id:"how-to-download",level:2}];function c(n){const e={a:"a",em:"em",h2:"h2",li:"li",p:"p",strong:"strong",ul:"ul",...(0,r.M)(),...n.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.p,{children:(0,o.jsx)(e.strong,{children:"Free plugins:"})}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsx)(e.li,{children:(0,o.jsx)(e.em,{children:"Coming soon"})}),"\n"]}),"\n",(0,o.jsx)(e.h2,{id:"how-to-download",children:"How to download?"}),"\n",(0,o.jsxs)(e.p,{children:["All free plugins are publicly available and can be downloaded from our GitHub account. How to install them please follow ",(0,o.jsx)(e.a,{href:"/forms/basics",children:"this tutorial"}),"."]})]})}function u(n={}){const{wrapper:e}={...(0,r.M)(),...n.components};return e?(0,o.jsx)(e,{...n,children:(0,o.jsx)(c,{...n})}):c(n)}},4552:(n,e,t)=>{t.d(e,{I:()=>l,M:()=>i});var o=t(11504);const r={},s=o.createContext(r);function i(n){const e=o.useContext(s);return o.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function l(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(r):n.components||r:i(n.components),o.createElement(s.Provider,{value:e},n.children)}}}]); \ No newline at end of file diff --git a/assets/js/cf91d205.c90246bd.js b/assets/js/cf91d205.c90246bd.js deleted file mode 100644 index e6b8ea7c3..000000000 --- a/assets/js/cf91d205.c90246bd.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[62585],{54185:(n,e,t)=>{t.r(e),t.d(e,{assets:()=>d,contentTitle:()=>i,default:()=>u,frontMatter:()=>s,metadata:()=>l,toc:()=>a});var o=t(85893),r=t(11151);const s={id:"intro",title:"Intro"},i=void 0,l={id:"addons/free/intro",title:"Intro",description:"Free plugins:",source:"@site/forms/addons/free/intro.md",sourceDirName:"addons/free",slug:"/addons/free/intro",permalink:"/forms/addons/free/intro",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"intro",title:"Intro"},sidebar:"forms",previous:{title:"Intro",permalink:"/forms/addons/intro"},next:{title:"Intro",permalink:"/forms/addons/premium/intro"}},d={},a=[{value:"How to download?",id:"how-to-download",level:2}];function c(n){const e={a:"a",em:"em",h2:"h2",li:"li",p:"p",strong:"strong",ul:"ul",...(0,r.a)(),...n.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.p,{children:(0,o.jsx)(e.strong,{children:"Free plugins:"})}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsx)(e.li,{children:(0,o.jsx)(e.em,{children:"Coming soon"})}),"\n"]}),"\n",(0,o.jsx)(e.h2,{id:"how-to-download",children:"How to download?"}),"\n",(0,o.jsxs)(e.p,{children:["All free plugins are publicly available and can be downloaded from our GitHub account. How to install them please follow ",(0,o.jsx)(e.a,{href:"/forms/basics",children:"this tutorial"}),"."]})]})}function u(n={}){const{wrapper:e}={...(0,r.a)(),...n.components};return e?(0,o.jsx)(e,{...n,children:(0,o.jsx)(c,{...n})}):c(n)}},11151:(n,e,t)=>{t.d(e,{Z:()=>l,a:()=>i});var o=t(67294);const r={},s=o.createContext(r);function i(n){const e=o.useContext(s);return o.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function l(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(r):n.components||r:i(n.components),o.createElement(s.Provider,{value:e},n.children)}}}]); \ No newline at end of file diff --git a/assets/js/cfae12a4.1d6dc231.js b/assets/js/cfae12a4.1d6dc231.js new file mode 100644 index 000000000..066d5f82d --- /dev/null +++ b/assets/js/cfae12a4.1d6dc231.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[59168],{968:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>s,default:()=>f,frontMatter:()=>o,metadata:()=>l,toc:()=>m});var r=n(17624),i=n(4552),a=n(80148);const o={id:"additional-content",title:"Additional content"},s=void 0,l={id:"php/filters/block/submit/additional-content",title:"Additional content",description:"",source:"@site/forms/php/filters/block/submit/additional-content.mdx",sourceDirName:"php/filters/block/submit",slug:"/php/filters/block/submit/additional-content",permalink:"/forms/php/filters/block/submit/additional-content",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"additional-content",title:"Additional content"},sidebar:"forms",previous:{title:"Custom form submit button",permalink:"/forms/php/filters/block/submit/component"},next:{title:'Multi-step form "Previous" button',permalink:"/forms/php/filters/block/step/component-prev"}},d={},m=[];function c(t){return(0,r.jsx)(a.g,{filter:"submit"})}function f(t={}){const{wrapper:e}={...(0,i.M)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(c,{...t})}):c()}},80148:(t,e,n)=>{n.d(e,{g:()=>s,y:()=>o});n(11504);var r=n(1608),i=n(96616),a=n(17624);function o(t){let{filter:e,onlyUse:n=["dataFilter","orderFilter","prePostIdFilter","prePostParamsFilter"]}=t;return(0,a.jsxs)(a.Fragment,{children:[n.includes("dataFilter")&&(0,a.jsx)(l,{filter:e}),n.includes("orderFilter")&&(0,a.jsx)(d,{filter:e}),n.includes("prePostIdFilter")&&(0,a.jsx)(m,{filter:e}),n.includes("prePostParamsFilter")&&(0,a.jsx)(c,{filter:e})]})}function s(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{children:"Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc."}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\tadd_filter('es_forms_block_${e}_additional_content', function(): string {\n\t\t\t\treturn '<custom-string>';\n\t\t\t})\n\t\t\t`)})]})}function l(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Data filter"}),(0,a.jsx)("p",{children:"Allows modifying form field data before it's shown in the Block Editor or output on the frontend."}),(0,a.jsx)("p",{children:"Useful if, for example, you want to ensure that all fields fit into a 2-column layout."}),(0,a.jsx)("p",{children:"Overrides any Block Editor changes!"}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\tadd_filter('es_forms_integrations_${e}_data', 'getIntegrationFilterData', 10, 2);\n\n\t\t\t/**\n\t\t\t * Manipulate form fields data before it is sent to the Block Editor.\n\t\t\t *\n\t\t\t * @param array<mixed> $data Form fields data.\n\t\t\t * @param string $formId Form ID.\n\t\t\t *\n\t\t\t * @return array<mixed>\n\t\t\t */\n\t\t\tfunction getIntegrationFilterData(array $data, string $formId): array\n\t\t\t{\n\t\t\t\tforeach ($data as $index => $field) {\n\t\t\t\t\t$component = $field['component'] ?? '';\n\n\t\t\t\t\tif (!$component) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t$name = $field["{$component}Name"] ?? '';\n\n\t\t\t\t\tif (!$name) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch ($name) {\n\t\t\t\t\t\tcase 'firstname':\n\t\t\t\t\t\tcase 'lastname':\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthMobile"] = 12;\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthLarge"] = 6;\n\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"] = array_merge(\n\t\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthMobile",\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthLarge",\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t`)})]})}function d(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Order filter"}),(0,a.jsx)("p",{children:"Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor."}),(0,a.jsxs)("p",{children:["Not all fields need to have an order defined. For example, you may want to make sure ",(0,a.jsx)("code",{children:"firstname"}),", ",(0,a.jsx)("code",{children:"lastname"})," and ",(0,a.jsx)("code",{children:"email"})," are displayed first, but other fields follow their Block editor order."]}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_order', 'getIntegrationOrder');\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Forces form field order for the provided fields. For other fields, Block editor order is used.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationOrder(): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t'firstname',\n\t\t\t\t\t\t\t'lastname',\n\t\t\t\t\t\t\t'email',\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t`)})]})}function m(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post ID filter"}),(0,a.jsx)("p",{children:"Allows updating item IDs sent to external integrations to which the form data is sent."}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_pre_post_id', 'getIntegrationPrePostId', 10, 3);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies integration item ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @param string $itemId Integration item ID.\n\t\t\t\t\t * @param array<mixed> $params Params to be sent to the integration.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @return array<mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostId(string $itemId, array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn $itemId;\n\t\t\t\t\t}\n\t\t\t\t`)})]})}function c(t){let{filter:e}=t,n="";if("mailer"===e)n="mailer system";else n="external integration";return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post parameters filter"}),(0,a.jsxs)("p",{children:["Allows modifying form field data before it's sent to ",n,". Useful if you want to make values derived from the sent data, or add new fields."]}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_pre_post_params', 'getIntegrationPrePostParams', 10, 2);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies form field data before it's sent to ${n}.\n\t\t\t\t\t *\n\t\t\t\t\t * @param array<string, mixed> $params Array of params.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string, mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostParams(array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\t$formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? '';\n\n\t\t\t\t\t\tif ($formSubmissionPageLt) {\n\t\t\t\t\t\t\t$params['ib-submission-source'] = [\n\t\t\t\t\t\t\t\t'name' => 'ib-submission-source',\n\t\t\t\t\t\t\t\t'value' => $formSubmissionPageLt,\n\t\t\t\t\t\t\t\t'type' => 'text',\n\t\t\t\t\t\t\t\t'internalType' => '',\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn $params;\n\t\t\t\t\t}\n\t\t\t\t`)})]})}},96616:(t,e,n)=>{function r(t){const e=t.split(/\n/g);for(;0===e[0]?.replace(/\s/g,"").length;)e.shift();for(;0===e[e.length-1]?.replace(/\s/g,"").length;)e.pop();const n=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>t.match(/^\s*/)?.[0]?.length??0)),r=Math.min(...n);return e.map((t=>t.slice(r))).join("\n")}n.d(e,{c:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/cfae12a4.68a2c653.js b/assets/js/cfae12a4.68a2c653.js deleted file mode 100644 index 5c62f369e..000000000 --- a/assets/js/cfae12a4.68a2c653.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[31935],{52453:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>s,default:()=>c,frontMatter:()=>o,metadata:()=>l,toc:()=>m});var r=n(85893),i=n(11151),a=n(8122);const o={id:"additional-content",title:"Additional content"},s=void 0,l={id:"php/filters/block/submit/additional-content",title:"Additional content",description:"",source:"@site/forms/php/filters/block/submit/additional-content.mdx",sourceDirName:"php/filters/block/submit",slug:"/php/filters/block/submit/additional-content",permalink:"/forms/php/filters/block/submit/additional-content",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"additional-content",title:"Additional content"},sidebar:"forms",previous:{title:"Custom form submit button",permalink:"/forms/php/filters/block/submit/component"},next:{title:'Multi-step form "Previous" button',permalink:"/forms/php/filters/block/step/component-prev"}},d={},m=[];function f(t){return(0,r.jsx)(a.F,{filter:"submit"})}function c(t={}){const{wrapper:e}={...(0,i.a)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(f,{...t})}):f()}},8122:(t,e,n)=>{n.d(e,{F:()=>s,k:()=>o});n(67294);var r=n(9286),i=n(61684),a=n(85893);function o(t){let{filter:e,onlyUse:n=["dataFilter","orderFilter","prePostIdFilter","prePostParamsFilter"]}=t;return(0,a.jsxs)(a.Fragment,{children:[n.includes("dataFilter")&&(0,a.jsx)(l,{filter:e}),n.includes("orderFilter")&&(0,a.jsx)(d,{filter:e}),n.includes("prePostIdFilter")&&(0,a.jsx)(m,{filter:e}),n.includes("prePostParamsFilter")&&(0,a.jsx)(f,{filter:e})]})}function s(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{children:"Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc."}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\tadd_filter('es_forms_block_"+e+"_additional_content', function(): string {\n\t\t\t\treturn '<custom-string>';\n\t\t\t})\n\t\t\t")})]})}function l(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Data filter"}),(0,a.jsx)("p",{children:"Allows modifying form field data before it's shown in the Block Editor or output on the frontend."}),(0,a.jsx)("p",{children:"Useful if, for example, you want to ensure that all fields fit into a 2-column layout."}),(0,a.jsx)("p",{children:"Overrides any Block Editor changes!"}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\tadd_filter('es_forms_integrations_"+e+'_data\', \'getIntegrationFilterData\', 10, 2);\n\n\t\t\t/**\n\t\t\t * Manipulate form fields data before it is sent to the Block Editor.\n\t\t\t *\n\t\t\t * @param array<mixed> $data Form fields data.\n\t\t\t * @param string $formId Form ID.\n\t\t\t *\n\t\t\t * @return array<mixed>\n\t\t\t */\n\t\t\tfunction getIntegrationFilterData(array $data, string $formId): array\n\t\t\t{\n\t\t\t\tforeach ($data as $index => $field) {\n\t\t\t\t\t$component = $field[\'component\'] ?? \'\';\n\n\t\t\t\t\tif (!$component) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t$name = $field["{$component}Name"] ?? \'\';\n\n\t\t\t\t\tif (!$name) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch ($name) {\n\t\t\t\t\t\tcase \'firstname\':\n\t\t\t\t\t\tcase \'lastname\':\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthMobile"] = 12;\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthLarge"] = 6;\n\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"] = array_merge(\n\t\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthMobile",\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthLarge",\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t')})]})}function d(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Order filter"}),(0,a.jsx)("p",{children:"Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor."}),(0,a.jsxs)("p",{children:["Not all fields need to have an order defined. For example, you may want to make sure ",(0,a.jsx)("code",{children:"firstname"}),", ",(0,a.jsx)("code",{children:"lastname"})," and ",(0,a.jsx)("code",{children:"email"})," are displayed first, but other fields follow their Block editor order."]}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_order', 'getIntegrationOrder');\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Forces form field order for the provided fields. For other fields, Block editor order is used.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationOrder(): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t'firstname',\n\t\t\t\t\t\t\t'lastname',\n\t\t\t\t\t\t\t'email',\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t")})]})}function m(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post ID filter"}),(0,a.jsx)("p",{children:"Allows updating item IDs sent to external integrations to which the form data is sent."}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_pre_post_id', 'getIntegrationPrePostId', 10, 3);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies integration item ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @param string $itemId Integration item ID.\n\t\t\t\t\t * @param array<mixed> $params Params to be sent to the integration.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @return array<mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostId(string $itemId, array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn $itemId;\n\t\t\t\t\t}\n\t\t\t\t")})]})}function f(t){let{filter:e}=t,n="";if("mailer"===e)n="mailer system";else n="external integration";return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post parameters filter"}),(0,a.jsxs)("p",{children:["Allows modifying form field data before it's sent to ",n,". Useful if you want to make values derived from the sent data, or add new fields."]}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_pre_post_params', 'getIntegrationPrePostParams', 10, 2);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies form field data before it's sent to "+n+".\n\t\t\t\t\t *\n\t\t\t\t\t * @param array<string, mixed> $params Array of params.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string, mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostParams(array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\t$formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? '';\n\n\t\t\t\t\t\tif ($formSubmissionPageLt) {\n\t\t\t\t\t\t\t$params['ib-submission-source'] = [\n\t\t\t\t\t\t\t\t'name' => 'ib-submission-source',\n\t\t\t\t\t\t\t\t'value' => $formSubmissionPageLt,\n\t\t\t\t\t\t\t\t'type' => 'text',\n\t\t\t\t\t\t\t\t'internalType' => '',\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn $params;\n\t\t\t\t\t}\n\t\t\t\t")})]})}},61684:(t,e,n)=>{function r(t){const e=t.split(/\n/g);for(;0===(null==(n=e[0])?void 0:n.replace(/\s/g,"").length);){var n;e.shift()}for(;0===(null==(r=e[e.length-1])?void 0:r.replace(/\s/g,"").length);){var r;e.pop()}const i=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>{var e,n;return null!=(e=null==(n=t.match(/^\s*/))||null==(n=n[0])?void 0:n.length)?e:0})),a=Math.min(...i);return e.map((t=>t.slice(a))).join("\n")}n.d(e,{p:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/d0301901.501b3f3f.js b/assets/js/d0301901.501b3f3f.js new file mode 100644 index 000000000..77d50ac0f --- /dev/null +++ b/assets/js/d0301901.501b3f3f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[90588],{20196:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>s,default:()=>m,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var r=n(17624),i=n(4552),a=n(80148);const o={id:"additional-content",title:"Additional content"},s=void 0,l={id:"php/filters/block/input/additional-content",title:"Additional content",description:"",source:"@site/forms/php/filters/block/input/additional-content.mdx",sourceDirName:"php/filters/block/input",slug:"/php/filters/block/input/additional-content",permalink:"/forms/php/filters/block/input/additional-content",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"additional-content",title:"Additional content"},sidebar:"forms",previous:{title:"Additional content",permalink:"/forms/php/filters/block/field/additional-content"},next:{title:"Additional content",permalink:"/forms/php/filters/block/textarea/additional-content"}},d={},c=[];function f(t){return(0,r.jsx)(a.g,{filter:"input"})}function m(t={}){const{wrapper:e}={...(0,i.M)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(f,{...t})}):f()}},80148:(t,e,n)=>{n.d(e,{g:()=>s,y:()=>o});n(11504);var r=n(1608),i=n(96616),a=n(17624);function o(t){let{filter:e,onlyUse:n=["dataFilter","orderFilter","prePostIdFilter","prePostParamsFilter"]}=t;return(0,a.jsxs)(a.Fragment,{children:[n.includes("dataFilter")&&(0,a.jsx)(l,{filter:e}),n.includes("orderFilter")&&(0,a.jsx)(d,{filter:e}),n.includes("prePostIdFilter")&&(0,a.jsx)(c,{filter:e}),n.includes("prePostParamsFilter")&&(0,a.jsx)(f,{filter:e})]})}function s(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{children:"Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc."}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\tadd_filter('es_forms_block_${e}_additional_content', function(): string {\n\t\t\t\treturn '<custom-string>';\n\t\t\t})\n\t\t\t`)})]})}function l(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Data filter"}),(0,a.jsx)("p",{children:"Allows modifying form field data before it's shown in the Block Editor or output on the frontend."}),(0,a.jsx)("p",{children:"Useful if, for example, you want to ensure that all fields fit into a 2-column layout."}),(0,a.jsx)("p",{children:"Overrides any Block Editor changes!"}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\tadd_filter('es_forms_integrations_${e}_data', 'getIntegrationFilterData', 10, 2);\n\n\t\t\t/**\n\t\t\t * Manipulate form fields data before it is sent to the Block Editor.\n\t\t\t *\n\t\t\t * @param array<mixed> $data Form fields data.\n\t\t\t * @param string $formId Form ID.\n\t\t\t *\n\t\t\t * @return array<mixed>\n\t\t\t */\n\t\t\tfunction getIntegrationFilterData(array $data, string $formId): array\n\t\t\t{\n\t\t\t\tforeach ($data as $index => $field) {\n\t\t\t\t\t$component = $field['component'] ?? '';\n\n\t\t\t\t\tif (!$component) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t$name = $field["{$component}Name"] ?? '';\n\n\t\t\t\t\tif (!$name) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch ($name) {\n\t\t\t\t\t\tcase 'firstname':\n\t\t\t\t\t\tcase 'lastname':\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthMobile"] = 12;\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthLarge"] = 6;\n\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"] = array_merge(\n\t\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthMobile",\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthLarge",\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t`)})]})}function d(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Order filter"}),(0,a.jsx)("p",{children:"Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor."}),(0,a.jsxs)("p",{children:["Not all fields need to have an order defined. For example, you may want to make sure ",(0,a.jsx)("code",{children:"firstname"}),", ",(0,a.jsx)("code",{children:"lastname"})," and ",(0,a.jsx)("code",{children:"email"})," are displayed first, but other fields follow their Block editor order."]}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_order', 'getIntegrationOrder');\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Forces form field order for the provided fields. For other fields, Block editor order is used.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationOrder(): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t'firstname',\n\t\t\t\t\t\t\t'lastname',\n\t\t\t\t\t\t\t'email',\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t`)})]})}function c(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post ID filter"}),(0,a.jsx)("p",{children:"Allows updating item IDs sent to external integrations to which the form data is sent."}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_pre_post_id', 'getIntegrationPrePostId', 10, 3);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies integration item ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @param string $itemId Integration item ID.\n\t\t\t\t\t * @param array<mixed> $params Params to be sent to the integration.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @return array<mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostId(string $itemId, array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn $itemId;\n\t\t\t\t\t}\n\t\t\t\t`)})]})}function f(t){let{filter:e}=t,n="";if("mailer"===e)n="mailer system";else n="external integration";return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post parameters filter"}),(0,a.jsxs)("p",{children:["Allows modifying form field data before it's sent to ",n,". Useful if you want to make values derived from the sent data, or add new fields."]}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_pre_post_params', 'getIntegrationPrePostParams', 10, 2);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies form field data before it's sent to ${n}.\n\t\t\t\t\t *\n\t\t\t\t\t * @param array<string, mixed> $params Array of params.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string, mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostParams(array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\t$formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? '';\n\n\t\t\t\t\t\tif ($formSubmissionPageLt) {\n\t\t\t\t\t\t\t$params['ib-submission-source'] = [\n\t\t\t\t\t\t\t\t'name' => 'ib-submission-source',\n\t\t\t\t\t\t\t\t'value' => $formSubmissionPageLt,\n\t\t\t\t\t\t\t\t'type' => 'text',\n\t\t\t\t\t\t\t\t'internalType' => '',\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn $params;\n\t\t\t\t\t}\n\t\t\t\t`)})]})}},96616:(t,e,n)=>{function r(t){const e=t.split(/\n/g);for(;0===e[0]?.replace(/\s/g,"").length;)e.shift();for(;0===e[e.length-1]?.replace(/\s/g,"").length;)e.pop();const n=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>t.match(/^\s*/)?.[0]?.length??0)),r=Math.min(...n);return e.map((t=>t.slice(r))).join("\n")}n.d(e,{c:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/d0301901.75603c1c.js b/assets/js/d0301901.75603c1c.js deleted file mode 100644 index 79df01bdd..000000000 --- a/assets/js/d0301901.75603c1c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[64526],{53848:(t,n,e)=>{e.r(n),e.d(n,{assets:()=>d,contentTitle:()=>s,default:()=>c,frontMatter:()=>o,metadata:()=>l,toc:()=>f});var r=e(85893),i=e(11151),a=e(8122);const o={id:"additional-content",title:"Additional content"},s=void 0,l={id:"php/filters/block/input/additional-content",title:"Additional content",description:"",source:"@site/forms/php/filters/block/input/additional-content.mdx",sourceDirName:"php/filters/block/input",slug:"/php/filters/block/input/additional-content",permalink:"/forms/php/filters/block/input/additional-content",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"additional-content",title:"Additional content"},sidebar:"forms",previous:{title:"Additional content",permalink:"/forms/php/filters/block/field/additional-content"},next:{title:"Additional content",permalink:"/forms/php/filters/block/textarea/additional-content"}},d={},f=[];function m(t){return(0,r.jsx)(a.F,{filter:"input"})}function c(t={}){const{wrapper:n}={...(0,i.a)(),...t.components};return n?(0,r.jsx)(n,{...t,children:(0,r.jsx)(m,{...t})}):m()}},8122:(t,n,e)=>{e.d(n,{F:()=>s,k:()=>o});e(67294);var r=e(9286),i=e(61684),a=e(85893);function o(t){let{filter:n,onlyUse:e=["dataFilter","orderFilter","prePostIdFilter","prePostParamsFilter"]}=t;return(0,a.jsxs)(a.Fragment,{children:[e.includes("dataFilter")&&(0,a.jsx)(l,{filter:n}),e.includes("orderFilter")&&(0,a.jsx)(d,{filter:n}),e.includes("prePostIdFilter")&&(0,a.jsx)(f,{filter:n}),e.includes("prePostParamsFilter")&&(0,a.jsx)(m,{filter:n})]})}function s(t){let{filter:n}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{children:"Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc."}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\tadd_filter('es_forms_block_"+n+"_additional_content', function(): string {\n\t\t\t\treturn '<custom-string>';\n\t\t\t})\n\t\t\t")})]})}function l(t){let{filter:n}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Data filter"}),(0,a.jsx)("p",{children:"Allows modifying form field data before it's shown in the Block Editor or output on the frontend."}),(0,a.jsx)("p",{children:"Useful if, for example, you want to ensure that all fields fit into a 2-column layout."}),(0,a.jsx)("p",{children:"Overrides any Block Editor changes!"}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\tadd_filter('es_forms_integrations_"+n+'_data\', \'getIntegrationFilterData\', 10, 2);\n\n\t\t\t/**\n\t\t\t * Manipulate form fields data before it is sent to the Block Editor.\n\t\t\t *\n\t\t\t * @param array<mixed> $data Form fields data.\n\t\t\t * @param string $formId Form ID.\n\t\t\t *\n\t\t\t * @return array<mixed>\n\t\t\t */\n\t\t\tfunction getIntegrationFilterData(array $data, string $formId): array\n\t\t\t{\n\t\t\t\tforeach ($data as $index => $field) {\n\t\t\t\t\t$component = $field[\'component\'] ?? \'\';\n\n\t\t\t\t\tif (!$component) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t$name = $field["{$component}Name"] ?? \'\';\n\n\t\t\t\t\tif (!$name) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch ($name) {\n\t\t\t\t\t\tcase \'firstname\':\n\t\t\t\t\t\tcase \'lastname\':\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthMobile"] = 12;\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthLarge"] = 6;\n\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"] = array_merge(\n\t\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthMobile",\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthLarge",\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t')})]})}function d(t){let{filter:n}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Order filter"}),(0,a.jsx)("p",{children:"Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor."}),(0,a.jsxs)("p",{children:["Not all fields need to have an order defined. For example, you may want to make sure ",(0,a.jsx)("code",{children:"firstname"}),", ",(0,a.jsx)("code",{children:"lastname"})," and ",(0,a.jsx)("code",{children:"email"})," are displayed first, but other fields follow their Block editor order."]}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+n+"_order', 'getIntegrationOrder');\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Forces form field order for the provided fields. For other fields, Block editor order is used.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationOrder(): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t'firstname',\n\t\t\t\t\t\t\t'lastname',\n\t\t\t\t\t\t\t'email',\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t")})]})}function f(t){let{filter:n}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post ID filter"}),(0,a.jsx)("p",{children:"Allows updating item IDs sent to external integrations to which the form data is sent."}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+n+"_pre_post_id', 'getIntegrationPrePostId', 10, 3);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies integration item ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @param string $itemId Integration item ID.\n\t\t\t\t\t * @param array<mixed> $params Params to be sent to the integration.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @return array<mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostId(string $itemId, array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn $itemId;\n\t\t\t\t\t}\n\t\t\t\t")})]})}function m(t){let{filter:n}=t,e="";if("mailer"===n)e="mailer system";else e="external integration";return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post parameters filter"}),(0,a.jsxs)("p",{children:["Allows modifying form field data before it's sent to ",e,". Useful if you want to make values derived from the sent data, or add new fields."]}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+n+"_pre_post_params', 'getIntegrationPrePostParams', 10, 2);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies form field data before it's sent to "+e+".\n\t\t\t\t\t *\n\t\t\t\t\t * @param array<string, mixed> $params Array of params.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string, mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostParams(array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\t$formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? '';\n\n\t\t\t\t\t\tif ($formSubmissionPageLt) {\n\t\t\t\t\t\t\t$params['ib-submission-source'] = [\n\t\t\t\t\t\t\t\t'name' => 'ib-submission-source',\n\t\t\t\t\t\t\t\t'value' => $formSubmissionPageLt,\n\t\t\t\t\t\t\t\t'type' => 'text',\n\t\t\t\t\t\t\t\t'internalType' => '',\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn $params;\n\t\t\t\t\t}\n\t\t\t\t")})]})}},61684:(t,n,e)=>{function r(t){const n=t.split(/\n/g);for(;0===(null==(e=n[0])?void 0:e.replace(/\s/g,"").length);){var e;n.shift()}for(;0===(null==(r=n[n.length-1])?void 0:r.replace(/\s/g,"").length);){var r;n.pop()}const i=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>{var n,e;return null!=(n=null==(e=t.match(/^\s*/))||null==(e=e[0])?void 0:e.length)?n:0})),a=Math.min(...i);return n.map((t=>t.slice(a))).join("\n")}e.d(n,{p:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/d0b1075b.6c031a0b.js b/assets/js/d0b1075b.6c031a0b.js new file mode 100644 index 000000000..e4c407cfd --- /dev/null +++ b/assets/js/d0b1075b.6c031a0b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[57808],{54812:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>u,frontMatter:()=>r,metadata:()=>o,toc:()=>c});var i=n(17624),s=n(4552);const r={id:"clearbit",title:"Clearbit"},a=void 0,o={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.",source:"@site/forms/integrations/clearbit.md",sourceDirName:"integrations",slug:"/integrations/clearbit",permalink:"/forms/integrations/clearbit",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"clearbit",title:"Clearbit"},sidebar:"forms",previous:{title:"Airtable",permalink:"/forms/integrations/airtable"},next:{title:"Goodbits",permalink:"/forms/integrations/goodbits"}},l={},c=[{value:"Website",id:"website",level:3},{value:"API Version",id:"api-version",level:3},{value:"API Documentation",id:"api-documentation",level:3},{value:"Integration type",id:"integration-type",level:3},{value:"Supported integrations:",id:"supported-integrations",level:3}];function d(e){const t={a:"a",h3:"h3",li:"li",p:"p",ul:"ul",...(0,s.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"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."}),"\n",(0,i.jsx)(t.h3,{id:"website",children:"Website"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://clearbit.com/",children:"Visit website"})}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"api-version",children:"API Version"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"V2"}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"api-documentation",children:"API Documentation"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://dashboard.clearbit.com/docs",children:"Documentation"})}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"integration-type",children:"Integration type"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Manual fields mapping from the admin settings."}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"supported-integrations",children:"Supported integrations:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Hubspot"}),"\n"]})]})}function u(e={}){const{wrapper:t}={...(0,s.M)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},4552:(e,t,n)=>{n.d(t,{I:()=>o,M:()=>a});var i=n(11504);const s={},r=i.createContext(s);function a(e){const t=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),i.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d0b1075b.7f8d7aa0.js b/assets/js/d0b1075b.7f8d7aa0.js deleted file mode 100644 index 71e3bfda6..000000000 --- a/assets/js/d0b1075b.7f8d7aa0.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[35460],{74591:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>u,frontMatter:()=>r,metadata:()=>o,toc:()=>c});var i=n(85893),s=n(11151);const r={id:"clearbit",title:"Clearbit"},a=void 0,o={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.",source:"@site/forms/integrations/clearbit.md",sourceDirName:"integrations",slug:"/integrations/clearbit",permalink:"/forms/integrations/clearbit",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"clearbit",title:"Clearbit"},sidebar:"forms",previous:{title:"Airtable",permalink:"/forms/integrations/airtable"},next:{title:"Goodbits",permalink:"/forms/integrations/goodbits"}},l={},c=[{value:"Website",id:"website",level:3},{value:"API Version",id:"api-version",level:3},{value:"API Documentation",id:"api-documentation",level:3},{value:"Integration type",id:"integration-type",level:3},{value:"Supported integrations:",id:"supported-integrations",level:3}];function d(e){const t={a:"a",h3:"h3",li:"li",p:"p",ul:"ul",...(0,s.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"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."}),"\n",(0,i.jsx)(t.h3,{id:"website",children:"Website"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://clearbit.com/",children:"Visit website"})}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"api-version",children:"API Version"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"V2"}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"api-documentation",children:"API Documentation"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://dashboard.clearbit.com/docs",children:"Documentation"})}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"integration-type",children:"Integration type"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Manual fields mapping from the admin settings."}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"supported-integrations",children:"Supported integrations:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Hubspot"}),"\n"]})]})}function u(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},11151:(e,t,n)=>{n.d(t,{Z:()=>o,a:()=>a});var i=n(67294);const s={},r=i.createContext(s);function a(e){const t=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),i.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d0c63040.05c52d49.js b/assets/js/d0c63040.05c52d49.js new file mode 100644 index 000000000..d34624f51 --- /dev/null +++ b/assets/js/d0c63040.05c52d49.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[37948],{50204:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>g,frontMatter:()=>n,metadata:()=>r,toc:()=>l});var o=s(17624),i=s(4552);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.M)(),...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.M)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},4552:(e,t,s)=>{s.d(t,{I:()=>r,M:()=>a});var o=s(11504);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.7fc9c4e4.js b/assets/js/d0c63040.7fc9c4e4.js deleted file mode 100644 index d4194fffb..000000000 --- a/assets/js/d0c63040.7fc9c4e4.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[98025],{34070:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>g,frontMatter:()=>n,metadata:()=>r,toc:()=>l});var o=s(85893),i=s(11151);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.a)(),...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.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},11151:(e,t,s)=>{s.d(t,{Z:()=>r,a:()=>a});var o=s(67294);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.24ac2d20.js b/assets/js/d0e59ab5.24ac2d20.js deleted file mode 100644 index 2a0e72b48..000000000 --- a/assets/js/d0e59ab5.24ac2d20.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[5662],{7758:e=>{e.exports=JSON.parse('{"label":"boilerplate","permalink":"/blog/tags/boilerplate","allTagsPath":"/blog/tags","count":14,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/d0e59ab5.8ad74afb.js b/assets/js/d0e59ab5.8ad74afb.js new file mode 100644 index 000000000..2bccaaf36 --- /dev/null +++ b/assets/js/d0e59ab5.8ad74afb.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[18492],{10382:e=>{e.exports=JSON.parse('{"label":"boilerplate","permalink":"/blog/tags/boilerplate","allTagsPath":"/blog/tags","count":14,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/d0ecf97a.4dd1b3d7.js b/assets/js/d0ecf97a.4dd1b3d7.js deleted file mode 100644 index 77eacb819..000000000 --- a/assets/js/d0ecf97a.4dd1b3d7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[91186],{28174:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>i,contentTitle:()=>o,default:()=>d,frontMatter:()=>s,metadata:()=>a,toc:()=>c});var r=n(85893),l=n(11151);const s={id:"locale",title:"Locale"},o=void 0,a={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.",source:"@site/forms/php/filters/general/locale.md",sourceDirName:"php/filters/general",slug:"/php/filters/general/locale",permalink:"/forms/php/filters/general/locale",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"locale",title:"Locale"},sidebar:"forms",previous:{title:"HTTP request timeout",permalink:"/forms/php/filters/general/http-request-timeout"},next:{title:"Dependency admin",permalink:"/forms/php/filters/scripts/dependency-admin"}},i={},c=[];function u(e){const t={code:"code",p:"p",pre:"pre",...(0,l.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.p,{children:"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."}),"\n",(0,r.jsxs)(t.p,{children:["Filter should return an array with two keys: ",(0,r.jsx)(t.code,{children:"default"})," and ",(0,r.jsx)(t.code,{children:"current"}),". Both keys should contain a string value of the locale for your project."]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-php",children:"\\add_filter('es_forms_general_locale', [$this, 'getFormsLocale']);\n\n/**\n * Change the current locale.\n *\n * @return array<string, mixed>\n */\npublic function getFormsLocale(): mixed\n{\n\t// Get the default and current locale (e.g. from WPML plugin).\n\treturn [\n\t\t'default' => '',\n\t\t'current' => '',\n\t];\n}\n"})})]})}function d(e={}){const{wrapper:t}={...(0,l.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(u,{...e})}):u(e)}},11151:(e,t,n)=>{n.d(t,{Z:()=>a,a:()=>o});var r=n(67294);const l={},s=r.createContext(l);function o(e){const t=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:o(e.components),r.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d0ecf97a.bd7c8eb6.js b/assets/js/d0ecf97a.bd7c8eb6.js new file mode 100644 index 000000000..1206214dd --- /dev/null +++ b/assets/js/d0ecf97a.bd7c8eb6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[8996],{20816:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>i,contentTitle:()=>o,default:()=>d,frontMatter:()=>s,metadata:()=>a,toc:()=>c});var r=n(17624),l=n(4552);const s={id:"locale",title:"Locale"},o=void 0,a={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.",source:"@site/forms/php/filters/general/locale.md",sourceDirName:"php/filters/general",slug:"/php/filters/general/locale",permalink:"/forms/php/filters/general/locale",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"locale",title:"Locale"},sidebar:"forms",previous:{title:"HTTP request timeout",permalink:"/forms/php/filters/general/http-request-timeout"},next:{title:"Dependency admin",permalink:"/forms/php/filters/scripts/dependency-admin"}},i={},c=[];function u(e){const t={code:"code",p:"p",pre:"pre",...(0,l.M)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.p,{children:"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."}),"\n",(0,r.jsxs)(t.p,{children:["Filter should return an array with two keys: ",(0,r.jsx)(t.code,{children:"default"})," and ",(0,r.jsx)(t.code,{children:"current"}),". Both keys should contain a string value of the locale for your project."]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-php",children:"\\add_filter('es_forms_general_locale', [$this, 'getFormsLocale']);\n\n/**\n * Change the current locale.\n *\n * @return array<string, mixed>\n */\npublic function getFormsLocale(): mixed\n{\n\t// Get the default and current locale (e.g. from WPML plugin).\n\treturn [\n\t\t'default' => '',\n\t\t'current' => '',\n\t];\n}\n"})})]})}function d(e={}){const{wrapper:t}={...(0,l.M)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(u,{...e})}):u(e)}},4552:(e,t,n)=>{n.d(t,{I:()=>a,M:()=>o});var r=n(11504);const l={},s=r.createContext(l);function o(e){const t=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:o(e.components),r.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d136d263.3c7c98b2.js b/assets/js/d136d263.3c7c98b2.js new file mode 100644 index 000000000..db7890c8f --- /dev/null +++ b/assets/js/d136d263.3c7c98b2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[21656],{25420:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>i,metadata:()=>l,toc:()=>d});var r=s(17624),n=s(4552),o=s(13536);const i={id:"form",title:"Form"},a=void 0,l={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.",source:"@site/forms/javascript/state/form.mdx",sourceDirName:"javascript/state",slug:"/javascript/state/form",permalink:"/forms/javascript/state/form",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"form",title:"Form"},sidebar:"forms",previous:{title:"Store",permalink:"/forms/javascript/state/store"},next:{title:"Utils",permalink:"/forms/javascript/state/utils"}},c={},d=[{value:"Example",id:"example",level:3}];function m(e){const t={code:"code",h3:"h3",p:"p",pre:"pre",...(0,n.M)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(t.p,{children:["The ",(0,r.jsx)(t.code,{children:"form"})," object contains all getters and setters for managing the form. All methods are connected to the ",(0,r.jsx)(t.code,{children:"formId"})," value."]}),"\n",(0,r.jsxs)(t.p,{children:["For example, here you will find events that fire when field value changes like hover, blur, focus, etc. Also, you can find all helpers to store data in the internal ",(0,r.jsx)(t.code,{children:"FormData"})," object before sending it to the Rest-API."]}),"\n",(0,r.jsx)(o.g,{name:"Form",filter:"form",url:"form"}),"\n",(0,r.jsx)(t.h3,{id:"example",children:"Example"}),"\n",(0,r.jsx)(t.p,{children:"This example will return event listeners for all forms on your page."}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-js",children:"window?.esForms?.form?.removeEvents();\n"})}),"\n",(0,r.jsx)(t.p,{children:"This example will initialize input field by name and formId."}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-js",children:"window?.esForms?.form?.setupInputField('<fieldName>', '<formId>');\n"})})]})}function h(e={}){const{wrapper:t}={...(0,n.M)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(m,{...e})}):m(e)}},13536:(e,t,s)=>{s.d(t,{g:()=>i});s(11504);var r=s(1608),n=s(96616),o=s(17624);function i(e){const{name:t,filter:s,url:i}=e,a=`https://github.com/infinum/eightshift-forms/blob/develop/src/Blocks/components/form/assets/${i}.js`;return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("h3",{children:"Usage"}),(0,o.jsxs)("p",{children:["To access ",t," object and all its customization options use your browsers console and type:"]}),(0,o.jsx)(r.c,{language:"js",children:(0,n.c)(`\n\t\t\t\twindow?.esForms?.${s}\n\t\t\t`)}),i&&(0,o.jsxs)("p",{children:["You can find all methods and their documentation on this ",(0,o.jsx)("a",{href:a,target:"_blank",rel:"noopener noreferrer",children:"link"}),"."]})]})}},96616:(e,t,s)=>{function r(e){const t=e.split(/\n/g);for(;0===t[0]?.replace(/\s/g,"").length;)t.shift();for(;0===t[t.length-1]?.replace(/\s/g,"").length;)t.pop();const s=e.split(/\n/g).filter((e=>e.replace(/\s/g,"").length>0)).map((e=>e.match(/^\s*/)?.[0]?.length??0)),r=Math.min(...s);return t.map((e=>e.slice(r))).join("\n")}s.d(t,{c:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/d136d263.aedbc5f1.js b/assets/js/d136d263.aedbc5f1.js deleted file mode 100644 index 4bceb03bc..000000000 --- a/assets/js/d136d263.aedbc5f1.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[67567],{80114:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>l,metadata:()=>i,toc:()=>d});var n=r(85893),s=r(11151),o=r(22130);const l={id:"form",title:"Form"},a=void 0,i={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.",source:"@site/forms/javascript/state/form.mdx",sourceDirName:"javascript/state",slug:"/javascript/state/form",permalink:"/forms/javascript/state/form",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"form",title:"Form"},sidebar:"forms",previous:{title:"Store",permalink:"/forms/javascript/state/store"},next:{title:"Utils",permalink:"/forms/javascript/state/utils"}},c={},d=[{value:"Example",id:"example",level:3}];function m(e){const t={code:"code",h3:"h3",p:"p",pre:"pre",...(0,s.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(t.p,{children:["The ",(0,n.jsx)(t.code,{children:"form"})," object contains all getters and setters for managing the form. All methods are connected to the ",(0,n.jsx)(t.code,{children:"formId"})," value."]}),"\n",(0,n.jsxs)(t.p,{children:["For example, here you will find events that fire when field value changes like hover, blur, focus, etc. Also, you can find all helpers to store data in the internal ",(0,n.jsx)(t.code,{children:"FormData"})," object before sending it to the Rest-API."]}),"\n",(0,n.jsx)(o.D,{name:"Form",filter:"form",url:"form"}),"\n",(0,n.jsx)(t.h3,{id:"example",children:"Example"}),"\n",(0,n.jsx)(t.p,{children:"This example will return event listeners for all forms on your page."}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-js",children:"window?.esForms?.form?.removeEvents();\n"})}),"\n",(0,n.jsx)(t.p,{children:"This example will initialize input field by name and formId."}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-js",children:"window?.esForms?.form?.setupInputField('<fieldName>', '<formId>');\n"})})]})}function h(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(m,{...e})}):m(e)}},22130:(e,t,r)=>{r.d(t,{D:()=>l});r(67294);var n=r(9286),s=r(61684),o=r(85893);function l(e){const{name:t,filter:r,url:l}=e,a="https://github.com/infinum/eightshift-forms/blob/develop/src/Blocks/components/form/assets/"+l+".js";return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("h3",{children:"Usage"}),(0,o.jsxs)("p",{children:["To access ",t," object and all its customization options use your browsers console and type:"]}),(0,o.jsx)(n.Z,{language:"js",children:(0,s.p)("\n\t\t\t\twindow?.esForms?."+r+"\n\t\t\t")}),l&&(0,o.jsxs)("p",{children:["You can find all methods and their documentation on this ",(0,o.jsx)("a",{href:a,target:"_blank",rel:"noopener noreferrer",children:"link"}),"."]})]})}},61684:(e,t,r)=>{function n(e){const t=e.split(/\n/g);for(;0===(null==(r=t[0])?void 0:r.replace(/\s/g,"").length);){var r;t.shift()}for(;0===(null==(n=t[t.length-1])?void 0:n.replace(/\s/g,"").length);){var n;t.pop()}const s=e.split(/\n/g).filter((e=>e.replace(/\s/g,"").length>0)).map((e=>{var t,r;return null!=(t=null==(r=e.match(/^\s*/))||null==(r=r[0])?void 0:r.length)?t:0})),o=Math.min(...s);return t.map((e=>e.slice(o))).join("\n")}r.d(t,{p:()=>n})}}]); \ No newline at end of file diff --git a/assets/js/d14f8ee5.ec215865.js b/assets/js/d14f8ee5.ec215865.js deleted file mode 100644 index 9598f33a9..000000000 --- a/assets/js/d14f8ee5.ec215865.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[20850],{4478:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>i,metadata:()=>a,toc:()=>l});var s=n(85893),o=n(11151);const i={id:"blocks-attributes",title:"Attributes"},r=void 0,a={id:"basics/blocks-attributes",title:"Attributes",description:"docs-source",source:"@site/docs/basics/blocks-attributes.md",sourceDirName:"basics",slug:"/basics/blocks-attributes",permalink:"/docs/basics/blocks-attributes",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-attributes",title:"Attributes"},sidebar:"docs",previous:{title:"Component Manifest",permalink:"/docs/basics/blocks-component-manifest"},next:{title:"Component in a Block",permalink:"/docs/basics/blocks-component-in-block"}},c={},l=[{value:"Structure",id:"structure",level:3}];function d(e){const t={a:"a",code:"code",h3:"h3",img:"img",p:"p",pre:"pre",...(0,o.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,s.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsxs)(t.p,{children:["If you were to reference the native ",(0,s.jsx)(t.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-attributes/",children:"WordPress documentation"})," about attributes in blocks, you can see that they support different types of attributes. In this chapter, we want to point out that you should avoid using objects for your attributes."]}),"\n",(0,s.jsxs)(t.p,{children:["The reason for this is that you can't control what key of that object is stored in the database once the attribute changes. When you change one key, the ",(0,s.jsx)(t.code,{children:"setAttributes"})," method will store the entire object in the database and you'll lose the best feature of block editor - the default attributes."]}),"\n",(0,s.jsx)(t.p,{children:"You can also look at this from the Reacts perspective: setting the entire object every time the key changes is bad for performance."}),"\n",(0,s.jsx)(t.p,{children:"Yes, you can use objects, but we recommend using them only when you want to store multiple keys simultaneously."}),"\n",(0,s.jsx)(t.h3,{id:"structure",children:"Structure"}),"\n",(0,s.jsxs)(t.p,{children:["All attributes in the block/component must begin with the exact same prefix as it is defined in the ",(0,s.jsx)(t.code,{children:"blockName"})," or ",(0,s.jsx)(t.code,{children:"componentName"}),". The reason behind this naming standard is that our helpers can automatically resolve and know what prefix to use when renaming the component name in the dependency tree. For more details about this feature please check ",(0,s.jsx)(t.a,{href:"blocks-component-in-block",children:"this chapter"}),"."]}),"\n",(0,s.jsx)(t.p,{children:"Block example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-json",children:'{\n "blockName": "heading",\n "attributes": {\n "headingContent": {\n "type": "string"\n },\n "headingLevel": {\n "type": "integer",\n "default": 2\n }\n }\n}\n'})}),"\n",(0,s.jsx)(t.p,{children:"or"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-json",children:'{\n "blockName": "intro",\n "attributes": {\n "introContent": {\n "type": "string"\n },\n "introLevel": {\n "type": "integer",\n "default": 2\n }\n }\n}\n'})}),"\n",(0,s.jsx)(t.p,{children:"Component example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-json",children:'{\n "componentName": "heading",\n "attributes": {\n "headingContent": {\n "type": "string"\n },\n "headingLevel": {\n "type": "integer",\n "default": 2\n }\n }\n}\n'})}),"\n",(0,s.jsx)(t.p,{children:"or"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-json",children:'{\n "componentName": "description",\n "attributes": {\n "descriptionContent": {\n "type": "string"\n },\n "descriptionLevel": {\n "type": "integer",\n "default": 2\n }\n }\n}\n'})}),"\n",(0,s.jsxs)(t.p,{children:["If you have a block/component that contains multiple words you should name it with a dash just like the block/component folder name, but the attributes must follow the ",(0,s.jsx)(t.code,{children:"camelCase"})," naming standard like this:"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-json",children:'{\n "componentName": "intro-heading",\n "attributes": {\n "introHeadingContent": {\n "type": "string"\n },\n "introHeadingLevel": {\n "type": "integer",\n "default": 2\n }\n }\n}\n'})})]})}function h(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},11151:(e,t,n)=>{n.d(t,{Z:()=>a,a:()=>r});var s=n(67294);const o={},i=s.createContext(o);function r(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d14f8ee5.f39121da.js b/assets/js/d14f8ee5.f39121da.js new file mode 100644 index 000000000..53fde1b50 --- /dev/null +++ b/assets/js/d14f8ee5.f39121da.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[71896],{16368:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>i,metadata:()=>a,toc:()=>l});var s=n(17624),o=n(4552);const i={id:"blocks-attributes",title:"Attributes"},r=void 0,a={id:"basics/blocks-attributes",title:"Attributes",description:"docs-source",source:"@site/docs/basics/blocks-attributes.md",sourceDirName:"basics",slug:"/basics/blocks-attributes",permalink:"/docs/basics/blocks-attributes",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-attributes",title:"Attributes"},sidebar:"docs",previous:{title:"Component Manifest",permalink:"/docs/basics/blocks-component-manifest"},next:{title:"Component in a Block",permalink:"/docs/basics/blocks-component-in-block"}},c={},l=[{value:"Structure",id:"structure",level:3}];function d(e){const t={a:"a",code:"code",h3:"h3",img:"img",p:"p",pre:"pre",...(0,o.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,s.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsxs)(t.p,{children:["If you were to reference the native ",(0,s.jsx)(t.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-attributes/",children:"WordPress documentation"})," about attributes in blocks, you can see that they support different types of attributes. In this chapter, we want to point out that you should avoid using objects for your attributes."]}),"\n",(0,s.jsxs)(t.p,{children:["The reason for this is that you can't control what key of that object is stored in the database once the attribute changes. When you change one key, the ",(0,s.jsx)(t.code,{children:"setAttributes"})," method will store the entire object in the database and you'll lose the best feature of block editor - the default attributes."]}),"\n",(0,s.jsx)(t.p,{children:"You can also look at this from the Reacts perspective: setting the entire object every time the key changes is bad for performance."}),"\n",(0,s.jsx)(t.p,{children:"Yes, you can use objects, but we recommend using them only when you want to store multiple keys simultaneously."}),"\n",(0,s.jsx)(t.h3,{id:"structure",children:"Structure"}),"\n",(0,s.jsxs)(t.p,{children:["All attributes in the block/component must begin with the exact same prefix as it is defined in the ",(0,s.jsx)(t.code,{children:"blockName"})," or ",(0,s.jsx)(t.code,{children:"componentName"}),". The reason behind this naming standard is that our helpers can automatically resolve and know what prefix to use when renaming the component name in the dependency tree. For more details about this feature please check ",(0,s.jsx)(t.a,{href:"blocks-component-in-block",children:"this chapter"}),"."]}),"\n",(0,s.jsx)(t.p,{children:"Block example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-json",children:'{\n "blockName": "heading",\n "attributes": {\n "headingContent": {\n "type": "string"\n },\n "headingLevel": {\n "type": "integer",\n "default": 2\n }\n }\n}\n'})}),"\n",(0,s.jsx)(t.p,{children:"or"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-json",children:'{\n "blockName": "intro",\n "attributes": {\n "introContent": {\n "type": "string"\n },\n "introLevel": {\n "type": "integer",\n "default": 2\n }\n }\n}\n'})}),"\n",(0,s.jsx)(t.p,{children:"Component example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-json",children:'{\n "componentName": "heading",\n "attributes": {\n "headingContent": {\n "type": "string"\n },\n "headingLevel": {\n "type": "integer",\n "default": 2\n }\n }\n}\n'})}),"\n",(0,s.jsx)(t.p,{children:"or"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-json",children:'{\n "componentName": "description",\n "attributes": {\n "descriptionContent": {\n "type": "string"\n },\n "descriptionLevel": {\n "type": "integer",\n "default": 2\n }\n }\n}\n'})}),"\n",(0,s.jsxs)(t.p,{children:["If you have a block/component that contains multiple words you should name it with a dash just like the block/component folder name, but the attributes must follow the ",(0,s.jsx)(t.code,{children:"camelCase"})," naming standard like this:"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-json",children:'{\n "componentName": "intro-heading",\n "attributes": {\n "introHeadingContent": {\n "type": "string"\n },\n "introHeadingLevel": {\n "type": "integer",\n "default": 2\n }\n }\n}\n'})})]})}function h(e={}){const{wrapper:t}={...(0,o.M)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},4552:(e,t,n)=>{n.d(t,{I:()=>a,M:()=>r});var s=n(11504);const o={},i=s.createContext(o);function r(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d1a0cea3.07fd40bf.js b/assets/js/d1a0cea3.07fd40bf.js new file mode 100644 index 000000000..3b595904d --- /dev/null +++ b/assets/js/d1a0cea3.07fd40bf.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[89344],{73780:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>i,default:()=>h,frontMatter:()=>r,metadata:()=>c,toc:()=>l});var o=n(17624),s=n(4552);const r={id:"browser-sync",title:"Browsersync"},i=void 0,c={id:"basics/browser-sync",title:"Browsersync",description:"docs-source",source:"@site/docs/basics/browser-sync.md",sourceDirName:"basics",slug:"/basics/browser-sync",permalink:"/docs/basics/browser-sync",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"browser-sync",title:"Browsersync"},sidebar:"docs",previous:{title:"Fonts",permalink:"/docs/basics/fonts"},next:{title:"Dynamic Import",permalink:"/docs/basics/dynamic-import"}},a={},l=[{value:"Using SSL for local development",id:"using-ssl-for-local-development",level:2}];function d(e){const t={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",...(0,s.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs",children:(0,o.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.a,{href:"https://browsersync.io/docs",children:"Browsersync"})," is a Node module that enables you to develop sites faster. It will react to any code change and 'refresh' the site without you needing to refresh it. In the background, it runs a small local server. When configured, it will inject a script on your web page to react to any code change."]}),"\n",(0,o.jsx)(t.p,{children:"Besides that, you can test your site on various devices on the same network."}),"\n",(0,o.jsx)(t.p,{children:"It's part of the Eightshift Development Kit by default. When you run:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-bash",children:"npm start\n"})}),"\n",(0,o.jsxs)(t.p,{children:["it will proxy the page you've specified in the ",(0,o.jsx)(t.code,{children:"projectUrl"})," to your local server."]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-bash",children:"[Browsersync] Proxying: http://local-url.test\n[Browsersync] Access URLs:\n--------------------------------------\nLocal: http://localhost:3000\nExternal: http://192.168.0.25:3000\n--------------------------------------\nUI: http://localhost:3001\nUI External: http://localhost:3001\n--------------------------------------\n"})}),"\n",(0,o.jsx)(t.p,{children:"Using the IP address, you can open it on any device (mobile phone or tablet) that is connected to the same network, and see how your site looks on that device."}),"\n",(0,o.jsx)(t.h2,{id:"using-ssl-for-local-development",children:"Using SSL for local development"}),"\n",(0,o.jsx)(t.p,{children:"By default, BrowserSync does not work with HTTPS URLs. If you use HTTPS in your local environment you can simply provide an additional key in the Webpack config to make it work."}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-js",children:"module.exports = (env, argv) => {\n\tconst projectConfig = {\n\t\tconfig: {\n\t\t\tprojectDir: __dirname, // Current project directory absolute path.\n\t\t\tprojectUrl: 'local-url.test', // Used for providing browsersync functionality.\n\t\t\tprojectPath: 'wp-content/themes/your-theme-name', // Project path relative to project root.\n\t\t\tuseSsl: true,\n\t\t},\n\t};\n\n\t// Generate webpack config for this project using options object.\n\treturn require('./node_modules/@eightshift/frontend-libs/webpack')(argv.mode, projectConfig);\n};\n"})}),"\n",(0,o.jsx)(t.p,{children:"Do note that in order for Browsersync to work correctly and utilise the hot reload functionality, the Chrome dev tools must be visible and the 'Disable cache' option must be enabled in the Network tab. Otherwise, the changes will be cached by the browser.\nSimilar should be set for other browsers as well."})]})}function h(e={}){const{wrapper:t}={...(0,s.M)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},4552:(e,t,n)=>{n.d(t,{I:()=>c,M:()=>i});var o=n(11504);const s={},r=o.createContext(s);function i(e){const t=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d1a0cea3.1912a91d.js b/assets/js/d1a0cea3.1912a91d.js deleted file mode 100644 index bae35719e..000000000 --- a/assets/js/d1a0cea3.1912a91d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[29099],{40045:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>i,default:()=>h,frontMatter:()=>r,metadata:()=>c,toc:()=>l});var o=n(85893),s=n(11151);const r={id:"browser-sync",title:"Browsersync"},i=void 0,c={id:"basics/browser-sync",title:"Browsersync",description:"docs-source",source:"@site/docs/basics/browser-sync.md",sourceDirName:"basics",slug:"/basics/browser-sync",permalink:"/docs/basics/browser-sync",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"browser-sync",title:"Browsersync"},sidebar:"docs",previous:{title:"Fonts",permalink:"/docs/basics/fonts"},next:{title:"Dynamic Import",permalink:"/docs/basics/dynamic-import"}},a={},l=[{value:"Using SSL for local development",id:"using-ssl-for-local-development",level:2}];function d(e){const t={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",...(0,s.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs",children:(0,o.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.a,{href:"https://browsersync.io/docs",children:"Browsersync"})," is a Node module that enables you to develop sites faster. It will react to any code change and 'refresh' the site without you needing to refresh it. In the background, it runs a small local server. When configured, it will inject a script on your web page to react to any code change."]}),"\n",(0,o.jsx)(t.p,{children:"Besides that, you can test your site on various devices on the same network."}),"\n",(0,o.jsx)(t.p,{children:"It's part of the Eightshift Development Kit by default. When you run:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-bash",children:"npm start\n"})}),"\n",(0,o.jsxs)(t.p,{children:["it will proxy the page you've specified in the ",(0,o.jsx)(t.code,{children:"projectUrl"})," to your local server."]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-bash",children:"[Browsersync] Proxying: http://local-url.test\n[Browsersync] Access URLs:\n--------------------------------------\nLocal: http://localhost:3000\nExternal: http://192.168.0.25:3000\n--------------------------------------\nUI: http://localhost:3001\nUI External: http://localhost:3001\n--------------------------------------\n"})}),"\n",(0,o.jsx)(t.p,{children:"Using the IP address, you can open it on any device (mobile phone or tablet) that is connected to the same network, and see how your site looks on that device."}),"\n",(0,o.jsx)(t.h2,{id:"using-ssl-for-local-development",children:"Using SSL for local development"}),"\n",(0,o.jsx)(t.p,{children:"By default, BrowserSync does not work with HTTPS URLs. If you use HTTPS in your local environment you can simply provide an additional key in the Webpack config to make it work."}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-js",children:"module.exports = (env, argv) => {\n\tconst projectConfig = {\n\t\tconfig: {\n\t\t\tprojectDir: __dirname, // Current project directory absolute path.\n\t\t\tprojectUrl: 'local-url.test', // Used for providing browsersync functionality.\n\t\t\tprojectPath: 'wp-content/themes/your-theme-name', // Project path relative to project root.\n\t\t\tuseSsl: true,\n\t\t},\n\t};\n\n\t// Generate webpack config for this project using options object.\n\treturn require('./node_modules/@eightshift/frontend-libs/webpack')(argv.mode, projectConfig);\n};\n"})}),"\n",(0,o.jsx)(t.p,{children:"Do note that in order for Browsersync to work correctly and utilise the hot reload functionality, the Chrome dev tools must be visible and the 'Disable cache' option must be enabled in the Network tab. Otherwise, the changes will be cached by the browser.\nSimilar should be set for other browsers as well."})]})}function h(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},11151:(e,t,n)=>{n.d(t,{Z:()=>c,a:()=>i});var o=n(67294);const s={},r=o.createContext(s);function i(e){const t=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d28f320b.53d9b811.js b/assets/js/d28f320b.53d9b811.js new file mode 100644 index 000000000..008551936 --- /dev/null +++ b/assets/js/d28f320b.53d9b811.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[80936],{31412:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>s,default:()=>d,frontMatter:()=>i,metadata:()=>o,toc:()=>p});var r=n(17624),a=n(4552);const i={id:"clearbit",title:"Clearbit"},s=void 0,o={id:"php/filters/integrations/clearbit",title:"Clearbit",description:"Map",source:"@site/forms/php/filters/integrations/clearbit.md",sourceDirName:"php/filters/integrations",slug:"/php/filters/integrations/clearbit",permalink:"/forms/php/filters/integrations/clearbit",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"clearbit",title:"Clearbit"},sidebar:"forms",previous:{title:"Airtable",permalink:"/forms/php/filters/integrations/airtable"},next:{title:"Goodbits",permalink:"/forms/php/filters/integrations/goodbits"}},l={},p=[{value:"Map",id:"map",level:2}];function c(e){const t={code:"code",h2:"h2",p:"p",pre:"pre",...(0,a.M)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h2,{id:"map",children:"Map"}),"\n",(0,r.jsx)(t.p,{children:"Allows changing how Clearbit fields are mapped. Useful if you want to combine multiple fields, or add new ones."}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-php",children:"\\add_filter('es_forms_integrations_clearbit_map', [$this, 'getClearbitMap']);\n\n/**\n * Change Clearbit integration fields map.\n *\n * Allows changing how Clearbit fields are mapped. Useful if you want to combine multiple fields, or add new ones.\n *\n * @param array $params Default params provided by the forms.\n *\n * @return array<mixed>\n */\npublic function getClearbitMap(array $params): array\n{\n\t$street = $params['company-street-number'] ?? '';\n\t$city = $params['company-city'] ?? '';\n\t$postalCode = $params['company-postal-code'] ?? '';\n\n\t$params['company-location-combined'] = \"{$street} {$city} {$postalCode}\";\n\n\treturn $params;\n}\n"})})]})}function d(e={}){const{wrapper:t}={...(0,a.M)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},4552:(e,t,n)=>{n.d(t,{I:()=>o,M:()=>s});var r=n(11504);const a={},i=r.createContext(a);function s(e){const t=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:s(e.components),r.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d28f320b.9cf76f87.js b/assets/js/d28f320b.9cf76f87.js deleted file mode 100644 index d72da7046..000000000 --- a/assets/js/d28f320b.9cf76f87.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[13759],{81389:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>s,default:()=>d,frontMatter:()=>i,metadata:()=>o,toc:()=>p});var r=n(85893),a=n(11151);const i={id:"clearbit",title:"Clearbit"},s=void 0,o={id:"php/filters/integrations/clearbit",title:"Clearbit",description:"Map",source:"@site/forms/php/filters/integrations/clearbit.md",sourceDirName:"php/filters/integrations",slug:"/php/filters/integrations/clearbit",permalink:"/forms/php/filters/integrations/clearbit",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"clearbit",title:"Clearbit"},sidebar:"forms",previous:{title:"Airtable",permalink:"/forms/php/filters/integrations/airtable"},next:{title:"Goodbits",permalink:"/forms/php/filters/integrations/goodbits"}},l={},p=[{value:"Map",id:"map",level:2}];function c(e){const t={code:"code",h2:"h2",p:"p",pre:"pre",...(0,a.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h2,{id:"map",children:"Map"}),"\n",(0,r.jsx)(t.p,{children:"Allows changing how Clearbit fields are mapped. Useful if you want to combine multiple fields, or add new ones."}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-php",children:"\\add_filter('es_forms_integrations_clearbit_map', [$this, 'getClearbitMap']);\n\n/**\n * Change Clearbit integration fields map.\n *\n * Allows changing how Clearbit fields are mapped. Useful if you want to combine multiple fields, or add new ones.\n *\n * @param array $params Default params provided by the forms.\n *\n * @return array<mixed>\n */\npublic function getClearbitMap(array $params): array\n{\n\t$street = $params['company-street-number'] ?? '';\n\t$city = $params['company-city'] ?? '';\n\t$postalCode = $params['company-postal-code'] ?? '';\n\n\t$params['company-location-combined'] = \"{$street} {$city} {$postalCode}\";\n\n\treturn $params;\n}\n"})})]})}function d(e={}){const{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},11151:(e,t,n)=>{n.d(t,{Z:()=>o,a:()=>s});var r=n(67294);const a={},i=r.createContext(a);function s(e){const t=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:s(e.components),r.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d2dc1d28.26eeebca.js b/assets/js/d2dc1d28.26eeebca.js new file mode 100644 index 000000000..54f0e3c40 --- /dev/null +++ b/assets/js/d2dc1d28.26eeebca.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[22584],{93224: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/d2dc1d28.f24d1b39.js b/assets/js/d2dc1d28.f24d1b39.js deleted file mode 100644 index 59371979c..000000000 --- a/assets/js/d2dc1d28.f24d1b39.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[46245],{78e3: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/d3930d00.a6e97bc9.js b/assets/js/d3930d00.a6e97bc9.js new file mode 100644 index 000000000..6a9d76fb1 --- /dev/null +++ b/assets/js/d3930d00.a6e97bc9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[51720],{53124:(o,t,e)=>{e.r(t),e.d(t,{assets:()=>s,contentTitle:()=>a,default:()=>d,frontMatter:()=>r,metadata:()=>c,toc:()=>l});var n=e(17624),i=e(4552);const r={id:"db-location",title:"DB location"},a=void 0,c={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.",source:"@site/forms/php/filters/geolocation/db-location.md",sourceDirName:"php/filters/geolocation",slug:"/php/filters/geolocation/db-location",permalink:"/forms/php/filters/geolocation/db-location",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"db-location",title:"DB location"},sidebar:"forms",previous:{title:"Routes private",permalink:"/forms/php/filters/scripts/routes-private"},next:{title:"Phar location",permalink:"/forms/php/filters/geolocation/phar-location"}},s={},l=[];function p(o){const t={code:"code",p:"p",pre:"pre",...(0,i.M)(),...o.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(t.p,{children:["Geolocation database file (",(0,n.jsx)(t.code,{children:".mmdb"}),") path on your server. Useful if you want to provide your own IP geolocation library."]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"\\add_filter('es_forms_geolocation_db_location', [$this, 'getGeolocationDbLocation']);\n\n/**\n * Provide custom geolocation db location.\n *\n * This filter provides you with the ability to provide custom database location for geolocation.\n *\n * @return string\n */\npublic function getGeolocationDbLocation(): string\n{\n\treturn __DIR__ . \\DIRECTORY_SEPARATOR . 'geoip.mmdb';\n}\n"})})]})}function d(o={}){const{wrapper:t}={...(0,i.M)(),...o.components};return t?(0,n.jsx)(t,{...o,children:(0,n.jsx)(p,{...o})}):p(o)}},4552:(o,t,e)=>{e.d(t,{I:()=>c,M:()=>a});var n=e(11504);const i={},r=n.createContext(i);function a(o){const t=n.useContext(r);return n.useMemo((function(){return"function"==typeof o?o(t):{...t,...o}}),[t,o])}function c(o){let t;return t=o.disableParentContext?"function"==typeof o.components?o.components(i):o.components||i:a(o.components),n.createElement(r.Provider,{value:t},o.children)}}}]); \ No newline at end of file diff --git a/assets/js/d3930d00.c49cface.js b/assets/js/d3930d00.c49cface.js deleted file mode 100644 index bb40a528f..000000000 --- a/assets/js/d3930d00.c49cface.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[13745],{63496:(o,t,e)=>{e.r(t),e.d(t,{assets:()=>s,contentTitle:()=>a,default:()=>d,frontMatter:()=>r,metadata:()=>c,toc:()=>l});var n=e(85893),i=e(11151);const r={id:"db-location",title:"DB location"},a=void 0,c={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.",source:"@site/forms/php/filters/geolocation/db-location.md",sourceDirName:"php/filters/geolocation",slug:"/php/filters/geolocation/db-location",permalink:"/forms/php/filters/geolocation/db-location",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"db-location",title:"DB location"},sidebar:"forms",previous:{title:"Routes private",permalink:"/forms/php/filters/scripts/routes-private"},next:{title:"Phar location",permalink:"/forms/php/filters/geolocation/phar-location"}},s={},l=[];function p(o){const t={code:"code",p:"p",pre:"pre",...(0,i.a)(),...o.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(t.p,{children:["Geolocation database file (",(0,n.jsx)(t.code,{children:".mmdb"}),") path on your server. Useful if you want to provide your own IP geolocation library."]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"\\add_filter('es_forms_geolocation_db_location', [$this, 'getGeolocationDbLocation']);\n\n/**\n * Provide custom geolocation db location.\n *\n * This filter provides you with the ability to provide custom database location for geolocation.\n *\n * @return string\n */\npublic function getGeolocationDbLocation(): string\n{\n\treturn __DIR__ . \\DIRECTORY_SEPARATOR . 'geoip.mmdb';\n}\n"})})]})}function d(o={}){const{wrapper:t}={...(0,i.a)(),...o.components};return t?(0,n.jsx)(t,{...o,children:(0,n.jsx)(p,{...o})}):p(o)}},11151:(o,t,e)=>{e.d(t,{Z:()=>c,a:()=>a});var n=e(67294);const i={},r=n.createContext(i);function a(o){const t=n.useContext(r);return n.useMemo((function(){return"function"==typeof o?o(t):{...t,...o}}),[t,o])}function c(o){let t;return t=o.disableParentContext?"function"==typeof o.components?o.components(i):o.components||i:a(o.components),n.createElement(r.Provider,{value:t},o.children)}}}]); \ No newline at end of file diff --git a/assets/js/d5c4c4ae.3f9f5cee.js b/assets/js/d5c4c4ae.3f9f5cee.js deleted file mode 100644 index ba040bc25..000000000 --- a/assets/js/d5c4c4ae.3f9f5cee.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[22367],{47763:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>d,contentTitle:()=>a,default:()=>u,frontMatter:()=>s,metadata:()=>l,toc:()=>c});var n=i(85893),r=i(11151),o=i(12987);const s={id:"intro",title:"Intro"},a=void 0,l={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.",source:"@site/forms/integrations/intro.mdx",sourceDirName:"integrations",slug:"/integrations/intro",permalink:"/forms/integrations/intro",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"intro",title:"Intro"},sidebar:"forms",previous:{title:"Show As",permalink:"/forms/features/show-as"},next:{title:"ActiveCampaign",permalink:"/forms/integrations/active-campaign"}},d={},c=[{value:"Integration provided form builder",id:"integration-provided-form-builder",level:2},{value:"How to use it?",id:"how-to-use-it",level:3},{value:"What if the form changed on the external service?",id:"what-if-the-form-changed-on-the-external-service",level:3},{value:"Integration not provided form builder",id:"integration-not-provided-form-builder",level:2},{value:"How to use it?",id:"how-to-use-it-1",level:3},{value:"What if the form changed on the external service?",id:"what-if-the-form-changed-on-the-external-service-1",level:3}];function h(e){const t={h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",...(0,r.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:"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."}),"\n",(0,n.jsx)(t.h2,{id:"integration-provided-form-builder",children:"Integration provided form builder"}),"\n",(0,n.jsx)(t.p,{children:"If an external service provides the form builder, you can create your form there and use Eightshift Forms to connect with that form. All important data will be synced with the push of a button. Also, forms allow you to use more advanced features like conditional logic and multi-step forms not provided in any external services."}),"\n",(0,n.jsx)(t.h3,{id:"how-to-use-it",children:"How to use it?"}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsx)(t.li,{children:"Connect the API data."}),"\n",(0,n.jsx)(t.li,{children:"Create a form on the external service."}),"\n",(0,n.jsx)(t.li,{children:"Create a new form in Eightshift Forms and select the external service block used."}),"\n",(0,n.jsx)(t.li,{children:"Select the form you created in step 2 using the forms picker."}),"\n",(0,n.jsx)(t.li,{children:"Click publish, and you are ready to go."}),"\n"]}),"\n",(0,n.jsx)(t.h3,{id:"what-if-the-form-changed-on-the-external-service",children:"What if the form changed on the external service?"}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsx)(t.li,{children:"Open that form on Eightshift Forms."}),"\n",(0,n.jsx)(t.li,{children:"Click the clear cache button to get the latest data from the external service."}),"\n",(0,n.jsx)(t.li,{children:"Click the sync data button to sync the data with the external service."}),"\n",(0,n.jsx)(t.li,{children:"Click publish, and you are ready to go."}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"integration-not-provided-form-builder",children:"Integration not provided form builder"}),"\n",(0,n.jsx)(t.p,{children:"If the external service doesn't provide any form builder or doesn't support API, you can use Eightshift forms to create forms like you would create a simple mailer form and then connect the fields with the external service. This way, you can use all the power of Eightshift Forms to create your forms and then send the data to the external service."}),"\n",(0,n.jsx)(t.h3,{id:"how-to-use-it-1",children:"How to use it?"}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsx)(t.li,{children:"Connect the API data."}),"\n",(0,n.jsx)(t.li,{children:"Create a new form in Eightshift Forms and add all necessary fields."}),"\n",(0,n.jsx)(t.li,{children:"Click publish and open form settings."}),"\n",(0,n.jsx)(t.li,{children:"Fill out needed data in the form settings to map fields to the external service."}),"\n",(0,n.jsx)(t.li,{children:"Click save, and you are ready to go."}),"\n"]}),"\n",(0,n.jsx)(t.h3,{id:"what-if-the-form-changed-on-the-external-service-1",children:"What if the form changed on the external service?"}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsx)(t.li,{children:"As the form is not connected to the external service form builder, there is no way form data can go out of sync."}),"\n"]}),"\n",(0,n.jsx)(o.nk,{type:"forms",video:"integrations"}),"\n",(0,n.jsx)(o.nk,{type:"forms",video:"integrationsSync",useTitle:!1})]})}function u(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(h,{...e})}):h(e)}},12987:(e,t,i)=>{i.d(t,{pE:()=>s,BY:()=>a,nk:()=>o});i(67294);const n=JSON.parse('{"forms":{"playlist":{"video":"https://www.youtube.com/playlist?list=PLFjp6yaGpZJvzqWGi3y9vZ3prra0h5Emx","label":"Eightshift Forms playlist"},"videos":{"intro":{"video":"3jPVuGjh488","label":"Introduction to Eightshift Forms"},"basics":{"video":"4BnTXHviZkI","label":"Getting familiar with Eightshift forms"},"firstForm":{"video":"qcsr7QGFmV4","label":"Step-by-step guide to creating your first form"},"integrations":{"video":"r2KEVIkNt04","label":"Integrating third-party services"},"integrationsSync":{"video":"JyfO328bq08","label":"Syncing your forms with third-party integrations"},"cache":{"video":"gX997f3fUcI","label":"Don\'t be afraid of caching"}}}}');var r=i(85893);function o(e){const{type:t,isPlaylist:i=!1,useTitle:o=!0,title:s="Tutorials",video:a,subtitlePrefix:l=""}=e;let d="",c="";i?(c=n[t].playlist.label,d=n[t].playlist.video):(c=n[t].videos[a].label,d=n[t].videos[a].video),l&&(c=l+" "+c);const h="https://www.youtube.com/embed/"+d;return(0,r.jsxs)(r.Fragment,{children:[o&&(0,r.jsx)("h2",{children:s}),c&&(0,r.jsx)("h3",{children:c}),(0,r.jsx)("iframe",{width:"560",height:"315",src:h,title:"YouTube video player",frameBorder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",allowFullScreen:!0})]})}function s(e){const{type:t}=e;return(0,r.jsx)(r.Fragment,{children:Object.keys(n[t].videos).map(((e,i)=>{const n=String(i+1).padStart(2,"0")+" - ";return(0,r.jsx)(o,{type:t,video:e,useTitle:0===i,subtitlePrefix:n},i)}))})}function a(e){const{type:t,label:i,link:o}=e;let s=null!=i?i:n[t].playlist.label,a=null!=o?o:n[t].playlist.video;return(0,r.jsx)(r.Fragment,{children:(0,r.jsx)("a",{href:a,target:"_blank",rel:"noopener noreferrer",children:s})})}},11151:(e,t,i)=>{i.d(t,{Z:()=>a,a:()=>s});var n=i(67294);const r={},o=n.createContext(r);function s(e){const t=n.useContext(o);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(r):e.components||r:s(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d5c4c4ae.d3003f00.js b/assets/js/d5c4c4ae.d3003f00.js new file mode 100644 index 000000000..3a9031737 --- /dev/null +++ b/assets/js/d5c4c4ae.d3003f00.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[91620],{29388:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>d,contentTitle:()=>a,default:()=>f,frontMatter:()=>s,metadata:()=>l,toc:()=>c});var n=i(17624),r=i(4552),o=i(57848);const s={id:"intro",title:"Intro"},a=void 0,l={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.",source:"@site/forms/integrations/intro.mdx",sourceDirName:"integrations",slug:"/integrations/intro",permalink:"/forms/integrations/intro",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"intro",title:"Intro"},sidebar:"forms",previous:{title:"Show As",permalink:"/forms/features/show-as"},next:{title:"ActiveCampaign",permalink:"/forms/integrations/active-campaign"}},d={},c=[{value:"Integration provided form builder",id:"integration-provided-form-builder",level:2},{value:"How to use it?",id:"how-to-use-it",level:3},{value:"What if the form changed on the external service?",id:"what-if-the-form-changed-on-the-external-service",level:3},{value:"Integration not provided form builder",id:"integration-not-provided-form-builder",level:2},{value:"How to use it?",id:"how-to-use-it-1",level:3},{value:"What if the form changed on the external service?",id:"what-if-the-form-changed-on-the-external-service-1",level:3}];function h(e){const t={h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",...(0,r.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:"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."}),"\n",(0,n.jsx)(t.h2,{id:"integration-provided-form-builder",children:"Integration provided form builder"}),"\n",(0,n.jsx)(t.p,{children:"If an external service provides the form builder, you can create your form there and use Eightshift Forms to connect with that form. All important data will be synced with the push of a button. Also, forms allow you to use more advanced features like conditional logic and multi-step forms not provided in any external services."}),"\n",(0,n.jsx)(t.h3,{id:"how-to-use-it",children:"How to use it?"}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsx)(t.li,{children:"Connect the API data."}),"\n",(0,n.jsx)(t.li,{children:"Create a form on the external service."}),"\n",(0,n.jsx)(t.li,{children:"Create a new form in Eightshift Forms and select the external service block used."}),"\n",(0,n.jsx)(t.li,{children:"Select the form you created in step 2 using the forms picker."}),"\n",(0,n.jsx)(t.li,{children:"Click publish, and you are ready to go."}),"\n"]}),"\n",(0,n.jsx)(t.h3,{id:"what-if-the-form-changed-on-the-external-service",children:"What if the form changed on the external service?"}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsx)(t.li,{children:"Open that form on Eightshift Forms."}),"\n",(0,n.jsx)(t.li,{children:"Click the clear cache button to get the latest data from the external service."}),"\n",(0,n.jsx)(t.li,{children:"Click the sync data button to sync the data with the external service."}),"\n",(0,n.jsx)(t.li,{children:"Click publish, and you are ready to go."}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"integration-not-provided-form-builder",children:"Integration not provided form builder"}),"\n",(0,n.jsx)(t.p,{children:"If the external service doesn't provide any form builder or doesn't support API, you can use Eightshift forms to create forms like you would create a simple mailer form and then connect the fields with the external service. This way, you can use all the power of Eightshift Forms to create your forms and then send the data to the external service."}),"\n",(0,n.jsx)(t.h3,{id:"how-to-use-it-1",children:"How to use it?"}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsx)(t.li,{children:"Connect the API data."}),"\n",(0,n.jsx)(t.li,{children:"Create a new form in Eightshift Forms and add all necessary fields."}),"\n",(0,n.jsx)(t.li,{children:"Click publish and open form settings."}),"\n",(0,n.jsx)(t.li,{children:"Fill out needed data in the form settings to map fields to the external service."}),"\n",(0,n.jsx)(t.li,{children:"Click save, and you are ready to go."}),"\n"]}),"\n",(0,n.jsx)(t.h3,{id:"what-if-the-form-changed-on-the-external-service-1",children:"What if the form changed on the external service?"}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsx)(t.li,{children:"As the form is not connected to the external service form builder, there is no way form data can go out of sync."}),"\n"]}),"\n",(0,n.jsx)(o.E7,{type:"forms",video:"integrations"}),"\n",(0,n.jsx)(o.E7,{type:"forms",video:"integrationsSync",useTitle:!1})]})}function f(e={}){const{wrapper:t}={...(0,r.M)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(h,{...e})}):h(e)}},57848:(e,t,i)=>{i.d(t,{g7:()=>s,gd:()=>a,E7:()=>o});i(11504);const n=JSON.parse('{"forms":{"playlist":{"video":"https://www.youtube.com/playlist?list=PLFjp6yaGpZJvzqWGi3y9vZ3prra0h5Emx","label":"Eightshift Forms playlist"},"videos":{"intro":{"video":"3jPVuGjh488","label":"Introduction to Eightshift Forms"},"basics":{"video":"4BnTXHviZkI","label":"Getting familiar with Eightshift forms"},"firstForm":{"video":"qcsr7QGFmV4","label":"Step-by-step guide to creating your first form"},"integrations":{"video":"r2KEVIkNt04","label":"Integrating third-party services"},"integrationsSync":{"video":"JyfO328bq08","label":"Syncing your forms with third-party integrations"},"cache":{"video":"gX997f3fUcI","label":"Don\'t be afraid of caching"}}}}');var r=i(17624);function o(e){const{type:t,isPlaylist:i=!1,useTitle:o=!0,title:s="Tutorials",video:a,subtitlePrefix:l=""}=e;let d="",c="";i?(c=n[t].playlist.label,d=n[t].playlist.video):(c=n[t].videos[a].label,d=n[t].videos[a].video),l&&(c=`${l} ${c}`);const h=`https://www.youtube.com/embed/${d}`;return(0,r.jsxs)(r.Fragment,{children:[o&&(0,r.jsx)("h2",{children:s}),c&&(0,r.jsx)("h3",{children:c}),(0,r.jsx)("iframe",{width:"560",height:"315",src:h,title:"YouTube video player",frameBorder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",allowFullScreen:!0})]})}function s(e){const{type:t}=e;return(0,r.jsx)(r.Fragment,{children:Object.keys(n[t].videos).map(((e,i)=>{const n=`${String(i+1).padStart(2,"0")} - `;return(0,r.jsx)(o,{type:t,video:e,useTitle:0===i,subtitlePrefix:n},i)}))})}function a(e){const{type:t,label:i,link:o}=e;let s=i??n[t].playlist.label,a=o??n[t].playlist.video;return(0,r.jsx)(r.Fragment,{children:(0,r.jsx)("a",{href:a,target:"_blank",rel:"noopener noreferrer",children:s})})}},4552:(e,t,i)=>{i.d(t,{I:()=>a,M:()=>s});var n=i(11504);const r={},o=n.createContext(r);function s(e){const t=n.useContext(o);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(r):e.components||r:s(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d5f39101.6da9fa81.js b/assets/js/d5f39101.6da9fa81.js deleted file mode 100644 index 33d438267..000000000 --- a/assets/js/d5f39101.6da9fa81.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[59350],{85089:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>o,contentTitle:()=>i,default:()=>c,frontMatter:()=>s,metadata:()=>l,toc:()=>p});var a=n(85893),r=n(11151);const s={id:"blocks-styles",title:"Styles",sidebar_label:"Styles"},i=void 0,l={id:"legacy/v5/basics/blocks-styles",title:"Styles",description:"docs-source",source:"@site/docs/legacy/v5/basics/blocks-styles.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/blocks-styles",permalink:"/docs/legacy/v5/basics/blocks-styles",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-styles",title:"Styles",sidebar_label:"Styles"},sidebar:"docs",previous:{title:"Reusable Blocks",permalink:"/docs/legacy/v5/basics/blocks-reusable"},next:{title:"Storybook",permalink:"/docs/legacy/v5/basics/blocks-storybook"}},o={},p=[{value:"Setup",id:"setup",level:2},{value:"Details",id:"details",level:2},{value:"Global variables",id:"global-variables",level:2},{value:"Variables",id:"variables",level:2},{value:"Default type",id:"default-type",level:2},{value:"Value type",id:"value-type",level:2},{value:"Editor variables",id:"editor-variables",level:2},{value:"Manual variables",id:"manual-variables",level:2},{value:"Manual variables inside the Block editor",id:"manual-variables-inside-the-block-editor",level:2},{value:"Additional options and examples",id:"additional-options-and-examples",level:2},{value:"Color",id:"color",level:3},{value:"Responsive",id:"responsive",level:3},{value:"Responsive Inverse",id:"responsive-inverse",level:3},{value:"Attribute value replacement",id:"attribute-value-replacement",level:3},{value:"Responsive variables",id:"responsive-variables",level:2}];function d(t){const e={a:"a",blockquote:"blockquote",code:"code",em:"em",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",strong:"strong",...(0,r.a)(),...t.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(e.p,{children:(0,a.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/",children:(0,a.jsx)(e.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,a.jsx)(e.p,{children:"We decided to remove all support for IE 11. That decision opened up doors that lead to new, awesome features and all the cool stuff. One of those features is CSS variables with block manifest and global settings."}),"\n",(0,a.jsx)(e.p,{children:"Let's dig into the implementation of CSS variables in your project."}),"\n",(0,a.jsx)(e.h2,{id:"setup",children:"Setup"}),"\n",(0,a.jsxs)(e.p,{children:["To be able to use CSS variables you need to implement two helpers in your blocks/components: ",(0,a.jsx)(e.code,{children:"outputCssVariables"})," and ",(0,a.jsx)(e.code,{children:"getUnique"}),". For more details on these helpers, you can read ",(0,a.jsx)(e.a,{href:"helpers-javascript#outputcssvariables",children:"here"}),"."]}),"\n",(0,a.jsx)(e.p,{children:"There are a few differences between the JavaScript and PHP implementation due to a way React handles component re-rendering."}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"typography-editor.js"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-js",children:"import React, { useMemo } from 'react';\nimport { outputCssVariables, getUnique } from '@eightshift/frontend-libs/scripts/editor';\nimport manifest from '../manifest.json';\nimport globalManifest from './../../../manifest.json';\n\nexport const TypographyEditor = (attributes) => {\n\n\t// We need to use memo in order to optimise component re-rendering.\n\tconst unique = useMemo(() => getUnique(), []);\n\n\treturn (\n\t\t<>\n\t\t\t{outputCssVariables(attributes, manifest, unique, globalManifest)}\n\n\t\t\t<div data-id={unique}>\n\t\t\t\t{/*Regular component implementation*/}\n\t\t\t</div>\n\t\t</>\n\t);\n};\n"})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"typography.php"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-php",children:'/**\n * Template for the Typography Component.\n *\n * @package Eightshift_Boilerplate\n */\n\nuse EightshiftLibs\\Helpers\\Components;\n\n$globalManifest = Components::getManifest(dirname(__DIR__, 2));\n$manifest = Components::getManifest(__DIR__);\n\n$unique = Components::getUnique();\necho Components::outputCssVariables($attributes, $manifest, $unique, $globalManifest); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped\n\n?>\n\n<div data-id="<?php echo esc_attr($unique); ?>">\n\t// Regular component implementation\n</div>\n'})}),"\n",(0,a.jsx)(e.p,{children:"Now that we have helpers in place, let's see how they work and what features they offer."}),"\n",(0,a.jsx)(e.h2,{id:"details",children:"Details"}),"\n",(0,a.jsxs)(e.p,{children:["CSS variables helper consists of 2 helpers. ",(0,a.jsx)(e.code,{children:"outputCssVariables"})," helper will output all CSS variables set in your blocks/component manifest and ",(0,a.jsx)(e.code,{children:"getUnique"})," helper will make sure that variables are applied only to the exact block/component."]}),"\n",(0,a.jsx)(e.p,{children:"If you check your rendered website you can see that you have something like this:"}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-html",children:'<style>\n\t.typography[data-id=\'210c9bbf733ef5c6aa74c49168ac29a7\'] {\n\t\t--typography-color: var(--global-colors-black);\n\t\t--typography-content-align: left;\n\t}\n</style>\n\n<div class="typography" data-id="210c9bbf733ef5c6aa74c49168ac29a7">...</div>\n'})}),"\n",(0,a.jsx)(e.p,{children:"This is all that's required for the magic of CSS variables to work! Now let's see it in action and check out all additional features you can use."}),"\n",(0,a.jsx)(e.h2,{id:"global-variables",children:"Global variables"}),"\n",(0,a.jsxs)(e.p,{children:["Now that we know how CSS variables are generated, we have one more helper to describe.\nThe ",(0,a.jsx)(e.code,{children:"outputCssVariablesGlobal(globalSettings);"})," helper is called in the ",(0,a.jsx)(e.code,{children:"application-blocks-editor.js"})," file. It is used to output all CSS variables from the global manifest under the ",(0,a.jsx)(e.code,{children:"globalVariables"})," key, into the ",(0,a.jsx)(e.code,{children:":root"})," selector."]}),"\n",(0,a.jsxs)(e.blockquote,{children:["\n",(0,a.jsx)(e.p,{children:"All of these variables are available to use inside your blocks/components."}),"\n"]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Global Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"namespace": "eightshift-boilerplate",\n\t"background": "#D8262C",\n\t"foreground": "#FFFFFF",\n\t"globalVariables": {\n\t\t"customBlocksName": "eightshift-block",\n\t\t"maxCols": 12,\n\t\t"breakpoints": {\n\t\t\t"mobile": 479,\n\t\t\t"tablet": 1279,\n\t\t\t"desktop": 1919,\n\t\t\t"large": 1920\n\t\t},\n\t\t"containers": {\n\t\t\t"default": "1330px"\n\t\t},\n\t\t"gutters": {\n\t\t\t"none": "0",\n\t\t\t"default": "25px",\n\t\t\t"big": "50px"\n\t\t},\n\t\t"sectionSpacing": {\n\t\t\t"min": -300,\n\t\t\t"max": 300,\n\t\t\t"step": 10\n\t\t},\n\t\t"sectionInSpacing": {\n\t\t\t"min": 0,\n\t\t\t"max": 300,\n\t\t\t"step": 10\n\t\t},\n\t\t"colors": [\n\t\t\t{\n\t\t\t\t"name": "Black",\n\t\t\t\t"slug": "black",\n\t\t\t\t"color": "#111111"\n\t\t\t},\n\t\t\t{\n\t\t\t\t"name": "White",\n\t\t\t\t"slug": "white",\n\t\t\t\t"color": "#FFFFFF"\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-html",children:"<style>\n\t:root {\n\t\t--global-custom-blocks-name: eightshift-block;\n\t\t--global-max-cols: 12;\n\t\t--global-breakpoints-mobile: 479;\n\t\t--global-breakpoints-tablet: 1279;\n\t\t--global-breakpoints-desktop: 1919;\n\t\t--global-breakpoints-large: 1920;\n\t\t--global-containers-default: 1330px;\n\t\t--global-gutters-none: 0;\n\t\t--global-gutters-default: 25px;\n\t\t--global-gutters-big: 50px;\n\t\t--global-section-spacing-min: -300;\n\t\t--global-section-spacing-max: 300;\n\t\t--global-section-spacing-step: 10;\n\t\t--global-section-in-spacing-min: 0;\n\t\t--global-section-in-spacing-max: 300;\n\t\t--global-section-in-spacing-step: 10;\n\t\t--global-colors-black: #111111;\n\t\t--global-colors-white: #FFFFFF;\n\t}\n</style>\n"})}),"\n",(0,a.jsx)(e.p,{children:"You can use a global variable like any other CSS variable:"}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"color: var(--global-colors-white);\n"})}),"\n",(0,a.jsx)(e.h2,{id:"variables",children:"Variables"}),"\n",(0,a.jsx)(e.p,{children:"As we said in the beginning, all CSS variables are defined within the block/component manifest."}),"\n",(0,a.jsxs)(e.p,{children:["To output an attribute as a CSS variable, you need to set the ",(0,a.jsx)(e.code,{children:"variables"})," key in the block/component ",(0,a.jsx)(e.code,{children:"manifest"})," and define the variable markdown."]}),"\n",(0,a.jsx)(e.p,{children:"All css variables are prepared and ready to be used in the responsive manner."}),"\n",(0,a.jsx)(e.h2,{id:"default-type",children:"Default type"}),"\n",(0,a.jsxs)(e.p,{children:["Variable ",(0,a.jsx)(e.code,{children:"default"})," will output all variables from the list no matter what you have selected in the attribute. You can use unlimited variables."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographySize": {\n\t\t\t"type": "string",\n\t\t\t"default": "120-default"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographySize": [\n\t\t\t{\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "120px",\n\t\t\t\t\t"typography-line-height": "calc(var(--typography-size) * 1.2)"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--typography-size: 120px;\n--typography-line-height: 144px;\n"})}),"\n",(0,a.jsx)(e.h2,{id:"value-type",children:"Value type"}),"\n",(0,a.jsxs)(e.p,{children:["Variable ",(0,a.jsx)(e.code,{children:"value"})," will output all variables depending on attributes value. Everything else is the same as in the default type."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographySize": {\n\t\t\t"type": "string",\n\t\t\t"default": "120-default"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographySize": {\n\t\t\t"120-default": [\n\t\t\t\t{\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"typography-size": "120px",\n\t\t\t\t\t\t"typography-line-height": "calc(var(--typography-size) * 1.2)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--typography-size: 120px;\n--typography-line-height: 144px;\n"})}),"\n",(0,a.jsx)(e.h2,{id:"editor-variables",children:"Editor variables"}),"\n",(0,a.jsxs)(e.p,{children:["Editor variables behave just like regular ",(0,a.jsx)(e.code,{children:"variables"}),", except they are output only inside the Block Editor.\nThey are mostly used for overriding specific behaviour, e.g. showing a hidden element as half-transparent instead of hiding it completely."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentName": "wrapper",\n\t"title": "Wrapper",\n\t"componentClass": "wrapper",\n\t"attributes": {\n\t\t"wrapperHide": {\n\t\t\t"type": "boolean",\n\t\t\t"default": false\n\t\t}\n\t},\n\t"variables": {\n\t\t"wrapperHide": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t}\n\t},\n\t"variablesEditor": {\n\t\t"wrapperHide": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display-opacity": "0.5",\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--wrapper-display: none;\n--wrapper-display-opacity: 0.5;\n--wrapper-display: var(--wrapper-display-type, grid);\n"})}),"\n",(0,a.jsx)(e.h2,{id:"manual-variables",children:"Manual variables"}),"\n",(0,a.jsxs)(e.p,{children:["Custom CSS variables can be generated and output independently from all the attributes through the ",(0,a.jsx)(e.code,{children:"variablesCustom"})," key. Add it inside the manifest (top level) and add each variable as an array item.\nManual variables will be added at the end of the output."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"attributes": {\n\t\t// ...\n\t},\n\t"variablesCustom": [\n\t\t"--variable1: test1",\n\t\t"--variable2: test2",\n\t\t"--variable3: test3"\n\t]\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--variable1: test1;\n--variable2: test2;\n--variable3: test3;\n"})}),"\n",(0,a.jsx)(e.h2,{id:"manual-variables-inside-the-block-editor",children:"Manual variables inside the Block editor"}),"\n",(0,a.jsxs)(e.p,{children:["If you want to add manual variables that only apply inside the Block editor you can use the ",(0,a.jsx)(e.code,{children:"variablesCustomEditor"})," key. Everything works the same as described in the ",(0,a.jsx)(e.em,{children:"Manual variables"})," section.\nIf you define both ",(0,a.jsx)(e.code,{children:"variablesCustomEditor"})," and ",(0,a.jsx)(e.code,{children:"variables"}),", both will be output in the editor, but only ",(0,a.jsx)(e.code,{children:"variables"})," will be output on the frontend."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"attributes": {\n\t\t// ...\n\t},\n\t"variablesCustomEditor": [\n\t\t"--variable1: test1",\n\t\t"--variable2: test2",\n\t\t"--variable3: test3"\n\t]\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--variable1: test1;\n--variable2: test2;\n--variable3: test3;\n"})}),"\n",(0,a.jsx)(e.h2,{id:"additional-options-and-examples",children:"Additional options and examples"}),"\n",(0,a.jsx)(e.h3,{id:"color",children:"Color"}),"\n",(0,a.jsx)(e.p,{children:"Here is an example how to output global variable as a css variable."}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographyColor": {\n\t\t\t"type": "string",\n\t\t\t"default": "white"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographyColor": [\n\t\t\t{\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-color": "var(--global-colors-white)"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--typography-color: var(--global-colors-white);\n"})}),"\n",(0,a.jsx)(e.h3,{id:"responsive",children:"Responsive"}),"\n",(0,a.jsx)(e.p,{children:"All variables are prepared to be responsive. If you set multiple keys in the manifest list that variable will be outputted in the correct media query. Breakpoints are taken from the global manifest and the order of the output breakpoints."}),"\n",(0,a.jsxs)(e.blockquote,{children:["\n",(0,a.jsx)(e.p,{children:"Global breakpoints must follow the convention from the smallest size to the largest."}),"\n"]}),"\n",(0,a.jsx)(e.p,{children:"If you don't specify breakpoint key, that item will not be wrapped in the media query."}),"\n",(0,a.jsx)(e.p,{children:"If you write breakpoint that isn't defined in the global manifest, that condition will be ignored."}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographySize": {\n\t\t\t"type": "string",\n\t\t\t"default": "120-default"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographySize": [\n\t\t\t{\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "30px"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t"breakpoint": "tablet",\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "80px"\n\t\t\t\t}\n\t\t\t}\n\t\t\t{\n\t\t\t\t"breakpoint": "large",\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "120px"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:".typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t--typography-size: 30px;\n}\n\n@media(min-width: 1279px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 80px;\n\t}\n}\n\n@media(min-width: 1920px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 120px;\n\t}\n}\n"})}),"\n",(0,a.jsx)(e.h3,{id:"responsive-inverse",children:"Responsive Inverse"}),"\n",(0,a.jsxs)(e.p,{children:["By default, we use mobile first approach but if you need desktop first you can use ",(0,a.jsx)(e.code,{children:"inverse: true"})," key."]}),"\n",(0,a.jsxs)(e.blockquote,{children:["\n",(0,a.jsx)(e.p,{children:"If you have multiple mobile/desktop first breakpoints, output will sort them mobile first and then desktop first after that."}),"\n"]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographySize": {\n\t\t\t"type": "string",\n\t\t\t"default": "120-default"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographySize": [\n\t\t\t{\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "120px"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t"breakpoint": "tablet",\n\t\t\t\t"inverse": true,\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "80px"\n\t\t\t\t}\n\t\t\t}\n\t\t\t{\n\t\t\t\t"breakpoint": "mobile",\n\t\t\t\t"inverse": true,\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "320px"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:".typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t--typography-size: 120px;\n}\n\n@media(max-width: 1279px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 80px;\n\t}\n}\n\n@media(max-width: 479px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 30px;\n\t}\n}\n"})}),"\n",(0,a.jsx)(e.h3,{id:"attribute-value-replacement",children:"Attribute value replacement"}),"\n",(0,a.jsxs)(e.p,{children:["Attribute value replacement variable is used to return the attribute value where you want it in the css variables. To use it just put ",(0,a.jsx)(e.code,{children:"%value%"})," in you css variables."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographySize": {\n\t\t\t"type": "string",\n\t\t\t"default": "120"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographySize": [\n\t\t\t{\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "30px"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t"breakpoint": "tablet",\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "80px"\n\t\t\t\t}\n\t\t\t}\n\t\t\t{\n\t\t\t\t"breakpoint": "large",\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "%value%px"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:".typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t--typography-size: 30px;\n}\n\n@media(min-width: 1279px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 80px;\n\t}\n}\n\n@media(min-width: 1920px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 120px;\n\t}\n}\n"})}),"\n",(0,a.jsx)(e.h2,{id:"responsive-variables",children:"Responsive variables"}),"\n",(0,a.jsxs)(e.p,{children:["Responsive variables are used for eliminating unnecessary code duplication. For example, if you have 4 separate attributes used for setting a responsive variable where all the attributes have the same output (e.g. ",(0,a.jsx)(e.code,{children:"%value%"}),"), the variables can get cluttered rather quickly."]}),"\n",(0,a.jsxs)(e.p,{children:["In a top-level manifest key ",(0,a.jsx)(e.code,{children:"responsiveAttributes"}),", you can place a new key (e.g. ",(0,a.jsx)(e.code,{children:"wrapperHide"}),") that represents a common key for your responsive variables. Inside of it, you can list your responsive variables (e.g. ",(0,a.jsx)(e.code,{children:"wrapperHideLarge"}),", ",(0,a.jsx)(e.code,{children:"wrapperHideDesktop"}),", ",(0,a.jsx)(e.code,{children:"wrapperHideTablet"}),", ",(0,a.jsx)(e.code,{children:"wrapperHideMobile"}),") as a key-value pair. The key represents a breakpoint name, and the value represents responsive variable(",(0,a.jsx)(e.code,{children:"breakpoint"}),": ",(0,a.jsx)(e.code,{children:"responsiveVariableName"}),"). Afterwards, you can add that common key inside the ",(0,a.jsx)(e.code,{children:"variables"})," (and/or ",(0,a.jsx)(e.code,{children:"variablesEditor"}),") key and configure the output template."]}),"\n",(0,a.jsxs)(e.p,{children:["Best practice is to have the attributes named consistently with your breakpoints - in the ",(0,a.jsx)(e.em,{children:(0,a.jsx)(e.code,{children:"variableName``breakpointName"})})," format (see example below)."]}),"\n",(0,a.jsxs)(e.p,{children:[(0,a.jsx)(e.strong,{children:"Note"}),": If you need an extra variable, or are overriding some of the auto-generated variables (from the helper), the variables will be output after the responsive variables. (see ",(0,a.jsx)(e.em,{children:"Example 2"}),")\n",(0,a.jsx)(e.strong,{children:"Note 2:"})," Order of responsive attributes is important since generating variables relies on that order. Make sure to use the ",(0,a.jsx)(e.code,{children:"inverse"})," option properly."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Example 1"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentName": "wrapper",\n\t"title": "Wrapper",\n\t"componentClass": "wrapper",\n\t"attributes": {\n\t\t"wrapperHideLarge": {\n\t\t\t"type": "boolean",\n\t\t\t"default": false\n\t\t},\n\t\t"wrapperHideDesktop": {\n\t\t\t"type": "boolean"\n\t\t},\n\t\t"wrapperHideTablet": {\n\t\t\t"type": "boolean"\n\t\t}\n\t},\n\t"responsiveAttributes": {\n\t\t"wrapperHide": {\n\t\t\t"large": "wrapperHideLarge",\n\t\t\t"desktop": "wrapperHideDesktop",\n\t\t\t"tablet": "wrapperHideTablet"\n\t\t}\n\t},\n\t"variables": {\n\t\t"wrapperHide": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t\t"false": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Transformed:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentName": "wrapper",\n\t"title": "Wrapper",\n\t"componentClass": "wrapper",\n\t"attributes": {\n\t\t"wrapperHide": {\n\t\t\t"type": "boolean",\n\t\t\t"default": false\n\t\t}\n\t},\n\t"responsiveAttributes": {\n\t\t"wrapperHideLarge": {\n\t\t\t"type": "boolean",\n\t\t\t"default": false\n\t\t},\n\t\t"wrapperHideDesktop": {\n\t\t\t"type": "boolean"\n\t\t},\n\t\t"wrapperHideTablet": {\n\t\t\t"type": "boolean"\n\t\t}\n\t},\n\t"variables": {\n\t\t"wrapperHideLarge": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t\t"false": [\n\t\t\t\t{\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t"wrapperHideDesktop": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"breakpoint": "desktop",\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t\t"false": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"breakpoint": "desktop",\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t"wrapperHideTablet": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"breakpoint": "desktop",\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t\t"false": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"breakpoint": "desktop",\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:".wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t--wrapper-display: var(--wrapper-display-type, grid);\n}\n@media(max-width: 1920px) {\n\t.wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--wrapper-display: none;\n\t}\n}\n@media(max-width: 1279px) {\n\t.wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--wrapper-display: var(--wrapper-display-type, grid);\n\t}\n}\n\n"})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Example 2"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentName": "wrapper",\n\t"title": "Wrapper",\n\t"componentClass": "wrapper",\n\t"attributes": {\n\t\t"wrapperHideLarge": {\n\t\t\t"type": "boolean",\n\t\t\t"default": false\n\t\t},\n\t\t"wrapperHideDesktop": {\n\t\t\t"type": "boolean"\n\t\t},\n\t\t"wrapperHideTablet": {\n\t\t\t"type": "boolean"\n\t\t}\n\t},\n\t"responsiveAttributes": {\n\t\t"wrapperHide": {\n\t\t\t"large": "wrapperHideLarge",\n\t\t\t"desktop": "wrapperHideDesktop",\n\t\t\t"tablet": "wrapperHideTablet"\n\t\t}\n\t},\n\t"variables": {\n\t\t"wrapperHide": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t\t"false": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t"wrapperHideLarge": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "block",\n\t\t\t\t\t\t"wrapper-opacity": 0\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t}\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:".wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t--wrapper-display: none;\n\t--wrapper-display: block;\n\t--wrapper-opacity: 0;\n}\n"})})]})}function c(t={}){const{wrapper:e}={...(0,r.a)(),...t.components};return e?(0,a.jsx)(e,{...t,children:(0,a.jsx)(d,{...t})}):d(t)}},11151:(t,e,n)=>{n.d(e,{Z:()=>l,a:()=>i});var a=n(67294);const r={},s=a.createContext(r);function i(t){const e=a.useContext(s);return a.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(r):t.components||r:i(t.components),a.createElement(s.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/d5f39101.fe4540dd.js b/assets/js/d5f39101.fe4540dd.js new file mode 100644 index 000000000..b8f9f139b --- /dev/null +++ b/assets/js/d5f39101.fe4540dd.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[20952],{23236:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>o,contentTitle:()=>i,default:()=>c,frontMatter:()=>s,metadata:()=>l,toc:()=>p});var a=n(17624),r=n(4552);const s={id:"blocks-styles",title:"Styles",sidebar_label:"Styles"},i=void 0,l={id:"legacy/v5/basics/blocks-styles",title:"Styles",description:"docs-source",source:"@site/docs/legacy/v5/basics/blocks-styles.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/blocks-styles",permalink:"/docs/legacy/v5/basics/blocks-styles",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-styles",title:"Styles",sidebar_label:"Styles"},sidebar:"docs",previous:{title:"Reusable Blocks",permalink:"/docs/legacy/v5/basics/blocks-reusable"},next:{title:"Storybook",permalink:"/docs/legacy/v5/basics/blocks-storybook"}},o={},p=[{value:"Setup",id:"setup",level:2},{value:"Details",id:"details",level:2},{value:"Global variables",id:"global-variables",level:2},{value:"Variables",id:"variables",level:2},{value:"Default type",id:"default-type",level:2},{value:"Value type",id:"value-type",level:2},{value:"Editor variables",id:"editor-variables",level:2},{value:"Manual variables",id:"manual-variables",level:2},{value:"Manual variables inside the Block editor",id:"manual-variables-inside-the-block-editor",level:2},{value:"Additional options and examples",id:"additional-options-and-examples",level:2},{value:"Color",id:"color",level:3},{value:"Responsive",id:"responsive",level:3},{value:"Responsive Inverse",id:"responsive-inverse",level:3},{value:"Attribute value replacement",id:"attribute-value-replacement",level:3},{value:"Responsive variables",id:"responsive-variables",level:2}];function d(t){const e={a:"a",blockquote:"blockquote",code:"code",em:"em",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",strong:"strong",...(0,r.M)(),...t.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(e.p,{children:(0,a.jsx)(e.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/",children:(0,a.jsx)(e.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,a.jsx)(e.p,{children:"We decided to remove all support for IE 11. That decision opened up doors that lead to new, awesome features and all the cool stuff. One of those features is CSS variables with block manifest and global settings."}),"\n",(0,a.jsx)(e.p,{children:"Let's dig into the implementation of CSS variables in your project."}),"\n",(0,a.jsx)(e.h2,{id:"setup",children:"Setup"}),"\n",(0,a.jsxs)(e.p,{children:["To be able to use CSS variables you need to implement two helpers in your blocks/components: ",(0,a.jsx)(e.code,{children:"outputCssVariables"})," and ",(0,a.jsx)(e.code,{children:"getUnique"}),". For more details on these helpers, you can read ",(0,a.jsx)(e.a,{href:"helpers-javascript#outputcssvariables",children:"here"}),"."]}),"\n",(0,a.jsx)(e.p,{children:"There are a few differences between the JavaScript and PHP implementation due to a way React handles component re-rendering."}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"typography-editor.js"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-js",children:"import React, { useMemo } from 'react';\nimport { outputCssVariables, getUnique } from '@eightshift/frontend-libs/scripts/editor';\nimport manifest from '../manifest.json';\nimport globalManifest from './../../../manifest.json';\n\nexport const TypographyEditor = (attributes) => {\n\n\t// We need to use memo in order to optimise component re-rendering.\n\tconst unique = useMemo(() => getUnique(), []);\n\n\treturn (\n\t\t<>\n\t\t\t{outputCssVariables(attributes, manifest, unique, globalManifest)}\n\n\t\t\t<div data-id={unique}>\n\t\t\t\t{/*Regular component implementation*/}\n\t\t\t</div>\n\t\t</>\n\t);\n};\n"})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"typography.php"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-php",children:'/**\n * Template for the Typography Component.\n *\n * @package Eightshift_Boilerplate\n */\n\nuse EightshiftLibs\\Helpers\\Components;\n\n$globalManifest = Components::getManifest(dirname(__DIR__, 2));\n$manifest = Components::getManifest(__DIR__);\n\n$unique = Components::getUnique();\necho Components::outputCssVariables($attributes, $manifest, $unique, $globalManifest); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped\n\n?>\n\n<div data-id="<?php echo esc_attr($unique); ?>">\n\t// Regular component implementation\n</div>\n'})}),"\n",(0,a.jsx)(e.p,{children:"Now that we have helpers in place, let's see how they work and what features they offer."}),"\n",(0,a.jsx)(e.h2,{id:"details",children:"Details"}),"\n",(0,a.jsxs)(e.p,{children:["CSS variables helper consists of 2 helpers. ",(0,a.jsx)(e.code,{children:"outputCssVariables"})," helper will output all CSS variables set in your blocks/component manifest and ",(0,a.jsx)(e.code,{children:"getUnique"})," helper will make sure that variables are applied only to the exact block/component."]}),"\n",(0,a.jsx)(e.p,{children:"If you check your rendered website you can see that you have something like this:"}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-html",children:'<style>\n\t.typography[data-id=\'210c9bbf733ef5c6aa74c49168ac29a7\'] {\n\t\t--typography-color: var(--global-colors-black);\n\t\t--typography-content-align: left;\n\t}\n</style>\n\n<div class="typography" data-id="210c9bbf733ef5c6aa74c49168ac29a7">...</div>\n'})}),"\n",(0,a.jsx)(e.p,{children:"This is all that's required for the magic of CSS variables to work! Now let's see it in action and check out all additional features you can use."}),"\n",(0,a.jsx)(e.h2,{id:"global-variables",children:"Global variables"}),"\n",(0,a.jsxs)(e.p,{children:["Now that we know how CSS variables are generated, we have one more helper to describe.\nThe ",(0,a.jsx)(e.code,{children:"outputCssVariablesGlobal(globalSettings);"})," helper is called in the ",(0,a.jsx)(e.code,{children:"application-blocks-editor.js"})," file. It is used to output all CSS variables from the global manifest under the ",(0,a.jsx)(e.code,{children:"globalVariables"})," key, into the ",(0,a.jsx)(e.code,{children:":root"})," selector."]}),"\n",(0,a.jsxs)(e.blockquote,{children:["\n",(0,a.jsx)(e.p,{children:"All of these variables are available to use inside your blocks/components."}),"\n"]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Global Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"namespace": "eightshift-boilerplate",\n\t"background": "#D8262C",\n\t"foreground": "#FFFFFF",\n\t"globalVariables": {\n\t\t"customBlocksName": "eightshift-block",\n\t\t"maxCols": 12,\n\t\t"breakpoints": {\n\t\t\t"mobile": 479,\n\t\t\t"tablet": 1279,\n\t\t\t"desktop": 1919,\n\t\t\t"large": 1920\n\t\t},\n\t\t"containers": {\n\t\t\t"default": "1330px"\n\t\t},\n\t\t"gutters": {\n\t\t\t"none": "0",\n\t\t\t"default": "25px",\n\t\t\t"big": "50px"\n\t\t},\n\t\t"sectionSpacing": {\n\t\t\t"min": -300,\n\t\t\t"max": 300,\n\t\t\t"step": 10\n\t\t},\n\t\t"sectionInSpacing": {\n\t\t\t"min": 0,\n\t\t\t"max": 300,\n\t\t\t"step": 10\n\t\t},\n\t\t"colors": [\n\t\t\t{\n\t\t\t\t"name": "Black",\n\t\t\t\t"slug": "black",\n\t\t\t\t"color": "#111111"\n\t\t\t},\n\t\t\t{\n\t\t\t\t"name": "White",\n\t\t\t\t"slug": "white",\n\t\t\t\t"color": "#FFFFFF"\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-html",children:"<style>\n\t:root {\n\t\t--global-custom-blocks-name: eightshift-block;\n\t\t--global-max-cols: 12;\n\t\t--global-breakpoints-mobile: 479;\n\t\t--global-breakpoints-tablet: 1279;\n\t\t--global-breakpoints-desktop: 1919;\n\t\t--global-breakpoints-large: 1920;\n\t\t--global-containers-default: 1330px;\n\t\t--global-gutters-none: 0;\n\t\t--global-gutters-default: 25px;\n\t\t--global-gutters-big: 50px;\n\t\t--global-section-spacing-min: -300;\n\t\t--global-section-spacing-max: 300;\n\t\t--global-section-spacing-step: 10;\n\t\t--global-section-in-spacing-min: 0;\n\t\t--global-section-in-spacing-max: 300;\n\t\t--global-section-in-spacing-step: 10;\n\t\t--global-colors-black: #111111;\n\t\t--global-colors-white: #FFFFFF;\n\t}\n</style>\n"})}),"\n",(0,a.jsx)(e.p,{children:"You can use a global variable like any other CSS variable:"}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"color: var(--global-colors-white);\n"})}),"\n",(0,a.jsx)(e.h2,{id:"variables",children:"Variables"}),"\n",(0,a.jsx)(e.p,{children:"As we said in the beginning, all CSS variables are defined within the block/component manifest."}),"\n",(0,a.jsxs)(e.p,{children:["To output an attribute as a CSS variable, you need to set the ",(0,a.jsx)(e.code,{children:"variables"})," key in the block/component ",(0,a.jsx)(e.code,{children:"manifest"})," and define the variable markdown."]}),"\n",(0,a.jsx)(e.p,{children:"All css variables are prepared and ready to be used in the responsive manner."}),"\n",(0,a.jsx)(e.h2,{id:"default-type",children:"Default type"}),"\n",(0,a.jsxs)(e.p,{children:["Variable ",(0,a.jsx)(e.code,{children:"default"})," will output all variables from the list no matter what you have selected in the attribute. You can use unlimited variables."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographySize": {\n\t\t\t"type": "string",\n\t\t\t"default": "120-default"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographySize": [\n\t\t\t{\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "120px",\n\t\t\t\t\t"typography-line-height": "calc(var(--typography-size) * 1.2)"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--typography-size: 120px;\n--typography-line-height: 144px;\n"})}),"\n",(0,a.jsx)(e.h2,{id:"value-type",children:"Value type"}),"\n",(0,a.jsxs)(e.p,{children:["Variable ",(0,a.jsx)(e.code,{children:"value"})," will output all variables depending on attributes value. Everything else is the same as in the default type."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographySize": {\n\t\t\t"type": "string",\n\t\t\t"default": "120-default"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographySize": {\n\t\t\t"120-default": [\n\t\t\t\t{\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"typography-size": "120px",\n\t\t\t\t\t\t"typography-line-height": "calc(var(--typography-size) * 1.2)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--typography-size: 120px;\n--typography-line-height: 144px;\n"})}),"\n",(0,a.jsx)(e.h2,{id:"editor-variables",children:"Editor variables"}),"\n",(0,a.jsxs)(e.p,{children:["Editor variables behave just like regular ",(0,a.jsx)(e.code,{children:"variables"}),", except they are output only inside the Block Editor.\nThey are mostly used for overriding specific behaviour, e.g. showing a hidden element as half-transparent instead of hiding it completely."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentName": "wrapper",\n\t"title": "Wrapper",\n\t"componentClass": "wrapper",\n\t"attributes": {\n\t\t"wrapperHide": {\n\t\t\t"type": "boolean",\n\t\t\t"default": false\n\t\t}\n\t},\n\t"variables": {\n\t\t"wrapperHide": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t}\n\t},\n\t"variablesEditor": {\n\t\t"wrapperHide": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display-opacity": "0.5",\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--wrapper-display: none;\n--wrapper-display-opacity: 0.5;\n--wrapper-display: var(--wrapper-display-type, grid);\n"})}),"\n",(0,a.jsx)(e.h2,{id:"manual-variables",children:"Manual variables"}),"\n",(0,a.jsxs)(e.p,{children:["Custom CSS variables can be generated and output independently from all the attributes through the ",(0,a.jsx)(e.code,{children:"variablesCustom"})," key. Add it inside the manifest (top level) and add each variable as an array item.\nManual variables will be added at the end of the output."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"attributes": {\n\t\t// ...\n\t},\n\t"variablesCustom": [\n\t\t"--variable1: test1",\n\t\t"--variable2: test2",\n\t\t"--variable3: test3"\n\t]\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--variable1: test1;\n--variable2: test2;\n--variable3: test3;\n"})}),"\n",(0,a.jsx)(e.h2,{id:"manual-variables-inside-the-block-editor",children:"Manual variables inside the Block editor"}),"\n",(0,a.jsxs)(e.p,{children:["If you want to add manual variables that only apply inside the Block editor you can use the ",(0,a.jsx)(e.code,{children:"variablesCustomEditor"})," key. Everything works the same as described in the ",(0,a.jsx)(e.em,{children:"Manual variables"})," section.\nIf you define both ",(0,a.jsx)(e.code,{children:"variablesCustomEditor"})," and ",(0,a.jsx)(e.code,{children:"variables"}),", both will be output in the editor, but only ",(0,a.jsx)(e.code,{children:"variables"})," will be output on the frontend."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"attributes": {\n\t\t// ...\n\t},\n\t"variablesCustomEditor": [\n\t\t"--variable1: test1",\n\t\t"--variable2: test2",\n\t\t"--variable3: test3"\n\t]\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--variable1: test1;\n--variable2: test2;\n--variable3: test3;\n"})}),"\n",(0,a.jsx)(e.h2,{id:"additional-options-and-examples",children:"Additional options and examples"}),"\n",(0,a.jsx)(e.h3,{id:"color",children:"Color"}),"\n",(0,a.jsx)(e.p,{children:"Here is an example how to output global variable as a css variable."}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographyColor": {\n\t\t\t"type": "string",\n\t\t\t"default": "white"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographyColor": [\n\t\t\t{\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-color": "var(--global-colors-white)"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:"--typography-color: var(--global-colors-white);\n"})}),"\n",(0,a.jsx)(e.h3,{id:"responsive",children:"Responsive"}),"\n",(0,a.jsx)(e.p,{children:"All variables are prepared to be responsive. If you set multiple keys in the manifest list that variable will be outputted in the correct media query. Breakpoints are taken from the global manifest and the order of the output breakpoints."}),"\n",(0,a.jsxs)(e.blockquote,{children:["\n",(0,a.jsx)(e.p,{children:"Global breakpoints must follow the convention from the smallest size to the largest."}),"\n"]}),"\n",(0,a.jsx)(e.p,{children:"If you don't specify breakpoint key, that item will not be wrapped in the media query."}),"\n",(0,a.jsx)(e.p,{children:"If you write breakpoint that isn't defined in the global manifest, that condition will be ignored."}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographySize": {\n\t\t\t"type": "string",\n\t\t\t"default": "120-default"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographySize": [\n\t\t\t{\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "30px"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t"breakpoint": "tablet",\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "80px"\n\t\t\t\t}\n\t\t\t}\n\t\t\t{\n\t\t\t\t"breakpoint": "large",\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "120px"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:".typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t--typography-size: 30px;\n}\n\n@media(min-width: 1279px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 80px;\n\t}\n}\n\n@media(min-width: 1920px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 120px;\n\t}\n}\n"})}),"\n",(0,a.jsx)(e.h3,{id:"responsive-inverse",children:"Responsive Inverse"}),"\n",(0,a.jsxs)(e.p,{children:["By default, we use mobile first approach but if you need desktop first you can use ",(0,a.jsx)(e.code,{children:"inverse: true"})," key."]}),"\n",(0,a.jsxs)(e.blockquote,{children:["\n",(0,a.jsx)(e.p,{children:"If you have multiple mobile/desktop first breakpoints, output will sort them mobile first and then desktop first after that."}),"\n"]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographySize": {\n\t\t\t"type": "string",\n\t\t\t"default": "120-default"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographySize": [\n\t\t\t{\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "120px"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t"breakpoint": "tablet",\n\t\t\t\t"inverse": true,\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "80px"\n\t\t\t\t}\n\t\t\t}\n\t\t\t{\n\t\t\t\t"breakpoint": "mobile",\n\t\t\t\t"inverse": true,\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "320px"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:".typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t--typography-size: 120px;\n}\n\n@media(max-width: 1279px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 80px;\n\t}\n}\n\n@media(max-width: 479px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 30px;\n\t}\n}\n"})}),"\n",(0,a.jsx)(e.h3,{id:"attribute-value-replacement",children:"Attribute value replacement"}),"\n",(0,a.jsxs)(e.p,{children:["Attribute value replacement variable is used to return the attribute value where you want it in the css variables. To use it just put ",(0,a.jsx)(e.code,{children:"%value%"})," in you css variables."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Manifest:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentClass": "typography",\n\t"attributes": {\n\t\t"typographySize": {\n\t\t\t"type": "string",\n\t\t\t"default": "120"\n\t\t}\n\t},\n\t"variables": {\n\t\t"typographySize": [\n\t\t\t{\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "30px"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t"breakpoint": "tablet",\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "80px"\n\t\t\t\t}\n\t\t\t}\n\t\t\t{\n\t\t\t\t"breakpoint": "large",\n\t\t\t\t"variable": {\n\t\t\t\t\t"typography-size": "%value%px"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:".typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t--typography-size: 30px;\n}\n\n@media(min-width: 1279px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 80px;\n\t}\n}\n\n@media(min-width: 1920px) {\n\t.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--typography-size: 120px;\n\t}\n}\n"})}),"\n",(0,a.jsx)(e.h2,{id:"responsive-variables",children:"Responsive variables"}),"\n",(0,a.jsxs)(e.p,{children:["Responsive variables are used for eliminating unnecessary code duplication. For example, if you have 4 separate attributes used for setting a responsive variable where all the attributes have the same output (e.g. ",(0,a.jsx)(e.code,{children:"%value%"}),"), the variables can get cluttered rather quickly."]}),"\n",(0,a.jsxs)(e.p,{children:["In a top-level manifest key ",(0,a.jsx)(e.code,{children:"responsiveAttributes"}),", you can place a new key (e.g. ",(0,a.jsx)(e.code,{children:"wrapperHide"}),") that represents a common key for your responsive variables. Inside of it, you can list your responsive variables (e.g. ",(0,a.jsx)(e.code,{children:"wrapperHideLarge"}),", ",(0,a.jsx)(e.code,{children:"wrapperHideDesktop"}),", ",(0,a.jsx)(e.code,{children:"wrapperHideTablet"}),", ",(0,a.jsx)(e.code,{children:"wrapperHideMobile"}),") as a key-value pair. The key represents a breakpoint name, and the value represents responsive variable(",(0,a.jsx)(e.code,{children:"breakpoint"}),": ",(0,a.jsx)(e.code,{children:"responsiveVariableName"}),"). Afterwards, you can add that common key inside the ",(0,a.jsx)(e.code,{children:"variables"})," (and/or ",(0,a.jsx)(e.code,{children:"variablesEditor"}),") key and configure the output template."]}),"\n",(0,a.jsxs)(e.p,{children:["Best practice is to have the attributes named consistently with your breakpoints - in the ",(0,a.jsx)(e.em,{children:(0,a.jsx)(e.code,{children:"variableName``breakpointName"})})," format (see example below)."]}),"\n",(0,a.jsxs)(e.p,{children:[(0,a.jsx)(e.strong,{children:"Note"}),": If you need an extra variable, or are overriding some of the auto-generated variables (from the helper), the variables will be output after the responsive variables. (see ",(0,a.jsx)(e.em,{children:"Example 2"}),")\n",(0,a.jsx)(e.strong,{children:"Note 2:"})," Order of responsive attributes is important since generating variables relies on that order. Make sure to use the ",(0,a.jsx)(e.code,{children:"inverse"})," option properly."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Example 1"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentName": "wrapper",\n\t"title": "Wrapper",\n\t"componentClass": "wrapper",\n\t"attributes": {\n\t\t"wrapperHideLarge": {\n\t\t\t"type": "boolean",\n\t\t\t"default": false\n\t\t},\n\t\t"wrapperHideDesktop": {\n\t\t\t"type": "boolean"\n\t\t},\n\t\t"wrapperHideTablet": {\n\t\t\t"type": "boolean"\n\t\t}\n\t},\n\t"responsiveAttributes": {\n\t\t"wrapperHide": {\n\t\t\t"large": "wrapperHideLarge",\n\t\t\t"desktop": "wrapperHideDesktop",\n\t\t\t"tablet": "wrapperHideTablet"\n\t\t}\n\t},\n\t"variables": {\n\t\t"wrapperHide": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t\t"false": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Transformed:"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentName": "wrapper",\n\t"title": "Wrapper",\n\t"componentClass": "wrapper",\n\t"attributes": {\n\t\t"wrapperHide": {\n\t\t\t"type": "boolean",\n\t\t\t"default": false\n\t\t}\n\t},\n\t"responsiveAttributes": {\n\t\t"wrapperHideLarge": {\n\t\t\t"type": "boolean",\n\t\t\t"default": false\n\t\t},\n\t\t"wrapperHideDesktop": {\n\t\t\t"type": "boolean"\n\t\t},\n\t\t"wrapperHideTablet": {\n\t\t\t"type": "boolean"\n\t\t}\n\t},\n\t"variables": {\n\t\t"wrapperHideLarge": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t\t"false": [\n\t\t\t\t{\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t"wrapperHideDesktop": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"breakpoint": "desktop",\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t\t"false": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"breakpoint": "desktop",\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t"wrapperHideTablet": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"breakpoint": "desktop",\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t\t"false": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"breakpoint": "desktop",\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:".wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t--wrapper-display: var(--wrapper-display-type, grid);\n}\n@media(max-width: 1920px) {\n\t.wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--wrapper-display: none;\n\t}\n}\n@media(max-width: 1279px) {\n\t.wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t\t--wrapper-display: var(--wrapper-display-type, grid);\n\t}\n}\n\n"})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Example 2"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-json",children:'{\n\t"componentName": "wrapper",\n\t"title": "Wrapper",\n\t"componentClass": "wrapper",\n\t"attributes": {\n\t\t"wrapperHideLarge": {\n\t\t\t"type": "boolean",\n\t\t\t"default": false\n\t\t},\n\t\t"wrapperHideDesktop": {\n\t\t\t"type": "boolean"\n\t\t},\n\t\t"wrapperHideTablet": {\n\t\t\t"type": "boolean"\n\t\t}\n\t},\n\t"responsiveAttributes": {\n\t\t"wrapperHide": {\n\t\t\t"large": "wrapperHideLarge",\n\t\t\t"desktop": "wrapperHideDesktop",\n\t\t\t"tablet": "wrapperHideTablet"\n\t\t}\n\t},\n\t"variables": {\n\t\t"wrapperHide": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "none"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t\t"false": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "var(--wrapper-display-type, grid)"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t"wrapperHideLarge": {\n\t\t\t"true": [\n\t\t\t\t{\n\t\t\t\t\t"inverse": true,\n\t\t\t\t\t"variable": {\n\t\t\t\t\t\t"wrapper-display": "block",\n\t\t\t\t\t\t"wrapper-opacity": 0\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t}\n\t}\n}\n'})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.strong,{children:"Output"})}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-css",children:".wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7'] {\n\t--wrapper-display: none;\n\t--wrapper-display: block;\n\t--wrapper-opacity: 0;\n}\n"})})]})}function c(t={}){const{wrapper:e}={...(0,r.M)(),...t.components};return e?(0,a.jsx)(e,{...t,children:(0,a.jsx)(d,{...t})}):d(t)}},4552:(t,e,n)=>{n.d(e,{I:()=>l,M:()=>i});var a=n(11504);const r={},s=a.createContext(r);function i(t){const e=a.useContext(s);return a.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(r):t.components||r:i(t.components),a.createElement(s.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/d6a42b72.16980892.js b/assets/js/d6a42b72.16980892.js new file mode 100644 index 000000000..ab96c5e49 --- /dev/null +++ b/assets/js/d6a42b72.16980892.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[28498],{97144:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>h,frontMatter:()=>o,metadata:()=>a,toc:()=>l});var n=s(17624),r=s(4552);const o={id:"blocks-patterns",title:"Patterns"},i=void 0,a={id:"legacy/v8/basics/blocks-patterns",title:"Patterns",description:"docs-source",source:"@site/docs/legacy/v8/basics/blocks-patterns.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/blocks-patterns",permalink:"/docs/legacy/v8/basics/blocks-patterns",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-patterns",title:"Patterns"},sidebar:"docs",previous:{title:"Variations",permalink:"/docs/legacy/v8/basics/blocks-variations"},next:{title:"Transforms",permalink:"/docs/legacy/v8/basics/blocks-transforms"}},c={},l=[{value:"Remove all core patterns",id:"remove-all-core-patterns",level:3}];function d(e){const t={a:"a",code:"code",em:"em",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,r.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(t.p,{children:"Block Patterns are predefined block layouts, ready to insert and tweak."}),"\n",(0,n.jsxs)(t.p,{children:["You can check the ",(0,n.jsx)(t.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-patterns/",children:"WordPress documentation"})," on this subject."]}),"\n",(0,n.jsxs)(t.p,{children:["Patterns are (as we understand them) the same thing as block variations. The main difference is that you can provide full layouts with patterns, as described in ",(0,n.jsx)(t.a,{href:"blocks-variations#limitations",children:"this chapter"}),". You can also provide the full page layouts with our variations."]}),"\n",(0,n.jsx)(t.p,{children:"This means that the only differences between our variations and block patterns are:"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Variations"})}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"Variations provide data using our manifest.json file (the rest is handled using JavaScript)."}),"\n",(0,n.jsx)(t.li,{children:"Variations appear in the editor next to the static blocks."}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Patterns"})}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"Patterns are registered using PHP."}),"\n",(0,n.jsx)(t.li,{children:"Patterns appear in the editor inside the special tab for patterns."}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.em,{children:"We will soon provide WP-CLI command to automaticity create block patterns, boilerplate class, for you to use."})}),"\n",(0,n.jsx)(t.h3,{id:"remove-all-core-patterns",children:"Remove all core patterns"}),"\n",(0,n.jsx)(t.p,{children:"If you don't use core blocks, core patterns won't work. Don't confuse your users and remove them (but feel free to add new patterns based on your own custom blocks!)"}),"\n",(0,n.jsxs)(t.p,{children:["To remove all core patterns add this code to you ",(0,n.jsx)(t.code,{children:"src/Blocks/Blocks.php"})," class."]}),"\n",(0,n.jsx)(t.p,{children:"Filter goes in the register method:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"// Remove block patterns.\n\\add_filter('init', [$this, 'removeCorePatterns'], 9);\n"})}),"\n",(0,n.jsx)(t.p,{children:"Callback method:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"public function removeCorePatterns(): void\n{\n\tremove_theme_support('core-block-patterns');\n}\n"})})]})}function h(e={}){const{wrapper:t}={...(0,r.M)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},4552:(e,t,s)=>{s.d(t,{I:()=>a,M:()=>i});var n=s(11504);const r={},o=n.createContext(r);function i(e){const t=n.useContext(o);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(r):e.components||r:i(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d6a42b72.cc6fa16e.js b/assets/js/d6a42b72.cc6fa16e.js deleted file mode 100644 index 1b85b61b7..000000000 --- a/assets/js/d6a42b72.cc6fa16e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[64341],{61974:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>i,toc:()=>l});var n=s(85893),r=s(11151);const o={id:"blocks-patterns",title:"Patterns"},a=void 0,i={id:"legacy/v8/basics/blocks-patterns",title:"Patterns",description:"docs-source",source:"@site/docs/legacy/v8/basics/blocks-patterns.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/blocks-patterns",permalink:"/docs/legacy/v8/basics/blocks-patterns",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-patterns",title:"Patterns"},sidebar:"docs",previous:{title:"Variations",permalink:"/docs/legacy/v8/basics/blocks-variations"},next:{title:"Transforms",permalink:"/docs/legacy/v8/basics/blocks-transforms"}},c={},l=[{value:"Remove all core patterns",id:"remove-all-core-patterns",level:3}];function d(e){const t={a:"a",code:"code",em:"em",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,r.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(t.p,{children:"Block Patterns are predefined block layouts, ready to insert and tweak."}),"\n",(0,n.jsxs)(t.p,{children:["You can check the ",(0,n.jsx)(t.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-patterns/",children:"WordPress documentation"})," on this subject."]}),"\n",(0,n.jsxs)(t.p,{children:["Patterns are (as we understand them) the same thing as block variations. The main difference is that you can provide full layouts with patterns, as described in ",(0,n.jsx)(t.a,{href:"blocks-variations#limitations",children:"this chapter"}),". You can also provide the full page layouts with our variations."]}),"\n",(0,n.jsx)(t.p,{children:"This means that the only differences between our variations and block patterns are:"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Variations"})}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"Variations provide data using our manifest.json file (the rest is handled using JavaScript)."}),"\n",(0,n.jsx)(t.li,{children:"Variations appear in the editor next to the static blocks."}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Patterns"})}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"Patterns are registered using PHP."}),"\n",(0,n.jsx)(t.li,{children:"Patterns appear in the editor inside the special tab for patterns."}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.em,{children:"We will soon provide WP-CLI command to automaticity create block patterns, boilerplate class, for you to use."})}),"\n",(0,n.jsx)(t.h3,{id:"remove-all-core-patterns",children:"Remove all core patterns"}),"\n",(0,n.jsx)(t.p,{children:"If you don't use core blocks, core patterns won't work. Don't confuse your users and remove them (but feel free to add new patterns based on your own custom blocks!)"}),"\n",(0,n.jsxs)(t.p,{children:["To remove all core patterns add this code to you ",(0,n.jsx)(t.code,{children:"src/Blocks/Blocks.php"})," class."]}),"\n",(0,n.jsx)(t.p,{children:"Filter goes in the register method:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"// Remove block patterns.\n\\add_filter('init', [$this, 'removeCorePatterns'], 9);\n"})}),"\n",(0,n.jsx)(t.p,{children:"Callback method:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"public function removeCorePatterns(): void\n{\n\tremove_theme_support('core-block-patterns');\n}\n"})})]})}function h(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},11151:(e,t,s)=>{s.d(t,{Z:()=>i,a:()=>a});var n=s(67294);const r={},o=n.createContext(r);function a(e){const t=n.useContext(o);return n.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(r):e.components||r:a(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d7756765.d1faefac.js b/assets/js/d7756765.d1faefac.js deleted file mode 100644 index 76c4e65f3..000000000 --- a/assets/js/d7756765.d1faefac.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[69565],{87619:(e,o,n)=>{n.r(o),n.d(o,{assets:()=>r,contentTitle:()=>a,default:()=>h,frontMatter:()=>i,metadata:()=>l,toc:()=>c});var t=n(85893),s=n(11151);const i={id:"blocks-faq",title:"Faq"},a=void 0,l={id:"legacy/v7/basics/blocks-faq",title:"Faq",description:"docs-source",source:"@site/docs/legacy/v7/basics/blocks-faq.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/blocks-faq",permalink:"/docs/legacy/v7/basics/blocks-faq",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-faq",title:"Faq"},sidebar:"docs",previous:{title:"Important",permalink:"/docs/legacy/v7/basics/blocks-important"},next:{title:"Registration",permalink:"/docs/legacy/v7/basics/blocks-registration"}},r={},c=[{value:"Why do all my blocks look the same and have the same name structure?",id:"why-do-all-my-blocks-look-the-same-and-have-the-same-name-structure",level:3},{value:"What is the difference between components and blocks?",id:"what-is-the-difference-between-components-and-blocks",level:3},{value:"Do I need to have Storybook stories in my block?",id:"do-i-need-to-have-storybook-stories-in-my-block",level:3},{value:"Do you support block variations, and how can I use them?",id:"do-you-support-block-variations-and-how-can-i-use-them",level:3},{value:"Do you support patterns, and how can I use them?",id:"do-you-support-patterns-and-how-can-i-use-them",level:3},{value:"What is a wrapper?",id:"what-is-a-wrapper",level:3},{value:"Do you support inner blocks?",id:"do-you-support-inner-blocks",level:3},{value:"Why do you use manifest.json in all blocks and components?",id:"why-do-you-use-manifestjson-in-all-blocks-and-components",level:3},{value:"Why do you use global manifest.json?",id:"why-do-you-use-global-manifestjson",level:3},{value:"If I want to create a new block/component, what do I do?",id:"if-i-want-to-create-a-new-blockcomponent-what-do-i-do",level:3},{value:"What if I add a block and it throws an error that it is missing some components, what do I do?",id:"what-if-i-add-a-block-and-it-throws-an-error-that-it-is-missing-some-components-what-do-i-do",level:3},{value:"How can I use your pre-made blocks?",id:"how-can-i-use-your-pre-made-blocks",level:3},{value:"Can I use block/component from Eightshift-frontend-libs directly?",id:"can-i-use-blockcomponent-from-eightshift-frontend-libs-directly",level:3},{value:"I want to change attributes on inner blocks. How do I do it?",id:"i-want-to-change-attributes-on-inner-blocks-how-do-i-do-it",level:3},{value:"Do I need to write JS and PHP implementation for all my blocks?",id:"do-i-need-to-write-js-and-php-implementation-for-all-my-blocks",level:3},{value:"How do I use components in blocks?",id:"how-do-i-use-components-in-blocks",level:3},{value:"How do I use multiple heading components in my block?",id:"how-do-i-use-multiple-heading-components-in-my-block",level:3},{value:"Where can I define my global styles?",id:"where-can-i-define-my-global-styles",level:3},{value:"Where can I define global typography for all my blocks/components?",id:"where-can-i-define-global-typography-for-all-my-blockscomponents",level:3},{value:"Can I make a component with WP_Query logic in it?",id:"can-i-make-a-component-with-wp_query-logic-in-it",level:3},{value:"Do I need to make components for all my blocks?",id:"do-i-need-to-make-components-for-all-my-blocks",level:3},{value:"Will this setup work with full site editing?",id:"will-this-setup-work-with-full-site-editing",level:3},{value:"Can I use core blocks with your setup?",id:"can-i-use-core-blocks-with-your-setup",level:3},{value:"How can I limit my blocklist?",id:"how-can-i-limit-my-blocklist",level:3},{value:"How to allow only one pattern category?",id:"how-to-allow-only-one-pattern-category",level:3},{value:"Can I have blocks in multiple categories?",id:"can-i-have-blocks-in-multiple-categories",level:3},{value:"How can I add a new blocks category?",id:"how-can-i-add-a-new-blocks-category",level:3},{value:"What if you don't yet support something from the native setup? What can I do?",id:"what-if-you-dont-yet-support-something-from-the-native-setup-what-can-i-do",level:3},{value:"Why is my blocks folder called <code>custom</code> and not <code>blocks</code>, for example?",id:"why-is-my-blocks-folder-called-custom-and-not-blocks-for-example",level:3},{value:"In the global manifest, you have a key called \u201ccustomBlocksName\u201d: \u201ceightshift-block\u201d. Can I change this to my-project-name-block?",id:"in-the-global-manifest-you-have-a-key-called-customblocksname-eightshift-block-can-i-change-this-to-my-project-name-block",level:3},{value:"Simple vs Compound blocks",id:"simple-vs-compound-blocks",level:3},{value:"Naming is hard",id:"naming-is-hard",level:3}];function d(e){const o={a:"a",blockquote:"blockquote",code:"code",em:"em",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(o.p,{children:(0,t.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/",children:(0,t.jsx)(o.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsxs)(o.p,{children:["Before we dive into blocks and see how everything is set, we should describe this setup's mindset.\nIf you've managed to set up your project by this point with the ",(0,t.jsx)(o.a,{href:"wp-cli",children:"WP-CLI"})," command ",(0,t.jsx)(o.code,{children:"setup_theme"}),", you might have a few questions. We will try to answer all those questions here."]}),"\n",(0,t.jsx)(o.h3,{id:"why-do-all-my-blocks-look-the-same-and-have-the-same-name-structure",children:"Why do all my blocks look the same and have the same name structure?"}),"\n",(0,t.jsxs)(o.p,{children:["This is so because we defined the name structure for all our blocks and components to load everything automatically. For more information, please check the ",(0,t.jsx)(o.a,{href:"block-structure",children:"block structure"})," and ",(0,t.jsx)(o.a,{href:"blocks-component-structure",children:"component structure"})," chapters."]}),"\n",(0,t.jsx)(o.h3,{id:"what-is-the-difference-between-components-and-blocks",children:"What is the difference between components and blocks?"}),"\n",(0,t.jsxs)(o.p,{children:["The main difference is that blocks are available in the block editor's block picker, and components are not. With that being said, blocks are registered using the ",(0,t.jsx)(o.code,{children:"registerBlockType"})," method, and components are just here for you to bundle some functionality in one place and reuse it wherever you need."]}),"\n",(0,t.jsxs)(o.p,{children:["For more information about blocks, read the ",(0,t.jsx)(o.a,{href:"block-structure",children:"block structure"})," chapter. To find out more about components, read the ",(0,t.jsx)(o.a,{href:"blocks-component-structure",children:"component structure"})," chapter."]}),"\n",(0,t.jsx)(o.h3,{id:"do-i-need-to-have-storybook-stories-in-my-block",children:"Do I need to have Storybook stories in my block?"}),"\n",(0,t.jsx)(o.p,{children:"No, you don't. But we provided you with the ability to use the Storybook for all of your blocks and components. Why not use it? It will speed up your development time. Trust us. \ud83d\ude42"}),"\n",(0,t.jsxs)(o.p,{children:["For more details on how to write stories, check out ",(0,t.jsx)(o.a,{href:"blocks-storybook",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"do-you-support-block-variations-and-how-can-i-use-them",children:"Do you support block variations, and how can I use them?"}),"\n",(0,t.jsxs)(o.p,{children:["Yes, we do. All block variations are located in the ",(0,t.jsx)(o.code,{children:"src/Blocks/variations"})," folder. For more information about this, please check the ",(0,t.jsx)(o.a,{href:"blocks-variations",children:"variations"})," chapter."]}),"\n",(0,t.jsx)(o.h3,{id:"do-you-support-patterns-and-how-can-i-use-them",children:"Do you support patterns, and how can I use them?"}),"\n",(0,t.jsxs)(o.p,{children:["Yes, we do. For more information, please read the ",(0,t.jsx)(o.a,{href:"blocks-patterns",children:"patterns"})," chapter."]}),"\n",(0,t.jsx)(o.h3,{id:"what-is-a-wrapper",children:"What is a wrapper?"}),"\n",(0,t.jsxs)(o.p,{children:["Read about wrappers in ",(0,t.jsx)(o.a,{href:"blocks-wrapper",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"do-you-support-inner-blocks",children:"Do you support inner blocks?"}),"\n",(0,t.jsxs)(o.p,{children:["Yes, we support everything that the core natively supports. You can find more information on how to use them in ",(0,t.jsx)(o.a,{href:"block-manifest",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"why-do-you-use-manifestjson-in-all-blocks-and-components",children:"Why do you use manifest.json in all blocks and components?"}),"\n",(0,t.jsxs)(o.p,{children:["So that we can provide content, attributes, options, and much more across multiple different files in multiple contexts (in both PHP and JS). You can read all about it in ",(0,t.jsx)(o.a,{href:"block-manifest",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"why-do-you-use-global-manifestjson",children:"Why do you use global manifest.json?"}),"\n",(0,t.jsxs)(o.p,{children:["The answer is the same as the previous one. In the global ",(0,t.jsx)(o.code,{children:"manifest.json"}),", we have options that are shared across all blocks and components. Read more about it in ",(0,t.jsx)(o.a,{href:"blocks-global-manifest",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"if-i-want-to-create-a-new-blockcomponent-what-do-i-do",children:"If I want to create a new block/component, what do I do?"}),"\n",(0,t.jsx)(o.p,{children:"In your terminal, write"}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-shell",children:"wp boilerplate use_block --name=example\n"})}),"\n",(0,t.jsx)(o.p,{children:"and style that block however you seem fit."}),"\n",(0,t.jsx)(o.h3,{id:"what-if-i-add-a-block-and-it-throws-an-error-that-it-is-missing-some-components-what-do-i-do",children:"What if I add a block and it throws an error that it is missing some components, what do I do?"}),"\n",(0,t.jsxs)(o.p,{children:["All blocks/components have some kind of documentation and in that documentation we have a list of dependencies each block/component needs to have in the project in order for it to work. For example you can look in the ",(0,t.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/Blocks/custom/heading/docs/readme.mdx",children:"heading block"}),", as you can see the heading blocks depends on the heading component, so if you install a heading block before heading component it will resolve in to an error. So please be sure that your block/component installation follows the correct order."]}),"\n",(0,t.jsx)(o.h3,{id:"how-can-i-use-your-pre-made-blocks",children:"How can I use your pre-made blocks?"}),"\n",(0,t.jsx)(o.p,{children:"You can check all available blocks/components using these two commands"}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-shell",children:"wp boilerplate use_block --help\n\nwp boilerplate use_component --help\n"})}),"\n",(0,t.jsx)(o.h3,{id:"can-i-use-blockcomponent-from-eightshift-frontend-libs-directly",children:"Can I use block/component from Eightshift-frontend-libs directly?"}),"\n",(0,t.jsxs)(o.p,{children:["It depends. You can't use things from the blocks folder like ",(0,t.jsx)(o.code,{children:"components"}),", ",(0,t.jsx)(o.code,{children:"custom"}),", ",(0,t.jsx)(o.code,{children:"variations"}),", ",(0,t.jsx)(o.code,{children:"wrapper"}),", etc. They are meant to be copied to your project, styled, and changed depending on your project's needs."]}),"\n",(0,t.jsxs)(o.p,{children:["You can move things from a block to your project using the commands described ",(0,t.jsx)(o.a,{href:"#how-can-i-use-your-pre-made-blocks",children:"above"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"i-want-to-change-attributes-on-inner-blocks-how-do-i-do-it",children:"I want to change attributes on inner blocks. How do I do it?"}),"\n",(0,t.jsxs)(o.p,{children:["We described how attributes are used and combined in ",(0,t.jsx)(o.a,{href:"blocks-attributes",children:"this chapter"})," and ",(0,t.jsx)(o.a,{href:"blocks-component-in-block",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"do-i-need-to-write-js-and-php-implementation-for-all-my-blocks",children:"Do I need to write JS and PHP implementation for all my blocks?"}),"\n",(0,t.jsx)(o.p,{children:"For a block, you must provide the JS and PHP implementations because it won't work without them."}),"\n",(0,t.jsx)(o.p,{children:"For components, if you are not using the JS part, you don't need to write one, but we recommend you do so because the JS part is used in Storybook."}),"\n",(0,t.jsxs)(o.p,{children:["If you have a more advanced block and don't benefit from writing the JS implementation of the block, you can always use the ",(0,t.jsx)(o.a,{href:"https://developer.wordpress.org/block-editor/packages/packages-server-side-render/",children:"ServerSideRender component"})," form the core. If you have no inputs in the editor from the admin, there is no need to write JS implementation of the block. Just use ",(0,t.jsx)(o.code,{children:"ServerSideRender"})," component in that case."]}),"\n",(0,t.jsx)(o.h3,{id:"how-do-i-use-components-in-blocks",children:"How do I use components in blocks?"}),"\n",(0,t.jsxs)(o.p,{children:["Please check out ",(0,t.jsx)(o.a,{href:"blocks-component-in-block",children:"this chapter"})," for more information."]}),"\n",(0,t.jsx)(o.h3,{id:"how-do-i-use-multiple-heading-components-in-my-block",children:"How do I use multiple heading components in my block?"}),"\n",(0,t.jsxs)(o.p,{children:["You can follow the instructions given in ",(0,t.jsx)(o.a,{href:"blocks-component-in-block",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"where-can-i-define-my-global-styles",children:"Where can I define my global styles?"}),"\n",(0,t.jsxs)(o.p,{children:["You can follow the instructions given in ",(0,t.jsx)(o.a,{href:"writing-styles",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"where-can-i-define-global-typography-for-all-my-blockscomponents",children:"Where can I define global typography for all my blocks/components?"}),"\n",(0,t.jsxs)(o.p,{children:["You can follow the instructions given in ",(0,t.jsx)(o.a,{href:"writing-styles",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"can-i-make-a-component-with-wp_query-logic-in-it",children:"Can I make a component with WP_Query logic in it?"}),"\n",(0,t.jsx)(o.p,{children:"Yes, you can, but think of the component as a dumb and simple piece of code that should not hold any business logic. A component should only be used as a view. If you need to write WP_Query logic, you can do that in a block and just pass the data to your component as props."}),"\n",(0,t.jsx)(o.h3,{id:"do-i-need-to-make-components-for-all-my-blocks",children:"Do I need to make components for all my blocks?"}),"\n",(0,t.jsx)(o.p,{children:"No, it might look like that from the examples provided, but that is not the case. You should create components depending on your needs."}),"\n",(0,t.jsx)(o.p,{children:"Ask yourself, will I reuse this functionality anywhere else?"}),"\n",(0,t.jsxs)(o.ul,{children:["\n",(0,t.jsxs)(o.li,{children:["If the answer is ",(0,t.jsx)(o.strong,{children:"yes"}),", create a component."]}),"\n",(0,t.jsxs)(o.li,{children:["If the answer is ",(0,t.jsx)(o.strong,{children:"no"}),", don't create a component."]}),"\n"]}),"\n",(0,t.jsx)(o.p,{children:"Our recommendation is not to burden yourself with components from the beginning. Start creating blocks and, if you find yourself in need of code that you already wrote, just extract it in a component."}),"\n",(0,t.jsx)(o.h3,{id:"will-this-setup-work-with-full-site-editing",children:"Will this setup work with full site editing?"}),"\n",(0,t.jsx)(o.p,{children:"Yes, it will. We are constantly upgrading this documentation and our code to say that it will work with full site editing. This boilerplate was made for the Infinum/Eightshift WordPress team, so we are constantly using it in our projects."}),"\n",(0,t.jsx)(o.h3,{id:"can-i-use-core-blocks-with-your-setup",children:"Can I use core blocks with your setup?"}),"\n",(0,t.jsx)(o.p,{children:"Yes, you can. We are working on the ability to override core blocks in our smart way. Until we make this work, you can use everything that is already defined in the core documentation."}),"\n",(0,t.jsx)(o.p,{children:"We avoid using core blocks because they add different class naming and additional markup that makes it harder to style things."}),"\n",(0,t.jsx)(o.p,{children:"Also, they are prone to breaking changes every several months, so we prefer to write our own implementation."}),"\n",(0,t.jsx)(o.h3,{id:"how-can-i-limit-my-blocklist",children:"How can I limit my blocklist?"}),"\n",(0,t.jsxs)(o.p,{children:["Easy. We have a method you can extend that limits your project's block to the only block from your project. You should put this filter in your project's ",(0,t.jsx)(o.code,{children:"src/Blocks/Blocks.php"})," file under the ",(0,t.jsx)(o.code,{children:"register"})," method:"]}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.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,t.jsxs)(o.blockquote,{children:["\n",(0,t.jsx)(o.p,{children:"Important note: For WordPress versions > 5 and < 5.8 you would need to use the example bellow."}),"\n"]}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-php",children:" // Limits the usage of only custom project blocks - legacy.\n add_filter('allowed_block_types', [ $this, 'getAllBlocksListOld' ], 10, 2);\n"})}),"\n",(0,t.jsx)(o.h3,{id:"how-to-allow-only-one-pattern-category",children:"How to allow only one pattern category?"}),"\n",(0,t.jsx)(o.p,{children:(0,t.jsx)(o.em,{children:"Coming soon"})}),"\n",(0,t.jsx)(o.h3,{id:"can-i-have-blocks-in-multiple-categories",children:"Can I have blocks in multiple categories?"}),"\n",(0,t.jsxs)(o.p,{children:["In your block manifest, you can define in what category your block will appear. You can create a new category for your project or use our category. We created our category called ",(0,t.jsx)(o.code,{children:"eightshift"})," using this filter:"]}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-php",children:" // Create a new custom category for custom blocks.\n add_filter('block_categories', [ $this, 'getCustomCategory' ]);\n"})}),"\n",(0,t.jsx)(o.h3,{id:"how-can-i-add-a-new-blocks-category",children:"How can I add a new blocks category?"}),"\n",(0,t.jsx)(o.p,{children:"You can provide your implementation, or you can extend our method for registering a custom category. Here is how you do it:"}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-php",children:" /**\n * Register all the hooks\n *\n * @return void\n */\npublic function register(): void\n{\n // Create a new custom category for custom blocks.\n add_filter('block_categories', [ $this, 'getCustomCategory' ]);\n}\n\n /**\n * Create a custom category to assign all custom blocks\n *\n * This category will be shown on all blocks list in the \"Add Block\" button.\n *\n * @param array[] $categories Array of all block categories.\n * @param \\WP_Post $post Post being loaded.\n *\n * @return array[] Array of block categories.\n */\npublic function getCustomCategory(array $categories, \\WP_Post $post): array\n{\n return array_merge(\n parent::getCustomCategory($categories, $post),\n [\n [\n 'slug' => 'custom-category-name',\n 'title' => \\esc_html__('Custom Category', 'project-text-domain'),\n 'icon' => 'admin-settings',\n ],\n ]\n );\n}\n"})}),"\n",(0,t.jsx)(o.h3,{id:"what-if-you-dont-yet-support-something-from-the-native-setup-what-can-i-do",children:"What if you don't yet support something from the native setup? What can I do?"}),"\n",(0,t.jsxs)(o.p,{children:["As we described in ",(0,t.jsx)(o.a,{href:"blocks",children:"this chapter"}),", if we don't support something natively from the core or you can't find it in this documentation, you can always use it in the normal native way from the ",(0,t.jsx)(o.a,{href:"https://developer.wordpress.org/block-editor/tutorials/block-tutorial/",children:"WordPress documentation"}),". Also, if you think we are missing something, please open a ",(0,t.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/pulls",children:"pull request"})," or an ",(0,t.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/issues",children:"issue"})," on our GitHub repository."]}),"\n",(0,t.jsxs)(o.h3,{id:"why-is-my-blocks-folder-called-custom-and-not-blocks-for-example",children:["Why is my blocks folder called ",(0,t.jsx)(o.code,{children:"custom"})," and not ",(0,t.jsx)(o.code,{children:"blocks"}),", for example?"]}),"\n",(0,t.jsx)(o.p,{children:"The idea was to put all your custom blocks inside the custom folder and all core block in the core folder. This boilerplate is not designed only for your custom block, but you can use it as an ultimate block setup."}),"\n",(0,t.jsxs)(o.p,{children:["And folder structure ",(0,t.jsx)(o.code,{children:"src/Blocks/blocks"})," is kind of weird."]}),"\n",(0,t.jsx)(o.h3,{id:"in-the-global-manifest-you-have-a-key-called-customblocksname-eightshift-block-can-i-change-this-to-my-project-name-block",children:"In the global manifest, you have a key called \u201ccustomBlocksName\u201d: \u201ceightshift-block\u201d. Can I change this to my-project-name-block?"}),"\n",(0,t.jsx)(o.p,{children:"You can, but you shouldn't. We use this key to provide the CSS selectors on all our custom blocks in the block editor. Additional styles are added to this selector for the wrapper to work on full width and remove some of the native block editor styles."}),"\n",(0,t.jsx)(o.p,{children:"So don't remove or change this \ud83d\ude05."}),"\n",(0,t.jsx)(o.h3,{id:"simple-vs-compound-blocks",children:"Simple vs Compound blocks"}),"\n",(0,t.jsx)(o.p,{children:"In a nutshell, there is no difference between blocks. The WordPress core block is a block, but we like to make a distinction between what is simple and what is a compound block."}),"\n",(0,t.jsxs)(o.p,{children:[(0,t.jsx)(o.strong,{children:"Simple block"})," is a block that is used just as is and provides a small isolated functionality. For example: heading, paragraph, button, etc."]}),"\n",(0,t.jsxs)(o.p,{children:[(0,t.jsx)(o.strong,{children:"Compound block"})," is a block built from multiple components. For example: card, featured posts, etc"]}),"\n",(0,t.jsx)(o.h3,{id:"naming-is-hard",children:"Naming is hard"}),"\n",(0,t.jsx)(o.p,{children:(0,t.jsx)(o.em,{children:"There are only two hard things in Computer Science: cache invalidation and naming things. - Phil Karlton"})}),"\n",(0,t.jsx)(o.p,{children:"Yes, naming is hard, and no matter how long your development experience is you will always struggle with names for your components, block, files, variables, functions, etc."}),"\n",(0,t.jsx)(o.p,{children:"Here are some of our recommendations to ease your pain:"}),"\n",(0,t.jsxs)(o.ul,{children:["\n",(0,t.jsxs)(o.li,{children:["Always try to name your block based on ",(0,t.jsx)(o.strong,{children:"what they are"}),", rather than ",(0,t.jsx)(o.strong,{children:"what they will be used for"}),". For example, if you have a component card for custom post-type ",(0,t.jsx)(o.code,{children:"books"}),", you should never call this component ",(0,t.jsx)(o.code,{children:"card-book"}),". Instead, use a more generic name like ",(0,t.jsx)(o.code,{children:"card-product"}),"."]}),"\n",(0,t.jsx)(o.li,{children:"Make your names as generic as possible for better reusability, but specific enough to fully understand what the block/component is used for."}),"\n",(0,t.jsx)(o.li,{children:"Always think about the future. How can this feature be used in some other way?"}),"\n",(0,t.jsxs)(o.li,{children:['When naming your attributes ask yourself: "is this attribute going to be used in any other way?". For example, you have an attribute for adding font-weight: bold to your text. You can create an attribute called font-weight and set it as a ',(0,t.jsx)(o.code,{children:"boolean"})," type and that will be ok if you have only one font-weight. A better way would be to put it as a string and provide a ",(0,t.jsx)(o.code,{children:"SelectControl"})," component if there is any possibility that in the future you will have additional font-weight."]}),"\n",(0,t.jsxs)(o.li,{children:["Name booleans positively as a question. Example: ",(0,t.jsx)(o.code,{children:"isValid"}),", ",(0,t.jsx)(o.code,{children:"isLoading"}),", ",(0,t.jsx)(o.code,{children:"isComplete"}),"."]}),"\n",(0,t.jsx)(o.li,{children:"Don\u2019t hesitate to use longer names."}),"\n",(0,t.jsx)(o.li,{children:"Use singular names."}),"\n",(0,t.jsx)(o.li,{children:"The variables or functions should be named by their work: Name of variables/functions should always try to express their meaning without diving into the code base try to pack meaningful information inside the name."}),"\n",(0,t.jsx)(o.li,{children:"Naming should be simple enough to be understood by everyone: Using complex words to describe a simple thing only creates hassle while reading the code. Also, use simple English."}),"\n",(0,t.jsx)(o.li,{children:"You might not be the only person working on your particular project in the future. Think about the next person. Your naming will provide an insight into the process and project."}),"\n",(0,t.jsxs)(o.li,{children:[(0,t.jsx)(o.strong,{children:"BE CONSISTENT"}),"."]}),"\n"]})]})}function h(e={}){const{wrapper:o}={...(0,s.a)(),...e.components};return o?(0,t.jsx)(o,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},11151:(e,o,n)=>{n.d(o,{Z:()=>l,a:()=>a});var t=n(67294);const s={},i=t.createContext(s);function a(e){const o=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function l(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),t.createElement(i.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d7756765.ea95f75d.js b/assets/js/d7756765.ea95f75d.js new file mode 100644 index 000000000..a6328d6e7 --- /dev/null +++ b/assets/js/d7756765.ea95f75d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[99912],{71516:(e,o,n)=>{n.r(o),n.d(o,{assets:()=>r,contentTitle:()=>a,default:()=>h,frontMatter:()=>i,metadata:()=>l,toc:()=>c});var t=n(17624),s=n(4552);const i={id:"blocks-faq",title:"Faq"},a=void 0,l={id:"legacy/v7/basics/blocks-faq",title:"Faq",description:"docs-source",source:"@site/docs/legacy/v7/basics/blocks-faq.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/blocks-faq",permalink:"/docs/legacy/v7/basics/blocks-faq",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-faq",title:"Faq"},sidebar:"docs",previous:{title:"Important",permalink:"/docs/legacy/v7/basics/blocks-important"},next:{title:"Registration",permalink:"/docs/legacy/v7/basics/blocks-registration"}},r={},c=[{value:"Why do all my blocks look the same and have the same name structure?",id:"why-do-all-my-blocks-look-the-same-and-have-the-same-name-structure",level:3},{value:"What is the difference between components and blocks?",id:"what-is-the-difference-between-components-and-blocks",level:3},{value:"Do I need to have Storybook stories in my block?",id:"do-i-need-to-have-storybook-stories-in-my-block",level:3},{value:"Do you support block variations, and how can I use them?",id:"do-you-support-block-variations-and-how-can-i-use-them",level:3},{value:"Do you support patterns, and how can I use them?",id:"do-you-support-patterns-and-how-can-i-use-them",level:3},{value:"What is a wrapper?",id:"what-is-a-wrapper",level:3},{value:"Do you support inner blocks?",id:"do-you-support-inner-blocks",level:3},{value:"Why do you use manifest.json in all blocks and components?",id:"why-do-you-use-manifestjson-in-all-blocks-and-components",level:3},{value:"Why do you use global manifest.json?",id:"why-do-you-use-global-manifestjson",level:3},{value:"If I want to create a new block/component, what do I do?",id:"if-i-want-to-create-a-new-blockcomponent-what-do-i-do",level:3},{value:"What if I add a block and it throws an error that it is missing some components, what do I do?",id:"what-if-i-add-a-block-and-it-throws-an-error-that-it-is-missing-some-components-what-do-i-do",level:3},{value:"How can I use your pre-made blocks?",id:"how-can-i-use-your-pre-made-blocks",level:3},{value:"Can I use block/component from Eightshift-frontend-libs directly?",id:"can-i-use-blockcomponent-from-eightshift-frontend-libs-directly",level:3},{value:"I want to change attributes on inner blocks. How do I do it?",id:"i-want-to-change-attributes-on-inner-blocks-how-do-i-do-it",level:3},{value:"Do I need to write JS and PHP implementation for all my blocks?",id:"do-i-need-to-write-js-and-php-implementation-for-all-my-blocks",level:3},{value:"How do I use components in blocks?",id:"how-do-i-use-components-in-blocks",level:3},{value:"How do I use multiple heading components in my block?",id:"how-do-i-use-multiple-heading-components-in-my-block",level:3},{value:"Where can I define my global styles?",id:"where-can-i-define-my-global-styles",level:3},{value:"Where can I define global typography for all my blocks/components?",id:"where-can-i-define-global-typography-for-all-my-blockscomponents",level:3},{value:"Can I make a component with WP_Query logic in it?",id:"can-i-make-a-component-with-wp_query-logic-in-it",level:3},{value:"Do I need to make components for all my blocks?",id:"do-i-need-to-make-components-for-all-my-blocks",level:3},{value:"Will this setup work with full site editing?",id:"will-this-setup-work-with-full-site-editing",level:3},{value:"Can I use core blocks with your setup?",id:"can-i-use-core-blocks-with-your-setup",level:3},{value:"How can I limit my blocklist?",id:"how-can-i-limit-my-blocklist",level:3},{value:"How to allow only one pattern category?",id:"how-to-allow-only-one-pattern-category",level:3},{value:"Can I have blocks in multiple categories?",id:"can-i-have-blocks-in-multiple-categories",level:3},{value:"How can I add a new blocks category?",id:"how-can-i-add-a-new-blocks-category",level:3},{value:"What if you don't yet support something from the native setup? What can I do?",id:"what-if-you-dont-yet-support-something-from-the-native-setup-what-can-i-do",level:3},{value:"Why is my blocks folder called <code>custom</code> and not <code>blocks</code>, for example?",id:"why-is-my-blocks-folder-called-custom-and-not-blocks-for-example",level:3},{value:"In the global manifest, you have a key called \u201ccustomBlocksName\u201d: \u201ceightshift-block\u201d. Can I change this to my-project-name-block?",id:"in-the-global-manifest-you-have-a-key-called-customblocksname-eightshift-block-can-i-change-this-to-my-project-name-block",level:3},{value:"Simple vs Compound blocks",id:"simple-vs-compound-blocks",level:3},{value:"Naming is hard",id:"naming-is-hard",level:3}];function d(e){const o={a:"a",blockquote:"blockquote",code:"code",em:"em",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(o.p,{children:(0,t.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/",children:(0,t.jsx)(o.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsxs)(o.p,{children:["Before we dive into blocks and see how everything is set, we should describe this setup's mindset.\nIf you've managed to set up your project by this point with the ",(0,t.jsx)(o.a,{href:"wp-cli",children:"WP-CLI"})," command ",(0,t.jsx)(o.code,{children:"setup_theme"}),", you might have a few questions. We will try to answer all those questions here."]}),"\n",(0,t.jsx)(o.h3,{id:"why-do-all-my-blocks-look-the-same-and-have-the-same-name-structure",children:"Why do all my blocks look the same and have the same name structure?"}),"\n",(0,t.jsxs)(o.p,{children:["This is so because we defined the name structure for all our blocks and components to load everything automatically. For more information, please check the ",(0,t.jsx)(o.a,{href:"block-structure",children:"block structure"})," and ",(0,t.jsx)(o.a,{href:"blocks-component-structure",children:"component structure"})," chapters."]}),"\n",(0,t.jsx)(o.h3,{id:"what-is-the-difference-between-components-and-blocks",children:"What is the difference between components and blocks?"}),"\n",(0,t.jsxs)(o.p,{children:["The main difference is that blocks are available in the block editor's block picker, and components are not. With that being said, blocks are registered using the ",(0,t.jsx)(o.code,{children:"registerBlockType"})," method, and components are just here for you to bundle some functionality in one place and reuse it wherever you need."]}),"\n",(0,t.jsxs)(o.p,{children:["For more information about blocks, read the ",(0,t.jsx)(o.a,{href:"block-structure",children:"block structure"})," chapter. To find out more about components, read the ",(0,t.jsx)(o.a,{href:"blocks-component-structure",children:"component structure"})," chapter."]}),"\n",(0,t.jsx)(o.h3,{id:"do-i-need-to-have-storybook-stories-in-my-block",children:"Do I need to have Storybook stories in my block?"}),"\n",(0,t.jsx)(o.p,{children:"No, you don't. But we provided you with the ability to use the Storybook for all of your blocks and components. Why not use it? It will speed up your development time. Trust us. \ud83d\ude42"}),"\n",(0,t.jsxs)(o.p,{children:["For more details on how to write stories, check out ",(0,t.jsx)(o.a,{href:"blocks-storybook",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"do-you-support-block-variations-and-how-can-i-use-them",children:"Do you support block variations, and how can I use them?"}),"\n",(0,t.jsxs)(o.p,{children:["Yes, we do. All block variations are located in the ",(0,t.jsx)(o.code,{children:"src/Blocks/variations"})," folder. For more information about this, please check the ",(0,t.jsx)(o.a,{href:"blocks-variations",children:"variations"})," chapter."]}),"\n",(0,t.jsx)(o.h3,{id:"do-you-support-patterns-and-how-can-i-use-them",children:"Do you support patterns, and how can I use them?"}),"\n",(0,t.jsxs)(o.p,{children:["Yes, we do. For more information, please read the ",(0,t.jsx)(o.a,{href:"blocks-patterns",children:"patterns"})," chapter."]}),"\n",(0,t.jsx)(o.h3,{id:"what-is-a-wrapper",children:"What is a wrapper?"}),"\n",(0,t.jsxs)(o.p,{children:["Read about wrappers in ",(0,t.jsx)(o.a,{href:"blocks-wrapper",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"do-you-support-inner-blocks",children:"Do you support inner blocks?"}),"\n",(0,t.jsxs)(o.p,{children:["Yes, we support everything that the core natively supports. You can find more information on how to use them in ",(0,t.jsx)(o.a,{href:"block-manifest",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"why-do-you-use-manifestjson-in-all-blocks-and-components",children:"Why do you use manifest.json in all blocks and components?"}),"\n",(0,t.jsxs)(o.p,{children:["So that we can provide content, attributes, options, and much more across multiple different files in multiple contexts (in both PHP and JS). You can read all about it in ",(0,t.jsx)(o.a,{href:"block-manifest",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"why-do-you-use-global-manifestjson",children:"Why do you use global manifest.json?"}),"\n",(0,t.jsxs)(o.p,{children:["The answer is the same as the previous one. In the global ",(0,t.jsx)(o.code,{children:"manifest.json"}),", we have options that are shared across all blocks and components. Read more about it in ",(0,t.jsx)(o.a,{href:"blocks-global-manifest",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"if-i-want-to-create-a-new-blockcomponent-what-do-i-do",children:"If I want to create a new block/component, what do I do?"}),"\n",(0,t.jsx)(o.p,{children:"In your terminal, write"}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-shell",children:"wp boilerplate use_block --name=example\n"})}),"\n",(0,t.jsx)(o.p,{children:"and style that block however you seem fit."}),"\n",(0,t.jsx)(o.h3,{id:"what-if-i-add-a-block-and-it-throws-an-error-that-it-is-missing-some-components-what-do-i-do",children:"What if I add a block and it throws an error that it is missing some components, what do I do?"}),"\n",(0,t.jsxs)(o.p,{children:["All blocks/components have some kind of documentation and in that documentation we have a list of dependencies each block/component needs to have in the project in order for it to work. For example you can look in the ",(0,t.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/Blocks/custom/heading/docs/readme.mdx",children:"heading block"}),", as you can see the heading blocks depends on the heading component, so if you install a heading block before heading component it will resolve in to an error. So please be sure that your block/component installation follows the correct order."]}),"\n",(0,t.jsx)(o.h3,{id:"how-can-i-use-your-pre-made-blocks",children:"How can I use your pre-made blocks?"}),"\n",(0,t.jsx)(o.p,{children:"You can check all available blocks/components using these two commands"}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-shell",children:"wp boilerplate use_block --help\n\nwp boilerplate use_component --help\n"})}),"\n",(0,t.jsx)(o.h3,{id:"can-i-use-blockcomponent-from-eightshift-frontend-libs-directly",children:"Can I use block/component from Eightshift-frontend-libs directly?"}),"\n",(0,t.jsxs)(o.p,{children:["It depends. You can't use things from the blocks folder like ",(0,t.jsx)(o.code,{children:"components"}),", ",(0,t.jsx)(o.code,{children:"custom"}),", ",(0,t.jsx)(o.code,{children:"variations"}),", ",(0,t.jsx)(o.code,{children:"wrapper"}),", etc. They are meant to be copied to your project, styled, and changed depending on your project's needs."]}),"\n",(0,t.jsxs)(o.p,{children:["You can move things from a block to your project using the commands described ",(0,t.jsx)(o.a,{href:"#how-can-i-use-your-pre-made-blocks",children:"above"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"i-want-to-change-attributes-on-inner-blocks-how-do-i-do-it",children:"I want to change attributes on inner blocks. How do I do it?"}),"\n",(0,t.jsxs)(o.p,{children:["We described how attributes are used and combined in ",(0,t.jsx)(o.a,{href:"blocks-attributes",children:"this chapter"})," and ",(0,t.jsx)(o.a,{href:"blocks-component-in-block",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"do-i-need-to-write-js-and-php-implementation-for-all-my-blocks",children:"Do I need to write JS and PHP implementation for all my blocks?"}),"\n",(0,t.jsx)(o.p,{children:"For a block, you must provide the JS and PHP implementations because it won't work without them."}),"\n",(0,t.jsx)(o.p,{children:"For components, if you are not using the JS part, you don't need to write one, but we recommend you do so because the JS part is used in Storybook."}),"\n",(0,t.jsxs)(o.p,{children:["If you have a more advanced block and don't benefit from writing the JS implementation of the block, you can always use the ",(0,t.jsx)(o.a,{href:"https://developer.wordpress.org/block-editor/packages/packages-server-side-render/",children:"ServerSideRender component"})," form the core. If you have no inputs in the editor from the admin, there is no need to write JS implementation of the block. Just use ",(0,t.jsx)(o.code,{children:"ServerSideRender"})," component in that case."]}),"\n",(0,t.jsx)(o.h3,{id:"how-do-i-use-components-in-blocks",children:"How do I use components in blocks?"}),"\n",(0,t.jsxs)(o.p,{children:["Please check out ",(0,t.jsx)(o.a,{href:"blocks-component-in-block",children:"this chapter"})," for more information."]}),"\n",(0,t.jsx)(o.h3,{id:"how-do-i-use-multiple-heading-components-in-my-block",children:"How do I use multiple heading components in my block?"}),"\n",(0,t.jsxs)(o.p,{children:["You can follow the instructions given in ",(0,t.jsx)(o.a,{href:"blocks-component-in-block",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"where-can-i-define-my-global-styles",children:"Where can I define my global styles?"}),"\n",(0,t.jsxs)(o.p,{children:["You can follow the instructions given in ",(0,t.jsx)(o.a,{href:"writing-styles",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"where-can-i-define-global-typography-for-all-my-blockscomponents",children:"Where can I define global typography for all my blocks/components?"}),"\n",(0,t.jsxs)(o.p,{children:["You can follow the instructions given in ",(0,t.jsx)(o.a,{href:"writing-styles",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"can-i-make-a-component-with-wp_query-logic-in-it",children:"Can I make a component with WP_Query logic in it?"}),"\n",(0,t.jsx)(o.p,{children:"Yes, you can, but think of the component as a dumb and simple piece of code that should not hold any business logic. A component should only be used as a view. If you need to write WP_Query logic, you can do that in a block and just pass the data to your component as props."}),"\n",(0,t.jsx)(o.h3,{id:"do-i-need-to-make-components-for-all-my-blocks",children:"Do I need to make components for all my blocks?"}),"\n",(0,t.jsx)(o.p,{children:"No, it might look like that from the examples provided, but that is not the case. You should create components depending on your needs."}),"\n",(0,t.jsx)(o.p,{children:"Ask yourself, will I reuse this functionality anywhere else?"}),"\n",(0,t.jsxs)(o.ul,{children:["\n",(0,t.jsxs)(o.li,{children:["If the answer is ",(0,t.jsx)(o.strong,{children:"yes"}),", create a component."]}),"\n",(0,t.jsxs)(o.li,{children:["If the answer is ",(0,t.jsx)(o.strong,{children:"no"}),", don't create a component."]}),"\n"]}),"\n",(0,t.jsx)(o.p,{children:"Our recommendation is not to burden yourself with components from the beginning. Start creating blocks and, if you find yourself in need of code that you already wrote, just extract it in a component."}),"\n",(0,t.jsx)(o.h3,{id:"will-this-setup-work-with-full-site-editing",children:"Will this setup work with full site editing?"}),"\n",(0,t.jsx)(o.p,{children:"Yes, it will. We are constantly upgrading this documentation and our code to say that it will work with full site editing. This boilerplate was made for the Infinum/Eightshift WordPress team, so we are constantly using it in our projects."}),"\n",(0,t.jsx)(o.h3,{id:"can-i-use-core-blocks-with-your-setup",children:"Can I use core blocks with your setup?"}),"\n",(0,t.jsx)(o.p,{children:"Yes, you can. We are working on the ability to override core blocks in our smart way. Until we make this work, you can use everything that is already defined in the core documentation."}),"\n",(0,t.jsx)(o.p,{children:"We avoid using core blocks because they add different class naming and additional markup that makes it harder to style things."}),"\n",(0,t.jsx)(o.p,{children:"Also, they are prone to breaking changes every several months, so we prefer to write our own implementation."}),"\n",(0,t.jsx)(o.h3,{id:"how-can-i-limit-my-blocklist",children:"How can I limit my blocklist?"}),"\n",(0,t.jsxs)(o.p,{children:["Easy. We have a method you can extend that limits your project's block to the only block from your project. You should put this filter in your project's ",(0,t.jsx)(o.code,{children:"src/Blocks/Blocks.php"})," file under the ",(0,t.jsx)(o.code,{children:"register"})," method:"]}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.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,t.jsxs)(o.blockquote,{children:["\n",(0,t.jsx)(o.p,{children:"Important note: For WordPress versions > 5 and < 5.8 you would need to use the example bellow."}),"\n"]}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-php",children:" // Limits the usage of only custom project blocks - legacy.\n add_filter('allowed_block_types', [ $this, 'getAllBlocksListOld' ], 10, 2);\n"})}),"\n",(0,t.jsx)(o.h3,{id:"how-to-allow-only-one-pattern-category",children:"How to allow only one pattern category?"}),"\n",(0,t.jsx)(o.p,{children:(0,t.jsx)(o.em,{children:"Coming soon"})}),"\n",(0,t.jsx)(o.h3,{id:"can-i-have-blocks-in-multiple-categories",children:"Can I have blocks in multiple categories?"}),"\n",(0,t.jsxs)(o.p,{children:["In your block manifest, you can define in what category your block will appear. You can create a new category for your project or use our category. We created our category called ",(0,t.jsx)(o.code,{children:"eightshift"})," using this filter:"]}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-php",children:" // Create a new custom category for custom blocks.\n add_filter('block_categories', [ $this, 'getCustomCategory' ]);\n"})}),"\n",(0,t.jsx)(o.h3,{id:"how-can-i-add-a-new-blocks-category",children:"How can I add a new blocks category?"}),"\n",(0,t.jsx)(o.p,{children:"You can provide your implementation, or you can extend our method for registering a custom category. Here is how you do it:"}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-php",children:" /**\n * Register all the hooks\n *\n * @return void\n */\npublic function register(): void\n{\n // Create a new custom category for custom blocks.\n add_filter('block_categories', [ $this, 'getCustomCategory' ]);\n}\n\n /**\n * Create a custom category to assign all custom blocks\n *\n * This category will be shown on all blocks list in the \"Add Block\" button.\n *\n * @param array[] $categories Array of all block categories.\n * @param \\WP_Post $post Post being loaded.\n *\n * @return array[] Array of block categories.\n */\npublic function getCustomCategory(array $categories, \\WP_Post $post): array\n{\n return array_merge(\n parent::getCustomCategory($categories, $post),\n [\n [\n 'slug' => 'custom-category-name',\n 'title' => \\esc_html__('Custom Category', 'project-text-domain'),\n 'icon' => 'admin-settings',\n ],\n ]\n );\n}\n"})}),"\n",(0,t.jsx)(o.h3,{id:"what-if-you-dont-yet-support-something-from-the-native-setup-what-can-i-do",children:"What if you don't yet support something from the native setup? What can I do?"}),"\n",(0,t.jsxs)(o.p,{children:["As we described in ",(0,t.jsx)(o.a,{href:"blocks",children:"this chapter"}),", if we don't support something natively from the core or you can't find it in this documentation, you can always use it in the normal native way from the ",(0,t.jsx)(o.a,{href:"https://developer.wordpress.org/block-editor/tutorials/block-tutorial/",children:"WordPress documentation"}),". Also, if you think we are missing something, please open a ",(0,t.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/pulls",children:"pull request"})," or an ",(0,t.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/issues",children:"issue"})," on our GitHub repository."]}),"\n",(0,t.jsxs)(o.h3,{id:"why-is-my-blocks-folder-called-custom-and-not-blocks-for-example",children:["Why is my blocks folder called ",(0,t.jsx)(o.code,{children:"custom"})," and not ",(0,t.jsx)(o.code,{children:"blocks"}),", for example?"]}),"\n",(0,t.jsx)(o.p,{children:"The idea was to put all your custom blocks inside the custom folder and all core block in the core folder. This boilerplate is not designed only for your custom block, but you can use it as an ultimate block setup."}),"\n",(0,t.jsxs)(o.p,{children:["And folder structure ",(0,t.jsx)(o.code,{children:"src/Blocks/blocks"})," is kind of weird."]}),"\n",(0,t.jsx)(o.h3,{id:"in-the-global-manifest-you-have-a-key-called-customblocksname-eightshift-block-can-i-change-this-to-my-project-name-block",children:"In the global manifest, you have a key called \u201ccustomBlocksName\u201d: \u201ceightshift-block\u201d. Can I change this to my-project-name-block?"}),"\n",(0,t.jsx)(o.p,{children:"You can, but you shouldn't. We use this key to provide the CSS selectors on all our custom blocks in the block editor. Additional styles are added to this selector for the wrapper to work on full width and remove some of the native block editor styles."}),"\n",(0,t.jsx)(o.p,{children:"So don't remove or change this \ud83d\ude05."}),"\n",(0,t.jsx)(o.h3,{id:"simple-vs-compound-blocks",children:"Simple vs Compound blocks"}),"\n",(0,t.jsx)(o.p,{children:"In a nutshell, there is no difference between blocks. The WordPress core block is a block, but we like to make a distinction between what is simple and what is a compound block."}),"\n",(0,t.jsxs)(o.p,{children:[(0,t.jsx)(o.strong,{children:"Simple block"})," is a block that is used just as is and provides a small isolated functionality. For example: heading, paragraph, button, etc."]}),"\n",(0,t.jsxs)(o.p,{children:[(0,t.jsx)(o.strong,{children:"Compound block"})," is a block built from multiple components. For example: card, featured posts, etc"]}),"\n",(0,t.jsx)(o.h3,{id:"naming-is-hard",children:"Naming is hard"}),"\n",(0,t.jsx)(o.p,{children:(0,t.jsx)(o.em,{children:"There are only two hard things in Computer Science: cache invalidation and naming things. - Phil Karlton"})}),"\n",(0,t.jsx)(o.p,{children:"Yes, naming is hard, and no matter how long your development experience is you will always struggle with names for your components, block, files, variables, functions, etc."}),"\n",(0,t.jsx)(o.p,{children:"Here are some of our recommendations to ease your pain:"}),"\n",(0,t.jsxs)(o.ul,{children:["\n",(0,t.jsxs)(o.li,{children:["Always try to name your block based on ",(0,t.jsx)(o.strong,{children:"what they are"}),", rather than ",(0,t.jsx)(o.strong,{children:"what they will be used for"}),". For example, if you have a component card for custom post-type ",(0,t.jsx)(o.code,{children:"books"}),", you should never call this component ",(0,t.jsx)(o.code,{children:"card-book"}),". Instead, use a more generic name like ",(0,t.jsx)(o.code,{children:"card-product"}),"."]}),"\n",(0,t.jsx)(o.li,{children:"Make your names as generic as possible for better reusability, but specific enough to fully understand what the block/component is used for."}),"\n",(0,t.jsx)(o.li,{children:"Always think about the future. How can this feature be used in some other way?"}),"\n",(0,t.jsxs)(o.li,{children:['When naming your attributes ask yourself: "is this attribute going to be used in any other way?". For example, you have an attribute for adding font-weight: bold to your text. You can create an attribute called font-weight and set it as a ',(0,t.jsx)(o.code,{children:"boolean"})," type and that will be ok if you have only one font-weight. A better way would be to put it as a string and provide a ",(0,t.jsx)(o.code,{children:"SelectControl"})," component if there is any possibility that in the future you will have additional font-weight."]}),"\n",(0,t.jsxs)(o.li,{children:["Name booleans positively as a question. Example: ",(0,t.jsx)(o.code,{children:"isValid"}),", ",(0,t.jsx)(o.code,{children:"isLoading"}),", ",(0,t.jsx)(o.code,{children:"isComplete"}),"."]}),"\n",(0,t.jsx)(o.li,{children:"Don\u2019t hesitate to use longer names."}),"\n",(0,t.jsx)(o.li,{children:"Use singular names."}),"\n",(0,t.jsx)(o.li,{children:"The variables or functions should be named by their work: Name of variables/functions should always try to express their meaning without diving into the code base try to pack meaningful information inside the name."}),"\n",(0,t.jsx)(o.li,{children:"Naming should be simple enough to be understood by everyone: Using complex words to describe a simple thing only creates hassle while reading the code. Also, use simple English."}),"\n",(0,t.jsx)(o.li,{children:"You might not be the only person working on your particular project in the future. Think about the next person. Your naming will provide an insight into the process and project."}),"\n",(0,t.jsxs)(o.li,{children:[(0,t.jsx)(o.strong,{children:"BE CONSISTENT"}),"."]}),"\n"]})]})}function h(e={}){const{wrapper:o}={...(0,s.M)(),...e.components};return o?(0,t.jsx)(o,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},4552:(e,o,n)=>{n.d(o,{I:()=>l,M:()=>a});var t=n(11504);const s={},i=t.createContext(s);function a(e){const o=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function l(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),t.createElement(i.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d817bad3.18bee685.js b/assets/js/d817bad3.18bee685.js new file mode 100644 index 000000000..accb625ab --- /dev/null +++ b/assets/js/d817bad3.18bee685.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[60796],{52884:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>a,contentTitle:()=>o,default:()=>h,frontMatter:()=>n,metadata:()=>d,toc:()=>m});var r=s(17624),i=s(4552);const n={id:"available-events",title:"Available events"},o=void 0,d={id:"javascript/events/available-events",title:"Available events",description:"You can listen to these events by using the on method on the Event facade.",source:"@site/forms/javascript/events/available-events.mdx",sourceDirName:"javascript/events",slug:"/javascript/events/available-events",permalink:"/forms/javascript/events/available-events",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"available-events",title:"Available events"},sidebar:"forms",previous:{title:"Intro",permalink:"/forms/javascript/intro"},next:{title:"How to use?",permalink:"/forms/javascript/events/how-to-use"}},a={},m=[{value:"esFormsBeforeFormSubmit",id:"esformsbeforeformsubmit",level:3},{value:"esFormsAfterFormSubmit",id:"esformsafterformsubmit",level:3},{value:"esFormsAfterFormSubmitSuccess",id:"esformsafterformsubmitsuccess",level:3},{value:"esFormsAfterFormSubmitError",id:"esformsafterformsubmiterror",level:3},{value:"esFormsAfterFormSubmitErrorValidation",id:"esformsafterformsubmiterrorvalidation",level:3},{value:"esFormsAfterFormSubmitEnd",id:"esformsafterformsubmitend",level:3},{value:"esFormsAfterGtmDataPush",id:"esformsaftergtmdatapush",level:3},{value:"esFormsAfterFormSubmitReset",id:"esformsafterformsubmitreset",level:3},{value:"esFormsAfterFormSubmitSuccessBeforeRedirect",id:"esformsafterformsubmitsuccessbeforeredirect",level:3},{value:"esFormsJsFormLoaded",id:"esformsjsformloaded",level:3},{value:"esFormsManualInitLoaded",id:"esformsmanualinitloaded",level:3},{value:"esFormsAfterCaptchaInit",id:"esformsaftercaptchainit",level:3},{value:"esFormsGoToNextStep",id:"esformsgotonextstep",level:3},{value:"esFormsGoToPrevStep",id:"esformsgotoprevstep",level:3},{value:"esFormsEnrichmentPrefill",id:"esformsenrichmentprefill",level:3}];function l(e){const t={a:"a",admonition:"admonition",code:"code",h3:"h3",p:"p",...(0,i.M)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(t.p,{children:["You can listen to these events by using the ",(0,r.jsx)(t.code,{children:"on"})," method on the ",(0,r.jsx)(t.code,{children:"Event"})," facade."]}),"\n",(0,r.jsxs)(t.p,{children:["Every event contains the whole window object inside the details property.\nThis way you can be sure that everything is set and ready to be used. Additionally if an event is a part of the ",(0,r.jsx)(t.code,{children:"after"})," event you can use the ",(0,r.jsx)(t.code,{children:"additional"})," property to get the API response details."]}),"\n",(0,r.jsx)(t.admonition,{type:"note",children:(0,r.jsxs)(t.p,{children:["List of all events can be found ",(0,r.jsx)(t.a,{href:"https://github.com/infinum/eightshift-forms/blob/develop/src/Blocks/manifest.json",children:"here"}),"."]})}),"\n",(0,r.jsx)(t.h3,{id:"esformsbeforeformsubmit",children:"esFormsBeforeFormSubmit"}),"\n",(0,r.jsx)(t.p,{children:"Triggered before form is submitted to the API-Rest endpoint."}),"\n",(0,r.jsx)(t.admonition,{type:"tip",children:(0,r.jsx)(t.p,{children:"This event is set on the form element."})}),"\n",(0,r.jsx)(t.h3,{id:"esformsafterformsubmit",children:"esFormsAfterFormSubmit"}),"\n",(0,r.jsx)(t.p,{children:"Triggered after form is submitted to the API-Rest endpoint but before the response is processed."}),"\n",(0,r.jsx)(t.admonition,{type:"tip",children:(0,r.jsx)(t.p,{children:"This event is set on the form element."})}),"\n",(0,r.jsx)(t.h3,{id:"esformsafterformsubmitsuccess",children:"esFormsAfterFormSubmitSuccess"}),"\n",(0,r.jsx)(t.p,{children:"Triggered after form is submitted to the API-Rest endpoint and the response is processed with success."}),"\n",(0,r.jsx)(t.admonition,{type:"tip",children:(0,r.jsx)(t.p,{children:"This event is set on the form element."})}),"\n",(0,r.jsx)(t.h3,{id:"esformsafterformsubmiterror",children:"esFormsAfterFormSubmitError"}),"\n",(0,r.jsx)(t.p,{children:"Triggered after form is submitted to the API-Rest endpoint and the response is processed with general error."}),"\n",(0,r.jsx)(t.admonition,{type:"tip",children:(0,r.jsx)(t.p,{children:"This event is set on the form element."})}),"\n",(0,r.jsx)(t.h3,{id:"esformsafterformsubmiterrorvalidation",children:"esFormsAfterFormSubmitErrorValidation"}),"\n",(0,r.jsx)(t.p,{children:"Triggered after form is submitted to the API-Rest endpoint and the response is processed with validation error."}),"\n",(0,r.jsx)(t.admonition,{type:"tip",children:(0,r.jsx)(t.p,{children:"This event is set on the form element."})}),"\n",(0,r.jsx)(t.h3,{id:"esformsafterformsubmitend",children:"esFormsAfterFormSubmitEnd"}),"\n",(0,r.jsx)(t.p,{children:"Triggered after form is submitted to the API-Rest endpoint and the response is fully processed and the form is ready for another submit."}),"\n",(0,r.jsx)(t.admonition,{type:"tip",children:(0,r.jsx)(t.p,{children:"This event is set on the form element."})}),"\n",(0,r.jsx)(t.h3,{id:"esformsaftergtmdatapush",children:"esFormsAfterGtmDataPush"}),"\n",(0,r.jsx)(t.p,{children:"Triggered after GTM dataLAyer is pushed. This happens after form is submitted to the API-Rest endpoint and the response is processed with success."}),"\n",(0,r.jsx)(t.admonition,{type:"tip",children:(0,r.jsx)(t.p,{children:"This event is set on the form element."})}),"\n",(0,r.jsx)(t.h3,{id:"esformsafterformsubmitreset",children:"esFormsAfterFormSubmitReset"}),"\n",(0,r.jsx)(t.p,{children:"Triggered after form is submitted to the API-Rest endpoint and the response is processed with success after which the form is reset to its original state."}),"\n",(0,r.jsx)(t.admonition,{type:"tip",children:(0,r.jsx)(t.p,{children:"This event is set on the form element."})}),"\n",(0,r.jsx)(t.h3,{id:"esformsafterformsubmitsuccessbeforeredirect",children:"esFormsAfterFormSubmitSuccessBeforeRedirect"}),"\n",(0,r.jsx)(t.p,{children:"Triggered after form is submitted to the API-Rest endpoint and the response is processed with success right before redirect action triggers."}),"\n",(0,r.jsx)(t.admonition,{type:"tip",children:(0,r.jsx)(t.p,{children:"This event is set on the form element."})}),"\n",(0,r.jsx)(t.h3,{id:"esformsjsformloaded",children:"esFormsJsFormLoaded"}),"\n",(0,r.jsx)(t.p,{children:"Triggered when all JavaScript on the form is loaded and form is ready to be used."}),"\n",(0,r.jsx)(t.admonition,{type:"tip",children:(0,r.jsx)(t.p,{children:"This event is set on the window element."})}),"\n",(0,r.jsx)(t.h3,{id:"esformsmanualinitloaded",children:"esFormsManualInitLoaded"}),"\n",(0,r.jsx)(t.p,{children:"Triggered when manual initialization option is used from the forms global settings and the form is ready to be maunually initialized."}),"\n",(0,r.jsx)(t.admonition,{type:"tip",children:(0,r.jsx)(t.p,{children:"This event is set on the window element."})}),"\n",(0,r.jsx)(t.h3,{id:"esformsaftercaptchainit",children:"esFormsAfterCaptchaInit"}),"\n",(0,r.jsx)(t.p,{children:"Triggered after captcha score is calculated and returned via REST-API. Only used if captcha is used on every page load."}),"\n",(0,r.jsx)(t.admonition,{type:"tip",children:(0,r.jsx)(t.p,{children:"This event is set on the window element."})}),"\n",(0,r.jsx)(t.h3,{id:"esformsgotonextstep",children:"esFormsGoToNextStep"}),"\n",(0,r.jsx)(t.p,{children:"Triggered after multi-step/multi-flow form is used and the next step is loaded."}),"\n",(0,r.jsx)(t.admonition,{type:"tip",children:(0,r.jsx)(t.p,{children:"This event is set on the form element."})}),"\n",(0,r.jsx)(t.h3,{id:"esformsgotoprevstep",children:"esFormsGoToPrevStep"}),"\n",(0,r.jsx)(t.p,{children:"Triggered after multi-step/multi-flow form is used and the previous step is loaded."}),"\n",(0,r.jsx)(t.admonition,{type:"tip",children:(0,r.jsx)(t.p,{children:"This event is set on the form element."})}),"\n",(0,r.jsx)(t.h3,{id:"esformsenrichmentprefill",children:"esFormsEnrichmentPrefill"}),"\n",(0,r.jsxs)(t.p,{children:["Triggered after enrichment data is pre-filled from ",(0,r.jsx)(t.code,{children:"localStorage"}),"."]}),"\n",(0,r.jsx)(t.admonition,{type:"tip",children:(0,r.jsx)(t.p,{children:"This event is set on the form element."})})]})}function h(e={}){const{wrapper:t}={...(0,i.M)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},4552:(e,t,s)=>{s.d(t,{I:()=>d,M:()=>o});var r=s(11504);const i={},n=r.createContext(i);function o(e){const t=r.useContext(n);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),r.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d817bad3.ba15b2d0.js b/assets/js/d817bad3.ba15b2d0.js deleted file mode 100644 index 21699f23a..000000000 --- a/assets/js/d817bad3.ba15b2d0.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[86487],{39920:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>a,contentTitle:()=>o,default:()=>h,frontMatter:()=>n,metadata:()=>d,toc:()=>m});var r=s(85893),i=s(11151);const n={id:"available-events",title:"Available events"},o=void 0,d={id:"javascript/events/available-events",title:"Available events",description:"You can listen to these events by using the on method on the Event facade.",source:"@site/forms/javascript/events/available-events.mdx",sourceDirName:"javascript/events",slug:"/javascript/events/available-events",permalink:"/forms/javascript/events/available-events",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"available-events",title:"Available events"},sidebar:"forms",previous:{title:"Intro",permalink:"/forms/javascript/intro"},next:{title:"How to use?",permalink:"/forms/javascript/events/how-to-use"}},a={},m=[{value:"esFormsBeforeFormSubmit",id:"esformsbeforeformsubmit",level:3},{value:"esFormsAfterFormSubmit",id:"esformsafterformsubmit",level:3},{value:"esFormsAfterFormSubmitSuccess",id:"esformsafterformsubmitsuccess",level:3},{value:"esFormsAfterFormSubmitError",id:"esformsafterformsubmiterror",level:3},{value:"esFormsAfterFormSubmitErrorValidation",id:"esformsafterformsubmiterrorvalidation",level:3},{value:"esFormsAfterFormSubmitEnd",id:"esformsafterformsubmitend",level:3},{value:"esFormsAfterGtmDataPush",id:"esformsaftergtmdatapush",level:3},{value:"esFormsAfterFormSubmitReset",id:"esformsafterformsubmitreset",level:3},{value:"esFormsAfterFormSubmitSuccessBeforeRedirect",id:"esformsafterformsubmitsuccessbeforeredirect",level:3},{value:"esFormsJsFormLoaded",id:"esformsjsformloaded",level:3},{value:"esFormsManualInitLoaded",id:"esformsmanualinitloaded",level:3},{value:"esFormsAfterCaptchaInit",id:"esformsaftercaptchainit",level:3},{value:"esFormsGoToNextStep",id:"esformsgotonextstep",level:3},{value:"esFormsGoToPrevStep",id:"esformsgotoprevstep",level:3},{value:"esFormsEnrichmentPrefill",id:"esformsenrichmentprefill",level:3}];function l(e){const t={a:"a",admonition:"admonition",code:"code",h3:"h3",p:"p",...(0,i.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(t.p,{children:["You can listen to these events by using the ",(0,r.jsx)(t.code,{children:"on"})," method on the ",(0,r.jsx)(t.code,{children:"Event"})," facade."]}),"\n",(0,r.jsxs)(t.p,{children:["Every event contains the whole window object inside the details property.\nThis way you can be sure that everything is set and ready to be used. Additionally if an event is a part of the ",(0,r.jsx)(t.code,{children:"after"})," event you can use the ",(0,r.jsx)(t.code,{children:"additional"})," property to get the API response details."]}),"\n",(0,r.jsx)(t.admonition,{type:"note",children:(0,r.jsxs)(t.p,{children:["List of all events can be found ",(0,r.jsx)(t.a,{href:"https://github.com/infinum/eightshift-forms/blob/develop/src/Blocks/manifest.json",children:"here"}),"."]})}),"\n",(0,r.jsx)(t.h3,{id:"esformsbeforeformsubmit",children:"esFormsBeforeFormSubmit"}),"\n",(0,r.jsx)(t.p,{children:"Triggered before form is submitted to the API-Rest endpoint."}),"\n",(0,r.jsx)(t.admonition,{type:"tip",children:(0,r.jsx)(t.p,{children:"This event is set on the form element."})}),"\n",(0,r.jsx)(t.h3,{id:"esformsafterformsubmit",children:"esFormsAfterFormSubmit"}),"\n",(0,r.jsx)(t.p,{children:"Triggered after form is submitted to the API-Rest endpoint but before the response is processed."}),"\n",(0,r.jsx)(t.admonition,{type:"tip",children:(0,r.jsx)(t.p,{children:"This event is set on the form element."})}),"\n",(0,r.jsx)(t.h3,{id:"esformsafterformsubmitsuccess",children:"esFormsAfterFormSubmitSuccess"}),"\n",(0,r.jsx)(t.p,{children:"Triggered after form is submitted to the API-Rest endpoint and the response is processed with success."}),"\n",(0,r.jsx)(t.admonition,{type:"tip",children:(0,r.jsx)(t.p,{children:"This event is set on the form element."})}),"\n",(0,r.jsx)(t.h3,{id:"esformsafterformsubmiterror",children:"esFormsAfterFormSubmitError"}),"\n",(0,r.jsx)(t.p,{children:"Triggered after form is submitted to the API-Rest endpoint and the response is processed with general error."}),"\n",(0,r.jsx)(t.admonition,{type:"tip",children:(0,r.jsx)(t.p,{children:"This event is set on the form element."})}),"\n",(0,r.jsx)(t.h3,{id:"esformsafterformsubmiterrorvalidation",children:"esFormsAfterFormSubmitErrorValidation"}),"\n",(0,r.jsx)(t.p,{children:"Triggered after form is submitted to the API-Rest endpoint and the response is processed with validation error."}),"\n",(0,r.jsx)(t.admonition,{type:"tip",children:(0,r.jsx)(t.p,{children:"This event is set on the form element."})}),"\n",(0,r.jsx)(t.h3,{id:"esformsafterformsubmitend",children:"esFormsAfterFormSubmitEnd"}),"\n",(0,r.jsx)(t.p,{children:"Triggered after form is submitted to the API-Rest endpoint and the response is fully processed and the form is ready for another submit."}),"\n",(0,r.jsx)(t.admonition,{type:"tip",children:(0,r.jsx)(t.p,{children:"This event is set on the form element."})}),"\n",(0,r.jsx)(t.h3,{id:"esformsaftergtmdatapush",children:"esFormsAfterGtmDataPush"}),"\n",(0,r.jsx)(t.p,{children:"Triggered after GTM dataLAyer is pushed. This happens after form is submitted to the API-Rest endpoint and the response is processed with success."}),"\n",(0,r.jsx)(t.admonition,{type:"tip",children:(0,r.jsx)(t.p,{children:"This event is set on the form element."})}),"\n",(0,r.jsx)(t.h3,{id:"esformsafterformsubmitreset",children:"esFormsAfterFormSubmitReset"}),"\n",(0,r.jsx)(t.p,{children:"Triggered after form is submitted to the API-Rest endpoint and the response is processed with success after which the form is reset to its original state."}),"\n",(0,r.jsx)(t.admonition,{type:"tip",children:(0,r.jsx)(t.p,{children:"This event is set on the form element."})}),"\n",(0,r.jsx)(t.h3,{id:"esformsafterformsubmitsuccessbeforeredirect",children:"esFormsAfterFormSubmitSuccessBeforeRedirect"}),"\n",(0,r.jsx)(t.p,{children:"Triggered after form is submitted to the API-Rest endpoint and the response is processed with success right before redirect action triggers."}),"\n",(0,r.jsx)(t.admonition,{type:"tip",children:(0,r.jsx)(t.p,{children:"This event is set on the form element."})}),"\n",(0,r.jsx)(t.h3,{id:"esformsjsformloaded",children:"esFormsJsFormLoaded"}),"\n",(0,r.jsx)(t.p,{children:"Triggered when all JavaScript on the form is loaded and form is ready to be used."}),"\n",(0,r.jsx)(t.admonition,{type:"tip",children:(0,r.jsx)(t.p,{children:"This event is set on the window element."})}),"\n",(0,r.jsx)(t.h3,{id:"esformsmanualinitloaded",children:"esFormsManualInitLoaded"}),"\n",(0,r.jsx)(t.p,{children:"Triggered when manual initialization option is used from the forms global settings and the form is ready to be maunually initialized."}),"\n",(0,r.jsx)(t.admonition,{type:"tip",children:(0,r.jsx)(t.p,{children:"This event is set on the window element."})}),"\n",(0,r.jsx)(t.h3,{id:"esformsaftercaptchainit",children:"esFormsAfterCaptchaInit"}),"\n",(0,r.jsx)(t.p,{children:"Triggered after captcha score is calculated and returned via REST-API. Only used if captcha is used on every page load."}),"\n",(0,r.jsx)(t.admonition,{type:"tip",children:(0,r.jsx)(t.p,{children:"This event is set on the window element."})}),"\n",(0,r.jsx)(t.h3,{id:"esformsgotonextstep",children:"esFormsGoToNextStep"}),"\n",(0,r.jsx)(t.p,{children:"Triggered after multi-step/multi-flow form is used and the next step is loaded."}),"\n",(0,r.jsx)(t.admonition,{type:"tip",children:(0,r.jsx)(t.p,{children:"This event is set on the form element."})}),"\n",(0,r.jsx)(t.h3,{id:"esformsgotoprevstep",children:"esFormsGoToPrevStep"}),"\n",(0,r.jsx)(t.p,{children:"Triggered after multi-step/multi-flow form is used and the previous step is loaded."}),"\n",(0,r.jsx)(t.admonition,{type:"tip",children:(0,r.jsx)(t.p,{children:"This event is set on the form element."})}),"\n",(0,r.jsx)(t.h3,{id:"esformsenrichmentprefill",children:"esFormsEnrichmentPrefill"}),"\n",(0,r.jsxs)(t.p,{children:["Triggered after enrichment data is pre-filled from ",(0,r.jsx)(t.code,{children:"localStorage"}),"."]}),"\n",(0,r.jsx)(t.admonition,{type:"tip",children:(0,r.jsx)(t.p,{children:"This event is set on the form element."})})]})}function h(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},11151:(e,t,s)=>{s.d(t,{Z:()=>d,a:()=>o});var r=s(67294);const i={},n=r.createContext(i);function o(e){const t=r.useContext(n);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),r.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d845213b.3f50a9a0.js b/assets/js/d845213b.3f50a9a0.js deleted file mode 100644 index cb61d099f..000000000 --- a/assets/js/d845213b.3f50a9a0.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[61496],{83145:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>c,default:()=>h,frontMatter:()=>o,metadata:()=>r,toc:()=>a});var n=i(85893),s=i(11151);const o={id:"rest-field",title:"REST Field"},c=void 0,r={id:"legacy/v7/basics/rest-field",title:"REST Field",description:"docs-source",source:"@site/docs/legacy/v7/basics/rest-field.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/rest-field",permalink:"/docs/legacy/v7/basics/rest-field",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"rest-field",title:"REST Field"},sidebar:"docs",previous:{title:"REST Intro",permalink:"/docs/legacy/v7/basics/rest"},next:{title:"REST Route",permalink:"/docs/legacy/v7/basics/rest-route"}},l={},a=[{value:"Test it in action",id:"test-it-in-action",level:2}];function d(e){const t={a:"a",blockquote:"blockquote",code:"code",h2:"h2",img:"img",p:"p",...(0,s.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/5.0.0",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(t.p,{children:"This class is used to update an existing REST API Field or provide a new field to the existing REST API."}),"\n",(0,n.jsx)(t.p,{children:"To create a new class for extending an REST API field, run this command:"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"wp boilerplate create_rest_field"})}),"\n",(0,n.jsxs)(t.p,{children:["The output will ask you to input the correct field name and object type (post, get, etc.). Everything else will be done for you, setting the namespace, package, vendor prefixes, class, and folder name, and you will be set to write your field implementation in the ",(0,n.jsx)(t.code,{children:"fieldCallback"})," method."]}),"\n",(0,n.jsx)(t.h2,{id:"test-it-in-action",children:"Test it in action"}),"\n",(0,n.jsxs)(t.p,{children:["To test it in action, you should check the ",(0,n.jsx)(t.code,{children:"wp-json"})," path in your browser. You can do something like this:"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"domain.ext/wp-json/routeNamespace/routeVersion/routeName"})}),"\n",(0,n.jsx)(t.p,{children:"and find the field name."}),"\n",(0,n.jsxs)(t.blockquote,{children:["\n",(0,n.jsx)(t.p,{children:"This link will be different based on your project implementation."}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},11151:(e,t,i)=>{i.d(t,{Z:()=>r,a:()=>c});var n=i(67294);const s={},o=n.createContext(s);function c(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:c(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d845213b.7e95e71d.js b/assets/js/d845213b.7e95e71d.js new file mode 100644 index 000000000..cc60b0a76 --- /dev/null +++ b/assets/js/d845213b.7e95e71d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[25288],{85224:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>c,default:()=>h,frontMatter:()=>o,metadata:()=>r,toc:()=>a});var n=i(17624),s=i(4552);const o={id:"rest-field",title:"REST Field"},c=void 0,r={id:"legacy/v7/basics/rest-field",title:"REST Field",description:"docs-source",source:"@site/docs/legacy/v7/basics/rest-field.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/rest-field",permalink:"/docs/legacy/v7/basics/rest-field",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"rest-field",title:"REST Field"},sidebar:"docs",previous:{title:"REST Intro",permalink:"/docs/legacy/v7/basics/rest"},next:{title:"REST Route",permalink:"/docs/legacy/v7/basics/rest-route"}},l={},a=[{value:"Test it in action",id:"test-it-in-action",level:2}];function d(e){const t={a:"a",blockquote:"blockquote",code:"code",h2:"h2",img:"img",p:"p",...(0,s.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/5.0.0",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(t.p,{children:"This class is used to update an existing REST API Field or provide a new field to the existing REST API."}),"\n",(0,n.jsx)(t.p,{children:"To create a new class for extending an REST API field, run this command:"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"wp boilerplate create_rest_field"})}),"\n",(0,n.jsxs)(t.p,{children:["The output will ask you to input the correct field name and object type (post, get, etc.). Everything else will be done for you, setting the namespace, package, vendor prefixes, class, and folder name, and you will be set to write your field implementation in the ",(0,n.jsx)(t.code,{children:"fieldCallback"})," method."]}),"\n",(0,n.jsx)(t.h2,{id:"test-it-in-action",children:"Test it in action"}),"\n",(0,n.jsxs)(t.p,{children:["To test it in action, you should check the ",(0,n.jsx)(t.code,{children:"wp-json"})," path in your browser. You can do something like this:"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"domain.ext/wp-json/routeNamespace/routeVersion/routeName"})}),"\n",(0,n.jsx)(t.p,{children:"and find the field name."}),"\n",(0,n.jsxs)(t.blockquote,{children:["\n",(0,n.jsx)(t.p,{children:"This link will be different based on your project implementation."}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,s.M)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},4552:(e,t,i)=>{i.d(t,{I:()=>r,M:()=>c});var n=i(11504);const s={},o=n.createContext(s);function c(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:c(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d88895d1.34ba02b1.js b/assets/js/d88895d1.34ba02b1.js deleted file mode 100644 index 24bd434ad..000000000 --- a/assets/js/d88895d1.34ba02b1.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[11528],{97068:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>u,frontMatter:()=>s,metadata:()=>a,toc:()=>l});var o=n(85893),r=n(11151);const s={id:"browsersync",title:"Browsersync"},i=void 0,a={id:"legacy/v4/advanced/browsersync",title:"Browsersync",description:"docs-source",source:"@site/docs/legacy/v4/advanced/browsersync.md",sourceDirName:"legacy/v4/advanced",slug:"/legacy/v4/advanced/browsersync",permalink:"/docs/legacy/v4/advanced/browsersync",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"browsersync",title:"Browsersync"},sidebar:"docs",previous:{title:"Webpack",permalink:"/docs/legacy/v4/advanced/webpack"},next:{title:"Aliases",permalink:"/docs/legacy/v4/advanced/helpers-aliases-helpers"}},c={},l=[{value:"Override default functionality",id:"override-default-functionality",level:2}];function d(e){const t={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",...(0,r.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/v2.0.0/webpack/development.js",children:(0,o.jsx)(t.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.a,{href:"https://browsersync.io/docs",children:"Browsersync"})," is a Node module that enables you to develop sites faster. It will react to any code change and will 'refresh' the site without you needing to refresh it. In the background, it runs a small local server. When configured it will inject a script on your web page that will react to any code change."]}),"\n",(0,o.jsx)(t.p,{children:"Besides that, you can test your site on various devices on the same network."}),"\n",(0,o.jsx)(t.p,{children:"If comes by default with the libs, and when you run:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-bash",children:"npm start\n"})}),"\n",(0,o.jsxs)(t.p,{children:["it will proxy the page you've specified in the ",(0,o.jsx)(t.code,{children:"projectUrl"})," to your local server"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-bash",children:"[Browsersync] Proxying: https://local-url.test\n[Browsersync] Access URLs:\n --------------------------------------\n Local: https://localhost:3000\n External: https://192.168.0.25:3000\n --------------------------------------\n UI: http://localhost:3001\n UI External: http://localhost:3001\n --------------------------------------\n"})}),"\n",(0,o.jsx)(t.p,{children:"Using the IP address you can open it on any device (mobile phone or a tablet) that is connected to the same network and you'll see how your site looks like on them."}),"\n",(0,o.jsx)(t.h2,{id:"override-default-functionality",children:"Override default functionality"}),"\n",(0,o.jsx)(t.p,{children:"If you need to override the default settings (because you are using https, or want to change some default configuration), you'll first need to disable the default config and add your own."}),"\n",(0,o.jsxs)(t.p,{children:["For example, if you want to use ",(0,o.jsx)(t.code,{children:"https"})," instead of ",(0,o.jsx)(t.code,{children:"http"})," in your local development you'd put in your ",(0,o.jsx)(t.code,{children:"webpack.config.js"}),":"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-js",children:"/* eslint-disable import/no-dynamic-require, global-require */\n\nconst BrowserSyncPlugin = require('browser-sync-webpack-plugin');\n\n/**\n * This is a main entrypoint for Webpack config.\n * All the settings are pulled from node_modules/@eightshift/frontend-libs/webpack.\n * We are loading mostly used configuration but you can always override or turn off the default setup and provide your own.\n * Please referer to Eightshift-libs wiki for details.\n */\nmodule.exports = (env, argv) => {\n\n\tconst projectConfig = {\n\t\tconfig: {\n\t\t\tprojectDir: __dirname, // Current project directory absolute path.\n\t\t\tprojectUrl: 'local-url.test', // Used for providing browsersync functionality.\n\t\t\tprojectPath: 'wp-content/themes/your-theme-name', // Project path relative to project root.\n\t\t},\n\t\toverrides: [\n\t\t\t'browserSyncPlugin', // Disable the default.\n\t\t],\n\t};\n\n\t// Generate webpack config for this project using options object.\n\tconst project = require('./node_modules/@eightshift/frontend-libs/webpack')(argv.mode, projectConfig);\n\n\treturn {\n\t\t...project,\n\t\tplugins: [\n\t\t\t...project.plugins,\n\t\t\tnew BrowserSyncPlugin({\n\t\t\t\thost: 'localhost',\n\t\t\t\tport: 3000,\n\t\t\t\tproxy: 'https://local-url.test', // It's important to add the protocol when using https!\n\t\t\t\thttps: true,\n\t\t\t}, {\n\t\t\t\treload: false,\n\t\t\t}),\n\t\t],\n\t};\n};\n"})})]})}function u(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},11151:(e,t,n)=>{n.d(t,{Z:()=>a,a:()=>i});var o=n(67294);const r={},s=o.createContext(r);function i(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(r):e.components||r:i(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d88895d1.b4625c52.js b/assets/js/d88895d1.b4625c52.js new file mode 100644 index 000000000..50ee7c464 --- /dev/null +++ b/assets/js/d88895d1.b4625c52.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[48864],{85940:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>i,default:()=>u,frontMatter:()=>s,metadata:()=>c,toc:()=>l});var o=n(17624),r=n(4552);const s={id:"browsersync",title:"Browsersync"},i=void 0,c={id:"legacy/v4/advanced/browsersync",title:"Browsersync",description:"docs-source",source:"@site/docs/legacy/v4/advanced/browsersync.md",sourceDirName:"legacy/v4/advanced",slug:"/legacy/v4/advanced/browsersync",permalink:"/docs/legacy/v4/advanced/browsersync",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"browsersync",title:"Browsersync"},sidebar:"docs",previous:{title:"Webpack",permalink:"/docs/legacy/v4/advanced/webpack"},next:{title:"Aliases",permalink:"/docs/legacy/v4/advanced/helpers-aliases-helpers"}},a={},l=[{value:"Override default functionality",id:"override-default-functionality",level:2}];function d(e){const t={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",...(0,r.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/v2.0.0/webpack/development.js",children:(0,o.jsx)(t.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.a,{href:"https://browsersync.io/docs",children:"Browsersync"})," is a Node module that enables you to develop sites faster. It will react to any code change and will 'refresh' the site without you needing to refresh it. In the background, it runs a small local server. When configured it will inject a script on your web page that will react to any code change."]}),"\n",(0,o.jsx)(t.p,{children:"Besides that, you can test your site on various devices on the same network."}),"\n",(0,o.jsx)(t.p,{children:"If comes by default with the libs, and when you run:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-bash",children:"npm start\n"})}),"\n",(0,o.jsxs)(t.p,{children:["it will proxy the page you've specified in the ",(0,o.jsx)(t.code,{children:"projectUrl"})," to your local server"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-bash",children:"[Browsersync] Proxying: https://local-url.test\n[Browsersync] Access URLs:\n --------------------------------------\n Local: https://localhost:3000\n External: https://192.168.0.25:3000\n --------------------------------------\n UI: http://localhost:3001\n UI External: http://localhost:3001\n --------------------------------------\n"})}),"\n",(0,o.jsx)(t.p,{children:"Using the IP address you can open it on any device (mobile phone or a tablet) that is connected to the same network and you'll see how your site looks like on them."}),"\n",(0,o.jsx)(t.h2,{id:"override-default-functionality",children:"Override default functionality"}),"\n",(0,o.jsx)(t.p,{children:"If you need to override the default settings (because you are using https, or want to change some default configuration), you'll first need to disable the default config and add your own."}),"\n",(0,o.jsxs)(t.p,{children:["For example, if you want to use ",(0,o.jsx)(t.code,{children:"https"})," instead of ",(0,o.jsx)(t.code,{children:"http"})," in your local development you'd put in your ",(0,o.jsx)(t.code,{children:"webpack.config.js"}),":"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-js",children:"/* eslint-disable import/no-dynamic-require, global-require */\n\nconst BrowserSyncPlugin = require('browser-sync-webpack-plugin');\n\n/**\n * This is a main entrypoint for Webpack config.\n * All the settings are pulled from node_modules/@eightshift/frontend-libs/webpack.\n * We are loading mostly used configuration but you can always override or turn off the default setup and provide your own.\n * Please referer to Eightshift-libs wiki for details.\n */\nmodule.exports = (env, argv) => {\n\n\tconst projectConfig = {\n\t\tconfig: {\n\t\t\tprojectDir: __dirname, // Current project directory absolute path.\n\t\t\tprojectUrl: 'local-url.test', // Used for providing browsersync functionality.\n\t\t\tprojectPath: 'wp-content/themes/your-theme-name', // Project path relative to project root.\n\t\t},\n\t\toverrides: [\n\t\t\t'browserSyncPlugin', // Disable the default.\n\t\t],\n\t};\n\n\t// Generate webpack config for this project using options object.\n\tconst project = require('./node_modules/@eightshift/frontend-libs/webpack')(argv.mode, projectConfig);\n\n\treturn {\n\t\t...project,\n\t\tplugins: [\n\t\t\t...project.plugins,\n\t\t\tnew BrowserSyncPlugin({\n\t\t\t\thost: 'localhost',\n\t\t\t\tport: 3000,\n\t\t\t\tproxy: 'https://local-url.test', // It's important to add the protocol when using https!\n\t\t\t\thttps: true,\n\t\t\t}, {\n\t\t\t\treload: false,\n\t\t\t}),\n\t\t],\n\t};\n};\n"})})]})}function u(e={}){const{wrapper:t}={...(0,r.M)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},4552:(e,t,n)=>{n.d(t,{I:()=>c,M:()=>i});var o=n(11504);const r={},s=o.createContext(r);function i(e){const t=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d9cc83f8.49043620.js b/assets/js/d9cc83f8.49043620.js deleted file mode 100644 index dd0b03ca5..000000000 --- a/assets/js/d9cc83f8.49043620.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[39964],{70941: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/d9cc83f8.7f92a167.js b/assets/js/d9cc83f8.7f92a167.js new file mode 100644 index 000000000..4616efc29 --- /dev/null +++ b/assets/js/d9cc83f8.7f92a167.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[23240],{32416: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/da20989d.419a6bea.js b/assets/js/da20989d.419a6bea.js new file mode 100644 index 000000000..ddcb7e22b --- /dev/null +++ b/assets/js/da20989d.419a6bea.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[32488],{60020:(t,i,s)=>{s.r(i),s.d(i,{assets:()=>a,contentTitle:()=>r,default:()=>c,frontMatter:()=>o,metadata:()=>l,toc:()=>h});var e=s(17624),n=s(4552);const o={id:"stubs",title:"Eightshift Libs Stubs"},r=void 0,l={id:"additional-libraries/stubs",title:"Eightshift Libs Stubs",description:"GitHub tag",source:"@site/docs/additional-libraries/stubs.md",sourceDirName:"additional-libraries",slug:"/additional-libraries/stubs",permalink:"/docs/additional-libraries/stubs",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"stubs",title:"Eightshift Libs Stubs"},sidebar:"docs",previous:{title:"Eightshift Storybook",permalink:"/docs/additional-libraries/storybook"},next:{title:"Versions",permalink:"/docs/legacy/v8/versions"}},a={},h=[];function u(t){const i={a:"a",img:"img",li:"li",p:"p",ul:"ul",...(0,n.M)(),...t.components};return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(i.p,{children:(0,e.jsx)(i.a,{href:"https://github.com/infinum/eightshift-libs-stubs",children:(0,e.jsx)(i.img,{src:"https://img.shields.io/github/tag/infinum/eightshift-libs-stubs.svg?style=for-the-badge",alt:"GitHub tag"})})}),"\n",(0,e.jsx)(i.p,{children:"This package offers PHPStan stubs for the use with Eightshift Frontend Libs. Currently, it only holds the Helpers stubs, since those are the only ones needed for inspections inside the block files."}),"\n",(0,e.jsxs)(i.ul,{children:["\n",(0,e.jsx)(i.li,{children:(0,e.jsx)(i.a,{href:"https://github.com/infinum/eightshift-libs-stubs/wiki",children:"Documentation"})}),"\n",(0,e.jsx)(i.li,{children:(0,e.jsx)(i.a,{href:"https://github.com/infinum/eightshift-libs-stubs",children:"Github"})}),"\n"]})]})}function c(t={}){const{wrapper:i}={...(0,n.M)(),...t.components};return i?(0,e.jsx)(i,{...t,children:(0,e.jsx)(u,{...t})}):u(t)}},4552:(t,i,s)=>{s.d(i,{I:()=>l,M:()=>r});var e=s(11504);const n={},o=e.createContext(n);function r(t){const i=e.useContext(o);return e.useMemo((function(){return"function"==typeof t?t(i):{...i,...t}}),[i,t])}function l(t){let i;return i=t.disableParentContext?"function"==typeof t.components?t.components(n):t.components||n:r(t.components),e.createElement(o.Provider,{value:i},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/da20989d.d2c0220f.js b/assets/js/da20989d.d2c0220f.js deleted file mode 100644 index 23118b37e..000000000 --- a/assets/js/da20989d.d2c0220f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[73013],{95487:(t,i,s)=>{s.r(i),s.d(i,{assets:()=>a,contentTitle:()=>r,default:()=>c,frontMatter:()=>o,metadata:()=>l,toc:()=>h});var e=s(85893),n=s(11151);const o={id:"stubs",title:"Eightshift Libs Stubs"},r=void 0,l={id:"additional-libraries/stubs",title:"Eightshift Libs Stubs",description:"GitHub tag",source:"@site/docs/additional-libraries/stubs.md",sourceDirName:"additional-libraries",slug:"/additional-libraries/stubs",permalink:"/docs/additional-libraries/stubs",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"stubs",title:"Eightshift Libs Stubs"},sidebar:"docs",previous:{title:"Eightshift Storybook",permalink:"/docs/additional-libraries/storybook"},next:{title:"Versions",permalink:"/docs/legacy/v8/versions"}},a={},h=[];function u(t){const i={a:"a",img:"img",li:"li",p:"p",ul:"ul",...(0,n.a)(),...t.components};return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(i.p,{children:(0,e.jsx)(i.a,{href:"https://github.com/infinum/eightshift-libs-stubs",children:(0,e.jsx)(i.img,{src:"https://img.shields.io/github/tag/infinum/eightshift-libs-stubs.svg?style=for-the-badge",alt:"GitHub tag"})})}),"\n",(0,e.jsx)(i.p,{children:"This package offers PHPStan stubs for the use with Eightshift Frontend Libs. Currently, it only holds the Helpers stubs, since those are the only ones needed for inspections inside the block files."}),"\n",(0,e.jsxs)(i.ul,{children:["\n",(0,e.jsx)(i.li,{children:(0,e.jsx)(i.a,{href:"https://github.com/infinum/eightshift-libs-stubs/wiki",children:"Documentation"})}),"\n",(0,e.jsx)(i.li,{children:(0,e.jsx)(i.a,{href:"https://github.com/infinum/eightshift-libs-stubs",children:"Github"})}),"\n"]})]})}function c(t={}){const{wrapper:i}={...(0,n.a)(),...t.components};return i?(0,e.jsx)(i,{...t,children:(0,e.jsx)(u,{...t})}):u(t)}},11151:(t,i,s)=>{s.d(i,{Z:()=>l,a:()=>r});var e=s(67294);const n={},o=e.createContext(n);function r(t){const i=e.useContext(o);return e.useMemo((function(){return"function"==typeof t?t(i):{...i,...t}}),[i,t])}function l(t){let i;return i=t.disableParentContext?"function"==typeof t.components?t.components(n):t.components||n:r(t.components),e.createElement(o.Provider,{value:i},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/da81302a.436cbce0.js b/assets/js/da81302a.436cbce0.js new file mode 100644 index 000000000..c683960dd --- /dev/null +++ b/assets/js/da81302a.436cbce0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[7333],{67700:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>r,contentTitle:()=>a,default:()=>d,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var n=s(17624),i=s(4552);const o={id:"manifest",title:"Assets Manifest"},a=void 0,l={id:"basics/manifest",title:"Assets Manifest",description:"docs-source",source:"@site/docs/basics/manifest.md",sourceDirName:"basics",slug:"/basics/manifest",permalink:"/docs/basics/manifest",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"manifest",title:"Assets Manifest"},sidebar:"docs",previous:{title:"Example Class",permalink:"/docs/basics/example-class"},next:{title:"REST Intro",permalink:"/docs/basics/rest"}},r={},c=[{value:"How to use it",id:"how-to-use-it",level:2},{value:"Why not just fetch the asset the old-fashioned way?",id:"why-not-just-fetch-the-asset-the-old-fashioned-way",level:2}];function h(e){const t={a:"a",admonition:"admonition",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",...(0,i.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(t.admonition,{title:":es-hide-title:",type:"info",children:(0,n.jsxs)(t.p,{children:["This ",(0,n.jsx)(t.code,{children:"manifest.json"})," file is generated by Webpack, and is different from the rest of Eightshift manifests described elsewhere in the documentation."]})}),"\n",(0,n.jsxs)(t.p,{children:["In the build process, Webpack creates all the static files from your assets folder and a ",(0,n.jsx)(t.code,{children:"manifest.json"})," file inside the public folder. The manifest file contains a list of key/value pairs that we use to set the location of the assets dynamically."]}),"\n",(0,n.jsxs)(t.p,{children:["This class provides the location of the ",(0,n.jsx)(t.code,{children:"manifest.json"})," file and helpers to return the full path for a specific asset."]}),"\n",(0,n.jsx)(t.h2,{id:"how-to-use-it",children:"How to use it"}),"\n",(0,n.jsx)(t.p,{children:"First, install the manifest class using this command:"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"wp boilerplate create manifest"})}),"\n",(0,n.jsx)(t.p,{children:"You will see a custom filter you can use to fetch an item from the public folder in your class. This is the custom filter:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"/**\n * Manifest item filter name constant.\n *\n * @var string\n */\npublic const MANIFEST_ITEM = 'manifest-item';\n\n/**\n * Register all hooks. Changed filter name to manifest.\n *\n * @return void\n */\npublic function register(): void\n{\n\t\\add_filter(static::MANIFEST_ITEM, [ $this, 'getAssetsManifestItem' ]);\n}\n"})}),"\n",(0,n.jsx)(t.p,{children:"To use this filter to fetch asset URLs, add the following code and provide the correct name of your asset:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"use CoolProject\\Manifest\\Manifest;\n\n$logo = \\apply_filters(Manifest::MANIFEST_ITEM, 'logo.svg');\n"})}),"\n",(0,n.jsxs)(t.p,{children:["And that's it. This filter will check the public folder for the ",(0,n.jsx)(t.code,{children:"manifest.json"})," file, parse it, and return the value of the provided key."]}),"\n",(0,n.jsxs)(t.p,{children:["If there is no ",(0,n.jsx)(t.code,{children:"manifest.json"})," file or you provided the wrong asset name, there will be a descriptive message for you."]}),"\n",(0,n.jsx)(t.admonition,{title:"Important",type:"caution",children:(0,n.jsxs)(t.p,{children:["If you are using multiple boilerplates in one project don't forget to change the filter name defined in the ",(0,n.jsx)(t.code,{children:"MANIFEST_ITEM"})," constant."]})}),"\n",(0,n.jsx)(t.h2,{id:"why-not-just-fetch-the-asset-the-old-fashioned-way",children:"Why not just fetch the asset the old-fashioned way?"}),"\n",(0,n.jsx)(t.p,{children:"By the old-fashioned way, we mean doing something like this:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"$logo = get_template_directory_uri() . 'public/logo.svg';\n"})}),"\n",(0,n.jsx)(t.p,{children:"You can definitely do this. However, using the manifest approach, if you want to change the public folder location or public folder name for some reason, you can change it in one place and you're done."}),"\n",(0,n.jsx)(t.p,{children:"If you are using the old-fashioned way, you would need to search and replace the whole project and implement the change. There is always a chance you will miss something and somehow break the project."})]})}function d(e={}){const{wrapper:t}={...(0,i.M)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(h,{...e})}):h(e)}},4552:(e,t,s)=>{s.d(t,{I:()=>l,M:()=>a});var n=s(11504);const i={},o=n.createContext(i);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(i):e.components||i:a(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/da81302a.446c7a40.js b/assets/js/da81302a.446c7a40.js deleted file mode 100644 index d4d409441..000000000 --- a/assets/js/da81302a.446c7a40.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[83350],{74316:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>r,contentTitle:()=>a,default:()=>d,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var n=s(85893),i=s(11151);const o={id:"manifest",title:"Assets Manifest"},a=void 0,l={id:"basics/manifest",title:"Assets Manifest",description:"docs-source",source:"@site/docs/basics/manifest.md",sourceDirName:"basics",slug:"/basics/manifest",permalink:"/docs/basics/manifest",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"manifest",title:"Assets Manifest"},sidebar:"docs",previous:{title:"Example Class",permalink:"/docs/basics/example-class"},next:{title:"REST Intro",permalink:"/docs/basics/rest"}},r={},c=[{value:"How to use it",id:"how-to-use-it",level:2},{value:"Why not just fetch the asset the old-fashioned way?",id:"why-not-just-fetch-the-asset-the-old-fashioned-way",level:2}];function h(e){const t={a:"a",admonition:"admonition",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(t.admonition,{title:":es-hide-title:",type:"info",children:(0,n.jsxs)(t.p,{children:["This ",(0,n.jsx)(t.code,{children:"manifest.json"})," file is generated by Webpack, and is different from the rest of Eightshift manifests described elsewhere in the documentation."]})}),"\n",(0,n.jsxs)(t.p,{children:["In the build process, Webpack creates all the static files from your assets folder and a ",(0,n.jsx)(t.code,{children:"manifest.json"})," file inside the public folder. The manifest file contains a list of key/value pairs that we use to set the location of the assets dynamically."]}),"\n",(0,n.jsxs)(t.p,{children:["This class provides the location of the ",(0,n.jsx)(t.code,{children:"manifest.json"})," file and helpers to return the full path for a specific asset."]}),"\n",(0,n.jsx)(t.h2,{id:"how-to-use-it",children:"How to use it"}),"\n",(0,n.jsx)(t.p,{children:"First, install the manifest class using this command:"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"wp boilerplate create manifest"})}),"\n",(0,n.jsx)(t.p,{children:"You will see a custom filter you can use to fetch an item from the public folder in your class. This is the custom filter:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"/**\n * Manifest item filter name constant.\n *\n * @var string\n */\npublic const MANIFEST_ITEM = 'manifest-item';\n\n/**\n * Register all hooks. Changed filter name to manifest.\n *\n * @return void\n */\npublic function register(): void\n{\n\t\\add_filter(static::MANIFEST_ITEM, [ $this, 'getAssetsManifestItem' ]);\n}\n"})}),"\n",(0,n.jsx)(t.p,{children:"To use this filter to fetch asset URLs, add the following code and provide the correct name of your asset:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"use CoolProject\\Manifest\\Manifest;\n\n$logo = \\apply_filters(Manifest::MANIFEST_ITEM, 'logo.svg');\n"})}),"\n",(0,n.jsxs)(t.p,{children:["And that's it. This filter will check the public folder for the ",(0,n.jsx)(t.code,{children:"manifest.json"})," file, parse it, and return the value of the provided key."]}),"\n",(0,n.jsxs)(t.p,{children:["If there is no ",(0,n.jsx)(t.code,{children:"manifest.json"})," file or you provided the wrong asset name, there will be a descriptive message for you."]}),"\n",(0,n.jsx)(t.admonition,{title:"Important",type:"caution",children:(0,n.jsxs)(t.p,{children:["If you are using multiple boilerplates in one project don't forget to change the filter name defined in the ",(0,n.jsx)(t.code,{children:"MANIFEST_ITEM"})," constant."]})}),"\n",(0,n.jsx)(t.h2,{id:"why-not-just-fetch-the-asset-the-old-fashioned-way",children:"Why not just fetch the asset the old-fashioned way?"}),"\n",(0,n.jsx)(t.p,{children:"By the old-fashioned way, we mean doing something like this:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"$logo = get_template_directory_uri() . 'public/logo.svg';\n"})}),"\n",(0,n.jsx)(t.p,{children:"You can definitely do this. However, using the manifest approach, if you want to change the public folder location or public folder name for some reason, you can change it in one place and you're done."}),"\n",(0,n.jsx)(t.p,{children:"If you are using the old-fashioned way, you would need to search and replace the whole project and implement the change. There is always a chance you will miss something and somehow break the project."})]})}function d(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(h,{...e})}):h(e)}},11151:(e,t,s)=>{s.d(t,{Z:()=>l,a:()=>a});var n=s(67294);const i={},o=n.createContext(i);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(i):e.components||i:a(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/daf8bbf9.bad594d0.js b/assets/js/daf8bbf9.bad594d0.js deleted file mode 100644 index fc0dee680..000000000 --- a/assets/js/daf8bbf9.bad594d0.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[96591],{81951:(t,e,o)=>{o.r(e),o.d(e,{assets:()=>l,contentTitle:()=>s,default:()=>u,frontMatter:()=>i,metadata:()=>r,toc:()=>c});var a=o(85893),n=o(11151);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.a)(),...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.a)(),...t.components};return e?(0,a.jsx)(e,{...t,children:(0,a.jsx)(p,{...t})}):p(t)}},11151:(t,e,o)=>{o.d(e,{Z:()=>r,a:()=>s});var a=o(67294);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.e16b7458.js b/assets/js/daf8bbf9.e16b7458.js new file mode 100644 index 000000000..835379727 --- /dev/null +++ b/assets/js/daf8bbf9.e16b7458.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[28432],{59060:(t,e,o)=>{o.r(e),o.d(e,{assets:()=>l,contentTitle:()=>s,default:()=>u,frontMatter:()=>i,metadata:()=>r,toc:()=>c});var a=o(17624),n=o(4552);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.M)(),...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.M)(),...t.components};return e?(0,a.jsx)(e,{...t,children:(0,a.jsx)(p,{...t})}):p(t)}},4552:(t,e,o)=>{o.d(e,{I:()=>r,M:()=>s});var a=o(11504);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/db6287e5.9a37574f.js b/assets/js/db6287e5.9a37574f.js new file mode 100644 index 000000000..5e668c7d7 --- /dev/null +++ b/assets/js/db6287e5.9a37574f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[32704],{22692:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>p,frontMatter:()=>i,metadata:()=>l,toc:()=>r});var o=t(17624),s=t(4552);const i={id:"blocks-component-manifest",title:"Component Manifest"},a=void 0,l={id:"legacy/v7/basics/blocks-component-manifest",title:"Component Manifest",description:"docs-source",source:"@site/docs/legacy/v7/basics/blocks-component-manifest.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/blocks-component-manifest",permalink:"/docs/legacy/v7/basics/blocks-component-manifest",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-component-manifest",title:"Component Manifest"},sidebar:"docs",previous:{title:"Block Manifest",permalink:"/docs/legacy/v7/basics/block-manifest"},next:{title:"Attributes",permalink:"/docs/legacy/v7/basics/blocks-attributes"}},c={},r=[{value:"Example",id:"example",level:3},{value:"componentName",id:"componentname",level:3},{value:"title",id:"title",level:3},{value:"componentClass",id:"componentclass",level:3},{value:"example",id:"example-1",level:3},{value:"attributes",id:"attributes",level:3},{value:"options",id:"options",level:3},{value:"components",id:"components",level:3}];function d(e){const n={a:"a",code:"code",h3:"h3",img:"img",p:"p",pre:"pre",...(0,s.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/",children:(0,o.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(n.p,{children:"A component manifest is a bit different than the block manifest. The main difference is that the component manifest is a fully custom feature, and it is only here to provide a way to store configuration data and share it with multiple files in your project."}),"\n",(0,o.jsx)(n.h3,{id:"example",children:"Example"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n "componentName": "heading",\n "title": "Heading",\n "componentClass": "heading",\n "example": {\n "attributes": {\n "headingContent": "This is heading",\n "headingLevel": 2,\n "headingSize": "default",\n "headingUse": true\n }\n },\n "attributes": {\n "headingContent": {\n "type": "string"\n },\n "headingLevel": {\n "type": "integer",\n "default": 2\n },\n "headingSize": {\n "type": "string",\n "default": "default"\n },\n "headingUse": {\n "type": "boolean",\n "default": true\n }\n },\n "options": {\n "sizes": [\n {\n "label": "Default (30px)",\n "value": "default"\n },\n {\n "label": "Big (50px)",\n "value": "big"\n }\n ],\n "aligns": [\n "left",\n "center",\n "right"\n ],\n "colors": [\n "primary",\n "black"\n ]\n },\n "components": {}\n}\n'})}),"\n",(0,o.jsx)(n.h3,{id:"componentname",children:"componentName"}),"\n",(0,o.jsx)(n.p,{children:"This key is the most important one. We use this key to specify the component attributes prefix. When it's used correctly, we are able to change the attributes prefix depending on the component name passed from the parent component or block."}),"\n",(0,o.jsx)(n.h3,{id:"title",children:"title"}),"\n",(0,o.jsx)(n.p,{children:"This key is used to provide the label for all your component options and provide the storybook's automatic story title."}),"\n",(0,o.jsx)(n.h3,{id:"componentclass",children:"componentClass"}),"\n",(0,o.jsx)(n.p,{children:"These keys are used to provide a single point of reference for a component name. You'll use this key to provide a prefix for all the CSS selectors in your component."}),"\n",(0,o.jsx)(n.h3,{id:"example-1",children:"example"}),"\n",(0,o.jsxs)(n.p,{children:["The same as in the blocks manifest. Please check ",(0,o.jsx)(n.a,{href:"block-manifest",children:"this chapter"})," for more details."]}),"\n",(0,o.jsx)(n.h3,{id:"attributes",children:"attributes"}),"\n",(0,o.jsxs)(n.p,{children:["For more details please check ",(0,o.jsx)(n.a,{href:"blocks-attributes",children:"this chapter"}),"."]}),"\n",(0,o.jsx)(n.h3,{id:"options",children:"options"}),"\n",(0,o.jsxs)(n.p,{children:["These keys are used to provide a single point of reference for component options used in the options part. If you have a ",(0,o.jsx)(n.code,{children:"SelectControl"})," or a ",(0,o.jsx)(n.code,{children:"ColorSelector"})," component, you can set all your options here and use those options in the options section and story for mocking components. Please check ",(0,o.jsx)(n.a,{href:"blocks-component-in-block",children:"this chapter"})," for more details."]}),"\n",(0,o.jsx)(n.h3,{id:"components",children:"components"}),"\n",(0,o.jsxs)(n.p,{children:["The same as in the blocks manifest. Please check ",(0,o.jsx)(n.a,{href:"block-manifest",children:"this chapter"})," for more details."]})]})}function p(e={}){const{wrapper:n}={...(0,s.M)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},4552:(e,n,t)=>{t.d(n,{I:()=>l,M:()=>a});var o=t(11504);const s={},i=o.createContext(s);function a(e){const n=o.useContext(i);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:a(e.components),o.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/db6287e5.9b635b04.js b/assets/js/db6287e5.9b635b04.js deleted file mode 100644 index 53f1eaa9c..000000000 --- a/assets/js/db6287e5.9b635b04.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[89758],{13089:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>p,frontMatter:()=>i,metadata:()=>l,toc:()=>r});var o=t(85893),s=t(11151);const i={id:"blocks-component-manifest",title:"Component Manifest"},a=void 0,l={id:"legacy/v7/basics/blocks-component-manifest",title:"Component Manifest",description:"docs-source",source:"@site/docs/legacy/v7/basics/blocks-component-manifest.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/blocks-component-manifest",permalink:"/docs/legacy/v7/basics/blocks-component-manifest",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-component-manifest",title:"Component Manifest"},sidebar:"docs",previous:{title:"Block Manifest",permalink:"/docs/legacy/v7/basics/block-manifest"},next:{title:"Attributes",permalink:"/docs/legacy/v7/basics/blocks-attributes"}},c={},r=[{value:"Example",id:"example",level:3},{value:"componentName",id:"componentname",level:3},{value:"title",id:"title",level:3},{value:"componentClass",id:"componentclass",level:3},{value:"example",id:"example-1",level:3},{value:"attributes",id:"attributes",level:3},{value:"options",id:"options",level:3},{value:"components",id:"components",level:3}];function d(e){const n={a:"a",code:"code",h3:"h3",img:"img",p:"p",pre:"pre",...(0,s.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/",children:(0,o.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(n.p,{children:"A component manifest is a bit different than the block manifest. The main difference is that the component manifest is a fully custom feature, and it is only here to provide a way to store configuration data and share it with multiple files in your project."}),"\n",(0,o.jsx)(n.h3,{id:"example",children:"Example"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n "componentName": "heading",\n "title": "Heading",\n "componentClass": "heading",\n "example": {\n "attributes": {\n "headingContent": "This is heading",\n "headingLevel": 2,\n "headingSize": "default",\n "headingUse": true\n }\n },\n "attributes": {\n "headingContent": {\n "type": "string"\n },\n "headingLevel": {\n "type": "integer",\n "default": 2\n },\n "headingSize": {\n "type": "string",\n "default": "default"\n },\n "headingUse": {\n "type": "boolean",\n "default": true\n }\n },\n "options": {\n "sizes": [\n {\n "label": "Default (30px)",\n "value": "default"\n },\n {\n "label": "Big (50px)",\n "value": "big"\n }\n ],\n "aligns": [\n "left",\n "center",\n "right"\n ],\n "colors": [\n "primary",\n "black"\n ]\n },\n "components": {}\n}\n'})}),"\n",(0,o.jsx)(n.h3,{id:"componentname",children:"componentName"}),"\n",(0,o.jsx)(n.p,{children:"This key is the most important one. We use this key to specify the component attributes prefix. When it's used correctly, we are able to change the attributes prefix depending on the component name passed from the parent component or block."}),"\n",(0,o.jsx)(n.h3,{id:"title",children:"title"}),"\n",(0,o.jsx)(n.p,{children:"This key is used to provide the label for all your component options and provide the storybook's automatic story title."}),"\n",(0,o.jsx)(n.h3,{id:"componentclass",children:"componentClass"}),"\n",(0,o.jsx)(n.p,{children:"These keys are used to provide a single point of reference for a component name. You'll use this key to provide a prefix for all the CSS selectors in your component."}),"\n",(0,o.jsx)(n.h3,{id:"example-1",children:"example"}),"\n",(0,o.jsxs)(n.p,{children:["The same as in the blocks manifest. Please check ",(0,o.jsx)(n.a,{href:"block-manifest",children:"this chapter"})," for more details."]}),"\n",(0,o.jsx)(n.h3,{id:"attributes",children:"attributes"}),"\n",(0,o.jsxs)(n.p,{children:["For more details please check ",(0,o.jsx)(n.a,{href:"blocks-attributes",children:"this chapter"}),"."]}),"\n",(0,o.jsx)(n.h3,{id:"options",children:"options"}),"\n",(0,o.jsxs)(n.p,{children:["These keys are used to provide a single point of reference for component options used in the options part. If you have a ",(0,o.jsx)(n.code,{children:"SelectControl"})," or a ",(0,o.jsx)(n.code,{children:"ColorSelector"})," component, you can set all your options here and use those options in the options section and story for mocking components. Please check ",(0,o.jsx)(n.a,{href:"blocks-component-in-block",children:"this chapter"})," for more details."]}),"\n",(0,o.jsx)(n.h3,{id:"components",children:"components"}),"\n",(0,o.jsxs)(n.p,{children:["The same as in the blocks manifest. Please check ",(0,o.jsx)(n.a,{href:"block-manifest",children:"this chapter"})," for more details."]})]})}function p(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},11151:(e,n,t)=>{t.d(n,{Z:()=>l,a:()=>a});var o=t(67294);const s={},i=o.createContext(s);function a(e){const n=o.useContext(i);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:a(e.components),o.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/db98aa0c.32617725.js b/assets/js/db98aa0c.32617725.js new file mode 100644 index 000000000..d4f6113c1 --- /dev/null +++ b/assets/js/db98aa0c.32617725.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[88528],{85136:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>l,contentTitle:()=>r,default:()=>u,frontMatter:()=>o,metadata:()=>c,toc:()=>a});var i=t(17624),n=t(4552);const o={id:"blocks-registration",title:"Registration",sidebar_label:"Registration"},r=void 0,c={id:"legacy/v5/basics/blocks-registration",title:"Registration",description:"docs-source",source:"@site/docs/legacy/v5/basics/blocks-registration.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/blocks-registration",permalink:"/docs/legacy/v5/basics/blocks-registration",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-registration",title:"Registration",sidebar_label:"Registration"},sidebar:"docs",previous:{title:"Intro",permalink:"/docs/legacy/v5/basics/blocks-intro"},next:{title:"Structure",permalink:"/docs/legacy/v5/basics/blocks-structure"}},l={},a=[];function d(e){const s={a:"a",code:"code",img:"img",li:"li",p:"p",ul:"ul",...(0,n.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/",children:(0,i.jsx)(s.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsx)(s.p,{children:"Our setup works if you follow our naming convention and strict folder structure for all blocks, components, variations, patterns, and wrapper."}),"\n",(0,i.jsxs)(s.p,{children:["By following our structure, we can find all files using the ",(0,i.jsx)(s.code,{children:"require.context"})," regular expression inside the ",(0,i.jsx)(s.code,{children:"Blocks"})," folder. Alongside some JavaScript magic, we have been able to leave out all those unnecessary steps when creating new blocks like:"]}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"providing style files;"}),"\n",(0,i.jsx)(s.li,{children:"writing register method;"}),"\n",(0,i.jsx)(s.li,{children:"setting PHP method for registering dynamic blocks; and"}),"\n",(0,i.jsx)(s.li,{children:"including files when adding new components."}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["You can check out how this works inside the ",(0,i.jsx)(s.code,{children:"src/Blocks/assets/scripts/application-blocks-editor.js"})," file."]}),"\n",(0,i.jsxs)(s.p,{children:["Please follow our ",(0,i.jsx)(s.a,{href:"blocks-structure",children:"blocks structure folder"})," to see the naming standard and how blocks are set."]})]})}function u(e={}){const{wrapper:s}={...(0,n.M)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},4552:(e,s,t)=>{t.d(s,{I:()=>c,M:()=>r});var i=t(11504);const n={},o=i.createContext(n);function r(e){const s=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),i.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/db98aa0c.6d450e83.js b/assets/js/db98aa0c.6d450e83.js deleted file mode 100644 index 94ad9697d..000000000 --- a/assets/js/db98aa0c.6d450e83.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[81090],{15134:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>l,contentTitle:()=>r,default:()=>u,frontMatter:()=>o,metadata:()=>c,toc:()=>a});var i=t(85893),n=t(11151);const o={id:"blocks-registration",title:"Registration",sidebar_label:"Registration"},r=void 0,c={id:"legacy/v5/basics/blocks-registration",title:"Registration",description:"docs-source",source:"@site/docs/legacy/v5/basics/blocks-registration.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/blocks-registration",permalink:"/docs/legacy/v5/basics/blocks-registration",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-registration",title:"Registration",sidebar_label:"Registration"},sidebar:"docs",previous:{title:"Intro",permalink:"/docs/legacy/v5/basics/blocks-intro"},next:{title:"Structure",permalink:"/docs/legacy/v5/basics/blocks-structure"}},l={},a=[];function d(e){const s={a:"a",code:"code",img:"img",li:"li",p:"p",ul:"ul",...(0,n.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/",children:(0,i.jsx)(s.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsx)(s.p,{children:"Our setup works if you follow our naming convention and strict folder structure for all blocks, components, variations, patterns, and wrapper."}),"\n",(0,i.jsxs)(s.p,{children:["By following our structure, we can find all files using the ",(0,i.jsx)(s.code,{children:"require.context"})," regular expression inside the ",(0,i.jsx)(s.code,{children:"Blocks"})," folder. Alongside some JavaScript magic, we have been able to leave out all those unnecessary steps when creating new blocks like:"]}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"providing style files;"}),"\n",(0,i.jsx)(s.li,{children:"writing register method;"}),"\n",(0,i.jsx)(s.li,{children:"setting PHP method for registering dynamic blocks; and"}),"\n",(0,i.jsx)(s.li,{children:"including files when adding new components."}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["You can check out how this works inside the ",(0,i.jsx)(s.code,{children:"src/Blocks/assets/scripts/application-blocks-editor.js"})," file."]}),"\n",(0,i.jsxs)(s.p,{children:["Please follow our ",(0,i.jsx)(s.a,{href:"blocks-structure",children:"blocks structure folder"})," to see the naming standard and how blocks are set."]})]})}function u(e={}){const{wrapper:s}={...(0,n.a)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},11151:(e,s,t)=>{t.d(s,{Z:()=>c,a:()=>r});var i=t(67294);const n={},o=i.createContext(n);function r(e){const s=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),i.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/dbd7356d.710f58d0.js b/assets/js/dbd7356d.710f58d0.js deleted file mode 100644 index fd31b25ac..000000000 --- a/assets/js/dbd7356d.710f58d0.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[37303],{1896:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>m,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var i=n(85893),s=n(11151);const o={id:"moments",title:"Moments"},r=void 0,l={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.",source:"@site/forms/integrations/moments.md",sourceDirName:"integrations",slug:"/integrations/moments",permalink:"/forms/integrations/moments",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"moments",title:"Moments"},sidebar:"forms",previous:{title:"MailerLite",permalink:"/forms/integrations/mailerlite"},next:{title:"Workable",permalink:"/forms/integrations/workable"}},a={},c=[{value:"Website",id:"website",level:3},{value:"API Version",id:"api-version",level:3},{value:"API Documentation",id:"api-documentation",level:3},{value:"Integration type",id:"integration-type",level:3},{value:"Supported fields:",id:"supported-fields",level:3}];function d(e){const t={a:"a",h3:"h3",li:"li",p:"p",ul:"ul",...(0,s.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"Moments is an service that allows you to easily send relevant content derived from important customer information, their interests, and activities."}),"\n",(0,i.jsx)(t.h3,{id:"website",children:"Website"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://www.infobip.com/moments/",children:"Visit website"})}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"api-version",children:"API Version"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"V1"}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"api-documentation",children:"API Documentation"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://www.infobip.com/docs/api/customer-engagement/moments",children:"Documentation"})}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"integration-type",children:"Integration type"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Form builder provided by the service."}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"supported-fields",children:"Supported fields:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"All"}),"\n"]})]})}function m(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},11151:(e,t,n)=>{n.d(t,{Z:()=>l,a:()=>r});var i=n(67294);const s={},o=i.createContext(s);function r(e){const t=i.useContext(o);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(s):e.components||s:r(e.components),i.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/dbd7356d.d5a5d45d.js b/assets/js/dbd7356d.d5a5d45d.js new file mode 100644 index 000000000..5f4935ad7 --- /dev/null +++ b/assets/js/dbd7356d.d5a5d45d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[82716],{14988:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>m,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var i=n(17624),s=n(4552);const o={id:"moments",title:"Moments"},r=void 0,l={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.",source:"@site/forms/integrations/moments.md",sourceDirName:"integrations",slug:"/integrations/moments",permalink:"/forms/integrations/moments",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"moments",title:"Moments"},sidebar:"forms",previous:{title:"MailerLite",permalink:"/forms/integrations/mailerlite"},next:{title:"Workable",permalink:"/forms/integrations/workable"}},a={},c=[{value:"Website",id:"website",level:3},{value:"API Version",id:"api-version",level:3},{value:"API Documentation",id:"api-documentation",level:3},{value:"Integration type",id:"integration-type",level:3},{value:"Supported fields:",id:"supported-fields",level:3}];function d(e){const t={a:"a",h3:"h3",li:"li",p:"p",ul:"ul",...(0,s.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"Moments is an service that allows you to easily send relevant content derived from important customer information, their interests, and activities."}),"\n",(0,i.jsx)(t.h3,{id:"website",children:"Website"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://www.infobip.com/moments/",children:"Visit website"})}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"api-version",children:"API Version"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"V1"}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"api-documentation",children:"API Documentation"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://www.infobip.com/docs/api/customer-engagement/moments",children:"Documentation"})}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"integration-type",children:"Integration type"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Form builder provided by the service."}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"supported-fields",children:"Supported fields:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"All"}),"\n"]})]})}function m(e={}){const{wrapper:t}={...(0,s.M)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},4552:(e,t,n)=>{n.d(t,{I:()=>l,M:()=>r});var i=n(11504);const s={},o=i.createContext(s);function r(e){const t=i.useContext(o);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(s):e.components||s:r(e.components),i.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/dbfa0beb.208aa75e.js b/assets/js/dbfa0beb.208aa75e.js new file mode 100644 index 000000000..51fc42363 --- /dev/null +++ b/assets/js/dbfa0beb.208aa75e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[69928],{25787:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>d,contentTitle:()=>r,default:()=>u,frontMatter:()=>s,metadata:()=>o,toc:()=>c});var i=t(17624),n=t(4552);const s={id:"tracking",title:"Tracking"},r=void 0,o={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.",source:"@site/forms/features/tracking.md",sourceDirName:"features",slug:"/features/tracking",permalink:"/forms/features/tracking",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"tracking",title:"Tracking"},sidebar:"forms",previous:{title:"Success redirects",permalink:"/forms/features/success-redirect"},next:{title:"Security",permalink:"/forms/features/security"}},d={},c=[{value:"How to use it?",id:"how-to-use-it",level:2},{value:"Additional parameters",id:"additional-parameters",level:3},{value:"Additional success parameters",id:"additional-success-parameters",level:3},{value:"Additional error parameters",id:"additional-error-parameters",level:3}];function l(e){const a={code:"code",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",ul:"ul",...(0,n.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(a.p,{children:"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."}),"\n",(0,i.jsx)(a.p,{children:(0,i.jsx)(a.img,{alt:"Tracking screen",src:t(93488).c+"",width:"631",height:"345"})}),"\n",(0,i.jsx)(a.h2,{id:"how-to-use-it",children:"How to use it?"}),"\n",(0,i.jsx)(a.p,{children:"The dataLayer event is pushed to Google Tag Manager with custom parameters and form submission data using the event name provided."}),"\n",(0,i.jsx)(a.h3,{id:"additional-parameters",children:"Additional parameters"}),"\n",(0,i.jsx)(a.p,{children:"You can include custom parameters in the dataLayer event in addition to the default form submission data. These custom parameters will be added to every form event, whether a success or an error."}),"\n",(0,i.jsx)(a.p,{children:(0,i.jsx)(a.img,{alt:"Tracking custom screen",src:t(71112).c+"",width:"649",height:"319"})}),"\n",(0,i.jsx)(a.h3,{id:"additional-success-parameters",children:"Additional success parameters"}),"\n",(0,i.jsx)(a.p,{children:"You can add custom parameters to the dataLayer on the success event, similar to additional parameters."}),"\n",(0,i.jsx)(a.p,{children:(0,i.jsx)(a.img,{alt:"Tracking success screen",src:t(95976).c+"",width:"622",height:"319"})}),"\n",(0,i.jsx)(a.h3,{id:"additional-error-parameters",children:"Additional error parameters"}),"\n",(0,i.jsx)(a.p,{children:"You can add custom parameters to the dataLayer on the error event, similar to additional parameters."}),"\n",(0,i.jsx)(a.p,{children:"With this event, you have some custom magic constants that you can use to provide additional information to the dataLayer event."}),"\n",(0,i.jsxs)(a.ul,{children:["\n",(0,i.jsxs)(a.li,{children:[(0,i.jsx)(a.code,{children:"{invalidFieldsString}"})," - This will provide a string of all invalid fields separated by a comma."]}),"\n",(0,i.jsxs)(a.li,{children:[(0,i.jsx)(a.code,{children:"{invalidFieldsArray}"})," - This will provide you with an array of all invalid fields."]}),"\n"]}),"\n",(0,i.jsx)(a.p,{children:(0,i.jsx)(a.img,{alt:"Tracking error screen",src:t(56512).c+"",width:"605",height:"424"})})]})}function u(e={}){const{wrapper:a}={...(0,n.M)(),...e.components};return a?(0,i.jsx)(a,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},71112:(e,a,t)=>{t.d(a,{c:()=>i});const i="data:image/webp;base64,UklGRpQgAABXRUJQVlA4IIggAACwkwCdASqJAj8BPjEYiEQiIYjUiBABglpbvw6mcjoAL9nuUOUSe0D9zxfH7PTbuD/Mz54XpL/0vS5+p90Vvq/f6bJlvGX9i7MP6N/Yf2M/uHpX+HfI/1X+p/sF/duV/y9/0PQb+KfXH7t/Wv7x/wv8J7G/5jwH91v6f9xfyBfiv8W/tX9m/c/+/fu7yCU0HqBenHyL/Df3f/E/97++eb1+x/3H9vfcn8y/i39X+177AP4h/K/7v/aP2s/uv///7/2N/pPAp+Zf4P2Af45/O/8L/Z/3K/wX//+039w/4f+G/wv7H+zj8w/t/+9/w/+l/9n+z+wT+Rfzn/Qf3j/Mf+L/M////0fct/4fbX+2P/u90n9bf/KEXTVQzyjoealZ8HmpWfB5qVnwealZ8HlnAPf5utYQNUsV2wxldVqEwXTTEOXEOXEOXELAubL+oQKXIE925lE9NT4dZW/PBZpGFqviU9V1ZedgVqBZ+nsPnN3UQUs4X8lp2gJ/xIql8uQoaToM2aYoy1GxDyVqEwXTTEOXEOFPId1rN6VvLSsgtyjgTLj8Rht8Fu17glZcfiMNvgt2vVd3Ksk0tFi8ncFpiHLiHLiHLiHLiHLiHQtMvLutm/ArUJgummIcuIcuIcuIgpgXNl/f625oeStQmC6aYhy4hy4kwK8tuiAOOXEOXEOXEOXEOXEOXEQUwLmy/v9bc0PJWoTBdNMQ5cQ5cSYFeW3RAHHLiHLiHLiHLiHLiHLiIKYFzZf2U07tST8LppiHLiHLiHLiHLYbODe+zS8+Gouft0kg3Kdbhj46xm6I5WWWJOAL3OHUSS1PcRxHAESmaTiIGrw05VZGgpzqC/VtH4jDb4Ldr3BKyFAYvfe7dDuq3aeZ5ecaIJ8mz6cTcIV1UD/toOkEIhbd/3QN0gtjjUFyrznhB5dygbAUbYAUJ5CyWy1psYuTZI4N6eKVhtqiIGGrFUnJkUIIL9DGVviCc/uhXtL6BeBF732r2ZiHLiHLeL4REG4uXEOXEOXEOW/vhA1X1ItXWy4uHK8tuh2/+CxErZGeYewXwt8l3pHkKX0+U3iywPGI6PBYMzDYSvhKiPLsNQDZixgsd00F1RM33u6ZiF9/TzT4IrAaHy8WW6E8fSX2BwQae/7fbOSAyEQ/T54TGH7L6GHcqPTjGx1bsSRgbLlyHFzoYkUvQ0H+u3+SpysIueABMP4bTkBdkk+MBZyK3+kRKaytL8MaE4upg6LJlYY47Qn4P1/jqrBcuN2SORcb+goMDOSg5ZtG3LhyvLboeBEZ1zrj8Rht8Fu17glZcfh1OMwY+ELu3LiHLiFgXNl/XHYecAYwWcfGZ+eIQHME63PqYDygr3N5bBeDD9h1OHFzjlmOLQUxAFVgQAcGDUOw0NDHV/jBTVUihCsPexV36X6G1xRo0pdf+WZvKGBzb1JkkKgid7LxIykVBFWAUrnPxPap21UJIZCbR0rSebFwAnKoH4GMm9ofxveiHLiHLiFgXNl/ZMg7MN7WwbWkKHkNAO/a9l8qz/r7rESW+AdeF00xDlvF8IiADMGSz/iznHQ81Kz4PNSs+DzUrPg81KwLm+nEAAD+/+oTCng1y8Vpm9kbBMClqAAASdJmM/aFP23LZ8K/G9da0AdQEGHgb1nrLZP38jLSzo7VgcJO9x03giCViDXssSHDjkvUZb8rOAHpf6gGZxTPI9dzdS4JBDWqHJztQEIxuaqNP9IAApD+LM70DP+idrjG/1oYpiXsOKWc+zmMKzGjzR8TH/a5zmcKxHSUiCu0liNb7BXAB5/s/XxZNZK9t1fX9M66Y2kgAQBw4WJyU/bgfGo3pIcsZfbCJHbId3n5r+STZp1kLCqf7BdHwaEvzYAVTpX/LJ03gxXwQeIG8wW67Q9sNtu2QX1D5qc6/EEU0ARDA2afu7imuPueSouuS6Vymae6jgn4fPP+KeP2B+qen0qp+abofvSimQrxA+pZmBgKs596Jrv9AAaaaCYlr/Fa9sbElfdX91vwHU5IqJGZZYqPCTnvfAnRoRjK9B3XzwpCA2jLGMavPsK+YPB7pUyrYwc/wG1jLehaDfuY3v5HV5gAVD6SZcc914JRKHqy/6sRk12MWpNKZvAlZoPLyoqlIBPIn4D6gi/R3f8OLhwh4t94EOBN3oBill4AttDGm8Yg9PIURPF05GMLrs5oBNWF7BL+JjRbDWuePvuaTIimmW9s6zIbbQRtnJHnjX+Tl/puV/wGO98m+7dRtX27gC+xVxHhNio/7yZpwxzRmbHG1eLg4PPKOFG0CdQFcEdysu3PlSKxRZhAXyqL/ieM837AWAwUUYI+3E63QlHcgoW1rQcFNU+h08PipQMhrqFKon6+gw4lJOgWuIZT1uCmTFpRVo9uGvWGtVOQUj9/2H8lR17TqauYrEeu3RiypAYnSPZmqw+yBwbxQ+f2Sqjp3J07yXZRFQpuRETBt/4PUoZln4Dmt96zpzL+DP9FXzfwsNzHiYwwevXLkfBnfLwF6fYYJr0SUQDWXZPsBKKTUSB7BPHEfESMMFfb5SSr5TlHduLcUQp0U26lFGouAWIF0klSm5EFBO03tzfKaE60XF4d2BCw3qxWiSxW1mRZOcHxSl2SfsMIHrtV7ujpzgvuqIx46kwsZS+aHt5h4SH2gd0i/B5S1RBkyxP/+viBd/Dpe4/BnCU2c4/6oPjXwzxbW0IIWRpnqLP91DaRnOo9jcCkW3LuQaYtZQn1Fb3HUnTJ/fdqLFenyo0gx0QiaklyjCanoy3l5/tcc59cIsk1QfP/Gdom9qMgu3G8nghbe+/UhpYBmZRpACTC0TfD5J00hp19VJzY+aOLiQcr3/+eAYxx1BG/NSfkBvnpa/iA/a6iUfFxRkzs42Rh99bMpZ+WTfWrTXfaijcvgeHdXZLRcKiuiV1adKKifVtXSuz9UnJYAxuk+kCSHpacEAAZEDR8ybiOm94lIMrv/OCSC2zQqWCqMARsV4I6Ym2miXc8lnxpMb6wvxvrC/G+sL8b6wnBzlW+4lkVQKjk/oAA3lAhgV/ZiZ4KHPJ4d08xtgdABd3wzmX0sgANdgiqv0KUABc3s9V+hSgALm9nqv0KUABc3s9V+hSgALm9nqrgAe5b6pGSSL31TohgAVYEJBGvJfsdelOl0DWPbVdTXYIqqmABYdjbC8aPguAS1SiGHtgUboAPYz72GvFiuWEfDkAdkeJzZp5ui92ZtLDB1NUxEoZohMlrSaVKsBrF6/LhtL6mP4o4V/zlotT5QIyWlhjYkv/znQ04c7ugXtU8TawZlpnfm+vz3xHPyg5PWoINjVgxOtOiNzHWIiL6M93p4U3guL6Qw/Olp3CzqhxH+0FDedNyn7k+wUgVEy74r6G0x1a2ulIyvLPYaRpYD0dzWtyS8yY9OjCTkl2wUImw8t4MrU7ACldAsAaDK1OwApXWShpdJ43frz2cwD2ZWclcUvV7tZkLlH8+fjAS07vCQB+7fVXif5Ow3crCzZn4Y39GzVHSHfe5BEvieNkRZ+WEYlLDNcUr8qVYCgIanbVZZ2/8b80UJWlhrDvuLP1WQEULvBgYFzuFbKlN43cSTf24AstKVnTeWTtI43z5A6P4L5bgw55LRFIZ8jn6kNcfSbdYbSyydooY0M0c5JFJzOSgE8YWiKHzyvo49528d5OKzmnkwI03ckVfeENNqvrh+lpw4a2dp3cnHf+fdFP3LB9zbctuWBJveVTG3+GYJi6TFo8MAmCOr/8sxO2UIAgAo85cBC+BdMKeunbyasgWNowpCpERTCHFmWBMr+uU64QcnNed9O+7/E83seKbm4FCqIO4bszv8OBcNTI58UyHQPi4ZyQ/KfXVhWO7diB4fAqHGLeXEITNBCs87U6H1IGfzKkrHp0HEADJJh/82r3Ef/dAY9zK7N6IdwlTMl28ZOl0Is8i+3p8QNHsR9ZdH7U2GAXEV7O65/8ITFXeFUZVtUHg0vN4pG3iWMvKpH1/8JW/flcE7E/dOYW8c/fuR8JIk+oWhxFE98wCRSSqqlJW/wDvS4jUGuGXEI7fE+KdMHGaFK7f5fe2is8b5Z/0LUglMwddoG+NTtxaLRGkoYsi2N24ghzeUWfSqM+L9Jugjuk3cvY/Q22W/upMBWvNEhjXF6iZ1U8KgVK6jJv+Abi9N6Pv0KrLVLBdCnxqKsO3cToi2C0C8vhLqa2ZlnbSOXGTjC1XeymUDmYDOo2AqQtr9uy1xmtV3kyVZit49U+F+XsRJdNRZTuDRClYZkpECSIPYSyYEQw2UamFpIOXQTcJhXMqLn9xnKdpqALTX+c45yfuN9cT/6lwSrwOEhLwoJHbXNgatWNp8x1FTMzor9JDjTQWz6dg5JMVtJQTzXYvj8Md0jB7a6JtjNSjKqTv6O7bwhdu33YeAkj/2zynIax3R5eAag/pNDPgf7TlgNm5i4V6Oz+kH8iqyEfBxzgHOZWaq28/32arz3XomtBixe0r2xcn9v72M1ewkcn1ozAnvmgnURAsF5R/iLfN34ynrOM8XQ4A21EfcrBB7Am8so0yiPXGLEQAK+Cl+/I3zV0bJiV6k5laAKXzvYc+gesEt+yu2UMxUEo4nN4WBgYYkO2aETmptYJN1wFEaCVYGkFmYzvaMUOtjH1sHBccaXXKNhl2PImhZB7OhXHSGBSnJ1E3MRhqVqn3YzLeuixBUsU8py6dfLHYzIYJ2MCFxcIN0PunWoC7cttsW9kLS5IkbsdvWbdtal7t1NZgNu4xJdadCJmMrxePwMywLwA5IBMPckrEWxA/uVmUPGa6hvPVyHMHtZBOBYMrIXD4yVNy5nIASRJ8iODGxj25e4xCiqMoDsIiJVN+S390Eynw+C48llt3Yd/xd3kSqHwUbapnayE6y5ZemARnV+Py96mB9v3SnbLcCtbw83owpnlqcaIUkqFS8NQpsn17pxR3GVSHA/vYZh2kDyJfol3hSc0EyGw43aBE7u6nthJSxlwP4TGb5H7h+FxgI/2b+BIabpxSlREkksOxlURsfHWRRpQoo4RBkabF/OzqEminJN+lMybqD/jYybj+sGdMgjj91O8I4BkeTdqAsVjdMyw5QEziK7clv725xlCd5RyiIq6iyysqyasrKjx+pBuZX2B3eBDdSZnGDcNIG+qv3WD25ROzuuNHJ3SBFcP+YSA0s1hMYcCy6EWWQGpCneb21gd7CuY0w2ql6HgGnkHshtWJaiWVq0Ih1Fi0zTo+3ObC35zZsyTIYDfmSZxjhWMqBvSy9NkZIndL1TAxBGOAAAADsFNyNcsmvVwFKp4fOMIMUxt2RSCuIA0ipo2ebXwEOi+3B9hutPebfbw8f9/l0ztzhP3+2VdLdocRFsd7SMGpME/heYFaVPKdr9eBTC24ZuPxA4n2Akyn9ujSPAvaHqX6xUg8OMrXpgSuGP8tUNI8y/q0chV8VoYwWZM9aF+AkPCqzpFYzzL8pQAa/27qvm53YL2snC0kZUCckiUOVCIyvUz2xwhH34iIyY2jNFjGT+l/wLKG2CyZAX6D47/NP8huhoGVVq5CYdlPH1phvSVFt/9lqnhgN26F0bqZrdcygOM9lG7f/6tdHeFBRNCGPj5vJCche0Ss5nrSdpMGAjnZMqioqS5hurEjdwyM6jW8sVQkJE8pmV6tCoSjnh2ULSLnM9VjlP4bqDMJr5iZAZ/XvgZwKFVlXscCQRLeXXveQ3OEXLaZe4Gcq6UssXWbI8GF4fc+DGledrJLN5sDpHdGzNXB8tzhS7W9bT3VWCDpjRSz7jIUNIjS+5vH316JL2D9Ju30PdGMHvYAobSMFM3sUf02kfEtrF1hy+xXuR39apnMwfk+J+Sc150u8hD8eRewl9O5y2bgmwUS+rX2TBzk0BtuTqS3KE33nNIhVl2iKMSsmim2ngWWDDV8sDSuVF5JLcMOA5493XjVLwAbCDvYxHqb95iIQE6epns4/8wy3slRXFAnA97RBaUqx3km7VNmV0eo9E0ViUw/SWBRYf0lO6X0xAZVTdsYX+YEVGVOSsH6JIKAvbp7PXajyLqeqy1RZtDlPqv6omu6U6r6xtOMbeDYvOtyx+kEP/Uoul327mr+K0leMmSn0YxkyqYn35aI/LfZw4RKAgyFH/CjfsudW6fPUoEZFfL6q4SPq6er0gCUw8/xZZoPBNGayfSGOObSWiWw2AMpTpx2k0fhToPf+QsI/3JnCFdsuC5x8Fh7Lt5lkGqXjK3zobDZrxVvndPY2Aqx8WaN8QXyPoMh0yZRvGqjf6BSYEllm7R2SroLl7U2nmNCPsDcf6/ypT6MVdKrr9j7ZlDEhEJq6SGZYigCkAYA4U7sNUZDUovD4a7vZkqFxAyCZKzIL3aCPoHJWhEzyyvBMrd9EHhdoZ4zgveYebaQ4+106PxuiDvH46fg6niyBtvk/shjaH7W37jrU/apG324lpFFU5O8UJn8t3+QH0t0tt0csHFJ1SvrWKMoQTqJg5ySM2aUXppuuo6WGeNPaoR7nQ4RBa3g98T72y9A5f4oUtnaJ1XMkkPnItEkjmQNABQ5+YnTplTg6YfHMXuGhTs1L5rp2zVqo8eqHDD1HApprnA0vBJXwRQiCeUkJWnNrfLFgLL2KbmduKxaO7OBzO5qaMf/GIIb5jY5fc9hPUKpiMVly5GBPyaWd+E1S7yNDiGWAT7EPCGnODryoQE5uD/GuCmF1obGXQZu9mOrU5KraQih6Y5MU1M8xqQXnpALj7RlFIUL4Cu15Rk7THwtQyntyOkBFObiz0nybSOr0b7hCwT/SZlGfoe/BhEqszMkCEolwnrhPByAhV7g+Q8NBMhVBrk53PIB9O02k3MfRp46LLP/Q18q0gEeKf63ihGYKdtutfuFjv8nXADHIy0L/ZCaetbmy0C8kOcSp8EmdI3SJvxUW1a8jOc2jM4PvtmxeUcNvhAmPOuVqo19bKgCzeKwbN8N4rhgpIgkpSe6ama41iDJJR5X8yWZDT4EcIkl9W0dkWAf9LOXZzjWPzisgTM5veLMSWUc4sxzYMoO2I1dFV9Jng9EWdWqcwS2QzH8xKC/azObTKWOkn+2EScgJszaWBeYJqsk80D7wwM2zszLg2SjCNm617+x7jR7H03jWxwcLGdHG27sGHogSamoyyNbI5XkiLQzYOxQIjgQXJaXIevrth2AHXl5BQ56/3eZ7QfMpdBR2dD11TegSt4hEPxgN8oRG98fjW8ihQyQSgrl7qjDFH6k1NfWh8O6EGcGq6zCLCLjLxFN6OMSmuKZJu4wUAkGzlrA6RHHP/dxywkxVSa1wo/C2DI26nQOyWG4s2aXlY9wkkvlDrlJDTqO8xZ23vhkEZaAr+LXPxJWvIjsAYRlTqKfDSiP1/guF1tgMi5nk1DPLl2LFoyeHnalOct+nqDf/OWjdwJ+cpYEq5aXsS/3vTwhok1Y9xjUHe01Z7qhjjG+FNCHfWCMB2wr6ypqg2j1RqCYoGnAZ+uMaBJKIYHss/ie8yPetxAIelOnqJNCkldTpo8rGu5mSEKBRWj/N1aZ8umLkPtONHjL27yk96bhS3/4tUTNZ8lIzsBvaQ7ajDavkAMNgrGJVonFnlWuWf2KI8tm8LBlSNY578qkFWRiZ8k3tjom31nhqQ3HXFQQitojL0B9xZDXdo46v4DyuhnuCEZZrmVIXsRDeMFJY+R8uLSbn+4Apu+9LoeblfAVuaVR9qxvV77XxtEoeBgYUFgO+JoWYyqZMVF78uf++er5esx/GkdgJL3eOccwGD5fSUkqZ9XM/NWQa/32HtoefQ5sXjEfWCKRPw+xgAAAAAAAAAB9FB6f/tG1QYOmYTubkQxIPWSDr0FXLH9UVvM2nJknwEf6YO+4GWMoRr+4hC0GLKfwaywMY9mAPo+FMGnaHen7fyS/r2Dn6hldIfJiAh2lN/RwF17ZjICOyzUBkyLtXXOg9w0/bZp+59I2N90xNX1CjmOWt9d2PwQaKhiPOq78SUXh5yu8Uxd6GSYifQlFKLZBdHlfaPMAM22Rd/vX1RLBxSe758CeHfMtIVG0IiXC3PnAHajl/uuQOR66ZAqnYau5QaMqkUVwWj+QTxRXbbcYF8WGKROcD2Z2P4RS/GxJD+hRS7mMoIG0ljjzyeE03tS0rdFbXj71eWs6HQfcVIKus6+Ynr/ZXaaagj8+gnt0CDPiu4PJHuGuWYMLHg5xpIQj9MaOZWYS3Ji/CewChU3y0D2guun6+oIT46I3VVIuGbnTR9vOVRlkjOBL3GlNJgmJWP7UqfykbmJ+wFVAmaICdtI4NPgNqG4LQp8/e3dhYseLyRiS8lEaphcrvYcFYD0UmLYwEOCPQG7Fy8bCHHwI4u9BdJZelWhkEBx8r3qzKPJWhElmWBsnjRIiHMow3UdfmQkNmhz+d/82ZYeWEFFwy7DXpniOaPkcmPx1N0EDxBWpfK7w2GgaPJfRx5kPRDH1o8RqkwzpGzUrhLI8lmo5t6dHLC7r0/JDyIy9TN7p1SCOWSJAOFWlbXTlyJXVTMUHuDDPecJyVm5+cuf/eg4cfxnaHP82mv2UP8eC08az1N4a3AE82lnkgS750FrsjsRoHW7r4mdM5DvCvexxivp1al3wG7hIlQQI3KjYpMfME7R3Z5UbMb4xhvYkd3rCBIDGM12m47/bexJekpye68G5XZUUSuWlsz91nxTYhlT7nO+7haLXvTzkPqoquWOjsGotNq2IOxjwfx8Veni+nnexEE2XWOLDO4j9nFoSF7KnWZ5GKKhyf2vwUkPIJ7x79zb9J+8fp1t/N1dcSDiGjZoeWPl4V15wp5zxgciY16A11p1qxTssxL1GZVuQa2bB0nc3ehN7PRSJnTMesVnr00Ww3T8VmAipiNAZmClIiPAFVS8KDlQdfHdqYlbjWCCMN8pl8MaKds/OXjMHaWmqP++3OvGio0ovLQdGG3w8m/J1AnlpWb+XQXMPhDm4XZfS14neU06bH4B9OemoPJ0Apfw44m5fUD9ghi2glvSuBHO6ay1R6MWbMRZbnccXSyqbkJiGBthVdg38aOTWwulcz8lYNQmAvBlh7qezgS0M4eU2Vq/R27IPP2riHJuGJ3C/ruZgPn3qgtCMcIcneC7xspn+DKMLKNYTbcIpcaVTPqXh1+HbY2L/twmJChxsUk/PXeetgZ2SohiL+lzJT3tZzASLiX+A3DT7y9FFnMOUGCyB3LNg9caCK2cs9N71kAN3knfqoD+QjRMOsPH1Ouv2r2iy0yJopzFlVQvBzmTrwGn9LK1pdPr3YlVTfQXHVp35mzVEqEhDSw9bcqKswYg/Ea+LOFce6kwLDSuwb6ZZWT7pXJfe15LO+fU7npIgjsElQOCN+v6Xl2yODQrDH3NOgbcUGzDHjaq+cS6jdpEIS1O9OGhNKqvM2ay5yeHIwrMRf28OXIbxzFFIIl2nPOLpgl5VvCmjktOIerNyQdBua2m3PjM/ghbvm11dwr3Va8IWWo7hBs18U1jhjJQEHgrrdVD6thbya3dtEidu1oMD71ZaWp3F9fetYOC4EW02atmaEi/Jr/IlY12wLemdYbyI7dbAAs4+O6sNVFbGvP9THnen2VPdHLdE4hgXGZ3zXm1II9xlovko6L2TS7wZGMPMcPXDUPlcaQI6aboL3PxO5ZfwJ/qwYmN/mt0Ea07GKkQwmzdjF6VICI8Bv/XV839JoRijKqRG7VpVRKuXbBoeJ+ndwD6pHPjP14vwfvqSK2fwyemDhgFWavX9CUOWrm2EG9/+GCoGnjJStvDKaM+fhnu+c8lB25e2WY1renLl66p+Ew4EPFJ1PdHgJ3+54lzC7//Cw6tVQvPxyNJNvHpF7eFeZfUs82naDzGBM6dZBwqV+cY11VzwuhoCKlqL2+Ql7/JitmG/d3I0AtMpx8CUIUcUS2UGWHOjMn45zwaP2Ph0IHxTvFSUg7HZRhuYg//LlM+VoYqbpoS2bK3rbR44pe2/2YZY+cCJnWcI2LC5q1tOyaB5/SBXvqW7a1DMqw1vU4FFvKNZ4zYG2xopKROt3vHQ/pRm7WaDgIPlWQKOEcbRy0MGGwEGDkMlu2mVXxYHK9ZPq4SFfMM8I6+spWhUltXZmDThKp4XnTIzafwAWicjcvWH2D3Q6Y+9jzVTy5ZOIwg5dMxy3Q2UC9qszatp2W5mtvN7Q9UngDetVY8hURvwtZAq6wbrUkNL9L6kiHujUrrJHetBNrIiW2y/pLm4HP1TZ0ISgKk/N4WafGrFZV0nht25H9TvEPiDUjaUmX5v2NJdqQIj3VS+w8aiu+udo/bpZ3ZDFk47z151+FSEtQDwNk2aCyRIGG0bq/hutG7C6HqpYJSIDECPIPKhXtTROGBJny5L53S/PHGoXrlcyUNLy5aI/MgbhN/p3IOg5hFRyYEsHBqcpUs5XQQmXhWY4ofL7sarnmFq/7+wCH+ViC5ZDXCSg5BtSW/9AzXxxG7yLKra/i0x45e0qlO+AMje3yJNKflCAfnKJ1QJVmkG9qLD72HE7srt5tK1vTzO8pA+PHvXJ+vtdpZ3+p+o4oZqiNoXgfc4WrOL10Gp4K/rKFbDKJlyzMg8n8OGaITJaz9iiTVQMz5LZO6pg7WMCyHk8rihNjd9LgG/XGDEKj2A/xrNEvzbx3dNOz3mXm06z4pbUAfQc5qQNy3EdWz7CvkfbQ/vPNP+jaTm9nFi1Ua1qEYjLFGuoB8OEcXmN7Fm3BjODkBsJLJHrNXu7PHFnUvAhIsMTP7kKEj34zmZGg7RBXXHKAqdB+zGTBcSaOIsVR4xgCKK20sb2OcWlrhL4oIPYgN68D6gjT8zVCDdmmf49wKgQ8DMvRzTF04z6Dstywrx7oS82n+GAUgVQJYwWz1f+aMIHzacjGOrtNZNoddKSUtx+1Gv3bid4/g+DXis4KKTPNYc2AhrxLx5Dtx9V0Ej+kHFggcGD4sidsYWwjn6KBz/VQDv7HrRVT0hjJ2rwX/gTR+wPA0UDJWI4hWd/4uZ1nlPPZnk3EmIH+XbF5YQDQCYBx8A5UALtPWxf0yfN0TYbaxp70z6huTeCC9lKUIQy7GLsqZAHTAAAaDv5D8j51b02EKZBgokjbJbdgCmJDPSfAAAC7+mc7NzfYAAAAA="},56512:(e,a,t)=>{t.d(a,{c:()=>i});const i=t.p+"assets/images/tracking-error-5b4ea1b6e6533357582d753909513d68.webp"},95976:(e,a,t)=>{t.d(a,{c:()=>i});const i=t.p+"assets/images/tracking-success-a41486c9465915a14a090fb9c2ff2a4a.webp"},93488:(e,a,t)=>{t.d(a,{c:()=>i});const i=t.p+"assets/images/tracking-d9b71087942d3b762d56745abb59062b.webp"},4552:(e,a,t)=>{t.d(a,{I:()=>o,M:()=>r});var i=t(11504);const n={},s=i.createContext(n);function r(e){const a=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function o(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),i.createElement(s.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/dbfa0beb.e1467fe8.js b/assets/js/dbfa0beb.e1467fe8.js deleted file mode 100644 index e3aa96a62..000000000 --- a/assets/js/dbfa0beb.e1467fe8.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[63538],{3260:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>d,contentTitle:()=>r,default:()=>u,frontMatter:()=>s,metadata:()=>o,toc:()=>l});var i=t(85893),n=t(11151);const s={id:"tracking",title:"Tracking"},r=void 0,o={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.",source:"@site/forms/features/tracking.md",sourceDirName:"features",slug:"/features/tracking",permalink:"/forms/features/tracking",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"tracking",title:"Tracking"},sidebar:"forms",previous:{title:"Success redirects",permalink:"/forms/features/success-redirect"},next:{title:"Security",permalink:"/forms/features/security"}},d={},l=[{value:"How to use it?",id:"how-to-use-it",level:2},{value:"Additional parameters",id:"additional-parameters",level:3},{value:"Additional success parameters",id:"additional-success-parameters",level:3},{value:"Additional error parameters",id:"additional-error-parameters",level:3}];function c(e){const a={code:"code",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",ul:"ul",...(0,n.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(a.p,{children:"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."}),"\n",(0,i.jsx)(a.p,{children:(0,i.jsx)(a.img,{alt:"Tracking screen",src:t(83554).Z+"",width:"631",height:"345"})}),"\n",(0,i.jsx)(a.h2,{id:"how-to-use-it",children:"How to use it?"}),"\n",(0,i.jsx)(a.p,{children:"The dataLayer event is pushed to Google Tag Manager with custom parameters and form submission data using the event name provided."}),"\n",(0,i.jsx)(a.h3,{id:"additional-parameters",children:"Additional parameters"}),"\n",(0,i.jsx)(a.p,{children:"You can include custom parameters in the dataLayer event in addition to the default form submission data. These custom parameters will be added to every form event, whether a success or an error."}),"\n",(0,i.jsx)(a.p,{children:(0,i.jsx)(a.img,{alt:"Tracking custom screen",src:t(70244).Z+"",width:"649",height:"319"})}),"\n",(0,i.jsx)(a.h3,{id:"additional-success-parameters",children:"Additional success parameters"}),"\n",(0,i.jsx)(a.p,{children:"You can add custom parameters to the dataLayer on the success event, similar to additional parameters."}),"\n",(0,i.jsx)(a.p,{children:(0,i.jsx)(a.img,{alt:"Tracking success screen",src:t(17439).Z+"",width:"622",height:"319"})}),"\n",(0,i.jsx)(a.h3,{id:"additional-error-parameters",children:"Additional error parameters"}),"\n",(0,i.jsx)(a.p,{children:"You can add custom parameters to the dataLayer on the error event, similar to additional parameters."}),"\n",(0,i.jsx)(a.p,{children:"With this event, you have some custom magic constants that you can use to provide additional information to the dataLayer event."}),"\n",(0,i.jsxs)(a.ul,{children:["\n",(0,i.jsxs)(a.li,{children:[(0,i.jsx)(a.code,{children:"{invalidFieldsString}"})," - This will provide a string of all invalid fields separated by a comma."]}),"\n",(0,i.jsxs)(a.li,{children:[(0,i.jsx)(a.code,{children:"{invalidFieldsArray}"})," - This will provide you with an array of all invalid fields."]}),"\n"]}),"\n",(0,i.jsx)(a.p,{children:(0,i.jsx)(a.img,{alt:"Tracking error screen",src:t(54380).Z+"",width:"605",height:"424"})})]})}function u(e={}){const{wrapper:a}={...(0,n.a)(),...e.components};return a?(0,i.jsx)(a,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},70244:(e,a,t)=>{t.d(a,{Z:()=>i});const i="data:image/webp;base64,UklGRpQgAABXRUJQVlA4IIggAACwkwCdASqJAj8BPjEYiEQiIYjUiBABglpbvw6mcjoAL9nuUOUSe0D9zxfH7PTbuD/Mz54XpL/0vS5+p90Vvq/f6bJlvGX9i7MP6N/Yf2M/uHpX+HfI/1X+p/sF/duV/y9/0PQb+KfXH7t/Wv7x/wv8J7G/5jwH91v6f9xfyBfiv8W/tX9m/c/+/fu7yCU0HqBenHyL/Df3f/E/97++eb1+x/3H9vfcn8y/i39X+177AP4h/K/7v/aP2s/uv///7/2N/pPAp+Zf4P2Af45/O/8L/Z/3K/wX//+039w/4f+G/wv7H+zj8w/t/+9/w/+l/9n+z+wT+Rfzn/Qf3j/Mf+L/M////0fct/4fbX+2P/u90n9bf/KEXTVQzyjoealZ8HmpWfB5qVnwealZ8HlnAPf5utYQNUsV2wxldVqEwXTTEOXEOXEOXELAubL+oQKXIE925lE9NT4dZW/PBZpGFqviU9V1ZedgVqBZ+nsPnN3UQUs4X8lp2gJ/xIql8uQoaToM2aYoy1GxDyVqEwXTTEOXEOFPId1rN6VvLSsgtyjgTLj8Rht8Fu17glZcfiMNvgt2vVd3Ksk0tFi8ncFpiHLiHLiHLiHLiHLiHQtMvLutm/ArUJgummIcuIcuIcuIgpgXNl/f625oeStQmC6aYhy4hy4kwK8tuiAOOXEOXEOXEOXEOXEOXEQUwLmy/v9bc0PJWoTBdNMQ5cQ5cSYFeW3RAHHLiHLiHLiHLiHLiHLiIKYFzZf2U07tST8LppiHLiHLiHLiHLYbODe+zS8+Gouft0kg3Kdbhj46xm6I5WWWJOAL3OHUSS1PcRxHAESmaTiIGrw05VZGgpzqC/VtH4jDb4Ldr3BKyFAYvfe7dDuq3aeZ5ecaIJ8mz6cTcIV1UD/toOkEIhbd/3QN0gtjjUFyrznhB5dygbAUbYAUJ5CyWy1psYuTZI4N6eKVhtqiIGGrFUnJkUIIL9DGVviCc/uhXtL6BeBF732r2ZiHLiHLeL4REG4uXEOXEOXEOW/vhA1X1ItXWy4uHK8tuh2/+CxErZGeYewXwt8l3pHkKX0+U3iywPGI6PBYMzDYSvhKiPLsNQDZixgsd00F1RM33u6ZiF9/TzT4IrAaHy8WW6E8fSX2BwQae/7fbOSAyEQ/T54TGH7L6GHcqPTjGx1bsSRgbLlyHFzoYkUvQ0H+u3+SpysIueABMP4bTkBdkk+MBZyK3+kRKaytL8MaE4upg6LJlYY47Qn4P1/jqrBcuN2SORcb+goMDOSg5ZtG3LhyvLboeBEZ1zrj8Rht8Fu17glZcfh1OMwY+ELu3LiHLiFgXNl/XHYecAYwWcfGZ+eIQHME63PqYDygr3N5bBeDD9h1OHFzjlmOLQUxAFVgQAcGDUOw0NDHV/jBTVUihCsPexV36X6G1xRo0pdf+WZvKGBzb1JkkKgid7LxIykVBFWAUrnPxPap21UJIZCbR0rSebFwAnKoH4GMm9ofxveiHLiHLiFgXNl/ZMg7MN7WwbWkKHkNAO/a9l8qz/r7rESW+AdeF00xDlvF8IiADMGSz/iznHQ81Kz4PNSs+DzUrPg81KwLm+nEAAD+/+oTCng1y8Vpm9kbBMClqAAASdJmM/aFP23LZ8K/G9da0AdQEGHgb1nrLZP38jLSzo7VgcJO9x03giCViDXssSHDjkvUZb8rOAHpf6gGZxTPI9dzdS4JBDWqHJztQEIxuaqNP9IAApD+LM70DP+idrjG/1oYpiXsOKWc+zmMKzGjzR8TH/a5zmcKxHSUiCu0liNb7BXAB5/s/XxZNZK9t1fX9M66Y2kgAQBw4WJyU/bgfGo3pIcsZfbCJHbId3n5r+STZp1kLCqf7BdHwaEvzYAVTpX/LJ03gxXwQeIG8wW67Q9sNtu2QX1D5qc6/EEU0ARDA2afu7imuPueSouuS6Vymae6jgn4fPP+KeP2B+qen0qp+abofvSimQrxA+pZmBgKs596Jrv9AAaaaCYlr/Fa9sbElfdX91vwHU5IqJGZZYqPCTnvfAnRoRjK9B3XzwpCA2jLGMavPsK+YPB7pUyrYwc/wG1jLehaDfuY3v5HV5gAVD6SZcc914JRKHqy/6sRk12MWpNKZvAlZoPLyoqlIBPIn4D6gi/R3f8OLhwh4t94EOBN3oBill4AttDGm8Yg9PIURPF05GMLrs5oBNWF7BL+JjRbDWuePvuaTIimmW9s6zIbbQRtnJHnjX+Tl/puV/wGO98m+7dRtX27gC+xVxHhNio/7yZpwxzRmbHG1eLg4PPKOFG0CdQFcEdysu3PlSKxRZhAXyqL/ieM837AWAwUUYI+3E63QlHcgoW1rQcFNU+h08PipQMhrqFKon6+gw4lJOgWuIZT1uCmTFpRVo9uGvWGtVOQUj9/2H8lR17TqauYrEeu3RiypAYnSPZmqw+yBwbxQ+f2Sqjp3J07yXZRFQpuRETBt/4PUoZln4Dmt96zpzL+DP9FXzfwsNzHiYwwevXLkfBnfLwF6fYYJr0SUQDWXZPsBKKTUSB7BPHEfESMMFfb5SSr5TlHduLcUQp0U26lFGouAWIF0klSm5EFBO03tzfKaE60XF4d2BCw3qxWiSxW1mRZOcHxSl2SfsMIHrtV7ujpzgvuqIx46kwsZS+aHt5h4SH2gd0i/B5S1RBkyxP/+viBd/Dpe4/BnCU2c4/6oPjXwzxbW0IIWRpnqLP91DaRnOo9jcCkW3LuQaYtZQn1Fb3HUnTJ/fdqLFenyo0gx0QiaklyjCanoy3l5/tcc59cIsk1QfP/Gdom9qMgu3G8nghbe+/UhpYBmZRpACTC0TfD5J00hp19VJzY+aOLiQcr3/+eAYxx1BG/NSfkBvnpa/iA/a6iUfFxRkzs42Rh99bMpZ+WTfWrTXfaijcvgeHdXZLRcKiuiV1adKKifVtXSuz9UnJYAxuk+kCSHpacEAAZEDR8ybiOm94lIMrv/OCSC2zQqWCqMARsV4I6Ym2miXc8lnxpMb6wvxvrC/G+sL8b6wnBzlW+4lkVQKjk/oAA3lAhgV/ZiZ4KHPJ4d08xtgdABd3wzmX0sgANdgiqv0KUABc3s9V+hSgALm9nqv0KUABc3s9V+hSgALm9nqrgAe5b6pGSSL31TohgAVYEJBGvJfsdelOl0DWPbVdTXYIqqmABYdjbC8aPguAS1SiGHtgUboAPYz72GvFiuWEfDkAdkeJzZp5ui92ZtLDB1NUxEoZohMlrSaVKsBrF6/LhtL6mP4o4V/zlotT5QIyWlhjYkv/znQ04c7ugXtU8TawZlpnfm+vz3xHPyg5PWoINjVgxOtOiNzHWIiL6M93p4U3guL6Qw/Olp3CzqhxH+0FDedNyn7k+wUgVEy74r6G0x1a2ulIyvLPYaRpYD0dzWtyS8yY9OjCTkl2wUImw8t4MrU7ACldAsAaDK1OwApXWShpdJ43frz2cwD2ZWclcUvV7tZkLlH8+fjAS07vCQB+7fVXif5Ow3crCzZn4Y39GzVHSHfe5BEvieNkRZ+WEYlLDNcUr8qVYCgIanbVZZ2/8b80UJWlhrDvuLP1WQEULvBgYFzuFbKlN43cSTf24AstKVnTeWTtI43z5A6P4L5bgw55LRFIZ8jn6kNcfSbdYbSyydooY0M0c5JFJzOSgE8YWiKHzyvo49528d5OKzmnkwI03ckVfeENNqvrh+lpw4a2dp3cnHf+fdFP3LB9zbctuWBJveVTG3+GYJi6TFo8MAmCOr/8sxO2UIAgAo85cBC+BdMKeunbyasgWNowpCpERTCHFmWBMr+uU64QcnNed9O+7/E83seKbm4FCqIO4bszv8OBcNTI58UyHQPi4ZyQ/KfXVhWO7diB4fAqHGLeXEITNBCs87U6H1IGfzKkrHp0HEADJJh/82r3Ef/dAY9zK7N6IdwlTMl28ZOl0Is8i+3p8QNHsR9ZdH7U2GAXEV7O65/8ITFXeFUZVtUHg0vN4pG3iWMvKpH1/8JW/flcE7E/dOYW8c/fuR8JIk+oWhxFE98wCRSSqqlJW/wDvS4jUGuGXEI7fE+KdMHGaFK7f5fe2is8b5Z/0LUglMwddoG+NTtxaLRGkoYsi2N24ghzeUWfSqM+L9Jugjuk3cvY/Q22W/upMBWvNEhjXF6iZ1U8KgVK6jJv+Abi9N6Pv0KrLVLBdCnxqKsO3cToi2C0C8vhLqa2ZlnbSOXGTjC1XeymUDmYDOo2AqQtr9uy1xmtV3kyVZit49U+F+XsRJdNRZTuDRClYZkpECSIPYSyYEQw2UamFpIOXQTcJhXMqLn9xnKdpqALTX+c45yfuN9cT/6lwSrwOEhLwoJHbXNgatWNp8x1FTMzor9JDjTQWz6dg5JMVtJQTzXYvj8Md0jB7a6JtjNSjKqTv6O7bwhdu33YeAkj/2zynIax3R5eAag/pNDPgf7TlgNm5i4V6Oz+kH8iqyEfBxzgHOZWaq28/32arz3XomtBixe0r2xcn9v72M1ewkcn1ozAnvmgnURAsF5R/iLfN34ynrOM8XQ4A21EfcrBB7Am8so0yiPXGLEQAK+Cl+/I3zV0bJiV6k5laAKXzvYc+gesEt+yu2UMxUEo4nN4WBgYYkO2aETmptYJN1wFEaCVYGkFmYzvaMUOtjH1sHBccaXXKNhl2PImhZB7OhXHSGBSnJ1E3MRhqVqn3YzLeuixBUsU8py6dfLHYzIYJ2MCFxcIN0PunWoC7cttsW9kLS5IkbsdvWbdtal7t1NZgNu4xJdadCJmMrxePwMywLwA5IBMPckrEWxA/uVmUPGa6hvPVyHMHtZBOBYMrIXD4yVNy5nIASRJ8iODGxj25e4xCiqMoDsIiJVN+S390Eynw+C48llt3Yd/xd3kSqHwUbapnayE6y5ZemARnV+Py96mB9v3SnbLcCtbw83owpnlqcaIUkqFS8NQpsn17pxR3GVSHA/vYZh2kDyJfol3hSc0EyGw43aBE7u6nthJSxlwP4TGb5H7h+FxgI/2b+BIabpxSlREkksOxlURsfHWRRpQoo4RBkabF/OzqEminJN+lMybqD/jYybj+sGdMgjj91O8I4BkeTdqAsVjdMyw5QEziK7clv725xlCd5RyiIq6iyysqyasrKjx+pBuZX2B3eBDdSZnGDcNIG+qv3WD25ROzuuNHJ3SBFcP+YSA0s1hMYcCy6EWWQGpCneb21gd7CuY0w2ql6HgGnkHshtWJaiWVq0Ih1Fi0zTo+3ObC35zZsyTIYDfmSZxjhWMqBvSy9NkZIndL1TAxBGOAAAADsFNyNcsmvVwFKp4fOMIMUxt2RSCuIA0ipo2ebXwEOi+3B9hutPebfbw8f9/l0ztzhP3+2VdLdocRFsd7SMGpME/heYFaVPKdr9eBTC24ZuPxA4n2Akyn9ujSPAvaHqX6xUg8OMrXpgSuGP8tUNI8y/q0chV8VoYwWZM9aF+AkPCqzpFYzzL8pQAa/27qvm53YL2snC0kZUCckiUOVCIyvUz2xwhH34iIyY2jNFjGT+l/wLKG2CyZAX6D47/NP8huhoGVVq5CYdlPH1phvSVFt/9lqnhgN26F0bqZrdcygOM9lG7f/6tdHeFBRNCGPj5vJCche0Ss5nrSdpMGAjnZMqioqS5hurEjdwyM6jW8sVQkJE8pmV6tCoSjnh2ULSLnM9VjlP4bqDMJr5iZAZ/XvgZwKFVlXscCQRLeXXveQ3OEXLaZe4Gcq6UssXWbI8GF4fc+DGledrJLN5sDpHdGzNXB8tzhS7W9bT3VWCDpjRSz7jIUNIjS+5vH316JL2D9Ju30PdGMHvYAobSMFM3sUf02kfEtrF1hy+xXuR39apnMwfk+J+Sc150u8hD8eRewl9O5y2bgmwUS+rX2TBzk0BtuTqS3KE33nNIhVl2iKMSsmim2ngWWDDV8sDSuVF5JLcMOA5493XjVLwAbCDvYxHqb95iIQE6epns4/8wy3slRXFAnA97RBaUqx3km7VNmV0eo9E0ViUw/SWBRYf0lO6X0xAZVTdsYX+YEVGVOSsH6JIKAvbp7PXajyLqeqy1RZtDlPqv6omu6U6r6xtOMbeDYvOtyx+kEP/Uoul327mr+K0leMmSn0YxkyqYn35aI/LfZw4RKAgyFH/CjfsudW6fPUoEZFfL6q4SPq6er0gCUw8/xZZoPBNGayfSGOObSWiWw2AMpTpx2k0fhToPf+QsI/3JnCFdsuC5x8Fh7Lt5lkGqXjK3zobDZrxVvndPY2Aqx8WaN8QXyPoMh0yZRvGqjf6BSYEllm7R2SroLl7U2nmNCPsDcf6/ypT6MVdKrr9j7ZlDEhEJq6SGZYigCkAYA4U7sNUZDUovD4a7vZkqFxAyCZKzIL3aCPoHJWhEzyyvBMrd9EHhdoZ4zgveYebaQ4+106PxuiDvH46fg6niyBtvk/shjaH7W37jrU/apG324lpFFU5O8UJn8t3+QH0t0tt0csHFJ1SvrWKMoQTqJg5ySM2aUXppuuo6WGeNPaoR7nQ4RBa3g98T72y9A5f4oUtnaJ1XMkkPnItEkjmQNABQ5+YnTplTg6YfHMXuGhTs1L5rp2zVqo8eqHDD1HApprnA0vBJXwRQiCeUkJWnNrfLFgLL2KbmduKxaO7OBzO5qaMf/GIIb5jY5fc9hPUKpiMVly5GBPyaWd+E1S7yNDiGWAT7EPCGnODryoQE5uD/GuCmF1obGXQZu9mOrU5KraQih6Y5MU1M8xqQXnpALj7RlFIUL4Cu15Rk7THwtQyntyOkBFObiz0nybSOr0b7hCwT/SZlGfoe/BhEqszMkCEolwnrhPByAhV7g+Q8NBMhVBrk53PIB9O02k3MfRp46LLP/Q18q0gEeKf63ihGYKdtutfuFjv8nXADHIy0L/ZCaetbmy0C8kOcSp8EmdI3SJvxUW1a8jOc2jM4PvtmxeUcNvhAmPOuVqo19bKgCzeKwbN8N4rhgpIgkpSe6ama41iDJJR5X8yWZDT4EcIkl9W0dkWAf9LOXZzjWPzisgTM5veLMSWUc4sxzYMoO2I1dFV9Jng9EWdWqcwS2QzH8xKC/azObTKWOkn+2EScgJszaWBeYJqsk80D7wwM2zszLg2SjCNm617+x7jR7H03jWxwcLGdHG27sGHogSamoyyNbI5XkiLQzYOxQIjgQXJaXIevrth2AHXl5BQ56/3eZ7QfMpdBR2dD11TegSt4hEPxgN8oRG98fjW8ihQyQSgrl7qjDFH6k1NfWh8O6EGcGq6zCLCLjLxFN6OMSmuKZJu4wUAkGzlrA6RHHP/dxywkxVSa1wo/C2DI26nQOyWG4s2aXlY9wkkvlDrlJDTqO8xZ23vhkEZaAr+LXPxJWvIjsAYRlTqKfDSiP1/guF1tgMi5nk1DPLl2LFoyeHnalOct+nqDf/OWjdwJ+cpYEq5aXsS/3vTwhok1Y9xjUHe01Z7qhjjG+FNCHfWCMB2wr6ypqg2j1RqCYoGnAZ+uMaBJKIYHss/ie8yPetxAIelOnqJNCkldTpo8rGu5mSEKBRWj/N1aZ8umLkPtONHjL27yk96bhS3/4tUTNZ8lIzsBvaQ7ajDavkAMNgrGJVonFnlWuWf2KI8tm8LBlSNY578qkFWRiZ8k3tjom31nhqQ3HXFQQitojL0B9xZDXdo46v4DyuhnuCEZZrmVIXsRDeMFJY+R8uLSbn+4Apu+9LoeblfAVuaVR9qxvV77XxtEoeBgYUFgO+JoWYyqZMVF78uf++er5esx/GkdgJL3eOccwGD5fSUkqZ9XM/NWQa/32HtoefQ5sXjEfWCKRPw+xgAAAAAAAAAB9FB6f/tG1QYOmYTubkQxIPWSDr0FXLH9UVvM2nJknwEf6YO+4GWMoRr+4hC0GLKfwaywMY9mAPo+FMGnaHen7fyS/r2Dn6hldIfJiAh2lN/RwF17ZjICOyzUBkyLtXXOg9w0/bZp+59I2N90xNX1CjmOWt9d2PwQaKhiPOq78SUXh5yu8Uxd6GSYifQlFKLZBdHlfaPMAM22Rd/vX1RLBxSe758CeHfMtIVG0IiXC3PnAHajl/uuQOR66ZAqnYau5QaMqkUVwWj+QTxRXbbcYF8WGKROcD2Z2P4RS/GxJD+hRS7mMoIG0ljjzyeE03tS0rdFbXj71eWs6HQfcVIKus6+Ynr/ZXaaagj8+gnt0CDPiu4PJHuGuWYMLHg5xpIQj9MaOZWYS3Ji/CewChU3y0D2guun6+oIT46I3VVIuGbnTR9vOVRlkjOBL3GlNJgmJWP7UqfykbmJ+wFVAmaICdtI4NPgNqG4LQp8/e3dhYseLyRiS8lEaphcrvYcFYD0UmLYwEOCPQG7Fy8bCHHwI4u9BdJZelWhkEBx8r3qzKPJWhElmWBsnjRIiHMow3UdfmQkNmhz+d/82ZYeWEFFwy7DXpniOaPkcmPx1N0EDxBWpfK7w2GgaPJfRx5kPRDH1o8RqkwzpGzUrhLI8lmo5t6dHLC7r0/JDyIy9TN7p1SCOWSJAOFWlbXTlyJXVTMUHuDDPecJyVm5+cuf/eg4cfxnaHP82mv2UP8eC08az1N4a3AE82lnkgS750FrsjsRoHW7r4mdM5DvCvexxivp1al3wG7hIlQQI3KjYpMfME7R3Z5UbMb4xhvYkd3rCBIDGM12m47/bexJekpye68G5XZUUSuWlsz91nxTYhlT7nO+7haLXvTzkPqoquWOjsGotNq2IOxjwfx8Veni+nnexEE2XWOLDO4j9nFoSF7KnWZ5GKKhyf2vwUkPIJ7x79zb9J+8fp1t/N1dcSDiGjZoeWPl4V15wp5zxgciY16A11p1qxTssxL1GZVuQa2bB0nc3ehN7PRSJnTMesVnr00Ww3T8VmAipiNAZmClIiPAFVS8KDlQdfHdqYlbjWCCMN8pl8MaKds/OXjMHaWmqP++3OvGio0ovLQdGG3w8m/J1AnlpWb+XQXMPhDm4XZfS14neU06bH4B9OemoPJ0Apfw44m5fUD9ghi2glvSuBHO6ay1R6MWbMRZbnccXSyqbkJiGBthVdg38aOTWwulcz8lYNQmAvBlh7qezgS0M4eU2Vq/R27IPP2riHJuGJ3C/ruZgPn3qgtCMcIcneC7xspn+DKMLKNYTbcIpcaVTPqXh1+HbY2L/twmJChxsUk/PXeetgZ2SohiL+lzJT3tZzASLiX+A3DT7y9FFnMOUGCyB3LNg9caCK2cs9N71kAN3knfqoD+QjRMOsPH1Ouv2r2iy0yJopzFlVQvBzmTrwGn9LK1pdPr3YlVTfQXHVp35mzVEqEhDSw9bcqKswYg/Ea+LOFce6kwLDSuwb6ZZWT7pXJfe15LO+fU7npIgjsElQOCN+v6Xl2yODQrDH3NOgbcUGzDHjaq+cS6jdpEIS1O9OGhNKqvM2ay5yeHIwrMRf28OXIbxzFFIIl2nPOLpgl5VvCmjktOIerNyQdBua2m3PjM/ghbvm11dwr3Va8IWWo7hBs18U1jhjJQEHgrrdVD6thbya3dtEidu1oMD71ZaWp3F9fetYOC4EW02atmaEi/Jr/IlY12wLemdYbyI7dbAAs4+O6sNVFbGvP9THnen2VPdHLdE4hgXGZ3zXm1II9xlovko6L2TS7wZGMPMcPXDUPlcaQI6aboL3PxO5ZfwJ/qwYmN/mt0Ea07GKkQwmzdjF6VICI8Bv/XV839JoRijKqRG7VpVRKuXbBoeJ+ndwD6pHPjP14vwfvqSK2fwyemDhgFWavX9CUOWrm2EG9/+GCoGnjJStvDKaM+fhnu+c8lB25e2WY1renLl66p+Ew4EPFJ1PdHgJ3+54lzC7//Cw6tVQvPxyNJNvHpF7eFeZfUs82naDzGBM6dZBwqV+cY11VzwuhoCKlqL2+Ql7/JitmG/d3I0AtMpx8CUIUcUS2UGWHOjMn45zwaP2Ph0IHxTvFSUg7HZRhuYg//LlM+VoYqbpoS2bK3rbR44pe2/2YZY+cCJnWcI2LC5q1tOyaB5/SBXvqW7a1DMqw1vU4FFvKNZ4zYG2xopKROt3vHQ/pRm7WaDgIPlWQKOEcbRy0MGGwEGDkMlu2mVXxYHK9ZPq4SFfMM8I6+spWhUltXZmDThKp4XnTIzafwAWicjcvWH2D3Q6Y+9jzVTy5ZOIwg5dMxy3Q2UC9qszatp2W5mtvN7Q9UngDetVY8hURvwtZAq6wbrUkNL9L6kiHujUrrJHetBNrIiW2y/pLm4HP1TZ0ISgKk/N4WafGrFZV0nht25H9TvEPiDUjaUmX5v2NJdqQIj3VS+w8aiu+udo/bpZ3ZDFk47z151+FSEtQDwNk2aCyRIGG0bq/hutG7C6HqpYJSIDECPIPKhXtTROGBJny5L53S/PHGoXrlcyUNLy5aI/MgbhN/p3IOg5hFRyYEsHBqcpUs5XQQmXhWY4ofL7sarnmFq/7+wCH+ViC5ZDXCSg5BtSW/9AzXxxG7yLKra/i0x45e0qlO+AMje3yJNKflCAfnKJ1QJVmkG9qLD72HE7srt5tK1vTzO8pA+PHvXJ+vtdpZ3+p+o4oZqiNoXgfc4WrOL10Gp4K/rKFbDKJlyzMg8n8OGaITJaz9iiTVQMz5LZO6pg7WMCyHk8rihNjd9LgG/XGDEKj2A/xrNEvzbx3dNOz3mXm06z4pbUAfQc5qQNy3EdWz7CvkfbQ/vPNP+jaTm9nFi1Ua1qEYjLFGuoB8OEcXmN7Fm3BjODkBsJLJHrNXu7PHFnUvAhIsMTP7kKEj34zmZGg7RBXXHKAqdB+zGTBcSaOIsVR4xgCKK20sb2OcWlrhL4oIPYgN68D6gjT8zVCDdmmf49wKgQ8DMvRzTF04z6Dstywrx7oS82n+GAUgVQJYwWz1f+aMIHzacjGOrtNZNoddKSUtx+1Gv3bid4/g+DXis4KKTPNYc2AhrxLx5Dtx9V0Ej+kHFggcGD4sidsYWwjn6KBz/VQDv7HrRVT0hjJ2rwX/gTR+wPA0UDJWI4hWd/4uZ1nlPPZnk3EmIH+XbF5YQDQCYBx8A5UALtPWxf0yfN0TYbaxp70z6huTeCC9lKUIQy7GLsqZAHTAAAaDv5D8j51b02EKZBgokjbJbdgCmJDPSfAAAC7+mc7NzfYAAAAA="},54380:(e,a,t)=>{t.d(a,{Z:()=>i});const i=t.p+"assets/images/tracking-error-5b4ea1b6e6533357582d753909513d68.webp"},17439:(e,a,t)=>{t.d(a,{Z:()=>i});const i=t.p+"assets/images/tracking-success-a41486c9465915a14a090fb9c2ff2a4a.webp"},83554:(e,a,t)=>{t.d(a,{Z:()=>i});const i=t.p+"assets/images/tracking-d9b71087942d3b762d56745abb59062b.webp"},11151:(e,a,t)=>{t.d(a,{Z:()=>o,a:()=>r});var i=t(67294);const n={},s=i.createContext(n);function r(e){const a=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function o(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),i.createElement(s.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/dc28c8db.020d1356.js b/assets/js/dc28c8db.020d1356.js deleted file mode 100644 index 2a96a38a6..000000000 --- a/assets/js/dc28c8db.020d1356.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[48449],{86250:(t,n,e)=>{e.r(n),e.d(n,{assets:()=>c,contentTitle:()=>l,default:()=>h,frontMatter:()=>o,metadata:()=>r,toc:()=>d});var i=e(85893),s=e(11151),a=e(22130);const o={id:"conditional-tags",title:"Conditional tags"},l=void 0,r={id:"javascript/state/conditional-tags",title:"Conditional tags",description:"The conditionalTags object contains methods used to manipulate conditional logic.",source:"@site/forms/javascript/state/conditional-tags.mdx",sourceDirName:"javascript/state",slug:"/javascript/state/conditional-tags",permalink:"/forms/javascript/state/conditional-tags",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"conditional-tags",title:"Conditional tags"},sidebar:"forms",previous:{title:"Utils",permalink:"/forms/javascript/state/utils"},next:{title:"Enrichment",permalink:"/forms/javascript/state/enrichment"}},c={},d=[{value:"Example",id:"example",level:3}];function p(t){const n={a:"a",admonition:"admonition",code:"code",h3:"h3",p:"p",pre:"pre",...(0,s.a)(),...t.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"conditionalTags"})," object contains methods used to manipulate conditional logic."]}),"\n",(0,i.jsx)(n.admonition,{type:"tip",children:(0,i.jsxs)(n.p,{children:["For more details about this feature visit ",(0,i.jsx)(n.a,{href:"/forms/features/conditional-tags",children:"conditional-tags"})," feature."]})}),"\n",(0,i.jsx)(a.D,{name:"Conditional tags",filter:"conditionalTags"}),"\n",(0,i.jsx)(n.h3,{id:"example",children:"Example"}),"\n",(0,i.jsx)(n.p,{children:"This example will set conditional logic to a field."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"window?.esForms?.conditionalTags?.setField('<name>', '<formId>');\n"})})]})}function h(t={}){const{wrapper:n}={...(0,s.a)(),...t.components};return n?(0,i.jsx)(n,{...t,children:(0,i.jsx)(p,{...t})}):p(t)}},22130:(t,n,e)=>{e.d(n,{D:()=>o});e(67294);var i=e(9286),s=e(61684),a=e(85893);function o(t){const{name:n,filter:e,url:o}=t,l="https://github.com/infinum/eightshift-forms/blob/develop/src/Blocks/components/form/assets/"+o+".js";return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h3",{children:"Usage"}),(0,a.jsxs)("p",{children:["To access ",n," object and all its customization options use your browsers console and type:"]}),(0,a.jsx)(i.Z,{language:"js",children:(0,s.p)("\n\t\t\t\twindow?.esForms?."+e+"\n\t\t\t")}),o&&(0,a.jsxs)("p",{children:["You can find all methods and their documentation on this ",(0,a.jsx)("a",{href:l,target:"_blank",rel:"noopener noreferrer",children:"link"}),"."]})]})}},61684:(t,n,e)=>{function i(t){const n=t.split(/\n/g);for(;0===(null==(e=n[0])?void 0:e.replace(/\s/g,"").length);){var e;n.shift()}for(;0===(null==(i=n[n.length-1])?void 0:i.replace(/\s/g,"").length);){var i;n.pop()}const s=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>{var n,e;return null!=(n=null==(e=t.match(/^\s*/))||null==(e=e[0])?void 0:e.length)?n:0})),a=Math.min(...s);return n.map((t=>t.slice(a))).join("\n")}e.d(n,{p:()=>i})}}]); \ No newline at end of file diff --git a/assets/js/dc28c8db.f89954ca.js b/assets/js/dc28c8db.f89954ca.js new file mode 100644 index 000000000..b9ae79fd3 --- /dev/null +++ b/assets/js/dc28c8db.f89954ca.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[74696],{47216:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>c,contentTitle:()=>r,default:()=>p,frontMatter:()=>o,metadata:()=>l,toc:()=>d});var i=n(17624),s=n(4552),a=n(13536);const o={id:"conditional-tags",title:"Conditional tags"},r=void 0,l={id:"javascript/state/conditional-tags",title:"Conditional tags",description:"The conditionalTags object contains methods used to manipulate conditional logic.",source:"@site/forms/javascript/state/conditional-tags.mdx",sourceDirName:"javascript/state",slug:"/javascript/state/conditional-tags",permalink:"/forms/javascript/state/conditional-tags",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"conditional-tags",title:"Conditional tags"},sidebar:"forms",previous:{title:"Utils",permalink:"/forms/javascript/state/utils"},next:{title:"Enrichment",permalink:"/forms/javascript/state/enrichment"}},c={},d=[{value:"Example",id:"example",level:3}];function h(t){const e={a:"a",admonition:"admonition",code:"code",h3:"h3",p:"p",pre:"pre",...(0,s.M)(),...t.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(e.p,{children:["The ",(0,i.jsx)(e.code,{children:"conditionalTags"})," object contains methods used to manipulate conditional logic."]}),"\n",(0,i.jsx)(e.admonition,{type:"tip",children:(0,i.jsxs)(e.p,{children:["For more details about this feature visit ",(0,i.jsx)(e.a,{href:"/forms/features/conditional-tags",children:"conditional-tags"})," feature."]})}),"\n",(0,i.jsx)(a.g,{name:"Conditional tags",filter:"conditionalTags"}),"\n",(0,i.jsx)(e.h3,{id:"example",children:"Example"}),"\n",(0,i.jsx)(e.p,{children:"This example will set conditional logic to a field."}),"\n",(0,i.jsx)(e.pre,{children:(0,i.jsx)(e.code,{className:"language-js",children:"window?.esForms?.conditionalTags?.setField('<name>', '<formId>');\n"})})]})}function p(t={}){const{wrapper:e}={...(0,s.M)(),...t.components};return e?(0,i.jsx)(e,{...t,children:(0,i.jsx)(h,{...t})}):h(t)}},13536:(t,e,n)=>{n.d(e,{g:()=>o});n(11504);var i=n(1608),s=n(96616),a=n(17624);function o(t){const{name:e,filter:n,url:o}=t,r=`https://github.com/infinum/eightshift-forms/blob/develop/src/Blocks/components/form/assets/${o}.js`;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h3",{children:"Usage"}),(0,a.jsxs)("p",{children:["To access ",e," object and all its customization options use your browsers console and type:"]}),(0,a.jsx)(i.c,{language:"js",children:(0,s.c)(`\n\t\t\t\twindow?.esForms?.${n}\n\t\t\t`)}),o&&(0,a.jsxs)("p",{children:["You can find all methods and their documentation on this ",(0,a.jsx)("a",{href:r,target:"_blank",rel:"noopener noreferrer",children:"link"}),"."]})]})}},96616:(t,e,n)=>{function i(t){const e=t.split(/\n/g);for(;0===e[0]?.replace(/\s/g,"").length;)e.shift();for(;0===e[e.length-1]?.replace(/\s/g,"").length;)e.pop();const n=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>t.match(/^\s*/)?.[0]?.length??0)),i=Math.min(...n);return e.map((t=>t.slice(i))).join("\n")}n.d(e,{c:()=>i})}}]); \ No newline at end of file diff --git a/assets/js/dc46868d.4181a7b7.js b/assets/js/dc46868d.4181a7b7.js deleted file mode 100644 index b8d854423..000000000 --- a/assets/js/dc46868d.4181a7b7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[71146],{58700:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>u,frontMatter:()=>i,metadata:()=>c,toc:()=>l});var o=s(85893),n=s(11151);const i={id:"rest-route",title:"REST Route"},r=void 0,c={id:"legacy/v6/basics/rest-route",title:"REST Route",description:"docs-source",source:"@site/docs/legacy/v6/basics/rest-route.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/rest-route",permalink:"/docs/legacy/v6/basics/rest-route",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"rest-route",title:"REST Route"},sidebar:"docs",previous:{title:"REST Field",permalink:"/docs/legacy/v6/basics/rest-field"},next:{title:"General",permalink:"/docs/legacy/v6/basics/frontend"}},a={},l=[{value:"Test it in action",id:"test-it-in-action",level:2}];function d(e){const t={a:"a",blockquote:"blockquote",code:"code",h2:"h2",img:"img",p:"p",...(0,n.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/4.0.0",children:(0,o.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(t.p,{children:"This class is used to create a new REST API route."}),"\n",(0,o.jsx)(t.p,{children:"To create a new class for the REST API route, run this command:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"wp boilerplate create_rest_route"})}),"\n",(0,o.jsxs)(t.p,{children:["The output will ask you to input the correct endpoint slug and method (",(0,o.jsx)(t.code,{children:"POST"}),", ",(0,o.jsx)(t.code,{children:"GET"}),", etc.). Everything else will be done for you, setting the namespace, package, vendor prefixes, class, and folder name, and you will be set to write your field implementation in the ",(0,o.jsx)(t.code,{children:"routeCallback"})," method."]}),"\n",(0,o.jsx)(t.h2,{id:"test-it-in-action",children:"Test it in action"}),"\n",(0,o.jsxs)(t.p,{children:["To test it in action, you should check the ",(0,o.jsx)(t.code,{children:"wp-json"})," path in your browser. You can do that with something like this:"]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"domain.ext/wp-json/routeNamespace/routeVersion/routeName"})}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsx)(t.p,{children:"This link will be different based on your project implementation."}),"\n"]})]})}function u(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},11151:(e,t,s)=>{s.d(t,{Z:()=>c,a:()=>r});var o=s(67294);const n={},i=o.createContext(n);function r(e){const t=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),o.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/dc46868d.eaee5e71.js b/assets/js/dc46868d.eaee5e71.js new file mode 100644 index 000000000..e03e5cf3a --- /dev/null +++ b/assets/js/dc46868d.eaee5e71.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[50772],{59876:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>u,frontMatter:()=>i,metadata:()=>c,toc:()=>a});var o=s(17624),n=s(4552);const i={id:"rest-route",title:"REST Route"},r=void 0,c={id:"legacy/v6/basics/rest-route",title:"REST Route",description:"docs-source",source:"@site/docs/legacy/v6/basics/rest-route.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/rest-route",permalink:"/docs/legacy/v6/basics/rest-route",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"rest-route",title:"REST Route"},sidebar:"docs",previous:{title:"REST Field",permalink:"/docs/legacy/v6/basics/rest-field"},next:{title:"General",permalink:"/docs/legacy/v6/basics/frontend"}},l={},a=[{value:"Test it in action",id:"test-it-in-action",level:2}];function d(e){const t={a:"a",blockquote:"blockquote",code:"code",h2:"h2",img:"img",p:"p",...(0,n.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/4.0.0",children:(0,o.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(t.p,{children:"This class is used to create a new REST API route."}),"\n",(0,o.jsx)(t.p,{children:"To create a new class for the REST API route, run this command:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"wp boilerplate create_rest_route"})}),"\n",(0,o.jsxs)(t.p,{children:["The output will ask you to input the correct endpoint slug and method (",(0,o.jsx)(t.code,{children:"POST"}),", ",(0,o.jsx)(t.code,{children:"GET"}),", etc.). Everything else will be done for you, setting the namespace, package, vendor prefixes, class, and folder name, and you will be set to write your field implementation in the ",(0,o.jsx)(t.code,{children:"routeCallback"})," method."]}),"\n",(0,o.jsx)(t.h2,{id:"test-it-in-action",children:"Test it in action"}),"\n",(0,o.jsxs)(t.p,{children:["To test it in action, you should check the ",(0,o.jsx)(t.code,{children:"wp-json"})," path in your browser. You can do that with something like this:"]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"domain.ext/wp-json/routeNamespace/routeVersion/routeName"})}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsx)(t.p,{children:"This link will be different based on your project implementation."}),"\n"]})]})}function u(e={}){const{wrapper:t}={...(0,n.M)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},4552:(e,t,s)=>{s.d(t,{I:()=>c,M:()=>r});var o=s(11504);const n={},i=o.createContext(n);function r(e){const t=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),o.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/dd059938.65eeecd6.js b/assets/js/dd059938.65eeecd6.js deleted file mode 100644 index fa77836c5..000000000 --- a/assets/js/dd059938.65eeecd6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[12666],{1454:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>l});var i=s(85893),n=s(11151);const o={id:"library",title:"SCSS Library"},r=void 0,c={id:"basics/library",title:"SCSS Library",description:"docs-source",source:"@site/docs/basics/library.md",sourceDirName:"basics",slug:"/basics/library",permalink:"/docs/basics/library",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"library",title:"SCSS Library"},sidebar:"docs",previous:{title:"Webpack",permalink:"/docs/basics/webpack"},next:{title:"Global Settings",permalink:"/docs/basics/global-settings"}},a={},l=[{value:"How to use it",id:"how-to-use-it",level:2}];function d(e){const t={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",strong:"strong",...(0,n.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsx)(t.p,{children:"Eightshift Frontend Libs contains a collection of useful SCSS mixins, functions and helpers you can use in projects."}),"\n",(0,i.jsx)(t.p,{children:"For years, we have collected a list of them. At one point, we felt it was ineffective to copy-paste code across multiple projects, so we created Eightshift Frontend Libs. This allows you to use whatever we offer without all that unnecessary clutter."}),"\n",(0,i.jsx)(t.p,{children:"Check out our documentation and import what you need from Eightshift Frontend Libs."}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsxs)(t.strong,{children:["Visit ",(0,i.jsx)(t.a,{href:"/sass",children:"SassDocs"})," for more details."]})}),"\n",(0,i.jsx)(t.h2,{id:"how-to-use-it",children:"How to use it"}),"\n",(0,i.jsx)(t.p,{children:"SCSS mixins, functions, and helpers are located in Eightshift Frontend Libs. Therefore, if you are using our Webpack build, you are all set. You can use it by importing it into your project like this:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-scss",children:"@import '@eightshift/frontend-libs/styles/index.scss';\n"})}),"\n",(0,i.jsxs)(t.p,{children:["However, if you used our ",(0,i.jsx)(t.code,{children:"wp boilerplate init theme"})," command, you are all set. Eightshift Frontend Libs are injected in the ",(0,i.jsx)(t.code,{children:"_shared.scss"})," file in your project."]})]})}function h(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},11151:(e,t,s)=>{s.d(t,{Z:()=>c,a:()=>r});var i=s(67294);const n={},o=i.createContext(n);function r(e){const t=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),i.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/dd059938.98d2745c.js b/assets/js/dd059938.98d2745c.js new file mode 100644 index 000000000..ca5e08f38 --- /dev/null +++ b/assets/js/dd059938.98d2745c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[47484],{45236:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>a,frontMatter:()=>d,metadata:()=>l,toc:()=>o});var s=t(17624),i=t(4552);const d={id:"library",title:"SCSS Library"},r=void 0,l={id:"basics/library",title:"SCSS Library",description:"docs-source",source:"@site/docs/basics/library.md",sourceDirName:"basics",slug:"/basics/library",permalink:"/docs/basics/library",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"library",title:"SCSS Library"},sidebar:"docs",previous:{title:"Webpack",permalink:"/docs/basics/webpack"},next:{title:"Global Settings",permalink:"/docs/basics/global-settings"}},c={},o=[{value:"How to use it",id:"how-to-use-it",level:2},{value:"Functions",id:"functions",level:2},{value:"<code>calc-dynamic-size</code>",id:"calc-dynamic-size",level:3},{value:"<code>global-config</code>",id:"global-config",level:3},{value:"<code>global-settings</code>",id:"global-settings",level:3},{value:"<code>line-height</code>",id:"line-height",level:3},{value:"Mixins",id:"mixins",level:2},{value:"<code>font-face</code>",id:"font-face",level:3},{value:"<code>underline-text</code>",id:"underline-text",level:3},{value:"Placeholders",id:"placeholders",level:2},{value:"<code>button-reset</code>",id:"button-reset",level:3},{value:"<code>link-reset</code>",id:"link-reset",level:3},{value:"<code>visually-hidden</code>",id:"visually-hidden",level:3}];function h(e){const n={a:"a",code:"code",em:"em",h2:"h2",h3:"h3",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs",children:(0,s.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(n.p,{children:"Eightshift Frontend Libs contains a collection of useful SCSS mixins, functions and helpers you can use in projects."}),"\n",(0,s.jsx)(n.p,{children:"For years, we have collected a list of them. At one point, we felt it was ineffective to copy-paste code across multiple projects, so we created Eightshift Frontend Libs. This allows you to use whatever we offer without all that unnecessary clutter."}),"\n",(0,s.jsx)(n.p,{children:"Check out our documentation and import what you need from Eightshift Frontend Libs."}),"\n",(0,s.jsx)(n.h2,{id:"how-to-use-it",children:"How to use it"}),"\n",(0,s.jsx)(n.p,{children:"SCSS mixins, functions, and helpers are located in Eightshift Frontend Libs. Therefore, if you are using our Webpack build, you are all set. You can use it by importing it into your project like this:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-scss",children:"@import '@eightshift/frontend-libs/styles/index.scss';\n"})}),"\n",(0,s.jsxs)(n.p,{children:["However, if you used our ",(0,s.jsx)(n.code,{children:"wp boilerplate init theme"})," command, you are all set. Eightshift Frontend Libs are injected in the ",(0,s.jsx)(n.code,{children:"_shared.scss"})," file in your project."]}),"\n",(0,s.jsx)(n.h2,{id:"functions",children:"Functions"}),"\n",(0,s.jsx)(n.h3,{id:"calc-dynamic-size",children:(0,s.jsx)(n.code,{children:"calc-dynamic-size"})}),"\n",(0,s.jsx)(n.p,{children:"Calculates dynamic sizes using linear function for calculations."}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Type"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"$min-size"})}),(0,s.jsx)(n.td,{children:"Smallest allowed size."}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"Size"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"$max-size"})}),(0,s.jsx)(n.td,{children:"Largest allowed size."}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"Size"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"$min-width"})}),(0,s.jsx)(n.td,{children:"From which width to start interpolating."}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"Size"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"$max-width"})}),(0,s.jsx)(n.td,{children:"Width on which to stop interpolating."}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"Size"})})]})]})]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Example"})}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-scss",children:".test {\n\tfont-size: calc-dynamic-size(10px, 100px, mobile, desktop);\n}\n"})}),"\n",(0,s.jsx)(n.p,{children:"Output"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-css",children:".test {\n\tfont-size: calc(0.1374 * 100vw + -64.74809px);\n}\n"})}),"\n",(0,s.jsx)(n.h3,{id:"global-config",children:(0,s.jsx)(n.code,{children:"global-config"})}),"\n",(0,s.jsxs)(n.p,{children:["Function returns global config variable from Eightshift-frontend-libs setup. It expects ",(0,s.jsx)(n.code,{children:"$global-config"})," key to be available. If the key is not available there is no warning nor error, just ",(0,s.jsx)(n.code,{children:"null"})," returned."]}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Type"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"$key"})}),(0,s.jsx)(n.td,{children:"Key from global manifest config."}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"String"})})]})})]}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"Throws"}),"\n",(0,s.jsx)(n.em,{children:"ERROR"}),": $global-config variable doesnt exist!"]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Example"})}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-scss",children:".test {\n\t@if (global-config(useRemBaseSize)) {\n\t\twidth: 2rem;\n\t\t...\n\t}\n}\n"})}),"\n",(0,s.jsx)(n.p,{children:"Output"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-css",children:".test {\n\twidth: 2rem;\n}\n"})}),"\n",(0,s.jsx)(n.h3,{id:"global-settings",children:(0,s.jsx)(n.code,{children:"global-settings"})}),"\n",(0,s.jsxs)(n.p,{children:["Function returns the ",(0,s.jsx)(n.code,{children:"$global_settings"})," variable from Eightshift Frontend libs setup. It expects ",(0,s.jsx)(n.code,{children:"$global-variables"})," key to be available."]}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Type"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"$keys"})}),(0,s.jsx)(n.td,{children:"Map keys from global settings."}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"String"})})]})})]}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"Throws"}),"\n",(0,s.jsx)(n.em,{children:"ERROR"}),": $global-config variable doesnt exist!"]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Example"})}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-scss",children:".test {\n\twidth: global-settings(containers, default);\n}\n"})}),"\n",(0,s.jsx)(n.p,{children:"Output"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-css",children:".test {\n\twidth: 1330px;\n}\n"})}),"\n",(0,s.jsx)(n.h3,{id:"line-height",children:(0,s.jsx)(n.code,{children:"line-height"})}),"\n",(0,s.jsx)(n.p,{children:"Transforms the line-height to relative value."}),"\n",(0,s.jsxs)(n.p,{children:["If context is not provided, it will be pulled from the ",(0,s.jsx)(n.code,{children:"$base-font-size"}),". Line height will be specified without any unit."]}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Type"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"$pixels"})}),(0,s.jsx)(n.td,{children:"Pixel value that should be converted to relative value."}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"Number"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"$context"})}),(0,s.jsxs)(n.td,{children:["Relative context. Defaults to ",(0,s.jsx)(n.code,{children:"$base-font-size"}),"."]}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"Number"})})]})]})]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Example"})}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-scss",children:".test {\n\tfont-size: 20px;\n\n\t&__subelement {\n\t\tfont-size: line-height(20);\n\t}\n\n\t&__second-subelement {\n\t\tfont-size: line-height(38, 32);\n\t}\n}\n"})}),"\n",(0,s.jsx)(n.p,{children:"Output"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-scss",children:"// $base-font-size = 20.\n\n.test {\n\t&__subelement {\n\t\tline-height: 1;\n\t}\n\n\t&__second-subelement {\n\t\tline-height: 1.19;\n\t}\n}\n"})}),"\n",(0,s.jsx)(n.h2,{id:"mixins",children:"Mixins"}),"\n",(0,s.jsx)(n.h3,{id:"font-face",children:(0,s.jsx)(n.code,{children:"font-face"})}),"\n",(0,s.jsxs)(n.p,{children:["Creates ",(0,s.jsx)(n.code,{children:"@font-face"})," definitions. Ideally, should be included in a separate SCSS partial and relatively 'early' in SCSS structure."]}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Default value"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"$name"})}),(0,s.jsx)(n.td,{children:"Font family name"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"String"})}),(0,s.jsx)(n.td,{})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"$path"})}),(0,s.jsxs)(n.td,{children:["Path to the font variation file (relative to the ",(0,s.jsx)(n.code,{children:"public/"})," folder)"]}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"String"})}),(0,s.jsx)(n.td,{})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"$weight"})}),(0,s.jsx)(n.td,{children:"Font variation weight"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"Number"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"400"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"$style"})}),(0,s.jsx)(n.td,{children:"Font variation style"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"String"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"normal"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"$exts"})}),(0,s.jsx)(n.td,{children:"File extensions of font files"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"String"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"woff2 woff"})})]})]})]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Example"})}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-scss",children:"@include font-face('FontName', 'FontName-Regular');\n@include font-face('FontName', 'FontName-Bold', 700);\n@include font-face('FontName2', 'FontName2', 500, normal, woff);\n"})}),"\n",(0,s.jsx)(n.p,{children:"Output"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-css",children:'@font-face {\n\tfont-family: "FontName";\n\tfont-weight: 400;\n\tfont-style: normal;\n\tsrc: url("FontName-Regular.woff2") format("woff2"), url("FontName-Regular.woff") format("woff");\n\tfont-display: swap;\n}\n\n@font-face {\n\tfont-family: "FontName";\n\tfont-weight: 700;\n\tfont-style: normal;\n\tsrc: url("FontName-Bold.woff2") format("woff2"), url("FontName-Bold.woff") format("woff");\n\tfont-display: swap;\n}\n\n@font-face {\n\tfont-family: "FontName2";\n\tfont-weight: 500;\n\tfont-style: normal;\n\tsrc: url("FontName2.woff") format("woff");\n\tfont-display: swap;\n}\n'})}),"\n",(0,s.jsx)(n.h3,{id:"underline-text",children:(0,s.jsx)(n.code,{children:"underline-text"})}),"\n",(0,s.jsx)(n.p,{children:"This mixin can work in two ways:"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["Include the mixin in the class you want to hover over. Text you want to underline needs to have attached class ",(0,s.jsx)(n.code,{children:".underline-text"})," (alternatively, provide a custom class name through the ",(0,s.jsx)(n.code,{children:"$element"})," parameter). ",(0,s.jsx)(n.code,{children:"$wrapper"})," should be set to ",(0,s.jsx)(n.code,{children:"true"}),"."]}),"\n",(0,s.jsxs)(n.li,{children:["Include the mixin in any element. ",(0,s.jsx)(n.code,{children:"$wrapper"})," shouldn't be set (= should be set to ",(0,s.jsx)(n.code,{children:"false"}),")"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Other parameters are optional and they allow you customize the transition."}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Default value"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"$thickness"})}),(0,s.jsx)(n.td,{children:"Thickness of the line (percentage relative to the current font size)"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"String"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"10%"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"$duration"})}),(0,s.jsx)(n.td,{children:"Duration of the animation"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"Seconds"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"0.5s"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"$timing-function"})}),(0,s.jsx)(n.td,{children:"Animation timing function"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"Timing-function"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"cubic-bezier(0.79, 0.01, 0.22, 0.99)"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"$color"})}),(0,s.jsx)(n.td,{children:"Color of the underline"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"Color"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"currentColor"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"$wrapper"})}),(0,s.jsx)(n.td,{children:"If wrapper is used as the hover reference"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"Boolean"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"false"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"$element"})}),(0,s.jsx)(n.td,{children:"Element which you want to add the underline to"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"String"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:".underline-text"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"$state"})}),(0,s.jsx)(n.td,{children:"When to apply the underline (pseudoselector)"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"String"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"hover"})})]})]})]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Example"})}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-scss",children:'.test {\n\t@include underline-text();\n}\n\n.test2 {\n\t@include underline-text(5%, .7s, ease-in, #132031, true, ".link", hover);\n}\n\n.test3 {\n\t@include underline-text($timing-function: ease, $color: #000000, $wrapper: true, $element: ".target-text");\n}\n'})}),"\n",(0,s.jsx)(n.p,{children:"Output"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-scss",children:".test {\n\tdisplay: inline;\n\ttransition: background-size 0.5s cubic-bezier(0.79, 0.01, 0.22, 0.99) 0s, background-position 0s step-end 0.5s;\n\ttext-decoration: none;\n\tbackground-image: linear-gradient(transparent 90%, currentColor 90%, currentColor 100%);\n\tbackground-repeat: no-repeat;\n\tbackground-position-y: bottom;\n\tbackground-size: 0% 100%;\n\n\t&:hover {\n\t\tbackground-position-x: right;\n\t\tbackground-position-y: bottom;\n\t\tbackground-size: 100% 100%;\n\t}\n}\n\n.test2 {\n\ttext-decoration: none;\n\n\t.link {\n\t\tdisplay: inline;\n\t\ttransition: background-size 0.7s ease-in 0s, background-position 0s step-end 0.7s;\n\t\ttext-decoration: none;\n\t\tbackground-image: linear-gradient(transparent 95%, #132031 95%, #132031 100%);\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-position-y: bottom;\n\t\tbackground-size: 0% 100%;\n\t}\n\n\t&:hover .link {\n\t\tbackground-position-x: right;\n\t\tbackground-position-y: bottom;\n\t\tbackground-size: 100% 100%;\n\t}\n}\n\n.test3 {\n\ttext-decoration: none;\n\n\t.target-text {\n\t\tdisplay: inline;\n\t\ttransition: background-size 0.5s ease 0s, background-position 0s step-end 0.5s;\n\t\ttext-decoration: none;\n\t\tbackground-image: linear-gradient(transparent 90%, #000000 90%, #000000 100%);\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-position-y: bottom;\n\t\tbackground-size: 0% 100%;\n\t}\n\n\t&:hover .target-text {\n\t\tbackground-position-x: right;\n\t\tbackground-position-y: bottom;\n\t\tbackground-size: 100% 100%;\n\t}\n}\n"})}),"\n",(0,s.jsx)(n.h2,{id:"placeholders",children:"Placeholders"}),"\n",(0,s.jsx)(n.h3,{id:"button-reset",children:(0,s.jsx)(n.code,{children:"button-reset"})}),"\n",(0,s.jsx)(n.p,{children:"Resets the browser default button styles."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Example"})}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-scss",children:".test {\n\t@extend %button-reset;\n}\n"})}),"\n",(0,s.jsx)(n.p,{children:"Output"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-css",children:".test {\n\tpadding: 0;\n\tborder: 0;\n\tappearance: none;\n\tfont-family: inherit;\n}\n"})}),"\n",(0,s.jsx)(n.h3,{id:"link-reset",children:(0,s.jsx)(n.code,{children:"link-reset"})}),"\n",(0,s.jsx)(n.p,{children:"Resets the browser default link styles."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Example"})}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-scss",children:".test {\n\t@extend %link-reset;\n}\n"})}),"\n",(0,s.jsx)(n.p,{children:"Output"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-scss",children:".test {\n\tpadding: 0;\n\tmargin: 0;\n\tcolor: unset;\n\ttext-decoration: none;\n\n\t&:hover {\n\t\tcolor: unset;\n\t}\n}\n"})}),"\n",(0,s.jsx)(n.h3,{id:"visually-hidden",children:(0,s.jsx)(n.code,{children:"visually-hidden"})}),"\n",(0,s.jsxs)(n.p,{children:["Hide information visually but keep it available to screen reader and other assistive technology. ",(0,s.jsx)(n.a,{href:"https://www.w3.org/WAI/tutorials/forms/labels/#hiding-the-label-element",children:"More info"})]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Example"})}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-scss",children:".test {\n\t@extend %visually-hidden;\n}\n"})}),"\n",(0,s.jsx)(n.p,{children:"Output"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-css",children:".test {\n\tborder: 0;\n\tclip: rect(0 0 0 0);\n\theight: 1px;\n\tmargin: -1px;\n\toverflow: hidden;\n\tpadding: 0;\n\tposition: absolute;\n\twidth: 1px;\n}\n"})})]})}function a(e={}){const{wrapper:n}={...(0,i.M)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},4552:(e,n,t)=>{t.d(n,{I:()=>l,M:()=>r});var s=t(11504);const i={},d=s.createContext(i);function r(e){const n=s.useContext(d);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:r(e.components),s.createElement(d.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ddb69969.1df53c92.js b/assets/js/ddb69969.1df53c92.js deleted file mode 100644 index 97a91e256..000000000 --- a/assets/js/ddb69969.1df53c92.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[3552],{56135:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>i,contentTitle:()=>l,default:()=>c,frontMatter:()=>a,metadata:()=>s,toc:()=>d});var r=o(85893),n=o(11151);const a={id:"cloudflare",title:"Cloudflare"},l=void 0,s={id:"features/cloudflare",title:"Cloudflare",description:"What is Cloudflare?",source:"@site/forms/features/cloudflare.md",sourceDirName:"features",slug:"/features/cloudflare",permalink:"/forms/features/cloudflare",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"cloudflare",title:"Cloudflare"},sidebar:"forms",previous:{title:"Migrations",permalink:"/forms/features/migrations"},next:{title:"Country list",permalink:"/forms/features/country-list"}},i={},d=[{value:"What is Cloudflare?",id:"what-is-cloudflare",level:2},{value:"How to use",id:"how-to-use",level:2},{value:"Features affected by Cloudflare",id:"features-affected-by-cloudflare",level:2},{value:"Geolocation",id:"geolocation",level:3},{value:"Security",id:"security",level:3}];function u(e){const t={a:"a",admonition:"admonition",em:"em",h2:"h2",h3:"h3",img:"img",p:"p",...(0,n.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h2,{id:"what-is-cloudflare",children:"What is Cloudflare?"}),"\n",(0,r.jsxs)(t.p,{children:["Cloudflare is a large network of servers that can improve the security, performance, and reliability of anything connected to the Internet. This is done by serving content as a ",(0,r.jsx)(t.em,{children:"reverse proxy"})," for all of your website's traffic."]}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"Cloudflare screen",src:o(29320).Z+"",width:"698",height:"652"})}),"\n",(0,r.jsx)(t.h2,{id:"how-to-use",children:"How to use"}),"\n",(0,r.jsx)(t.p,{children:"After setting up Cloudflare, head to the Global settings and enable Cloudflare. This will set up all the necessary options in the backend for everything to function properly."}),"\n",(0,r.jsx)(t.h2,{id:"features-affected-by-cloudflare",children:"Features affected by Cloudflare"}),"\n",(0,r.jsx)(t.p,{children:"Cloudflare affects the following features:"}),"\n",(0,r.jsx)(t.h3,{id:"geolocation",children:"Geolocation"}),"\n",(0,r.jsx)(t.p,{children:"By default geolocation uses the IP database to get user's location. With Cloudflare enabled, geolocation will use Cloudflare headers as a data source."}),"\n",(0,r.jsx)(t.admonition,{type:"note",children:(0,r.jsxs)(t.p,{children:["Make sure IP geolocation is enabled in the Cloudflare dashboard. More details on the Cloudflare IP geolocation functionality can be found ",(0,r.jsx)(t.a,{href:"https://developers.cloudflare.com/support/network/configuring-ip-geolocation/",children:"here"}),"."]})}),"\n",(0,r.jsx)(t.h3,{id:"security",children:"Security"}),"\n",(0,r.jsx)(t.p,{children:"When using Cloudflare, the user's IP address is masked and replaced with the IP address of the Cloudflare server. This ensures everything keeps working fine, with keeping all of the users private."})]})}function c(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(u,{...e})}):u(e)}},29320:(e,t,o)=>{o.d(t,{Z:()=>r});const r=o.p+"assets/images/cloudflare-4ba93b2c18aeb84f646802de1f561037.webp"},11151:(e,t,o)=>{o.d(t,{Z:()=>s,a:()=>l});var r=o(67294);const n={},a=r.createContext(n);function l(e){const t=r.useContext(a);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:l(e.components),r.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ddb69969.cab44927.js b/assets/js/ddb69969.cab44927.js new file mode 100644 index 000000000..e5b26a0b2 --- /dev/null +++ b/assets/js/ddb69969.cab44927.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[93364],{12564:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>i,contentTitle:()=>a,default:()=>u,frontMatter:()=>l,metadata:()=>s,toc:()=>d});var r=o(17624),n=o(4552);const l={id:"cloudflare",title:"Cloudflare"},a=void 0,s={id:"features/cloudflare",title:"Cloudflare",description:"What is Cloudflare?",source:"@site/forms/features/cloudflare.md",sourceDirName:"features",slug:"/features/cloudflare",permalink:"/forms/features/cloudflare",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"cloudflare",title:"Cloudflare"},sidebar:"forms",previous:{title:"Migrations",permalink:"/forms/features/migrations"},next:{title:"Country list",permalink:"/forms/features/country-list"}},i={},d=[{value:"What is Cloudflare?",id:"what-is-cloudflare",level:2},{value:"How to use",id:"how-to-use",level:2},{value:"Features affected by Cloudflare",id:"features-affected-by-cloudflare",level:2},{value:"Geolocation",id:"geolocation",level:3},{value:"Security",id:"security",level:3}];function c(e){const t={a:"a",admonition:"admonition",em:"em",h2:"h2",h3:"h3",img:"img",p:"p",...(0,n.M)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h2,{id:"what-is-cloudflare",children:"What is Cloudflare?"}),"\n",(0,r.jsxs)(t.p,{children:["Cloudflare is a large network of servers that can improve the security, performance, and reliability of anything connected to the Internet. This is done by serving content as a ",(0,r.jsx)(t.em,{children:"reverse proxy"})," for all of your website's traffic."]}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"Cloudflare screen",src:o(21632).c+"",width:"698",height:"652"})}),"\n",(0,r.jsx)(t.h2,{id:"how-to-use",children:"How to use"}),"\n",(0,r.jsx)(t.p,{children:"After setting up Cloudflare, head to the Global settings and enable Cloudflare. This will set up all the necessary options in the backend for everything to function properly."}),"\n",(0,r.jsx)(t.h2,{id:"features-affected-by-cloudflare",children:"Features affected by Cloudflare"}),"\n",(0,r.jsx)(t.p,{children:"Cloudflare affects the following features:"}),"\n",(0,r.jsx)(t.h3,{id:"geolocation",children:"Geolocation"}),"\n",(0,r.jsx)(t.p,{children:"By default geolocation uses the IP database to get user's location. With Cloudflare enabled, geolocation will use Cloudflare headers as a data source."}),"\n",(0,r.jsx)(t.admonition,{type:"note",children:(0,r.jsxs)(t.p,{children:["Make sure IP geolocation is enabled in the Cloudflare dashboard. More details on the Cloudflare IP geolocation functionality can be found ",(0,r.jsx)(t.a,{href:"https://developers.cloudflare.com/support/network/configuring-ip-geolocation/",children:"here"}),"."]})}),"\n",(0,r.jsx)(t.h3,{id:"security",children:"Security"}),"\n",(0,r.jsx)(t.p,{children:"When using Cloudflare, the user's IP address is masked and replaced with the IP address of the Cloudflare server. This ensures everything keeps working fine, with keeping all of the users private."})]})}function u(e={}){const{wrapper:t}={...(0,n.M)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},21632:(e,t,o)=>{o.d(t,{c:()=>r});const r=o.p+"assets/images/cloudflare-4ba93b2c18aeb84f646802de1f561037.webp"},4552:(e,t,o)=>{o.d(t,{I:()=>s,M:()=>a});var r=o(11504);const n={},l=r.createContext(n);function a(e){const t=r.useContext(l);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),r.createElement(l.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/de657462.161004f4.js b/assets/js/de657462.161004f4.js deleted file mode 100644 index a7bb31106..000000000 --- a/assets/js/de657462.161004f4.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[68012],{81446:(t,e,i)=>{i.r(e),i.d(e,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>l,metadata:()=>s,toc:()=>c});var n=i(85893),o=i(11151);const l={id:"boilerplate",title:"Eightshift Boilerplate"},r=void 0,s={id:"additional-libraries/boilerplate",title:"Eightshift Boilerplate",description:"GitHub tag",source:"@site/docs/additional-libraries/boilerplate.md",sourceDirName:"additional-libraries",slug:"/additional-libraries/boilerplate",permalink:"/docs/additional-libraries/boilerplate",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"boilerplate",title:"Eightshift Boilerplate"},sidebar:"docs",previous:{title:"Version 5 to 6",permalink:"/docs/migrations/5-6"},next:{title:"Eightshift Boilerplate Plugin",permalink:"/docs/additional-libraries/boilerplate-plugin"}},a={},c=[];function d(t){const e={a:"a",img:"img",li:"li",p:"p",ul:"ul",...(0,o.a)(),...t.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(e.p,{children:(0,n.jsx)(e.a,{href:"https://github.com/infinum/eightshift-boilerplate",children:(0,n.jsx)(e.img,{src:"https://img.shields.io/github/tag/infinum/eightshift-boilerplate.svg?style=for-the-badge",alt:"GitHub tag"})})}),"\n",(0,n.jsx)(e.p,{children:"All the tools you need to start building a modern WordPress project using the latest front end development tools."}),"\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.a,{href:"/docs/welcome",children:"Documentation"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.a,{href:"https://github.com/infinum/eightshift-boilerplate",children:"Github"})}),"\n"]})]})}function h(t={}){const{wrapper:e}={...(0,o.a)(),...t.components};return e?(0,n.jsx)(e,{...t,children:(0,n.jsx)(d,{...t})}):d(t)}},11151:(t,e,i)=>{i.d(e,{Z:()=>s,a:()=>r});var n=i(67294);const o={},l=n.createContext(o);function r(t){const e=n.useContext(l);return n.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function s(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(o):t.components||o:r(t.components),n.createElement(l.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/de657462.494ed8e7.js b/assets/js/de657462.494ed8e7.js new file mode 100644 index 000000000..555e62179 --- /dev/null +++ b/assets/js/de657462.494ed8e7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[85424],{98292:(t,e,i)=>{i.r(e),i.d(e,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>l,metadata:()=>s,toc:()=>c});var n=i(17624),o=i(4552);const l={id:"boilerplate",title:"Eightshift Boilerplate"},r=void 0,s={id:"additional-libraries/boilerplate",title:"Eightshift Boilerplate",description:"GitHub tag",source:"@site/docs/additional-libraries/boilerplate.md",sourceDirName:"additional-libraries",slug:"/additional-libraries/boilerplate",permalink:"/docs/additional-libraries/boilerplate",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"boilerplate",title:"Eightshift Boilerplate"},sidebar:"docs",previous:{title:"Version 5 to 6",permalink:"/docs/migrations/5-6"},next:{title:"Eightshift Boilerplate Plugin",permalink:"/docs/additional-libraries/boilerplate-plugin"}},a={},c=[];function d(t){const e={a:"a",img:"img",li:"li",p:"p",ul:"ul",...(0,o.M)(),...t.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(e.p,{children:(0,n.jsx)(e.a,{href:"https://github.com/infinum/eightshift-boilerplate",children:(0,n.jsx)(e.img,{src:"https://img.shields.io/github/tag/infinum/eightshift-boilerplate.svg?style=for-the-badge",alt:"GitHub tag"})})}),"\n",(0,n.jsx)(e.p,{children:"All the tools you need to start building a modern WordPress project using the latest front end development tools."}),"\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.a,{href:"/docs/welcome",children:"Documentation"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.a,{href:"https://github.com/infinum/eightshift-boilerplate",children:"Github"})}),"\n"]})]})}function h(t={}){const{wrapper:e}={...(0,o.M)(),...t.components};return e?(0,n.jsx)(e,{...t,children:(0,n.jsx)(d,{...t})}):d(t)}},4552:(t,e,i)=>{i.d(e,{I:()=>s,M:()=>r});var n=i(11504);const o={},l=n.createContext(o);function r(t){const e=n.useContext(l);return n.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function s(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(o):t.components||o:r(t.components),n.createElement(l.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/dea8b3ed.b36628ae.js b/assets/js/dea8b3ed.b36628ae.js new file mode 100644 index 000000000..66d585427 --- /dev/null +++ b/assets/js/dea8b3ed.b36628ae.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[77508],{76468:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>o,contentTitle:()=>d,default:()=>l,frontMatter:()=>i,metadata:()=>c,toc:()=>p});var r=t(17624),s=t(4552);const i={id:"dependency-admin",title:"Dependency admin"},d=void 0,c={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).",source:"@site/forms/php/filters/scripts/dependency-admin.md",sourceDirName:"php/filters/scripts",slug:"/php/filters/scripts/dependency-admin",permalink:"/forms/php/filters/scripts/dependency-admin",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"dependency-admin",title:"Dependency admin"},sidebar:"forms",previous:{title:"Locale",permalink:"/forms/php/filters/general/locale"},next:{title:"Dependency theme",permalink:"/forms/php/filters/scripts/dependency-theme"}},o={},p=[];function a(e){const n={code:"code",p:"p",pre:"pre",...(0,s.M)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.p,{children:"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)."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-php",children:"\\add_filter('es_forms_scripts_dependency_admin', [$this, 'getScriptsDependency']);\n\n/**\n * Fire add-on scripts before the Forms scripts.\n *\n * @return array<int, string>\n */\npublic function getScriptsDependency(): array\n{\n\treturn [\n\t\t'<script-handle-name>',\n\t];\n}\n"})})]})}function l(e={}){const{wrapper:n}={...(0,s.M)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(a,{...e})}):a(e)}},4552:(e,n,t)=>{t.d(n,{I:()=>c,M:()=>d});var r=t(11504);const s={},i=r.createContext(s);function d(e){const n=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:d(e.components),r.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/dea8b3ed.c23e4654.js b/assets/js/dea8b3ed.c23e4654.js deleted file mode 100644 index 3344ec484..000000000 --- a/assets/js/dea8b3ed.c23e4654.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[75526],{1901:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>o,contentTitle:()=>d,default:()=>l,frontMatter:()=>i,metadata:()=>c,toc:()=>a});var r=t(85893),s=t(11151);const i={id:"dependency-admin",title:"Dependency admin"},d=void 0,c={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).",source:"@site/forms/php/filters/scripts/dependency-admin.md",sourceDirName:"php/filters/scripts",slug:"/php/filters/scripts/dependency-admin",permalink:"/forms/php/filters/scripts/dependency-admin",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"dependency-admin",title:"Dependency admin"},sidebar:"forms",previous:{title:"Locale",permalink:"/forms/php/filters/general/locale"},next:{title:"Dependency theme",permalink:"/forms/php/filters/scripts/dependency-theme"}},o={},a=[];function p(e){const n={code:"code",p:"p",pre:"pre",...(0,s.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.p,{children:"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)."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-php",children:"\\add_filter('es_forms_scripts_dependency_admin', [$this, 'getScriptsDependency']);\n\n/**\n * Fire add-on scripts before the Forms scripts.\n *\n * @return array<int, string>\n */\npublic function getScriptsDependency(): array\n{\n\treturn [\n\t\t'<script-handle-name>',\n\t];\n}\n"})})]})}function l(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(p,{...e})}):p(e)}},11151:(e,n,t)=>{t.d(n,{Z:()=>c,a:()=>d});var r=t(67294);const s={},i=r.createContext(s);function d(e){const n=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:d(e.components),r.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e00f1d66.15c612ec.js b/assets/js/e00f1d66.15c612ec.js deleted file mode 100644 index b308dded0..000000000 --- a/assets/js/e00f1d66.15c612ec.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[54069],{62375:(t,o,e)=>{e.r(o),e.d(o,{assets:()=>r,contentTitle:()=>a,default:()=>p,frontMatter:()=>s,metadata:()=>l,toc:()=>c});var n=e(85893),i=e(11151);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},a=void 0,l={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.a)(),...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.a)(),...t.components};return o?(0,n.jsx)(o,{...t,children:(0,n.jsx)(d,{...t})}):d(t)}},11151:(t,o,e)=>{e.d(o,{Z:()=>l,a:()=>a});var n=e(67294);const i={},s=n.createContext(i);function a(t){const o=n.useContext(s);return n.useMemo((function(){return"function"==typeof t?t(o):{...o,...t}}),[o,t])}function l(t){let o;return o=t.disableParentContext?"function"==typeof t.components?t.components(i):t.components||i:a(t.components),n.createElement(s.Provider,{value:o},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/e00f1d66.9a60d18c.js b/assets/js/e00f1d66.9a60d18c.js new file mode 100644 index 000000000..935b272c2 --- /dev/null +++ b/assets/js/e00f1d66.9a60d18c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[50560],{67780:(t,o,e)=>{e.r(o),e.d(o,{assets:()=>r,contentTitle:()=>l,default:()=>p,frontMatter:()=>s,metadata:()=>a,toc:()=>c});var n=e(17624),i=e(4552);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.M)(),...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.M)(),...t.components};return o?(0,n.jsx)(o,{...t,children:(0,n.jsx)(d,{...t})}):d(t)}},4552:(t,o,e)=>{e.d(o,{I:()=>a,M:()=>l});var n=e(11504);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.255ff9c8.js b/assets/js/e0d892c2.255ff9c8.js deleted file mode 100644 index 00a5f9ef0..000000000 --- a/assets/js/e0d892c2.255ff9c8.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[19520],{67091: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/e0d892c2.2ee7a01f.js b/assets/js/e0d892c2.2ee7a01f.js new file mode 100644 index 000000000..85674edca --- /dev/null +++ b/assets/js/e0d892c2.2ee7a01f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[6384],{15016: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/e110487c.75c1c6ab.js b/assets/js/e110487c.75c1c6ab.js new file mode 100644 index 000000000..4e68506c4 --- /dev/null +++ b/assets/js/e110487c.75c1c6ab.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[83920],{77916:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>p,frontMatter:()=>s,metadata:()=>o,toc:()=>l});var n=i(17624),r=i(4552);const s={id:"rest",title:"REST Intro"},a=void 0,o={id:"basics/rest",title:"REST Intro",description:"docs-source",source:"@site/docs/basics/rest.md",sourceDirName:"basics",slug:"/basics/rest",permalink:"/docs/basics/rest",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"rest",title:"REST Intro"},sidebar:"docs",previous:{title:"Assets Manifest",permalink:"/docs/basics/manifest"},next:{title:"REST Field",permalink:"/docs/basics/rest-field"}},c={},l=[{value:"CallableFieldInterface.php",id:"callablefieldinterfacephp",level:3},{value:"CallableRouteInterface.php",id:"callablerouteinterfacephp",level:3},{value:"RouteSecurityInterface.php",id:"routesecurityinterfacephp",level:3},{value:"RouteInterface.php",id:"routeinterfacephp",level:3},{value:"AbstractField.php",id:"abstractfieldphp",level:3},{value:"AbstractRoute.php",id:"abstractroutephp",level:3}];function d(e){const t={a:"a",code:"code",h3:"h3",img:"img",p:"p",...(0,r.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(t.p,{children:"Depending on the type of projects you are working on, you might need to create a new REST API route or add a new API field to an existing route."}),"\n",(0,n.jsx)(t.p,{children:"We have prepared four interfaces and two abstract classes for you."}),"\n",(0,n.jsx)(t.p,{children:"In general, you will only use what you need from the provided options."}),"\n",(0,n.jsx)(t.h3,{id:"callablefieldinterfacephp",children:"CallableFieldInterface.php"}),"\n",(0,n.jsx)(t.p,{children:"The interface used in REST API Fields for providing a callback method."}),"\n",(0,n.jsx)(t.h3,{id:"callablerouteinterfacephp",children:"CallableRouteInterface.php"}),"\n",(0,n.jsx)(t.p,{children:"The interface used in REST API Routes for providing a callback method."}),"\n",(0,n.jsx)(t.h3,{id:"routesecurityinterfacephp",children:"RouteSecurityInterface.php"}),"\n",(0,n.jsx)(t.p,{children:"The interface used in REST API Routes for providing authentication methods."}),"\n",(0,n.jsx)(t.h3,{id:"routeinterfacephp",children:"RouteInterface.php"}),"\n",(0,n.jsxs)(t.p,{children:["The interface used in REST API Routes for providing general options for your route, such as variables for ",(0,n.jsx)(t.code,{children:"READABLE"}),", ",(0,n.jsx)(t.code,{children:"CREATABLE"}),", etc..."]}),"\n",(0,n.jsx)(t.h3,{id:"abstractfieldphp",children:"AbstractField.php"}),"\n",(0,n.jsx)(t.p,{children:"Abstract class used in REST API Field for updating existing fields or providing a new field to the existing REST API."}),"\n",(0,n.jsxs)(t.p,{children:["Please check the implementation details in ",(0,n.jsx)(t.a,{href:"rest-field",children:"this example"}),"."]}),"\n",(0,n.jsx)(t.h3,{id:"abstractroutephp",children:"AbstractRoute.php"}),"\n",(0,n.jsx)(t.p,{children:"Abstract class used in REST API Route for adding a new REST API route."}),"\n",(0,n.jsxs)(t.p,{children:["Please check the implementation details in ",(0,n.jsx)(t.a,{href:"rest-route",children:"this example"}),"."]})]})}function p(e={}){const{wrapper:t}={...(0,r.M)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},4552:(e,t,i)=>{i.d(t,{I:()=>o,M:()=>a});var n=i(11504);const r={},s=n.createContext(r);function a(e){const t=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),n.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e110487c.ce184b28.js b/assets/js/e110487c.ce184b28.js deleted file mode 100644 index d1461dcdc..000000000 --- a/assets/js/e110487c.ce184b28.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[80389],{39817:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>p,frontMatter:()=>s,metadata:()=>o,toc:()=>l});var n=i(85893),r=i(11151);const s={id:"rest",title:"REST Intro"},a=void 0,o={id:"basics/rest",title:"REST Intro",description:"docs-source",source:"@site/docs/basics/rest.md",sourceDirName:"basics",slug:"/basics/rest",permalink:"/docs/basics/rest",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"rest",title:"REST Intro"},sidebar:"docs",previous:{title:"Assets Manifest",permalink:"/docs/basics/manifest"},next:{title:"REST Field",permalink:"/docs/basics/rest-field"}},c={},l=[{value:"CallableFieldInterface.php",id:"callablefieldinterfacephp",level:3},{value:"CallableRouteInterface.php",id:"callablerouteinterfacephp",level:3},{value:"RouteSecurityInterface.php",id:"routesecurityinterfacephp",level:3},{value:"RouteInterface.php",id:"routeinterfacephp",level:3},{value:"AbstractField.php",id:"abstractfieldphp",level:3},{value:"AbstractRoute.php",id:"abstractroutephp",level:3}];function d(e){const t={a:"a",code:"code",h3:"h3",img:"img",p:"p",...(0,r.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(t.p,{children:"Depending on the type of projects you are working on, you might need to create a new REST API route or add a new API field to an existing route."}),"\n",(0,n.jsx)(t.p,{children:"We have prepared four interfaces and two abstract classes for you."}),"\n",(0,n.jsx)(t.p,{children:"In general, you will only use what you need from the provided options."}),"\n",(0,n.jsx)(t.h3,{id:"callablefieldinterfacephp",children:"CallableFieldInterface.php"}),"\n",(0,n.jsx)(t.p,{children:"The interface used in REST API Fields for providing a callback method."}),"\n",(0,n.jsx)(t.h3,{id:"callablerouteinterfacephp",children:"CallableRouteInterface.php"}),"\n",(0,n.jsx)(t.p,{children:"The interface used in REST API Routes for providing a callback method."}),"\n",(0,n.jsx)(t.h3,{id:"routesecurityinterfacephp",children:"RouteSecurityInterface.php"}),"\n",(0,n.jsx)(t.p,{children:"The interface used in REST API Routes for providing authentication methods."}),"\n",(0,n.jsx)(t.h3,{id:"routeinterfacephp",children:"RouteInterface.php"}),"\n",(0,n.jsxs)(t.p,{children:["The interface used in REST API Routes for providing general options for your route, such as variables for ",(0,n.jsx)(t.code,{children:"READABLE"}),", ",(0,n.jsx)(t.code,{children:"CREATABLE"}),", etc..."]}),"\n",(0,n.jsx)(t.h3,{id:"abstractfieldphp",children:"AbstractField.php"}),"\n",(0,n.jsx)(t.p,{children:"Abstract class used in REST API Field for updating existing fields or providing a new field to the existing REST API."}),"\n",(0,n.jsxs)(t.p,{children:["Please check the implementation details in ",(0,n.jsx)(t.a,{href:"rest-field",children:"this example"}),"."]}),"\n",(0,n.jsx)(t.h3,{id:"abstractroutephp",children:"AbstractRoute.php"}),"\n",(0,n.jsx)(t.p,{children:"Abstract class used in REST API Route for adding a new REST API route."}),"\n",(0,n.jsxs)(t.p,{children:["Please check the implementation details in ",(0,n.jsx)(t.a,{href:"rest-route",children:"this example"}),"."]})]})}function p(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},11151:(e,t,i)=>{i.d(t,{Z:()=>o,a:()=>a});var n=i(67294);const r={},s=n.createContext(r);function a(e){const t=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),n.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e12d4719.159202ed.js b/assets/js/e12d4719.159202ed.js deleted file mode 100644 index c15e18196..000000000 --- a/assets/js/e12d4719.159202ed.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[24681],{21316:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>h,frontMatter:()=>i,metadata:()=>c,toc:()=>d});var s=t(85893),o=t(11151);const i={id:"blocks-render-block-view-helper",title:"Render Block View Helper"},r=void 0,c={id:"legacy/v4/guides/blocks-render-block-view-helper",title:"Render Block View Helper",description:"docs-source",source:"@site/docs/legacy/v4/guides/blocks-render-block-view-helper.md",sourceDirName:"legacy/v4/guides",slug:"/legacy/v4/guides/blocks-render-block-view-helper",permalink:"/docs/legacy/v4/guides/blocks-render-block-view-helper",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-render-block-view-helper",title:"Render Block View Helper"},sidebar:"docs",previous:{title:"Creating Block from Components",permalink:"/docs/legacy/v4/guides/blocks-block-from-components"},next:{title:"GetActions Helper",permalink:"/docs/legacy/v4/guides/blocks-get-actions-helper"}},l={},d=[{value:"Usage",id:"usage",level:3}];function a(e){const n={a:"a",code:"code",h3:"h3",img:"img",p:"p",pre:"pre",...(0,o.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/blocks/class-blocks.php",children:(0,s.jsx)(n.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(n.p,{children:"Locate and return template part with passed attributes for a block."}),"\n",(0,s.jsx)(n.h3,{id:"usage",children:"Usage"}),"\n",(0,s.jsx)(n.p,{children:"Inside your block view PHP file you'd write:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",children:"$this->render_block_view(\n '/components/heading/heading.php',\n [\n 'blockClass' => $attributes['blockClass'] ?? '',\n 'heading' => $attributes['heading'] ?? [],\n ]\n);\n"})}),"\n",(0,s.jsxs)(n.p,{children:["In the case you are using libs with dependency injection container, this should be handled by the library and the ",(0,s.jsx)(n.code,{children:"render_block_view"})," method is provided in block view by default."]})]})}function h(e={}){const{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},11151:(e,n,t)=>{t.d(n,{Z:()=>c,a:()=>r});var s=t(67294);const o={},i=s.createContext(o);function r(e){const n=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),s.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e12d4719.5fa1ce8c.js b/assets/js/e12d4719.5fa1ce8c.js new file mode 100644 index 000000000..b37a60605 --- /dev/null +++ b/assets/js/e12d4719.5fa1ce8c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[25572],{39508:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>h,frontMatter:()=>i,metadata:()=>c,toc:()=>d});var s=t(17624),o=t(4552);const i={id:"blocks-render-block-view-helper",title:"Render Block View Helper"},r=void 0,c={id:"legacy/v4/guides/blocks-render-block-view-helper",title:"Render Block View Helper",description:"docs-source",source:"@site/docs/legacy/v4/guides/blocks-render-block-view-helper.md",sourceDirName:"legacy/v4/guides",slug:"/legacy/v4/guides/blocks-render-block-view-helper",permalink:"/docs/legacy/v4/guides/blocks-render-block-view-helper",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-render-block-view-helper",title:"Render Block View Helper"},sidebar:"docs",previous:{title:"Creating Block from Components",permalink:"/docs/legacy/v4/guides/blocks-block-from-components"},next:{title:"GetActions Helper",permalink:"/docs/legacy/v4/guides/blocks-get-actions-helper"}},l={},d=[{value:"Usage",id:"usage",level:3}];function a(e){const n={a:"a",code:"code",h3:"h3",img:"img",p:"p",pre:"pre",...(0,o.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/blocks/class-blocks.php",children:(0,s.jsx)(n.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(n.p,{children:"Locate and return template part with passed attributes for a block."}),"\n",(0,s.jsx)(n.h3,{id:"usage",children:"Usage"}),"\n",(0,s.jsx)(n.p,{children:"Inside your block view PHP file you'd write:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",children:"$this->render_block_view(\n '/components/heading/heading.php',\n [\n 'blockClass' => $attributes['blockClass'] ?? '',\n 'heading' => $attributes['heading'] ?? [],\n ]\n);\n"})}),"\n",(0,s.jsxs)(n.p,{children:["In the case you are using libs with dependency injection container, this should be handled by the library and the ",(0,s.jsx)(n.code,{children:"render_block_view"})," method is provided in block view by default."]})]})}function h(e={}){const{wrapper:n}={...(0,o.M)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},4552:(e,n,t)=>{t.d(n,{I:()=>c,M:()=>r});var s=t(11504);const o={},i=s.createContext(o);function r(e){const n=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),s.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e18eec83.0b3e9eb5.js b/assets/js/e18eec83.0b3e9eb5.js deleted file mode 100644 index ed1121f15..000000000 --- a/assets/js/e18eec83.0b3e9eb5.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[64314],{22027:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>r,contentTitle:()=>l,default:()=>h,frontMatter:()=>i,metadata:()=>s,toc:()=>c});var o=n(85893),a=n(11151);const i={id:"alternative-data-set",title:"Alternative datasets"},l=void 0,s={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.",source:"@site/forms/php/filters/block/country/alternative-data-set.md",sourceDirName:"php/filters/block/country",slug:"/php/filters/block/country/alternative-data-set",permalink:"/forms/php/filters/block/country/alternative-data-set",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"alternative-data-set",title:"Alternative datasets"},sidebar:"forms",previous:{title:"Additional content",permalink:"/forms/php/filters/block/phone/additional-content"},next:{title:"Additional content",permalink:"/forms/php/filters/block/country/additional-content"}},r={},c=[{value:"Available options:",id:"available-options",level:4}];function d(t){const e={a:"a",code:"code",h4:"h4",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.a)(),...t.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.p,{children:"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."}),"\n",(0,o.jsxs)(e.p,{children:["The complete list can be found ",(0,o.jsx)(e.a,{href:"https://github.com/infinum/eightshift-forms/blob/develop/data/country/manifest.json",children:"here"}),"."]}),"\n",(0,o.jsx)(e.p,{children:"By default the Country field will show the full list of countries. With this filter, an alternate dataset can be provided to use instead of the built-in one. Please note that the built-in dataset can't be edited, only a replacement can be provided."}),"\n",(0,o.jsxs)(e.p,{children:["For example, if you only want to allow choosing between 4 countries, you can do that with this filter. Add a new entry, add the ",(0,o.jsx)(e.code,{children:"label"})," and the ",(0,o.jsx)(e.code,{children:"slug"}),", then provide the countries you want to be included in the ",(0,o.jsx)(e.code,{children:"onlyUse"})," key."]}),"\n",(0,o.jsx)(e.h4,{id:"available-options",children:"Available options:"}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.strong,{children:"remove"})," - Allows you to remove certain countries from the default dataset."]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.strong,{children:"change"})," - Allows you to modify the names of countries in the default dataset."]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.strong,{children:"onlyUse"})," - Allows providing a custom list of countries, instead of using the full dataset."]}),"\n"]}),"\n",(0,o.jsx)(e.pre,{children:(0,o.jsx)(e.code,{className:"language-php",children:"\\add_filter('es_forms_block_country_alternative_data_set', [$this, 'getBlockCountryAlternativeDataSet']);\n\n/**\n * Get country alternative changes for data set and provide filters.\n *\n * This filter will only provide alternative options and change the original list.\n *\n * @return array<mixed>\n */\npublic function getBlockCountryAlternativeDataSet(): array\n{\n\t{\n\t\treturn [\n\t\t\t[\n\t\t\t\t'label' => 'New List',\n\t\t\t\t'slug' => 'new-list',\n\t\t\t\t'remove' => [\n\t\t\t\t\t'cz',\n\t\t\t\t\t'us',\n\t\t\t\t],\n\t\t\t\t'change' => [\n\t\t\t\t\t'hr' => 'New Croatia',\n\t\t\t\t],\n\t\t\t\t'onlyUse' => [\n\t\t\t\t\t'de',\n\t\t\t\t\t'gb',\n\t\t\t\t\t'hr',\n\t\t\t\t\t'cz',\n\t\t\t\t],\n\t\t\t],\n\t\t\t[\n\t\t\t\t'label' => 'Cool List',\n\t\t\t\t'slug' => 'cool-list',\n\t\t\t\t'onlyUse' => [\n\t\t\t\t\t'ba',\n\t\t\t\t\t'jp',\n\t\t\t\t\t'gb',\n\t\t\t\t\t'fr',\n\t\t\t\t],\n\t\t\t],\n\t\t];\n\t}\n}\n"})})]})}function h(t={}){const{wrapper:e}={...(0,a.a)(),...t.components};return e?(0,o.jsx)(e,{...t,children:(0,o.jsx)(d,{...t})}):d(t)}},11151:(t,e,n)=>{n.d(e,{Z:()=>s,a:()=>l});var o=n(67294);const a={},i=o.createContext(a);function l(t){const e=o.useContext(i);return o.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function s(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(a):t.components||a:l(t.components),o.createElement(i.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/e18eec83.c192e239.js b/assets/js/e18eec83.c192e239.js new file mode 100644 index 000000000..687785d2b --- /dev/null +++ b/assets/js/e18eec83.c192e239.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[57023],{83300:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>r,contentTitle:()=>l,default:()=>h,frontMatter:()=>i,metadata:()=>s,toc:()=>c});var o=n(17624),a=n(4552);const i={id:"alternative-data-set",title:"Alternative datasets"},l=void 0,s={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.",source:"@site/forms/php/filters/block/country/alternative-data-set.md",sourceDirName:"php/filters/block/country",slug:"/php/filters/block/country/alternative-data-set",permalink:"/forms/php/filters/block/country/alternative-data-set",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"alternative-data-set",title:"Alternative datasets"},sidebar:"forms",previous:{title:"Additional content",permalink:"/forms/php/filters/block/phone/additional-content"},next:{title:"Additional content",permalink:"/forms/php/filters/block/country/additional-content"}},r={},c=[{value:"Available options:",id:"available-options",level:4}];function d(t){const e={a:"a",code:"code",h4:"h4",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.M)(),...t.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.p,{children:"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."}),"\n",(0,o.jsxs)(e.p,{children:["The complete list can be found ",(0,o.jsx)(e.a,{href:"https://github.com/infinum/eightshift-forms/blob/develop/data/country/manifest.json",children:"here"}),"."]}),"\n",(0,o.jsx)(e.p,{children:"By default the Country field will show the full list of countries. With this filter, an alternate dataset can be provided to use instead of the built-in one. Please note that the built-in dataset can't be edited, only a replacement can be provided."}),"\n",(0,o.jsxs)(e.p,{children:["For example, if you only want to allow choosing between 4 countries, you can do that with this filter. Add a new entry, add the ",(0,o.jsx)(e.code,{children:"label"})," and the ",(0,o.jsx)(e.code,{children:"slug"}),", then provide the countries you want to be included in the ",(0,o.jsx)(e.code,{children:"onlyUse"})," key."]}),"\n",(0,o.jsx)(e.h4,{id:"available-options",children:"Available options:"}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.strong,{children:"remove"})," - Allows you to remove certain countries from the default dataset."]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.strong,{children:"change"})," - Allows you to modify the names of countries in the default dataset."]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.strong,{children:"onlyUse"})," - Allows providing a custom list of countries, instead of using the full dataset."]}),"\n"]}),"\n",(0,o.jsx)(e.pre,{children:(0,o.jsx)(e.code,{className:"language-php",children:"\\add_filter('es_forms_block_country_alternative_data_set', [$this, 'getBlockCountryAlternativeDataSet']);\n\n/**\n * Get country alternative changes for data set and provide filters.\n *\n * This filter will only provide alternative options and change the original list.\n *\n * @return array<mixed>\n */\npublic function getBlockCountryAlternativeDataSet(): array\n{\n\t{\n\t\treturn [\n\t\t\t[\n\t\t\t\t'label' => 'New List',\n\t\t\t\t'slug' => 'new-list',\n\t\t\t\t'remove' => [\n\t\t\t\t\t'cz',\n\t\t\t\t\t'us',\n\t\t\t\t],\n\t\t\t\t'change' => [\n\t\t\t\t\t'hr' => 'New Croatia',\n\t\t\t\t],\n\t\t\t\t'onlyUse' => [\n\t\t\t\t\t'de',\n\t\t\t\t\t'gb',\n\t\t\t\t\t'hr',\n\t\t\t\t\t'cz',\n\t\t\t\t],\n\t\t\t],\n\t\t\t[\n\t\t\t\t'label' => 'Cool List',\n\t\t\t\t'slug' => 'cool-list',\n\t\t\t\t'onlyUse' => [\n\t\t\t\t\t'ba',\n\t\t\t\t\t'jp',\n\t\t\t\t\t'gb',\n\t\t\t\t\t'fr',\n\t\t\t\t],\n\t\t\t],\n\t\t];\n\t}\n}\n"})})]})}function h(t={}){const{wrapper:e}={...(0,a.M)(),...t.components};return e?(0,o.jsx)(e,{...t,children:(0,o.jsx)(d,{...t})}):d(t)}},4552:(t,e,n)=>{n.d(e,{I:()=>s,M:()=>l});var o=n(11504);const a={},i=o.createContext(a);function l(t){const e=o.useContext(i);return o.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function s(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(a):t.components||a:l(t.components),o.createElement(i.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/e1f747d9.63955f22.js b/assets/js/e1f747d9.63955f22.js deleted file mode 100644 index 02c341a5d..000000000 --- a/assets/js/e1f747d9.63955f22.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[52721],{55359:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>u,frontMatter:()=>o,metadata:()=>c,toc:()=>l});var i=n(85893),s=n(11151);const o={id:"rest-route",title:"REST Route"},r=void 0,c={id:"legacy/v8/basics/rest-route",title:"REST Route",description:"docs-source",source:"@site/docs/legacy/v8/basics/rest-route.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/rest-route",permalink:"/docs/legacy/v8/basics/rest-route",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"rest-route",title:"REST Route"},sidebar:"docs",previous:{title:"REST Field",permalink:"/docs/legacy/v8/basics/rest-field"},next:{title:"General",permalink:"/docs/legacy/v8/basics/frontend"}},a={},l=[{value:"Test it in action",id:"test-it-in-action",level:2}];function d(e){const t={a:"a",admonition:"admonition",code:"code",h2:"h2",img:"img",p:"p",...(0,s.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsx)(t.p,{children:"This class is used to create a new REST API route."}),"\n",(0,i.jsx)(t.p,{children:"To create a new class for the REST API route, run this command:"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.code,{children:"wp boilerplate create rest-route"})}),"\n",(0,i.jsxs)(t.p,{children:["The output will ask you to input the correct endpoint slug and method (",(0,i.jsx)(t.code,{children:"POST"}),", ",(0,i.jsx)(t.code,{children:"GET"}),", etc.). Everything else will be done for you, setting the namespace, package, vendor prefixes, class, and folder name, and you will be set to write your field implementation in the ",(0,i.jsx)(t.code,{children:"routeCallback"})," method."]}),"\n",(0,i.jsx)(t.h2,{id:"test-it-in-action",children:"Test it in action"}),"\n",(0,i.jsxs)(t.p,{children:["To test it in action, you should check the ",(0,i.jsx)(t.code,{children:"wp-json"})," path in your browser. You can do that with something like this:"]}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.code,{children:"domain.ext/wp-json/routeNamespace/routeVersion/routeName"})}),"\n",(0,i.jsx)(t.admonition,{title:":es-hide-title:",type:"note",children:(0,i.jsx)(t.p,{children:"This link will be different based on your project implementation."})})]})}function u(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},11151:(e,t,n)=>{n.d(t,{Z:()=>c,a:()=>r});var i=n(67294);const s={},o=i.createContext(s);function r(e){const t=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),i.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e1f747d9.6d6ae099.js b/assets/js/e1f747d9.6d6ae099.js new file mode 100644 index 000000000..e74bdeb85 --- /dev/null +++ b/assets/js/e1f747d9.6d6ae099.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[73844],{27676:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>u,frontMatter:()=>o,metadata:()=>c,toc:()=>l});var i=n(17624),s=n(4552);const o={id:"rest-route",title:"REST Route"},r=void 0,c={id:"legacy/v8/basics/rest-route",title:"REST Route",description:"docs-source",source:"@site/docs/legacy/v8/basics/rest-route.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/rest-route",permalink:"/docs/legacy/v8/basics/rest-route",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"rest-route",title:"REST Route"},sidebar:"docs",previous:{title:"REST Field",permalink:"/docs/legacy/v8/basics/rest-field"},next:{title:"General",permalink:"/docs/legacy/v8/basics/frontend"}},a={},l=[{value:"Test it in action",id:"test-it-in-action",level:2}];function d(e){const t={a:"a",admonition:"admonition",code:"code",h2:"h2",img:"img",p:"p",...(0,s.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsx)(t.p,{children:"This class is used to create a new REST API route."}),"\n",(0,i.jsx)(t.p,{children:"To create a new class for the REST API route, run this command:"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.code,{children:"wp boilerplate create rest-route"})}),"\n",(0,i.jsxs)(t.p,{children:["The output will ask you to input the correct endpoint slug and method (",(0,i.jsx)(t.code,{children:"POST"}),", ",(0,i.jsx)(t.code,{children:"GET"}),", etc.). Everything else will be done for you, setting the namespace, package, vendor prefixes, class, and folder name, and you will be set to write your field implementation in the ",(0,i.jsx)(t.code,{children:"routeCallback"})," method."]}),"\n",(0,i.jsx)(t.h2,{id:"test-it-in-action",children:"Test it in action"}),"\n",(0,i.jsxs)(t.p,{children:["To test it in action, you should check the ",(0,i.jsx)(t.code,{children:"wp-json"})," path in your browser. You can do that with something like this:"]}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.code,{children:"domain.ext/wp-json/routeNamespace/routeVersion/routeName"})}),"\n",(0,i.jsx)(t.admonition,{title:":es-hide-title:",type:"note",children:(0,i.jsx)(t.p,{children:"This link will be different based on your project implementation."})})]})}function u(e={}){const{wrapper:t}={...(0,s.M)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},4552:(e,t,n)=>{n.d(t,{I:()=>c,M:()=>r});var i=n(11504);const s={},o=i.createContext(s);function r(e){const t=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),i.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e2bba919.22fa79e1.js b/assets/js/e2bba919.22fa79e1.js deleted file mode 100644 index b92ad8644..000000000 --- a/assets/js/e2bba919.22fa79e1.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[64068],{82818:s=>{s.exports=JSON.parse('{"label":"blocks","permalink":"/blog/tags/blocks","allTagsPath":"/blog/tags","count":4,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/e2bba919.9957038a.js b/assets/js/e2bba919.9957038a.js new file mode 100644 index 000000000..5f449dd26 --- /dev/null +++ b/assets/js/e2bba919.9957038a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[94748],{65736:s=>{s.exports=JSON.parse('{"label":"blocks","permalink":"/blog/tags/blocks","allTagsPath":"/blog/tags","count":4,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/e37577e1.b9e4681b.js b/assets/js/e37577e1.b9e4681b.js deleted file mode 100644 index 39b904945..000000000 --- a/assets/js/e37577e1.b9e4681b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[93521],{46258:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>l,metadata:()=>r,toc:()=>a});var n=s(85893),i=s(11151);const l={id:"labels",title:"Labels"},o=void 0,r={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.",source:"@site/forms/features/labels.md",sourceDirName:"features",slug:"/features/labels",permalink:"/forms/features/labels",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"labels",title:"Labels"},sidebar:"forms",previous:{title:"Security",permalink:"/forms/features/security"},next:{title:"Locations",permalink:"/forms/features/locations"}},c={},a=[{value:"Global settings",id:"global-settings",level:2},{value:"Form settings",id:"form-settings",level:2}];function d(e){const t={code:"code",h2:"h2",img:"img",p:"p",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:"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."}),"\n",(0,n.jsx)(t.p,{children:"Each of these labels can be customized to your liking and translated to your language."}),"\n",(0,n.jsx)(t.h2,{id:"global-settings",children:"Global settings"}),"\n",(0,n.jsxs)(t.p,{children:["In global settings under the ",(0,n.jsx)(t.code,{children:"validation"})," tab, you can customize the labels for all forms."]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Labels screen",src:s(73181).Z+"",width:"605",height:"801"})}),"\n",(0,n.jsx)(t.h2,{id:"form-settings",children:"Form settings"}),"\n",(0,n.jsxs)(t.p,{children:["In form settings under the ",(0,n.jsx)(t.code,{children:"validation"})," tab, you can customize the labels for the used integration like success message."]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Labels form screen",src:s(84523).Z+"",width:"613",height:"239"})})]})}function h(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},84523:(e,t,s)=>{s.d(t,{Z:()=>n});const n="data:image/webp;base64,UklGRpAWAABXRUJQVlA4IIQWAABQeQCdASplAu8APjEYikQiIaERWKxkIAMEtLdwu1iBTKdvfea15+qLin+95QfNV+o/mP5AfPD0heYB+j/+f/o/YW8wH8S/nH+4/t/vX/6f/AezP9SfYA/Uj1fvVZ9AD+H/zX0sv10+E79nv+l/ivgQ/mv9g/5WtSeXf7v2gf1j8kfOH8X+TfnX5Bf1Xlu88f4X0G/in1W+w/2v9rv7p+3nxj/sPBX1CeoL+L/xX+q/mJ/dOF4lg9QL0v+N/3j+2/4b/j/3391fWz/WPyN9z/rh/i/yg+gD+J/yn/BflP/cv//9S95h5j7AP8h/pn+U/tH7x/3P6V/4r/df4394P9T7RPyz+//8L/GfkV9gv8i/oH+l/wP+U/8/+H////6+9P2Gfud7G37G//8RJUZaDZ+LbeJPmttj8s10o0OQmgKPXB9MEeQ6sW95DpgjyHVi3o+fxVzQ9bo/ymH9y2PSOWin3z/U/ZD7/0eEEn5t2r0CHVi3vIdMEeQ6sW95DpgcPu0W2vjytVfdn4/Sw2weVqr7s/H6WBeOs5IGKianR09x9ggI8h1Yt7yHTBHkOrFvdnwR94DhPtWyQW2PPDfGnjtV5IFSNKLDojCsTB/iekK2tcpEfprzwSBJ+4VNJ3kOmCPIdWLe8h83UZoQrEDl6Hso9zCn2O9oTghezRfwmxS/NXvVnBNz8RD1xzcTrw1m14Jy8E5eCcvBOXgnLwTl4Jy7/Kxho+DqrdJd9GSGgF5pDuZ0T4heXpkiVieDUJP2+eSVRrS644Jx+lVVkleAoBcB3VV1VKZlDVxI8fbSRStY2hQ8adw1HhIlGCAjyHVcg7jDZ0UoVN4z8TC9VJ8CKB0+RdgCVlCLCNzV3v1QhicaV1ipeLT7EO5Tr/Vot803vjBr17ScmvhF8hTFrM/XvV1rU09o6Wn/F+JgrVltMQOUGTnlAbsOl/HpY0I0vcmXhw2tE0pW95DpgeOGlc4BL2V+2sRJqSuVqaCoxrWZVLPzkKJyFE5eCcvBOXgm51vqgC9NM7B8W/wrXRiytzytVfdn4/Sw2weVqr7s/H6WGmITkyJIMkhsEzg0CtzytVfdn4/Sw2weVnUvJJwf2EidUw2qXiZqm18N1i3vIdMEeQ6sW94wiG4drKccwtogILSpjvBg1mNmmqy9llk3F5DpgjyHVi3vIdMEeQsg4UwzFwUinmXmXaqaAdfLK5kUwyZ7fMoKcn8goYc6lAOmhBU8S5LB1Yt7yHTBHkOrFveQ4iE51izNzWYbapf8G79x29RNxDch1Yt7yHTBHkOrFveQ7EseQ6mgAP7/78Nt9a8qeV6K+JmPqObYwUeYxpcQP6KRleHbdNEkHUPUdxUoCYwi55HwwlPDeCEly6N6coBNjDf/LnurKqflVKIjSyYoMv7IV6Q7c77mNjlPpnfG6/PDW5NIjq8lsWR8tOBaGEzBXzsunDd1P69cVtVRs4BsM5oiSNuHkAKtcTTbepYYqfET9c/J/Hx/VC7FhX/Hw/uEAdLDrDBWK+qWD5bO3lTex4XOhKco5hxRMwy5UgqWq2KioeblAkMRpic4ABoJt00nApEOdRQ974D8tbaP+UWBqnTYFJ5VnKn/qkTqDLQjjoRhfCk7tqq/P1NuJ7Tt6Km+NT7bjXud4jW4LWZ5j56lL9Gc3cseJkrE46UAUFYD4DBPYJCsoMK/b5OSHmjNYSyfjz33bbDDrko2zbLta7UwkXso0cs4CYCfgSceN64VxpgeQoqAugXCXSVy9GZZjTJF4wvIncKUkBGfCR9LGmhfGzfGRwzvfzKzcPYAsmFlw+A7PBVHvDqtUrCzfg2P1WNV9twysA4ZCMl+yjrp9x3ZjFEcP8y/fLVWywJFe550Zao3jPxAdjTRbho7k4pdoS7VO6/lAGVnVOnLHJHSVpT8bU78ZVpcvVrR8t3+btLgKXAY0nvQNhp5Odeh+uDa+dNTcsQUeX7ZxjFfz+iuf+211kC49ws7PpJdIaMaem3pzSw+Gv18W6vgAAuzAsDIVrhZnajs27b9hG5HiuwAACUQO9HDD6fQwZsx8+b11J2Su6eAAAA84RITUsPE3dORm0R5qoOEK02YAClQxtAJURxhB3VwRV91BSppFkIRaYnodsxrB2poOa2jdN49BTY0YP49dvwS6efiEitfNJIJZUojy17iVJU2hP9OxVXewInpVSnZwdH/sRo3GmEXX37HnNgNnrSmORVhocory3Bx18ze6zpmEKMpURSL5TL3v9Rlt13k4boilsIsWstNsNLdIGl0W5PI/NekdPqs3P9VXOw/46SxmjaRYz59TRwfY7OuVFKXYzhPlj/+5EFwviR/moqQ6LiNDdhlGiQwJoQWQthFFE+Zymhu/6n23kn5tSZEN1nFDNfzWKWdQ+KSzrnh8OmzUDdhoWoGVimjUgV0MAyFu+yEkKPSY4v/Vbn7qFtCDpZB6Uc1tFKpu4YHg1Rqs6M3RpFXm5vOj50ifeYc+vISLipR7bEflmuSSOhYEMM5nMy+y3tehI1WfgbZ58U/7uT6INxq0we/nmzw5reClanCszoNP57Z9sGiqYwqxFZbHGjs2QUlJfVvATAtu9cB9L/N2U1CflXqACWnF9MufpMiU9LkP4O4pMqkpvRGEvpxKEZFZtseQBFlUAMAAdIq6EU6Sh3DJJCnDTpoJEGLJvP6DtvV/c3ZIOjkJo/YeXX3zytGvnww12R/LVvQmMhzSsAAP+iFKG6GjwweN5s+/yfcaRtkiO7xt9ltPYzyeup55YH6zH1qNvJ0jlRChbHAiPZ4wzkpY/S23DboUszcimRMd3NuVnZSbIgx+mpj2y1Cp58FbYNhRRIAza/bW39oLeCd1A5iTkdIpGiVACn6STztGoJ+IW3t7QSIZUtdkoZ2r+/P9UFjDgu/y/lpzqB2fAAMjwqxxi1Yx1lZt/UGCFxGURBsCsTrtF89sEEHiUlAahUmaEcW+ioOMPLhjJeW0Ld/rQMPXVmy0iiQu5P1lvPO028PWwvSDwixt5Kkt4wk7u5r3SelrHLz3S50Wg1ONQXGwlBE4qVfEd+vCHzdXNQiWH9cRmU70LalD/HT1buARVOFJvZwA+rA9ETTmGXONAARGi8yPugKyrU0QcXdLGM/NlZABN/y74h3tdNlw9ELhgAc9j0LCOJFNNWlZVVNxjsq13Orq3pUWPdEUcyz+EMiAvb5ayxX+Dsd23WwOHQSg7FUwXA/3NI369Zk8GkjiQudbtqu4SFU48wIG1MkKpx5gQNqZIVTjTKc0dwStRTwEyI87UYQhfIgSwslYgvhUAbSl++zVpOEA52yUeRNxm2EpBxro9pcgyu0/UDca1+n/SIn8XxGTJNs+2OiHMB87p8cX9MfI15i1KSwGCUsWUya0SSqXlD2OwjcupilsqVu8nDbBcU/K30+yMCRq7Q0J106//uzpu8MtbBggY/7k8ZvdpRE9aW0+f9U1YjJMtq50RyDXvXHo62EJeTEj6fSEBnGhqkBI5FAkxtXY9S07z2uKk0HCRjm8iEkSTigdIA4iwezUqk3baXeEZxH487RLwGJNvLPgHpzuLClBxOlVKJQIUS2amjP528FL/EyM93t8mjOjTN4oFzJeDtzs7BzknvHA4sPDyKi73lS60VLcS0UvKGRb9zyg5d9IXZZR9uGQxmPW76EjxpjL4xWkjhalbe/Nyo9TStpA8bk3GG+Pj2PgSPAElg4ejN3NFf0VW5Pw7eWBQT+Ip4QT9BvcISlXeUYejO1hP/XgJscbF3xl0APFzzjyQMBH2wQR29P6mAoWx3M5ggQmJv8fmWJvGvwaBew72o/216U7yT/EzS1lcjP9J9tmLBohYo92fllnclDMca4yCNWsQgNgjkkqv3olswo+WGlJMF+y+N+9kr+LiEBhmYRDH6cqwXUgYhKQfGhGaKUullnmI4rgxxHZ+/os47P7eCuNGbCEeK6wdhZQ6Pq+mIB4ozzVUXJ0cYqfGpRKMJFxQxsWTrUXNIx2XUqBTG+ZSG5Zz+Dz2hsot0/q/pxeeQdUxZlVY4G8pg7wU7JAkw/K1YGHgCDxiAUdAilrsfFHDJ+auwVeWCMgUsDk5bUaIsryNTwAe24xxMK+8jjzhrYPcYmg98+Vmozt+uCeWWBcmmFn/Us4BHYmGwfQFb8Ft1UFgDLDm94CeNknb8p+YpDT7FwosAgkeLOoAIYKNhu4tXXILw4jXnXjPmhqaj0k2pIc1dj6fjid9s/hu2xpMXZvC++w1N+fRkifJr2r+RLbKGPxLnZXglLcdeqFE+0vpQC15nHoMsTkdR25wrKSeTUNL3secOgDWTAyf1uO4xo1eFCh9qAm1IHhx38KsdKzfJEt1N9q9h54qmg508XWUMgU4Xj1+Yi4jRkDl9c7/ti6o8QVxPriNQAAcPkgN/2Jp5wgSix3LSDva1Wi4QSwhfVRIUUJqkDA4vk9Hp8843TZSxkFZ7gr2ZMzlSvHqFpW8gJQf+SG1R/C/uxzcjE1m3cJOqHOCJQQQK6CeRb176mIwKRKr3upkSRyeCNAheAVpF20MgToUvc5aYcUkZhtajdepaYqvZcpCcghYZIFiPX9KxzrYuOO0QYLBipkaoHZQm4hxrZ0zJgBZCTiadrhGGwwqjhH1xPOlckmygWE6DH4c39if7AXdxQIcScFjPzVoZca/yQeBPFQYMl4ohJD/XVdTuENr7fIwKkiUqlqeZYyHf3O/hTAaDtRvrnkgUbtDs4VGYKzsDwXZVb6sE/H+2kqa6HK2Nr7pszOET3uml+ibAwKjIK7GqNKow+OtjEDKtTO7qP19z3DaMQIcdDX1pqiU0k5eSNEzU/0IWzCSpKBwdXzTw6Oc0N32Uztn1quYVf1LZHxQw1l/6KWGiiJjeLs1cTmc0nIDNTKNSHJuL9Ke+1pUms1w/uoRV30QQIDXIERpYHIowXevWYKrkxWkXpoCmb9MysgUS7Os0EB3mFkzeT+efucP11LLpdT+p3BV+pxP3UEiitx2w8+IXy+fDBZTE7ICfMa9EBZtOEsJIRn/Z6KKqbH4NS7kz4v06Vh0/8zV5cySFcu3jUAXMGhHM69irJatVraXKujR2LOf1W+7KhjFdM9v548v1BBYJMgBkKuNgZBIiF5Ns9r42TCG3tIAwFjVZ10ObjiH0gq5bqqo0EeKrkenv/JpD5dUZh6AEOpNDpJbR7rfKArLEgL/fGCwSHWpck4JhgzomUpkbTJk3IBOgqmVtSf0ydX/6tkqbRknuY9SRVtUzB62Is99t/l/go0itttWo1jORZDF+4uApEO0IiDYAi+RyrE6mFGuHQ9KsyulcAoEhWKYxR9RYEKm0ortITxLQpxgZ7UDG4gmnfY0l2x4qoJKqe/iDSaMwMso3EyYPUgEYy09oLoXC57JVI30g+oTtTtyH2OzklkUdXn5iKKB+MPiP205sEXhfP4/tyMq5paqG9f2IcX46MvqtaSDv0+YntUl+8N1rPjLx1S2T1V2MJQF3GPVSA7TFZhyAoC46x1XJ9Nv5kK5YFdeLev1Tp6GPoH2GvAksx7PJIcDIPlUZmvP5CnwRUwSjyzxWHuuYGzmqFZhF+UM4OvW4gGhLAHhINg1kHYplq2ToMODxlz16xnjy5AjdFsoWyTAqRx9NbnM4KQ3Mi2MsE/jUKNgE8MLnKi6Cy24scJhhCT9NMC643cgfGyg0AaecL78Qdjh1u8+jEDdaUB/WWNkewwDzGQ4ItS8jkduP1ap7x9nfNMkbQy8qMmQ+tuY7KgIu/EY9BosIotRuXfbUTJHN5hxw2jRnJ5CVHF6Gk1sqicJI9xBcNKzE7b3/szCD2BycwrhVAG4vXUsivN80mAKAR8ejRViO+dgX9hh3+pFhQMAHKQ2g14IKNm9IeAgkPyJU88TDkfLH9wFO02dErSVnAAB+q8AfEiz0Mqb2AAAAYmErPF3mZuwSSJKoAAAOXLpXVFdQjLp7uYtpvva9WzPAU79/E2k3bIBnQixgcMzg0tu21iR3zcA6sMH7Qxj22FFYejCPdhlxFmkhp1hU4iBzNxh1vKKSOw3+26t4Mvt/hpJ/nL9c3C7EAArJrgyBwoWADzvdWV+ETrVAWTCaGIJV/8iOiAdmA9AaMf/7CRCgJ+vjIKE4brg1RUL/UKkCoA1278j0k9lnofkvEs7dxhBF+kkPz/5N0eD8jq+s5fi+JqRYiw1CX6h7ACsMq5qcepvIr7ZZy0S9zU88M3Zg0mEAraZ2m3nouf/d6mDv97Nt+DiGdOzsFMVLPb9HHR6Va23ubr361XR5tgAlR84AihPr0ZzGQAMCJ9MCq/KoOF9o7Ir4W7BOhhekPmNL940krAQO8SvOx7gpNqp7EA7j7L7Wk6MFU/UVyeylPLN9BxdnKldNHlRrRCseq/nG0nevwe+eVUwJ6KeAanaM1JPAcn6KRCPwTgUWjqpYN1cWkxcE5eWHnu6W1430/FmzMP3e5wed5y1v2RAtQxVsb90zTXJw1fEytsGvoiG7p7uPdycAsPpWBhoBwHQynx08GJAAWb10x9qgLuF2GdaOTzaX7B62BQ6W0Yjst1hy5CzYFUKxavy0dCxG5THaHg1+n4e4wmMXles114L8rHerBSqunjai2npMpAYXg1b4xUmaekcfW4LaTTNZOSxo7Xgl/90vg3FND2mqK7ltSeKYh9oM0H50LatpRdEQ3hL1NqmuPiH7VOxt/hGWhEiNzUGxZUF8w4rXiO87L5lr35OiS/tgNvs48GnvJMgYzsAwI+8nuBWC+fLsrwfcd4E5MpxdOLhPcLRBkSUi9e+a3XGqIDEZZcnaGMh4UV9cddOs0dBxkeSPyuFNJKzMV4aOZuIJ0WlkbTml5+d/LFqJcP1Jf7X9bhuPyERCWcRSDHbn/dYB1eR2xUpq3v1Q8mtPn5u7jwX0Oe+6pexPt6rNxo6jmnXY7S23BQo2oDhsh3ZCpDts4RpzS4zWTxDDqvvunK0ZZtHW4J6sB8iKft7Ai+XC0RNV/gmdPkuohLu1vV36YCEMnukXUTnEbIZJnQm5QOBr3STnf+8VcjjlLhwmD1Cu8Vnf5P3RY/6gaaCV8R+yWjKlX+i9K4q04HqrwKO1nlFiB1EV4Gnd3YZdDE2zP2B4cs/HLnwfLFmwSMjeRHdIL7FQxX0pJWlUtKk1AdTX8BYVdb4+1+bCmn4UfDer91n3MQ+hAuWPQ6cqsfyHTg6mftc3/+SlQIRLN/rAijDO8hYDXSjTvvyMOU95wLb9a/+RzTtX5MhICeT70YJL5My1tdJZBR9848Q0hK75+zmf403QmODzShJW88gYrxc2WnN2ByZf+6YCmnhfI465IHT3UqjQ3rcwqA99IERTp8kotANjXA+zokdRIGs3RidzpW0nnXJ9X2ZrcMYfzmyr6sGWDljz9Ipg+gQHi3SaRAnQvgso+TAyh5eRcBnKsc3OvnPT3x+8lyRerkxAbHWfJmdZeyVeL1vot/jSDtXnpgZxthZix/xwmQe8H1jAB9xG9pg7pmBuRrQg+jI+9qTslpfbnkV8aJLYzjCJJif/+MUJMDqtyNs223+jY3uw9SrAZeU475cU1jvlxQgXsAO6+m8LpZU6MYmgUvkGy3MkWiluxLfD2/yLYxYFoCKcERS1XJrv1u1Wn599lCrX8/5/+9UhYOuOFjmAd0NH0TS120mNMmL5UEZq3BoAAAAAA"},73181:(e,t,s)=>{s.d(t,{Z:()=>n});const n=s.p+"assets/images/labels-1437e6210a3f3a51220f42525f342b4e.webp"},11151:(e,t,s)=>{s.d(t,{Z:()=>r,a:()=>o});var n=s(67294);const i={},l=n.createContext(i);function o(e){const t=n.useContext(l);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:o(e.components),n.createElement(l.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e37577e1.c0e5e165.js b/assets/js/e37577e1.c0e5e165.js new file mode 100644 index 000000000..2e38e4a7f --- /dev/null +++ b/assets/js/e37577e1.c0e5e165.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[39736],{51772:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>l,metadata:()=>r,toc:()=>a});var n=s(17624),i=s(4552);const l={id:"labels",title:"Labels"},o=void 0,r={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.",source:"@site/forms/features/labels.md",sourceDirName:"features",slug:"/features/labels",permalink:"/forms/features/labels",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"labels",title:"Labels"},sidebar:"forms",previous:{title:"Security",permalink:"/forms/features/security"},next:{title:"Locations",permalink:"/forms/features/locations"}},c={},a=[{value:"Global settings",id:"global-settings",level:2},{value:"Form settings",id:"form-settings",level:2}];function d(e){const t={code:"code",h2:"h2",img:"img",p:"p",...(0,i.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:"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."}),"\n",(0,n.jsx)(t.p,{children:"Each of these labels can be customized to your liking and translated to your language."}),"\n",(0,n.jsx)(t.h2,{id:"global-settings",children:"Global settings"}),"\n",(0,n.jsxs)(t.p,{children:["In global settings under the ",(0,n.jsx)(t.code,{children:"validation"})," tab, you can customize the labels for all forms."]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Labels screen",src:s(30032).c+"",width:"605",height:"801"})}),"\n",(0,n.jsx)(t.h2,{id:"form-settings",children:"Form settings"}),"\n",(0,n.jsxs)(t.p,{children:["In form settings under the ",(0,n.jsx)(t.code,{children:"validation"})," tab, you can customize the labels for the used integration like success message."]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Labels form screen",src:s(49448).c+"",width:"613",height:"239"})})]})}function h(e={}){const{wrapper:t}={...(0,i.M)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},49448:(e,t,s)=>{s.d(t,{c:()=>n});const n="data:image/webp;base64,UklGRpAWAABXRUJQVlA4IIQWAABQeQCdASplAu8APjEYikQiIaERWKxkIAMEtLdwu1iBTKdvfea15+qLin+95QfNV+o/mP5AfPD0heYB+j/+f/o/YW8wH8S/nH+4/t/vX/6f/AezP9SfYA/Uj1fvVZ9AD+H/zX0sv10+E79nv+l/ivgQ/mv9g/5WtSeXf7v2gf1j8kfOH8X+TfnX5Bf1Xlu88f4X0G/in1W+w/2v9rv7p+3nxj/sPBX1CeoL+L/xX+q/mJ/dOF4lg9QL0v+N/3j+2/4b/j/3391fWz/WPyN9z/rh/i/yg+gD+J/yn/BflP/cv//9S95h5j7AP8h/pn+U/tH7x/3P6V/4r/df4394P9T7RPyz+//8L/GfkV9gv8i/oH+l/wP+U/8/+H////6+9P2Gfud7G37G//8RJUZaDZ+LbeJPmttj8s10o0OQmgKPXB9MEeQ6sW95DpgjyHVi3o+fxVzQ9bo/ymH9y2PSOWin3z/U/ZD7/0eEEn5t2r0CHVi3vIdMEeQ6sW95DpgcPu0W2vjytVfdn4/Sw2weVqr7s/H6WBeOs5IGKianR09x9ggI8h1Yt7yHTBHkOrFvdnwR94DhPtWyQW2PPDfGnjtV5IFSNKLDojCsTB/iekK2tcpEfprzwSBJ+4VNJ3kOmCPIdWLe8h83UZoQrEDl6Hso9zCn2O9oTghezRfwmxS/NXvVnBNz8RD1xzcTrw1m14Jy8E5eCcvBOXgnLwTl4Jy7/Kxho+DqrdJd9GSGgF5pDuZ0T4heXpkiVieDUJP2+eSVRrS644Jx+lVVkleAoBcB3VV1VKZlDVxI8fbSRStY2hQ8adw1HhIlGCAjyHVcg7jDZ0UoVN4z8TC9VJ8CKB0+RdgCVlCLCNzV3v1QhicaV1ipeLT7EO5Tr/Vot803vjBr17ScmvhF8hTFrM/XvV1rU09o6Wn/F+JgrVltMQOUGTnlAbsOl/HpY0I0vcmXhw2tE0pW95DpgeOGlc4BL2V+2sRJqSuVqaCoxrWZVLPzkKJyFE5eCcvBOXgm51vqgC9NM7B8W/wrXRiytzytVfdn4/Sw2weVqr7s/H6WGmITkyJIMkhsEzg0CtzytVfdn4/Sw2weVnUvJJwf2EidUw2qXiZqm18N1i3vIdMEeQ6sW94wiG4drKccwtogILSpjvBg1mNmmqy9llk3F5DpgjyHVi3vIdMEeQsg4UwzFwUinmXmXaqaAdfLK5kUwyZ7fMoKcn8goYc6lAOmhBU8S5LB1Yt7yHTBHkOrFveQ4iE51izNzWYbapf8G79x29RNxDch1Yt7yHTBHkOrFveQ7EseQ6mgAP7/78Nt9a8qeV6K+JmPqObYwUeYxpcQP6KRleHbdNEkHUPUdxUoCYwi55HwwlPDeCEly6N6coBNjDf/LnurKqflVKIjSyYoMv7IV6Q7c77mNjlPpnfG6/PDW5NIjq8lsWR8tOBaGEzBXzsunDd1P69cVtVRs4BsM5oiSNuHkAKtcTTbepYYqfET9c/J/Hx/VC7FhX/Hw/uEAdLDrDBWK+qWD5bO3lTex4XOhKco5hxRMwy5UgqWq2KioeblAkMRpic4ABoJt00nApEOdRQ974D8tbaP+UWBqnTYFJ5VnKn/qkTqDLQjjoRhfCk7tqq/P1NuJ7Tt6Km+NT7bjXud4jW4LWZ5j56lL9Gc3cseJkrE46UAUFYD4DBPYJCsoMK/b5OSHmjNYSyfjz33bbDDrko2zbLta7UwkXso0cs4CYCfgSceN64VxpgeQoqAugXCXSVy9GZZjTJF4wvIncKUkBGfCR9LGmhfGzfGRwzvfzKzcPYAsmFlw+A7PBVHvDqtUrCzfg2P1WNV9twysA4ZCMl+yjrp9x3ZjFEcP8y/fLVWywJFe550Zao3jPxAdjTRbho7k4pdoS7VO6/lAGVnVOnLHJHSVpT8bU78ZVpcvVrR8t3+btLgKXAY0nvQNhp5Odeh+uDa+dNTcsQUeX7ZxjFfz+iuf+211kC49ws7PpJdIaMaem3pzSw+Gv18W6vgAAuzAsDIVrhZnajs27b9hG5HiuwAACUQO9HDD6fQwZsx8+b11J2Su6eAAAA84RITUsPE3dORm0R5qoOEK02YAClQxtAJURxhB3VwRV91BSppFkIRaYnodsxrB2poOa2jdN49BTY0YP49dvwS6efiEitfNJIJZUojy17iVJU2hP9OxVXewInpVSnZwdH/sRo3GmEXX37HnNgNnrSmORVhocory3Bx18ze6zpmEKMpURSL5TL3v9Rlt13k4boilsIsWstNsNLdIGl0W5PI/NekdPqs3P9VXOw/46SxmjaRYz59TRwfY7OuVFKXYzhPlj/+5EFwviR/moqQ6LiNDdhlGiQwJoQWQthFFE+Zymhu/6n23kn5tSZEN1nFDNfzWKWdQ+KSzrnh8OmzUDdhoWoGVimjUgV0MAyFu+yEkKPSY4v/Vbn7qFtCDpZB6Uc1tFKpu4YHg1Rqs6M3RpFXm5vOj50ifeYc+vISLipR7bEflmuSSOhYEMM5nMy+y3tehI1WfgbZ58U/7uT6INxq0we/nmzw5reClanCszoNP57Z9sGiqYwqxFZbHGjs2QUlJfVvATAtu9cB9L/N2U1CflXqACWnF9MufpMiU9LkP4O4pMqkpvRGEvpxKEZFZtseQBFlUAMAAdIq6EU6Sh3DJJCnDTpoJEGLJvP6DtvV/c3ZIOjkJo/YeXX3zytGvnww12R/LVvQmMhzSsAAP+iFKG6GjwweN5s+/yfcaRtkiO7xt9ltPYzyeup55YH6zH1qNvJ0jlRChbHAiPZ4wzkpY/S23DboUszcimRMd3NuVnZSbIgx+mpj2y1Cp58FbYNhRRIAza/bW39oLeCd1A5iTkdIpGiVACn6STztGoJ+IW3t7QSIZUtdkoZ2r+/P9UFjDgu/y/lpzqB2fAAMjwqxxi1Yx1lZt/UGCFxGURBsCsTrtF89sEEHiUlAahUmaEcW+ioOMPLhjJeW0Ld/rQMPXVmy0iiQu5P1lvPO028PWwvSDwixt5Kkt4wk7u5r3SelrHLz3S50Wg1ONQXGwlBE4qVfEd+vCHzdXNQiWH9cRmU70LalD/HT1buARVOFJvZwA+rA9ETTmGXONAARGi8yPugKyrU0QcXdLGM/NlZABN/y74h3tdNlw9ELhgAc9j0LCOJFNNWlZVVNxjsq13Orq3pUWPdEUcyz+EMiAvb5ayxX+Dsd23WwOHQSg7FUwXA/3NI369Zk8GkjiQudbtqu4SFU48wIG1MkKpx5gQNqZIVTjTKc0dwStRTwEyI87UYQhfIgSwslYgvhUAbSl++zVpOEA52yUeRNxm2EpBxro9pcgyu0/UDca1+n/SIn8XxGTJNs+2OiHMB87p8cX9MfI15i1KSwGCUsWUya0SSqXlD2OwjcupilsqVu8nDbBcU/K30+yMCRq7Q0J106//uzpu8MtbBggY/7k8ZvdpRE9aW0+f9U1YjJMtq50RyDXvXHo62EJeTEj6fSEBnGhqkBI5FAkxtXY9S07z2uKk0HCRjm8iEkSTigdIA4iwezUqk3baXeEZxH487RLwGJNvLPgHpzuLClBxOlVKJQIUS2amjP528FL/EyM93t8mjOjTN4oFzJeDtzs7BzknvHA4sPDyKi73lS60VLcS0UvKGRb9zyg5d9IXZZR9uGQxmPW76EjxpjL4xWkjhalbe/Nyo9TStpA8bk3GG+Pj2PgSPAElg4ejN3NFf0VW5Pw7eWBQT+Ip4QT9BvcISlXeUYejO1hP/XgJscbF3xl0APFzzjyQMBH2wQR29P6mAoWx3M5ggQmJv8fmWJvGvwaBew72o/216U7yT/EzS1lcjP9J9tmLBohYo92fllnclDMca4yCNWsQgNgjkkqv3olswo+WGlJMF+y+N+9kr+LiEBhmYRDH6cqwXUgYhKQfGhGaKUullnmI4rgxxHZ+/os47P7eCuNGbCEeK6wdhZQ6Pq+mIB4ozzVUXJ0cYqfGpRKMJFxQxsWTrUXNIx2XUqBTG+ZSG5Zz+Dz2hsot0/q/pxeeQdUxZlVY4G8pg7wU7JAkw/K1YGHgCDxiAUdAilrsfFHDJ+auwVeWCMgUsDk5bUaIsryNTwAe24xxMK+8jjzhrYPcYmg98+Vmozt+uCeWWBcmmFn/Us4BHYmGwfQFb8Ft1UFgDLDm94CeNknb8p+YpDT7FwosAgkeLOoAIYKNhu4tXXILw4jXnXjPmhqaj0k2pIc1dj6fjid9s/hu2xpMXZvC++w1N+fRkifJr2r+RLbKGPxLnZXglLcdeqFE+0vpQC15nHoMsTkdR25wrKSeTUNL3secOgDWTAyf1uO4xo1eFCh9qAm1IHhx38KsdKzfJEt1N9q9h54qmg508XWUMgU4Xj1+Yi4jRkDl9c7/ti6o8QVxPriNQAAcPkgN/2Jp5wgSix3LSDva1Wi4QSwhfVRIUUJqkDA4vk9Hp8843TZSxkFZ7gr2ZMzlSvHqFpW8gJQf+SG1R/C/uxzcjE1m3cJOqHOCJQQQK6CeRb176mIwKRKr3upkSRyeCNAheAVpF20MgToUvc5aYcUkZhtajdepaYqvZcpCcghYZIFiPX9KxzrYuOO0QYLBipkaoHZQm4hxrZ0zJgBZCTiadrhGGwwqjhH1xPOlckmygWE6DH4c39if7AXdxQIcScFjPzVoZca/yQeBPFQYMl4ohJD/XVdTuENr7fIwKkiUqlqeZYyHf3O/hTAaDtRvrnkgUbtDs4VGYKzsDwXZVb6sE/H+2kqa6HK2Nr7pszOET3uml+ibAwKjIK7GqNKow+OtjEDKtTO7qP19z3DaMQIcdDX1pqiU0k5eSNEzU/0IWzCSpKBwdXzTw6Oc0N32Uztn1quYVf1LZHxQw1l/6KWGiiJjeLs1cTmc0nIDNTKNSHJuL9Ke+1pUms1w/uoRV30QQIDXIERpYHIowXevWYKrkxWkXpoCmb9MysgUS7Os0EB3mFkzeT+efucP11LLpdT+p3BV+pxP3UEiitx2w8+IXy+fDBZTE7ICfMa9EBZtOEsJIRn/Z6KKqbH4NS7kz4v06Vh0/8zV5cySFcu3jUAXMGhHM69irJatVraXKujR2LOf1W+7KhjFdM9v548v1BBYJMgBkKuNgZBIiF5Ns9r42TCG3tIAwFjVZ10ObjiH0gq5bqqo0EeKrkenv/JpD5dUZh6AEOpNDpJbR7rfKArLEgL/fGCwSHWpck4JhgzomUpkbTJk3IBOgqmVtSf0ydX/6tkqbRknuY9SRVtUzB62Is99t/l/go0itttWo1jORZDF+4uApEO0IiDYAi+RyrE6mFGuHQ9KsyulcAoEhWKYxR9RYEKm0ortITxLQpxgZ7UDG4gmnfY0l2x4qoJKqe/iDSaMwMso3EyYPUgEYy09oLoXC57JVI30g+oTtTtyH2OzklkUdXn5iKKB+MPiP205sEXhfP4/tyMq5paqG9f2IcX46MvqtaSDv0+YntUl+8N1rPjLx1S2T1V2MJQF3GPVSA7TFZhyAoC46x1XJ9Nv5kK5YFdeLev1Tp6GPoH2GvAksx7PJIcDIPlUZmvP5CnwRUwSjyzxWHuuYGzmqFZhF+UM4OvW4gGhLAHhINg1kHYplq2ToMODxlz16xnjy5AjdFsoWyTAqRx9NbnM4KQ3Mi2MsE/jUKNgE8MLnKi6Cy24scJhhCT9NMC643cgfGyg0AaecL78Qdjh1u8+jEDdaUB/WWNkewwDzGQ4ItS8jkduP1ap7x9nfNMkbQy8qMmQ+tuY7KgIu/EY9BosIotRuXfbUTJHN5hxw2jRnJ5CVHF6Gk1sqicJI9xBcNKzE7b3/szCD2BycwrhVAG4vXUsivN80mAKAR8ejRViO+dgX9hh3+pFhQMAHKQ2g14IKNm9IeAgkPyJU88TDkfLH9wFO02dErSVnAAB+q8AfEiz0Mqb2AAAAYmErPF3mZuwSSJKoAAAOXLpXVFdQjLp7uYtpvva9WzPAU79/E2k3bIBnQixgcMzg0tu21iR3zcA6sMH7Qxj22FFYejCPdhlxFmkhp1hU4iBzNxh1vKKSOw3+26t4Mvt/hpJ/nL9c3C7EAArJrgyBwoWADzvdWV+ETrVAWTCaGIJV/8iOiAdmA9AaMf/7CRCgJ+vjIKE4brg1RUL/UKkCoA1278j0k9lnofkvEs7dxhBF+kkPz/5N0eD8jq+s5fi+JqRYiw1CX6h7ACsMq5qcepvIr7ZZy0S9zU88M3Zg0mEAraZ2m3nouf/d6mDv97Nt+DiGdOzsFMVLPb9HHR6Va23ubr361XR5tgAlR84AihPr0ZzGQAMCJ9MCq/KoOF9o7Ir4W7BOhhekPmNL940krAQO8SvOx7gpNqp7EA7j7L7Wk6MFU/UVyeylPLN9BxdnKldNHlRrRCseq/nG0nevwe+eVUwJ6KeAanaM1JPAcn6KRCPwTgUWjqpYN1cWkxcE5eWHnu6W1430/FmzMP3e5wed5y1v2RAtQxVsb90zTXJw1fEytsGvoiG7p7uPdycAsPpWBhoBwHQynx08GJAAWb10x9qgLuF2GdaOTzaX7B62BQ6W0Yjst1hy5CzYFUKxavy0dCxG5THaHg1+n4e4wmMXles114L8rHerBSqunjai2npMpAYXg1b4xUmaekcfW4LaTTNZOSxo7Xgl/90vg3FND2mqK7ltSeKYh9oM0H50LatpRdEQ3hL1NqmuPiH7VOxt/hGWhEiNzUGxZUF8w4rXiO87L5lr35OiS/tgNvs48GnvJMgYzsAwI+8nuBWC+fLsrwfcd4E5MpxdOLhPcLRBkSUi9e+a3XGqIDEZZcnaGMh4UV9cddOs0dBxkeSPyuFNJKzMV4aOZuIJ0WlkbTml5+d/LFqJcP1Jf7X9bhuPyERCWcRSDHbn/dYB1eR2xUpq3v1Q8mtPn5u7jwX0Oe+6pexPt6rNxo6jmnXY7S23BQo2oDhsh3ZCpDts4RpzS4zWTxDDqvvunK0ZZtHW4J6sB8iKft7Ai+XC0RNV/gmdPkuohLu1vV36YCEMnukXUTnEbIZJnQm5QOBr3STnf+8VcjjlLhwmD1Cu8Vnf5P3RY/6gaaCV8R+yWjKlX+i9K4q04HqrwKO1nlFiB1EV4Gnd3YZdDE2zP2B4cs/HLnwfLFmwSMjeRHdIL7FQxX0pJWlUtKk1AdTX8BYVdb4+1+bCmn4UfDer91n3MQ+hAuWPQ6cqsfyHTg6mftc3/+SlQIRLN/rAijDO8hYDXSjTvvyMOU95wLb9a/+RzTtX5MhICeT70YJL5My1tdJZBR9848Q0hK75+zmf403QmODzShJW88gYrxc2WnN2ByZf+6YCmnhfI465IHT3UqjQ3rcwqA99IERTp8kotANjXA+zokdRIGs3RidzpW0nnXJ9X2ZrcMYfzmyr6sGWDljz9Ipg+gQHi3SaRAnQvgso+TAyh5eRcBnKsc3OvnPT3x+8lyRerkxAbHWfJmdZeyVeL1vot/jSDtXnpgZxthZix/xwmQe8H1jAB9xG9pg7pmBuRrQg+jI+9qTslpfbnkV8aJLYzjCJJif/+MUJMDqtyNs223+jY3uw9SrAZeU475cU1jvlxQgXsAO6+m8LpZU6MYmgUvkGy3MkWiluxLfD2/yLYxYFoCKcERS1XJrv1u1Wn599lCrX8/5/+9UhYOuOFjmAd0NH0TS120mNMmL5UEZq3BoAAAAAA"},30032:(e,t,s)=>{s.d(t,{c:()=>n});const n=s.p+"assets/images/labels-1437e6210a3f3a51220f42525f342b4e.webp"},4552:(e,t,s)=>{s.d(t,{I:()=>r,M:()=>o});var n=s(11504);const i={},l=n.createContext(i);function o(e){const t=n.useContext(l);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:o(e.components),n.createElement(l.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e3792bbb.98d3c9e8.js b/assets/js/e3792bbb.98d3c9e8.js deleted file mode 100644 index 24f076e54..000000000 --- a/assets/js/e3792bbb.98d3c9e8.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[17375],{74118:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>t,metadata:()=>l,toc:()=>a});var i=n(85893),o=n(11151);const t={id:"7-8",title:"Version 7 to 8"},r=void 0,l={id:"migrations/7-8",title:"Version 7 to 8",description:"This migration guide contains migration instructions for:",source:"@site/docs/migrations/7-8.md",sourceDirName:"migrations",slug:"/migrations/7-8",permalink:"/docs/migrations/7-8",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"7-8",title:"Version 7 to 8"},sidebar:"docs",previous:{title:"Version 8 to 9",permalink:"/docs/migrations/8-9"},next:{title:"Version 6 to 7",permalink:"/docs/migrations/6-7"}},c={},a=[{value:"Required changes",id:"required-changes",level:2},{value:"Swiper changes:",id:"swiper-changes",level:3},{value:"Storybook changes:",id:"storybook-changes",level:3}];function d(e){const s={a:"a",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,o.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.p,{children:"This migration guide contains migration instructions for:"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/infinum/eightshift-boilerplate/releases/tag/8.0.0",children:"eightshift/boilerplate"})," - ",(0,i.jsx)(s.strong,{children:"7+ --\x3e 8.0.0"})]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/releases/tag/7.0.0",children:"eightshift/frontend-libs"})," - ",(0,i.jsx)(s.strong,{children:"6+ --\x3e 7.0.0"})]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/infinum/eightshift-libs/releases/tag/6.0.0",children:"eightshift/libs"})," - ",(0,i.jsx)(s.strong,{children:"5+ --\x3e 6.0.0"})]}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"required-changes",children:"Required changes"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.strong,{children:"Migration time: ~10min."})}),"\n",(0,i.jsxs)(s.ol,{children:["\n",(0,i.jsxs)(s.li,{children:["\n",(0,i.jsxs)(s.p,{children:["Update ",(0,i.jsx)(s.code,{children:"composer.json"})," to ",(0,i.jsx)(s.code,{children:'"infinum/eightshift-libs": "^6.0"'}),"."]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["\n",(0,i.jsxs)(s.p,{children:["Update ",(0,i.jsx)(s.code,{children:"package.json"})," to the latest versions:"]}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-json",children:'"@eightshift/frontend-libs": "^7.0.0",\n"husky": "^8.0.1",\n"webpack": "^5.73.0",\n"webpack-cli": "^4.10.0"\n'})}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["\n",(0,i.jsxs)(s.p,{children:["Check ",(0,i.jsx)(s.code,{children:"package.json"})," for additional packages that might need updating, such as coding standards."]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["\n",(0,i.jsxs)(s.p,{children:["Add ",(0,i.jsx)(s.code,{children:".browserslistrc"})," to the root of your theme/plugin and copy the details from ",(0,i.jsx)(s.a,{href:"https://github.com/infinum/eightshift-boilerplate/blob/develop/.browserslistrc",children:"here"}),"."]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["\n",(0,i.jsxs)(s.p,{children:["We have removed the ",(0,i.jsx)(s.code,{children:"normalize"})," package from the project as it was unmaintained. Search your project and replace:"]}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-scss",children:"@import 'normalize-scss';\n@include normalize();\n"})}),"\n",(0,i.jsx)(s.p,{children:"with this:"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-scss",children:"@import '@eightshift/frontend-libs/styles/scss/normalize';\n"})}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["\n",(0,i.jsxs)(s.p,{children:["We've removed ",(0,i.jsx)(s.code,{children:"@babel/polyfill"})," package, so please remove ",(0,i.jsx)(s.code,{children:"require('@babel/polyfill');"})," from your project or install it manually if you need to support older browsers."]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["\n",(0,i.jsx)(s.p,{children:"If your Webpack build outputs warnings such as:"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsx)(s.p,{children:"Should not import the named export 'componentJsClass' (imported as 'componentJsClass') from default-exporting module (only default export is available soon)."}),"\n"]}),"\n",(0,i.jsx)(s.p,{children:"check the JS files used on the frontend and replace:"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-js",children:"import { componentJsClass } from './../manifest.json';\n"})}),"\n",(0,i.jsx)(s.p,{children:"with this:"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-js",children:"import manifest from './../manifest.json';\n\nconst {\n\tcomponentJsClass,\n} = manifest;\n"})}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["\n",(0,i.jsxs)(s.p,{children:["If you were using ",(0,i.jsx)(s.code,{children:"getAllBlocksList"})," function as a callback for ",(0,i.jsx)(s.code,{children:"allowed_block_types_all"})," filter, there is no need for change. However, if you used a custom implementation function, consider using the ",(0,i.jsx)(s.code,{children:"getAllAllowedBlocksList"})," in your callback since it provides more options and gives more control over blocks that are being used in the project."]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.h3,{id:"swiper-changes",children:"Swiper changes:"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.strong,{children:"Migration time: ~5min."})}),"\n",(0,i.jsx)(s.p,{children:"Swiper is not a dependency of Eightshift Boilerplate, but if you are using Swiper in your project and have something like this:"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-scss",children:"@import '~swiper/swiper.scss';\n@import '~swiper/modules/pagination/pagination.scss';\n"})}),"\n",(0,i.jsxs)(s.p,{children:["please check Swiper's ",(0,i.jsx)(s.code,{children:"package.json"})," in ",(0,i.jsx)(s.code,{children:"node_modules/swiper/package.json"})," and find the ",(0,i.jsx)(s.code,{children:"exports"})," key, find the styles you are using and replace the path for the correct export path. Please note that this export can change depending on the Swiper version you are using."]}),"\n",(0,i.jsxs)(s.p,{children:["For example, for Swiper ",(0,i.jsx)(s.code,{children:"8.x.x"}),", you should replace"]}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-scss",children:"@import '~swiper/swiper.scss';\n@import '~swiper/modules/pagination/pagination.scss';\n"})}),"\n",(0,i.jsx)(s.p,{children:"with"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-scss",children:"@import '~swiper/css';\n@import '~swiper/css/pagination';\n"})}),"\n",(0,i.jsx)(s.h3,{id:"storybook-changes",children:"Storybook changes:"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.strong,{children:"Migration time: ~10min."})}),"\n",(0,i.jsxs)(s.ol,{children:["\n",(0,i.jsxs)(s.li,{children:["\n",(0,i.jsxs)(s.p,{children:["Check if the project is using the Storybook package ",(0,i.jsx)(s.code,{children:"@eightshift/storybook"})," because we changed the release numbers. Check the ",(0,i.jsx)(s.a,{href:"https://github.com/infinum/eightshift-storybook/releases",children:"eightshift-storybook repository's releases page"})," for reference. At the time of writing this, the current version is ",(0,i.jsx)(s.code,{children:"1.4.1"}),"."]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["\n",(0,i.jsxs)(s.p,{children:["Open ",(0,i.jsx)(s.code,{children:".storybook/main.js"}),". It should look like this:"]}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-js",children:"module.exports = {\n\tstories: ['./../src/Blocks/**/story.js'],\n\taddons: [\n\t\t'@storybook/addon-essentials',\n\t\t'@storybook/addon-a11y'\n\t],\n\tcore: {\n\t\tbuilder: 'webpack5',\n\t},\n\tfeatures: {\n\t\temotionAlias: false,\n\t}\n};\n"})}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["\n",(0,i.jsxs)(s.p,{children:["Open ",(0,i.jsx)(s.code,{children:".storybook/preview-body.html"}),". It should look like this:"]}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-html",children:"<style>\n\tbody {\n\t\tpadding: 0.75em;\n\t\topacity: 1;\n\t}\n</style>\n"})}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["\n",(0,i.jsxs)(s.p,{children:["Open ",(0,i.jsx)(s.code,{children:".storybook/preview-head.html"}),". It should look like this:"]}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-html",children:"<script>\n\twindow.wp = {};\n\tesRedesignBlocksLocalization = {}\n<\/script>\n"})}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["\n",(0,i.jsxs)(s.p,{children:["Open ",(0,i.jsx)(s.code,{children:".storybook/preview.js"}),". It should look like this:"]}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-js",children:"import { dispatch } from '@wordpress/data';\nimport { STORE_NAME } from '@eightshift/frontend-libs/scripts/editor/store';\nimport { storybookWindowObjects, storybookDefaultMocksCategories, storybookDefaultMocksColorPalette, storybookWpStyles } from '@eightshift/frontend-libs/scripts/storybook';\nimport globalSettings from '../src/Blocks/manifest.json';\n\n// Storybook order is really important because it won't work in any configuration. Be careful when changing stuff here.\n\n// Set default window objects.\nstorybookWindowObjects();\n\n// Set default categories.\nstorybookDefaultMocksCategories();\n\n// Set default color palette.\nstorybookDefaultMocksColorPalette(globalSettings);\n\n// WP styles.\nstorybookWpStyles();\n\n// Project styles.\nrequire('./../assets/styles/application.scss');\n\n// Project Blocks Frontend Part.\nrequire('./../src/Blocks/assets/styles/application-blocks.scss');\nrequire('./../src/Blocks/assets/styles/application-blocks-editor.scss');\n\n// Project Blocks Editor Part.\nrequire('../src/Blocks/assets/scripts/application-blocks-editor');\n\n// Prevent one inline style tag.\ndispatch(STORE_NAME).setConfigOutputCssGlobally(false);\n"})}),"\n"]}),"\n"]})]})}function h(e={}){const{wrapper:s}={...(0,o.a)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},11151:(e,s,n)=>{n.d(s,{Z:()=>l,a:()=>r});var i=n(67294);const o={},t=i.createContext(o);function r(e){const s=i.useContext(t);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),i.createElement(t.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e3792bbb.bdedd17c.js b/assets/js/e3792bbb.bdedd17c.js new file mode 100644 index 000000000..478a4595b --- /dev/null +++ b/assets/js/e3792bbb.bdedd17c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[87440],{34020:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>t,metadata:()=>l,toc:()=>a});var i=n(17624),o=n(4552);const t={id:"7-8",title:"Version 7 to 8"},r=void 0,l={id:"migrations/7-8",title:"Version 7 to 8",description:"This migration guide contains migration instructions for:",source:"@site/docs/migrations/7-8.md",sourceDirName:"migrations",slug:"/migrations/7-8",permalink:"/docs/migrations/7-8",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"7-8",title:"Version 7 to 8"},sidebar:"docs",previous:{title:"Version 8 to 9",permalink:"/docs/migrations/8-9"},next:{title:"Version 6 to 7",permalink:"/docs/migrations/6-7"}},c={},a=[{value:"Required changes",id:"required-changes",level:2},{value:"Swiper changes:",id:"swiper-changes",level:3},{value:"Storybook changes:",id:"storybook-changes",level:3}];function d(e){const s={a:"a",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,o.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.p,{children:"This migration guide contains migration instructions for:"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/infinum/eightshift-boilerplate/releases/tag/8.0.0",children:"eightshift/boilerplate"})," - ",(0,i.jsx)(s.strong,{children:"7+ --\x3e 8.0.0"})]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/releases/tag/7.0.0",children:"eightshift/frontend-libs"})," - ",(0,i.jsx)(s.strong,{children:"6+ --\x3e 7.0.0"})]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/infinum/eightshift-libs/releases/tag/6.0.0",children:"eightshift/libs"})," - ",(0,i.jsx)(s.strong,{children:"5+ --\x3e 6.0.0"})]}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"required-changes",children:"Required changes"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.strong,{children:"Migration time: ~10min."})}),"\n",(0,i.jsxs)(s.ol,{children:["\n",(0,i.jsxs)(s.li,{children:["\n",(0,i.jsxs)(s.p,{children:["Update ",(0,i.jsx)(s.code,{children:"composer.json"})," to ",(0,i.jsx)(s.code,{children:'"infinum/eightshift-libs": "^6.0"'}),"."]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["\n",(0,i.jsxs)(s.p,{children:["Update ",(0,i.jsx)(s.code,{children:"package.json"})," to the latest versions:"]}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-json",children:'"@eightshift/frontend-libs": "^7.0.0",\n"husky": "^8.0.1",\n"webpack": "^5.73.0",\n"webpack-cli": "^4.10.0"\n'})}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["\n",(0,i.jsxs)(s.p,{children:["Check ",(0,i.jsx)(s.code,{children:"package.json"})," for additional packages that might need updating, such as coding standards."]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["\n",(0,i.jsxs)(s.p,{children:["Add ",(0,i.jsx)(s.code,{children:".browserslistrc"})," to the root of your theme/plugin and copy the details from ",(0,i.jsx)(s.a,{href:"https://github.com/infinum/eightshift-boilerplate/blob/develop/.browserslistrc",children:"here"}),"."]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["\n",(0,i.jsxs)(s.p,{children:["We have removed the ",(0,i.jsx)(s.code,{children:"normalize"})," package from the project as it was unmaintained. Search your project and replace:"]}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-scss",children:"@import 'normalize-scss';\n@include normalize();\n"})}),"\n",(0,i.jsx)(s.p,{children:"with this:"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-scss",children:"@import '@eightshift/frontend-libs/styles/scss/normalize';\n"})}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["\n",(0,i.jsxs)(s.p,{children:["We've removed ",(0,i.jsx)(s.code,{children:"@babel/polyfill"})," package, so please remove ",(0,i.jsx)(s.code,{children:"require('@babel/polyfill');"})," from your project or install it manually if you need to support older browsers."]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["\n",(0,i.jsx)(s.p,{children:"If your Webpack build outputs warnings such as:"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsx)(s.p,{children:"Should not import the named export 'componentJsClass' (imported as 'componentJsClass') from default-exporting module (only default export is available soon)."}),"\n"]}),"\n",(0,i.jsx)(s.p,{children:"check the JS files used on the frontend and replace:"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-js",children:"import { componentJsClass } from './../manifest.json';\n"})}),"\n",(0,i.jsx)(s.p,{children:"with this:"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-js",children:"import manifest from './../manifest.json';\n\nconst {\n\tcomponentJsClass,\n} = manifest;\n"})}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["\n",(0,i.jsxs)(s.p,{children:["If you were using ",(0,i.jsx)(s.code,{children:"getAllBlocksList"})," function as a callback for ",(0,i.jsx)(s.code,{children:"allowed_block_types_all"})," filter, there is no need for change. However, if you used a custom implementation function, consider using the ",(0,i.jsx)(s.code,{children:"getAllAllowedBlocksList"})," in your callback since it provides more options and gives more control over blocks that are being used in the project."]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.h3,{id:"swiper-changes",children:"Swiper changes:"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.strong,{children:"Migration time: ~5min."})}),"\n",(0,i.jsx)(s.p,{children:"Swiper is not a dependency of Eightshift Boilerplate, but if you are using Swiper in your project and have something like this:"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-scss",children:"@import '~swiper/swiper.scss';\n@import '~swiper/modules/pagination/pagination.scss';\n"})}),"\n",(0,i.jsxs)(s.p,{children:["please check Swiper's ",(0,i.jsx)(s.code,{children:"package.json"})," in ",(0,i.jsx)(s.code,{children:"node_modules/swiper/package.json"})," and find the ",(0,i.jsx)(s.code,{children:"exports"})," key, find the styles you are using and replace the path for the correct export path. Please note that this export can change depending on the Swiper version you are using."]}),"\n",(0,i.jsxs)(s.p,{children:["For example, for Swiper ",(0,i.jsx)(s.code,{children:"8.x.x"}),", you should replace"]}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-scss",children:"@import '~swiper/swiper.scss';\n@import '~swiper/modules/pagination/pagination.scss';\n"})}),"\n",(0,i.jsx)(s.p,{children:"with"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-scss",children:"@import '~swiper/css';\n@import '~swiper/css/pagination';\n"})}),"\n",(0,i.jsx)(s.h3,{id:"storybook-changes",children:"Storybook changes:"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.strong,{children:"Migration time: ~10min."})}),"\n",(0,i.jsxs)(s.ol,{children:["\n",(0,i.jsxs)(s.li,{children:["\n",(0,i.jsxs)(s.p,{children:["Check if the project is using the Storybook package ",(0,i.jsx)(s.code,{children:"@eightshift/storybook"})," because we changed the release numbers. Check the ",(0,i.jsx)(s.a,{href:"https://github.com/infinum/eightshift-storybook/releases",children:"eightshift-storybook repository's releases page"})," for reference. At the time of writing this, the current version is ",(0,i.jsx)(s.code,{children:"1.4.1"}),"."]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["\n",(0,i.jsxs)(s.p,{children:["Open ",(0,i.jsx)(s.code,{children:".storybook/main.js"}),". It should look like this:"]}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-js",children:"module.exports = {\n\tstories: ['./../src/Blocks/**/story.js'],\n\taddons: [\n\t\t'@storybook/addon-essentials',\n\t\t'@storybook/addon-a11y'\n\t],\n\tcore: {\n\t\tbuilder: 'webpack5',\n\t},\n\tfeatures: {\n\t\temotionAlias: false,\n\t}\n};\n"})}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["\n",(0,i.jsxs)(s.p,{children:["Open ",(0,i.jsx)(s.code,{children:".storybook/preview-body.html"}),". It should look like this:"]}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-html",children:"<style>\n\tbody {\n\t\tpadding: 0.75em;\n\t\topacity: 1;\n\t}\n</style>\n"})}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["\n",(0,i.jsxs)(s.p,{children:["Open ",(0,i.jsx)(s.code,{children:".storybook/preview-head.html"}),". It should look like this:"]}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-html",children:"<script>\n\twindow.wp = {};\n\tesRedesignBlocksLocalization = {}\n<\/script>\n"})}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["\n",(0,i.jsxs)(s.p,{children:["Open ",(0,i.jsx)(s.code,{children:".storybook/preview.js"}),". It should look like this:"]}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-js",children:"import { dispatch } from '@wordpress/data';\nimport { STORE_NAME } from '@eightshift/frontend-libs/scripts/editor/store';\nimport { storybookWindowObjects, storybookDefaultMocksCategories, storybookDefaultMocksColorPalette, storybookWpStyles } from '@eightshift/frontend-libs/scripts/storybook';\nimport globalSettings from '../src/Blocks/manifest.json';\n\n// Storybook order is really important because it won't work in any configuration. Be careful when changing stuff here.\n\n// Set default window objects.\nstorybookWindowObjects();\n\n// Set default categories.\nstorybookDefaultMocksCategories();\n\n// Set default color palette.\nstorybookDefaultMocksColorPalette(globalSettings);\n\n// WP styles.\nstorybookWpStyles();\n\n// Project styles.\nrequire('./../assets/styles/application.scss');\n\n// Project Blocks Frontend Part.\nrequire('./../src/Blocks/assets/styles/application-blocks.scss');\nrequire('./../src/Blocks/assets/styles/application-blocks-editor.scss');\n\n// Project Blocks Editor Part.\nrequire('../src/Blocks/assets/scripts/application-blocks-editor');\n\n// Prevent one inline style tag.\ndispatch(STORE_NAME).setConfigOutputCssGlobally(false);\n"})}),"\n"]}),"\n"]})]})}function h(e={}){const{wrapper:s}={...(0,o.M)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},4552:(e,s,n)=>{n.d(s,{I:()=>l,M:()=>r});var i=n(11504);const o={},t=i.createContext(o);function r(e){const s=i.useContext(t);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),i.createElement(t.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e4399142.51d32080.js b/assets/js/e4399142.51d32080.js deleted file mode 100644 index 5f4259e2a..000000000 --- a/assets/js/e4399142.51d32080.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[43347],{84624:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>i,contentTitle:()=>l,default:()=>u,frontMatter:()=>r,metadata:()=>c,toc:()=>a});var o=s(85893),t=s(11151);const r={id:"blocks-structure",title:"Blocks Structure"},l=void 0,c={id:"legacy/v4/guides/blocks-structure",title:"Blocks Structure",description:"docs-source",source:"@site/docs/legacy/v4/guides/blocks-structure.md",sourceDirName:"legacy/v4/guides",slug:"/legacy/v4/guides/blocks-structure",permalink:"/docs/legacy/v4/guides/blocks-structure",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-structure",title:"Blocks Structure"},sidebar:"docs",previous:{title:"Registration",permalink:"/docs/legacy/v4/guides/blocks-registration"},next:{title:"Block Structure Item",permalink:"/docs/legacy/v4/guides/blocks-structure-block-item"}},i={},a=[{value:"Blocks folder",id:"blocks-folder",level:3},{value:"assets",id:"assets",level:3},{value:"components",id:"components",level:3},{value:"custom",id:"custom",level:3},{value:"layout",id:"layout",level:3},{value:"wrapper",id:"wrapper",level:3},{value:"manifest.json",id:"manifestjson",level:3}];function d(e){const n={a:"a",code:"code",h3:"h3",img:"img",p:"p",pre:"pre",...(0,t.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/v2.0.0/blocks/init/src/blocks/",children:(0,o.jsx)(n.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(n.p,{children:"In order for the library to work and register blocks dynamically, a specific folder structure and naming must be followed."}),"\n",(0,o.jsx)(n.p,{children:"Your folder structure should like this:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-shell",children:"theme-name\n|____ src\n| |____blocks\n| | |____assets\n| | |____components\n| | |____custom\n| | |____layout\n| | |____wrapper\n| | |____manifest.json\n"})}),"\n",(0,o.jsxs)(n.p,{children:["In the case you need to override the default way styles and scripts are enqueued, you'd extend the ",(0,o.jsx)(n.code,{children:"class-enqueue.php"}),", and in the case you need to override or extend the default way blocks are behaving, you'd extend the ",(0,o.jsx)(n.code,{children:"class-blocks.php"})," inside your theme/plugin."]}),"\n",(0,o.jsx)(n.h3,{id:"blocks-folder",children:"Blocks folder"}),"\n",(0,o.jsxs)(n.p,{children:["This folder contains all the Block Editor blocks defined in your project. Each block is located in the ",(0,o.jsx)(n.code,{children:"custom"})," folder, and every component is located in the ",(0,o.jsx)(n.code,{children:"components"})," folder. Block Editor blocks are comprised of one or more smaller components."]}),"\n",(0,o.jsx)(n.h3,{id:"assets",children:"assets"}),"\n",(0,o.jsx)(n.p,{children:"This folder contains all the additional javascript, images, fonts and style functionality for the blocks that you only need to use on the front-end and in the editor (admin)."}),"\n",(0,o.jsx)(n.h3,{id:"components",children:"components"}),"\n",(0,o.jsx)(n.p,{children:"This folder contains all the components that are shared across blocks. Components are not registered as blocks."}),"\n",(0,o.jsx)(n.h3,{id:"custom",children:"custom"}),"\n",(0,o.jsx)(n.p,{children:"This folder contains all the custom Block Editor blocks defined and used in your project."}),"\n",(0,o.jsx)(n.h3,{id:"layout",children:"layout"}),"\n",(0,o.jsx)(n.p,{children:"This folder contains all other layout elements such as header or footer. Each layout part goes in its own folder, and they contain PHP, JS and SCSS files."}),"\n",(0,o.jsx)(n.h3,{id:"wrapper",children:"wrapper"}),"\n",(0,o.jsx)(n.p,{children:"This folder contains a wrapper component that wraps all blocks with shared variables and gives blocks the ability to behave as a section."}),"\n",(0,o.jsx)(n.h3,{id:"manifestjson",children:"manifest.json"}),"\n",(0,o.jsxs)(n.p,{children:["This file contains global settings for the project. It must contain ",(0,o.jsx)(n.code,{children:"namespace"})," and ",(0,o.jsx)(n.code,{children:"background"})," keys. Everything else is optional. You can store data here that you intend to share across toolbars, components and blocks."]}),"\n",(0,o.jsx)(n.p,{children:"Example:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n "namespace": "eightshift-boilerplate", // Required.\n "background": "#900000", // Required.\n "maxCols": 12, // Optional.\n "colors": { // Optional.\n "primary": {\n "name": "primary",\n "color": "#C3151B"\n },\n "black": {\n "name": "black",\n "color": "#000000"\n },\n "white": {\n "name": "white",\n "color": "#FFFFFF"\n }\n }\n}\n'})})]})}function u(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},11151:(e,n,s)=>{s.d(n,{Z:()=>c,a:()=>l});var o=s(67294);const t={},r=o.createContext(t);function l(e){const n=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:l(e.components),o.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e4399142.8d41efc4.js b/assets/js/e4399142.8d41efc4.js new file mode 100644 index 000000000..9ef1caa50 --- /dev/null +++ b/assets/js/e4399142.8d41efc4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[82128],{45292:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>i,contentTitle:()=>l,default:()=>u,frontMatter:()=>r,metadata:()=>c,toc:()=>a});var o=s(17624),t=s(4552);const r={id:"blocks-structure",title:"Blocks Structure"},l=void 0,c={id:"legacy/v4/guides/blocks-structure",title:"Blocks Structure",description:"docs-source",source:"@site/docs/legacy/v4/guides/blocks-structure.md",sourceDirName:"legacy/v4/guides",slug:"/legacy/v4/guides/blocks-structure",permalink:"/docs/legacy/v4/guides/blocks-structure",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-structure",title:"Blocks Structure"},sidebar:"docs",previous:{title:"Registration",permalink:"/docs/legacy/v4/guides/blocks-registration"},next:{title:"Block Structure Item",permalink:"/docs/legacy/v4/guides/blocks-structure-block-item"}},i={},a=[{value:"Blocks folder",id:"blocks-folder",level:3},{value:"assets",id:"assets",level:3},{value:"components",id:"components",level:3},{value:"custom",id:"custom",level:3},{value:"layout",id:"layout",level:3},{value:"wrapper",id:"wrapper",level:3},{value:"manifest.json",id:"manifestjson",level:3}];function d(e){const n={a:"a",code:"code",h3:"h3",img:"img",p:"p",pre:"pre",...(0,t.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/v2.0.0/blocks/init/src/blocks/",children:(0,o.jsx)(n.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(n.p,{children:"In order for the library to work and register blocks dynamically, a specific folder structure and naming must be followed."}),"\n",(0,o.jsx)(n.p,{children:"Your folder structure should like this:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-shell",children:"theme-name\n|____ src\n| |____blocks\n| | |____assets\n| | |____components\n| | |____custom\n| | |____layout\n| | |____wrapper\n| | |____manifest.json\n"})}),"\n",(0,o.jsxs)(n.p,{children:["In the case you need to override the default way styles and scripts are enqueued, you'd extend the ",(0,o.jsx)(n.code,{children:"class-enqueue.php"}),", and in the case you need to override or extend the default way blocks are behaving, you'd extend the ",(0,o.jsx)(n.code,{children:"class-blocks.php"})," inside your theme/plugin."]}),"\n",(0,o.jsx)(n.h3,{id:"blocks-folder",children:"Blocks folder"}),"\n",(0,o.jsxs)(n.p,{children:["This folder contains all the Block Editor blocks defined in your project. Each block is located in the ",(0,o.jsx)(n.code,{children:"custom"})," folder, and every component is located in the ",(0,o.jsx)(n.code,{children:"components"})," folder. Block Editor blocks are comprised of one or more smaller components."]}),"\n",(0,o.jsx)(n.h3,{id:"assets",children:"assets"}),"\n",(0,o.jsx)(n.p,{children:"This folder contains all the additional javascript, images, fonts and style functionality for the blocks that you only need to use on the front-end and in the editor (admin)."}),"\n",(0,o.jsx)(n.h3,{id:"components",children:"components"}),"\n",(0,o.jsx)(n.p,{children:"This folder contains all the components that are shared across blocks. Components are not registered as blocks."}),"\n",(0,o.jsx)(n.h3,{id:"custom",children:"custom"}),"\n",(0,o.jsx)(n.p,{children:"This folder contains all the custom Block Editor blocks defined and used in your project."}),"\n",(0,o.jsx)(n.h3,{id:"layout",children:"layout"}),"\n",(0,o.jsx)(n.p,{children:"This folder contains all other layout elements such as header or footer. Each layout part goes in its own folder, and they contain PHP, JS and SCSS files."}),"\n",(0,o.jsx)(n.h3,{id:"wrapper",children:"wrapper"}),"\n",(0,o.jsx)(n.p,{children:"This folder contains a wrapper component that wraps all blocks with shared variables and gives blocks the ability to behave as a section."}),"\n",(0,o.jsx)(n.h3,{id:"manifestjson",children:"manifest.json"}),"\n",(0,o.jsxs)(n.p,{children:["This file contains global settings for the project. It must contain ",(0,o.jsx)(n.code,{children:"namespace"})," and ",(0,o.jsx)(n.code,{children:"background"})," keys. Everything else is optional. You can store data here that you intend to share across toolbars, components and blocks."]}),"\n",(0,o.jsx)(n.p,{children:"Example:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n "namespace": "eightshift-boilerplate", // Required.\n "background": "#900000", // Required.\n "maxCols": 12, // Optional.\n "colors": { // Optional.\n "primary": {\n "name": "primary",\n "color": "#C3151B"\n },\n "black": {\n "name": "black",\n "color": "#000000"\n },\n "white": {\n "name": "white",\n "color": "#FFFFFF"\n }\n }\n}\n'})})]})}function u(e={}){const{wrapper:n}={...(0,t.M)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},4552:(e,n,s)=>{s.d(n,{I:()=>c,M:()=>l});var o=s(11504);const t={},r=o.createContext(t);function l(e){const n=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:l(e.components),o.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e4932c64.056cbc66.js b/assets/js/e4932c64.056cbc66.js new file mode 100644 index 000000000..516e9de18 --- /dev/null +++ b/assets/js/e4932c64.056cbc66.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[16808],{22360:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>s,contentTitle:()=>d,default:()=>h,frontMatter:()=>r,metadata:()=>l,toc:()=>a});var n=o(17624),i=o(4552);const r={id:"addon-boilerplate",title:"Add-on boilerplate"},d=void 0,l={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.",source:"@site/forms/addons/create/addon-boilerplate.md",sourceDirName:"addons/create",slug:"/addons/create/addon-boilerplate",permalink:"/forms/addons/create/addon-boilerplate",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"addon-boilerplate",title:"Add-on boilerplate"},sidebar:"forms",previous:{title:"Requirements",permalink:"/forms/addons/create/requirements"}},s={},a=[{value:"How to use the boilerplate add-on",id:"how-to-use-the-boilerplate-add-on",level:2}];function c(e){const t={a:"a",code:"code",h2:"h2",li:"li",ol:"ol",p:"p",...(0,i.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:"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."}),"\n",(0,n.jsxs)(t.p,{children:["You can download the boilerplate from the ",(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-forms-addon-boilerplate",children:"Eightshift Forms Add-on Boilerplate"})," repository."]}),"\n",(0,n.jsx)(t.h2,{id:"how-to-use-the-boilerplate-add-on",children:"How to use the boilerplate add-on"}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:["Clone the ",(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-forms-addon-boilerplate",children:"Eightshift Forms Addon Boilerplate"})," repository."]}),"\n",(0,n.jsxs)(t.li,{children:["Rename the ",(0,n.jsx)(t.code,{children:"eightshift-forms-addon-boilerplate"})," folder to ",(0,n.jsx)(t.code,{children:"eightshift-forms-addon-<addon-name>"}),"."]}),"\n",(0,n.jsxs)(t.li,{children:["Rename the ",(0,n.jsx)(t.code,{children:"EightshiftFormsAddonBoilerplate"})," string to ",(0,n.jsx)(t.code,{children:"EightshiftFormsAddon<AddonName>"}),"."]}),"\n",(0,n.jsxs)(t.li,{children:["Rename the ",(0,n.jsx)(t.code,{children:"eightshift-forms-addon-boilerplate"})," string to ",(0,n.jsx)(t.code,{children:"eightshift-forms-addon-<addon-name>"}),"."]}),"\n",(0,n.jsxs)(t.li,{children:["Rename all other instances of ",(0,n.jsx)(t.code,{children:"Boilerplate"})," to your add-on name."]}),"\n",(0,n.jsxs)(t.li,{children:["Run the ",(0,n.jsx)(t.code,{children:"composer install"})," command to install the required dependencies."]}),"\n",(0,n.jsx)(t.li,{children:"Add the add-on plugin to you projects plugins folder."}),"\n",(0,n.jsx)(t.li,{children:"Activate the add-on plugin."}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,i.M)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},4552:(e,t,o)=>{o.d(t,{I:()=>l,M:()=>d});var n=o(11504);const i={},r=n.createContext(i);function d(e){const t=n.useContext(r);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(i):e.components||i:d(e.components),n.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e4932c64.78855d14.js b/assets/js/e4932c64.78855d14.js deleted file mode 100644 index c6b801c95..000000000 --- a/assets/js/e4932c64.78855d14.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[80453],{42790:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>s,contentTitle:()=>d,default:()=>h,frontMatter:()=>r,metadata:()=>l,toc:()=>a});var n=o(85893),i=o(11151);const r={id:"addon-boilerplate",title:"Add-on boilerplate"},d=void 0,l={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.",source:"@site/forms/addons/create/addon-boilerplate.md",sourceDirName:"addons/create",slug:"/addons/create/addon-boilerplate",permalink:"/forms/addons/create/addon-boilerplate",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"addon-boilerplate",title:"Add-on boilerplate"},sidebar:"forms",previous:{title:"Requirements",permalink:"/forms/addons/create/requirements"}},s={},a=[{value:"How to use the boilerplate add-on",id:"how-to-use-the-boilerplate-add-on",level:2}];function c(e){const t={a:"a",code:"code",h2:"h2",li:"li",ol:"ol",p:"p",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:"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."}),"\n",(0,n.jsxs)(t.p,{children:["You can download the boilerplate from the ",(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-forms-addon-boilerplate",children:"Eightshift Forms Add-on Boilerplate"})," repository."]}),"\n",(0,n.jsx)(t.h2,{id:"how-to-use-the-boilerplate-add-on",children:"How to use the boilerplate add-on"}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:["Clone the ",(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-forms-addon-boilerplate",children:"Eightshift Forms Addon Boilerplate"})," repository."]}),"\n",(0,n.jsxs)(t.li,{children:["Rename the ",(0,n.jsx)(t.code,{children:"eightshift-forms-addon-boilerplate"})," folder to ",(0,n.jsx)(t.code,{children:"eightshift-forms-addon-<addon-name>"}),"."]}),"\n",(0,n.jsxs)(t.li,{children:["Rename the ",(0,n.jsx)(t.code,{children:"EightshiftFormsAddonBoilerplate"})," string to ",(0,n.jsx)(t.code,{children:"EightshiftFormsAddon<AddonName>"}),"."]}),"\n",(0,n.jsxs)(t.li,{children:["Rename the ",(0,n.jsx)(t.code,{children:"eightshift-forms-addon-boilerplate"})," string to ",(0,n.jsx)(t.code,{children:"eightshift-forms-addon-<addon-name>"}),"."]}),"\n",(0,n.jsxs)(t.li,{children:["Rename all other instances of ",(0,n.jsx)(t.code,{children:"Boilerplate"})," to your add-on name."]}),"\n",(0,n.jsxs)(t.li,{children:["Run the ",(0,n.jsx)(t.code,{children:"composer install"})," command to install the required dependencies."]}),"\n",(0,n.jsx)(t.li,{children:"Add the add-on plugin to you projects plugins folder."}),"\n",(0,n.jsx)(t.li,{children:"Activate the add-on plugin."}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},11151:(e,t,o)=>{o.d(t,{Z:()=>l,a:()=>d});var n=o(67294);const i={},r=n.createContext(i);function d(e){const t=n.useContext(r);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(i):e.components||i:d(e.components),n.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e4af6a2d.11bc7f5e.js b/assets/js/e4af6a2d.11bc7f5e.js deleted file mode 100644 index 0664ec2b0..000000000 --- a/assets/js/e4af6a2d.11bc7f5e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[69090],{37323: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/e4af6a2d.1abf0eac.js b/assets/js/e4af6a2d.1abf0eac.js new file mode 100644 index 000000000..3b6210dc1 --- /dev/null +++ b/assets/js/e4af6a2d.1abf0eac.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[13884],{71096: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/e6326b0c.432b79d4.js b/assets/js/e6326b0c.432b79d4.js deleted file mode 100644 index 26d7fba96..000000000 --- a/assets/js/e6326b0c.432b79d4.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[2626],{6876:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>i,metadata:()=>a,toc:()=>l});var s=n(85893),o=n(11151);const i={id:"blocks-attributes",title:"Attributes"},r=void 0,a={id:"legacy/v8/basics/blocks-attributes",title:"Attributes",description:"docs-source",source:"@site/docs/legacy/v8/basics/blocks-attributes.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/blocks-attributes",permalink:"/docs/legacy/v8/basics/blocks-attributes",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-attributes",title:"Attributes"},sidebar:"docs",previous:{title:"Component Manifest",permalink:"/docs/legacy/v8/basics/blocks-component-manifest"},next:{title:"Component in a Block",permalink:"/docs/legacy/v8/basics/blocks-component-in-block"}},c={},l=[{value:"Structure",id:"structure",level:3}];function d(e){const t={a:"a",code:"code",h3:"h3",img:"img",p:"p",pre:"pre",...(0,o.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,s.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsxs)(t.p,{children:["If you were to reference the native ",(0,s.jsx)(t.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-attributes/",children:"WordPress documentation"})," about attributes in blocks, you can see that they support different types of attributes. In this chapter, we want to point out that you should avoid using objects for your attributes."]}),"\n",(0,s.jsxs)(t.p,{children:["The reason for this is that you can't control what key of that object is stored in the database once the attribute changes. When you change one key, the ",(0,s.jsx)(t.code,{children:"setAttributes"})," method will store the entire object in the database and you'll lose the best feature of block editor - the default attributes."]}),"\n",(0,s.jsx)(t.p,{children:"You can also look at this from the Reacts perspective: setting the entire object every time the key changes is bad for performance."}),"\n",(0,s.jsx)(t.p,{children:"Yes, you can use objects, but we recommend using them only when you want to store multiple keys simultaneously."}),"\n",(0,s.jsx)(t.h3,{id:"structure",children:"Structure"}),"\n",(0,s.jsxs)(t.p,{children:["All attributes in the block/component must begin with the exact same prefix as it is defined in the ",(0,s.jsx)(t.code,{children:"blockName"})," or ",(0,s.jsx)(t.code,{children:"componentName"}),". The reason behind this naming standard is that our helpers can automatically resolve and know what prefix to use when renaming the component name in the dependency tree. For more details about this feature please check ",(0,s.jsx)(t.a,{href:"blocks-component-in-block",children:"this chapter"}),"."]}),"\n",(0,s.jsx)(t.p,{children:"Block example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-json",children:'{\n "blockName": "heading",\n "attributes": {\n "headingContent": {\n "type": "string"\n },\n "headingLevel": {\n "type": "integer",\n "default": 2\n }\n }\n}\n'})}),"\n",(0,s.jsx)(t.p,{children:"or"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-json",children:'{\n "blockName": "intro",\n "attributes": {\n "introContent": {\n "type": "string"\n },\n "introLevel": {\n "type": "integer",\n "default": 2\n }\n }\n}\n'})}),"\n",(0,s.jsx)(t.p,{children:"Component example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-json",children:'{\n "componentName": "heading",\n "attributes": {\n "headingContent": {\n "type": "string"\n },\n "headingLevel": {\n "type": "integer",\n "default": 2\n }\n }\n}\n'})}),"\n",(0,s.jsx)(t.p,{children:"or"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-json",children:'{\n "componentName": "description",\n "attributes": {\n "descriptionContent": {\n "type": "string"\n },\n "descriptionLevel": {\n "type": "integer",\n "default": 2\n }\n }\n}\n'})}),"\n",(0,s.jsxs)(t.p,{children:["If you have a block/component that contains multiple words you should name it with a dash just like the block/component folder name, but the attributes must follow the ",(0,s.jsx)(t.code,{children:"camelCase"})," naming standard like this:"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-json",children:'{\n "componentName": "intro-heading",\n "attributes": {\n "introHeadingContent": {\n "type": "string"\n },\n "introHeadingLevel": {\n "type": "integer",\n "default": 2\n }\n }\n}\n'})})]})}function h(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},11151:(e,t,n)=>{n.d(t,{Z:()=>a,a:()=>r});var s=n(67294);const o={},i=s.createContext(o);function r(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e6326b0c.a11db947.js b/assets/js/e6326b0c.a11db947.js new file mode 100644 index 000000000..62d9b367d --- /dev/null +++ b/assets/js/e6326b0c.a11db947.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[95720],{68720:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>i,metadata:()=>a,toc:()=>l});var s=n(17624),o=n(4552);const i={id:"blocks-attributes",title:"Attributes"},r=void 0,a={id:"legacy/v8/basics/blocks-attributes",title:"Attributes",description:"docs-source",source:"@site/docs/legacy/v8/basics/blocks-attributes.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/blocks-attributes",permalink:"/docs/legacy/v8/basics/blocks-attributes",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-attributes",title:"Attributes"},sidebar:"docs",previous:{title:"Component Manifest",permalink:"/docs/legacy/v8/basics/blocks-component-manifest"},next:{title:"Component in a Block",permalink:"/docs/legacy/v8/basics/blocks-component-in-block"}},c={},l=[{value:"Structure",id:"structure",level:3}];function d(e){const t={a:"a",code:"code",h3:"h3",img:"img",p:"p",pre:"pre",...(0,o.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,s.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsxs)(t.p,{children:["If you were to reference the native ",(0,s.jsx)(t.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-attributes/",children:"WordPress documentation"})," about attributes in blocks, you can see that they support different types of attributes. In this chapter, we want to point out that you should avoid using objects for your attributes."]}),"\n",(0,s.jsxs)(t.p,{children:["The reason for this is that you can't control what key of that object is stored in the database once the attribute changes. When you change one key, the ",(0,s.jsx)(t.code,{children:"setAttributes"})," method will store the entire object in the database and you'll lose the best feature of block editor - the default attributes."]}),"\n",(0,s.jsx)(t.p,{children:"You can also look at this from the Reacts perspective: setting the entire object every time the key changes is bad for performance."}),"\n",(0,s.jsx)(t.p,{children:"Yes, you can use objects, but we recommend using them only when you want to store multiple keys simultaneously."}),"\n",(0,s.jsx)(t.h3,{id:"structure",children:"Structure"}),"\n",(0,s.jsxs)(t.p,{children:["All attributes in the block/component must begin with the exact same prefix as it is defined in the ",(0,s.jsx)(t.code,{children:"blockName"})," or ",(0,s.jsx)(t.code,{children:"componentName"}),". The reason behind this naming standard is that our helpers can automatically resolve and know what prefix to use when renaming the component name in the dependency tree. For more details about this feature please check ",(0,s.jsx)(t.a,{href:"blocks-component-in-block",children:"this chapter"}),"."]}),"\n",(0,s.jsx)(t.p,{children:"Block example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-json",children:'{\n "blockName": "heading",\n "attributes": {\n "headingContent": {\n "type": "string"\n },\n "headingLevel": {\n "type": "integer",\n "default": 2\n }\n }\n}\n'})}),"\n",(0,s.jsx)(t.p,{children:"or"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-json",children:'{\n "blockName": "intro",\n "attributes": {\n "introContent": {\n "type": "string"\n },\n "introLevel": {\n "type": "integer",\n "default": 2\n }\n }\n}\n'})}),"\n",(0,s.jsx)(t.p,{children:"Component example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-json",children:'{\n "componentName": "heading",\n "attributes": {\n "headingContent": {\n "type": "string"\n },\n "headingLevel": {\n "type": "integer",\n "default": 2\n }\n }\n}\n'})}),"\n",(0,s.jsx)(t.p,{children:"or"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-json",children:'{\n "componentName": "description",\n "attributes": {\n "descriptionContent": {\n "type": "string"\n },\n "descriptionLevel": {\n "type": "integer",\n "default": 2\n }\n }\n}\n'})}),"\n",(0,s.jsxs)(t.p,{children:["If you have a block/component that contains multiple words you should name it with a dash just like the block/component folder name, but the attributes must follow the ",(0,s.jsx)(t.code,{children:"camelCase"})," naming standard like this:"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-json",children:'{\n "componentName": "intro-heading",\n "attributes": {\n "introHeadingContent": {\n "type": "string"\n },\n "introHeadingLevel": {\n "type": "integer",\n "default": 2\n }\n }\n}\n'})})]})}function h(e={}){const{wrapper:t}={...(0,o.M)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},4552:(e,t,n)=>{n.d(t,{I:()=>a,M:()=>r});var s=n(11504);const o={},i=s.createContext(o);function r(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e71b04e6.3970af4d.js b/assets/js/e71b04e6.3970af4d.js new file mode 100644 index 000000000..14bbf2f71 --- /dev/null +++ b/assets/js/e71b04e6.3970af4d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[77336],{87404:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var i=s(17624),t=s(4552);const o={id:"dynamic-import",title:"Dynamic Import"},r=void 0,l={id:"legacy/v7/basics/dynamic-import",title:"Dynamic Import",description:"docs-source",source:"@site/docs/legacy/v7/basics/dynamic-import.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/dynamic-import",permalink:"/docs/legacy/v7/basics/dynamic-import",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"dynamic-import",title:"Dynamic Import"},sidebar:"docs",previous:{title:"Browsersync",permalink:"/docs/legacy/v7/basics/browser-sync"},next:{title:"Blocks",permalink:"/docs/legacy/v7/basics/blocks"}},a={},c=[{value:"How does it work?",id:"how-does-it-work",level:2},{value:"Example",id:"example",level:2},{value:"index.js",id:"indexjs",level:3},{value:"carousel-slider.js",id:"carousel-sliderjs",level:3}];function d(e){const n={a:"a",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0",children:(0,i.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsxs)(n.p,{children:["As JavaScript code runs on the visitor's device, it's crucial that it's as fast and optimized as possible. A powerful tool from Webpack called ",(0,i.jsx)(n.a,{href:"https://webpack.js.org/guides/code-splitting/#dynamic-imports",children:"dynamic imports"})," helps with that."]}),"\n",(0,i.jsx)(n.p,{children:"Dynamic imports provide us the ability to load our JavaScript code only when it's used."}),"\n",(0,i.jsx)(n.p,{children:"By writing all JavaScript code using dynamic imports, we can reap significant benefits:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"optimize loading time"}),"\n",(0,i.jsx)(n.li,{children:"reduce the size of finished bundled JavaScript code"}),"\n",(0,i.jsx)(n.li,{children:"have websites that are fast, which can positively impact your SEO rating"}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"how-does-it-work",children:"How does it work?"}),"\n",(0,i.jsxs)(n.p,{children:["In a nutshell, you load all your code using JavaScript promises. Webpack splits all these promises into separate file chunks. Once the condition to resolve the promise is set (generally, if a selector is present in the DOM), Webpack automatically injects your chunk in the DOM and loads it up. This is why you will see a bunch of smaller files (",(0,i.jsx)(n.code,{children:"0.js"}),", ",(0,i.jsx)(n.code,{children:"1.js"}),", ",(0,i.jsx)(n.code,{children:"2.js"}),", etc) in your public folder instead of a single large file."]}),"\n",(0,i.jsx)(n.p,{children:"You don't need to think about this. Webpack just does it for you."}),"\n",(0,i.jsx)(n.h2,{id:"example",children:"Example"}),"\n",(0,i.jsx)(n.p,{children:"For example, let's make a carousel. An Eightshift convention is to write JavaScript code using classes, so we'll provide an example for that. However, you can use this approach with functions as well."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"We have two files:"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"index.js"})," - the main entry point for your JavaScript feature."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"className.js"})," - class with your JavaScript features that you can reuse."]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"indexjs",children:"index.js"}),"\n",(0,i.jsx)(n.p,{children:"This is a version where you have multiple instances of a feature on one page. If you are creating a feature for your block/component, you'll use something along these lines."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"import domReady from '@wordpress/dom-ready';\nimport { blockJsClass, blockName } from '../manifest.json';\n\n// Use this helper to make sure this code is executed when everything in DOM is set.\ndomReady(() => {\n\n // Provide selectors to check.\n const selector = `.${blockJsClass}`;\n const elements = document.querySelectorAll(selector);\n\n // This is the important part - if this condition is true, this promise will resolve and your chunk will be loaded in the DOM.\n if (!elements.length) {\n return;\n }\n\n // Normally load and resolve a promise on file import.\n const { CarouselSlider } = await import('./carousel-slider');\n\n // Loop possible multiple iterations.\n [...elements].forEach((element) => {\n const carouselSlider = new CarouselSlider({\n element,\n nextElement: `${selector}-next-arrow`,\n prevElement: `${selector}-prev-arrow`,\n });\n\n // Run and init function that starts everything in your class.\n carouselSlider.init();\n });\n});\n"})}),"\n",(0,i.jsxs)(n.p,{children:["If you are sure you will have only one instance of this feature on one-page, you can use the following code in your ",(0,i.jsx)(n.code,{children:"index.js"})," file."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"import domReady from '@wordpress/dom-ready';\nimport { blockJsClass, blockName } from '../manifest.json';\n\n// Use this helper to make sure this code is executed when everything in DOM is set.\ndomReady(() => {\n\n // Provide selectors to check.\n const selector = `.${blockJsClass}`;\n const element = document.querySelector(selector);\n\n // This is the important part. Because of it, your code will only be imported when there's an element on the page that uses it.\n if (!element) {\n return;\n }\n\n // Normally load and resolve a promise on file import.\n const { CarouselSlider } = await import('./carousel-slider');\n\n const carouselSlider = new CarouselSlider({\n element,\n nextElement: `${selector}-next-arrow`,\n prevElement: `${selector}-prev-arrow`,\n });\n\n // Run and init function that starts everything in your class.\n carouselSlider.init();\n});\n"})}),"\n",(0,i.jsx)(n.h3,{id:"carousel-sliderjs",children:"carousel-slider.js"}),"\n",(0,i.jsx)(n.p,{children:"This is a normal class with some JavaScript functionality."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"import Swiper from 'swiper';\n\nexport class CarouselSlider {\n constructor(options) {\n this.element = options.element;\n this.nextElement = options.nextElement;\n this.prevElement = options.prevElement;\n }\n\n init() {\n new Swiper(\n this.element,\n {\n // ...\n navigation: {\n nextEl: this.nextElement,\n prevEl: this.prevElement,\n },\n // ...\n }\n );\n }\n}\n"})})]})}function h(e={}){const{wrapper:n}={...(0,t.M)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},4552:(e,n,s)=>{s.d(n,{I:()=>l,M:()=>r});var i=s(11504);const t={},o=i.createContext(t);function r(e){const n=i.useContext(o);return i.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(t):e.components||t:r(e.components),i.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e71b04e6.4bfa22ff.js b/assets/js/e71b04e6.4bfa22ff.js deleted file mode 100644 index 4b89e6774..000000000 --- a/assets/js/e71b04e6.4bfa22ff.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[2234],{32575:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var i=s(85893),t=s(11151);const o={id:"dynamic-import",title:"Dynamic Import"},r=void 0,l={id:"legacy/v7/basics/dynamic-import",title:"Dynamic Import",description:"docs-source",source:"@site/docs/legacy/v7/basics/dynamic-import.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/dynamic-import",permalink:"/docs/legacy/v7/basics/dynamic-import",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"dynamic-import",title:"Dynamic Import"},sidebar:"docs",previous:{title:"Browsersync",permalink:"/docs/legacy/v7/basics/browser-sync"},next:{title:"Blocks",permalink:"/docs/legacy/v7/basics/blocks"}},a={},c=[{value:"How does it work?",id:"how-does-it-work",level:2},{value:"Example",id:"example",level:2},{value:"index.js",id:"indexjs",level:3},{value:"carousel-slider.js",id:"carousel-sliderjs",level:3}];function d(e){const n={a:"a",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0",children:(0,i.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsxs)(n.p,{children:["As JavaScript code runs on the visitor's device, it's crucial that it's as fast and optimized as possible. A powerful tool from Webpack called ",(0,i.jsx)(n.a,{href:"https://webpack.js.org/guides/code-splitting/#dynamic-imports",children:"dynamic imports"})," helps with that."]}),"\n",(0,i.jsx)(n.p,{children:"Dynamic imports provide us the ability to load our JavaScript code only when it's used."}),"\n",(0,i.jsx)(n.p,{children:"By writing all JavaScript code using dynamic imports, we can reap significant benefits:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"optimize loading time"}),"\n",(0,i.jsx)(n.li,{children:"reduce the size of finished bundled JavaScript code"}),"\n",(0,i.jsx)(n.li,{children:"have websites that are fast, which can positively impact your SEO rating"}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"how-does-it-work",children:"How does it work?"}),"\n",(0,i.jsxs)(n.p,{children:["In a nutshell, you load all your code using JavaScript promises. Webpack splits all these promises into separate file chunks. Once the condition to resolve the promise is set (generally, if a selector is present in the DOM), Webpack automatically injects your chunk in the DOM and loads it up. This is why you will see a bunch of smaller files (",(0,i.jsx)(n.code,{children:"0.js"}),", ",(0,i.jsx)(n.code,{children:"1.js"}),", ",(0,i.jsx)(n.code,{children:"2.js"}),", etc) in your public folder instead of a single large file."]}),"\n",(0,i.jsx)(n.p,{children:"You don't need to think about this. Webpack just does it for you."}),"\n",(0,i.jsx)(n.h2,{id:"example",children:"Example"}),"\n",(0,i.jsx)(n.p,{children:"For example, let's make a carousel. An Eightshift convention is to write JavaScript code using classes, so we'll provide an example for that. However, you can use this approach with functions as well."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"We have two files:"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"index.js"})," - the main entry point for your JavaScript feature."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"className.js"})," - class with your JavaScript features that you can reuse."]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"indexjs",children:"index.js"}),"\n",(0,i.jsx)(n.p,{children:"This is a version where you have multiple instances of a feature on one page. If you are creating a feature for your block/component, you'll use something along these lines."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"import domReady from '@wordpress/dom-ready';\nimport { blockJsClass, blockName } from '../manifest.json';\n\n// Use this helper to make sure this code is executed when everything in DOM is set.\ndomReady(() => {\n\n // Provide selectors to check.\n const selector = `.${blockJsClass}`;\n const elements = document.querySelectorAll(selector);\n\n // This is the important part - if this condition is true, this promise will resolve and your chunk will be loaded in the DOM.\n if (!elements.length) {\n return;\n }\n\n // Normally load and resolve a promise on file import.\n const { CarouselSlider } = await import('./carousel-slider');\n\n // Loop possible multiple iterations.\n [...elements].forEach((element) => {\n const carouselSlider = new CarouselSlider({\n element,\n nextElement: `${selector}-next-arrow`,\n prevElement: `${selector}-prev-arrow`,\n });\n\n // Run and init function that starts everything in your class.\n carouselSlider.init();\n });\n});\n"})}),"\n",(0,i.jsxs)(n.p,{children:["If you are sure you will have only one instance of this feature on one-page, you can use the following code in your ",(0,i.jsx)(n.code,{children:"index.js"})," file."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"import domReady from '@wordpress/dom-ready';\nimport { blockJsClass, blockName } from '../manifest.json';\n\n// Use this helper to make sure this code is executed when everything in DOM is set.\ndomReady(() => {\n\n // Provide selectors to check.\n const selector = `.${blockJsClass}`;\n const element = document.querySelector(selector);\n\n // This is the important part. Because of it, your code will only be imported when there's an element on the page that uses it.\n if (!element) {\n return;\n }\n\n // Normally load and resolve a promise on file import.\n const { CarouselSlider } = await import('./carousel-slider');\n\n const carouselSlider = new CarouselSlider({\n element,\n nextElement: `${selector}-next-arrow`,\n prevElement: `${selector}-prev-arrow`,\n });\n\n // Run and init function that starts everything in your class.\n carouselSlider.init();\n});\n"})}),"\n",(0,i.jsx)(n.h3,{id:"carousel-sliderjs",children:"carousel-slider.js"}),"\n",(0,i.jsx)(n.p,{children:"This is a normal class with some JavaScript functionality."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"import Swiper from 'swiper';\n\nexport class CarouselSlider {\n constructor(options) {\n this.element = options.element;\n this.nextElement = options.nextElement;\n this.prevElement = options.prevElement;\n }\n\n init() {\n new Swiper(\n this.element,\n {\n // ...\n navigation: {\n nextEl: this.nextElement,\n prevEl: this.prevElement,\n },\n // ...\n }\n );\n }\n}\n"})})]})}function h(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},11151:(e,n,s)=>{s.d(n,{Z:()=>l,a:()=>r});var i=s(67294);const t={},o=i.createContext(t);function r(e){const n=i.useContext(o);return i.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(t):e.components||t:r(e.components),i.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e7328bb1.3b27c5ba.js b/assets/js/e7328bb1.3b27c5ba.js new file mode 100644 index 000000000..4ccab80e5 --- /dev/null +++ b/assets/js/e7328bb1.3b27c5ba.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[14740],{53128:(e,o,t)=>{t.r(o),t.d(o,{assets:()=>a,contentTitle:()=>i,default:()=>h,frontMatter:()=>l,metadata:()=>r,toc:()=>c});var n=t(17624),s=t(4552);const l={id:"blocks-special-use-cases",title:"Special Use Cases",sidebar_label:"Special Use Cases"},i=void 0,r={id:"legacy/v5/basics/blocks-special-use-cases",title:"Special Use Cases",description:"docs-source",source:"@site/docs/legacy/v5/basics/blocks-special-use-cases.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/blocks-special-use-cases",permalink:"/docs/legacy/v5/basics/blocks-special-use-cases",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-special-use-cases",title:"Special Use Cases",sidebar_label:"Special Use Cases"},sidebar:"docs",previous:{title:"Hooks",permalink:"/docs/legacy/v5/basics/blocks-hooks"},next:{title:"Reusable Blocks",permalink:"/docs/legacy/v5/basics/blocks-reusable"}},a={},c=[{value:"Change innerBlock attributes",id:"change-innerblock-attributes",level:2},{value:"Provide simple wrapper to all innerBlock",id:"provide-simple-wrapper-to-all-innerblock",level:2},{value:"Override innerBlock attributes only on the front end",id:"override-innerblock-attributes-only-on-the-front-end",level:2},{value:"Add CSS selectors on the parent component inside the block editor",id:"add-css-selectors-on-the-parent-component-inside-the-block-editor",level:2},{value:"How to only use my custom blocks",id:"how-to-only-use-my-custom-blocks",level:2},{value:"I want to use my custom blocks but add some core or third party plugins blocks",id:"i-want-to-use-my-custom-blocks-but-add-some-core-or-third-party-plugins-blocks",level:2},{value:"I want to enable blocks only on specific custom post type",id:"i-want-to-enable-blocks-only-on-specific-custom-post-type",level:2}];function d(e){const o={a:"a",blockquote:"blockquote",code:"code",em:"em",h2:"h2",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.p,{children:(0,n.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/",children:(0,n.jsx)(o.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(o.p,{children:"In our clients' projects, we noticed that sometimes you need to provide something special to your blocks, like changing the block editor block DOM structure or the attributes added inside the inner blocks."}),"\n",(0,n.jsx)(o.p,{children:"These are some of the examples we would like to share with you. We will list all of them and gradually add more."}),"\n",(0,n.jsx)(o.h2,{id:"change-innerblock-attributes",children:"Change innerBlock attributes"}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Usage:"})}),"\n",(0,n.jsxs)(o.ul,{children:["\n",(0,n.jsx)(o.li,{children:"Change attributes in the block editor and on the front-end."}),"\n",(0,n.jsx)(o.li,{children:"Set attributes in the database."}),"\n"]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Use Case:"})}),"\n",(0,n.jsxs)(o.p,{children:["Let's say you have a carousel block, and you have a generic image block that you can use as a standalone block. You create a carousel block and set in its manifest limitation to show only the image block to be inserted as an inner block. This is easy to do: you just add your image block to an ",(0,n.jsx)(o.code,{children:"allowedBlocks"})," array inside the carousel block and everything will work."]}),"\n",(0,n.jsxs)(o.p,{children:["But now you have some default attributes set in that image block that you don't want to be set if the block is added using the innerBlock in the carousel. You can change that using our ",(0,n.jsx)(o.a,{href:"helpers-javascript#overrideinnerblockattributes",children:"overrideInnerBlockAttributes"})," helper. Just add this helper to your block entry point, add the attributes you want to change, and you are all set."]}),"\n",(0,n.jsx)(o.p,{children:"Keep in mind that this will be applied to all innerBlocks inside your carousel block. If you want to limit this to a specific block only, you will need to fiddle around with that block's conditions (you can get that specific block name from the props)."}),"\n",(0,n.jsx)(o.p,{children:"The next time you add your image to the carousel, it will automatically change those attributes."}),"\n",(0,n.jsxs)(o.blockquote,{children:["\n",(0,n.jsx)(o.p,{children:"Important note: If for some reason, you copy the inner block from the carousel to the top-level editor, this helper will not fire and not change back to original attributes. You have to manually remove those attributes from the Code editor in the admin."}),"\n"]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Implementation"})}),"\n",(0,n.jsxs)(o.p,{children:["Here you can see our example of this helper used in the ",(0,n.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/Blocks/custom/carousel/carousel-block.js",children:"carousel block"}),"."]}),"\n",(0,n.jsx)(o.h2,{id:"provide-simple-wrapper-to-all-innerblock",children:"Provide simple wrapper to all innerBlock"}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Usage:"})}),"\n",(0,n.jsxs)(o.ul,{children:["\n",(0,n.jsx)(o.li,{children:"Change attributes in the block editor and on the front end."}),"\n",(0,n.jsx)(o.li,{children:"Set attributes in the database."}),"\n"]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Use Case:"})}),"\n",(0,n.jsx)(o.p,{children:"All of our blocks come with the wrapper implemented, which is awesome. But sometimes you just don't want to use the wrapper, and you want only to use the simple version of the wrapper. You can provide the attribute overrides in your block, and you are good to go."}),"\n",(0,n.jsxs)(o.p,{children:["But if you need to change attributes in the block added as an innerBlock, you'll have a little problem. You can use the same helper as we did in the previous chapter, or you can use our abstraction of that helper called ",(0,n.jsx)(o.a,{href:"helpers-javascript#overrideinnerblocksimplewrapperattributes",children:"overrideInnerBlockSimpleWrapperAttributes"}),"."]}),"\n",(0,n.jsx)(o.p,{children:"This helper will set the wrapper to a simple variant in all your innerBlocks."}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Implementation"})}),"\n",(0,n.jsxs)(o.p,{children:["Here you can see our example of this helper used in the ",(0,n.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/Blocks/custom/column/column-block.js",children:"column block"}),"."]}),"\n",(0,n.jsx)(o.h2,{id:"override-innerblock-attributes-only-on-the-front-end",children:"Override innerBlock attributes only on the front end"}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Usage:"})}),"\n",(0,n.jsxs)(o.ul,{children:["\n",(0,n.jsx)(o.li,{children:"Change attributes on the front end only."}),"\n",(0,n.jsx)(o.li,{children:"Don't set attributes in the database."}),"\n"]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Use Case:"})}),"\n",(0,n.jsx)(o.p,{children:"If you have a block containing inner blocks and only want to change the attributes on the front end of the implementation and not in the block editor. The standard way is really hard because all the inner blocks are rendered on the front end as an HTML string, and you don't have access to any of the attributes before it is rendered."}),"\n",(0,n.jsx)(o.p,{children:"Luckily, WordPress core has provided us with the filter that can change any block before it is rendered. This filter will provide you an array of blocks and inner blocks, along with the innerBlock and all attributes if you use it correctly."}),"\n",(0,n.jsxs)(o.p,{children:["The filter is called: ",(0,n.jsx)(o.code,{children:"render_block_data"}),", and you can put your implementation in the ",(0,n.jsx)(o.code,{children:"class-blocks.php"})," file. You can find the documentation on this ",(0,n.jsx)(o.a,{href:"https://developer.wordpress.org/reference/hooks/render_block_data/",children:"link"}),"."]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Implementation"})}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.em,{children:"Implementation coming soon."})}),"\n",(0,n.jsx)(o.h2,{id:"add-css-selectors-on-the-parent-component-inside-the-block-editor",children:"Add CSS selectors on the parent component inside the block editor"}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Usage:"})}),"\n",(0,n.jsxs)(o.ul,{children:["\n",(0,n.jsx)(o.li,{children:"Change attributes on the front end only."}),"\n",(0,n.jsx)(o.li,{children:"Don't set attributes in the database."}),"\n"]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Use Case:"})}),"\n",(0,n.jsx)(o.p,{children:"If you tried to create any grid in your block on the front end, you know it is easy, but it is not so with the block editor. The problem is that in the block editor DOM, there are additional divs added over your block that break your HTML structure, and all your styles from flex or grid will not work correctly. If your block depends on some special selector placed in a specific place, you can run into some problems in the block editor."}),"\n",(0,n.jsx)(o.p,{children:"With WordPress' block editor hooks, we can fix this by not adding the selector to its original location as we do on the front end but adding them to the Block Editor's parent component."}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Implementation"})}),"\n",(0,n.jsxs)(o.p,{children:["Here you can see our example of this hook used in the ",(0,n.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/Blocks/custom/column/column-hooks.js",children:"column block"}),"."]}),"\n",(0,n.jsx)(o.h2,{id:"how-to-only-use-my-custom-blocks",children:"How to only use my custom blocks"}),"\n",(0,n.jsxs)(o.p,{children:["You can remove all core blocks and any other blocks provided by third-party plugins by adding this filter to your ",(0,n.jsx)(o.code,{children:"src/Blocks/Blocks.php"})," class."]}),"\n",(0,n.jsx)(o.p,{children:"Filter goes in the register method:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:"// Limits the usage of only custom project blocks.\nadd_filter('allowed_block_types', [ $this, 'getAllBlocksList' ], 10, 2);\n"})}),"\n",(0,n.jsxs)(o.p,{children:["The callback method is set in the parent ",(0,n.jsx)(o.code,{children:"AbstractBlocks"})," class."]}),"\n",(0,n.jsx)(o.h2,{id:"i-want-to-use-my-custom-blocks-but-add-some-core-or-third-party-plugins-blocks",children:"I want to use my custom blocks but add some core or third party plugins blocks"}),"\n",(0,n.jsxs)(o.p,{children:["You create a new callback method for the ",(0,n.jsx)(o.code,{children:"allowed_block_types"})," filter. There you can allow all your custom blocks + any other 3rd party / core block you want."]}),"\n",(0,n.jsx)(o.p,{children:"Filter goes in the register method:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:"// Limits the usage of only custom project blocks.\nadd_filter('allowed_block_types', [ $this, 'allowedBlocks' ], 10, 2);\n"})}),"\n",(0,n.jsx)(o.p,{children:"Custom callback method:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:"/**\n * Filter which blocks are displayed in the block editor.\n *\n * @param array|bool $allowedBlockTypes Array of block type slugs, or boolean to enable/disable all.\n * @param object $post The post resource data.\n *\n * @return array\n */\npublic function allowedBlocks($allowedBlockTypes, object $post): array\n{\n return array_merge(\n $this->getAllBlocksList($allowedBlockTypes, $post),\n [\n 'core/paragraph',\n ]\n );\n}\n"})}),"\n",(0,n.jsx)(o.h2,{id:"i-want-to-enable-blocks-only-on-specific-custom-post-type",children:"I want to enable blocks only on specific custom post type"}),"\n",(0,n.jsxs)(o.p,{children:["You create a new callback method for the ",(0,n.jsx)(o.code,{children:"allowed_block_types"})," filter."]}),"\n",(0,n.jsx)(o.p,{children:"Filter goes in the register method:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:"// Limits the usage of only custom project blocks.\nadd_filter('allowed_block_types', [ $this, 'allowedBlockTypes' ], 10, 2);\n"})}),"\n",(0,n.jsx)(o.p,{children:"Custom callback method:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:"/**\n * Filter which blocks are allowed in what post type.\n *\n * @param array|bool $allowedBlockTypes Array of block type slugs, or boolean to enable/disable all.\n * @param object $post The post resource data.\n *\n * @return array\n */\npublic function allowedBlockTypes($allowedBlockTypes, object $post): array\n{\n $output = [];\n $settings = $this->getSettings();\n $namespace = $settings['namespace'];\n\n switch ($post->post_type) { // phpcs:ignore Squiz.NamingConventions.ValidVariableName.NotCamelCaps\n case 'faq':\n $output = [\n \"{$namespace}/paragraph\",\n ];\n break;\n default:\n $output = $this->getAllBlocksList($allowedBlockTypes, $post);\n break;\n }\n\n return $output;\n}\n"})})]})}function h(e={}){const{wrapper:o}={...(0,s.M)(),...e.components};return o?(0,n.jsx)(o,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},4552:(e,o,t)=>{t.d(o,{I:()=>r,M:()=>i});var n=t(11504);const s={},l=n.createContext(s);function i(e){const o=n.useContext(l);return n.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function r(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),n.createElement(l.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e7328bb1.51ad52bc.js b/assets/js/e7328bb1.51ad52bc.js deleted file mode 100644 index c3d77eab8..000000000 --- a/assets/js/e7328bb1.51ad52bc.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[16864],{48924:(e,o,t)=>{t.r(o),t.d(o,{assets:()=>a,contentTitle:()=>i,default:()=>h,frontMatter:()=>l,metadata:()=>r,toc:()=>c});var n=t(85893),s=t(11151);const l={id:"blocks-special-use-cases",title:"Special Use Cases",sidebar_label:"Special Use Cases"},i=void 0,r={id:"legacy/v5/basics/blocks-special-use-cases",title:"Special Use Cases",description:"docs-source",source:"@site/docs/legacy/v5/basics/blocks-special-use-cases.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/blocks-special-use-cases",permalink:"/docs/legacy/v5/basics/blocks-special-use-cases",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-special-use-cases",title:"Special Use Cases",sidebar_label:"Special Use Cases"},sidebar:"docs",previous:{title:"Hooks",permalink:"/docs/legacy/v5/basics/blocks-hooks"},next:{title:"Reusable Blocks",permalink:"/docs/legacy/v5/basics/blocks-reusable"}},a={},c=[{value:"Change innerBlock attributes",id:"change-innerblock-attributes",level:2},{value:"Provide simple wrapper to all innerBlock",id:"provide-simple-wrapper-to-all-innerblock",level:2},{value:"Override innerBlock attributes only on the front end",id:"override-innerblock-attributes-only-on-the-front-end",level:2},{value:"Add CSS selectors on the parent component inside the block editor",id:"add-css-selectors-on-the-parent-component-inside-the-block-editor",level:2},{value:"How to only use my custom blocks",id:"how-to-only-use-my-custom-blocks",level:2},{value:"I want to use my custom blocks but add some core or third party plugins blocks",id:"i-want-to-use-my-custom-blocks-but-add-some-core-or-third-party-plugins-blocks",level:2},{value:"I want to enable blocks only on specific custom post type",id:"i-want-to-enable-blocks-only-on-specific-custom-post-type",level:2}];function d(e){const o={a:"a",blockquote:"blockquote",code:"code",em:"em",h2:"h2",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.p,{children:(0,n.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/",children:(0,n.jsx)(o.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(o.p,{children:"In our clients' projects, we noticed that sometimes you need to provide something special to your blocks, like changing the block editor block DOM structure or the attributes added inside the inner blocks."}),"\n",(0,n.jsx)(o.p,{children:"These are some of the examples we would like to share with you. We will list all of them and gradually add more."}),"\n",(0,n.jsx)(o.h2,{id:"change-innerblock-attributes",children:"Change innerBlock attributes"}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Usage:"})}),"\n",(0,n.jsxs)(o.ul,{children:["\n",(0,n.jsx)(o.li,{children:"Change attributes in the block editor and on the front-end."}),"\n",(0,n.jsx)(o.li,{children:"Set attributes in the database."}),"\n"]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Use Case:"})}),"\n",(0,n.jsxs)(o.p,{children:["Let's say you have a carousel block, and you have a generic image block that you can use as a standalone block. You create a carousel block and set in its manifest limitation to show only the image block to be inserted as an inner block. This is easy to do: you just add your image block to an ",(0,n.jsx)(o.code,{children:"allowedBlocks"})," array inside the carousel block and everything will work."]}),"\n",(0,n.jsxs)(o.p,{children:["But now you have some default attributes set in that image block that you don't want to be set if the block is added using the innerBlock in the carousel. You can change that using our ",(0,n.jsx)(o.a,{href:"helpers-javascript#overrideinnerblockattributes",children:"overrideInnerBlockAttributes"})," helper. Just add this helper to your block entry point, add the attributes you want to change, and you are all set."]}),"\n",(0,n.jsx)(o.p,{children:"Keep in mind that this will be applied to all innerBlocks inside your carousel block. If you want to limit this to a specific block only, you will need to fiddle around with that block's conditions (you can get that specific block name from the props)."}),"\n",(0,n.jsx)(o.p,{children:"The next time you add your image to the carousel, it will automatically change those attributes."}),"\n",(0,n.jsxs)(o.blockquote,{children:["\n",(0,n.jsx)(o.p,{children:"Important note: If for some reason, you copy the inner block from the carousel to the top-level editor, this helper will not fire and not change back to original attributes. You have to manually remove those attributes from the Code editor in the admin."}),"\n"]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Implementation"})}),"\n",(0,n.jsxs)(o.p,{children:["Here you can see our example of this helper used in the ",(0,n.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/Blocks/custom/carousel/carousel-block.js",children:"carousel block"}),"."]}),"\n",(0,n.jsx)(o.h2,{id:"provide-simple-wrapper-to-all-innerblock",children:"Provide simple wrapper to all innerBlock"}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Usage:"})}),"\n",(0,n.jsxs)(o.ul,{children:["\n",(0,n.jsx)(o.li,{children:"Change attributes in the block editor and on the front end."}),"\n",(0,n.jsx)(o.li,{children:"Set attributes in the database."}),"\n"]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Use Case:"})}),"\n",(0,n.jsx)(o.p,{children:"All of our blocks come with the wrapper implemented, which is awesome. But sometimes you just don't want to use the wrapper, and you want only to use the simple version of the wrapper. You can provide the attribute overrides in your block, and you are good to go."}),"\n",(0,n.jsxs)(o.p,{children:["But if you need to change attributes in the block added as an innerBlock, you'll have a little problem. You can use the same helper as we did in the previous chapter, or you can use our abstraction of that helper called ",(0,n.jsx)(o.a,{href:"helpers-javascript#overrideinnerblocksimplewrapperattributes",children:"overrideInnerBlockSimpleWrapperAttributes"}),"."]}),"\n",(0,n.jsx)(o.p,{children:"This helper will set the wrapper to a simple variant in all your innerBlocks."}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Implementation"})}),"\n",(0,n.jsxs)(o.p,{children:["Here you can see our example of this helper used in the ",(0,n.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/Blocks/custom/column/column-block.js",children:"column block"}),"."]}),"\n",(0,n.jsx)(o.h2,{id:"override-innerblock-attributes-only-on-the-front-end",children:"Override innerBlock attributes only on the front end"}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Usage:"})}),"\n",(0,n.jsxs)(o.ul,{children:["\n",(0,n.jsx)(o.li,{children:"Change attributes on the front end only."}),"\n",(0,n.jsx)(o.li,{children:"Don't set attributes in the database."}),"\n"]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Use Case:"})}),"\n",(0,n.jsx)(o.p,{children:"If you have a block containing inner blocks and only want to change the attributes on the front end of the implementation and not in the block editor. The standard way is really hard because all the inner blocks are rendered on the front end as an HTML string, and you don't have access to any of the attributes before it is rendered."}),"\n",(0,n.jsx)(o.p,{children:"Luckily, WordPress core has provided us with the filter that can change any block before it is rendered. This filter will provide you an array of blocks and inner blocks, along with the innerBlock and all attributes if you use it correctly."}),"\n",(0,n.jsxs)(o.p,{children:["The filter is called: ",(0,n.jsx)(o.code,{children:"render_block_data"}),", and you can put your implementation in the ",(0,n.jsx)(o.code,{children:"class-blocks.php"})," file. You can find the documentation on this ",(0,n.jsx)(o.a,{href:"https://developer.wordpress.org/reference/hooks/render_block_data/",children:"link"}),"."]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Implementation"})}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.em,{children:"Implementation coming soon."})}),"\n",(0,n.jsx)(o.h2,{id:"add-css-selectors-on-the-parent-component-inside-the-block-editor",children:"Add CSS selectors on the parent component inside the block editor"}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Usage:"})}),"\n",(0,n.jsxs)(o.ul,{children:["\n",(0,n.jsx)(o.li,{children:"Change attributes on the front end only."}),"\n",(0,n.jsx)(o.li,{children:"Don't set attributes in the database."}),"\n"]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Use Case:"})}),"\n",(0,n.jsx)(o.p,{children:"If you tried to create any grid in your block on the front end, you know it is easy, but it is not so with the block editor. The problem is that in the block editor DOM, there are additional divs added over your block that break your HTML structure, and all your styles from flex or grid will not work correctly. If your block depends on some special selector placed in a specific place, you can run into some problems in the block editor."}),"\n",(0,n.jsx)(o.p,{children:"With WordPress' block editor hooks, we can fix this by not adding the selector to its original location as we do on the front end but adding them to the Block Editor's parent component."}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.strong,{children:"Implementation"})}),"\n",(0,n.jsxs)(o.p,{children:["Here you can see our example of this hook used in the ",(0,n.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/Blocks/custom/column/column-hooks.js",children:"column block"}),"."]}),"\n",(0,n.jsx)(o.h2,{id:"how-to-only-use-my-custom-blocks",children:"How to only use my custom blocks"}),"\n",(0,n.jsxs)(o.p,{children:["You can remove all core blocks and any other blocks provided by third-party plugins by adding this filter to your ",(0,n.jsx)(o.code,{children:"src/Blocks/Blocks.php"})," class."]}),"\n",(0,n.jsx)(o.p,{children:"Filter goes in the register method:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:"// Limits the usage of only custom project blocks.\nadd_filter('allowed_block_types', [ $this, 'getAllBlocksList' ], 10, 2);\n"})}),"\n",(0,n.jsxs)(o.p,{children:["The callback method is set in the parent ",(0,n.jsx)(o.code,{children:"AbstractBlocks"})," class."]}),"\n",(0,n.jsx)(o.h2,{id:"i-want-to-use-my-custom-blocks-but-add-some-core-or-third-party-plugins-blocks",children:"I want to use my custom blocks but add some core or third party plugins blocks"}),"\n",(0,n.jsxs)(o.p,{children:["You create a new callback method for the ",(0,n.jsx)(o.code,{children:"allowed_block_types"})," filter. There you can allow all your custom blocks + any other 3rd party / core block you want."]}),"\n",(0,n.jsx)(o.p,{children:"Filter goes in the register method:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:"// Limits the usage of only custom project blocks.\nadd_filter('allowed_block_types', [ $this, 'allowedBlocks' ], 10, 2);\n"})}),"\n",(0,n.jsx)(o.p,{children:"Custom callback method:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:"/**\n * Filter which blocks are displayed in the block editor.\n *\n * @param array|bool $allowedBlockTypes Array of block type slugs, or boolean to enable/disable all.\n * @param object $post The post resource data.\n *\n * @return array\n */\npublic function allowedBlocks($allowedBlockTypes, object $post): array\n{\n return array_merge(\n $this->getAllBlocksList($allowedBlockTypes, $post),\n [\n 'core/paragraph',\n ]\n );\n}\n"})}),"\n",(0,n.jsx)(o.h2,{id:"i-want-to-enable-blocks-only-on-specific-custom-post-type",children:"I want to enable blocks only on specific custom post type"}),"\n",(0,n.jsxs)(o.p,{children:["You create a new callback method for the ",(0,n.jsx)(o.code,{children:"allowed_block_types"})," filter."]}),"\n",(0,n.jsx)(o.p,{children:"Filter goes in the register method:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:"// Limits the usage of only custom project blocks.\nadd_filter('allowed_block_types', [ $this, 'allowedBlockTypes' ], 10, 2);\n"})}),"\n",(0,n.jsx)(o.p,{children:"Custom callback method:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-php",children:"/**\n * Filter which blocks are allowed in what post type.\n *\n * @param array|bool $allowedBlockTypes Array of block type slugs, or boolean to enable/disable all.\n * @param object $post The post resource data.\n *\n * @return array\n */\npublic function allowedBlockTypes($allowedBlockTypes, object $post): array\n{\n $output = [];\n $settings = $this->getSettings();\n $namespace = $settings['namespace'];\n\n switch ($post->post_type) { // phpcs:ignore Squiz.NamingConventions.ValidVariableName.NotCamelCaps\n case 'faq':\n $output = [\n \"{$namespace}/paragraph\",\n ];\n break;\n default:\n $output = $this->getAllBlocksList($allowedBlockTypes, $post);\n break;\n }\n\n return $output;\n}\n"})})]})}function h(e={}){const{wrapper:o}={...(0,s.a)(),...e.components};return o?(0,n.jsx)(o,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},11151:(e,o,t)=>{t.d(o,{Z:()=>r,a:()=>i});var n=t(67294);const s={},l=n.createContext(s);function i(e){const o=n.useContext(l);return n.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function r(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),n.createElement(l.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e79e64be.14a7e8e4.js b/assets/js/e79e64be.14a7e8e4.js deleted file mode 100644 index c7fad32c8..000000000 --- a/assets/js/e79e64be.14a7e8e4.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[24190],{26919:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>s,metadata:()=>a,toc:()=>l});var o=n(85893),i=n(11151);const s={id:"blocks-important",title:"Important"},r=void 0,a={id:"basics/blocks-important",title:"Important",description:"docs-source",source:"@site/docs/basics/blocks-important.md",sourceDirName:"basics",slug:"/basics/blocks-important",permalink:"/docs/basics/blocks-important",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-important",title:"Important"},sidebar:"docs",previous:{title:"Blocks",permalink:"/docs/basics/blocks"},next:{title:"Faq",permalink:"/docs/basics/blocks-faq"}},c={},l=[];function d(e){const t={a:"a",admonition:"admonition",code:"code",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,o.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(t.p,{children:"Before you start developing and changing anything on your block/components, you should keep in mind how we have managed to create this setup and some of the side effects of automatic file loading."}),"\n",(0,o.jsxs)(t.p,{children:["We require all our JS files using the ",(0,o.jsx)(t.code,{children:"require.context"})," and all our SCSS files using the ",(0,o.jsx)(t.code,{children:"webpack-import-glob-loader"}),"."]}),"\n",(0,o.jsxs)(t.p,{children:["All files are required during the project's ",(0,o.jsx)(t.code,{children:"compile-time"}),". This means that we can't get any new files after the compile time is over. This approach gives you the ability to not worry whether you loaded the file or not. You can focus on your code and leave the messy stuff to the boilerplate."]}),"\n",(0,o.jsxs)(t.p,{children:["Since all the files are required during the ",(0,o.jsx)(t.code,{children:"compile-time"}),", every time you change the file structure, you must restart the Webpack watch."]}),"\n",(0,o.jsxs)(t.p,{children:["You ",(0,o.jsx)(t.strong,{children:"must restart"})," Webpack watch when:"]}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"adding a new block/component/variation;"}),"\n",(0,o.jsx)(t.li,{children:"changing the names of any files in the block/component/variation folder (for example, you made a typo in a block's name);"}),"\n",(0,o.jsx)(t.li,{children:"removing any file from the block/component/variation folder; and"}),"\n",(0,o.jsx)(t.li,{children:"changing the block name in the block manifest.json."}),"\n"]}),"\n",(0,o.jsxs)(t.p,{children:["You ",(0,o.jsx)(t.strong,{children:"don't need to restart"})," Webpack watch when you:"]}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"add/remove styles;"}),"\n",(0,o.jsx)(t.li,{children:"add/remove JS implementation in the files;"}),"\n",(0,o.jsx)(t.li,{children:"add/remove PHP implementation in the files; and"}),"\n",(0,o.jsx)(t.li,{children:"make changes on anything other than blockName in the manifest.json."}),"\n"]}),"\n",(0,o.jsx)(t.admonition,{title:":es-hide-title:",type:"caution",children:(0,o.jsx)(t.p,{children:"Remember this note because, in 90 percent of cases, your error occurs when you made changes to the files and didn't restart the Webpack watch."})})]})}function h(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},11151:(e,t,n)=>{n.d(t,{Z:()=>a,a:()=>r});var o=n(67294);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/e79e64be.2493943f.js b/assets/js/e79e64be.2493943f.js new file mode 100644 index 000000000..fa46c5d8f --- /dev/null +++ b/assets/js/e79e64be.2493943f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[82384],{73940:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>s,metadata:()=>c,toc:()=>l});var o=n(17624),i=n(4552);const s={id:"blocks-important",title:"Important"},r=void 0,c={id:"basics/blocks-important",title:"Important",description:"docs-source",source:"@site/docs/basics/blocks-important.md",sourceDirName:"basics",slug:"/basics/blocks-important",permalink:"/docs/basics/blocks-important",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-important",title:"Important"},sidebar:"docs",previous:{title:"Blocks",permalink:"/docs/basics/blocks"},next:{title:"Faq",permalink:"/docs/basics/blocks-faq"}},a={},l=[];function d(e){const t={a:"a",admonition:"admonition",code:"code",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,o.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(t.p,{children:"Before you start developing and changing anything on your block/components, you should keep in mind how we have managed to create this setup and some of the side effects of automatic file loading."}),"\n",(0,o.jsxs)(t.p,{children:["We require all our JS files using the ",(0,o.jsx)(t.code,{children:"require.context"})," and all our SCSS files using the ",(0,o.jsx)(t.code,{children:"webpack-import-glob-loader"}),"."]}),"\n",(0,o.jsxs)(t.p,{children:["All files are required during the project's ",(0,o.jsx)(t.code,{children:"compile-time"}),". This means that we can't get any new files after the compile time is over. This approach gives you the ability to not worry whether you loaded the file or not. You can focus on your code and leave the messy stuff to the boilerplate."]}),"\n",(0,o.jsxs)(t.p,{children:["Since all the files are required during the ",(0,o.jsx)(t.code,{children:"compile-time"}),", every time you change the file structure, you must restart the Webpack watch."]}),"\n",(0,o.jsxs)(t.p,{children:["You ",(0,o.jsx)(t.strong,{children:"must restart"})," Webpack watch when:"]}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"adding a new block/component/variation;"}),"\n",(0,o.jsx)(t.li,{children:"changing the names of any files in the block/component/variation folder (for example, you made a typo in a block's name);"}),"\n",(0,o.jsx)(t.li,{children:"removing any file from the block/component/variation folder; and"}),"\n",(0,o.jsx)(t.li,{children:"changing the block name in the block manifest.json."}),"\n"]}),"\n",(0,o.jsxs)(t.p,{children:["You ",(0,o.jsx)(t.strong,{children:"don't need to restart"})," Webpack watch when you:"]}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"add/remove styles;"}),"\n",(0,o.jsx)(t.li,{children:"add/remove JS implementation in the files;"}),"\n",(0,o.jsx)(t.li,{children:"add/remove PHP implementation in the files; and"}),"\n",(0,o.jsx)(t.li,{children:"make changes on anything other than blockName in the manifest.json."}),"\n"]}),"\n",(0,o.jsx)(t.admonition,{title:":es-hide-title:",type:"caution",children:(0,o.jsx)(t.p,{children:"Remember this note because, in 90 percent of cases, your error occurs when you made changes to the files and didn't restart the Webpack watch."})})]})}function h(e={}){const{wrapper:t}={...(0,i.M)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},4552:(e,t,n)=>{n.d(t,{I:()=>c,M:()=>r});var o=n(11504);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 c(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/e801e723.a2714107.js b/assets/js/e801e723.a2714107.js new file mode 100644 index 000000000..68b07a9ad --- /dev/null +++ b/assets/js/e801e723.a2714107.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[30285],{26556:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>h,frontMatter:()=>r,metadata:()=>i,toc:()=>c});var a=n(17624),s=n(4552);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.M)(),...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(31848).c+"",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(27592).c+"",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.M)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},27592:(e,t,n)=>{n.d(t,{c:()=>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"},31848:(e,t,n)=>{n.d(t,{c:()=>a});const a=n.p+"assets/images/code-editor-0f0cd8e07f7d3262475ca4cc8b7b2176.webp"},4552:(e,t,n)=>{n.d(t,{I:()=>i,M:()=>o});var a=n(11504);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.ee8b081e.js b/assets/js/e801e723.ee8b081e.js deleted file mode 100644 index bef8150e9..000000000 --- a/assets/js/e801e723.ee8b081e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[20394],{82038:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>h,frontMatter:()=>r,metadata:()=>i,toc:()=>c});var a=n(85893),s=n(11151);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.a)(),...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(73622).Z+"",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(65141).Z+"",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.a)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},65141:(e,t,n)=>{n.d(t,{Z:()=>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"},73622:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/code-editor-0f0cd8e07f7d3262475ca4cc8b7b2176.webp"},11151:(e,t,n)=>{n.d(t,{Z:()=>i,a:()=>o});var a=n(67294);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/e8854f45.8bc49a07.js b/assets/js/e8854f45.8bc49a07.js deleted file mode 100644 index c7e081157..000000000 --- a/assets/js/e8854f45.8bc49a07.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[11209],{36400:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>l,contentTitle:()=>d,default:()=>h,frontMatter:()=>o,metadata:()=>a,toc:()=>c});var i=s(85893),n=s(11151),r=s(12987);const o={id:"first-form",title:"Your first form"},d=void 0,a={id:"first-form",title:"Your first form",description:"Adding your first form and displaying it on the frontend is simple:",source:"@site/forms/first-form.mdx",sourceDirName:".",slug:"/first-form",permalink:"/forms/first-form",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"first-form",title:"Your first form"},sidebar:"forms",previous:{title:"Basics",permalink:"/forms/basics"},next:{title:"Dashboard",permalink:"/forms/features/dashboard"}},l={},c=[{value:"Integrations",id:"integrations",level:2},{value:"Create a form",id:"create-a-form",level:2},{value:"Add the form to the page/post/custom post type",id:"add-the-form-to-the-pagepostcustom-post-type",level:2}];function f(e){const t={a:"a",code:"code",em:"em",h2:"h2",img:"img",li:"li",ol:"ol",p:"p",...(0,n.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"Adding your first form and displaying it on the frontend is simple:"}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsx)(t.li,{children:"Enable the form type you want to use in the Eightshift forms Dashboard"}),"\n",(0,i.jsx)(t.li,{children:"Create a form in the WordPress admin"}),"\n",(0,i.jsx)(t.li,{children:"Configure the form and add the fields needed"}),"\n",(0,i.jsxs)(t.li,{children:["Add the ",(0,i.jsx)(t.em,{children:"Form picker"})," block in the place you want to show the form, and select your newly created form"]}),"\n"]}),"\n",(0,i.jsx)(t.h2,{id:"integrations",children:"Integrations"}),"\n",(0,i.jsx)(t.p,{children:"By default none of the integrations are enabled."}),"\n",(0,i.jsxs)(t.p,{children:["To enable one, go to the ",(0,i.jsx)(t.em,{children:"Dashboard"})," page of the Eightshift Forms admin settings."]}),"\n",(0,i.jsxs)(t.p,{children:["More details can be found ",(0,i.jsx)(t.a,{href:"features/dashboard",children:"here"}),"."]}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"Dashboard screen",src:s(42423).Z+"",width:"611",height:"838"})}),"\n",(0,i.jsx)(t.h2,{id:"create-a-form",children:"Create a form"}),"\n",(0,i.jsxs)(t.p,{children:["To create a form, open the WordPress admin, find ",(0,i.jsx)(t.em,{children:"Eightshift Forms"})," in the sidebar, then click on ",(0,i.jsx)(t.em,{children:"Add new form"}),"."]}),"\n",(0,i.jsx)(t.p,{children:"An editing screen will open, with a selector for the form type. If you don't see a form type in the selector, make sure it's enabled in the Dashboard."}),"\n",(0,i.jsx)(t.p,{children:"After clicking the form type, the Form block will be automatically added, the form initialized, and some fields may be added by default."}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"Form Type Picker screen",src:s(97849).Z+"",width:"495",height:"441"})}),"\n",(0,i.jsxs)(t.p,{children:["To change form settings, clicking on ",(0,i.jsx)(t.code,{children:"Edit settings"})," in the options sidebar."]}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"Forms Sidebar screen",src:s(79892).Z+"",width:"305",height:"867"})}),"\n",(0,i.jsx)(t.h2,{id:"add-the-form-to-the-pagepostcustom-post-type",children:"Add the form to the page/post/custom post type"}),"\n",(0,i.jsxs)(t.p,{children:["To display the form, add the ",(0,i.jsx)(t.em,{children:"Form"})," block and select a form to display."]}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"Form picker screen",src:s(65661).Z+"",width:"474",height:"289"})}),"\n",(0,i.jsx)(t.p,{children:"More settings can be found in options sidebar."}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"Form Sidebar screen",src:s(49629).Z+"",width:"303",height:"798"})}),"\n",(0,i.jsx)(r.nk,{type:"forms",video:"firstForm",useTitle:!1})]})}function h(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(f,{...e})}):f(e)}},12987:(e,t,s)=>{s.d(t,{pE:()=>o,BY:()=>d,nk:()=>r});s(67294);const i=JSON.parse('{"forms":{"playlist":{"video":"https://www.youtube.com/playlist?list=PLFjp6yaGpZJvzqWGi3y9vZ3prra0h5Emx","label":"Eightshift Forms playlist"},"videos":{"intro":{"video":"3jPVuGjh488","label":"Introduction to Eightshift Forms"},"basics":{"video":"4BnTXHviZkI","label":"Getting familiar with Eightshift forms"},"firstForm":{"video":"qcsr7QGFmV4","label":"Step-by-step guide to creating your first form"},"integrations":{"video":"r2KEVIkNt04","label":"Integrating third-party services"},"integrationsSync":{"video":"JyfO328bq08","label":"Syncing your forms with third-party integrations"},"cache":{"video":"gX997f3fUcI","label":"Don\'t be afraid of caching"}}}}');var n=s(85893);function r(e){const{type:t,isPlaylist:s=!1,useTitle:r=!0,title:o="Tutorials",video:d,subtitlePrefix:a=""}=e;let l="",c="";s?(c=i[t].playlist.label,l=i[t].playlist.video):(c=i[t].videos[d].label,l=i[t].videos[d].video),a&&(c=a+" "+c);const f="https://www.youtube.com/embed/"+l;return(0,n.jsxs)(n.Fragment,{children:[r&&(0,n.jsx)("h2",{children:o}),c&&(0,n.jsx)("h3",{children:c}),(0,n.jsx)("iframe",{width:"560",height:"315",src:f,title:"YouTube video player",frameBorder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",allowFullScreen:!0})]})}function o(e){const{type:t}=e;return(0,n.jsx)(n.Fragment,{children:Object.keys(i[t].videos).map(((e,s)=>{const i=String(s+1).padStart(2,"0")+" - ";return(0,n.jsx)(r,{type:t,video:e,useTitle:0===s,subtitlePrefix:i},s)}))})}function d(e){const{type:t,label:s,link:r}=e;let o=null!=s?s:i[t].playlist.label,d=null!=r?r:i[t].playlist.video;return(0,n.jsx)(n.Fragment,{children:(0,n.jsx)("a",{href:d,target:"_blank",rel:"noopener noreferrer",children:o})})}},42423:(e,t,s)=>{s.d(t,{Z:()=>i});const i=s.p+"assets/images/dashboard-1219da14a41cb6fff3b761a1df4dc7ee.webp"},65661:(e,t,s)=>{s.d(t,{Z:()=>i});const i="data:image/webp;base64,UklGRi4WAABXRUJQVlA4ICIWAAAQbwCdASraASEBPjEYi0OiIaESumwYIAMEtLd+PkzvLBYAMD+mvv3A9xIisHXD+5vOfSbuOPMB+lH6c+955Ev+A66b1jPQA/QD1sP9//tf8P1sOqk+MP6F2O/1n8YfOX8V+Nfp35BcmKJH8a+r/2L+0ftf/e/ar+t+DPxD/fPUC/FP4h/WPzO/uPmAfkz4V8unqBen3yL/A/2P9qv8N5/37X+Rf7//In1T/yf5afQB/Cv4//b/zD/u///6MP6v/gv9J7gP8b/o3+V/un7q/5X///a7+7f6r+9f6H9nPat+Xf2j/X/5H/M/sR9g38e/nv+d/tX+W/+H+N////y+6n1x/sV/6vc//Xn/0C0rUQ4s78+1y1EOLO/PtctRDizvz7XLUQ4s78+1y0uQeIfFpeAoN1t4ViQx2nHIJZmrFFL3GAFnfn2uWohxZ6IX59rmEJKwgqQC2S4XUwN3TS8YDWJRGfbppUA8sa/BgjsoVs8UDdXLUQ5VYs78+9HhWL1sbnQ93SFOZ6Gmu9NC5D1YFh6eT9PqyQxuc68tLFQeDnkrSuj+d7q5aiHKrFnfn332vWVTrCil7i0q9WFFMCTLkG/KUGsOGoH8o6cvn5WBJX0xCqhUgD+IFbURzODzM/txVnFgExfa23xlKwXI9wg4WCfav+NNz4LrX/dZY8vZR4j40/tdjctRDi9CjskAnF+SOYH7mKzvOhZFM6R0yGSWcUqtV1RfuSHHb8s79AW07oXqrK5x5F6e44XqmVkXShOpZ7PY/7hlDGNvVo6jKi9NheAbPtctSLEEFaduU3de5t+QSYVO9MFkUzpFatF0wWRTOjlPoLNuluLO/QGFQlUAf/anAP09P1radfmyU8M0e0F+F3E4fHcusA1O3BdZpY4wMnjfRexhyelt1bobDFYd5nCTsYRuOK7m98P/sPkgA9xx6c4jFU+UHsMPP6MXezZ3NyD/hagSbCX1+J/uUsJ/n7QnhFm5ufDZk/yTFeBRaost8g8xSWhBaZbKilcOPFF4qGVuS73GCmMmglGP02osLnHygxb7hv8lwadu5oDUFSdF4FFOxyPTFL3Fnfn2z6uWohrxzrLt359rlqIcWd9mhX1XIcWd89uKSfyC2l4Cg3W3hWF7Xys1qCi8Cil7izvz7XLUQ4s78+1y1EOLO/PtctRDizvz7XLUQ4s78+1y1EOLO3AA/v/wysAAAAOqOjeSs3lj4h3fc2Af2R8/pxBKh1sC4jMj1MgbgAAAoQB2OEJ9NMSBGODfGL3VsEpsHFglpz+AAC1DAl324Y4qwOHAeLAujuPsmPbdfNzCuC9uFv2WBsoWxvR3wdgIj8MmUrqkGGwT965o/erEqLNI2f+MO03lDl05cX67/A8FEGIP8vO7kapI+c/FK/9i3YiEu2au2RIWL6e0dcJ10DvbBEJJv+dbR7JkL8QRJo1o2hbIc7XTYDt3dI5T2HmfaOKQGZaD9ZegG+IIcGSkh/Izp7R0sxif0QMzbUMPo9xmTHe2VWuq6/DR8koKzTDbDLv7g9Qa/Oawet1CP67n+yfq2BN3mxTY+N0Ce4FuqpF+Ajgdrd09PoyPtryFza8E1GD/oNk/kv2WLKc850SmRICRszRVgkZw1ROWj4oR3AApTCj9GeSbIbFpGbS/FnYemf+Fng/JW2Ihu4m+o2ttM8Xe1FP9ymzGB3Bmw8jECn4/njRJUqc2usnh8SDKrpcvy2zEoaJsIzk/idBIW83eSGeBRMRW10k2eI1f3SFtUn7udino3bLQBHAG004DcDO/sUJXH6GcIJD8lAAuhEbgyXN1y/uy6smP9bFgHLkgPxPdT/IrPCwuNWQHBJ84Advzs9GsfHkFFuVkSHtnYqgws+AcZQ+8e6s5NGW19MKpy+O1DNU/6i8qYignesyVdnQOMnbrk/nhXRFzZm+13o/+G2Qm+b6RklRjPaSK+lJKVCCCJpLkV62Yg7KyewwDwuBDnyVxY9DuzdDwOKNWSzhi4klpwbNS/Ao2GiwV3edfCWyrEWxmcoOv1lSoBOisJiAmD1+x57RqEl6wvqQ95qXSvqZptbRUP8oCJTdK80MKfSmedV/mqQ31r+2HyBdHqIWKCnljXl0MmYTzN07L1+sSsFNcZQlLgOvQ48MYdja7wtBUT8qADzdjLnxKz49rARZiJVGqY6Oqle6KdZQ6YawZAPdAXOgr7YPBaVNUJIh+Dh8IBdF/wk0Bm+nVWSg6bm3gJOJSaYdz2cRn63PqCXQsxLExbzXA8PW8UZmc6ognP//KNQD2tVZ0EAK4RsyJhjgjAgRbhVVmMV3iFKK8kBmbk415gjTjv2Tj05I3G2Jzwi5MYSTnVO3aY/yWOLB8+SMRQ0ksSd52C7TpQ/8xKQAXQGDyt6wc+pn6SphwDMAAAAeFem3Tli5WF21pPb7Qiq0+YXsHFKCdj0DPtUYmkPjKn3nJK9X9Ds/gcZ3+1lCfIgXz/s7Djg/DiR31LmeypKtduJPFujLs4vXwnxUOveIDM3qKlcfknz9rowUMZS9JZdyBMn/RZo4kLBQ3R6q5zpzBwaWpPcZI0ZVOUMAbtV09C2qlXmaRjwpAaT5FlNOZFtKuUb/1DP0h+m0SYYM/+Cx5agGspCpVHLl1z95iOfuHUQYugHLnWVMPwJaJM4wbEfU3wUuhmA0PFh//V0kgc4QNOQ6BalJeulLYS8Y6hfAeV5XOiVDBD9mNaIxi99pd28cBcd9QzcEew1pSQ9tH1AmroZLXt2NtiPqnfu5qjoNxW3rr0cUP4LYkCBN0Cec+gM2A99m9nSBBBuZaa6WOi3df9Rr0elkdtjtt/bEQxDZ/xdWPDIfHVdx60gM9PGtMNuru20Odc/qWVAarQTq0hFLQprX244QZ8rYrM1QGVwJ9Wau1MYa4QWAd4xjCEuWMlUiI1w7GKP5whgQJSD2A0cynYrwf5pEXVsRXifx63nBqbtq4rZQTB7yXFS6A0DRmgVJAhc7X9rh80SjX39/BX0p5diKz3wbeRfupKyezilw9G5hiB9VBk6YxoKcDq0PCvIoirTR62hepa7cJJmD5SqX89T7kdNNnmi2nrXqsQSKIEQyXwJHJQ25xIccIAYLvfLe5+9Xvc/yo02ujUS6FDDVgNn+XxOXIgm0ne1YMBP2Y6cSGU2g/lvPHhhf6lpYzvvsFDyTIeEz1eXv6PQY6mIdzoJn0akWdf7YDT/8r3SM9LHH3PzPPgtDObjRKlWLv72seCV4NvIv3UlZPxwsACuNlffxHzJV1Hj1edDz0pOhii6LeyZo7sujyjLhatHotod66tzRXuwtvdivRLAEq/10pI8yxdswYv73gVM4pLxwB5hMVajW3I1ABj0+WTjiYCpthJiu2QseNvM/GrvmqiuSIBsdmITeXe83x1SYWew5H8dsim76S+5uZlTtZ5z6Gb4rr/GcT/ZmgvlHy+jkOxTmEI09RmWJ0ZP/eONG3k10CbEBHh/nQyWIU7OImWaAxIr0qCUP82a3TsfIQI3/NEhNn1M7O+imb3d2+IbBPIWUF7gMcdKkdTym7tVZB7dZdeelCf4BFjfm2WiSacMh4N0Jjnq9QPGWNYCpPpZNZHw5JDgSkBC/kmV4tW5M/xSF8uKgnojZf/7Dw4ExUAifCiIZB/y8nAoRIB7z81TzMajFDhTxUcwaLsdf2CGGA2tZ5TbL0tMZw4u+Blb9v9DE5Rr0qMD5JrX2lNDoFmOnBU4V3b7fdCQYy+gxZJietBoOUyuwhVrTu1F+I3q56QAGOqIUIMhSE7Tz+ej2tds7g3nCCo46gIEjM1QI4yl2FMHzP3fXnwxjifuOuKuqwWg9PcyYB74xbSdPhQGOf9mtPvBu8049so3sld5bGwfvg736N48Zpv8pQ9PgNRiMfiRAZdP/Um0z6fdO7Jzc8vn9n70GVXOWz7fvDm48cAT+ws3Hjl0ind/l+iJ8XxuRuAmql3VkxGYQK7dSnTVakN+BwAOW40P11669deuvXXnKKC21MLSf0z+KoO14bKH/eNuXh4iS5rahn2zNYsTFpagWPg3/ZpsN+GrcPyL93IWC/sjjlJ90mEoFPrSm4exPge4hts67i4B45O5y5QViBXa2YrC+i8IiNYFWhALoEK1y6LztPf65DO4UE48yiXi/uDSBTIyM8RsE64AcaEO11dQG2RgQKlvXlPXeQ3UKEreMNum1984QZCKYv4ZPtkPnY/fI0o1wjjWlAICuvIlTmAc06KP7BFlE85xHLICAfGjP0GCyP9nyR7SJKpx6t8p1/hWnPrw4VeJGxBdkx7Bj6VC7JM1SV0X8BW9sM1RgeK3wbX4PC4d9hxBXG41iTY1fJYelebbnptUi0cY9ZTEx6RsoIMuYMA/lNxCzS4LnYHJSGL8S6NJXyoIsXaPk/6faZffw8tvur7LoxMpI8KcI5CzdJJJKfYEvRK7VDAuSM3eNH+cF0vqUlZI+HSnAAATCCFQpiUgDJlRyPDKAk4DLkmSFHfyZLcdYRc23NgQ5Oqs8NQlSoNd+OU05t/lwSDaLth6tY6vKmVrUhczjR2ldG8FvhUi1n1+C9QzScpYAToUZhkIE8baOw4UdpbSgwIzbJM2aKhuBljAzEus+CPcNuI3plR9ptqAD8sERJi6YKcPaZp96a7/kE1ePEYfjzT/DnQdf81teN46JI94dAZKyR+C/42VD//dXuWTM36U8oPA4/2RsrhcLhcLhcLhcB4pOjHa7eL8XlFqLLIGrqICJyjnjoWEZYoh5n+thTJSuCs4vxMhmIB1Wf+A9rXUfvmjUp8smr/5ANxaNcDXnNlwOyX/ucPGe3/Rq6EpRTgGPzI+5Ot3T3UYXevwwfR295dwx+ET44dw7n3uI6OmAaZ68qGW/ZN3Y3KqRvTvqB5Yo3BedbxUjFiD0t4/zALyzLOgnAPWxrRCyKpnuagqLu7mPsFMh7+5xWp6sHHMJ+Mkl7/7N3cbPPjLNv5dV/EamxEmM2A7ooHG2/3RQ5PWXsN7DhdEXTxsShbD9TJNPqikmwaOwOXsmZHj5Myi1OHO9SVtCkSVWvNz8ho1MHY14BMUgzG4Ul8mePwv0lpMrQFvoLD68fFl9HWpog7LcqIp7o+/jme2OFPx1MzJ7vuCIY8vBc7w+VqxG/5O7s+wiGKczdaqhgK0blGlIXUfzjqmel0jH833HxFw3PnuDDnm3V4S//KlY0KXo0EQGi11E/zXAlJ9gvxbsdaMQfM77digEsw6Kg7gxxGqbp+bcaENFFQMYpUYyfmfWzDhw8x5osU3Rbs8uLfuh22tsDHXNAScJ60tX9CyeS1hE6JZYAmzNELZ9p2kAjSQC7V4+wZ6EjNr+EYZXMgZOVUuLfR7AWfOoEVgYi0X4Ct71Z0FbYFecw2gQYivZb3TVtkgNwZf2ZbP2ixhkWuTnM+xmanG3Zm+PuOK6X1jGNNtdHimZcZ96ByLhjBrrnrmlQbPxnImlbepOODhSEFLFPqqhnWxxxIZRxA3Ng5MWsuo/+Lt30BLsvllfhz8cLBu05aUKfwGQgU2iDIpxAEc63HDIWmrnARkyXbNeEa6xN2PWH68lgHr5p3hLIVJIPsrF4LNgQQAXe29yj64iOnIqUhG3fM2BQ+/Giua7HbFwQCYuW3zzNQo52jPCsHjIEx/izTTKg5PhEHrUaqVdhwiSzIHKe5xTyprZJlXHvcklZc5EEixBCtfiP+/GJTPMSTlLfhY1nM8TLxJi1BFsDRXHHzBqPVVIZHztZtINX1foa+U4TmUinsftwnLN16WDzVTdMKBylzawUp5nu7vEh7nZWWn9MiVIF37GC4nD86PhsxVA3cpcvNKDdvpKC+evYTXh3SjTcZ6W8axQnCuChuUE7rz0beYRifJzVHb3g623p+ut838LVKx8WLTTUVfyJXIFF8eSvULNLSX1w3SsPHeN4u0IWdfl4E4YDUwBsIFHYl0W/Qr9GnoTt0P2LMuNxTv/p8nuWWAOxuk99vJeY67gyL8tYrR0Ra/O0iVfWsWz44Ct5379ku300Qx/2EqZubEc11tDyUye5rSjBlLjaLdzSBmUKCZTNG2K/jceJSk6GXqULMoBlMvUkHoZKH0yjlT9XWdm09/dcvvU+VnYwDqHvod4VzRjh48OgNQeKTIGmj0QPmArwJ9yfG9pd8Y/XTbsRUAxZGvcS2ACzOxD0/+8IlXEO7xTSgkW5LIi8k6yYHsbVmsuqJKfgoBa7VIf+LRHEUvrTQUYl6/Mn7QgNAUvO5bHI9GHh+6ySUXQtnCNCAs41y7VdVUy5IkPPL66rTSfOGUCG3JoVYsCiYwhJF/5dHmckmGJaz7OKeEa20vr6pKwMbSAwLaGfdurTMy61KjniSyOYl4S9Bl9YRI5uY5nCWqKgXrnOcmkm6+m/26gqPibcauDs6f59IQGzN8dqpAqLQ1NfRXrnczukGKLLTrth65ftBvPdRATFZE1IJ8f/qEm58Stw+9cSDT2M2sd6ZmP0z4amFC1Sztb5ACHWx5kxEmVWkg9auWQKNxry+8loD1gPE71uKywrS0+WKKZQD98mVCLrgG4GsINba8xfMUckO53iTG833U96AYluy+zOa7GJofpVfFtqBOUngSPPDcn22ys5Uss0Pp3eS5w5JPvo9Hp0ozZCpdfDVvvxGoryrIkp9vF+IPQvuNGOC2LWSvwNt/0JH/nJEwpAaRL/C+uxt0I3iVS6mvZBo2beLsIhfI2VbYH38Cy1ZM6LPQBkDops2O6pebrWrGzwSBLA5mQqdeH9OkTy9v/8TrwcITvJu7z+N7SLS47/rpjdkn4QWtk7ezeVzojQH/LZQh9GdXorGgWd3MvpqG7KQy+u1cM+NokZS2EDCmvpPRO1NK2WRqxIgnWwYcdqjw4EGJG8JIs+aD0iYccsZbXGsbZcUnhpRGkys86CQMdcefoiCtVN5k7KXoh4xiGx56EOWjJzQLIuAvvlNU+xTMKSGmuz6zbofX9LdEenSU1Hnw6EXdyHiAvnS/NX/FIzqtXWMDKhZ0WuzZJ15LG1Jtg6tZBU/zWvONJvZkyKt11mUf5Tb4sGNd6qcUMs3vIo/a+QLKdOn+FoNwhKSNRvi9uoaP5cKj1iZKswlkGcdDFsAhFHZxBTI9SlqT9Qy+fqdFnLAUFt69YF9exPXkZAoKhGtPC/TIOlWKp68Uh4M7hdMTGOhZ+dxKG5Fv+9fKH6eumsAoZxSc10iUwMH3EqhBue4Hcf8s5E+N6vNI3rO8RytqDTYHs5v8D1WNOuOUWpiWkorJIZYiDPblFJVqEAR7jA78SEsRSSeH9fyYtWylvap0hExIxohfeB0b8WSC9z8XCT4DnzG4e20Xmml5uLxsfJoQfjf23zK7iiXCL+Bb5w7/kvn88gjZV0RM6NwuXNqC+zhpEsrqqldTN5M4wWzMLHeSrs9IEmtPuxSH+RIqgCI50FP/55v6ttZOjoQ4NQDWR6rprnRPhEz6oRJdSbwiG+UDMfkAAAAAAAPxorzPrjm7BweowfttMeC+0kPutTehyRQ/O8n4V/TyFcnGPSVHcngHQAJgiKOuoelkAAAAAAAAAAAA=="},49629:(e,t,s)=>{s.d(t,{Z:()=>i});const i=s.p+"assets/images/form-sidebar-ffb665e9831e415b45e30e5e776607b3.webp"},97849:(e,t,s)=>{s.d(t,{Z:()=>i});const i=s.p+"assets/images/form-type-picker-fc5d6abff37ffc65ea262b8cce63326b.webp"},79892:(e,t,s)=>{s.d(t,{Z:()=>i});const i=s.p+"assets/images/forms-sidebar-0b705d09ee921f980e55c451b5aea9f8.webp"},11151:(e,t,s)=>{s.d(t,{Z:()=>d,a:()=>o});var i=s(67294);const n={},r=i.createContext(n);function o(e){const t=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:o(e.components),i.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e8854f45.c48ca5b4.js b/assets/js/e8854f45.c48ca5b4.js new file mode 100644 index 000000000..86769794e --- /dev/null +++ b/assets/js/e8854f45.c48ca5b4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[25828],{7568:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>l,contentTitle:()=>d,default:()=>h,frontMatter:()=>o,metadata:()=>a,toc:()=>c});var i=s(17624),n=s(4552),r=s(57848);const o={id:"first-form",title:"Your first form"},d=void 0,a={id:"first-form",title:"Your first form",description:"Adding your first form and displaying it on the frontend is simple:",source:"@site/forms/first-form.mdx",sourceDirName:".",slug:"/first-form",permalink:"/forms/first-form",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"first-form",title:"Your first form"},sidebar:"forms",previous:{title:"Basics",permalink:"/forms/basics"},next:{title:"Dashboard",permalink:"/forms/features/dashboard"}},l={},c=[{value:"Integrations",id:"integrations",level:2},{value:"Create a form",id:"create-a-form",level:2},{value:"Add the form to the page/post/custom post type",id:"add-the-form-to-the-pagepostcustom-post-type",level:2}];function f(e){const t={a:"a",code:"code",em:"em",h2:"h2",img:"img",li:"li",ol:"ol",p:"p",...(0,n.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"Adding your first form and displaying it on the frontend is simple:"}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsx)(t.li,{children:"Enable the form type you want to use in the Eightshift forms Dashboard"}),"\n",(0,i.jsx)(t.li,{children:"Create a form in the WordPress admin"}),"\n",(0,i.jsx)(t.li,{children:"Configure the form and add the fields needed"}),"\n",(0,i.jsxs)(t.li,{children:["Add the ",(0,i.jsx)(t.em,{children:"Form picker"})," block in the place you want to show the form, and select your newly created form"]}),"\n"]}),"\n",(0,i.jsx)(t.h2,{id:"integrations",children:"Integrations"}),"\n",(0,i.jsx)(t.p,{children:"By default none of the integrations are enabled."}),"\n",(0,i.jsxs)(t.p,{children:["To enable one, go to the ",(0,i.jsx)(t.em,{children:"Dashboard"})," page of the Eightshift Forms admin settings."]}),"\n",(0,i.jsxs)(t.p,{children:["More details can be found ",(0,i.jsx)(t.a,{href:"features/dashboard",children:"here"}),"."]}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"Dashboard screen",src:s(91976).c+"",width:"611",height:"838"})}),"\n",(0,i.jsx)(t.h2,{id:"create-a-form",children:"Create a form"}),"\n",(0,i.jsxs)(t.p,{children:["To create a form, open the WordPress admin, find ",(0,i.jsx)(t.em,{children:"Eightshift Forms"})," in the sidebar, then click on ",(0,i.jsx)(t.em,{children:"Add new form"}),"."]}),"\n",(0,i.jsx)(t.p,{children:"An editing screen will open, with a selector for the form type. If you don't see a form type in the selector, make sure it's enabled in the Dashboard."}),"\n",(0,i.jsx)(t.p,{children:"After clicking the form type, the Form block will be automatically added, the form initialized, and some fields may be added by default."}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"Form Type Picker screen",src:s(68432).c+"",width:"495",height:"441"})}),"\n",(0,i.jsxs)(t.p,{children:["To change form settings, clicking on ",(0,i.jsx)(t.code,{children:"Edit settings"})," in the options sidebar."]}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"Forms Sidebar screen",src:s(15042).c+"",width:"305",height:"867"})}),"\n",(0,i.jsx)(t.h2,{id:"add-the-form-to-the-pagepostcustom-post-type",children:"Add the form to the page/post/custom post type"}),"\n",(0,i.jsxs)(t.p,{children:["To display the form, add the ",(0,i.jsx)(t.em,{children:"Form"})," block and select a form to display."]}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"Form picker screen",src:s(10200).c+"",width:"474",height:"289"})}),"\n",(0,i.jsx)(t.p,{children:"More settings can be found in options sidebar."}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"Form Sidebar screen",src:s(57568).c+"",width:"303",height:"798"})}),"\n",(0,i.jsx)(r.E7,{type:"forms",video:"firstForm",useTitle:!1})]})}function h(e={}){const{wrapper:t}={...(0,n.M)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(f,{...e})}):f(e)}},57848:(e,t,s)=>{s.d(t,{g7:()=>o,gd:()=>d,E7:()=>r});s(11504);const i=JSON.parse('{"forms":{"playlist":{"video":"https://www.youtube.com/playlist?list=PLFjp6yaGpZJvzqWGi3y9vZ3prra0h5Emx","label":"Eightshift Forms playlist"},"videos":{"intro":{"video":"3jPVuGjh488","label":"Introduction to Eightshift Forms"},"basics":{"video":"4BnTXHviZkI","label":"Getting familiar with Eightshift forms"},"firstForm":{"video":"qcsr7QGFmV4","label":"Step-by-step guide to creating your first form"},"integrations":{"video":"r2KEVIkNt04","label":"Integrating third-party services"},"integrationsSync":{"video":"JyfO328bq08","label":"Syncing your forms with third-party integrations"},"cache":{"video":"gX997f3fUcI","label":"Don\'t be afraid of caching"}}}}');var n=s(17624);function r(e){const{type:t,isPlaylist:s=!1,useTitle:r=!0,title:o="Tutorials",video:d,subtitlePrefix:a=""}=e;let l="",c="";s?(c=i[t].playlist.label,l=i[t].playlist.video):(c=i[t].videos[d].label,l=i[t].videos[d].video),a&&(c=`${a} ${c}`);const f=`https://www.youtube.com/embed/${l}`;return(0,n.jsxs)(n.Fragment,{children:[r&&(0,n.jsx)("h2",{children:o}),c&&(0,n.jsx)("h3",{children:c}),(0,n.jsx)("iframe",{width:"560",height:"315",src:f,title:"YouTube video player",frameBorder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",allowFullScreen:!0})]})}function o(e){const{type:t}=e;return(0,n.jsx)(n.Fragment,{children:Object.keys(i[t].videos).map(((e,s)=>{const i=`${String(s+1).padStart(2,"0")} - `;return(0,n.jsx)(r,{type:t,video:e,useTitle:0===s,subtitlePrefix:i},s)}))})}function d(e){const{type:t,label:s,link:r}=e;let o=s??i[t].playlist.label,d=r??i[t].playlist.video;return(0,n.jsx)(n.Fragment,{children:(0,n.jsx)("a",{href:d,target:"_blank",rel:"noopener noreferrer",children:o})})}},91976:(e,t,s)=>{s.d(t,{c:()=>i});const i=s.p+"assets/images/dashboard-1219da14a41cb6fff3b761a1df4dc7ee.webp"},10200:(e,t,s)=>{s.d(t,{c:()=>i});const i="data:image/webp;base64,UklGRi4WAABXRUJQVlA4ICIWAAAQbwCdASraASEBPjEYi0OiIaESumwYIAMEtLd+PkzvLBYAMD+mvv3A9xIisHXD+5vOfSbuOPMB+lH6c+955Ev+A66b1jPQA/QD1sP9//tf8P1sOqk+MP6F2O/1n8YfOX8V+Nfp35BcmKJH8a+r/2L+0ftf/e/ar+t+DPxD/fPUC/FP4h/WPzO/uPmAfkz4V8unqBen3yL/A/2P9qv8N5/37X+Rf7//In1T/yf5afQB/Cv4//b/zD/u///6MP6v/gv9J7gP8b/o3+V/un7q/5X///a7+7f6r+9f6H9nPat+Xf2j/X/5H/M/sR9g38e/nv+d/tX+W/+H+N////y+6n1x/sV/6vc//Xn/0C0rUQ4s78+1y1EOLO/PtctRDizvz7XLUQ4s78+1y0uQeIfFpeAoN1t4ViQx2nHIJZmrFFL3GAFnfn2uWohxZ6IX59rmEJKwgqQC2S4XUwN3TS8YDWJRGfbppUA8sa/BgjsoVs8UDdXLUQ5VYs78+9HhWL1sbnQ93SFOZ6Gmu9NC5D1YFh6eT9PqyQxuc68tLFQeDnkrSuj+d7q5aiHKrFnfn332vWVTrCil7i0q9WFFMCTLkG/KUGsOGoH8o6cvn5WBJX0xCqhUgD+IFbURzODzM/txVnFgExfa23xlKwXI9wg4WCfav+NNz4LrX/dZY8vZR4j40/tdjctRDi9CjskAnF+SOYH7mKzvOhZFM6R0yGSWcUqtV1RfuSHHb8s79AW07oXqrK5x5F6e44XqmVkXShOpZ7PY/7hlDGNvVo6jKi9NheAbPtctSLEEFaduU3de5t+QSYVO9MFkUzpFatF0wWRTOjlPoLNuluLO/QGFQlUAf/anAP09P1radfmyU8M0e0F+F3E4fHcusA1O3BdZpY4wMnjfRexhyelt1bobDFYd5nCTsYRuOK7m98P/sPkgA9xx6c4jFU+UHsMPP6MXezZ3NyD/hagSbCX1+J/uUsJ/n7QnhFm5ufDZk/yTFeBRaost8g8xSWhBaZbKilcOPFF4qGVuS73GCmMmglGP02osLnHygxb7hv8lwadu5oDUFSdF4FFOxyPTFL3Fnfn2z6uWohrxzrLt359rlqIcWd9mhX1XIcWd89uKSfyC2l4Cg3W3hWF7Xys1qCi8Cil7izvz7XLUQ4s78+1y1EOLO/PtctRDizvz7XLUQ4s78+1y1EOLO3AA/v/wysAAAAOqOjeSs3lj4h3fc2Af2R8/pxBKh1sC4jMj1MgbgAAAoQB2OEJ9NMSBGODfGL3VsEpsHFglpz+AAC1DAl324Y4qwOHAeLAujuPsmPbdfNzCuC9uFv2WBsoWxvR3wdgIj8MmUrqkGGwT965o/erEqLNI2f+MO03lDl05cX67/A8FEGIP8vO7kapI+c/FK/9i3YiEu2au2RIWL6e0dcJ10DvbBEJJv+dbR7JkL8QRJo1o2hbIc7XTYDt3dI5T2HmfaOKQGZaD9ZegG+IIcGSkh/Izp7R0sxif0QMzbUMPo9xmTHe2VWuq6/DR8koKzTDbDLv7g9Qa/Oawet1CP67n+yfq2BN3mxTY+N0Ce4FuqpF+Ajgdrd09PoyPtryFza8E1GD/oNk/kv2WLKc850SmRICRszRVgkZw1ROWj4oR3AApTCj9GeSbIbFpGbS/FnYemf+Fng/JW2Ihu4m+o2ttM8Xe1FP9ymzGB3Bmw8jECn4/njRJUqc2usnh8SDKrpcvy2zEoaJsIzk/idBIW83eSGeBRMRW10k2eI1f3SFtUn7udino3bLQBHAG004DcDO/sUJXH6GcIJD8lAAuhEbgyXN1y/uy6smP9bFgHLkgPxPdT/IrPCwuNWQHBJ84Advzs9GsfHkFFuVkSHtnYqgws+AcZQ+8e6s5NGW19MKpy+O1DNU/6i8qYignesyVdnQOMnbrk/nhXRFzZm+13o/+G2Qm+b6RklRjPaSK+lJKVCCCJpLkV62Yg7KyewwDwuBDnyVxY9DuzdDwOKNWSzhi4klpwbNS/Ao2GiwV3edfCWyrEWxmcoOv1lSoBOisJiAmD1+x57RqEl6wvqQ95qXSvqZptbRUP8oCJTdK80MKfSmedV/mqQ31r+2HyBdHqIWKCnljXl0MmYTzN07L1+sSsFNcZQlLgOvQ48MYdja7wtBUT8qADzdjLnxKz49rARZiJVGqY6Oqle6KdZQ6YawZAPdAXOgr7YPBaVNUJIh+Dh8IBdF/wk0Bm+nVWSg6bm3gJOJSaYdz2cRn63PqCXQsxLExbzXA8PW8UZmc6ognP//KNQD2tVZ0EAK4RsyJhjgjAgRbhVVmMV3iFKK8kBmbk415gjTjv2Tj05I3G2Jzwi5MYSTnVO3aY/yWOLB8+SMRQ0ksSd52C7TpQ/8xKQAXQGDyt6wc+pn6SphwDMAAAAeFem3Tli5WF21pPb7Qiq0+YXsHFKCdj0DPtUYmkPjKn3nJK9X9Ds/gcZ3+1lCfIgXz/s7Djg/DiR31LmeypKtduJPFujLs4vXwnxUOveIDM3qKlcfknz9rowUMZS9JZdyBMn/RZo4kLBQ3R6q5zpzBwaWpPcZI0ZVOUMAbtV09C2qlXmaRjwpAaT5FlNOZFtKuUb/1DP0h+m0SYYM/+Cx5agGspCpVHLl1z95iOfuHUQYugHLnWVMPwJaJM4wbEfU3wUuhmA0PFh//V0kgc4QNOQ6BalJeulLYS8Y6hfAeV5XOiVDBD9mNaIxi99pd28cBcd9QzcEew1pSQ9tH1AmroZLXt2NtiPqnfu5qjoNxW3rr0cUP4LYkCBN0Cec+gM2A99m9nSBBBuZaa6WOi3df9Rr0elkdtjtt/bEQxDZ/xdWPDIfHVdx60gM9PGtMNuru20Odc/qWVAarQTq0hFLQprX244QZ8rYrM1QGVwJ9Wau1MYa4QWAd4xjCEuWMlUiI1w7GKP5whgQJSD2A0cynYrwf5pEXVsRXifx63nBqbtq4rZQTB7yXFS6A0DRmgVJAhc7X9rh80SjX39/BX0p5diKz3wbeRfupKyezilw9G5hiB9VBk6YxoKcDq0PCvIoirTR62hepa7cJJmD5SqX89T7kdNNnmi2nrXqsQSKIEQyXwJHJQ25xIccIAYLvfLe5+9Xvc/yo02ujUS6FDDVgNn+XxOXIgm0ne1YMBP2Y6cSGU2g/lvPHhhf6lpYzvvsFDyTIeEz1eXv6PQY6mIdzoJn0akWdf7YDT/8r3SM9LHH3PzPPgtDObjRKlWLv72seCV4NvIv3UlZPxwsACuNlffxHzJV1Hj1edDz0pOhii6LeyZo7sujyjLhatHotod66tzRXuwtvdivRLAEq/10pI8yxdswYv73gVM4pLxwB5hMVajW3I1ABj0+WTjiYCpthJiu2QseNvM/GrvmqiuSIBsdmITeXe83x1SYWew5H8dsim76S+5uZlTtZ5z6Gb4rr/GcT/ZmgvlHy+jkOxTmEI09RmWJ0ZP/eONG3k10CbEBHh/nQyWIU7OImWaAxIr0qCUP82a3TsfIQI3/NEhNn1M7O+imb3d2+IbBPIWUF7gMcdKkdTym7tVZB7dZdeelCf4BFjfm2WiSacMh4N0Jjnq9QPGWNYCpPpZNZHw5JDgSkBC/kmV4tW5M/xSF8uKgnojZf/7Dw4ExUAifCiIZB/y8nAoRIB7z81TzMajFDhTxUcwaLsdf2CGGA2tZ5TbL0tMZw4u+Blb9v9DE5Rr0qMD5JrX2lNDoFmOnBU4V3b7fdCQYy+gxZJietBoOUyuwhVrTu1F+I3q56QAGOqIUIMhSE7Tz+ej2tds7g3nCCo46gIEjM1QI4yl2FMHzP3fXnwxjifuOuKuqwWg9PcyYB74xbSdPhQGOf9mtPvBu8049so3sld5bGwfvg736N48Zpv8pQ9PgNRiMfiRAZdP/Um0z6fdO7Jzc8vn9n70GVXOWz7fvDm48cAT+ws3Hjl0ind/l+iJ8XxuRuAmql3VkxGYQK7dSnTVakN+BwAOW40P11669deuvXXnKKC21MLSf0z+KoO14bKH/eNuXh4iS5rahn2zNYsTFpagWPg3/ZpsN+GrcPyL93IWC/sjjlJ90mEoFPrSm4exPge4hts67i4B45O5y5QViBXa2YrC+i8IiNYFWhALoEK1y6LztPf65DO4UE48yiXi/uDSBTIyM8RsE64AcaEO11dQG2RgQKlvXlPXeQ3UKEreMNum1984QZCKYv4ZPtkPnY/fI0o1wjjWlAICuvIlTmAc06KP7BFlE85xHLICAfGjP0GCyP9nyR7SJKpx6t8p1/hWnPrw4VeJGxBdkx7Bj6VC7JM1SV0X8BW9sM1RgeK3wbX4PC4d9hxBXG41iTY1fJYelebbnptUi0cY9ZTEx6RsoIMuYMA/lNxCzS4LnYHJSGL8S6NJXyoIsXaPk/6faZffw8tvur7LoxMpI8KcI5CzdJJJKfYEvRK7VDAuSM3eNH+cF0vqUlZI+HSnAAATCCFQpiUgDJlRyPDKAk4DLkmSFHfyZLcdYRc23NgQ5Oqs8NQlSoNd+OU05t/lwSDaLth6tY6vKmVrUhczjR2ldG8FvhUi1n1+C9QzScpYAToUZhkIE8baOw4UdpbSgwIzbJM2aKhuBljAzEus+CPcNuI3plR9ptqAD8sERJi6YKcPaZp96a7/kE1ePEYfjzT/DnQdf81teN46JI94dAZKyR+C/42VD//dXuWTM36U8oPA4/2RsrhcLhcLhcLhcB4pOjHa7eL8XlFqLLIGrqICJyjnjoWEZYoh5n+thTJSuCs4vxMhmIB1Wf+A9rXUfvmjUp8smr/5ANxaNcDXnNlwOyX/ucPGe3/Rq6EpRTgGPzI+5Ot3T3UYXevwwfR295dwx+ET44dw7n3uI6OmAaZ68qGW/ZN3Y3KqRvTvqB5Yo3BedbxUjFiD0t4/zALyzLOgnAPWxrRCyKpnuagqLu7mPsFMh7+5xWp6sHHMJ+Mkl7/7N3cbPPjLNv5dV/EamxEmM2A7ooHG2/3RQ5PWXsN7DhdEXTxsShbD9TJNPqikmwaOwOXsmZHj5Myi1OHO9SVtCkSVWvNz8ho1MHY14BMUgzG4Ul8mePwv0lpMrQFvoLD68fFl9HWpog7LcqIp7o+/jme2OFPx1MzJ7vuCIY8vBc7w+VqxG/5O7s+wiGKczdaqhgK0blGlIXUfzjqmel0jH833HxFw3PnuDDnm3V4S//KlY0KXo0EQGi11E/zXAlJ9gvxbsdaMQfM77digEsw6Kg7gxxGqbp+bcaENFFQMYpUYyfmfWzDhw8x5osU3Rbs8uLfuh22tsDHXNAScJ60tX9CyeS1hE6JZYAmzNELZ9p2kAjSQC7V4+wZ6EjNr+EYZXMgZOVUuLfR7AWfOoEVgYi0X4Ct71Z0FbYFecw2gQYivZb3TVtkgNwZf2ZbP2ixhkWuTnM+xmanG3Zm+PuOK6X1jGNNtdHimZcZ96ByLhjBrrnrmlQbPxnImlbepOODhSEFLFPqqhnWxxxIZRxA3Ng5MWsuo/+Lt30BLsvllfhz8cLBu05aUKfwGQgU2iDIpxAEc63HDIWmrnARkyXbNeEa6xN2PWH68lgHr5p3hLIVJIPsrF4LNgQQAXe29yj64iOnIqUhG3fM2BQ+/Giua7HbFwQCYuW3zzNQo52jPCsHjIEx/izTTKg5PhEHrUaqVdhwiSzIHKe5xTyprZJlXHvcklZc5EEixBCtfiP+/GJTPMSTlLfhY1nM8TLxJi1BFsDRXHHzBqPVVIZHztZtINX1foa+U4TmUinsftwnLN16WDzVTdMKBylzawUp5nu7vEh7nZWWn9MiVIF37GC4nD86PhsxVA3cpcvNKDdvpKC+evYTXh3SjTcZ6W8axQnCuChuUE7rz0beYRifJzVHb3g623p+ut838LVKx8WLTTUVfyJXIFF8eSvULNLSX1w3SsPHeN4u0IWdfl4E4YDUwBsIFHYl0W/Qr9GnoTt0P2LMuNxTv/p8nuWWAOxuk99vJeY67gyL8tYrR0Ra/O0iVfWsWz44Ct5379ku300Qx/2EqZubEc11tDyUye5rSjBlLjaLdzSBmUKCZTNG2K/jceJSk6GXqULMoBlMvUkHoZKH0yjlT9XWdm09/dcvvU+VnYwDqHvod4VzRjh48OgNQeKTIGmj0QPmArwJ9yfG9pd8Y/XTbsRUAxZGvcS2ACzOxD0/+8IlXEO7xTSgkW5LIi8k6yYHsbVmsuqJKfgoBa7VIf+LRHEUvrTQUYl6/Mn7QgNAUvO5bHI9GHh+6ySUXQtnCNCAs41y7VdVUy5IkPPL66rTSfOGUCG3JoVYsCiYwhJF/5dHmckmGJaz7OKeEa20vr6pKwMbSAwLaGfdurTMy61KjniSyOYl4S9Bl9YRI5uY5nCWqKgXrnOcmkm6+m/26gqPibcauDs6f59IQGzN8dqpAqLQ1NfRXrnczukGKLLTrth65ftBvPdRATFZE1IJ8f/qEm58Stw+9cSDT2M2sd6ZmP0z4amFC1Sztb5ACHWx5kxEmVWkg9auWQKNxry+8loD1gPE71uKywrS0+WKKZQD98mVCLrgG4GsINba8xfMUckO53iTG833U96AYluy+zOa7GJofpVfFtqBOUngSPPDcn22ys5Uss0Pp3eS5w5JPvo9Hp0ozZCpdfDVvvxGoryrIkp9vF+IPQvuNGOC2LWSvwNt/0JH/nJEwpAaRL/C+uxt0I3iVS6mvZBo2beLsIhfI2VbYH38Cy1ZM6LPQBkDops2O6pebrWrGzwSBLA5mQqdeH9OkTy9v/8TrwcITvJu7z+N7SLS47/rpjdkn4QWtk7ezeVzojQH/LZQh9GdXorGgWd3MvpqG7KQy+u1cM+NokZS2EDCmvpPRO1NK2WRqxIgnWwYcdqjw4EGJG8JIs+aD0iYccsZbXGsbZcUnhpRGkys86CQMdcefoiCtVN5k7KXoh4xiGx56EOWjJzQLIuAvvlNU+xTMKSGmuz6zbofX9LdEenSU1Hnw6EXdyHiAvnS/NX/FIzqtXWMDKhZ0WuzZJ15LG1Jtg6tZBU/zWvONJvZkyKt11mUf5Tb4sGNd6qcUMs3vIo/a+QLKdOn+FoNwhKSNRvi9uoaP5cKj1iZKswlkGcdDFsAhFHZxBTI9SlqT9Qy+fqdFnLAUFt69YF9exPXkZAoKhGtPC/TIOlWKp68Uh4M7hdMTGOhZ+dxKG5Fv+9fKH6eumsAoZxSc10iUwMH3EqhBue4Hcf8s5E+N6vNI3rO8RytqDTYHs5v8D1WNOuOUWpiWkorJIZYiDPblFJVqEAR7jA78SEsRSSeH9fyYtWylvap0hExIxohfeB0b8WSC9z8XCT4DnzG4e20Xmml5uLxsfJoQfjf23zK7iiXCL+Bb5w7/kvn88gjZV0RM6NwuXNqC+zhpEsrqqldTN5M4wWzMLHeSrs9IEmtPuxSH+RIqgCI50FP/55v6ttZOjoQ4NQDWR6rprnRPhEz6oRJdSbwiG+UDMfkAAAAAAAPxorzPrjm7BweowfttMeC+0kPutTehyRQ/O8n4V/TyFcnGPSVHcngHQAJgiKOuoelkAAAAAAAAAAAA=="},57568:(e,t,s)=>{s.d(t,{c:()=>i});const i=s.p+"assets/images/form-sidebar-ffb665e9831e415b45e30e5e776607b3.webp"},68432:(e,t,s)=>{s.d(t,{c:()=>i});const i=s.p+"assets/images/form-type-picker-fc5d6abff37ffc65ea262b8cce63326b.webp"},15042:(e,t,s)=>{s.d(t,{c:()=>i});const i=s.p+"assets/images/forms-sidebar-0b705d09ee921f980e55c451b5aea9f8.webp"},4552:(e,t,s)=>{s.d(t,{I:()=>d,M:()=>o});var i=s(11504);const n={},r=i.createContext(n);function o(e){const t=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:o(e.components),i.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e8903528.82fff298.js b/assets/js/e8903528.82fff298.js deleted file mode 100644 index 79ad8cf79..000000000 --- a/assets/js/e8903528.82fff298.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[84897],{83826:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>s,metadata:()=>c,toc:()=>l});var o=n(85893),i=n(11151);const s={id:"blocks-important",title:"Important",sidebar_label:"Important"},r=void 0,c={id:"legacy/v5/basics/blocks-important",title:"Important",description:"docs-source",source:"@site/docs/legacy/v5/basics/blocks-important.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/blocks-important",permalink:"/docs/legacy/v5/basics/blocks-important",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-important",title:"Important",sidebar_label:"Important"},sidebar:"docs",previous:{title:"Blocks",permalink:"/docs/legacy/v5/basics/blocks"},next:{title:"Intro",permalink:"/docs/legacy/v5/basics/blocks-intro"}},a={},l=[];function d(e){const t={a:"a",blockquote:"blockquote",code:"code",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/",children:(0,o.jsx)(t.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(t.p,{children:"Before you start developing and changing anything on your block/components, you should keep in mind how we have managed to create this setup and some of the side effects of automatic file loading."}),"\n",(0,o.jsxs)(t.p,{children:["We require all our JS files using the ",(0,o.jsx)(t.code,{children:"require.context"})," and all our SCSS files using the ",(0,o.jsx)(t.code,{children:"webpack-import-glob-loader"}),"."]}),"\n",(0,o.jsxs)(t.p,{children:["All files are required during the project's ",(0,o.jsx)(t.code,{children:"compile-time"}),". This means that we can't get any new files after the compile time is over. This approach gives you the ability to not worry whether you loaded the file or not. You can focus on your code and leave the messy stuff to the boilerplate."]}),"\n",(0,o.jsxs)(t.p,{children:["Since all the files are required during the ",(0,o.jsx)(t.code,{children:"compile-time"}),", every time you change the file structure, you must restart the Webpack watch."]}),"\n",(0,o.jsxs)(t.p,{children:["You ",(0,o.jsx)(t.strong,{children:"must restart"})," Webpack watch when:"]}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"adding a new block/component/variation;"}),"\n",(0,o.jsx)(t.li,{children:"changing the names of any files in the block/component/variation folder (for example, you made a typo in a block's name);"}),"\n",(0,o.jsx)(t.li,{children:"removing any file from the block/component/variation folder; and"}),"\n",(0,o.jsx)(t.li,{children:"changing the block name in the block manifest.json."}),"\n"]}),"\n",(0,o.jsxs)(t.p,{children:["You ",(0,o.jsx)(t.strong,{children:"don't need to restart"})," Webpack watch when you:"]}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"add/remove styles;"}),"\n",(0,o.jsx)(t.li,{children:"add/remove JS implementation in the files;"}),"\n",(0,o.jsx)(t.li,{children:"add/remove PHP implementation in the files; and"}),"\n",(0,o.jsx)(t.li,{children:"make changes on anything other than blockName in the manifest.json."}),"\n"]}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsx)(t.p,{children:"Remember this note because, in 90 per cent of cases, your error occurs when you made changes to the files and didn't restart the Webpack watch."}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},11151:(e,t,n)=>{n.d(t,{Z:()=>c,a:()=>r});var o=n(67294);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 c(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/e8903528.b5e57086.js b/assets/js/e8903528.b5e57086.js new file mode 100644 index 000000000..574eadfc4 --- /dev/null +++ b/assets/js/e8903528.b5e57086.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[51444],{11520:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>s,metadata:()=>c,toc:()=>l});var o=n(17624),i=n(4552);const s={id:"blocks-important",title:"Important",sidebar_label:"Important"},r=void 0,c={id:"legacy/v5/basics/blocks-important",title:"Important",description:"docs-source",source:"@site/docs/legacy/v5/basics/blocks-important.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/blocks-important",permalink:"/docs/legacy/v5/basics/blocks-important",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-important",title:"Important",sidebar_label:"Important"},sidebar:"docs",previous:{title:"Blocks",permalink:"/docs/legacy/v5/basics/blocks"},next:{title:"Intro",permalink:"/docs/legacy/v5/basics/blocks-intro"}},a={},l=[];function d(e){const t={a:"a",blockquote:"blockquote",code:"code",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/",children:(0,o.jsx)(t.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(t.p,{children:"Before you start developing and changing anything on your block/components, you should keep in mind how we have managed to create this setup and some of the side effects of automatic file loading."}),"\n",(0,o.jsxs)(t.p,{children:["We require all our JS files using the ",(0,o.jsx)(t.code,{children:"require.context"})," and all our SCSS files using the ",(0,o.jsx)(t.code,{children:"webpack-import-glob-loader"}),"."]}),"\n",(0,o.jsxs)(t.p,{children:["All files are required during the project's ",(0,o.jsx)(t.code,{children:"compile-time"}),". This means that we can't get any new files after the compile time is over. This approach gives you the ability to not worry whether you loaded the file or not. You can focus on your code and leave the messy stuff to the boilerplate."]}),"\n",(0,o.jsxs)(t.p,{children:["Since all the files are required during the ",(0,o.jsx)(t.code,{children:"compile-time"}),", every time you change the file structure, you must restart the Webpack watch."]}),"\n",(0,o.jsxs)(t.p,{children:["You ",(0,o.jsx)(t.strong,{children:"must restart"})," Webpack watch when:"]}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"adding a new block/component/variation;"}),"\n",(0,o.jsx)(t.li,{children:"changing the names of any files in the block/component/variation folder (for example, you made a typo in a block's name);"}),"\n",(0,o.jsx)(t.li,{children:"removing any file from the block/component/variation folder; and"}),"\n",(0,o.jsx)(t.li,{children:"changing the block name in the block manifest.json."}),"\n"]}),"\n",(0,o.jsxs)(t.p,{children:["You ",(0,o.jsx)(t.strong,{children:"don't need to restart"})," Webpack watch when you:"]}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"add/remove styles;"}),"\n",(0,o.jsx)(t.li,{children:"add/remove JS implementation in the files;"}),"\n",(0,o.jsx)(t.li,{children:"add/remove PHP implementation in the files; and"}),"\n",(0,o.jsx)(t.li,{children:"make changes on anything other than blockName in the manifest.json."}),"\n"]}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsx)(t.p,{children:"Remember this note because, in 90 per cent of cases, your error occurs when you made changes to the files and didn't restart the Webpack watch."}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,i.M)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},4552:(e,t,n)=>{n.d(t,{I:()=>c,M:()=>r});var o=n(11504);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 c(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/e8a4c7be.28922e16.js b/assets/js/e8a4c7be.28922e16.js new file mode 100644 index 000000000..e8eb4dd23 --- /dev/null +++ b/assets/js/e8a4c7be.28922e16.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[52640],{91608:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>h,frontMatter:()=>r,metadata:()=>l,toc:()=>p});var s=n(17624),o=n(4552);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.M)(),...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.M)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},4552:(e,t,n)=>{n.d(t,{I:()=>l,M:()=>i});var s=n(11504);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/e8a4c7be.3cb2e0f1.js b/assets/js/e8a4c7be.3cb2e0f1.js deleted file mode 100644 index 0a12d97fc..000000000 --- a/assets/js/e8a4c7be.3cb2e0f1.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[63749],{80093:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>h,frontMatter:()=>r,metadata:()=>l,toc:()=>p});var s=n(85893),o=n(11151);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.a)(),...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.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},11151:(e,t,n)=>{n.d(t,{Z:()=>l,a:()=>i});var s=n(67294);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/e90b4b34.03dc8a8a.js b/assets/js/e90b4b34.03dc8a8a.js deleted file mode 100644 index 4a5edaa8c..000000000 --- a/assets/js/e90b4b34.03dc8a8a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[54379],{89567:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>p,frontMatter:()=>r,metadata:()=>l,toc:()=>o});var n=i(85893),s=i(11151);const r={id:"rest",title:"Rest Intro",sidebar_label:"Rest Intro"},a=void 0,l={id:"legacy/v5/basics/rest",title:"Rest Intro",description:"docs-source",source:"@site/docs/legacy/v5/basics/rest.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/rest",permalink:"/docs/legacy/v5/basics/rest",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"rest",title:"Rest Intro",sidebar_label:"Rest Intro"},sidebar:"docs",previous:{title:"Manifest",permalink:"/docs/legacy/v5/basics/manifest"},next:{title:"Rest Field",permalink:"/docs/legacy/v5/basics/rest-field"}},c={},o=[{value:"CallableFieldInterface.php",id:"callablefieldinterfacephp",level:2},{value:"CallableRouteInterface.php",id:"callablerouteinterfacephp",level:2},{value:"RouteSecurityInterface.php",id:"routesecurityinterfacephp",level:2},{value:"RouteInterface.php",id:"routeinterfacephp",level:2},{value:"AbstractField.php",id:"abstractfieldphp",level:2},{value:"AbstractRoute.php",id:"abstractroutephp",level:2}];function d(e){const t={a:"a",code:"code",h2:"h2",img:"img",p:"p",...(0,s.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/3.0.0/",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(t.p,{children:"Depending on the type of projects you are working on, you might need to create a new REST API route or add a new API field to the existing route."}),"\n",(0,n.jsx)(t.p,{children:"We have prepared four interfaces and two abstract classes for you."}),"\n",(0,n.jsx)(t.p,{children:"In general, you will use only what you need from the provided options."}),"\n",(0,n.jsx)(t.h2,{id:"callablefieldinterfacephp",children:"CallableFieldInterface.php"}),"\n",(0,n.jsx)(t.p,{children:"The interface used in Rest API Field for providing callback method."}),"\n",(0,n.jsx)(t.h2,{id:"callablerouteinterfacephp",children:"CallableRouteInterface.php"}),"\n",(0,n.jsx)(t.p,{children:"The interface used in Rest API Route for providing callback method."}),"\n",(0,n.jsx)(t.h2,{id:"routesecurityinterfacephp",children:"RouteSecurityInterface.php"}),"\n",(0,n.jsx)(t.p,{children:"The interface used in Rest API Route for providing authentication methods."}),"\n",(0,n.jsx)(t.h2,{id:"routeinterfacephp",children:"RouteInterface.php"}),"\n",(0,n.jsxs)(t.p,{children:["The interface used in Rest API Route for providing general options for your route like variables for ",(0,n.jsx)(t.code,{children:"READABLE"}),", ",(0,n.jsx)(t.code,{children:"CREATABLE"}),", etc..."]}),"\n",(0,n.jsx)(t.h2,{id:"abstractfieldphp",children:"AbstractField.php"}),"\n",(0,n.jsx)(t.p,{children:"Abstract class used in Rest API Field for updating existing fields or providing a new field to the existing Rest API."}),"\n",(0,n.jsxs)(t.p,{children:["Please check the implementation details in ",(0,n.jsx)(t.a,{href:"rest-field",children:"this example"}),"."]}),"\n",(0,n.jsx)(t.h2,{id:"abstractroutephp",children:"AbstractRoute.php"}),"\n",(0,n.jsx)(t.p,{children:"Abstract class used in Rest API Route for adding a new Rest API route."}),"\n",(0,n.jsxs)(t.p,{children:["Please check the implementation details in ",(0,n.jsx)(t.a,{href:"rest-route",children:"this example"}),"."]})]})}function p(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},11151:(e,t,i)=>{i.d(t,{Z:()=>l,a:()=>a});var n=i(67294);const s={},r=n.createContext(s);function a(e){const t=n.useContext(r);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(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e90b4b34.c1b96994.js b/assets/js/e90b4b34.c1b96994.js new file mode 100644 index 000000000..22acf2250 --- /dev/null +++ b/assets/js/e90b4b34.c1b96994.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[16140],{35840:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>p,frontMatter:()=>r,metadata:()=>l,toc:()=>o});var n=i(17624),s=i(4552);const r={id:"rest",title:"Rest Intro",sidebar_label:"Rest Intro"},a=void 0,l={id:"legacy/v5/basics/rest",title:"Rest Intro",description:"docs-source",source:"@site/docs/legacy/v5/basics/rest.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/rest",permalink:"/docs/legacy/v5/basics/rest",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"rest",title:"Rest Intro",sidebar_label:"Rest Intro"},sidebar:"docs",previous:{title:"Manifest",permalink:"/docs/legacy/v5/basics/manifest"},next:{title:"Rest Field",permalink:"/docs/legacy/v5/basics/rest-field"}},c={},o=[{value:"CallableFieldInterface.php",id:"callablefieldinterfacephp",level:2},{value:"CallableRouteInterface.php",id:"callablerouteinterfacephp",level:2},{value:"RouteSecurityInterface.php",id:"routesecurityinterfacephp",level:2},{value:"RouteInterface.php",id:"routeinterfacephp",level:2},{value:"AbstractField.php",id:"abstractfieldphp",level:2},{value:"AbstractRoute.php",id:"abstractroutephp",level:2}];function d(e){const t={a:"a",code:"code",h2:"h2",img:"img",p:"p",...(0,s.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/3.0.0/",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(t.p,{children:"Depending on the type of projects you are working on, you might need to create a new REST API route or add a new API field to the existing route."}),"\n",(0,n.jsx)(t.p,{children:"We have prepared four interfaces and two abstract classes for you."}),"\n",(0,n.jsx)(t.p,{children:"In general, you will use only what you need from the provided options."}),"\n",(0,n.jsx)(t.h2,{id:"callablefieldinterfacephp",children:"CallableFieldInterface.php"}),"\n",(0,n.jsx)(t.p,{children:"The interface used in Rest API Field for providing callback method."}),"\n",(0,n.jsx)(t.h2,{id:"callablerouteinterfacephp",children:"CallableRouteInterface.php"}),"\n",(0,n.jsx)(t.p,{children:"The interface used in Rest API Route for providing callback method."}),"\n",(0,n.jsx)(t.h2,{id:"routesecurityinterfacephp",children:"RouteSecurityInterface.php"}),"\n",(0,n.jsx)(t.p,{children:"The interface used in Rest API Route for providing authentication methods."}),"\n",(0,n.jsx)(t.h2,{id:"routeinterfacephp",children:"RouteInterface.php"}),"\n",(0,n.jsxs)(t.p,{children:["The interface used in Rest API Route for providing general options for your route like variables for ",(0,n.jsx)(t.code,{children:"READABLE"}),", ",(0,n.jsx)(t.code,{children:"CREATABLE"}),", etc..."]}),"\n",(0,n.jsx)(t.h2,{id:"abstractfieldphp",children:"AbstractField.php"}),"\n",(0,n.jsx)(t.p,{children:"Abstract class used in Rest API Field for updating existing fields or providing a new field to the existing Rest API."}),"\n",(0,n.jsxs)(t.p,{children:["Please check the implementation details in ",(0,n.jsx)(t.a,{href:"rest-field",children:"this example"}),"."]}),"\n",(0,n.jsx)(t.h2,{id:"abstractroutephp",children:"AbstractRoute.php"}),"\n",(0,n.jsx)(t.p,{children:"Abstract class used in Rest API Route for adding a new Rest API route."}),"\n",(0,n.jsxs)(t.p,{children:["Please check the implementation details in ",(0,n.jsx)(t.a,{href:"rest-route",children:"this example"}),"."]})]})}function p(e={}){const{wrapper:t}={...(0,s.M)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},4552:(e,t,i)=>{i.d(t,{I:()=>l,M:()=>a});var n=i(11504);const s={},r=n.createContext(s);function a(e){const t=n.useContext(r);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(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e93eaee1.b8fe7ed7.js b/assets/js/e93eaee1.b8fe7ed7.js new file mode 100644 index 000000000..0963399be --- /dev/null +++ b/assets/js/e93eaee1.b8fe7ed7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[8616],{31428:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>l,contentTitle:()=>d,default:()=>m,frontMatter:()=>i,metadata:()=>r,toc:()=>u});var n=s(17624),o=s(4552);const i={id:"how-to-use",title:"How to use?"},d=void 0,r={id:"addons/premium/computed-fields/how-to-use",title:"How to use?",description:"To use Computed Fields, you must:",source:"@site/forms/addons/premium/computed-fields/how-to-use.md",sourceDirName:"addons/premium/computed-fields",slug:"/addons/premium/computed-fields/how-to-use",permalink:"/forms/addons/premium/computed-fields/how-to-use",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"how-to-use",title:"How to use?"},sidebar:"forms",previous:{title:"Intro",permalink:"/forms/addons/premium/computed-fields/intro"},next:{title:"Settings",permalink:"/forms/addons/premium/computed-fields/settings"}},l={},u=[];function c(e){const t={em:"em",img:"img",li:"li",ol:"ol",p:"p",...(0,o.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:"To use Computed Fields, you must:"}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsx)(t.li,{children:"Install and activate the add-on plugin."}),"\n",(0,n.jsx)(t.li,{children:"Enable Computed fields in Global settings."}),"\n",(0,n.jsx)(t.li,{children:"Create a form using Eightshift forms. (either from scratch or an integration)"}),"\n",(0,n.jsx)(t.li,{children:"Enable the add-on feature in the Form settings."}),"\n",(0,n.jsxs)(t.li,{children:["Enter the ",(0,n.jsx)(t.em,{children:"Computed fields"})," program."]}),"\n",(0,n.jsxs)(t.li,{children:["Populate the ",(0,n.jsx)(t.em,{children:"Output variables"})," fields."]}),"\n",(0,n.jsxs)(t.li,{children:["Add a ",(0,n.jsx)(t.em,{children:"Computed Fields Results"})," block on the ",(0,n.jsx)(t.em,{children:"Thank you"})," page."]}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Computed Fields screen",src:s(44200).c+"",width:"933",height:"692"})})]})}function m(e={}){const{wrapper:t}={...(0,o.M)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},44200:(e,t,s)=>{s.d(t,{c:()=>n});const n=s.p+"assets/images/addon-computed-fields-f43a87071c856e9cd6dadc2c37910f74.webp"},4552:(e,t,s)=>{s.d(t,{I:()=>r,M:()=>d});var n=s(11504);const o={},i=n.createContext(o);function d(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(o):e.components||o:d(e.components),n.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e93eaee1.c65a00e9.js b/assets/js/e93eaee1.c65a00e9.js deleted file mode 100644 index 69f5b7630..000000000 --- a/assets/js/e93eaee1.c65a00e9.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[94937],{40153:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>l,contentTitle:()=>d,default:()=>m,frontMatter:()=>i,metadata:()=>r,toc:()=>u});var n=s(85893),o=s(11151);const i={id:"how-to-use",title:"How to use?"},d=void 0,r={id:"addons/premium/computed-fields/how-to-use",title:"How to use?",description:"To use Computed Fields, you must:",source:"@site/forms/addons/premium/computed-fields/how-to-use.md",sourceDirName:"addons/premium/computed-fields",slug:"/addons/premium/computed-fields/how-to-use",permalink:"/forms/addons/premium/computed-fields/how-to-use",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"how-to-use",title:"How to use?"},sidebar:"forms",previous:{title:"Intro",permalink:"/forms/addons/premium/computed-fields/intro"},next:{title:"Settings",permalink:"/forms/addons/premium/computed-fields/settings"}},l={},u=[];function c(e){const t={em:"em",img:"img",li:"li",ol:"ol",p:"p",...(0,o.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:"To use Computed Fields, you must:"}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsx)(t.li,{children:"Install and activate the add-on plugin."}),"\n",(0,n.jsx)(t.li,{children:"Enable Computed fields in Global settings."}),"\n",(0,n.jsx)(t.li,{children:"Create a form using Eightshift forms. (either from scratch or an integration)"}),"\n",(0,n.jsx)(t.li,{children:"Enable the add-on feature in the Form settings."}),"\n",(0,n.jsxs)(t.li,{children:["Enter the ",(0,n.jsx)(t.em,{children:"Computed fields"})," program."]}),"\n",(0,n.jsxs)(t.li,{children:["Populate the ",(0,n.jsx)(t.em,{children:"Output variables"})," fields."]}),"\n",(0,n.jsxs)(t.li,{children:["Add a ",(0,n.jsx)(t.em,{children:"Computed Fields Results"})," block on the ",(0,n.jsx)(t.em,{children:"Thank you"})," page."]}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Computed Fields screen",src:s(20121).Z+"",width:"933",height:"692"})})]})}function m(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},20121:(e,t,s)=>{s.d(t,{Z:()=>n});const n=s.p+"assets/images/addon-computed-fields-f43a87071c856e9cd6dadc2c37910f74.webp"},11151:(e,t,s)=>{s.d(t,{Z:()=>r,a:()=>d});var n=s(67294);const o={},i=n.createContext(o);function d(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(o):e.components||o:d(e.components),n.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e9beab12.1abe30d7.js b/assets/js/e9beab12.1abe30d7.js deleted file mode 100644 index 46660e51c..000000000 --- a/assets/js/e9beab12.1abe30d7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[53443],{9097:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>a,default:()=>d,frontMatter:()=>i,metadata:()=>r,toc:()=>h});var o=t(85893),s=t(11151);const i={id:"blocks-component-in-block",title:"Component in a Block"},a=void 0,r={id:"basics/blocks-component-in-block",title:"Component in a Block",description:"docs-source",source:"@site/docs/basics/blocks-component-in-block.md",sourceDirName:"basics",slug:"/basics/blocks-component-in-block",permalink:"/docs/basics/blocks-component-in-block",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-component-in-block",title:"Component in a Block"},sidebar:"docs",previous:{title:"Attributes",permalink:"/docs/basics/blocks-attributes"},next:{title:"Wrapper",permalink:"/docs/basics/blocks-wrapper"}},l={},h=[{value:"Manifest setup",id:"manifest-setup",level:2},{value:"Important helpers",id:"important-helpers",level:2},{value:"Setting up attributes",id:"setting-up-attributes",level:2},{value:"I want to use one heading component in my block.",id:"i-want-to-use-one-heading-component-in-my-block",level:3},{value:"I want to override one heading attribute in my block.",id:"i-want-to-override-one-heading-attribute-in-my-block",level:3},{value:"I want to use one heading and a paragraph component in my block.",id:"i-want-to-use-one-heading-and-a-paragraph-component-in-my-block",level:3},{value:"I want two heading components in my block.",id:"i-want-two-heading-components-in-my-block",level:3},{value:"I want to use a component that uses more components (componentCeption).",id:"i-want-to-use-a-component-that-uses-more-components-componentception",level:3},{value:"I don't need all the component options in my block.",id:"i-dont-need-all-the-component-options-in-my-block",level:3},{value:"I don't want my editor to be able to change component options in my block.",id:"i-dont-want-my-editor-to-be-able-to-change-component-options-in-my-block",level:3},{value:"How do my example attributes behave when I use components in blocks?",id:"how-do-my-example-attributes-behave-when-i-use-components-in-blocks",level:3},{value:"I have a component name that has multiple strings in a name, will this work?",id:"i-have-a-component-name-that-has-multiple-strings-in-a-name-will-this-work",level:3},{value:"I have a component that I want to use manually",id:"i-have-a-component-that-i-want-to-use-manually",level:3},{value:"I want to limit which options are shown for components inside a block/component",id:"i-want-to-limit-which-options-are-shown-for-components-inside-a-blockcomponent",level:3},{value:"I want to only pass attributes to the component that I'm going to use",id:"i-want-to-only-pass-attributes-to-the-component-that-im-going-to-use",level:3},{value:"Passing setAttributes to components",id:"passing-setattributes-to-components",level:3},{value:"Manually overriding attributes from the code",id:"manually-overriding-attributes-from-the-code",level:3}];function c(e){const n={a:"a",admonition:"admonition",code:"code",em:"em",h2:"h2",h3:"h3",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,o.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(n.p,{children:"Blocks and components work perfectly together because they are made that way. We simplified this as much as possible but there always a few things you need to do manually."}),"\n",(0,o.jsx)(n.p,{children:"Try to think of your development process in this way:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"Each component must be standalone and ideally not depend on any other components (sometimes this is not possible but keep this to a minimum)."}),"\n",(0,o.jsx)(n.li,{children:"Components must not be aware of the layout they are used in."}),"\n",(0,o.jsxs)(n.li,{children:["No global styles. Instead, all styles should be contained to the block/component. For more details, check ",(0,o.jsx)(n.a,{href:"blocks-styles",children:"this link"}),"."]}),"\n",(0,o.jsxs)(n.li,{children:["You should define all heading variations in a ",(0,o.jsx)(n.code,{children:"heading"})," component. You can then use this component everywhere you have a heading instead of writing a new implementation. In practice: don't do ",(0,o.jsx)(n.code,{children:"<h2>$heading</h2>"})," but render the ",(0,o.jsx)(n.code,{children:"heading"})," component instead using the helpers defined in the ",(0,o.jsx)(n.a,{href:"helpers",children:"helpers section"}),". The heading is just an example, but this applies to every component."]}),"\n",(0,o.jsx)(n.li,{children:"You can have multiple heading components in one block."}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.strong,{children:"JavaScript and PHP part of the block/component must be 99% the same this is why we wrote all those helpers."})}),"\n"]}),"\n",(0,o.jsx)(n.h2,{id:"manifest-setup",children:"Manifest setup"}),"\n",(0,o.jsxs)(n.p,{children:["In order to use our way of passing props, there are a few prerequisites you must follow. You must use our helpers and you must set ",(0,o.jsx)(n.code,{children:"components"})," key in the manifest."]}),"\n",(0,o.jsxs)(n.p,{children:["As we described in the ",(0,o.jsx)(n.a,{href:"block-manifest",children:"block manifest"})," chapter each block/component can have a ",(0,o.jsx)(n.code,{children:"components"})," key. This key is used in the registration of the block attributes in the block editor and as a dependency tree for passing props in the children components."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Default setup:"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"components": {\n\t"heading": "heading"\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"Components key is an object that can have multiple items added."}),"\n",(0,o.jsx)(n.admonition,{title:":es-hide-title:",type:"success",children:(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.strong,{children:"Key"})," represents the name that is going to be used for this component in this block/component and the prefix used in the attributes (more on this later)."]})}),"\n",(0,o.jsx)(n.admonition,{title:":es-hide-title:",type:"info",children:(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.strong,{children:"Value"})," represents the real component name that you have in your project."]})}),"\n",(0,o.jsx)(n.admonition,{title:":es-hide-title:",type:"tip",children:(0,o.jsxs)(n.p,{children:["Each key and value names can be written in the ",(0,o.jsx)(n.code,{children:"kebab-case"})," or ",(0,o.jsx)(n.code,{children:"camelCase"})," but we recommend using ",(0,o.jsx)(n.code,{children:"camelCase"}),"."]})}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Multiple components setup:"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"components": {\n\t"heading": "heading",\n\t"paragraph": "paragraph"\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"This block/component uses two components, one is heading and the other is paragraph and they are using the default names."}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Multiple components set up with the components of the same type:"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"components": {\n\t"heading": "heading",\n\t"intro": "heading",\n\t"paragraph": "paragraph"\n}\n'})}),"\n",(0,o.jsxs)(n.p,{children:["This block/component uses three components, two headings (one of which is renamed to ",(0,o.jsx)(n.code,{children:"intro"}),") and a paragraph."]}),"\n",(0,o.jsx)(n.h2,{id:"important-helpers",children:"Important helpers"}),"\n",(0,o.jsx)(n.p,{children:"As we described earlier, in order to use our setup you must use our helpers. Here are some of the helpers you should get familiar with:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["props - ",(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/scripts/editor/attributes.js",children:"JS"})," - ",(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/blob/develop/src/Helpers/AttributesTrait.php",children:"PHP"})]}),"\n",(0,o.jsxs)(n.li,{children:["getOptions - ",(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/scripts/editor/options.js",children:"JS"})]}),"\n",(0,o.jsxs)(n.li,{children:["getOption - ",(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/scripts/editor/options.js",children:"JS"})]}),"\n",(0,o.jsxs)(n.li,{children:["getAttrKey - ",(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/scripts/editor/attributes.js",children:"JS"})," - ",(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/blob/develop/src/Helpers/AttributesTrait.php",children:"PHP"})]}),"\n",(0,o.jsxs)(n.li,{children:["checkAttr - ",(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/scripts/editor/attributes.js",children:"JS"})," - ",(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/blob/develop/src/Helpers/AttributesTrait.php",children:"PHP"})]}),"\n",(0,o.jsxs)(n.li,{children:["render - ",(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/blob/develop/src/Blocks/AbstractBlocks.php",children:"PHP"})]}),"\n",(0,o.jsxs)(n.li,{children:["renderPartial - ",(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/blob/develop/src/Helpers/Components.php",children:"PHP"})]}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["For more details please check our helpers sections for ",(0,o.jsx)(n.a,{href:"helpers-javascript",children:"JavaScript"})," and ",(0,o.jsx)(n.a,{href:"helpers-php",children:"PHP"}),"."]}),"\n",(0,o.jsx)(n.admonition,{title:"Good to know",type:"tip",children:(0,o.jsx)(n.p,{children:"You can always ignore our setup and use the React way of passing props to components by prop drilling."})}),"\n",(0,o.jsx)(n.h2,{id:"setting-up-attributes",children:"Setting up attributes"}),"\n",(0,o.jsx)(n.admonition,{title:"Important",type:"caution",children:(0,o.jsx)(n.p,{children:"Each attribute must have the component name prefix in each attribute. This is one of the biggest requirements in order for our setup to work."})}),"\n",(0,o.jsx)(n.p,{children:"By defining components key in the block registration phase we are drilling down from block to the last component and setting up attribute names according to your setup. In order for everything to work, we had to add/change prefixes to each component attribute in relation to where this attribute is used in the dependency tree. It is not so hard as it sounds so let us show you some graphical examples:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{alt:"Attributes 1",src:t(5477).Z+"",width:"781",height:"251"})}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{alt:"Attributes 2",src:t(53248).Z+"",width:"781",height:"251"})}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{alt:"Attributes 3",src:t(70439).Z+"",width:"781",height:"251"})}),"\n",(0,o.jsx)(n.h3,{id:"i-want-to-use-one-heading-component-in-my-block",children:"I want to use one heading component in my block."}),"\n",(0,o.jsx)(n.p,{children:"If you have a heading component with these attributes:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/components/heading/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"componentName": "heading",\n"attributes": {\n\t"headingContent": {\n\t\t"type": "string"\n\t},\n\t"headingLevel": {\n\t\t"type": "integer",\n\t\t"default": 2\n\t},\n\t"headingSize": {\n\t\t"type": "string",\n\t\t"default": "default"\n\t},\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"and you want to use the heading component in the Jumbotron block, you can use it by adding a component key in the Jumbotron block manifest like this:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/custom/jumbotron/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"blockName": "jumbotron",\n"attributes": {\n\t"jumbotronContent": {\n\t\t"type": "string"\n\t\t"default": "test",\n\t}\n},\n"components": {\n\t"heading": "heading"\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"in your block attribute's object, you will now have these keys:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'// Attributes from the component.\n"jumbotronHeadingContent": "",\n"jumbotronHeadingLevel": 2,\n"jumbotronHeadingSize": "default",\n\n// Attributes from the block.\n"jumbotronContent": "test",\n'})}),"\n",(0,o.jsx)(n.p,{children:"As you can see in the example, each block/component attribute must have a prefix, and we are then stacking that prefixed in the final output."}),"\n",(0,o.jsx)(n.h3,{id:"i-want-to-override-one-heading-attribute-in-my-block",children:"I want to override one heading attribute in my block."}),"\n",(0,o.jsx)(n.p,{children:"We build all our attributes by merging attribute's objects in this order:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"global attributes (global settings)"}),"\n",(0,o.jsx)(n.li,{children:"wrapper attributes"}),"\n",(0,o.jsx)(n.li,{children:"component attributes"}),"\n",(0,o.jsx)(n.li,{children:"block attributes"}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:"By following the basic principle of merging objects, if you have two keys with the same name, the last one will always override the previous. Now that you know how attributes are built, you can follow this example for your answer."}),"\n",(0,o.jsx)(n.p,{children:"We are using the same component as before:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/components/heading/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"componentName": "heading",\n"attributes": {\n\t"headingContent": {\n\t\t"type": "string"\n\t},\n\t"headingLevel": {\n\t\t"type": "integer",\n\t\t"default": 2\n\t},\n\t"headingSize": {\n\t\t"type": "string",\n\t\t"default": "default"\n\t},\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"and in Jumbotron block we want to change the default value of headingSize to big:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/custom/jumbotron/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"blockName": "jumbotron",\n"attributes": {\n\t"jumbotronContent": {\n\t\t"type": "string"\n\t\t"default": "test",\n\t},\n\t"jumbotronHeadingSize": {\n\t\t"type": "string",\n\t\t"default": "big"\n\t},\n},\n"components": {\n\t"heading": "heading"\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"In your block attributes object, you will now have these keys:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'\n// Attributes from the component.\n"jumbotronHeadingContent": "",\n"jumbotronHeadingLevel": 2,\n"jumbotronHeadingSize": "big",\n\n// Attributes from the block.\n"jumbotronContent": "test",\n'})}),"\n",(0,o.jsx)(n.p,{children:"As you can see in the example, to override the component attribute you just set that attribute to a different value but you must respect the attribute prefix."}),"\n",(0,o.jsx)(n.h3,{id:"i-want-to-use-one-heading-and-a-paragraph-component-in-my-block",children:"I want to use one heading and a paragraph component in my block."}),"\n",(0,o.jsx)(n.p,{children:"You can do this by following the same principle as before. Here is an example:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/custom/jumbotron/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"blockName": "jumbotron",\n"attributes": {\n\t"jumbotronContent": {\n\t\t"type": "string"\n\t\t"default": "test",\n\t}\n},\n"components": {\n\t"heading": "heading",\n\t"paragraph": "paragraph"\n}\n'})}),"\n",(0,o.jsx)(n.h3,{id:"i-want-two-heading-components-in-my-block",children:"I want two heading components in my block."}),"\n",(0,o.jsx)(n.p,{children:"If you want to use multiple heading components in your block, follow this example:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/custom/jumbotron/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"blockName": "jumbotron",\n"attributes": {\n\t"jumbotronContent": {\n\t\t"type": "string"\n\t\t"default": "test",\n\t}\n},\n"components": {\n\t"heading": "heading"\n\t"intro": "heading"\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"In your block attributes object, you will now have these keys:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'\n// Attributes from the first component.\n"jumbotronHeadingContent": "",\n"jumbotronHeadingLevel": 2,\n"jumbotronHeadingSize": "default",\n\n// Attributes from the second component.\n"jumbotronIntroContent": "",\n"jumbotronIntroLevel": 2,\n"jumbotronIntroSize": "default",\n\n// Attributes from the block.\n"jumbotronContent": "test",\n'})}),"\n",(0,o.jsx)(n.h3,{id:"i-want-to-use-a-component-that-uses-more-components-componentception",children:"I want to use a component that uses more components (componentCeption)."}),"\n",(0,o.jsx)(n.p,{children:"For example, if you have a block called cards grid that uses a card component, that card component uses a heading component."}),"\n",(0,o.jsx)(n.p,{children:"Structure:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["Cards","\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["Card","\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"Heading"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:"If you have a heading component with these attributes:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/components/heading/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"componentName": "heading",\n"attributes": {\n\t"headingContent": {\n\t\t"type": "string"\n\t},\n\t"headingLevel": {\n\t\t"type": "integer",\n\t\t"default": 2\n\t},\n\t"headingSize": {\n\t\t"type": "string",\n\t\t"default": "default"\n\t},\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"and you have a card component:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/components/card/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"componentName": "card",\n"attributes": {\n\t"cardUsage": {\n\t\t"type": "boolean"\n\t\t"default": true,\n\t},\n},\n"components": {\n\t"heading": "heading"\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"and you have a cards grid block:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/custom/cards-grid/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"blockName": "cards-grid",\n"attributes": {\n\t"cardsGridContent": {\n\t\t"type": "string"\n\t\t"default": "test",\n\t},\n},\n"components": {\n\t"card": "card"\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"in your block attributes object, you will now have these keys:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'// Attributes from the heading component.\n"cardsGridCardHeadingContent": "",\n"cardsGridCardHeadingLevel": 2,\n"cardsGridCardHeadingSize": "default",\n\n// Attributes from the card component.\n"cardsGridCardUsage": true,\n\n// Attributes from the block.\n"cardsGridContent": "test",\n'})}),"\n",(0,o.jsx)(n.p,{children:"As you can see in the example, you have all the attributes from the card and heading component inside your card's grid block."}),"\n",(0,o.jsx)(n.h3,{id:"i-dont-need-all-the-component-options-in-my-block",children:"I don't need all the component options in my block."}),"\n",(0,o.jsxs)(n.p,{children:["All our components come with a few common attributes that we recommend you also implement in your components. One of those attributes is ",(0,o.jsx)(n.code,{children:"buttonUse"}),"."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"buttonUse": true,\n'})}),"\n",(0,o.jsxs)(n.p,{children:["This attribute is available in all three components (editor, toolbar, options). If set to ",(0,o.jsx)(n.strong,{children:"false"}),", it will remove this component from the DOM. This is useful if you want to hide all markup from the DOM."]}),"\n",(0,o.jsx)(n.p,{children:"For example, you have a Jumbotron block and a heading that you want to populate if necessary. If you add content to the heading, everything looks good. But if you don't add it, you'll still see a placeholder for that heading in the block editor. This affects how you perceive it, and an editor may think this block will look like that on the front end (with the placeholder text). So if you have a component that you will not populate on some block, switch the toggle to false, and you will hide it from the DOM. This is useful for content editors."}),"\n",(0,o.jsx)(n.h3,{id:"i-dont-want-my-editor-to-be-able-to-change-component-options-in-my-block",children:"I don't want my editor to be able to change component options in my block."}),"\n",(0,o.jsxs)(n.p,{children:["Another attribute that you can use is ",(0,o.jsx)(n.code,{children:"buttonShowControls"}),"."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"buttonShowControls": true,\n'})}),"\n",(0,o.jsx)(n.p,{children:"This attribute is available in the options component only. You can't set it up via block editor, only from code. You would use it if you wanted to use a heading component and set all the defaults, without your content editor changing how the heading looks. It can add the heading content from the editor section without changing any of the options. You can set this option in the manifest or pass it manually via props."}),"\n",(0,o.jsx)(n.h3,{id:"how-do-my-example-attributes-behave-when-i-use-components-in-blocks",children:"How do my example attributes behave when I use components in blocks?"}),"\n",(0,o.jsx)(n.p,{children:"Exactly the same way as attributes."}),"\n",(0,o.jsx)(n.h3,{id:"i-have-a-component-name-that-has-multiple-strings-in-a-name-will-this-work",children:"I have a component name that has multiple strings in a name, will this work?"}),"\n",(0,o.jsxs)(n.p,{children:["By multiple strings in a name we mean that component name has multiple words, for example, ",(0,o.jsx)(n.code,{children:"jumbotron-cta"}),". The problem here is that we define components with kebab-case and attributes with camelCase."]}),"\n",(0,o.jsxs)(n.p,{children:["The short answer is ",(0,o.jsx)(n.strong,{children:"yes"})," this will work."]}),"\n",(0,o.jsx)(n.h3,{id:"i-have-a-component-that-i-want-to-use-manually",children:"I have a component that I want to use manually"}),"\n",(0,o.jsx)(n.p,{children:"We created this cool way of importing attributes and loading components in your blocks or other components. However, that doesn't mean that you can't have instances where you have to load components manually. In that case, you have to provide all the attributes that you want to use manually. The attributes that you didn't provide will not be magically set from the manifest, but you can make your life easier and map it like this."}),"\n",(0,o.jsxs)(n.p,{children:["For example, you have a ",(0,o.jsx)(n.code,{children:"card"})," component that you will use in the ",(0,o.jsx)(n.code,{children:"featured-posts"})," block."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/custom/featured-posts/featured-posts.php"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-php",children:"echo Components::render(\n 'card',\n Components::props('card', $attributes, [\n 'cardHeadingContent' => __('Custom content for heading', 'textdomain'),\n 'cardParagraphContent' => __('Custom content for paragraph', 'textdomain'),\n ])\n);\n"})}),"\n",(0,o.jsx)(n.p,{children:"This example will only pass these 2 attributes to you component and attributes from the currect file, it will not pass default attributes of heading and paragraph components."}),"\n",(0,o.jsx)(n.p,{children:"By providing the forth parameter to a render method you can also add default attributes to the output like this:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"featured-posts.php"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-php",children:"echo Components::render(\n 'card',\n Components::props('card', $attributes, [\n 'cardHeadingContent' => __('Custom content for heading', 'textdomain'),\n 'cardParagraphContent' => __('Custom content for paragraph', 'textdomain'),\n ]),\n '',\n true\n);\n"})}),"\n",(0,o.jsx)(n.h3,{id:"i-want-to-limit-which-options-are-shown-for-components-inside-a-blockcomponent",children:"I want to limit which options are shown for components inside a block/component"}),"\n",(0,o.jsxs)(n.p,{children:["Let's say you have a block that has a ",(0,o.jsx)(n.code,{children:"heading"})," component inside it."]}),"\n",(0,o.jsxs)(n.p,{children:["The ",(0,o.jsx)(n.code,{children:"heading"})," has 10 text sizes and 5 colors, but for that block, only 2 colors and 3 text sizes are allowed.\nTo achieve this you must prepare your component to be able to use this feature:"]}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsxs)(n.li,{children:["Your component options must be named the same name as their attribute value. In the example, you can see that the options key for ",(0,o.jsx)(n.code,{children:"typographySize"})," is the same name as in the attributes."]}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/components/heading/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n\t"componentName": "heading",\n\t"attributes": {\n\t\t"headingSize": {\n\t\t\t"type": "string",\n\t\t\t"default": "16-text-roman"\n\t\t},\n\t\t"headingColor": {\n\t\t\t"type": "string",\n\t\t\t"default": "black",\n\t\t\t"variable": true,\n\t\t\t"color": true\n\t\t},\n\t},\n\t"options": {\n\t\t"headingSize": [\n\t\t\t{\n\t\t\t\t"label": "180 Display",\n\t\t\t\t"value": "180-default"\n\t\t\t},\n\t\t\t{\n\t\t\t\t"label": "120 Display",\n\t\t\t\t"value": "120-default"\n\t\t\t},\n\t\t\t{\n\t\t\t\t"label": "80 Display",\n\t\t\t\t"value": "80-default"\n\t\t\t},\n\t\t\t{\n\t\t\t\t"label": "52 Display",\n\t\t\t\t"value": "52-default"\n\t\t\t},\n\t\t\t{\n\t\t\t\t"label": "36 Text",\n\t\t\t\t"value": "36-text"\n\t\t\t}\n\t\t],\n\t\t"headingColor": [\n\t\t\t"black",\n\t\t\t"white",\n\t\t\t"grey100",\n\t\t\t"grey200"\n\t\t]\n\t}\n}\n'})}),"\n",(0,o.jsxs)(n.ol,{start:"2",children:["\n",(0,o.jsxs)(n.li,{children:["Every option in your component must use ",(0,o.jsx)(n.code,{children:"getOption"})," helper for the prop that is used to provide options. Details about the helper can be found ",(0,o.jsx)(n.a,{href:"helpers-javascript",children:"here"}),"."]}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"SelectControl Example:"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"const headingSize = checkAttr('headingSize', attributes, manifest);\n\n<SelectControl\n\tlabel={__('Text size', 'eightshift-boilerplate')}\n\tvalue={headingSize}\n\toptions={getOption('headingSize', attributes, manifest)}\n\tonChange={(value) => setAttributes({ [getAttrKey('headingSize', attributes, manifest)]: value })}\n/>\n"})}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"ColorPaletteCustom Example:"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"const headingColor = checkAttr('headingColor', attributes, manifest);\n\n<ColorPaletteCustom\n\tlabel={__('Color', 'eightshift-boilerplate')}\n\tvalue={headingColor}\n\tcolors={getOption('headingColor', attributes, manifest, true)}\n\tonChange={(value) => setAttributes({ [getAttrKey('headingColor', attributes, manifest)]: value })}\n/>\n"})}),"\n",(0,o.jsxs)(n.ol,{start:"3",children:["\n",(0,o.jsx)(n.li,{children:"In the component/block for which you are going to override the options, you must provide an option prop that is going to override the default one also following the described attribute prefixes."}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"heading-options.js"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"<HeadingOptions\n\t{...props('heading', attributes, {\n\t\toptions: getOptions(attributes, manifest),\n\t})}\n/>\n"})}),"\n",(0,o.jsxs)(n.ol,{start:"4",children:["\n",(0,o.jsxs)(n.li,{children:["In the component/blocks for which you are going to override options, you must provide the override in the ",(0,o.jsx)(n.code,{children:"manifest.json"})," by following the same naming as in the component."]}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/custom/heading/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n\t"blockName": "heading",\n\t"options": {\n\t\t"headingHeadingSize": [\n\t\t\t"80-default",\n\t\t\t"52-default"\n\t\t],\n\t\t"headingHeadingColor": [\n\t\t\t"black",\n\t\t\t"white"\n\t\t]\n\t}\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"And this is it. You are now able to override the options from the parent block/component."}),"\n",(0,o.jsx)(n.admonition,{type:"tip",children:(0,o.jsxs)(n.p,{children:["Keep in mind that you can only override ",(0,o.jsx)(n.code,{children:"SelectControl"}),", ",(0,o.jsx)(n.code,{children:"ColorPaletteCustom"}),", and ",(0,o.jsx)(n.code,{children:"AlignmentToolbar"}),"."]})}),"\n",(0,o.jsx)(n.h3,{id:"i-want-to-only-pass-attributes-to-the-component-that-im-going-to-use",children:"I want to only pass attributes to the component that I'm going to use"}),"\n",(0,o.jsx)(n.p,{children:"At one point in time, we agreed on naming standards for all component attributes. That way we made sure that you wouldn't get any collisions when using multiple components. So we said it is ok to spread all attributes to the component and let the component handle what it needs. Well, that approach is ok but it can bite you in the a.. at the point that you least expect."}),"\n",(0,o.jsxs)(n.p,{children:["That is why we created ",(0,o.jsx)(n.a,{href:"helpers-javascript",children:"props helper"})," that determines what attributes are passed to what component depending on the dependency tree."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Let's set a layout for this example:"})}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["components","\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"heading"}),"\n",(0,o.jsx)(n.li,{children:"typography"}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["custom","\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"heading"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["You have block ",(0,o.jsx)(n.code,{children:"heading"})," that uses component ",(0,o.jsx)(n.code,{children:"heading"})," and that component uses another component called ",(0,o.jsx)(n.code,{children:"typography"}),".\nWe are putting only relevant code in the example:"]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/custom/heading/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n\t"blockName": "heading",\n\t"components": {\n\t\t"heading": "heading"\n\t},\n}\n'})}),"\n",(0,o.jsxs)(n.p,{children:["In the ",(0,o.jsx)(n.code,{children:"components"})," key, you must provide components that you are going to be using in this block. There are more options in the ",(0,o.jsx)(n.a,{href:"#i-want-to-use-one-heading-component-in-my-block",children:"example"})," at the beginning of this chapter."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/custom/heading/components/heading-editor.js"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"import React from 'react';\nimport { props } from '@eightshift/frontend-libs/scripts';\nimport { HeadingEditor as HeadingEditorComponent } from '../../../components/heading/components/heading-editor';\n\nexport const HeadingEditor = ({ attributes, setAttributes }) => {\n\treturn (\n\t\t<HeadingEditorComponent\n\t\t\t{...props('heading', attributes, {\n\t\t\t\tsetAttributes: setAttributes,\n\t\t\t})}\n\t\t/>\n\t);\n};\n"})}),"\n",(0,o.jsx)(n.p,{children:"In JavaScript, you spread the results of the props helper."}),"\n",(0,o.jsx)(n.p,{children:"The PHP template should look like this:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/custom/heading/heading.php"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-php",children:"<?php\n\n/**\n * Template for the Heading Block view.\n *\n * @package EightshiftBoilerplate\n */\n\nuse EightshiftBoilerplateVendor\\EightshiftLibs\\Helpers\\Components;\n\n?>\n\n<div>\n\t<?php\n\techo Components::render(\n\t\t'heading',\n\t\tComponents::props('heading', $attributes)\n\t);\n\t?>\n</div>\n"})}),"\n",(0,o.jsxs)(n.p,{children:["Now, let's see how the component ",(0,o.jsx)(n.code,{children:"heading"})," looks like."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/components/heading/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n\t"componentName": "heading",\n\t"components": {\n\t\t"heading": "typography"\n\t},\n}\n'})}),"\n",(0,o.jsxs)(n.p,{children:["In the ",(0,o.jsx)(n.code,{children:"heading"})," component we are using the ",(0,o.jsx)(n.code,{children:"typography"})," component but we are not using the default component name. Instead, we are changing the attribute name from ",(0,o.jsx)(n.code,{children:"typography"})," to ",(0,o.jsx)(n.code,{children:"heading"}),"."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/components/heading/components/heading-editor.js"})}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"The same is for options or toolbar components!"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"import React from 'react';\nimport { props } from '@eightshift/frontend-libs/scripts';\nimport { TypographyEditor } from './../../typography/components/typography-editor';\nimport manifest from './../manifest.json';\n\nexport const HeadingEditor = (attributes) => {\n\tconst {\n\t\tcomponentClass,\n\t} = manifest;\n\n\tconst {\n\t\tblockClass,\n\t} = attributes;\n\n\treturn (\n\t\t<TypographyEditor\n\t\t\t{...props('heading', attributes, {\n\t\t\t\tblockClass: componentClass,\n\t\t\t})}\n\t\t/>\n\t);\n};\n"})}),"\n",(0,o.jsx)(n.p,{children:"In this example, you can see that everything is the same as in the parent block."}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/components/heading/heading.php"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-php",children:"<?php\n\n/**\n * Template for the Heading Component.\n *\n * @package EightshiftBoilerplate\n */\n\nuse EightshiftBoilerplateVendor\\EightshiftLibs\\Helpers\\Components;\n\n$manifest = Components::getManifest(__DIR__);\n\n$componentClass = $manifest['componentClass'] ?? '';\n\necho Components::render(\n\t'typography',\n\tComponents::props('heading', $attributes, [\n\t\t'blockClass' => $componentClass\n\t])\n),\n"})}),"\n",(0,o.jsx)(n.p,{children:"The PHP part looks similar to the JS block part."}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Typography"})}),"\n",(0,o.jsx)(n.p,{children:"There is nothing special that you need to do in the last component in the tree other than following the attributes naming convention."}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Summing it all up"})}),"\n",(0,o.jsx)(n.p,{children:"Block:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"Components"})," key in the ",(0,o.jsx)(n.code,{children:"manifest.json"})," is used to provide/change the attribute names on the block registration process."]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"Props helper"})," will provide all the attributes used in the block and it will follow the dependency tree to the end so that all the attributes from the children components will also be provided as a result."]}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:"Components:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"Components"})," key in the ",(0,o.jsx)(n.code,{children:"manifest.json"})," is used to determine the dependency tree when passing the attributes from parent to children."]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"Props helper"})," will provide only those attributes that are used in the children's components recursively. The same as props helper in the block."]}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["For more details please read the ",(0,o.jsx)(n.a,{href:"helpers-javascript",children:"props helper docs"}),"."]}),"\n",(0,o.jsx)(n.admonition,{type:"tip",children:(0,o.jsx)(n.p,{children:"Avoid spreading attributes as props but rather use this helper because it provides only what is used in the component."})}),"\n",(0,o.jsx)(n.h3,{id:"passing-setattributes-to-components",children:"Passing setAttributes to components"}),"\n",(0,o.jsxs)(n.p,{children:["As we described earlier props helper knows what to pass to a child component but there are some wild cards here. When you are passing props from block to component you must pass setAttributes down as props but if if you are passing props from component to component you don't need to. This is because we added some automatic includes in our props helper that you can check ",(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/scripts/editor/attributes.js",children:"here"}),"."]}),"\n",(0,o.jsx)(n.h3,{id:"manually-overriding-attributes-from-the-code",children:"Manually overriding attributes from the code"}),"\n",(0,o.jsx)(n.p,{children:"You can also do this and this is why we created the third parameter in the props helper in order to be able to pass attributes via code and still be able to use automatic attributes prefixes that the props helper provides:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"<TypographyEditor\n\t{...props('typography', attributes, {\n\t\ttypographyContent: item,\n\t})}\n\tdisableEdit={true}\n/>\n"})}),"\n",(0,o.jsx)(n.p,{children:"typographyContent attribute will follow the naming prefix when passed to a child but the disableEdit will remain the same name in all the children."}),"\n",(0,o.jsx)(n.p,{children:"Any of the included attributes can be passed as the third parameter here, but they will not be prefixed:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"<ImageEditor\n\t{...props('image', attributes, {\n\t\tblockClass: componentClass,\n\t})}\n/>\n"})})]})}function d(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(c,{...e})}):c(e)}},5477:(e,n,t)=>{t.d(n,{Z:()=>o});const o=t.p+"assets/images/attributes-1-b68f9798ba07c21636b26fef3de0f202.webp"},53248:(e,n,t)=>{t.d(n,{Z:()=>o});const o=t.p+"assets/images/attributes-2-f47779c67174908485c045f80daef4ec.webp"},70439:(e,n,t)=>{t.d(n,{Z:()=>o});const o=t.p+"assets/images/attributes-3-d4804b9a6810dbbb6295b65f8e8c70fd.webp"},11151:(e,n,t)=>{t.d(n,{Z:()=>r,a:()=>a});var o=t(67294);const s={},i=o.createContext(s);function a(e){const n=o.useContext(i);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(s):e.components||s:a(e.components),o.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e9beab12.296fdd57.js b/assets/js/e9beab12.296fdd57.js new file mode 100644 index 000000000..6f2221434 --- /dev/null +++ b/assets/js/e9beab12.296fdd57.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[22440],{356:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>a,default:()=>d,frontMatter:()=>i,metadata:()=>r,toc:()=>h});var o=t(17624),s=t(4552);const i={id:"blocks-component-in-block",title:"Component in a Block"},a=void 0,r={id:"basics/blocks-component-in-block",title:"Component in a Block",description:"docs-source",source:"@site/docs/basics/blocks-component-in-block.md",sourceDirName:"basics",slug:"/basics/blocks-component-in-block",permalink:"/docs/basics/blocks-component-in-block",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-component-in-block",title:"Component in a Block"},sidebar:"docs",previous:{title:"Attributes",permalink:"/docs/basics/blocks-attributes"},next:{title:"Wrapper",permalink:"/docs/basics/blocks-wrapper"}},l={},h=[{value:"Manifest setup",id:"manifest-setup",level:2},{value:"Important helpers",id:"important-helpers",level:2},{value:"Setting up attributes",id:"setting-up-attributes",level:2},{value:"I want to use one heading component in my block.",id:"i-want-to-use-one-heading-component-in-my-block",level:3},{value:"I want to override one heading attribute in my block.",id:"i-want-to-override-one-heading-attribute-in-my-block",level:3},{value:"I want to use one heading and a paragraph component in my block.",id:"i-want-to-use-one-heading-and-a-paragraph-component-in-my-block",level:3},{value:"I want two heading components in my block.",id:"i-want-two-heading-components-in-my-block",level:3},{value:"I want to use a component that uses more components (componentCeption).",id:"i-want-to-use-a-component-that-uses-more-components-componentception",level:3},{value:"I don't need all the component options in my block.",id:"i-dont-need-all-the-component-options-in-my-block",level:3},{value:"I don't want my editor to be able to change component options in my block.",id:"i-dont-want-my-editor-to-be-able-to-change-component-options-in-my-block",level:3},{value:"How do my example attributes behave when I use components in blocks?",id:"how-do-my-example-attributes-behave-when-i-use-components-in-blocks",level:3},{value:"I have a component name that has multiple strings in a name, will this work?",id:"i-have-a-component-name-that-has-multiple-strings-in-a-name-will-this-work",level:3},{value:"I have a component that I want to use manually",id:"i-have-a-component-that-i-want-to-use-manually",level:3},{value:"I want to limit which options are shown for components inside a block/component",id:"i-want-to-limit-which-options-are-shown-for-components-inside-a-blockcomponent",level:3},{value:"I want to only pass attributes to the component that I'm going to use",id:"i-want-to-only-pass-attributes-to-the-component-that-im-going-to-use",level:3},{value:"Passing setAttributes to components",id:"passing-setattributes-to-components",level:3},{value:"Manually overriding attributes from the code",id:"manually-overriding-attributes-from-the-code",level:3}];function c(e){const n={a:"a",admonition:"admonition",code:"code",em:"em",h2:"h2",h3:"h3",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,o.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(n.p,{children:"Blocks and components work perfectly together because they are made that way. We simplified this as much as possible but there always a few things you need to do manually."}),"\n",(0,o.jsx)(n.p,{children:"Try to think of your development process in this way:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"Each component must be standalone and ideally not depend on any other components (sometimes this is not possible but keep this to a minimum)."}),"\n",(0,o.jsx)(n.li,{children:"Components must not be aware of the layout they are used in."}),"\n",(0,o.jsxs)(n.li,{children:["No global styles. Instead, all styles should be contained to the block/component. For more details, check ",(0,o.jsx)(n.a,{href:"blocks-styles",children:"this link"}),"."]}),"\n",(0,o.jsxs)(n.li,{children:["You should define all heading variations in a ",(0,o.jsx)(n.code,{children:"heading"})," component. You can then use this component everywhere you have a heading instead of writing a new implementation. In practice: don't do ",(0,o.jsx)(n.code,{children:"<h2>$heading</h2>"})," but render the ",(0,o.jsx)(n.code,{children:"heading"})," component instead using the helpers defined in the ",(0,o.jsx)(n.a,{href:"helpers",children:"helpers section"}),". The heading is just an example, but this applies to every component."]}),"\n",(0,o.jsx)(n.li,{children:"You can have multiple heading components in one block."}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.strong,{children:"JavaScript and PHP part of the block/component must be 99% the same this is why we wrote all those helpers."})}),"\n"]}),"\n",(0,o.jsx)(n.h2,{id:"manifest-setup",children:"Manifest setup"}),"\n",(0,o.jsxs)(n.p,{children:["In order to use our way of passing props, there are a few prerequisites you must follow. You must use our helpers and you must set ",(0,o.jsx)(n.code,{children:"components"})," key in the manifest."]}),"\n",(0,o.jsxs)(n.p,{children:["As we described in the ",(0,o.jsx)(n.a,{href:"block-manifest",children:"block manifest"})," chapter each block/component can have a ",(0,o.jsx)(n.code,{children:"components"})," key. This key is used in the registration of the block attributes in the block editor and as a dependency tree for passing props in the children components."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Default setup:"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"components": {\n\t"heading": "heading"\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"Components key is an object that can have multiple items added."}),"\n",(0,o.jsx)(n.admonition,{title:":es-hide-title:",type:"success",children:(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.strong,{children:"Key"})," represents the name that is going to be used for this component in this block/component and the prefix used in the attributes (more on this later)."]})}),"\n",(0,o.jsx)(n.admonition,{title:":es-hide-title:",type:"info",children:(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.strong,{children:"Value"})," represents the real component name that you have in your project."]})}),"\n",(0,o.jsx)(n.admonition,{title:":es-hide-title:",type:"tip",children:(0,o.jsxs)(n.p,{children:["Each key and value names can be written in the ",(0,o.jsx)(n.code,{children:"kebab-case"})," or ",(0,o.jsx)(n.code,{children:"camelCase"})," but we recommend using ",(0,o.jsx)(n.code,{children:"camelCase"}),"."]})}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Multiple components setup:"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"components": {\n\t"heading": "heading",\n\t"paragraph": "paragraph"\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"This block/component uses two components, one is heading and the other is paragraph and they are using the default names."}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Multiple components set up with the components of the same type:"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"components": {\n\t"heading": "heading",\n\t"intro": "heading",\n\t"paragraph": "paragraph"\n}\n'})}),"\n",(0,o.jsxs)(n.p,{children:["This block/component uses three components, two headings (one of which is renamed to ",(0,o.jsx)(n.code,{children:"intro"}),") and a paragraph."]}),"\n",(0,o.jsx)(n.h2,{id:"important-helpers",children:"Important helpers"}),"\n",(0,o.jsx)(n.p,{children:"As we described earlier, in order to use our setup you must use our helpers. Here are some of the helpers you should get familiar with:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["props - ",(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/scripts/editor/attributes.js",children:"JS"})," - ",(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/blob/develop/src/Helpers/AttributesTrait.php",children:"PHP"})]}),"\n",(0,o.jsxs)(n.li,{children:["getOptions - ",(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/scripts/editor/options.js",children:"JS"})]}),"\n",(0,o.jsxs)(n.li,{children:["getOption - ",(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/scripts/editor/options.js",children:"JS"})]}),"\n",(0,o.jsxs)(n.li,{children:["getAttrKey - ",(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/scripts/editor/attributes.js",children:"JS"})," - ",(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/blob/develop/src/Helpers/AttributesTrait.php",children:"PHP"})]}),"\n",(0,o.jsxs)(n.li,{children:["checkAttr - ",(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/scripts/editor/attributes.js",children:"JS"})," - ",(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/blob/develop/src/Helpers/AttributesTrait.php",children:"PHP"})]}),"\n",(0,o.jsxs)(n.li,{children:["render - ",(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/blob/develop/src/Blocks/AbstractBlocks.php",children:"PHP"})]}),"\n",(0,o.jsxs)(n.li,{children:["renderPartial - ",(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/blob/develop/src/Helpers/Components.php",children:"PHP"})]}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["For more details please check our helpers sections for ",(0,o.jsx)(n.a,{href:"helpers-javascript",children:"JavaScript"})," and ",(0,o.jsx)(n.a,{href:"helpers-php",children:"PHP"}),"."]}),"\n",(0,o.jsx)(n.admonition,{title:"Good to know",type:"tip",children:(0,o.jsx)(n.p,{children:"You can always ignore our setup and use the React way of passing props to components by prop drilling."})}),"\n",(0,o.jsx)(n.h2,{id:"setting-up-attributes",children:"Setting up attributes"}),"\n",(0,o.jsx)(n.admonition,{title:"Important",type:"caution",children:(0,o.jsx)(n.p,{children:"Each attribute must have the component name prefix in each attribute. This is one of the biggest requirements in order for our setup to work."})}),"\n",(0,o.jsx)(n.p,{children:"By defining components key in the block registration phase we are drilling down from block to the last component and setting up attribute names according to your setup. In order for everything to work, we had to add/change prefixes to each component attribute in relation to where this attribute is used in the dependency tree. It is not so hard as it sounds so let us show you some graphical examples:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{alt:"Attributes 1",src:t(44972).c+"",width:"781",height:"251"})}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{alt:"Attributes 2",src:t(73564).c+"",width:"781",height:"251"})}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{alt:"Attributes 3",src:t(68264).c+"",width:"781",height:"251"})}),"\n",(0,o.jsx)(n.h3,{id:"i-want-to-use-one-heading-component-in-my-block",children:"I want to use one heading component in my block."}),"\n",(0,o.jsx)(n.p,{children:"If you have a heading component with these attributes:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/components/heading/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"componentName": "heading",\n"attributes": {\n\t"headingContent": {\n\t\t"type": "string"\n\t},\n\t"headingLevel": {\n\t\t"type": "integer",\n\t\t"default": 2\n\t},\n\t"headingSize": {\n\t\t"type": "string",\n\t\t"default": "default"\n\t},\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"and you want to use the heading component in the Jumbotron block, you can use it by adding a component key in the Jumbotron block manifest like this:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/custom/jumbotron/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"blockName": "jumbotron",\n"attributes": {\n\t"jumbotronContent": {\n\t\t"type": "string"\n\t\t"default": "test",\n\t}\n},\n"components": {\n\t"heading": "heading"\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"in your block attribute's object, you will now have these keys:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'// Attributes from the component.\n"jumbotronHeadingContent": "",\n"jumbotronHeadingLevel": 2,\n"jumbotronHeadingSize": "default",\n\n// Attributes from the block.\n"jumbotronContent": "test",\n'})}),"\n",(0,o.jsx)(n.p,{children:"As you can see in the example, each block/component attribute must have a prefix, and we are then stacking that prefixed in the final output."}),"\n",(0,o.jsx)(n.h3,{id:"i-want-to-override-one-heading-attribute-in-my-block",children:"I want to override one heading attribute in my block."}),"\n",(0,o.jsx)(n.p,{children:"We build all our attributes by merging attribute's objects in this order:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"global attributes (global settings)"}),"\n",(0,o.jsx)(n.li,{children:"wrapper attributes"}),"\n",(0,o.jsx)(n.li,{children:"component attributes"}),"\n",(0,o.jsx)(n.li,{children:"block attributes"}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:"By following the basic principle of merging objects, if you have two keys with the same name, the last one will always override the previous. Now that you know how attributes are built, you can follow this example for your answer."}),"\n",(0,o.jsx)(n.p,{children:"We are using the same component as before:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/components/heading/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"componentName": "heading",\n"attributes": {\n\t"headingContent": {\n\t\t"type": "string"\n\t},\n\t"headingLevel": {\n\t\t"type": "integer",\n\t\t"default": 2\n\t},\n\t"headingSize": {\n\t\t"type": "string",\n\t\t"default": "default"\n\t},\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"and in Jumbotron block we want to change the default value of headingSize to big:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/custom/jumbotron/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"blockName": "jumbotron",\n"attributes": {\n\t"jumbotronContent": {\n\t\t"type": "string"\n\t\t"default": "test",\n\t},\n\t"jumbotronHeadingSize": {\n\t\t"type": "string",\n\t\t"default": "big"\n\t},\n},\n"components": {\n\t"heading": "heading"\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"In your block attributes object, you will now have these keys:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'\n// Attributes from the component.\n"jumbotronHeadingContent": "",\n"jumbotronHeadingLevel": 2,\n"jumbotronHeadingSize": "big",\n\n// Attributes from the block.\n"jumbotronContent": "test",\n'})}),"\n",(0,o.jsx)(n.p,{children:"As you can see in the example, to override the component attribute you just set that attribute to a different value but you must respect the attribute prefix."}),"\n",(0,o.jsx)(n.h3,{id:"i-want-to-use-one-heading-and-a-paragraph-component-in-my-block",children:"I want to use one heading and a paragraph component in my block."}),"\n",(0,o.jsx)(n.p,{children:"You can do this by following the same principle as before. Here is an example:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/custom/jumbotron/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"blockName": "jumbotron",\n"attributes": {\n\t"jumbotronContent": {\n\t\t"type": "string"\n\t\t"default": "test",\n\t}\n},\n"components": {\n\t"heading": "heading",\n\t"paragraph": "paragraph"\n}\n'})}),"\n",(0,o.jsx)(n.h3,{id:"i-want-two-heading-components-in-my-block",children:"I want two heading components in my block."}),"\n",(0,o.jsx)(n.p,{children:"If you want to use multiple heading components in your block, follow this example:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/custom/jumbotron/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"blockName": "jumbotron",\n"attributes": {\n\t"jumbotronContent": {\n\t\t"type": "string"\n\t\t"default": "test",\n\t}\n},\n"components": {\n\t"heading": "heading"\n\t"intro": "heading"\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"In your block attributes object, you will now have these keys:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'\n// Attributes from the first component.\n"jumbotronHeadingContent": "",\n"jumbotronHeadingLevel": 2,\n"jumbotronHeadingSize": "default",\n\n// Attributes from the second component.\n"jumbotronIntroContent": "",\n"jumbotronIntroLevel": 2,\n"jumbotronIntroSize": "default",\n\n// Attributes from the block.\n"jumbotronContent": "test",\n'})}),"\n",(0,o.jsx)(n.h3,{id:"i-want-to-use-a-component-that-uses-more-components-componentception",children:"I want to use a component that uses more components (componentCeption)."}),"\n",(0,o.jsx)(n.p,{children:"For example, if you have a block called cards grid that uses a card component, that card component uses a heading component."}),"\n",(0,o.jsx)(n.p,{children:"Structure:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["Cards","\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["Card","\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"Heading"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:"If you have a heading component with these attributes:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/components/heading/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"componentName": "heading",\n"attributes": {\n\t"headingContent": {\n\t\t"type": "string"\n\t},\n\t"headingLevel": {\n\t\t"type": "integer",\n\t\t"default": 2\n\t},\n\t"headingSize": {\n\t\t"type": "string",\n\t\t"default": "default"\n\t},\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"and you have a card component:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/components/card/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"componentName": "card",\n"attributes": {\n\t"cardUsage": {\n\t\t"type": "boolean"\n\t\t"default": true,\n\t},\n},\n"components": {\n\t"heading": "heading"\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"and you have a cards grid block:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/custom/cards-grid/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"blockName": "cards-grid",\n"attributes": {\n\t"cardsGridContent": {\n\t\t"type": "string"\n\t\t"default": "test",\n\t},\n},\n"components": {\n\t"card": "card"\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"in your block attributes object, you will now have these keys:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'// Attributes from the heading component.\n"cardsGridCardHeadingContent": "",\n"cardsGridCardHeadingLevel": 2,\n"cardsGridCardHeadingSize": "default",\n\n// Attributes from the card component.\n"cardsGridCardUsage": true,\n\n// Attributes from the block.\n"cardsGridContent": "test",\n'})}),"\n",(0,o.jsx)(n.p,{children:"As you can see in the example, you have all the attributes from the card and heading component inside your card's grid block."}),"\n",(0,o.jsx)(n.h3,{id:"i-dont-need-all-the-component-options-in-my-block",children:"I don't need all the component options in my block."}),"\n",(0,o.jsxs)(n.p,{children:["All our components come with a few common attributes that we recommend you also implement in your components. One of those attributes is ",(0,o.jsx)(n.code,{children:"buttonUse"}),"."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"buttonUse": true,\n'})}),"\n",(0,o.jsxs)(n.p,{children:["This attribute is available in all three components (editor, toolbar, options). If set to ",(0,o.jsx)(n.strong,{children:"false"}),", it will remove this component from the DOM. This is useful if you want to hide all markup from the DOM."]}),"\n",(0,o.jsx)(n.p,{children:"For example, you have a Jumbotron block and a heading that you want to populate if necessary. If you add content to the heading, everything looks good. But if you don't add it, you'll still see a placeholder for that heading in the block editor. This affects how you perceive it, and an editor may think this block will look like that on the front end (with the placeholder text). So if you have a component that you will not populate on some block, switch the toggle to false, and you will hide it from the DOM. This is useful for content editors."}),"\n",(0,o.jsx)(n.h3,{id:"i-dont-want-my-editor-to-be-able-to-change-component-options-in-my-block",children:"I don't want my editor to be able to change component options in my block."}),"\n",(0,o.jsxs)(n.p,{children:["Another attribute that you can use is ",(0,o.jsx)(n.code,{children:"buttonShowControls"}),"."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"buttonShowControls": true,\n'})}),"\n",(0,o.jsx)(n.p,{children:"This attribute is available in the options component only. You can't set it up via block editor, only from code. You would use it if you wanted to use a heading component and set all the defaults, without your content editor changing how the heading looks. It can add the heading content from the editor section without changing any of the options. You can set this option in the manifest or pass it manually via props."}),"\n",(0,o.jsx)(n.h3,{id:"how-do-my-example-attributes-behave-when-i-use-components-in-blocks",children:"How do my example attributes behave when I use components in blocks?"}),"\n",(0,o.jsx)(n.p,{children:"Exactly the same way as attributes."}),"\n",(0,o.jsx)(n.h3,{id:"i-have-a-component-name-that-has-multiple-strings-in-a-name-will-this-work",children:"I have a component name that has multiple strings in a name, will this work?"}),"\n",(0,o.jsxs)(n.p,{children:["By multiple strings in a name we mean that component name has multiple words, for example, ",(0,o.jsx)(n.code,{children:"jumbotron-cta"}),". The problem here is that we define components with kebab-case and attributes with camelCase."]}),"\n",(0,o.jsxs)(n.p,{children:["The short answer is ",(0,o.jsx)(n.strong,{children:"yes"})," this will work."]}),"\n",(0,o.jsx)(n.h3,{id:"i-have-a-component-that-i-want-to-use-manually",children:"I have a component that I want to use manually"}),"\n",(0,o.jsx)(n.p,{children:"We created this cool way of importing attributes and loading components in your blocks or other components. However, that doesn't mean that you can't have instances where you have to load components manually. In that case, you have to provide all the attributes that you want to use manually. The attributes that you didn't provide will not be magically set from the manifest, but you can make your life easier and map it like this."}),"\n",(0,o.jsxs)(n.p,{children:["For example, you have a ",(0,o.jsx)(n.code,{children:"card"})," component that you will use in the ",(0,o.jsx)(n.code,{children:"featured-posts"})," block."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/custom/featured-posts/featured-posts.php"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-php",children:"echo Components::render(\n 'card',\n Components::props('card', $attributes, [\n 'cardHeadingContent' => __('Custom content for heading', 'textdomain'),\n 'cardParagraphContent' => __('Custom content for paragraph', 'textdomain'),\n ])\n);\n"})}),"\n",(0,o.jsx)(n.p,{children:"This example will only pass these 2 attributes to you component and attributes from the currect file, it will not pass default attributes of heading and paragraph components."}),"\n",(0,o.jsx)(n.p,{children:"By providing the forth parameter to a render method you can also add default attributes to the output like this:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"featured-posts.php"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-php",children:"echo Components::render(\n 'card',\n Components::props('card', $attributes, [\n 'cardHeadingContent' => __('Custom content for heading', 'textdomain'),\n 'cardParagraphContent' => __('Custom content for paragraph', 'textdomain'),\n ]),\n '',\n true\n);\n"})}),"\n",(0,o.jsx)(n.h3,{id:"i-want-to-limit-which-options-are-shown-for-components-inside-a-blockcomponent",children:"I want to limit which options are shown for components inside a block/component"}),"\n",(0,o.jsxs)(n.p,{children:["Let's say you have a block that has a ",(0,o.jsx)(n.code,{children:"heading"})," component inside it."]}),"\n",(0,o.jsxs)(n.p,{children:["The ",(0,o.jsx)(n.code,{children:"heading"})," has 10 text sizes and 5 colors, but for that block, only 2 colors and 3 text sizes are allowed.\nTo achieve this you must prepare your component to be able to use this feature:"]}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsxs)(n.li,{children:["Your component options must be named the same name as their attribute value. In the example, you can see that the options key for ",(0,o.jsx)(n.code,{children:"typographySize"})," is the same name as in the attributes."]}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/components/heading/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n\t"componentName": "heading",\n\t"attributes": {\n\t\t"headingSize": {\n\t\t\t"type": "string",\n\t\t\t"default": "16-text-roman"\n\t\t},\n\t\t"headingColor": {\n\t\t\t"type": "string",\n\t\t\t"default": "black",\n\t\t\t"variable": true,\n\t\t\t"color": true\n\t\t},\n\t},\n\t"options": {\n\t\t"headingSize": [\n\t\t\t{\n\t\t\t\t"label": "180 Display",\n\t\t\t\t"value": "180-default"\n\t\t\t},\n\t\t\t{\n\t\t\t\t"label": "120 Display",\n\t\t\t\t"value": "120-default"\n\t\t\t},\n\t\t\t{\n\t\t\t\t"label": "80 Display",\n\t\t\t\t"value": "80-default"\n\t\t\t},\n\t\t\t{\n\t\t\t\t"label": "52 Display",\n\t\t\t\t"value": "52-default"\n\t\t\t},\n\t\t\t{\n\t\t\t\t"label": "36 Text",\n\t\t\t\t"value": "36-text"\n\t\t\t}\n\t\t],\n\t\t"headingColor": [\n\t\t\t"black",\n\t\t\t"white",\n\t\t\t"grey100",\n\t\t\t"grey200"\n\t\t]\n\t}\n}\n'})}),"\n",(0,o.jsxs)(n.ol,{start:"2",children:["\n",(0,o.jsxs)(n.li,{children:["Every option in your component must use ",(0,o.jsx)(n.code,{children:"getOption"})," helper for the prop that is used to provide options. Details about the helper can be found ",(0,o.jsx)(n.a,{href:"helpers-javascript",children:"here"}),"."]}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"SelectControl Example:"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"const headingSize = checkAttr('headingSize', attributes, manifest);\n\n<SelectControl\n\tlabel={__('Text size', 'eightshift-boilerplate')}\n\tvalue={headingSize}\n\toptions={getOption('headingSize', attributes, manifest)}\n\tonChange={(value) => setAttributes({ [getAttrKey('headingSize', attributes, manifest)]: value })}\n/>\n"})}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"ColorPaletteCustom Example:"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"const headingColor = checkAttr('headingColor', attributes, manifest);\n\n<ColorPaletteCustom\n\tlabel={__('Color', 'eightshift-boilerplate')}\n\tvalue={headingColor}\n\tcolors={getOption('headingColor', attributes, manifest, true)}\n\tonChange={(value) => setAttributes({ [getAttrKey('headingColor', attributes, manifest)]: value })}\n/>\n"})}),"\n",(0,o.jsxs)(n.ol,{start:"3",children:["\n",(0,o.jsx)(n.li,{children:"In the component/block for which you are going to override the options, you must provide an option prop that is going to override the default one also following the described attribute prefixes."}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"heading-options.js"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"<HeadingOptions\n\t{...props('heading', attributes, {\n\t\toptions: getOptions(attributes, manifest),\n\t})}\n/>\n"})}),"\n",(0,o.jsxs)(n.ol,{start:"4",children:["\n",(0,o.jsxs)(n.li,{children:["In the component/blocks for which you are going to override options, you must provide the override in the ",(0,o.jsx)(n.code,{children:"manifest.json"})," by following the same naming as in the component."]}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/custom/heading/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n\t"blockName": "heading",\n\t"options": {\n\t\t"headingHeadingSize": [\n\t\t\t"80-default",\n\t\t\t"52-default"\n\t\t],\n\t\t"headingHeadingColor": [\n\t\t\t"black",\n\t\t\t"white"\n\t\t]\n\t}\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"And this is it. You are now able to override the options from the parent block/component."}),"\n",(0,o.jsx)(n.admonition,{type:"tip",children:(0,o.jsxs)(n.p,{children:["Keep in mind that you can only override ",(0,o.jsx)(n.code,{children:"SelectControl"}),", ",(0,o.jsx)(n.code,{children:"ColorPaletteCustom"}),", and ",(0,o.jsx)(n.code,{children:"AlignmentToolbar"}),"."]})}),"\n",(0,o.jsx)(n.h3,{id:"i-want-to-only-pass-attributes-to-the-component-that-im-going-to-use",children:"I want to only pass attributes to the component that I'm going to use"}),"\n",(0,o.jsx)(n.p,{children:"At one point in time, we agreed on naming standards for all component attributes. That way we made sure that you wouldn't get any collisions when using multiple components. So we said it is ok to spread all attributes to the component and let the component handle what it needs. Well, that approach is ok but it can bite you in the a.. at the point that you least expect."}),"\n",(0,o.jsxs)(n.p,{children:["That is why we created ",(0,o.jsx)(n.a,{href:"helpers-javascript",children:"props helper"})," that determines what attributes are passed to what component depending on the dependency tree."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Let's set a layout for this example:"})}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["components","\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"heading"}),"\n",(0,o.jsx)(n.li,{children:"typography"}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["custom","\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"heading"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["You have block ",(0,o.jsx)(n.code,{children:"heading"})," that uses component ",(0,o.jsx)(n.code,{children:"heading"})," and that component uses another component called ",(0,o.jsx)(n.code,{children:"typography"}),".\nWe are putting only relevant code in the example:"]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/custom/heading/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n\t"blockName": "heading",\n\t"components": {\n\t\t"heading": "heading"\n\t},\n}\n'})}),"\n",(0,o.jsxs)(n.p,{children:["In the ",(0,o.jsx)(n.code,{children:"components"})," key, you must provide components that you are going to be using in this block. There are more options in the ",(0,o.jsx)(n.a,{href:"#i-want-to-use-one-heading-component-in-my-block",children:"example"})," at the beginning of this chapter."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/custom/heading/components/heading-editor.js"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"import React from 'react';\nimport { props } from '@eightshift/frontend-libs/scripts';\nimport { HeadingEditor as HeadingEditorComponent } from '../../../components/heading/components/heading-editor';\n\nexport const HeadingEditor = ({ attributes, setAttributes }) => {\n\treturn (\n\t\t<HeadingEditorComponent\n\t\t\t{...props('heading', attributes, {\n\t\t\t\tsetAttributes: setAttributes,\n\t\t\t})}\n\t\t/>\n\t);\n};\n"})}),"\n",(0,o.jsx)(n.p,{children:"In JavaScript, you spread the results of the props helper."}),"\n",(0,o.jsx)(n.p,{children:"The PHP template should look like this:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/custom/heading/heading.php"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-php",children:"<?php\n\n/**\n * Template for the Heading Block view.\n *\n * @package EightshiftBoilerplate\n */\n\nuse EightshiftBoilerplateVendor\\EightshiftLibs\\Helpers\\Components;\n\n?>\n\n<div>\n\t<?php\n\techo Components::render(\n\t\t'heading',\n\t\tComponents::props('heading', $attributes)\n\t);\n\t?>\n</div>\n"})}),"\n",(0,o.jsxs)(n.p,{children:["Now, let's see how the component ",(0,o.jsx)(n.code,{children:"heading"})," looks like."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/components/heading/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n\t"componentName": "heading",\n\t"components": {\n\t\t"heading": "typography"\n\t},\n}\n'})}),"\n",(0,o.jsxs)(n.p,{children:["In the ",(0,o.jsx)(n.code,{children:"heading"})," component we are using the ",(0,o.jsx)(n.code,{children:"typography"})," component but we are not using the default component name. Instead, we are changing the attribute name from ",(0,o.jsx)(n.code,{children:"typography"})," to ",(0,o.jsx)(n.code,{children:"heading"}),"."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/components/heading/components/heading-editor.js"})}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"The same is for options or toolbar components!"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"import React from 'react';\nimport { props } from '@eightshift/frontend-libs/scripts';\nimport { TypographyEditor } from './../../typography/components/typography-editor';\nimport manifest from './../manifest.json';\n\nexport const HeadingEditor = (attributes) => {\n\tconst {\n\t\tcomponentClass,\n\t} = manifest;\n\n\tconst {\n\t\tblockClass,\n\t} = attributes;\n\n\treturn (\n\t\t<TypographyEditor\n\t\t\t{...props('heading', attributes, {\n\t\t\t\tblockClass: componentClass,\n\t\t\t})}\n\t\t/>\n\t);\n};\n"})}),"\n",(0,o.jsx)(n.p,{children:"In this example, you can see that everything is the same as in the parent block."}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/components/heading/heading.php"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-php",children:"<?php\n\n/**\n * Template for the Heading Component.\n *\n * @package EightshiftBoilerplate\n */\n\nuse EightshiftBoilerplateVendor\\EightshiftLibs\\Helpers\\Components;\n\n$manifest = Components::getManifest(__DIR__);\n\n$componentClass = $manifest['componentClass'] ?? '';\n\necho Components::render(\n\t'typography',\n\tComponents::props('heading', $attributes, [\n\t\t'blockClass' => $componentClass\n\t])\n),\n"})}),"\n",(0,o.jsx)(n.p,{children:"The PHP part looks similar to the JS block part."}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Typography"})}),"\n",(0,o.jsx)(n.p,{children:"There is nothing special that you need to do in the last component in the tree other than following the attributes naming convention."}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Summing it all up"})}),"\n",(0,o.jsx)(n.p,{children:"Block:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"Components"})," key in the ",(0,o.jsx)(n.code,{children:"manifest.json"})," is used to provide/change the attribute names on the block registration process."]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"Props helper"})," will provide all the attributes used in the block and it will follow the dependency tree to the end so that all the attributes from the children components will also be provided as a result."]}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:"Components:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"Components"})," key in the ",(0,o.jsx)(n.code,{children:"manifest.json"})," is used to determine the dependency tree when passing the attributes from parent to children."]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"Props helper"})," will provide only those attributes that are used in the children's components recursively. The same as props helper in the block."]}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["For more details please read the ",(0,o.jsx)(n.a,{href:"helpers-javascript",children:"props helper docs"}),"."]}),"\n",(0,o.jsx)(n.admonition,{type:"tip",children:(0,o.jsx)(n.p,{children:"Avoid spreading attributes as props but rather use this helper because it provides only what is used in the component."})}),"\n",(0,o.jsx)(n.h3,{id:"passing-setattributes-to-components",children:"Passing setAttributes to components"}),"\n",(0,o.jsxs)(n.p,{children:["As we described earlier props helper knows what to pass to a child component but there are some wild cards here. When you are passing props from block to component you must pass setAttributes down as props but if if you are passing props from component to component you don't need to. This is because we added some automatic includes in our props helper that you can check ",(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/scripts/editor/attributes.js",children:"here"}),"."]}),"\n",(0,o.jsx)(n.h3,{id:"manually-overriding-attributes-from-the-code",children:"Manually overriding attributes from the code"}),"\n",(0,o.jsx)(n.p,{children:"You can also do this and this is why we created the third parameter in the props helper in order to be able to pass attributes via code and still be able to use automatic attributes prefixes that the props helper provides:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"<TypographyEditor\n\t{...props('typography', attributes, {\n\t\ttypographyContent: item,\n\t})}\n\tdisableEdit={true}\n/>\n"})}),"\n",(0,o.jsx)(n.p,{children:"typographyContent attribute will follow the naming prefix when passed to a child but the disableEdit will remain the same name in all the children."}),"\n",(0,o.jsx)(n.p,{children:"Any of the included attributes can be passed as the third parameter here, but they will not be prefixed:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"<ImageEditor\n\t{...props('image', attributes, {\n\t\tblockClass: componentClass,\n\t})}\n/>\n"})})]})}function d(e={}){const{wrapper:n}={...(0,s.M)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(c,{...e})}):c(e)}},44972:(e,n,t)=>{t.d(n,{c:()=>o});const o=t.p+"assets/images/attributes-1-b68f9798ba07c21636b26fef3de0f202.webp"},73564:(e,n,t)=>{t.d(n,{c:()=>o});const o=t.p+"assets/images/attributes-2-f47779c67174908485c045f80daef4ec.webp"},68264:(e,n,t)=>{t.d(n,{c:()=>o});const o=t.p+"assets/images/attributes-3-d4804b9a6810dbbb6295b65f8e8c70fd.webp"},4552:(e,n,t)=>{t.d(n,{I:()=>r,M:()=>a});var o=t(11504);const s={},i=o.createContext(s);function a(e){const n=o.useContext(i);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(s):e.components||s:a(e.components),o.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ea645227.82fb87ba.js b/assets/js/ea645227.82fb87ba.js deleted file mode 100644 index 15cc1a1f5..000000000 --- a/assets/js/ea645227.82fb87ba.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[83511],{90199:(e,o,n)=>{n.r(o),n.d(o,{assets:()=>r,contentTitle:()=>a,default:()=>h,frontMatter:()=>i,metadata:()=>l,toc:()=>c});var t=n(85893),s=n(11151);const i={id:"blocks-faq",title:"Faq"},a=void 0,l={id:"legacy/v8/basics/blocks-faq",title:"Faq",description:"docs-source",source:"@site/docs/legacy/v8/basics/blocks-faq.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/blocks-faq",permalink:"/docs/legacy/v8/basics/blocks-faq",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-faq",title:"Faq"},sidebar:"docs",previous:{title:"Important",permalink:"/docs/legacy/v8/basics/blocks-important"},next:{title:"Registration",permalink:"/docs/legacy/v8/basics/blocks-registration"}},r={},c=[{value:"Why do all my blocks look the same and have the same name structure?",id:"why-do-all-my-blocks-look-the-same-and-have-the-same-name-structure",level:3},{value:"What is the difference between components and blocks?",id:"what-is-the-difference-between-components-and-blocks",level:3},{value:"Do I need to have Storybook stories in my block?",id:"do-i-need-to-have-storybook-stories-in-my-block",level:3},{value:"Do you support block variations, and how can I use them?",id:"do-you-support-block-variations-and-how-can-i-use-them",level:3},{value:"Do you support patterns, and how can I use them?",id:"do-you-support-patterns-and-how-can-i-use-them",level:3},{value:"What is a wrapper?",id:"what-is-a-wrapper",level:3},{value:"Do you support inner blocks?",id:"do-you-support-inner-blocks",level:3},{value:"Why do you use manifest.json in all blocks and components?",id:"why-do-you-use-manifestjson-in-all-blocks-and-components",level:3},{value:"Why do you use global manifest.json?",id:"why-do-you-use-global-manifestjson",level:3},{value:"If I want to create a new block/component, what do I do?",id:"if-i-want-to-create-a-new-blockcomponent-what-do-i-do",level:3},{value:"What if I add a block and it throws an error that it is missing some components, what do I do?",id:"what-if-i-add-a-block-and-it-throws-an-error-that-it-is-missing-some-components-what-do-i-do",level:3},{value:"How can I use your pre-made blocks?",id:"how-can-i-use-your-pre-made-blocks",level:3},{value:"Can I use block/component from Eightshift-frontend-libs directly?",id:"can-i-use-blockcomponent-from-eightshift-frontend-libs-directly",level:3},{value:"I want to change attributes on inner blocks. How do I do it?",id:"i-want-to-change-attributes-on-inner-blocks-how-do-i-do-it",level:3},{value:"Do I need to write JS and PHP implementation for all my blocks?",id:"do-i-need-to-write-js-and-php-implementation-for-all-my-blocks",level:3},{value:"How do I use components in blocks?",id:"how-do-i-use-components-in-blocks",level:3},{value:"How do I use multiple heading components in my block?",id:"how-do-i-use-multiple-heading-components-in-my-block",level:3},{value:"Where can I define my global styles?",id:"where-can-i-define-my-global-styles",level:3},{value:"Where can I define global typography for all my blocks/components?",id:"where-can-i-define-global-typography-for-all-my-blockscomponents",level:3},{value:"Can I make a component with WP_Query logic in it?",id:"can-i-make-a-component-with-wp_query-logic-in-it",level:3},{value:"Do I need to make components for all my blocks?",id:"do-i-need-to-make-components-for-all-my-blocks",level:3},{value:"Will this setup work with full site editing?",id:"will-this-setup-work-with-full-site-editing",level:3},{value:"Can I use core blocks with your setup?",id:"can-i-use-core-blocks-with-your-setup",level:3},{value:"How can I limit my blocklist?",id:"how-can-i-limit-my-blocklist",level:3},{value:"How to allow only one pattern category?",id:"how-to-allow-only-one-pattern-category",level:3},{value:"Can I have blocks in multiple categories?",id:"can-i-have-blocks-in-multiple-categories",level:3},{value:"How can I add a new block category?",id:"how-can-i-add-a-new-block-category",level:3},{value:"What if you don't yet support something from the native setup? What can I do?",id:"what-if-you-dont-yet-support-something-from-the-native-setup-what-can-i-do",level:3},{value:"Why is my blocks folder called <code>custom</code> and not <code>blocks</code>, for example?",id:"why-is-my-blocks-folder-called-custom-and-not-blocks-for-example",level:3},{value:"In the global manifest, you have a key called \u201ccustomBlocksName\u201d: \u201ceightshift-block\u201d. Can I change this to my-project-name-block?",id:"in-the-global-manifest-you-have-a-key-called-customblocksname-eightshift-block-can-i-change-this-to-my-project-name-block",level:3},{value:"Simple vs Compound blocks",id:"simple-vs-compound-blocks",level:3},{value:"Naming is hard",id:"naming-is-hard",level:3}];function d(e){const o={a:"a",blockquote:"blockquote",code:"code",em:"em",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(o.p,{children:(0,t.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,t.jsx)(o.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsxs)(o.p,{children:["Before we dive into blocks and see how everything is set, we should describe this setup's mindset.\nIf you've managed to set up your project by this point with the ",(0,t.jsx)(o.a,{href:"wp-cli",children:"WP-CLI"})," command ",(0,t.jsx)(o.code,{children:"init theme"}),", you might have a few questions. We will try to answer all those questions here."]}),"\n",(0,t.jsx)(o.h3,{id:"why-do-all-my-blocks-look-the-same-and-have-the-same-name-structure",children:"Why do all my blocks look the same and have the same name structure?"}),"\n",(0,t.jsxs)(o.p,{children:["This is so because we defined the name structure for all our blocks and components to load everything automatically. For more information, please check the ",(0,t.jsx)(o.a,{href:"block-structure",children:"block structure"})," and ",(0,t.jsx)(o.a,{href:"blocks-component-structure",children:"component structure"})," chapters."]}),"\n",(0,t.jsx)(o.h3,{id:"what-is-the-difference-between-components-and-blocks",children:"What is the difference between components and blocks?"}),"\n",(0,t.jsxs)(o.p,{children:["The main difference is that blocks are available in the block editor's block picker, and components are not. With that being said, blocks are registered using the ",(0,t.jsx)(o.code,{children:"registerBlockType"})," method, and components are just here for you to bundle some functionality in one place and reuse it wherever you need."]}),"\n",(0,t.jsxs)(o.p,{children:["For more information about blocks, read the ",(0,t.jsx)(o.a,{href:"block-structure",children:"block structure"})," chapter. To find out more about components, read the ",(0,t.jsx)(o.a,{href:"blocks-component-structure",children:"component structure"})," chapter."]}),"\n",(0,t.jsx)(o.h3,{id:"do-i-need-to-have-storybook-stories-in-my-block",children:"Do I need to have Storybook stories in my block?"}),"\n",(0,t.jsx)(o.p,{children:"No, you don't. But we provided you with the ability to use the Storybook for all of your blocks and components. Why not use it? It will speed up your development time. Trust us. \ud83d\ude42"}),"\n",(0,t.jsxs)(o.p,{children:["For more details on how to write stories, check out ",(0,t.jsx)(o.a,{href:"blocks-storybook",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"do-you-support-block-variations-and-how-can-i-use-them",children:"Do you support block variations, and how can I use them?"}),"\n",(0,t.jsxs)(o.p,{children:["Yes, we do. All block variations are located in the ",(0,t.jsx)(o.code,{children:"src/Blocks/variations"})," folder. For more information about this, please check the ",(0,t.jsx)(o.a,{href:"blocks-variations",children:"variations"})," chapter."]}),"\n",(0,t.jsx)(o.h3,{id:"do-you-support-patterns-and-how-can-i-use-them",children:"Do you support patterns, and how can I use them?"}),"\n",(0,t.jsxs)(o.p,{children:["Yes, we do. For more information, please read the ",(0,t.jsx)(o.a,{href:"blocks-patterns",children:"patterns"})," chapter."]}),"\n",(0,t.jsx)(o.h3,{id:"what-is-a-wrapper",children:"What is a wrapper?"}),"\n",(0,t.jsxs)(o.p,{children:["Read about wrappers in ",(0,t.jsx)(o.a,{href:"blocks-wrapper",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"do-you-support-inner-blocks",children:"Do you support inner blocks?"}),"\n",(0,t.jsxs)(o.p,{children:["Yes, we support everything that the core natively supports. You can find more information on how to use them in ",(0,t.jsx)(o.a,{href:"block-manifest",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"why-do-you-use-manifestjson-in-all-blocks-and-components",children:"Why do you use manifest.json in all blocks and components?"}),"\n",(0,t.jsxs)(o.p,{children:["So that we can provide content, attributes, options, and much more across multiple different files in multiple contexts (in both PHP and JS). You can read all about it in ",(0,t.jsx)(o.a,{href:"block-manifest",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"why-do-you-use-global-manifestjson",children:"Why do you use global manifest.json?"}),"\n",(0,t.jsxs)(o.p,{children:["The answer is the same as the previous one. In the global ",(0,t.jsx)(o.code,{children:"manifest.json"}),", we have options that are shared across all blocks and components. Read more about it in ",(0,t.jsx)(o.a,{href:"blocks-global-manifest",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"if-i-want-to-create-a-new-blockcomponent-what-do-i-do",children:"If I want to create a new block/component, what do I do?"}),"\n",(0,t.jsx)(o.p,{children:"In your terminal, write"}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-shell",children:"wp boilerplate blocks use-block --name=example\n"})}),"\n",(0,t.jsx)(o.p,{children:"and style that block however you seem fit."}),"\n",(0,t.jsx)(o.h3,{id:"what-if-i-add-a-block-and-it-throws-an-error-that-it-is-missing-some-components-what-do-i-do",children:"What if I add a block and it throws an error that it is missing some components, what do I do?"}),"\n",(0,t.jsxs)(o.p,{children:["All blocks/components have some kind of documentation and in that documentation we have a list of dependencies each block/component needs to have in the project in order for it to work. For example you can look in the ",(0,t.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/custom/heading/docs/readme.mdx",children:"heading block"}),", as you can see the heading blocks depends on the heading component, so if you install a heading block before heading component it will resolve in to an error. So please be sure that your block/component installation follows the correct order."]}),"\n",(0,t.jsx)(o.h3,{id:"how-can-i-use-your-pre-made-blocks",children:"How can I use your pre-made blocks?"}),"\n",(0,t.jsx)(o.p,{children:"You can check all available blocks/components using these two commands"}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-shell",children:"wp boilerplate blocks use-block --help\n\nwp boilerplate blocks use-component --help\n"})}),"\n",(0,t.jsx)(o.h3,{id:"can-i-use-blockcomponent-from-eightshift-frontend-libs-directly",children:"Can I use block/component from Eightshift-frontend-libs directly?"}),"\n",(0,t.jsxs)(o.p,{children:["It depends. You can't use things from the blocks folder like ",(0,t.jsx)(o.code,{children:"components"}),", ",(0,t.jsx)(o.code,{children:"custom"}),", ",(0,t.jsx)(o.code,{children:"variations"}),", ",(0,t.jsx)(o.code,{children:"wrapper"}),", etc. They are meant to be copied to your project, styled, and changed depending on your project's needs."]}),"\n",(0,t.jsxs)(o.p,{children:["You can move things from a block to your project using the commands described ",(0,t.jsx)(o.a,{href:"#how-can-i-use-your-pre-made-blocks",children:"above"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"i-want-to-change-attributes-on-inner-blocks-how-do-i-do-it",children:"I want to change attributes on inner blocks. How do I do it?"}),"\n",(0,t.jsxs)(o.p,{children:["We described how attributes are used and combined in ",(0,t.jsx)(o.a,{href:"blocks-attributes",children:"this chapter"})," and ",(0,t.jsx)(o.a,{href:"blocks-component-in-block",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"do-i-need-to-write-js-and-php-implementation-for-all-my-blocks",children:"Do I need to write JS and PHP implementation for all my blocks?"}),"\n",(0,t.jsx)(o.p,{children:"For a block, you must provide the JS and PHP implementations because it won't work without them."}),"\n",(0,t.jsx)(o.p,{children:"For components, if you are not using the JS part, you don't need to write one, but we recommend you do so because the JS part is used in Storybook."}),"\n",(0,t.jsxs)(o.p,{children:["If you have a more advanced block and don't benefit from writing the JS implementation of the block, you can always use the ",(0,t.jsx)(o.a,{href:"https://developer.wordpress.org/block-editor/packages/packages-server-side-render/",children:"ServerSideRender component"})," form the core. If you have no inputs in the editor from the admin, there is no need to write JS implementation of the block. Just use ",(0,t.jsx)(o.code,{children:"ServerSideRender"})," component in that case."]}),"\n",(0,t.jsx)(o.h3,{id:"how-do-i-use-components-in-blocks",children:"How do I use components in blocks?"}),"\n",(0,t.jsxs)(o.p,{children:["Please check out ",(0,t.jsx)(o.a,{href:"blocks-component-in-block",children:"this chapter"})," for more information."]}),"\n",(0,t.jsx)(o.h3,{id:"how-do-i-use-multiple-heading-components-in-my-block",children:"How do I use multiple heading components in my block?"}),"\n",(0,t.jsxs)(o.p,{children:["You can follow the instructions given in ",(0,t.jsx)(o.a,{href:"blocks-component-in-block",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"where-can-i-define-my-global-styles",children:"Where can I define my global styles?"}),"\n",(0,t.jsxs)(o.p,{children:["You can follow the instructions given in ",(0,t.jsx)(o.a,{href:"writing-styles",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"where-can-i-define-global-typography-for-all-my-blockscomponents",children:"Where can I define global typography for all my blocks/components?"}),"\n",(0,t.jsxs)(o.p,{children:["You can follow the instructions given in ",(0,t.jsx)(o.a,{href:"writing-styles",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"can-i-make-a-component-with-wp_query-logic-in-it",children:"Can I make a component with WP_Query logic in it?"}),"\n",(0,t.jsx)(o.p,{children:"Yes, you can, but think of the component as a dumb and simple piece of code that should not hold any business logic. A component should only be used as a view. If you need to write WP_Query logic, you can do that in a block and just pass the data to your component as props."}),"\n",(0,t.jsx)(o.h3,{id:"do-i-need-to-make-components-for-all-my-blocks",children:"Do I need to make components for all my blocks?"}),"\n",(0,t.jsx)(o.p,{children:"No, it might look like that from the examples provided, but that is not the case. You should create components depending on your needs."}),"\n",(0,t.jsx)(o.p,{children:"Ask yourself, will I reuse this functionality anywhere else?"}),"\n",(0,t.jsxs)(o.ul,{children:["\n",(0,t.jsxs)(o.li,{children:["If the answer is ",(0,t.jsx)(o.strong,{children:"yes"}),", create a component."]}),"\n",(0,t.jsxs)(o.li,{children:["If the answer is ",(0,t.jsx)(o.strong,{children:"no"}),", don't create a component."]}),"\n"]}),"\n",(0,t.jsx)(o.p,{children:"Our recommendation is not to burden yourself with components from the beginning. Start creating blocks and, if you find yourself in need of code that you already wrote, just extract it in a component."}),"\n",(0,t.jsx)(o.h3,{id:"will-this-setup-work-with-full-site-editing",children:"Will this setup work with full site editing?"}),"\n",(0,t.jsx)(o.p,{children:"Yes, it will. We are constantly upgrading this documentation and our code to say that it will work with full site editing. This boilerplate was made for the Infinum/Eightshift WordPress team, so we are constantly using it in our projects."}),"\n",(0,t.jsx)(o.h3,{id:"can-i-use-core-blocks-with-your-setup",children:"Can I use core blocks with your setup?"}),"\n",(0,t.jsx)(o.p,{children:"Yes, you can. We are working on the ability to override core blocks in our smart way. Until we make this work, you can use everything that is already defined in the core documentation."}),"\n",(0,t.jsx)(o.p,{children:"We avoid using core blocks because they add different class naming and additional markup that makes it harder to style things."}),"\n",(0,t.jsx)(o.p,{children:"Also, they are prone to breaking changes every several months, so we prefer to write our own implementation."}),"\n",(0,t.jsx)(o.h3,{id:"how-can-i-limit-my-blocklist",children:"How can I limit my blocklist?"}),"\n",(0,t.jsxs)(o.p,{children:["Easy. We have a method you can extend that limits your project's block to the only block from your project. You should put this filter in your project's ",(0,t.jsx)(o.code,{children:"src/Blocks/Blocks.php"})," file under the ",(0,t.jsx)(o.code,{children:"register"})," method:"]}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.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,t.jsxs)(o.blockquote,{children:["\n",(0,t.jsx)(o.p,{children:"Important note: For WordPress versions > 5 and < 5.8 you would need to use the example bellow."}),"\n"]}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-php",children:" // Limits the usage of only custom project blocks - legacy.\n add_filter('allowed_block_types', [ $this, 'getAllBlocksListOld' ], 10, 2);\n"})}),"\n",(0,t.jsx)(o.h3,{id:"how-to-allow-only-one-pattern-category",children:"How to allow only one pattern category?"}),"\n",(0,t.jsx)(o.p,{children:(0,t.jsx)(o.em,{children:"Coming soon"})}),"\n",(0,t.jsx)(o.h3,{id:"can-i-have-blocks-in-multiple-categories",children:"Can I have blocks in multiple categories?"}),"\n",(0,t.jsxs)(o.p,{children:["In your block manifest, you can define in what category your block will appear. You can create a new category for your project or use our category. We created our category called ",(0,t.jsx)(o.code,{children:"eightshift"})," using this filter:"]}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-php",children:" // Create a new custom category for custom blocks.\n add_filter('block_categories', [ $this, 'getCustomCategory' ]);\n"})}),"\n",(0,t.jsx)(o.h3,{id:"how-can-i-add-a-new-block-category",children:"How can I add a new block category?"}),"\n",(0,t.jsx)(o.p,{children:"You can provide your implementation, or you can extend our method for registering a custom category. Here is how you do it:"}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-php",children:"public function register(): void\n{\n // Create a new custom category for custom blocks.\n add_filter('block_categories', [ $this, 'getCustomCategory' ]);\n}\n\n /**\n * Create a custom category to assign all custom blocks\n *\n * This category will be shown on all blocks list in the \"Add Block\" button.\n *\n * @param array[] $categories Array of all block categories.\n * @param \\WP_Post $post Post being loaded.\n *\n * @return array[] Array of block categories.\n */\npublic function getCustomCategory(array $categories, \\WP_Post $post): array\n{\n return array_merge(\n parent::getCustomCategory($categories, $post),\n [\n [\n 'slug' => 'custom-category-name',\n 'title' => \\esc_html__('Custom Category', 'project-text-domain'),\n 'icon' => 'admin-settings',\n ],\n ]\n );\n}\n"})}),"\n",(0,t.jsx)(o.h3,{id:"what-if-you-dont-yet-support-something-from-the-native-setup-what-can-i-do",children:"What if you don't yet support something from the native setup? What can I do?"}),"\n",(0,t.jsxs)(o.p,{children:["As we described in ",(0,t.jsx)(o.a,{href:"blocks",children:"this chapter"}),", if we don't support something natively from the core or you can't find it in this documentation, you can always use it in the normal native way from the ",(0,t.jsx)(o.a,{href:"https://developer.wordpress.org/block-editor/tutorials/block-tutorial/",children:"WordPress documentation"}),". Also, if you think we are missing something, please open a ",(0,t.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/pulls",children:"pull request"})," or an ",(0,t.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/issues",children:"issue"})," on our GitHub repository."]}),"\n",(0,t.jsxs)(o.h3,{id:"why-is-my-blocks-folder-called-custom-and-not-blocks-for-example",children:["Why is my blocks folder called ",(0,t.jsx)(o.code,{children:"custom"})," and not ",(0,t.jsx)(o.code,{children:"blocks"}),", for example?"]}),"\n",(0,t.jsx)(o.p,{children:"The idea was to put all your custom blocks inside the custom folder and all core block in the core folder. This boilerplate is not designed only for your custom block, but you can use it as an ultimate block setup."}),"\n",(0,t.jsxs)(o.p,{children:["And folder structure ",(0,t.jsx)(o.code,{children:"src/Blocks/blocks"})," is kind of weird."]}),"\n",(0,t.jsx)(o.h3,{id:"in-the-global-manifest-you-have-a-key-called-customblocksname-eightshift-block-can-i-change-this-to-my-project-name-block",children:"In the global manifest, you have a key called \u201ccustomBlocksName\u201d: \u201ceightshift-block\u201d. Can I change this to my-project-name-block?"}),"\n",(0,t.jsx)(o.p,{children:"You can, but you shouldn't. We use this key to provide the CSS selectors on all our custom blocks in the block editor. Additional styles are added to this selector for the wrapper to work on full width and remove some of the native block editor styles."}),"\n",(0,t.jsx)(o.p,{children:"So don't remove or change this \ud83d\ude05."}),"\n",(0,t.jsx)(o.h3,{id:"simple-vs-compound-blocks",children:"Simple vs Compound blocks"}),"\n",(0,t.jsx)(o.p,{children:"In a nutshell, there is no difference between blocks. The WordPress core block is a block, but we like to make a distinction between what is simple and what is a compound block."}),"\n",(0,t.jsxs)(o.p,{children:[(0,t.jsx)(o.strong,{children:"Simple block"})," is a block that is used just as is and provides a small isolated functionality. For example: heading, paragraph, button, etc."]}),"\n",(0,t.jsxs)(o.p,{children:[(0,t.jsx)(o.strong,{children:"Compound block"})," is a block built from multiple components. For example: card, featured posts, etc"]}),"\n",(0,t.jsx)(o.h3,{id:"naming-is-hard",children:"Naming is hard"}),"\n",(0,t.jsx)(o.p,{children:(0,t.jsx)(o.em,{children:"There are only two hard things in Computer Science: cache invalidation and naming things. - Phil Karlton"})}),"\n",(0,t.jsx)(o.p,{children:"Yes, naming is hard, and no matter how long your development experience is you will always struggle with names for your components, block, files, variables, functions, etc."}),"\n",(0,t.jsx)(o.p,{children:"Here are some of our recommendations to ease your pain:"}),"\n",(0,t.jsxs)(o.ul,{children:["\n",(0,t.jsxs)(o.li,{children:["Always try to name your block based on ",(0,t.jsx)(o.strong,{children:"what they are"}),", rather than ",(0,t.jsx)(o.strong,{children:"what they will be used for"}),". For example, if you have a component card for custom post-type ",(0,t.jsx)(o.code,{children:"books"}),", you should never call this component ",(0,t.jsx)(o.code,{children:"card-book"}),". Instead, use a more generic name like ",(0,t.jsx)(o.code,{children:"card-product"}),"."]}),"\n",(0,t.jsx)(o.li,{children:"Make your names as generic as possible for better reusability, but specific enough to fully understand what the block/component is used for."}),"\n",(0,t.jsx)(o.li,{children:"Always think about the future. How can this feature be used in some other way?"}),"\n",(0,t.jsxs)(o.li,{children:['When naming your attributes ask yourself: "is this attribute going to be used in any other way?". For example, you have an attribute for adding font-weight: bold to your text. You can create an attribute called font-weight and set it as a ',(0,t.jsx)(o.code,{children:"boolean"})," type and that will be ok if you have only one font-weight. A better way would be to put it as a string and provide a ",(0,t.jsx)(o.code,{children:"SelectControl"})," component if there is any possibility that in the future you will have additional font-weight."]}),"\n",(0,t.jsxs)(o.li,{children:["Name booleans positively as a question. Example: ",(0,t.jsx)(o.code,{children:"isValid"}),", ",(0,t.jsx)(o.code,{children:"isLoading"}),", ",(0,t.jsx)(o.code,{children:"isComplete"}),"."]}),"\n",(0,t.jsx)(o.li,{children:"Don\u2019t hesitate to use longer names."}),"\n",(0,t.jsx)(o.li,{children:"Use singular names."}),"\n",(0,t.jsx)(o.li,{children:"The variables or functions should be named by their work: Name of variables/functions should always try to express their meaning without diving into the code base try to pack meaningful information inside the name."}),"\n",(0,t.jsx)(o.li,{children:"Naming should be simple enough to be understood by everyone: Using complex words to describe a simple thing only creates hassle while reading the code. Also, use simple English."}),"\n",(0,t.jsx)(o.li,{children:"You might not be the only person working on your particular project in the future. Think about the next person. Your naming will provide an insight into the process and project."}),"\n",(0,t.jsxs)(o.li,{children:[(0,t.jsx)(o.strong,{children:"BE CONSISTENT"}),"."]}),"\n"]})]})}function h(e={}){const{wrapper:o}={...(0,s.a)(),...e.components};return o?(0,t.jsx)(o,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},11151:(e,o,n)=>{n.d(o,{Z:()=>l,a:()=>a});var t=n(67294);const s={},i=t.createContext(s);function a(e){const o=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function l(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),t.createElement(i.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ea645227.9f812317.js b/assets/js/ea645227.9f812317.js new file mode 100644 index 000000000..8bd26709a --- /dev/null +++ b/assets/js/ea645227.9f812317.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[59404],{24736:(e,o,n)=>{n.r(o),n.d(o,{assets:()=>r,contentTitle:()=>a,default:()=>h,frontMatter:()=>i,metadata:()=>l,toc:()=>c});var t=n(17624),s=n(4552);const i={id:"blocks-faq",title:"Faq"},a=void 0,l={id:"legacy/v8/basics/blocks-faq",title:"Faq",description:"docs-source",source:"@site/docs/legacy/v8/basics/blocks-faq.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/blocks-faq",permalink:"/docs/legacy/v8/basics/blocks-faq",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-faq",title:"Faq"},sidebar:"docs",previous:{title:"Important",permalink:"/docs/legacy/v8/basics/blocks-important"},next:{title:"Registration",permalink:"/docs/legacy/v8/basics/blocks-registration"}},r={},c=[{value:"Why do all my blocks look the same and have the same name structure?",id:"why-do-all-my-blocks-look-the-same-and-have-the-same-name-structure",level:3},{value:"What is the difference between components and blocks?",id:"what-is-the-difference-between-components-and-blocks",level:3},{value:"Do I need to have Storybook stories in my block?",id:"do-i-need-to-have-storybook-stories-in-my-block",level:3},{value:"Do you support block variations, and how can I use them?",id:"do-you-support-block-variations-and-how-can-i-use-them",level:3},{value:"Do you support patterns, and how can I use them?",id:"do-you-support-patterns-and-how-can-i-use-them",level:3},{value:"What is a wrapper?",id:"what-is-a-wrapper",level:3},{value:"Do you support inner blocks?",id:"do-you-support-inner-blocks",level:3},{value:"Why do you use manifest.json in all blocks and components?",id:"why-do-you-use-manifestjson-in-all-blocks-and-components",level:3},{value:"Why do you use global manifest.json?",id:"why-do-you-use-global-manifestjson",level:3},{value:"If I want to create a new block/component, what do I do?",id:"if-i-want-to-create-a-new-blockcomponent-what-do-i-do",level:3},{value:"What if I add a block and it throws an error that it is missing some components, what do I do?",id:"what-if-i-add-a-block-and-it-throws-an-error-that-it-is-missing-some-components-what-do-i-do",level:3},{value:"How can I use your pre-made blocks?",id:"how-can-i-use-your-pre-made-blocks",level:3},{value:"Can I use block/component from Eightshift-frontend-libs directly?",id:"can-i-use-blockcomponent-from-eightshift-frontend-libs-directly",level:3},{value:"I want to change attributes on inner blocks. How do I do it?",id:"i-want-to-change-attributes-on-inner-blocks-how-do-i-do-it",level:3},{value:"Do I need to write JS and PHP implementation for all my blocks?",id:"do-i-need-to-write-js-and-php-implementation-for-all-my-blocks",level:3},{value:"How do I use components in blocks?",id:"how-do-i-use-components-in-blocks",level:3},{value:"How do I use multiple heading components in my block?",id:"how-do-i-use-multiple-heading-components-in-my-block",level:3},{value:"Where can I define my global styles?",id:"where-can-i-define-my-global-styles",level:3},{value:"Where can I define global typography for all my blocks/components?",id:"where-can-i-define-global-typography-for-all-my-blockscomponents",level:3},{value:"Can I make a component with WP_Query logic in it?",id:"can-i-make-a-component-with-wp_query-logic-in-it",level:3},{value:"Do I need to make components for all my blocks?",id:"do-i-need-to-make-components-for-all-my-blocks",level:3},{value:"Will this setup work with full site editing?",id:"will-this-setup-work-with-full-site-editing",level:3},{value:"Can I use core blocks with your setup?",id:"can-i-use-core-blocks-with-your-setup",level:3},{value:"How can I limit my blocklist?",id:"how-can-i-limit-my-blocklist",level:3},{value:"How to allow only one pattern category?",id:"how-to-allow-only-one-pattern-category",level:3},{value:"Can I have blocks in multiple categories?",id:"can-i-have-blocks-in-multiple-categories",level:3},{value:"How can I add a new block category?",id:"how-can-i-add-a-new-block-category",level:3},{value:"What if you don't yet support something from the native setup? What can I do?",id:"what-if-you-dont-yet-support-something-from-the-native-setup-what-can-i-do",level:3},{value:"Why is my blocks folder called <code>custom</code> and not <code>blocks</code>, for example?",id:"why-is-my-blocks-folder-called-custom-and-not-blocks-for-example",level:3},{value:"In the global manifest, you have a key called \u201ccustomBlocksName\u201d: \u201ceightshift-block\u201d. Can I change this to my-project-name-block?",id:"in-the-global-manifest-you-have-a-key-called-customblocksname-eightshift-block-can-i-change-this-to-my-project-name-block",level:3},{value:"Simple vs Compound blocks",id:"simple-vs-compound-blocks",level:3},{value:"Naming is hard",id:"naming-is-hard",level:3}];function d(e){const o={a:"a",blockquote:"blockquote",code:"code",em:"em",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(o.p,{children:(0,t.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,t.jsx)(o.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsxs)(o.p,{children:["Before we dive into blocks and see how everything is set, we should describe this setup's mindset.\nIf you've managed to set up your project by this point with the ",(0,t.jsx)(o.a,{href:"wp-cli",children:"WP-CLI"})," command ",(0,t.jsx)(o.code,{children:"init theme"}),", you might have a few questions. We will try to answer all those questions here."]}),"\n",(0,t.jsx)(o.h3,{id:"why-do-all-my-blocks-look-the-same-and-have-the-same-name-structure",children:"Why do all my blocks look the same and have the same name structure?"}),"\n",(0,t.jsxs)(o.p,{children:["This is so because we defined the name structure for all our blocks and components to load everything automatically. For more information, please check the ",(0,t.jsx)(o.a,{href:"block-structure",children:"block structure"})," and ",(0,t.jsx)(o.a,{href:"blocks-component-structure",children:"component structure"})," chapters."]}),"\n",(0,t.jsx)(o.h3,{id:"what-is-the-difference-between-components-and-blocks",children:"What is the difference between components and blocks?"}),"\n",(0,t.jsxs)(o.p,{children:["The main difference is that blocks are available in the block editor's block picker, and components are not. With that being said, blocks are registered using the ",(0,t.jsx)(o.code,{children:"registerBlockType"})," method, and components are just here for you to bundle some functionality in one place and reuse it wherever you need."]}),"\n",(0,t.jsxs)(o.p,{children:["For more information about blocks, read the ",(0,t.jsx)(o.a,{href:"block-structure",children:"block structure"})," chapter. To find out more about components, read the ",(0,t.jsx)(o.a,{href:"blocks-component-structure",children:"component structure"})," chapter."]}),"\n",(0,t.jsx)(o.h3,{id:"do-i-need-to-have-storybook-stories-in-my-block",children:"Do I need to have Storybook stories in my block?"}),"\n",(0,t.jsx)(o.p,{children:"No, you don't. But we provided you with the ability to use the Storybook for all of your blocks and components. Why not use it? It will speed up your development time. Trust us. \ud83d\ude42"}),"\n",(0,t.jsxs)(o.p,{children:["For more details on how to write stories, check out ",(0,t.jsx)(o.a,{href:"blocks-storybook",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"do-you-support-block-variations-and-how-can-i-use-them",children:"Do you support block variations, and how can I use them?"}),"\n",(0,t.jsxs)(o.p,{children:["Yes, we do. All block variations are located in the ",(0,t.jsx)(o.code,{children:"src/Blocks/variations"})," folder. For more information about this, please check the ",(0,t.jsx)(o.a,{href:"blocks-variations",children:"variations"})," chapter."]}),"\n",(0,t.jsx)(o.h3,{id:"do-you-support-patterns-and-how-can-i-use-them",children:"Do you support patterns, and how can I use them?"}),"\n",(0,t.jsxs)(o.p,{children:["Yes, we do. For more information, please read the ",(0,t.jsx)(o.a,{href:"blocks-patterns",children:"patterns"})," chapter."]}),"\n",(0,t.jsx)(o.h3,{id:"what-is-a-wrapper",children:"What is a wrapper?"}),"\n",(0,t.jsxs)(o.p,{children:["Read about wrappers in ",(0,t.jsx)(o.a,{href:"blocks-wrapper",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"do-you-support-inner-blocks",children:"Do you support inner blocks?"}),"\n",(0,t.jsxs)(o.p,{children:["Yes, we support everything that the core natively supports. You can find more information on how to use them in ",(0,t.jsx)(o.a,{href:"block-manifest",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"why-do-you-use-manifestjson-in-all-blocks-and-components",children:"Why do you use manifest.json in all blocks and components?"}),"\n",(0,t.jsxs)(o.p,{children:["So that we can provide content, attributes, options, and much more across multiple different files in multiple contexts (in both PHP and JS). You can read all about it in ",(0,t.jsx)(o.a,{href:"block-manifest",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"why-do-you-use-global-manifestjson",children:"Why do you use global manifest.json?"}),"\n",(0,t.jsxs)(o.p,{children:["The answer is the same as the previous one. In the global ",(0,t.jsx)(o.code,{children:"manifest.json"}),", we have options that are shared across all blocks and components. Read more about it in ",(0,t.jsx)(o.a,{href:"blocks-global-manifest",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"if-i-want-to-create-a-new-blockcomponent-what-do-i-do",children:"If I want to create a new block/component, what do I do?"}),"\n",(0,t.jsx)(o.p,{children:"In your terminal, write"}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-shell",children:"wp boilerplate blocks use-block --name=example\n"})}),"\n",(0,t.jsx)(o.p,{children:"and style that block however you seem fit."}),"\n",(0,t.jsx)(o.h3,{id:"what-if-i-add-a-block-and-it-throws-an-error-that-it-is-missing-some-components-what-do-i-do",children:"What if I add a block and it throws an error that it is missing some components, what do I do?"}),"\n",(0,t.jsxs)(o.p,{children:["All blocks/components have some kind of documentation and in that documentation we have a list of dependencies each block/component needs to have in the project in order for it to work. For example you can look in the ",(0,t.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/custom/heading/docs/readme.mdx",children:"heading block"}),", as you can see the heading blocks depends on the heading component, so if you install a heading block before heading component it will resolve in to an error. So please be sure that your block/component installation follows the correct order."]}),"\n",(0,t.jsx)(o.h3,{id:"how-can-i-use-your-pre-made-blocks",children:"How can I use your pre-made blocks?"}),"\n",(0,t.jsx)(o.p,{children:"You can check all available blocks/components using these two commands"}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-shell",children:"wp boilerplate blocks use-block --help\n\nwp boilerplate blocks use-component --help\n"})}),"\n",(0,t.jsx)(o.h3,{id:"can-i-use-blockcomponent-from-eightshift-frontend-libs-directly",children:"Can I use block/component from Eightshift-frontend-libs directly?"}),"\n",(0,t.jsxs)(o.p,{children:["It depends. You can't use things from the blocks folder like ",(0,t.jsx)(o.code,{children:"components"}),", ",(0,t.jsx)(o.code,{children:"custom"}),", ",(0,t.jsx)(o.code,{children:"variations"}),", ",(0,t.jsx)(o.code,{children:"wrapper"}),", etc. They are meant to be copied to your project, styled, and changed depending on your project's needs."]}),"\n",(0,t.jsxs)(o.p,{children:["You can move things from a block to your project using the commands described ",(0,t.jsx)(o.a,{href:"#how-can-i-use-your-pre-made-blocks",children:"above"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"i-want-to-change-attributes-on-inner-blocks-how-do-i-do-it",children:"I want to change attributes on inner blocks. How do I do it?"}),"\n",(0,t.jsxs)(o.p,{children:["We described how attributes are used and combined in ",(0,t.jsx)(o.a,{href:"blocks-attributes",children:"this chapter"})," and ",(0,t.jsx)(o.a,{href:"blocks-component-in-block",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"do-i-need-to-write-js-and-php-implementation-for-all-my-blocks",children:"Do I need to write JS and PHP implementation for all my blocks?"}),"\n",(0,t.jsx)(o.p,{children:"For a block, you must provide the JS and PHP implementations because it won't work without them."}),"\n",(0,t.jsx)(o.p,{children:"For components, if you are not using the JS part, you don't need to write one, but we recommend you do so because the JS part is used in Storybook."}),"\n",(0,t.jsxs)(o.p,{children:["If you have a more advanced block and don't benefit from writing the JS implementation of the block, you can always use the ",(0,t.jsx)(o.a,{href:"https://developer.wordpress.org/block-editor/packages/packages-server-side-render/",children:"ServerSideRender component"})," form the core. If you have no inputs in the editor from the admin, there is no need to write JS implementation of the block. Just use ",(0,t.jsx)(o.code,{children:"ServerSideRender"})," component in that case."]}),"\n",(0,t.jsx)(o.h3,{id:"how-do-i-use-components-in-blocks",children:"How do I use components in blocks?"}),"\n",(0,t.jsxs)(o.p,{children:["Please check out ",(0,t.jsx)(o.a,{href:"blocks-component-in-block",children:"this chapter"})," for more information."]}),"\n",(0,t.jsx)(o.h3,{id:"how-do-i-use-multiple-heading-components-in-my-block",children:"How do I use multiple heading components in my block?"}),"\n",(0,t.jsxs)(o.p,{children:["You can follow the instructions given in ",(0,t.jsx)(o.a,{href:"blocks-component-in-block",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"where-can-i-define-my-global-styles",children:"Where can I define my global styles?"}),"\n",(0,t.jsxs)(o.p,{children:["You can follow the instructions given in ",(0,t.jsx)(o.a,{href:"writing-styles",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"where-can-i-define-global-typography-for-all-my-blockscomponents",children:"Where can I define global typography for all my blocks/components?"}),"\n",(0,t.jsxs)(o.p,{children:["You can follow the instructions given in ",(0,t.jsx)(o.a,{href:"writing-styles",children:"this chapter"}),"."]}),"\n",(0,t.jsx)(o.h3,{id:"can-i-make-a-component-with-wp_query-logic-in-it",children:"Can I make a component with WP_Query logic in it?"}),"\n",(0,t.jsx)(o.p,{children:"Yes, you can, but think of the component as a dumb and simple piece of code that should not hold any business logic. A component should only be used as a view. If you need to write WP_Query logic, you can do that in a block and just pass the data to your component as props."}),"\n",(0,t.jsx)(o.h3,{id:"do-i-need-to-make-components-for-all-my-blocks",children:"Do I need to make components for all my blocks?"}),"\n",(0,t.jsx)(o.p,{children:"No, it might look like that from the examples provided, but that is not the case. You should create components depending on your needs."}),"\n",(0,t.jsx)(o.p,{children:"Ask yourself, will I reuse this functionality anywhere else?"}),"\n",(0,t.jsxs)(o.ul,{children:["\n",(0,t.jsxs)(o.li,{children:["If the answer is ",(0,t.jsx)(o.strong,{children:"yes"}),", create a component."]}),"\n",(0,t.jsxs)(o.li,{children:["If the answer is ",(0,t.jsx)(o.strong,{children:"no"}),", don't create a component."]}),"\n"]}),"\n",(0,t.jsx)(o.p,{children:"Our recommendation is not to burden yourself with components from the beginning. Start creating blocks and, if you find yourself in need of code that you already wrote, just extract it in a component."}),"\n",(0,t.jsx)(o.h3,{id:"will-this-setup-work-with-full-site-editing",children:"Will this setup work with full site editing?"}),"\n",(0,t.jsx)(o.p,{children:"Yes, it will. We are constantly upgrading this documentation and our code to say that it will work with full site editing. This boilerplate was made for the Infinum/Eightshift WordPress team, so we are constantly using it in our projects."}),"\n",(0,t.jsx)(o.h3,{id:"can-i-use-core-blocks-with-your-setup",children:"Can I use core blocks with your setup?"}),"\n",(0,t.jsx)(o.p,{children:"Yes, you can. We are working on the ability to override core blocks in our smart way. Until we make this work, you can use everything that is already defined in the core documentation."}),"\n",(0,t.jsx)(o.p,{children:"We avoid using core blocks because they add different class naming and additional markup that makes it harder to style things."}),"\n",(0,t.jsx)(o.p,{children:"Also, they are prone to breaking changes every several months, so we prefer to write our own implementation."}),"\n",(0,t.jsx)(o.h3,{id:"how-can-i-limit-my-blocklist",children:"How can I limit my blocklist?"}),"\n",(0,t.jsxs)(o.p,{children:["Easy. We have a method you can extend that limits your project's block to the only block from your project. You should put this filter in your project's ",(0,t.jsx)(o.code,{children:"src/Blocks/Blocks.php"})," file under the ",(0,t.jsx)(o.code,{children:"register"})," method:"]}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.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,t.jsxs)(o.blockquote,{children:["\n",(0,t.jsx)(o.p,{children:"Important note: For WordPress versions > 5 and < 5.8 you would need to use the example bellow."}),"\n"]}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-php",children:" // Limits the usage of only custom project blocks - legacy.\n add_filter('allowed_block_types', [ $this, 'getAllBlocksListOld' ], 10, 2);\n"})}),"\n",(0,t.jsx)(o.h3,{id:"how-to-allow-only-one-pattern-category",children:"How to allow only one pattern category?"}),"\n",(0,t.jsx)(o.p,{children:(0,t.jsx)(o.em,{children:"Coming soon"})}),"\n",(0,t.jsx)(o.h3,{id:"can-i-have-blocks-in-multiple-categories",children:"Can I have blocks in multiple categories?"}),"\n",(0,t.jsxs)(o.p,{children:["In your block manifest, you can define in what category your block will appear. You can create a new category for your project or use our category. We created our category called ",(0,t.jsx)(o.code,{children:"eightshift"})," using this filter:"]}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-php",children:" // Create a new custom category for custom blocks.\n add_filter('block_categories', [ $this, 'getCustomCategory' ]);\n"})}),"\n",(0,t.jsx)(o.h3,{id:"how-can-i-add-a-new-block-category",children:"How can I add a new block category?"}),"\n",(0,t.jsx)(o.p,{children:"You can provide your implementation, or you can extend our method for registering a custom category. Here is how you do it:"}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-php",children:"public function register(): void\n{\n // Create a new custom category for custom blocks.\n add_filter('block_categories', [ $this, 'getCustomCategory' ]);\n}\n\n /**\n * Create a custom category to assign all custom blocks\n *\n * This category will be shown on all blocks list in the \"Add Block\" button.\n *\n * @param array[] $categories Array of all block categories.\n * @param \\WP_Post $post Post being loaded.\n *\n * @return array[] Array of block categories.\n */\npublic function getCustomCategory(array $categories, \\WP_Post $post): array\n{\n return array_merge(\n parent::getCustomCategory($categories, $post),\n [\n [\n 'slug' => 'custom-category-name',\n 'title' => \\esc_html__('Custom Category', 'project-text-domain'),\n 'icon' => 'admin-settings',\n ],\n ]\n );\n}\n"})}),"\n",(0,t.jsx)(o.h3,{id:"what-if-you-dont-yet-support-something-from-the-native-setup-what-can-i-do",children:"What if you don't yet support something from the native setup? What can I do?"}),"\n",(0,t.jsxs)(o.p,{children:["As we described in ",(0,t.jsx)(o.a,{href:"blocks",children:"this chapter"}),", if we don't support something natively from the core or you can't find it in this documentation, you can always use it in the normal native way from the ",(0,t.jsx)(o.a,{href:"https://developer.wordpress.org/block-editor/tutorials/block-tutorial/",children:"WordPress documentation"}),". Also, if you think we are missing something, please open a ",(0,t.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/pulls",children:"pull request"})," or an ",(0,t.jsx)(o.a,{href:"https://github.com/infinum/eightshift-frontend-libs/issues",children:"issue"})," on our GitHub repository."]}),"\n",(0,t.jsxs)(o.h3,{id:"why-is-my-blocks-folder-called-custom-and-not-blocks-for-example",children:["Why is my blocks folder called ",(0,t.jsx)(o.code,{children:"custom"})," and not ",(0,t.jsx)(o.code,{children:"blocks"}),", for example?"]}),"\n",(0,t.jsx)(o.p,{children:"The idea was to put all your custom blocks inside the custom folder and all core block in the core folder. This boilerplate is not designed only for your custom block, but you can use it as an ultimate block setup."}),"\n",(0,t.jsxs)(o.p,{children:["And folder structure ",(0,t.jsx)(o.code,{children:"src/Blocks/blocks"})," is kind of weird."]}),"\n",(0,t.jsx)(o.h3,{id:"in-the-global-manifest-you-have-a-key-called-customblocksname-eightshift-block-can-i-change-this-to-my-project-name-block",children:"In the global manifest, you have a key called \u201ccustomBlocksName\u201d: \u201ceightshift-block\u201d. Can I change this to my-project-name-block?"}),"\n",(0,t.jsx)(o.p,{children:"You can, but you shouldn't. We use this key to provide the CSS selectors on all our custom blocks in the block editor. Additional styles are added to this selector for the wrapper to work on full width and remove some of the native block editor styles."}),"\n",(0,t.jsx)(o.p,{children:"So don't remove or change this \ud83d\ude05."}),"\n",(0,t.jsx)(o.h3,{id:"simple-vs-compound-blocks",children:"Simple vs Compound blocks"}),"\n",(0,t.jsx)(o.p,{children:"In a nutshell, there is no difference between blocks. The WordPress core block is a block, but we like to make a distinction between what is simple and what is a compound block."}),"\n",(0,t.jsxs)(o.p,{children:[(0,t.jsx)(o.strong,{children:"Simple block"})," is a block that is used just as is and provides a small isolated functionality. For example: heading, paragraph, button, etc."]}),"\n",(0,t.jsxs)(o.p,{children:[(0,t.jsx)(o.strong,{children:"Compound block"})," is a block built from multiple components. For example: card, featured posts, etc"]}),"\n",(0,t.jsx)(o.h3,{id:"naming-is-hard",children:"Naming is hard"}),"\n",(0,t.jsx)(o.p,{children:(0,t.jsx)(o.em,{children:"There are only two hard things in Computer Science: cache invalidation and naming things. - Phil Karlton"})}),"\n",(0,t.jsx)(o.p,{children:"Yes, naming is hard, and no matter how long your development experience is you will always struggle with names for your components, block, files, variables, functions, etc."}),"\n",(0,t.jsx)(o.p,{children:"Here are some of our recommendations to ease your pain:"}),"\n",(0,t.jsxs)(o.ul,{children:["\n",(0,t.jsxs)(o.li,{children:["Always try to name your block based on ",(0,t.jsx)(o.strong,{children:"what they are"}),", rather than ",(0,t.jsx)(o.strong,{children:"what they will be used for"}),". For example, if you have a component card for custom post-type ",(0,t.jsx)(o.code,{children:"books"}),", you should never call this component ",(0,t.jsx)(o.code,{children:"card-book"}),". Instead, use a more generic name like ",(0,t.jsx)(o.code,{children:"card-product"}),"."]}),"\n",(0,t.jsx)(o.li,{children:"Make your names as generic as possible for better reusability, but specific enough to fully understand what the block/component is used for."}),"\n",(0,t.jsx)(o.li,{children:"Always think about the future. How can this feature be used in some other way?"}),"\n",(0,t.jsxs)(o.li,{children:['When naming your attributes ask yourself: "is this attribute going to be used in any other way?". For example, you have an attribute for adding font-weight: bold to your text. You can create an attribute called font-weight and set it as a ',(0,t.jsx)(o.code,{children:"boolean"})," type and that will be ok if you have only one font-weight. A better way would be to put it as a string and provide a ",(0,t.jsx)(o.code,{children:"SelectControl"})," component if there is any possibility that in the future you will have additional font-weight."]}),"\n",(0,t.jsxs)(o.li,{children:["Name booleans positively as a question. Example: ",(0,t.jsx)(o.code,{children:"isValid"}),", ",(0,t.jsx)(o.code,{children:"isLoading"}),", ",(0,t.jsx)(o.code,{children:"isComplete"}),"."]}),"\n",(0,t.jsx)(o.li,{children:"Don\u2019t hesitate to use longer names."}),"\n",(0,t.jsx)(o.li,{children:"Use singular names."}),"\n",(0,t.jsx)(o.li,{children:"The variables or functions should be named by their work: Name of variables/functions should always try to express their meaning without diving into the code base try to pack meaningful information inside the name."}),"\n",(0,t.jsx)(o.li,{children:"Naming should be simple enough to be understood by everyone: Using complex words to describe a simple thing only creates hassle while reading the code. Also, use simple English."}),"\n",(0,t.jsx)(o.li,{children:"You might not be the only person working on your particular project in the future. Think about the next person. Your naming will provide an insight into the process and project."}),"\n",(0,t.jsxs)(o.li,{children:[(0,t.jsx)(o.strong,{children:"BE CONSISTENT"}),"."]}),"\n"]})]})}function h(e={}){const{wrapper:o}={...(0,s.M)(),...e.components};return o?(0,t.jsx)(o,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},4552:(e,o,n)=>{n.d(o,{I:()=>l,M:()=>a});var t=n(11504);const s={},i=t.createContext(s);function a(e){const o=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function l(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),t.createElement(i.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/eaffcef6.410d9bcc.js b/assets/js/eaffcef6.410d9bcc.js deleted file mode 100644 index dad2fb6cf..000000000 --- a/assets/js/eaffcef6.410d9bcc.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[51566],{68397:(e,a,i)=>{i.r(a),i.d(a,{assets:()=>l,contentTitle:()=>s,default:()=>_,frontMatter:()=>r,metadata:()=>c,toc:()=>o});var t=i(85893),n=i(11151);const r={id:"active-campaign",title:"Active Campaign"},s=void 0,c={id:"php/global-variables/integrations/active-campaign",title:"Active Campaign",description:"ESAPIKEYACTIVECAMPAIGN",source:"@site/forms/php/global-variables/integrations/active-campaign.md",sourceDirName:"php/global-variables/integrations",slug:"/php/global-variables/integrations/active-campaign",permalink:"/forms/php/global-variables/integrations/active-campaign",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"active-campaign",title:"Active Campaign"},sidebar:"forms",previous:{title:"Google reCaptcha",permalink:"/forms/php/global-variables/google-recaptcha"},next:{title:"Airtable",permalink:"/forms/php/global-variables/integrations/airtable"}},l={},o=[{value:"ES_API_KEY_ACTIVE_CAMPAIGN",id:"es_api_key_active_campaign",level:3},{value:"ES_API_URL_ACTIVE_CAMPAIGN",id:"es_api_url_active_campaign",level:3}];function p(e){const a={code:"code",h3:"h3",p:"p",pre:"pre",...(0,n.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(a.h3,{id:"es_api_key_active_campaign",children:"ES_API_KEY_ACTIVE_CAMPAIGN"}),"\n",(0,t.jsx)(a.p,{children:"This variable will set the ActiveCampaign integration API key."}),"\n",(0,t.jsx)(a.pre,{children:(0,t.jsx)(a.code,{className:"language-php",children:"define('ES_API_KEY_ACTIVE_CAMPAIGN', '<api-key>');\n"})}),"\n",(0,t.jsx)(a.h3,{id:"es_api_url_active_campaign",children:"ES_API_URL_ACTIVE_CAMPAIGN"}),"\n",(0,t.jsx)(a.p,{children:"This variable will set the ActiveCampaign integration API URL."}),"\n",(0,t.jsx)(a.pre,{children:(0,t.jsx)(a.code,{className:"language-php",children:"define('ES_API_URL_ACTIVE_CAMPAIGN', '<api-url-key>');\n"})})]})}function _(e={}){const{wrapper:a}={...(0,n.a)(),...e.components};return a?(0,t.jsx)(a,{...e,children:(0,t.jsx)(p,{...e})}):p(e)}},11151:(e,a,i)=>{i.d(a,{Z:()=>c,a:()=>s});var t=i(67294);const n={},r=t.createContext(n);function s(e){const a=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function c(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:s(e.components),t.createElement(r.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/eaffcef6.bf851fe0.js b/assets/js/eaffcef6.bf851fe0.js new file mode 100644 index 000000000..032c26319 --- /dev/null +++ b/assets/js/eaffcef6.bf851fe0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[31152],{57372:(e,a,i)=>{i.r(a),i.d(a,{assets:()=>l,contentTitle:()=>s,default:()=>_,frontMatter:()=>r,metadata:()=>c,toc:()=>o});var t=i(17624),n=i(4552);const r={id:"active-campaign",title:"Active Campaign"},s=void 0,c={id:"php/global-variables/integrations/active-campaign",title:"Active Campaign",description:"ESAPIKEYACTIVECAMPAIGN",source:"@site/forms/php/global-variables/integrations/active-campaign.md",sourceDirName:"php/global-variables/integrations",slug:"/php/global-variables/integrations/active-campaign",permalink:"/forms/php/global-variables/integrations/active-campaign",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"active-campaign",title:"Active Campaign"},sidebar:"forms",previous:{title:"Google reCaptcha",permalink:"/forms/php/global-variables/google-recaptcha"},next:{title:"Airtable",permalink:"/forms/php/global-variables/integrations/airtable"}},l={},o=[{value:"ES_API_KEY_ACTIVE_CAMPAIGN",id:"es_api_key_active_campaign",level:3},{value:"ES_API_URL_ACTIVE_CAMPAIGN",id:"es_api_url_active_campaign",level:3}];function p(e){const a={code:"code",h3:"h3",p:"p",pre:"pre",...(0,n.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(a.h3,{id:"es_api_key_active_campaign",children:"ES_API_KEY_ACTIVE_CAMPAIGN"}),"\n",(0,t.jsx)(a.p,{children:"This variable will set the ActiveCampaign integration API key."}),"\n",(0,t.jsx)(a.pre,{children:(0,t.jsx)(a.code,{className:"language-php",children:"define('ES_API_KEY_ACTIVE_CAMPAIGN', '<api-key>');\n"})}),"\n",(0,t.jsx)(a.h3,{id:"es_api_url_active_campaign",children:"ES_API_URL_ACTIVE_CAMPAIGN"}),"\n",(0,t.jsx)(a.p,{children:"This variable will set the ActiveCampaign integration API URL."}),"\n",(0,t.jsx)(a.pre,{children:(0,t.jsx)(a.code,{className:"language-php",children:"define('ES_API_URL_ACTIVE_CAMPAIGN', '<api-url-key>');\n"})})]})}function _(e={}){const{wrapper:a}={...(0,n.M)(),...e.components};return a?(0,t.jsx)(a,{...e,children:(0,t.jsx)(p,{...e})}):p(e)}},4552:(e,a,i)=>{i.d(a,{I:()=>c,M:()=>s});var t=i(11504);const n={},r=t.createContext(n);function s(e){const a=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function c(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:s(e.components),t.createElement(r.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ebfee794.522ace0f.js b/assets/js/ebfee794.522ace0f.js new file mode 100644 index 000000000..9a2b0c036 --- /dev/null +++ b/assets/js/ebfee794.522ace0f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[24216],{59304:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>d,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var s=i(17624),n=i(4552);const o={id:"welcome",title:"Welcome"},r=void 0,l={id:"welcome",title:"Welcome",description:"Eightshift Development Kit is a modern, developer-friendly solution that makes building large, feature-rich WordPress projects painless.",source:"@site/docs/welcome.md",sourceDirName:".",slug:"/welcome",permalink:"/docs/welcome",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"welcome",title:"Welcome"},sidebar:"docs",next:{title:"Eightshift Libs",permalink:"/docs/eightshift-libs"}},a={},c=[{value:"Features",id:"features",level:3},{value:"Parts of the Development Kit",id:"parts-of-the-development-kit",level:3},{value:"Eightshift Libs - docs | github",id:"eightshift-libs---docs--github",level:4},{value:"Eightshift Frontend Libs - docs | github",id:"eightshift-frontend-libs---docs--github",level:4},{value:"Boilerplate",id:"boilerplate",level:4}];function h(e){const t={a:"a",code:"code",em:"em",h3:"h3",h4:"h4",li:"li",p:"p",strong:"strong",ul:"ul",...(0,n.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:"Eightshift Development Kit is a modern, developer-friendly solution that makes building large, feature-rich WordPress projects painless.\nIt contains all the tools you need to start building a modern WordPress theme or plugin, using battle-tested front-end and back-end development tools and practices."}),"\n",(0,s.jsx)(t.h3,{id:"features",children:"Features"}),"\n",(0,s.jsx)(t.p,{children:"The Eightshift Development Kit provides you with a lot of useful features, so let's take a quick look at some of the core ones:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Custom Block Editor blocks"})," - Using automatic block registration and attribute handling features, building dynamic Gutenberg blocks with the Eightshift Development Kit is a joy. We also provide an extensive library of blocks and components that you can use and customize in your projects.","\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Dynamic blocks"})," - The Eightshift Development Kit is focused on supporting dynamic blocks, a type of WordPress blocks that are rendered from attributes instead of being serialized as HTML. Dynamic blocks allow you more flexibility when developing and avoid issues with Gutenberg's validation, ensuring you can ship new features and update existing blocks in record time."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Components"})," - Extract commonly used parts into ",(0,s.jsx)(t.em,{children:"components"}),". Manage attributes on the component level. Use powerful composition features to build blocks from multiple components, or even multiple instances of them without worrying about attribute registration. It's a game-changer."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"The Manifest"})," - Every block and component has a ",(0,s.jsx)(t.code,{children:"manifest.json"})," file, which is a single source of truth for metadata about your block."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Sustainable coding practices"})," - All our code follows battle-tested programming practices.","\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"OOP"})," - Object-oriented programming is at the core of the Development Kit. Extend our classes or replace them entirely. Need to build a new WP-CLI command? ",(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/develop/src/Cli",children:"There's an abstract class for that."})]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"DI"})," - Eightshift Development Kit ships with a dependency injection container set up out of the box."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Code style"})," - Linters for PHP, JavaScript and SCSS ship out of the box, helping you write better code. Also, all of our code ",(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-coding-standards/",children:"follows Eightshift Coding Standards"})," - consistency assured."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Unit tests"})," - We use Pest and Jest to run unit tests on our code, catching bugs early."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Great documentation"})," - Apart from this website, everything in the code is commented and covered with Docblocks."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"WP-CLI"})," - Eightshift Development Kit provides amazing WP-CLI tooling. Import blocks and components from our collection. Build custom commands with ease. Include Development Kit features at will."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Frontend build processes"})," - Eightshift Development Kit comes with Webpack preconfigured. Tweak it to your needs or keep our defaults - it's up to you. Vendor prefixes? Polyfills? SCSS compilation? Asset minification? All taken care of!"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"First-class CSS variables"})," - Forget about conditional classnames: build out CSS variables from attribute values and scope them to a particular block with almost no code."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Cache busting"})," - Each time you build assets, we generate a new URL for each asset file. This means you'll never see the old cached version while developing or after pushing your code to production."]}),"\n"]}),"\n",(0,s.jsx)(t.h3,{id:"parts-of-the-development-kit",children:"Parts of the Development Kit"}),"\n",(0,s.jsx)(t.p,{children:"Eightshift Development Kit consists of a few separate projects. It's useful to know what they are, especially if you're contributing to the Development Kit."}),"\n",(0,s.jsxs)(t.h4,{id:"eightshift-libs---docs--github",children:["Eightshift Libs - ",(0,s.jsx)(t.a,{href:"eightshift-libs",children:"docs"})," | ",(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs",children:"github"})]}),"\n",(0,s.jsx)(t.p,{children:"Eightshift Libs handles backend functionality and provides backend support for your projects. This includes abstract classes and interfaces for our core features, dependency injection, asset enqueuing, filter & actions and more."}),"\n",(0,s.jsxs)(t.h4,{id:"eightshift-frontend-libs---docs--github",children:["Eightshift Frontend Libs - ",(0,s.jsx)(t.a,{href:"eightshift-frontend-libs",children:"docs"})," | ",(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs",children:"github"})]}),"\n",(0,s.jsx)(t.p,{children:"Eightshift Frontend Libs houses our frontend code, including various helpers, JavaScript functionality, SCSS styles, and block and component defaults."}),"\n",(0,s.jsx)(t.h4,{id:"boilerplate",children:"Boilerplate"}),"\n",(0,s.jsxs)(t.p,{children:["We provide ",(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-boilerplate",children:"boilerplates for themes"})," and ",(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-boilerplate-plugin/",children:"plugins"}),", so you can start building your project right away - without manually setting up the libraries above."]}),"\n",(0,s.jsxs)(t.p,{children:["The easiest way to set up the Development Kit is to use the ",(0,s.jsx)(t.code,{children:"npx create-wp-project"})," command, which we'll go into further detail about in the following chapters."]})]})}function d(e={}){const{wrapper:t}={...(0,n.M)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},4552:(e,t,i)=>{i.d(t,{I:()=>l,M:()=>r});var s=i(11504);const n={},o=s.createContext(n);function r(e){const t=s.useContext(o);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(n):e.components||n:r(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ebfee794.d08daa2b.js b/assets/js/ebfee794.d08daa2b.js deleted file mode 100644 index 6d6a380c3..000000000 --- a/assets/js/ebfee794.d08daa2b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[87305],{79385:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>d,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var s=i(85893),n=i(11151);const o={id:"welcome",title:"Welcome"},r=void 0,l={id:"welcome",title:"Welcome",description:"Eightshift Development Kit is a modern, developer-friendly solution that makes building large, feature-rich WordPress projects painless.",source:"@site/docs/welcome.md",sourceDirName:".",slug:"/welcome",permalink:"/docs/welcome",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"welcome",title:"Welcome"},sidebar:"docs",next:{title:"Eightshift Libs",permalink:"/docs/eightshift-libs"}},a={},c=[{value:"Features",id:"features",level:3},{value:"Parts of the Development Kit",id:"parts-of-the-development-kit",level:3},{value:"Eightshift Libs - docs | github",id:"eightshift-libs---docs--github",level:4},{value:"Eightshift Frontend Libs - docs | github",id:"eightshift-frontend-libs---docs--github",level:4},{value:"Boilerplate",id:"boilerplate",level:4}];function h(e){const t={a:"a",code:"code",em:"em",h3:"h3",h4:"h4",li:"li",p:"p",strong:"strong",ul:"ul",...(0,n.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:"Eightshift Development Kit is a modern, developer-friendly solution that makes building large, feature-rich WordPress projects painless.\nIt contains all the tools you need to start building a modern WordPress theme or plugin, using battle-tested front-end and back-end development tools and practices."}),"\n",(0,s.jsx)(t.h3,{id:"features",children:"Features"}),"\n",(0,s.jsx)(t.p,{children:"The Eightshift Development Kit provides you with a lot of useful features, so let's take a quick look at some of the core ones:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Custom Block Editor blocks"})," - Using automatic block registration and attribute handling features, building dynamic Gutenberg blocks with the Eightshift Development Kit is a joy. We also provide an extensive library of blocks and components that you can use and customize in your projects.","\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Dynamic blocks"})," - The Eightshift Development Kit is focused on supporting dynamic blocks, a type of WordPress blocks that are rendered from attributes instead of being serialized as HTML. Dynamic blocks allow you more flexibility when developing and avoid issues with Gutenberg's validation, ensuring you can ship new features and update existing blocks in record time."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Components"})," - Extract commonly used parts into ",(0,s.jsx)(t.em,{children:"components"}),". Manage attributes on the component level. Use powerful composition features to build blocks from multiple components, or even multiple instances of them without worrying about attribute registration. It's a game-changer."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"The Manifest"})," - Every block and component has a ",(0,s.jsx)(t.code,{children:"manifest.json"})," file, which is a single source of truth for metadata about your block."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Sustainable coding practices"})," - All our code follows battle-tested programming practices.","\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"OOP"})," - Object-oriented programming is at the core of the Development Kit. Extend our classes or replace them entirely. Need to build a new WP-CLI command? ",(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/develop/src/Cli",children:"There's an abstract class for that."})]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"DI"})," - Eightshift Development Kit ships with a dependency injection container set up out of the box."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Code style"})," - Linters for PHP, JavaScript and SCSS ship out of the box, helping you write better code. Also, all of our code ",(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-coding-standards/",children:"follows Eightshift Coding Standards"})," - consistency assured."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Unit tests"})," - We use Pest and Jest to run unit tests on our code, catching bugs early."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Great documentation"})," - Apart from this website, everything in the code is commented and covered with Docblocks."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"WP-CLI"})," - Eightshift Development Kit provides amazing WP-CLI tooling. Import blocks and components from our collection. Build custom commands with ease. Include Development Kit features at will."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Frontend build processes"})," - Eightshift Development Kit comes with Webpack preconfigured. Tweak it to your needs or keep our defaults - it's up to you. Vendor prefixes? Polyfills? SCSS compilation? Asset minification? All taken care of!"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"First-class CSS variables"})," - Forget about conditional classnames: build out CSS variables from attribute values and scope them to a particular block with almost no code."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Cache busting"})," - Each time you build assets, we generate a new URL for each asset file. This means you'll never see the old cached version while developing or after pushing your code to production."]}),"\n"]}),"\n",(0,s.jsx)(t.h3,{id:"parts-of-the-development-kit",children:"Parts of the Development Kit"}),"\n",(0,s.jsx)(t.p,{children:"Eightshift Development Kit consists of a few separate projects. It's useful to know what they are, especially if you're contributing to the Development Kit."}),"\n",(0,s.jsxs)(t.h4,{id:"eightshift-libs---docs--github",children:["Eightshift Libs - ",(0,s.jsx)(t.a,{href:"eightshift-libs",children:"docs"})," | ",(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs",children:"github"})]}),"\n",(0,s.jsx)(t.p,{children:"Eightshift Libs handles backend functionality and provides backend support for your projects. This includes abstract classes and interfaces for our core features, dependency injection, asset enqueuing, filter & actions and more."}),"\n",(0,s.jsxs)(t.h4,{id:"eightshift-frontend-libs---docs--github",children:["Eightshift Frontend Libs - ",(0,s.jsx)(t.a,{href:"eightshift-frontend-libs",children:"docs"})," | ",(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs",children:"github"})]}),"\n",(0,s.jsx)(t.p,{children:"Eightshift Frontend Libs houses our frontend code, including various helpers, JavaScript functionality, SCSS styles, and block and component defaults."}),"\n",(0,s.jsx)(t.h4,{id:"boilerplate",children:"Boilerplate"}),"\n",(0,s.jsxs)(t.p,{children:["We provide ",(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-boilerplate",children:"boilerplates for themes"})," and ",(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-boilerplate-plugin/",children:"plugins"}),", so you can start building your project right away - without manually setting up the libraries above."]}),"\n",(0,s.jsxs)(t.p,{children:["The easiest way to set up the Development Kit is to use the ",(0,s.jsx)(t.code,{children:"npx create-wp-project"})," command, which we'll go into further detail about in the following chapters."]})]})}function d(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},11151:(e,t,i)=>{i.d(t,{Z:()=>l,a:()=>r});var s=i(67294);const n={},o=s.createContext(n);function r(e){const t=s.useContext(o);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(n):e.components||n:r(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ec5d0804.6fb74092.js b/assets/js/ec5d0804.6fb74092.js deleted file mode 100644 index 8b341538e..000000000 --- a/assets/js/ec5d0804.6fb74092.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[67702],{81647:(n,e,s)=>{s.r(e),s.d(e,{assets:()=>a,contentTitle:()=>o,default:()=>m,frontMatter:()=>r,metadata:()=>c,toc:()=>i});var t=s(85893),l=s(11151);const r={id:"columns-user",title:"User"},o=void 0,c={id:"legacy/v4/guides/columns-user",title:"User",description:"docs-source",source:"@site/docs/legacy/v4/guides/columns-user.md",sourceDirName:"legacy/v4/guides",slug:"/legacy/v4/guides/columns-user",permalink:"/docs/legacy/v4/guides/columns-user",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"columns-user",title:"User"},sidebar:"docs",previous:{title:"Taxonomy",permalink:"/docs/legacy/v4/guides/columns-taxonomy"},next:{title:"Login",permalink:"/docs/legacy/v4/guides/login"}},a={},i=[{value:"Example:",id:"example",level:2}];function u(n){const e={a:"a",code:"code",h2:"h2",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",...(0,l.a)(),...n.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(e.p,{children:(0,t.jsx)(e.a,{href:"https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/columns/class-base-user-columns.php",children:(0,t.jsx)(e.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsxs)(e.p,{children:["User Column class is located in ",(0,t.jsx)(e.code,{children:"Eightshift Libs"}),". To extend it use ",(0,t.jsx)(e.code,{children:"Eightshift_Libs\\Columns\\Base_User_Columns"})," class."]}),"\n",(0,t.jsx)(e.h2,{id:"example",children:"Example:"}),"\n",(0,t.jsx)(e.p,{children:"To create custom user column:"}),"\n",(0,t.jsxs)(e.ol,{children:["\n",(0,t.jsxs)(e.li,{children:["make a new class ",(0,t.jsx)(e.code,{children:"src/columns/class-example-user-column.php"}),"."]}),"\n",(0,t.jsx)(e.li,{children:"implement all the methods provided in the example."}),"\n",(0,t.jsxs)(e.li,{children:["register the class inside the ",(0,t.jsx)(e.code,{children:"class-main.php"})," file."]}),"\n",(0,t.jsx)(e.li,{children:"dump autoload."}),"\n"]}),"\n",(0,t.jsx)(e.pre,{children:(0,t.jsx)(e.code,{className:"language-js",children:"<?php\n/**\n * Example_User_Column class file\n *\n * @since 1.1.0\n * @package Eightshift_Boilerplate\\Columns\n */\n\ndeclare( strict_types=1 );\n\nnamespace Eightshift_Boilerplate\\Columns;\n\n/**\n * Class Example_User_Column.\n */\nclass Example_User_Column extends Base_User_Columns {\n\n /**\n * Column name constant name.\n *\n * @var string\n */\n const COLUMN_NAME = 'example';\n\n /**\n * Add additional user columns to the columns array.\n *\n * @param array $columns The existing column names array with default user columns (title, author, date etc.).\n *\n * @return array Modified column names array.\n *\n * @since 2.0.5\n */\n public function add_column_name( array $columns ) : array {\n $columns[ static::COLUMN_NAME ] = esc_html__( 'Example', 'eightshift-boilerplate' );\n\n return $columns;\n }\n\n /**\n * Render the user column content in the custom user column\n *\n * @param string $output Custom column output. Default empty.\n * @param string $column_name Column name.\n * @param int $user_id ID of the currently-listed user.\n *\n * @return string Output based on the column name.\n *\n * @since 2.0.5\n */\n public function render_column_content( string $output, string $column_name, int $user_id ) : string {\n if ( $column_name === static::COLUMN_NAME ) {\n echo 'column value';\n }\n }\n\n /**\n * Make user columns sortable\n *\n * @param array $columns Array of columns.\n *\n * @return array Modified array of columns.\n *\n * @since 2.0.5\n */\n public function sort_added_columns( array $columns ) : array {\n $columns[ static::COLUMN_NAME ] = static::COLUMN_NAME;\n\n return $columns;\n };\n}\n\n"})})]})}function m(n={}){const{wrapper:e}={...(0,l.a)(),...n.components};return e?(0,t.jsx)(e,{...n,children:(0,t.jsx)(u,{...n})}):u(n)}},11151:(n,e,s)=>{s.d(e,{Z:()=>c,a:()=>o});var t=s(67294);const l={},r=t.createContext(l);function o(n){const e=t.useContext(r);return t.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function c(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(l):n.components||l:o(n.components),t.createElement(r.Provider,{value:e},n.children)}}}]); \ No newline at end of file diff --git a/assets/js/ec5d0804.ffbfcb1d.js b/assets/js/ec5d0804.ffbfcb1d.js new file mode 100644 index 000000000..9b019af95 --- /dev/null +++ b/assets/js/ec5d0804.ffbfcb1d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[75292],{12184:(n,e,s)=>{s.r(e),s.d(e,{assets:()=>a,contentTitle:()=>o,default:()=>m,frontMatter:()=>r,metadata:()=>c,toc:()=>i});var t=s(17624),l=s(4552);const r={id:"columns-user",title:"User"},o=void 0,c={id:"legacy/v4/guides/columns-user",title:"User",description:"docs-source",source:"@site/docs/legacy/v4/guides/columns-user.md",sourceDirName:"legacy/v4/guides",slug:"/legacy/v4/guides/columns-user",permalink:"/docs/legacy/v4/guides/columns-user",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"columns-user",title:"User"},sidebar:"docs",previous:{title:"Taxonomy",permalink:"/docs/legacy/v4/guides/columns-taxonomy"},next:{title:"Login",permalink:"/docs/legacy/v4/guides/login"}},a={},i=[{value:"Example:",id:"example",level:2}];function u(n){const e={a:"a",code:"code",h2:"h2",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",...(0,l.M)(),...n.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(e.p,{children:(0,t.jsx)(e.a,{href:"https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/columns/class-base-user-columns.php",children:(0,t.jsx)(e.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsxs)(e.p,{children:["User Column class is located in ",(0,t.jsx)(e.code,{children:"Eightshift Libs"}),". To extend it use ",(0,t.jsx)(e.code,{children:"Eightshift_Libs\\Columns\\Base_User_Columns"})," class."]}),"\n",(0,t.jsx)(e.h2,{id:"example",children:"Example:"}),"\n",(0,t.jsx)(e.p,{children:"To create custom user column:"}),"\n",(0,t.jsxs)(e.ol,{children:["\n",(0,t.jsxs)(e.li,{children:["make a new class ",(0,t.jsx)(e.code,{children:"src/columns/class-example-user-column.php"}),"."]}),"\n",(0,t.jsx)(e.li,{children:"implement all the methods provided in the example."}),"\n",(0,t.jsxs)(e.li,{children:["register the class inside the ",(0,t.jsx)(e.code,{children:"class-main.php"})," file."]}),"\n",(0,t.jsx)(e.li,{children:"dump autoload."}),"\n"]}),"\n",(0,t.jsx)(e.pre,{children:(0,t.jsx)(e.code,{className:"language-js",children:"<?php\n/**\n * Example_User_Column class file\n *\n * @since 1.1.0\n * @package Eightshift_Boilerplate\\Columns\n */\n\ndeclare( strict_types=1 );\n\nnamespace Eightshift_Boilerplate\\Columns;\n\n/**\n * Class Example_User_Column.\n */\nclass Example_User_Column extends Base_User_Columns {\n\n /**\n * Column name constant name.\n *\n * @var string\n */\n const COLUMN_NAME = 'example';\n\n /**\n * Add additional user columns to the columns array.\n *\n * @param array $columns The existing column names array with default user columns (title, author, date etc.).\n *\n * @return array Modified column names array.\n *\n * @since 2.0.5\n */\n public function add_column_name( array $columns ) : array {\n $columns[ static::COLUMN_NAME ] = esc_html__( 'Example', 'eightshift-boilerplate' );\n\n return $columns;\n }\n\n /**\n * Render the user column content in the custom user column\n *\n * @param string $output Custom column output. Default empty.\n * @param string $column_name Column name.\n * @param int $user_id ID of the currently-listed user.\n *\n * @return string Output based on the column name.\n *\n * @since 2.0.5\n */\n public function render_column_content( string $output, string $column_name, int $user_id ) : string {\n if ( $column_name === static::COLUMN_NAME ) {\n echo 'column value';\n }\n }\n\n /**\n * Make user columns sortable\n *\n * @param array $columns Array of columns.\n *\n * @return array Modified array of columns.\n *\n * @since 2.0.5\n */\n public function sort_added_columns( array $columns ) : array {\n $columns[ static::COLUMN_NAME ] = static::COLUMN_NAME;\n\n return $columns;\n };\n}\n\n"})})]})}function m(n={}){const{wrapper:e}={...(0,l.M)(),...n.components};return e?(0,t.jsx)(e,{...n,children:(0,t.jsx)(u,{...n})}):u(n)}},4552:(n,e,s)=>{s.d(e,{I:()=>c,M:()=>o});var t=s(11504);const l={},r=t.createContext(l);function o(n){const e=t.useContext(r);return t.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function c(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(l):n.components||l:o(n.components),t.createElement(r.Provider,{value:e},n.children)}}}]); \ No newline at end of file diff --git a/assets/js/ecf43748.3bdb26b9.js b/assets/js/ecf43748.3bdb26b9.js new file mode 100644 index 000000000..1bd9b9406 --- /dev/null +++ b/assets/js/ecf43748.3bdb26b9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[5160],{72404:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>p,frontMatter:()=>s,metadata:()=>c,toc:()=>o});var n=i(17624),r=i(4552);const s={id:"rest",title:"REST Intro"},a=void 0,c={id:"legacy/v8/basics/rest",title:"REST Intro",description:"docs-source",source:"@site/docs/legacy/v8/basics/rest.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/rest",permalink:"/docs/legacy/v8/basics/rest",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"rest",title:"REST Intro"},sidebar:"docs",previous:{title:"Assets Manifest",permalink:"/docs/legacy/v8/basics/manifest"},next:{title:"REST Field",permalink:"/docs/legacy/v8/basics/rest-field"}},l={},o=[{value:"CallableFieldInterface.php",id:"callablefieldinterfacephp",level:3},{value:"CallableRouteInterface.php",id:"callablerouteinterfacephp",level:3},{value:"RouteSecurityInterface.php",id:"routesecurityinterfacephp",level:3},{value:"RouteInterface.php",id:"routeinterfacephp",level:3},{value:"AbstractField.php",id:"abstractfieldphp",level:3},{value:"AbstractRoute.php",id:"abstractroutephp",level:3}];function d(e){const t={a:"a",code:"code",h3:"h3",img:"img",p:"p",...(0,r.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(t.p,{children:"Depending on the type of projects you are working on, you might need to create a new REST API route or add a new API field to an existing route."}),"\n",(0,n.jsx)(t.p,{children:"We have prepared four interfaces and two abstract classes for you."}),"\n",(0,n.jsx)(t.p,{children:"In general, you will only use what you need from the provided options."}),"\n",(0,n.jsx)(t.h3,{id:"callablefieldinterfacephp",children:"CallableFieldInterface.php"}),"\n",(0,n.jsx)(t.p,{children:"The interface used in REST API Fields for providing a callback method."}),"\n",(0,n.jsx)(t.h3,{id:"callablerouteinterfacephp",children:"CallableRouteInterface.php"}),"\n",(0,n.jsx)(t.p,{children:"The interface used in REST API Routes for providing a callback method."}),"\n",(0,n.jsx)(t.h3,{id:"routesecurityinterfacephp",children:"RouteSecurityInterface.php"}),"\n",(0,n.jsx)(t.p,{children:"The interface used in REST API Routes for providing authentication methods."}),"\n",(0,n.jsx)(t.h3,{id:"routeinterfacephp",children:"RouteInterface.php"}),"\n",(0,n.jsxs)(t.p,{children:["The interface used in REST API Routes for providing general options for your route, such as variables for ",(0,n.jsx)(t.code,{children:"READABLE"}),", ",(0,n.jsx)(t.code,{children:"CREATABLE"}),", etc..."]}),"\n",(0,n.jsx)(t.h3,{id:"abstractfieldphp",children:"AbstractField.php"}),"\n",(0,n.jsx)(t.p,{children:"Abstract class used in REST API Field for updating existing fields or providing a new field to the existing REST API."}),"\n",(0,n.jsxs)(t.p,{children:["Please check the implementation details in ",(0,n.jsx)(t.a,{href:"rest-field",children:"this example"}),"."]}),"\n",(0,n.jsx)(t.h3,{id:"abstractroutephp",children:"AbstractRoute.php"}),"\n",(0,n.jsx)(t.p,{children:"Abstract class used in REST API Route for adding a new REST API route."}),"\n",(0,n.jsxs)(t.p,{children:["Please check the implementation details in ",(0,n.jsx)(t.a,{href:"rest-route",children:"this example"}),"."]})]})}function p(e={}){const{wrapper:t}={...(0,r.M)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},4552:(e,t,i)=>{i.d(t,{I:()=>c,M:()=>a});var n=i(11504);const r={},s=n.createContext(r);function a(e){const t=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),n.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ecf43748.8d13331d.js b/assets/js/ecf43748.8d13331d.js deleted file mode 100644 index cf5501713..000000000 --- a/assets/js/ecf43748.8d13331d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[33658],{74740:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>p,frontMatter:()=>s,metadata:()=>c,toc:()=>o});var n=i(85893),r=i(11151);const s={id:"rest",title:"REST Intro"},a=void 0,c={id:"legacy/v8/basics/rest",title:"REST Intro",description:"docs-source",source:"@site/docs/legacy/v8/basics/rest.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/rest",permalink:"/docs/legacy/v8/basics/rest",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"rest",title:"REST Intro"},sidebar:"docs",previous:{title:"Assets Manifest",permalink:"/docs/legacy/v8/basics/manifest"},next:{title:"REST Field",permalink:"/docs/legacy/v8/basics/rest-field"}},l={},o=[{value:"CallableFieldInterface.php",id:"callablefieldinterfacephp",level:3},{value:"CallableRouteInterface.php",id:"callablerouteinterfacephp",level:3},{value:"RouteSecurityInterface.php",id:"routesecurityinterfacephp",level:3},{value:"RouteInterface.php",id:"routeinterfacephp",level:3},{value:"AbstractField.php",id:"abstractfieldphp",level:3},{value:"AbstractRoute.php",id:"abstractroutephp",level:3}];function d(e){const t={a:"a",code:"code",h3:"h3",img:"img",p:"p",...(0,r.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(t.p,{children:"Depending on the type of projects you are working on, you might need to create a new REST API route or add a new API field to an existing route."}),"\n",(0,n.jsx)(t.p,{children:"We have prepared four interfaces and two abstract classes for you."}),"\n",(0,n.jsx)(t.p,{children:"In general, you will only use what you need from the provided options."}),"\n",(0,n.jsx)(t.h3,{id:"callablefieldinterfacephp",children:"CallableFieldInterface.php"}),"\n",(0,n.jsx)(t.p,{children:"The interface used in REST API Fields for providing a callback method."}),"\n",(0,n.jsx)(t.h3,{id:"callablerouteinterfacephp",children:"CallableRouteInterface.php"}),"\n",(0,n.jsx)(t.p,{children:"The interface used in REST API Routes for providing a callback method."}),"\n",(0,n.jsx)(t.h3,{id:"routesecurityinterfacephp",children:"RouteSecurityInterface.php"}),"\n",(0,n.jsx)(t.p,{children:"The interface used in REST API Routes for providing authentication methods."}),"\n",(0,n.jsx)(t.h3,{id:"routeinterfacephp",children:"RouteInterface.php"}),"\n",(0,n.jsxs)(t.p,{children:["The interface used in REST API Routes for providing general options for your route, such as variables for ",(0,n.jsx)(t.code,{children:"READABLE"}),", ",(0,n.jsx)(t.code,{children:"CREATABLE"}),", etc..."]}),"\n",(0,n.jsx)(t.h3,{id:"abstractfieldphp",children:"AbstractField.php"}),"\n",(0,n.jsx)(t.p,{children:"Abstract class used in REST API Field for updating existing fields or providing a new field to the existing REST API."}),"\n",(0,n.jsxs)(t.p,{children:["Please check the implementation details in ",(0,n.jsx)(t.a,{href:"rest-field",children:"this example"}),"."]}),"\n",(0,n.jsx)(t.h3,{id:"abstractroutephp",children:"AbstractRoute.php"}),"\n",(0,n.jsx)(t.p,{children:"Abstract class used in REST API Route for adding a new REST API route."}),"\n",(0,n.jsxs)(t.p,{children:["Please check the implementation details in ",(0,n.jsx)(t.a,{href:"rest-route",children:"this example"}),"."]})]})}function p(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},11151:(e,t,i)=>{i.d(t,{Z:()=>c,a:()=>a});var n=i(67294);const r={},s=n.createContext(r);function a(e){const t=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),n.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ed133f89.e3ec197b.js b/assets/js/ed133f89.e3ec197b.js deleted file mode 100644 index 1c21cb23e..000000000 --- a/assets/js/ed133f89.e3ec197b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[26244],{10095:t=>{t.exports=JSON.parse('{"permalink":"/blog/tags/blocks","page":1,"postsPerPage":9,"totalPages":1,"totalCount":4,"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.ee8e35c2.js b/assets/js/ed133f89.ee8e35c2.js new file mode 100644 index 000000000..37f734aa5 --- /dev/null +++ b/assets/js/ed133f89.ee8e35c2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[18137],{52332:t=>{t.exports=JSON.parse('{"permalink":"/blog/tags/blocks","page":1,"postsPerPage":9,"totalPages":1,"totalCount":4,"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/ed3575d5.220be4a4.js b/assets/js/ed3575d5.220be4a4.js new file mode 100644 index 000000000..ead88aa38 --- /dev/null +++ b/assets/js/ed3575d5.220be4a4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[36721],{80820:(e,s,o)=>{o.r(s),o.d(s,{assets:()=>l,contentTitle:()=>c,default:()=>d,frontMatter:()=>n,metadata:()=>r,toc:()=>a});var t=o(17624),i=o(4552);const n={id:"blocks-hooks",title:"Hooks",sidebar_label:"Hooks"},c=void 0,r={id:"legacy/v5/basics/blocks-hooks",title:"Hooks",description:"docs-source",source:"@site/docs/legacy/v5/basics/blocks-hooks.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/blocks-hooks",permalink:"/docs/legacy/v5/basics/blocks-hooks",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-hooks",title:"Hooks",sidebar_label:"Hooks"},sidebar:"docs",previous:{title:"Transforms",permalink:"/docs/legacy/v5/basics/blocks-transforms"},next:{title:"Special Use Cases",permalink:"/docs/legacy/v5/basics/blocks-special-use-cases"}},l={},a=[];function h(e){const s={a:"a",img:"img",p:"p",...(0,i.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/",children:(0,t.jsx)(s.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsx)(s.p,{children:"WordPress block editor hooks provide the same functionalities as PHP hooks. They are used to modify the behavior of the existing blocks."}),"\n",(0,t.jsxs)(s.p,{children:["You can check the ",(0,t.jsx)(s.a,{href:"https://developer.wordpress.org/block-editor/developers/filters/block-filters/",children:"WordPress documentation"})," on this subject."]}),"\n",(0,t.jsx)(s.p,{children:"We didn't change anything here regarding the original documentation; we simply provided you with the structured file where you can write all your hooks."}),"\n",(0,t.jsxs)(s.p,{children:["Please follow this ",(0,t.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/Blocks/custom/column/column-hooks.js",children:"example"})," to get more insights on using hooks in your project."]})]})}function d(e={}){const{wrapper:s}={...(0,i.M)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(h,{...e})}):h(e)}},4552:(e,s,o)=>{o.d(s,{I:()=>r,M:()=>c});var t=o(11504);const i={},n=t.createContext(i);function c(e){const s=t.useContext(n);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:c(e.components),t.createElement(n.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ed3575d5.fa8f8948.js b/assets/js/ed3575d5.fa8f8948.js deleted file mode 100644 index c96d6632e..000000000 --- a/assets/js/ed3575d5.fa8f8948.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[11370],{53361:(e,s,o)=>{o.r(s),o.d(s,{assets:()=>l,contentTitle:()=>c,default:()=>d,frontMatter:()=>n,metadata:()=>r,toc:()=>a});var t=o(85893),i=o(11151);const n={id:"blocks-hooks",title:"Hooks",sidebar_label:"Hooks"},c=void 0,r={id:"legacy/v5/basics/blocks-hooks",title:"Hooks",description:"docs-source",source:"@site/docs/legacy/v5/basics/blocks-hooks.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/blocks-hooks",permalink:"/docs/legacy/v5/basics/blocks-hooks",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-hooks",title:"Hooks",sidebar_label:"Hooks"},sidebar:"docs",previous:{title:"Transforms",permalink:"/docs/legacy/v5/basics/blocks-transforms"},next:{title:"Special Use Cases",permalink:"/docs/legacy/v5/basics/blocks-special-use-cases"}},l={},a=[];function h(e){const s={a:"a",img:"img",p:"p",...(0,i.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/",children:(0,t.jsx)(s.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsx)(s.p,{children:"WordPress block editor hooks provide the same functionalities as PHP hooks. They are used to modify the behavior of the existing blocks."}),"\n",(0,t.jsxs)(s.p,{children:["You can check the ",(0,t.jsx)(s.a,{href:"https://developer.wordpress.org/block-editor/developers/filters/block-filters/",children:"WordPress documentation"})," on this subject."]}),"\n",(0,t.jsx)(s.p,{children:"We didn't change anything here regarding the original documentation; we simply provided you with the structured file where you can write all your hooks."}),"\n",(0,t.jsxs)(s.p,{children:["Please follow this ",(0,t.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/Blocks/custom/column/column-hooks.js",children:"example"})," to get more insights on using hooks in your project."]})]})}function d(e={}){const{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(h,{...e})}):h(e)}},11151:(e,s,o)=>{o.d(s,{Z:()=>r,a:()=>c});var t=o(67294);const i={},n=t.createContext(i);function c(e){const s=t.useContext(n);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:c(e.components),t.createElement(n.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ed480930.4b5144fb.js b/assets/js/ed480930.4b5144fb.js deleted file mode 100644 index 27a3d0a32..000000000 --- a/assets/js/ed480930.4b5144fb.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[76742],{43110:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>s,default:()=>u,frontMatter:()=>r,metadata:()=>a,toc:()=>l});var i=t(85893),o=t(11151);const r={id:"webpack",title:"Webpack"},s=void 0,a={id:"legacy/v8/basics/webpack",title:"Webpack",description:"docs-source",source:"@site/docs/legacy/v8/basics/webpack.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/webpack",permalink:"/docs/legacy/v8/basics/webpack",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"webpack",title:"Webpack"},sidebar:"docs",previous:{title:"General",permalink:"/docs/legacy/v8/basics/frontend"},next:{title:"SCSS Library",permalink:"/docs/legacy/v8/basics/library"}},c={},l=[{value:"Override built-in functionality",id:"override-built-in-functionality",level:2},{value:"Add new custom functionality",id:"add-new-custom-functionality",level:2},{value:"Change the default config",id:"change-the-default-config",level:2},{value:"Add a new entrypoint",id:"add-a-new-entrypoint",level:2}];function d(e){const n={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",...(0,o.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs",children:(0,i.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsxs)(n.p,{children:["At its core, Webpack is a static module bundler for modern JavaScript applications. When Webpack processes your application, it builds an internal dependency graph that maps every module your project needs and generates one or more bundles. ",(0,i.jsx)(n.a,{href:"https://webpack.js.org/concepts/",children:"Learn more about Webpack"}),"."]}),"\n",(0,i.jsx)(n.p,{children:"To put it simply, Webpack takes your development files and creates a production-ready version of them based on the config."}),"\n",(0,i.jsxs)(n.p,{children:["Eightshift Development Kit comes with everything set up out of the box. In the root of your project, you will find a file called ",(0,i.jsx)(n.code,{children:"webpack.config.js"}),". If you open it, you will see that the configuration is pulled from the Eightshift Frontend Libs library."]}),"\n",(0,i.jsx)(n.p,{children:"You can remove this config and write everything from scratch (keep in mind that this is a lot of work), or you can use our config and extend/remove whatever you need."}),"\n",(0,i.jsx)(n.h2,{id:"override-built-in-functionality",children:"Override built-in functionality"}),"\n",(0,i.jsxs)(n.p,{children:["To remove built-in functionality, add a new array to the config called ",(0,i.jsx)(n.code,{children:"overrides"}),".\nIf you provide any of the ",(0,i.jsx)(n.code,{children:"overrides"})," keys, it will remove that config from the feature from the build."]}),"\n",(0,i.jsx)(n.p,{children:"You can't change our config; you can only remove it and make your own."}),"\n",(0,i.jsx)(n.p,{children:"Here is a list of all the features that we use and how to remove them."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"\nconst projectConfig = {\n config: {\n ... everything from default setup\n },\n overrides: [\n // Located in project.js\n 'application',\n 'applicationAdmin',\n 'applicationBlocks',\n 'applicationBlocksEditor',\n 'filename',\n\n // Located in base.js\n 'cleanWebpackPlugin',\n 'providePlugin',\n 'definePlugin',\n 'miniCssExtractPlugin',\n 'webpackManifestPlugin',\n 'dependencyExtractionWebpackPlugin',\n 'runtimeChunk',\n 'js',\n 'images',\n 'fonts',\n 'scss',\n\n // Located in development.js\n 'browserSyncPlugin',\n\n // Located in production.js\n 'terserPlugin',\n 'cssMinimizerPlugin',\n ],\n}\n"})}),"\n",(0,i.jsx)(n.h2,{id:"add-new-custom-functionality",children:"Add new custom functionality"}),"\n",(0,i.jsxs)(n.p,{children:["Let's say you want to add a custom ",(0,i.jsx)(n.code,{children:"html-webpack-plugin"})," to the build. You can simply use all the native ",(0,i.jsx)(n.a,{href:"https://webpack.js.org/guides/",children:"webpack features"}),", like in this example:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"const HtmlWebpackPlugin = require('html-webpack-plugin');\n\nmodule.exports = (env, argv) => {\n\n ...\n\n return {\n // Load all projects config from eightshift-frontend-libs.\n ...project,\n\n plugins: [\n // Load all plugins config from eightshift-frontend-libs.\n ...project.plugins,\n\n // Add your custom implementation.\n new HtmlWebpackPlugin(),\n ],\n };\n};\n"})}),"\n",(0,i.jsx)(n.h2,{id:"change-the-default-config",children:"Change the default config"}),"\n",(0,i.jsxs)(n.p,{children:["Let's say you want to change what we made and adjust it to your specific needs. In that case, you should remove our functionality by providing the ",(0,i.jsx)(n.code,{children:"overrides"})," array and create your implementation. For example:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"const BrowserSyncPlugin = require('browser-sync-webpack-plugin');\n\nmodule.exports = (env, argv) => {\n\n const projectConfig = {\n config: {\n // ... everything from default setup\n },\n overrides: [\n 'browserSyncPlugin', // this removes our configuration.\n ],\n };\n\n // Generate Webpack config for this project using options object.\n const project = require('./node_modules/@eightshift/frontend-libs/webpack')(argv.mode, projectConfig);\n\n return {\n // Load all projects config from eightshift-frontend-libs.\n ...project,\n\n plugins: [\n // Load all plugins config from eightshift-frontend-libs.\n ...project.plugins,\n\n // This provides your configuration.\n new BrowserSyncPlugin({\n host: 'localhost',\n port: 3000,\n https: true,\n }),\n ],\n };\n"})}),"\n",(0,i.jsx)(n.h2,{id:"add-a-new-entrypoint",children:"Add a new entrypoint"}),"\n",(0,i.jsxs)(n.p,{children:["Let's say you want to add a new, separate JS and/or CSS build for some specific functionality. This functionality may or may not have anything to do with your WordPress theme or plugin, but it needs to be in separate files. To do that you'd need to add a new entrypoint for Webpack to build in ",(0,i.jsx)(n.code,{children:"webpack.config.js"}),":"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"module.exports = (env, argv) => {\n\n ...\n\n return {\n // Load all projects config from eightshift-frontend-libs.\n ...project,\n\n entry: {\n // Load all entry points config from eightshift-frontend-libs.\n ...project.entry,\n\n // Your custom build entrypoint.\n newBuild: path.resolve(projectConfig.config.projectDir, 'assets', 'application-newBuild.js'),\n },\n };\n};\n"})}),"\n",(0,i.jsxs)(n.p,{children:["Next thing you'd do is create ",(0,i.jsx)(n.code,{children:"application-newBuild.js"})," in ",(0,i.jsx)(n.code,{children:"assets/"})," directory, in which you'd import and JS or SCSS partials. After restarting the build process, the results should be visible in ",(0,i.jsx)(n.code,{children:"public/"})," directory as new JS or CSS files."]})]})}function u(e={}){const{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},11151:(e,n,t)=>{t.d(n,{Z:()=>a,a:()=>s});var i=t(67294);const o={},r=i.createContext(o);function s(e){const n=i.useContext(r);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(o):e.components||o:s(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ed480930.a9a75b07.js b/assets/js/ed480930.a9a75b07.js new file mode 100644 index 000000000..1e87a1e8c --- /dev/null +++ b/assets/js/ed480930.a9a75b07.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[60536],{84004:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>s,default:()=>u,frontMatter:()=>r,metadata:()=>a,toc:()=>l});var i=t(17624),o=t(4552);const r={id:"webpack",title:"Webpack"},s=void 0,a={id:"legacy/v8/basics/webpack",title:"Webpack",description:"docs-source",source:"@site/docs/legacy/v8/basics/webpack.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/webpack",permalink:"/docs/legacy/v8/basics/webpack",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"webpack",title:"Webpack"},sidebar:"docs",previous:{title:"General",permalink:"/docs/legacy/v8/basics/frontend"},next:{title:"SCSS Library",permalink:"/docs/legacy/v8/basics/library"}},c={},l=[{value:"Override built-in functionality",id:"override-built-in-functionality",level:2},{value:"Add new custom functionality",id:"add-new-custom-functionality",level:2},{value:"Change the default config",id:"change-the-default-config",level:2},{value:"Add a new entrypoint",id:"add-a-new-entrypoint",level:2}];function d(e){const n={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",...(0,o.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs",children:(0,i.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsxs)(n.p,{children:["At its core, Webpack is a static module bundler for modern JavaScript applications. When Webpack processes your application, it builds an internal dependency graph that maps every module your project needs and generates one or more bundles. ",(0,i.jsx)(n.a,{href:"https://webpack.js.org/concepts/",children:"Learn more about Webpack"}),"."]}),"\n",(0,i.jsx)(n.p,{children:"To put it simply, Webpack takes your development files and creates a production-ready version of them based on the config."}),"\n",(0,i.jsxs)(n.p,{children:["Eightshift Development Kit comes with everything set up out of the box. In the root of your project, you will find a file called ",(0,i.jsx)(n.code,{children:"webpack.config.js"}),". If you open it, you will see that the configuration is pulled from the Eightshift Frontend Libs library."]}),"\n",(0,i.jsx)(n.p,{children:"You can remove this config and write everything from scratch (keep in mind that this is a lot of work), or you can use our config and extend/remove whatever you need."}),"\n",(0,i.jsx)(n.h2,{id:"override-built-in-functionality",children:"Override built-in functionality"}),"\n",(0,i.jsxs)(n.p,{children:["To remove built-in functionality, add a new array to the config called ",(0,i.jsx)(n.code,{children:"overrides"}),".\nIf you provide any of the ",(0,i.jsx)(n.code,{children:"overrides"})," keys, it will remove that config from the feature from the build."]}),"\n",(0,i.jsx)(n.p,{children:"You can't change our config; you can only remove it and make your own."}),"\n",(0,i.jsx)(n.p,{children:"Here is a list of all the features that we use and how to remove them."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"\nconst projectConfig = {\n config: {\n ... everything from default setup\n },\n overrides: [\n // Located in project.js\n 'application',\n 'applicationAdmin',\n 'applicationBlocks',\n 'applicationBlocksEditor',\n 'filename',\n\n // Located in base.js\n 'cleanWebpackPlugin',\n 'providePlugin',\n 'definePlugin',\n 'miniCssExtractPlugin',\n 'webpackManifestPlugin',\n 'dependencyExtractionWebpackPlugin',\n 'runtimeChunk',\n 'js',\n 'images',\n 'fonts',\n 'scss',\n\n // Located in development.js\n 'browserSyncPlugin',\n\n // Located in production.js\n 'terserPlugin',\n 'cssMinimizerPlugin',\n ],\n}\n"})}),"\n",(0,i.jsx)(n.h2,{id:"add-new-custom-functionality",children:"Add new custom functionality"}),"\n",(0,i.jsxs)(n.p,{children:["Let's say you want to add a custom ",(0,i.jsx)(n.code,{children:"html-webpack-plugin"})," to the build. You can simply use all the native ",(0,i.jsx)(n.a,{href:"https://webpack.js.org/guides/",children:"webpack features"}),", like in this example:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"const HtmlWebpackPlugin = require('html-webpack-plugin');\n\nmodule.exports = (env, argv) => {\n\n ...\n\n return {\n // Load all projects config from eightshift-frontend-libs.\n ...project,\n\n plugins: [\n // Load all plugins config from eightshift-frontend-libs.\n ...project.plugins,\n\n // Add your custom implementation.\n new HtmlWebpackPlugin(),\n ],\n };\n};\n"})}),"\n",(0,i.jsx)(n.h2,{id:"change-the-default-config",children:"Change the default config"}),"\n",(0,i.jsxs)(n.p,{children:["Let's say you want to change what we made and adjust it to your specific needs. In that case, you should remove our functionality by providing the ",(0,i.jsx)(n.code,{children:"overrides"})," array and create your implementation. For example:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"const BrowserSyncPlugin = require('browser-sync-webpack-plugin');\n\nmodule.exports = (env, argv) => {\n\n const projectConfig = {\n config: {\n // ... everything from default setup\n },\n overrides: [\n 'browserSyncPlugin', // this removes our configuration.\n ],\n };\n\n // Generate Webpack config for this project using options object.\n const project = require('./node_modules/@eightshift/frontend-libs/webpack')(argv.mode, projectConfig);\n\n return {\n // Load all projects config from eightshift-frontend-libs.\n ...project,\n\n plugins: [\n // Load all plugins config from eightshift-frontend-libs.\n ...project.plugins,\n\n // This provides your configuration.\n new BrowserSyncPlugin({\n host: 'localhost',\n port: 3000,\n https: true,\n }),\n ],\n };\n"})}),"\n",(0,i.jsx)(n.h2,{id:"add-a-new-entrypoint",children:"Add a new entrypoint"}),"\n",(0,i.jsxs)(n.p,{children:["Let's say you want to add a new, separate JS and/or CSS build for some specific functionality. This functionality may or may not have anything to do with your WordPress theme or plugin, but it needs to be in separate files. To do that you'd need to add a new entrypoint for Webpack to build in ",(0,i.jsx)(n.code,{children:"webpack.config.js"}),":"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"module.exports = (env, argv) => {\n\n ...\n\n return {\n // Load all projects config from eightshift-frontend-libs.\n ...project,\n\n entry: {\n // Load all entry points config from eightshift-frontend-libs.\n ...project.entry,\n\n // Your custom build entrypoint.\n newBuild: path.resolve(projectConfig.config.projectDir, 'assets', 'application-newBuild.js'),\n },\n };\n};\n"})}),"\n",(0,i.jsxs)(n.p,{children:["Next thing you'd do is create ",(0,i.jsx)(n.code,{children:"application-newBuild.js"})," in ",(0,i.jsx)(n.code,{children:"assets/"})," directory, in which you'd import and JS or SCSS partials. After restarting the build process, the results should be visible in ",(0,i.jsx)(n.code,{children:"public/"})," directory as new JS or CSS files."]})]})}function u(e={}){const{wrapper:n}={...(0,o.M)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},4552:(e,n,t)=>{t.d(n,{I:()=>a,M:()=>s});var i=t(11504);const o={},r=i.createContext(o);function s(e){const n=i.useContext(r);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(o):e.components||o:s(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ee1ed8c4.1d214711.js b/assets/js/ee1ed8c4.1d214711.js deleted file mode 100644 index 2065ffcd5..000000000 --- a/assets/js/ee1ed8c4.1d214711.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[69847],{47639:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>d,frontMatter:()=>o,metadata:()=>c,toc:()=>h});var i=s(85893),n=s(11151);const o={id:"versions",title:"Versions"},r=void 0,c={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.",source:"@site/docs/legacy/v7/versions.md",sourceDirName:"legacy/v7",slug:"/legacy/v7/versions",permalink:"/docs/legacy/v7/versions",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"versions",title:"Versions"},sidebar:"docs",previous:{title:"Tips & Tricks",permalink:"/docs/legacy/v8/basics/tips-tricks"},next:{title:"Basics",permalink:"/docs/legacy/v7/basics/basics-intro"}},a={},h=[];function l(e){const t={a:"a",img:"img",p:"p",...(0,n.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"Now that you understand what makes the Eightshift Development Kit tick, here is a quick reminder about what library versions this documentation refers to."}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-boilerplate/tree/7.0.0",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/version--7.0.0-eightshift--boilerplate-red?style=for-the-badge&logo=",alt:"docs-source"})})}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-boilerplate/tree/7.0.0",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/version--7.0.0-eightshift--boilerplate--plugin-important?style=for-the-badge&logo=",alt:"docs-source"})})}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/5.0.0",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/version--5.0.0-eightshift--libs-blue?style=for-the-badge&logo=",alt:"docs-source"})})}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/version--6.0.0-eightshift--frontend--libs-yellow?style=for-the-badge&logo=",alt:"docs-source"})})})]})}function d(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},11151:(e,t,s)=>{s.d(t,{Z:()=>c,a:()=>r});var i=s(67294);const n={},o=i.createContext(n);function r(e){const t=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),i.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ee1ed8c4.38557aa9.js b/assets/js/ee1ed8c4.38557aa9.js new file mode 100644 index 000000000..f3e0bd468 --- /dev/null +++ b/assets/js/ee1ed8c4.38557aa9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[19624],{99592:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>d,frontMatter:()=>o,metadata:()=>c,toc:()=>h});var i=s(17624),n=s(4552);const o={id:"versions",title:"Versions"},r=void 0,c={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.",source:"@site/docs/legacy/v7/versions.md",sourceDirName:"legacy/v7",slug:"/legacy/v7/versions",permalink:"/docs/legacy/v7/versions",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"versions",title:"Versions"},sidebar:"docs",previous:{title:"Tips & Tricks",permalink:"/docs/legacy/v8/basics/tips-tricks"},next:{title:"Basics",permalink:"/docs/legacy/v7/basics/basics-intro"}},a={},h=[];function l(e){const t={a:"a",img:"img",p:"p",...(0,n.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"Now that you understand what makes the Eightshift Development Kit tick, here is a quick reminder about what library versions this documentation refers to."}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-boilerplate/tree/7.0.0",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/version--7.0.0-eightshift--boilerplate-red?style=for-the-badge&logo=",alt:"docs-source"})})}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-boilerplate/tree/7.0.0",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/version--7.0.0-eightshift--boilerplate--plugin-important?style=for-the-badge&logo=",alt:"docs-source"})})}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/5.0.0",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/version--5.0.0-eightshift--libs-blue?style=for-the-badge&logo=",alt:"docs-source"})})}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/version--6.0.0-eightshift--frontend--libs-yellow?style=for-the-badge&logo=",alt:"docs-source"})})})]})}function d(e={}){const{wrapper:t}={...(0,n.M)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},4552:(e,t,s)=>{s.d(t,{I:()=>c,M:()=>r});var i=s(11504);const n={},o=i.createContext(n);function r(e){const t=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),i.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ee4eba04.b888f843.js b/assets/js/ee4eba04.b888f843.js new file mode 100644 index 000000000..d36ef4ea3 --- /dev/null +++ b/assets/js/ee4eba04.b888f843.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[99108],{29128:t=>{t.exports=JSON.parse('{"permalink":"/blog/tags/eightshift/page/2","page":2,"postsPerPage":9,"totalPages":2,"totalCount":14,"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/ee4eba04.c4a292dd.js b/assets/js/ee4eba04.c4a292dd.js deleted file mode 100644 index 175c6c03c..000000000 --- a/assets/js/ee4eba04.c4a292dd.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[37530],{35097:t=>{t.exports=JSON.parse('{"permalink":"/blog/tags/eightshift/page/2","page":2,"postsPerPage":9,"totalPages":2,"totalCount":14,"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.712ef365.js b/assets/js/ee85e3b6.712ef365.js new file mode 100644 index 000000000..72e9542f0 --- /dev/null +++ b/assets/js/ee85e3b6.712ef365.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[73126],{34360:t=>{t.exports=JSON.parse('{"permalink":"/blog/tags/eightshift","page":1,"postsPerPage":9,"totalPages":2,"totalCount":14,"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/ee85e3b6.e23b8401.js b/assets/js/ee85e3b6.e23b8401.js deleted file mode 100644 index 2104858cf..000000000 --- a/assets/js/ee85e3b6.e23b8401.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[82882],{67734:t=>{t.exports=JSON.parse('{"permalink":"/blog/tags/eightshift","page":1,"postsPerPage":9,"totalPages":2,"totalCount":14,"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/ee924e36.5f86623c.js b/assets/js/ee924e36.5f86623c.js deleted file mode 100644 index 5cee2d4dc..000000000 --- a/assets/js/ee924e36.5f86623c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[74711],{15329:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>o,contentTitle:()=>a,default:()=>h,frontMatter:()=>t,metadata:()=>l,toc:()=>c});var s=r(85893),i=r(11151);const t={id:"helpers-php",title:"PHP"},a=void 0,l={id:"legacy/v7/basics/helpers-php",title:"PHP",description:"docs-source",source:"@site/docs/legacy/v7/basics/helpers-php.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/helpers-php",permalink:"/docs/legacy/v7/basics/helpers-php",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"helpers-php",title:"PHP"},sidebar:"docs",previous:{title:"Scss",permalink:"/docs/legacy/v7/basics/helpers-scss"},next:{title:"Tips & Tricks",permalink:"/docs/legacy/v7/basics/tips-tricks"}},o={},c=[{value:"ensureString",id:"ensurestring",level:2},{value:"classnames",id:"classnames",level:2},{value:"render",id:"render",level:2},{value:"getManifest",id:"getmanifest",level:2},{value:"responsiveSelectors",id:"responsiveselectors",level:2},{value:"checkAttr",id:"checkattr",level:2},{value:"checkAttrResponsive",id:"checkattrresponsive",level:2},{value:"selector",id:"selector",level:2},{value:"restResponseHandler",id:"restresponsehandler",level:2},{value:"isValidXml",id:"isvalidxml",level:2},{value:"isJson",id:"isjson",level:2},{value:"flattenArray",id:"flattenarray",level:2},{value:"sanitizeArray",id:"sanitizearray",level:2},{value:"sortArrayByOrderKey",id:"sortarraybyorderkey",level:2},{value:"getShortcode",id:"getshortcode",level:2}];function d(e){const n={a:"a",code:"code",h2:"h2",img:"img",li:"li",p:"p",ul:"ul",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/tree/5.0.0",children:(0,s.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(n.h2,{id:"ensurestring",children:"ensureString"}),"\n",(0,s.jsx)(n.p,{children:"Makes sure the output is a string. Useful for converting an array of components into a string.\nIf you pass an associative array, it will output strings with keys. Used for generating data-attributes from an array."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param array|string $variable Variable we need to convert into a string."}),"\n",(0,s.jsx)(n.li,{children:"@throws ComponentException When $variable is not a string or an array."}),"\n",(0,s.jsx)(n.li,{children:"@return string"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"classnames",children:"classnames"}),"\n",(0,s.jsx)(n.p,{children:"Converts an array of classes into a string that can be echoed."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param array $classes Array of classes."}),"\n",(0,s.jsx)(n.li,{children:"@return string"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"render",children:"render"}),"\n",(0,s.jsx)(n.p,{children:"Renders a component and (optionally) passes some attributes to it."}),"\n",(0,s.jsxs)(n.p,{children:["Note about the ",(0,s.jsx)(n.code,{children:"parentClass"})," attribute: If provided, the component will be wrapped with a parent BEM selector."]}),"\n",(0,s.jsxs)(n.p,{children:["For example, if ",(0,s.jsx)(n.code,{children:"$attributes['parentClass'] === 'header'"})," and ",(0,s.jsx)(n.code,{children:"$component === 'logo'"})," are set, the component will be wrapped with a ",(0,s.jsx)(n.code,{children:'<div class="header__logo"></div>'}),"."]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param string $component Component's name or full path (ending with .php)."}),"\n",(0,s.jsx)(n.li,{children:"@param array $attributes Array of attributes that is implicitly passed to the component."}),"\n",(0,s.jsx)(n.li,{children:"@param string $parentPath If parent path is provided, it will be appended to the file location. If not, get_template_directory_uri() will be used as a default parent path."}),"\n",(0,s.jsx)(n.li,{children:"@throws \\Exception When we're unable to find the component by $component."}),"\n",(0,s.jsx)(n.li,{children:"@return string"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"getmanifest",children:"getManifest"}),"\n",(0,s.jsxs)(n.p,{children:["Get ",(0,s.jsx)(n.code,{children:"manifest json"}),". Used for getting block/components manifest."]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param string $path Absolute path to manifest folder."}),"\n",(0,s.jsx)(n.li,{children:"@throws \\Exception When we're unable to find the component by $component."}),"\n",(0,s.jsx)(n.li,{children:"@return array"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"responsiveselectors",children:"responsiveSelectors"}),"\n",(0,s.jsxs)(n.p,{children:["This function is the PHP equivalent of the JavaScript function on this ",(0,s.jsx)(n.a,{href:"helpers-javascript",children:"link"}),"."]}),"\n",(0,s.jsx)(n.h2,{id:"checkattr",children:"checkAttr"}),"\n",(0,s.jsxs)(n.p,{children:["This function is the PHP equivalent of ",(0,s.jsx)(n.a,{href:"helpers-javascript",children:"this JavaScript function"}),", except there is no ",(0,s.jsx)(n.code,{children:"undefinedAllowed"})," parameter - it's used only on the WordPress admin side."]}),"\n",(0,s.jsx)(n.h2,{id:"checkattrresponsive",children:"checkAttrResponsive"}),"\n",(0,s.jsxs)(n.p,{children:["This function is the PHP equivalent of ",(0,s.jsx)(n.a,{href:"helpers-javascript",children:"this JavaScript function"}),", except there is no ",(0,s.jsx)(n.code,{children:"undefinedAllowed"})," parameter - it's used only on the WordPress admin side."]}),"\n",(0,s.jsx)(n.h2,{id:"selector",children:"selector"}),"\n",(0,s.jsxs)(n.p,{children:["This function is the PHP equivalent of the JavaScript function on this ",(0,s.jsx)(n.a,{href:"helpers-javascript",children:"link"}),"."]}),"\n",(0,s.jsx)(n.h2,{id:"restresponsehandler",children:"restResponseHandler"}),"\n",(0,s.jsx)(n.p,{children:"Ensure the correct response for REST using the handler function."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param integer $code Response Status code."}),"\n",(0,s.jsx)(n.li,{children:"@param string $status Response Status name (success/error)."}),"\n",(0,s.jsx)(n.li,{children:"@param string|null $msg Response Message."}),"\n",(0,s.jsx)(n.li,{children:"@param array|null $data Response additional data."}),"\n",(0,s.jsx)(n.li,{children:"@return \\WP_REST_Response|\\WP_Error If response generated an error, WP_Error, if response is already an instance, WP_REST_Response, otherwise returns a new WP_REST_Response instance."}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"isvalidxml",children:"isValidXml"}),"\n",(0,s.jsx)(n.p,{children:"Check if XML is valid. Used for validating SVG files."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param string $xml Full xml document."}),"\n",(0,s.jsx)(n.li,{children:"@return boolean"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"isjson",children:"isJson"}),"\n",(0,s.jsx)(n.p,{children:"Check if json is valid."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param string $string String to check."}),"\n",(0,s.jsx)(n.li,{children:"@return bool"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"flattenarray",children:"flattenArray"}),"\n",(0,s.jsx)(n.p,{children:"Flatten multidimensional array."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param array $array Multidimensional array."}),"\n",(0,s.jsx)(n.li,{children:"@return array"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"sanitizearray",children:"sanitizeArray"}),"\n",(0,s.jsx)(n.p,{children:"Sanitize all the values in an array."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["@link ",(0,s.jsx)(n.a,{href:"https://developer.wordpress.org/themes/theme-security/data-sanitization-escaping/",children:"https://developer.wordpress.org/themes/theme-security/data-sanitization-escaping/"})]}),"\n",(0,s.jsx)(n.li,{children:"@param array $array Provided array."}),"\n",(0,s.jsx)(n.li,{children:"@param string $sanitizationFunction WordPress function used for sanitization purposes."}),"\n",(0,s.jsx)(n.li,{children:"@return array"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"sortarraybyorderkey",children:"sortArrayByOrderKey"}),"\n",(0,s.jsx)(n.p,{children:"Sort array by order key. Used to sort terms."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param array $items Items array to sort. Must have order key."}),"\n",(0,s.jsx)(n.li,{children:"@return array"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"getshortcode",children:"getShortcode"}),"\n",(0,s.jsx)(n.p,{children:"Call a shortcode function by tag name."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@author J.D. Grimes"}),"\n",(0,s.jsxs)(n.li,{children:["@link ",(0,s.jsx)(n.a,{href:"https://codesymphony.co/dont-do_shortcode/",children:"https://codesymphony.co/dont-do_shortcode/"})]}),"\n",(0,s.jsx)(n.li,{children:"@param string $tag The shortcode whose function to call."}),"\n",(0,s.jsx)(n.li,{children:"@param array $attr The attributes to pass to the shortcode function. Optional."}),"\n",(0,s.jsx)(n.li,{children:"@param string|null $content The shortcodes content. Default is null (none)."}),"\n",(0,s.jsx)(n.li,{children:"@return string|bool False on failure, the result of the shortcode on success."}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},11151:(e,n,r)=>{r.d(n,{Z:()=>l,a:()=>a});var s=r(67294);const i={},t=s.createContext(i);function a(e){const n=s.useContext(t);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:a(e.components),s.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ee924e36.b2fdf628.js b/assets/js/ee924e36.b2fdf628.js new file mode 100644 index 000000000..f83d7c6d5 --- /dev/null +++ b/assets/js/ee924e36.b2fdf628.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[45832],{60804:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>o,contentTitle:()=>a,default:()=>h,frontMatter:()=>t,metadata:()=>l,toc:()=>c});var s=r(17624),i=r(4552);const t={id:"helpers-php",title:"PHP"},a=void 0,l={id:"legacy/v7/basics/helpers-php",title:"PHP",description:"docs-source",source:"@site/docs/legacy/v7/basics/helpers-php.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/helpers-php",permalink:"/docs/legacy/v7/basics/helpers-php",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"helpers-php",title:"PHP"},sidebar:"docs",previous:{title:"Scss",permalink:"/docs/legacy/v7/basics/helpers-scss"},next:{title:"Tips & Tricks",permalink:"/docs/legacy/v7/basics/tips-tricks"}},o={},c=[{value:"ensureString",id:"ensurestring",level:2},{value:"classnames",id:"classnames",level:2},{value:"render",id:"render",level:2},{value:"getManifest",id:"getmanifest",level:2},{value:"responsiveSelectors",id:"responsiveselectors",level:2},{value:"checkAttr",id:"checkattr",level:2},{value:"checkAttrResponsive",id:"checkattrresponsive",level:2},{value:"selector",id:"selector",level:2},{value:"restResponseHandler",id:"restresponsehandler",level:2},{value:"isValidXml",id:"isvalidxml",level:2},{value:"isJson",id:"isjson",level:2},{value:"flattenArray",id:"flattenarray",level:2},{value:"sanitizeArray",id:"sanitizearray",level:2},{value:"sortArrayByOrderKey",id:"sortarraybyorderkey",level:2},{value:"getShortcode",id:"getshortcode",level:2}];function d(e){const n={a:"a",code:"code",h2:"h2",img:"img",li:"li",p:"p",ul:"ul",...(0,i.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/tree/5.0.0",children:(0,s.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(n.h2,{id:"ensurestring",children:"ensureString"}),"\n",(0,s.jsx)(n.p,{children:"Makes sure the output is a string. Useful for converting an array of components into a string.\nIf you pass an associative array, it will output strings with keys. Used for generating data-attributes from an array."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param array|string $variable Variable we need to convert into a string."}),"\n",(0,s.jsx)(n.li,{children:"@throws ComponentException When $variable is not a string or an array."}),"\n",(0,s.jsx)(n.li,{children:"@return string"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"classnames",children:"classnames"}),"\n",(0,s.jsx)(n.p,{children:"Converts an array of classes into a string that can be echoed."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param array $classes Array of classes."}),"\n",(0,s.jsx)(n.li,{children:"@return string"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"render",children:"render"}),"\n",(0,s.jsx)(n.p,{children:"Renders a component and (optionally) passes some attributes to it."}),"\n",(0,s.jsxs)(n.p,{children:["Note about the ",(0,s.jsx)(n.code,{children:"parentClass"})," attribute: If provided, the component will be wrapped with a parent BEM selector."]}),"\n",(0,s.jsxs)(n.p,{children:["For example, if ",(0,s.jsx)(n.code,{children:"$attributes['parentClass'] === 'header'"})," and ",(0,s.jsx)(n.code,{children:"$component === 'logo'"})," are set, the component will be wrapped with a ",(0,s.jsx)(n.code,{children:'<div class="header__logo"></div>'}),"."]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param string $component Component's name or full path (ending with .php)."}),"\n",(0,s.jsx)(n.li,{children:"@param array $attributes Array of attributes that is implicitly passed to the component."}),"\n",(0,s.jsx)(n.li,{children:"@param string $parentPath If parent path is provided, it will be appended to the file location. If not, get_template_directory_uri() will be used as a default parent path."}),"\n",(0,s.jsx)(n.li,{children:"@throws \\Exception When we're unable to find the component by $component."}),"\n",(0,s.jsx)(n.li,{children:"@return string"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"getmanifest",children:"getManifest"}),"\n",(0,s.jsxs)(n.p,{children:["Get ",(0,s.jsx)(n.code,{children:"manifest json"}),". Used for getting block/components manifest."]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param string $path Absolute path to manifest folder."}),"\n",(0,s.jsx)(n.li,{children:"@throws \\Exception When we're unable to find the component by $component."}),"\n",(0,s.jsx)(n.li,{children:"@return array"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"responsiveselectors",children:"responsiveSelectors"}),"\n",(0,s.jsxs)(n.p,{children:["This function is the PHP equivalent of the JavaScript function on this ",(0,s.jsx)(n.a,{href:"helpers-javascript",children:"link"}),"."]}),"\n",(0,s.jsx)(n.h2,{id:"checkattr",children:"checkAttr"}),"\n",(0,s.jsxs)(n.p,{children:["This function is the PHP equivalent of ",(0,s.jsx)(n.a,{href:"helpers-javascript",children:"this JavaScript function"}),", except there is no ",(0,s.jsx)(n.code,{children:"undefinedAllowed"})," parameter - it's used only on the WordPress admin side."]}),"\n",(0,s.jsx)(n.h2,{id:"checkattrresponsive",children:"checkAttrResponsive"}),"\n",(0,s.jsxs)(n.p,{children:["This function is the PHP equivalent of ",(0,s.jsx)(n.a,{href:"helpers-javascript",children:"this JavaScript function"}),", except there is no ",(0,s.jsx)(n.code,{children:"undefinedAllowed"})," parameter - it's used only on the WordPress admin side."]}),"\n",(0,s.jsx)(n.h2,{id:"selector",children:"selector"}),"\n",(0,s.jsxs)(n.p,{children:["This function is the PHP equivalent of the JavaScript function on this ",(0,s.jsx)(n.a,{href:"helpers-javascript",children:"link"}),"."]}),"\n",(0,s.jsx)(n.h2,{id:"restresponsehandler",children:"restResponseHandler"}),"\n",(0,s.jsx)(n.p,{children:"Ensure the correct response for REST using the handler function."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param integer $code Response Status code."}),"\n",(0,s.jsx)(n.li,{children:"@param string $status Response Status name (success/error)."}),"\n",(0,s.jsx)(n.li,{children:"@param string|null $msg Response Message."}),"\n",(0,s.jsx)(n.li,{children:"@param array|null $data Response additional data."}),"\n",(0,s.jsx)(n.li,{children:"@return \\WP_REST_Response|\\WP_Error If response generated an error, WP_Error, if response is already an instance, WP_REST_Response, otherwise returns a new WP_REST_Response instance."}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"isvalidxml",children:"isValidXml"}),"\n",(0,s.jsx)(n.p,{children:"Check if XML is valid. Used for validating SVG files."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param string $xml Full xml document."}),"\n",(0,s.jsx)(n.li,{children:"@return boolean"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"isjson",children:"isJson"}),"\n",(0,s.jsx)(n.p,{children:"Check if json is valid."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param string $string String to check."}),"\n",(0,s.jsx)(n.li,{children:"@return bool"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"flattenarray",children:"flattenArray"}),"\n",(0,s.jsx)(n.p,{children:"Flatten multidimensional array."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param array $array Multidimensional array."}),"\n",(0,s.jsx)(n.li,{children:"@return array"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"sanitizearray",children:"sanitizeArray"}),"\n",(0,s.jsx)(n.p,{children:"Sanitize all the values in an array."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["@link ",(0,s.jsx)(n.a,{href:"https://developer.wordpress.org/themes/theme-security/data-sanitization-escaping/",children:"https://developer.wordpress.org/themes/theme-security/data-sanitization-escaping/"})]}),"\n",(0,s.jsx)(n.li,{children:"@param array $array Provided array."}),"\n",(0,s.jsx)(n.li,{children:"@param string $sanitizationFunction WordPress function used for sanitization purposes."}),"\n",(0,s.jsx)(n.li,{children:"@return array"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"sortarraybyorderkey",children:"sortArrayByOrderKey"}),"\n",(0,s.jsx)(n.p,{children:"Sort array by order key. Used to sort terms."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@param array $items Items array to sort. Must have order key."}),"\n",(0,s.jsx)(n.li,{children:"@return array"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"getshortcode",children:"getShortcode"}),"\n",(0,s.jsx)(n.p,{children:"Call a shortcode function by tag name."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"@author J.D. Grimes"}),"\n",(0,s.jsxs)(n.li,{children:["@link ",(0,s.jsx)(n.a,{href:"https://codesymphony.co/dont-do_shortcode/",children:"https://codesymphony.co/dont-do_shortcode/"})]}),"\n",(0,s.jsx)(n.li,{children:"@param string $tag The shortcode whose function to call."}),"\n",(0,s.jsx)(n.li,{children:"@param array $attr The attributes to pass to the shortcode function. Optional."}),"\n",(0,s.jsx)(n.li,{children:"@param string|null $content The shortcodes content. Default is null (none)."}),"\n",(0,s.jsx)(n.li,{children:"@return string|bool False on failure, the result of the shortcode on success."}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,i.M)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},4552:(e,n,r)=>{r.d(n,{I:()=>l,M:()=>a});var s=r(11504);const i={},t=s.createContext(i);function a(e){const n=s.useContext(t);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:a(e.components),s.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ef02483f.1aeb5f09.js b/assets/js/ef02483f.1aeb5f09.js deleted file mode 100644 index 6b6d2f289..000000000 --- a/assets/js/ef02483f.1aeb5f09.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[78327],{96181:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>i,toc:()=>l});var n=s(85893),r=s(11151);const o={id:"blocks-patterns",title:"Patterns",sidebar_label:"Patterns"},a=void 0,i={id:"legacy/v5/basics/blocks-patterns",title:"Patterns",description:"docs-source",source:"@site/docs/legacy/v5/basics/blocks-patterns.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/blocks-patterns",permalink:"/docs/legacy/v5/basics/blocks-patterns",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-patterns",title:"Patterns",sidebar_label:"Patterns"},sidebar:"docs",previous:{title:"Variations",permalink:"/docs/legacy/v5/basics/blocks-variations"},next:{title:"Transforms",permalink:"/docs/legacy/v5/basics/blocks-transforms"}},c={},l=[{value:"Remove all core patterns",id:"remove-all-core-patterns",level:3}];function d(e){const t={a:"a",code:"code",em:"em",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,r.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(t.p,{children:"Block Patterns are predefined block layouts, ready to insert and tweak."}),"\n",(0,n.jsxs)(t.p,{children:["You can check the ",(0,n.jsx)(t.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-patterns/",children:"WordPress documentation"})," on this subject."]}),"\n",(0,n.jsxs)(t.p,{children:["Patterns are (as we understand them) the same thing as block variations. The main difference is that you can provide full layouts with patterns, as described in ",(0,n.jsx)(t.a,{href:"blocks-variations#limitations",children:"this chapter"}),". You can also provide the full page layouts with our variations."]}),"\n",(0,n.jsx)(t.p,{children:"This means that the only differences between our variations and block patterns are:"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Variations"})}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"Variations provide data using our manifest.json file (the rest is handled using JavaScript)."}),"\n",(0,n.jsx)(t.li,{children:"Variations appear in the editor next to the static blocks."}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Patterns"})}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"Patterns are registered using PHP."}),"\n",(0,n.jsx)(t.li,{children:"Patterns appear in the editor inside the special tab for patterns."}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.em,{children:"We will soon provide WP-CLI command to automaticity create block patterns, boilerplate class, for you to use."})}),"\n",(0,n.jsx)(t.h3,{id:"remove-all-core-patterns",children:"Remove all core patterns"}),"\n",(0,n.jsx)(t.p,{children:"If you don't use core blocks, core patterns won't work. Don't confuse your users and remove them (but feel free to add new patterns based on your own custom blocks!)"}),"\n",(0,n.jsxs)(t.p,{children:["To remove all core patterns add this code to you ",(0,n.jsx)(t.code,{children:"src/Blocks/Blocks.php"})," class."]}),"\n",(0,n.jsx)(t.p,{children:"Filter goes in the register method:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"// Remove block patterns.\nadd_action('after_setup_theme', [$this, 'removeCorePatterns']);\n"})}),"\n",(0,n.jsx)(t.p,{children:"Callback method:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"/**\n\t* Remove core block patterns.\n\t*\n\t* @return void\n\t*/\npublic function removeCorePatterns(): void\n{\n\tremove_theme_support('core-block-patterns');\n}\n"})})]})}function h(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},11151:(e,t,s)=>{s.d(t,{Z:()=>i,a:()=>a});var n=s(67294);const r={},o=n.createContext(r);function a(e){const t=n.useContext(o);return n.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(r):e.components||r:a(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ef02483f.5c025912.js b/assets/js/ef02483f.5c025912.js new file mode 100644 index 000000000..c0d443045 --- /dev/null +++ b/assets/js/ef02483f.5c025912.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[54052],{6888:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>i,toc:()=>l});var n=s(17624),r=s(4552);const o={id:"blocks-patterns",title:"Patterns",sidebar_label:"Patterns"},a=void 0,i={id:"legacy/v5/basics/blocks-patterns",title:"Patterns",description:"docs-source",source:"@site/docs/legacy/v5/basics/blocks-patterns.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/blocks-patterns",permalink:"/docs/legacy/v5/basics/blocks-patterns",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-patterns",title:"Patterns",sidebar_label:"Patterns"},sidebar:"docs",previous:{title:"Variations",permalink:"/docs/legacy/v5/basics/blocks-variations"},next:{title:"Transforms",permalink:"/docs/legacy/v5/basics/blocks-transforms"}},c={},l=[{value:"Remove all core patterns",id:"remove-all-core-patterns",level:3}];function d(e){const t={a:"a",code:"code",em:"em",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,r.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/",children:(0,n.jsx)(t.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,n.jsx)(t.p,{children:"Block Patterns are predefined block layouts, ready to insert and tweak."}),"\n",(0,n.jsxs)(t.p,{children:["You can check the ",(0,n.jsx)(t.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-patterns/",children:"WordPress documentation"})," on this subject."]}),"\n",(0,n.jsxs)(t.p,{children:["Patterns are (as we understand them) the same thing as block variations. The main difference is that you can provide full layouts with patterns, as described in ",(0,n.jsx)(t.a,{href:"blocks-variations#limitations",children:"this chapter"}),". You can also provide the full page layouts with our variations."]}),"\n",(0,n.jsx)(t.p,{children:"This means that the only differences between our variations and block patterns are:"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Variations"})}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"Variations provide data using our manifest.json file (the rest is handled using JavaScript)."}),"\n",(0,n.jsx)(t.li,{children:"Variations appear in the editor next to the static blocks."}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Patterns"})}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"Patterns are registered using PHP."}),"\n",(0,n.jsx)(t.li,{children:"Patterns appear in the editor inside the special tab for patterns."}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.em,{children:"We will soon provide WP-CLI command to automaticity create block patterns, boilerplate class, for you to use."})}),"\n",(0,n.jsx)(t.h3,{id:"remove-all-core-patterns",children:"Remove all core patterns"}),"\n",(0,n.jsx)(t.p,{children:"If you don't use core blocks, core patterns won't work. Don't confuse your users and remove them (but feel free to add new patterns based on your own custom blocks!)"}),"\n",(0,n.jsxs)(t.p,{children:["To remove all core patterns add this code to you ",(0,n.jsx)(t.code,{children:"src/Blocks/Blocks.php"})," class."]}),"\n",(0,n.jsx)(t.p,{children:"Filter goes in the register method:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"// Remove block patterns.\nadd_action('after_setup_theme', [$this, 'removeCorePatterns']);\n"})}),"\n",(0,n.jsx)(t.p,{children:"Callback method:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"/**\n\t* Remove core block patterns.\n\t*\n\t* @return void\n\t*/\npublic function removeCorePatterns(): void\n{\n\tremove_theme_support('core-block-patterns');\n}\n"})})]})}function h(e={}){const{wrapper:t}={...(0,r.M)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},4552:(e,t,s)=>{s.d(t,{I:()=>i,M:()=>a});var n=s(11504);const r={},o=n.createContext(r);function a(e){const t=n.useContext(o);return n.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(r):e.components||r:a(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/efbb6268.0170de53.js b/assets/js/efbb6268.0170de53.js new file mode 100644 index 000000000..f434ee956 --- /dev/null +++ b/assets/js/efbb6268.0170de53.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[33328],{45708:(t,e,o)=>{o.r(e),o.d(e,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>n,metadata:()=>r,toc:()=>c});var s=o(17624),i=o(4552);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.M)(),...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.M)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(u,{...t})}):u(t)}},4552:(t,e,o)=>{o.d(e,{I:()=>r,M:()=>a});var s=o(11504);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/efbb6268.96289e1b.js b/assets/js/efbb6268.96289e1b.js deleted file mode 100644 index 690e274dd..000000000 --- a/assets/js/efbb6268.96289e1b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[63548],{1039:(t,e,o)=>{o.r(e),o.d(e,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>n,metadata:()=>r,toc:()=>c});var s=o(85893),i=o(11151);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.a)(),...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.a)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(u,{...t})}):u(t)}},11151:(t,e,o)=>{o.d(e,{Z:()=>r,a:()=>a});var s=o(67294);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/f00dda52.31067901.js b/assets/js/f00dda52.31067901.js deleted file mode 100644 index 22579e653..000000000 --- a/assets/js/f00dda52.31067901.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[15008],{71320:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>l,metadata:()=>o,toc:()=>a});var s=i(85893),n=i(11151);const l={id:"helpers-javascript",title:"JavaScript"},r="Editor helpers",o={id:"legacy/v7/basics/helpers-javascript",title:"JavaScript",description:"docs-source",source:"@site/docs/legacy/v7/basics/helpers-javascript.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/helpers-javascript",permalink:"/docs/legacy/v7/basics/helpers-javascript",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"helpers-javascript",title:"JavaScript"},sidebar:"docs",previous:{title:"Helpers",permalink:"/docs/legacy/v7/basics/helpers"},next:{title:"Scss",permalink:"/docs/legacy/v7/basics/helpers-scss"}},c={},a=[{value:"icons",id:"icons",level:3},{value:"illustrations",id:"illustrations",level:3},{value:"blockIcons",id:"blockicons",level:3},{value:"getActions",id:"getactions",level:3},{value:"getOption",id:"getoption",level:3},{value:"getOptionColors",id:"getoptioncolors",level:3},{value:"getOptions",id:"getoptions",level:3},{value:"getPaletteColors",id:"getpalettecolors",level:3},{value:"inserter",id:"inserter",level:3},{value:"outputCssVariablesGlobal",id:"outputcssvariablesglobal",level:3},{value:"outputCssVariables",id:"outputcssvariables",level:3},{value:"getUnique",id:"getunique",level:3},{value:"overrideInnerBlockAttributes",id:"overrideinnerblockattributes",level:3},{value:"overrideInnerBlockSimpleWrapperAttributes",id:"overrideinnerblocksimplewrapperattributes",level:3},{value:"pasteInto",id:"pasteinto",level:3},{value:"props",id:"props",level:3},{value:"getAttributes",id:"getattributes",level:3},{value:"getExample",id:"getexample",level:3},{value:"registerBlocks",id:"registerblocks",level:3},{value:"registerVariations",id:"registervariations",level:3},{value:"ucfirst",id:"ucfirst",level:3},{value:"camelize",id:"camelize",level:3},{value:"checkAttr",id:"checkattr",level:3},{value:"checkAttrResponsive",id:"checkattrresponsive",level:3},{value:"cookies",id:"cookies",level:3},{value:"debounce",id:"debounce",level:3},{value:"devices",id:"devices",level:3},{value:"dynamicImport",id:"dynamicimport",level:3},{value:"elementChildrenHeight",id:"elementchildrenheight",level:3},{value:"escape-string",id:"escape-string",level:3},{value:"navigator",id:"navigator",level:3},{value:"responsiveSelectors",id:"responsiveselectors",level:3},{value:"selector",id:"selector",level:3},{value:"truncateMiddle",id:"truncatemiddle",level:3},{value:"yoastSeo",id:"yoastseo",level:3},{value:"blockDetails",id:"blockdetails",level:3},{value:"Gutenberg",id:"gutenberg",level:3},{value:"storybookDefaultMocksCategories",id:"storybookdefaultmockscategories",level:3},{value:"storybookDefaultMocksColorPalette",id:"storybookdefaultmockscolorpalette",level:3},{value:"storybookWindowObjects,",id:"storybookwindowobjects",level:3},{value:"storybookWpStyles",id:"storybookwpstyles",level:3}];function d(e){const t={a:"a",code:"code",h1:"h1",h3:"h3",img:"img",p:"p",pre:"pre",...(0,n.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/",children:(0,s.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsxs)(t.p,{children:["All JavaScript helpers can be imported from the ",(0,s.jsx)(t.code,{children:"@eightshift/frontend-libs/scripts"})," folder, so you don't need to think about the internal folder structure of Eightshift Frontend Libs. If you want multiple functions imported just concatenate them in the import like this:"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"import {\n\tcamelize,\n\tcheckAttr,\n\tprops,\n\t...\n} from '@eightshift/frontend-libs/scripts';\n"})}),"\n",(0,s.jsx)(t.h1,{id:"editor-helpers",children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/scripts/editor",children:"Editor helpers"})}),"\n",(0,s.jsx)(t.p,{children:"All of these helpers are generally only used in the Block Editor."}),"\n",(0,s.jsx)(t.h3,{id:"icons",children:"icons"}),"\n",(0,s.jsx)(t.p,{children:"All UI icons."}),"\n",(0,s.jsx)(t.h3,{id:"illustrations",children:"illustrations"}),"\n",(0,s.jsx)(t.p,{children:"Illustrations for helper modals."}),"\n",(0,s.jsx)(t.h3,{id:"blockicons",children:"blockIcons"}),"\n",(0,s.jsx)(t.p,{children:"Block icons, primarily used in block manifests."}),"\n",(0,s.jsx)(t.h3,{id:"getactions",children:"getActions"}),"\n",(0,s.jsx)(t.p,{children:"Create attributes actions from blocks manifest.json.\nThis helper is deprecated and should not be used anymore."}),"\n",(0,s.jsx)(t.h3,{id:"getoption",children:"getOption"}),"\n",(0,s.jsx)(t.p,{children:"Provides ability to override component options from the parent block/component."}),"\n",(0,s.jsx)(t.h3,{id:"getoptioncolors",children:"getOptionColors"}),"\n",(0,s.jsx)(t.p,{children:"Use this hook to filter the global colors out of the component or block manifest.\nThis function is deprecated and getOption should be used."}),"\n",(0,s.jsx)(t.h3,{id:"getoptions",children:"getOptions"}),"\n",(0,s.jsx)(t.p,{children:"Combines two objects of options, one from current component and the other from the parent component."}),"\n",(0,s.jsx)(t.h3,{id:"getpalettecolors",children:"getPaletteColors"}),"\n",(0,s.jsx)(t.p,{children:"Use this hook to read editor-color-palette colors directly from WP built in store."}),"\n",(0,s.jsx)(t.h3,{id:"inserter",children:"inserter"}),"\n",(0,s.jsx)(t.p,{children:"Development inserter made to insert one or multiple blocks in the dom using console."}),"\n",(0,s.jsx)(t.h3,{id:"outputcssvariablesglobal",children:"outputCssVariablesGlobal"}),"\n",(0,s.jsx)(t.p,{children:"Get Global manifest.json and return global variables as CSS variables."}),"\n",(0,s.jsx)(t.h3,{id:"outputcssvariables",children:"outputCssVariables"}),"\n",(0,s.jsx)(t.p,{children:"Get component/block options and process them in CSS variables."}),"\n",(0,s.jsx)(t.h3,{id:"getunique",children:"getUnique"}),"\n",(0,s.jsx)(t.p,{children:"Returns a unique ID generally used for css variables."}),"\n",(0,s.jsx)(t.h3,{id:"overrideinnerblockattributes",children:"overrideInnerBlockAttributes"}),"\n",(0,s.jsx)(t.p,{children:"Used to set attributes on all innerBlocks. This value will be stored in the block editor store and set to a block."}),"\n",(0,s.jsx)(t.h3,{id:"overrideinnerblocksimplewrapperattributes",children:"overrideInnerBlockSimpleWrapperAttributes"}),"\n",(0,s.jsx)(t.p,{children:"Used to set attributes on all innerBlocks preset only for simple wrapper setup. This value will be stored in the block editor store and set to a block."}),"\n",(0,s.jsx)(t.h3,{id:"pasteinto",children:"pasteInto"}),"\n",(0,s.jsx)(t.p,{children:"Paste event handler."}),"\n",(0,s.jsx)(t.h3,{id:"props",children:"props"}),"\n",(0,s.jsx)(t.p,{children:"Output only attributes that are used in the component and remove everything else."}),"\n",(0,s.jsx)(t.h3,{id:"getattributes",children:"getAttributes"}),"\n",(0,s.jsx)(t.p,{children:'Get Block attributes combined in one: "shared, global, wrapper, components, block".'}),"\n",(0,s.jsx)(t.h3,{id:"getexample",children:"getExample"}),"\n",(0,s.jsx)(t.p,{children:'Get Block example attributes combined in one: "components and block".'}),"\n",(0,s.jsx)(t.h3,{id:"registerblocks",children:"registerBlocks"}),"\n",(0,s.jsxs)(t.p,{children:["Register all Block Editor blocks using WP ",(0,s.jsx)(t.code,{children:"registerBlockType"})," method."]}),"\n",(0,s.jsx)(t.h3,{id:"registervariations",children:"registerVariations"}),"\n",(0,s.jsxs)(t.p,{children:["Register all Variations Editor blocks using WP ",(0,s.jsx)(t.code,{children:"registerBlockVariation"})," method."]}),"\n",(0,s.jsx)(t.h3,{id:"ucfirst",children:"ucfirst"}),"\n",(0,s.jsx)(t.p,{children:"Convert the first letter of a string to uppercase."}),"\n",(0,s.jsx)(t.h1,{id:"general-helpers",children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/scripts/helpers",children:"General helpers"})}),"\n",(0,s.jsx)(t.p,{children:"These are all helpers generally used anywhere."}),"\n",(0,s.jsx)(t.h3,{id:"camelize",children:"camelize"}),"\n",(0,s.jsx)(t.p,{children:"Returns a camelCase-formatted string."}),"\n",(0,s.jsx)(t.h3,{id:"checkattr",children:"checkAttr"}),"\n",(0,s.jsx)(t.p,{children:"Check if attribute exist in attributes list and add default value if not."}),"\n",(0,s.jsx)(t.h3,{id:"checkattrresponsive",children:"checkAttrResponsive"}),"\n",(0,s.jsx)(t.p,{children:"Map and check attributes for responsive object."}),"\n",(0,s.jsx)(t.h3,{id:"cookies",children:"cookies"}),"\n",(0,s.jsx)(t.p,{children:"Helper to set and unset cookies."}),"\n",(0,s.jsx)(t.h3,{id:"debounce",children:"debounce"}),"\n",(0,s.jsx)(t.p,{children:"Debounces the provided function."}),"\n",(0,s.jsx)(t.h3,{id:"devices",children:"devices"}),"\n",(0,s.jsx)(t.p,{children:"Detect a certain device, so specific functionality can be implemented for it."}),"\n",(0,s.jsx)(t.h3,{id:"dynamicimport",children:"dynamicImport"}),"\n",(0,s.jsx)(t.p,{children:"Loop all paths required using require.context method."}),"\n",(0,s.jsx)(t.h3,{id:"elementchildrenheight",children:"elementChildrenHeight"}),"\n",(0,s.jsx)(t.p,{children:"Returns height of the element measured by height of its children."}),"\n",(0,s.jsx)(t.h3,{id:"escape-string",children:"escape-string"}),"\n",(0,s.jsx)(t.p,{children:"Takes the provided string and removes special characters"}),"\n",(0,s.jsx)(t.h3,{id:"navigator",children:"navigator"}),"\n",(0,s.jsxs)(t.p,{children:["The ",(0,s.jsx)(t.code,{children:"Navigator.vibrate()"})," method pulses the vibration hardware on the device, if such hardware exists."]}),"\n",(0,s.jsx)(t.h3,{id:"responsiveselectors",children:"responsiveSelectors"}),"\n",(0,s.jsx)(t.p,{children:"Create responsive selectors used for responsive attributes."}),"\n",(0,s.jsx)(t.h3,{id:"selector",children:"selector"}),"\n",(0,s.jsx)(t.p,{children:"Returns BEM selector for HTML class and checks if the condition part is set."}),"\n",(0,s.jsx)(t.h3,{id:"truncatemiddle",children:"truncateMiddle"}),"\n",(0,s.jsx)(t.p,{children:"Slices the string and inputs the provided separator after the specified characters."}),"\n",(0,s.jsx)(t.h1,{id:"plugins-helpers",children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/scripts/plugins",children:"Plugins helpers"})}),"\n",(0,s.jsx)(t.p,{children:"These are all helpers generally only in specific plugins."}),"\n",(0,s.jsx)(t.h3,{id:"yoastseo",children:"yoastSeo"}),"\n",(0,s.jsx)(t.p,{children:'This helper will search all blocks and components manifests and find attributes that have "seo": "true" key.\nThis key will be added in to the content and proceed by the YoastSeo Analysis plugin.'}),"\n",(0,s.jsx)(t.h1,{id:"storybook-helpers",children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/scripts/storybook",children:"Storybook helpers"})}),"\n",(0,s.jsx)(t.p,{children:"These are all helpers generally only in Storybook."}),"\n",(0,s.jsx)(t.h3,{id:"blockdetails",children:"blockDetails"}),"\n",(0,s.jsx)(t.p,{children:"Combine block details in one object."}),"\n",(0,s.jsx)(t.h3,{id:"gutenberg",children:"Gutenberg"}),"\n",(0,s.jsx)(t.p,{children:"Load actual Block Editor and all the magic."}),"\n",(0,s.jsx)(t.h3,{id:"storybookdefaultmockscategories",children:"storybookDefaultMocksCategories"}),"\n",(0,s.jsx)(t.p,{children:"Manually populate categories for blocks. This is generated in the PHP part of the real project."}),"\n",(0,s.jsx)(t.h3,{id:"storybookdefaultmockscolorpalette",children:"storybookDefaultMocksColorPalette"}),"\n",(0,s.jsx)(t.p,{children:"Manually populate blocks color palette. This is generated in the PHP part of the real project."}),"\n",(0,s.jsx)(t.h3,{id:"storybookwindowobjects",children:"storybookWindowObjects,"}),"\n",(0,s.jsx)(t.p,{children:"Loading WP build files."}),"\n",(0,s.jsx)(t.h3,{id:"storybookwpstyles",children:"storybookWpStyles"}),"\n",(0,s.jsx)(t.p,{children:"Loading styles for block editor."})]})}function h(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},11151:(e,t,i)=>{i.d(t,{Z:()=>o,a:()=>r});var s=i(67294);const n={},l=s.createContext(n);function r(e){const t=s.useContext(l);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),s.createElement(l.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f00dda52.5ec98be8.js b/assets/js/f00dda52.5ec98be8.js new file mode 100644 index 000000000..e9c4d09a8 --- /dev/null +++ b/assets/js/f00dda52.5ec98be8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[70680],{92844:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>l,metadata:()=>o,toc:()=>a});var s=i(17624),n=i(4552);const l={id:"helpers-javascript",title:"JavaScript"},r="Editor helpers",o={id:"legacy/v7/basics/helpers-javascript",title:"JavaScript",description:"docs-source",source:"@site/docs/legacy/v7/basics/helpers-javascript.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/helpers-javascript",permalink:"/docs/legacy/v7/basics/helpers-javascript",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"helpers-javascript",title:"JavaScript"},sidebar:"docs",previous:{title:"Helpers",permalink:"/docs/legacy/v7/basics/helpers"},next:{title:"Scss",permalink:"/docs/legacy/v7/basics/helpers-scss"}},c={},a=[{value:"icons",id:"icons",level:3},{value:"illustrations",id:"illustrations",level:3},{value:"blockIcons",id:"blockicons",level:3},{value:"getActions",id:"getactions",level:3},{value:"getOption",id:"getoption",level:3},{value:"getOptionColors",id:"getoptioncolors",level:3},{value:"getOptions",id:"getoptions",level:3},{value:"getPaletteColors",id:"getpalettecolors",level:3},{value:"inserter",id:"inserter",level:3},{value:"outputCssVariablesGlobal",id:"outputcssvariablesglobal",level:3},{value:"outputCssVariables",id:"outputcssvariables",level:3},{value:"getUnique",id:"getunique",level:3},{value:"overrideInnerBlockAttributes",id:"overrideinnerblockattributes",level:3},{value:"overrideInnerBlockSimpleWrapperAttributes",id:"overrideinnerblocksimplewrapperattributes",level:3},{value:"pasteInto",id:"pasteinto",level:3},{value:"props",id:"props",level:3},{value:"getAttributes",id:"getattributes",level:3},{value:"getExample",id:"getexample",level:3},{value:"registerBlocks",id:"registerblocks",level:3},{value:"registerVariations",id:"registervariations",level:3},{value:"ucfirst",id:"ucfirst",level:3},{value:"camelize",id:"camelize",level:3},{value:"checkAttr",id:"checkattr",level:3},{value:"checkAttrResponsive",id:"checkattrresponsive",level:3},{value:"cookies",id:"cookies",level:3},{value:"debounce",id:"debounce",level:3},{value:"devices",id:"devices",level:3},{value:"dynamicImport",id:"dynamicimport",level:3},{value:"elementChildrenHeight",id:"elementchildrenheight",level:3},{value:"escape-string",id:"escape-string",level:3},{value:"navigator",id:"navigator",level:3},{value:"responsiveSelectors",id:"responsiveselectors",level:3},{value:"selector",id:"selector",level:3},{value:"truncateMiddle",id:"truncatemiddle",level:3},{value:"yoastSeo",id:"yoastseo",level:3},{value:"blockDetails",id:"blockdetails",level:3},{value:"Gutenberg",id:"gutenberg",level:3},{value:"storybookDefaultMocksCategories",id:"storybookdefaultmockscategories",level:3},{value:"storybookDefaultMocksColorPalette",id:"storybookdefaultmockscolorpalette",level:3},{value:"storybookWindowObjects,",id:"storybookwindowobjects",level:3},{value:"storybookWpStyles",id:"storybookwpstyles",level:3}];function d(e){const t={a:"a",code:"code",h1:"h1",h3:"h3",img:"img",p:"p",pre:"pre",...(0,n.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/",children:(0,s.jsx)(t.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsxs)(t.p,{children:["All JavaScript helpers can be imported from the ",(0,s.jsx)(t.code,{children:"@eightshift/frontend-libs/scripts"})," folder, so you don't need to think about the internal folder structure of Eightshift Frontend Libs. If you want multiple functions imported just concatenate them in the import like this:"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"import {\n\tcamelize,\n\tcheckAttr,\n\tprops,\n\t...\n} from '@eightshift/frontend-libs/scripts';\n"})}),"\n",(0,s.jsx)(t.h1,{id:"editor-helpers",children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/scripts/editor",children:"Editor helpers"})}),"\n",(0,s.jsx)(t.p,{children:"All of these helpers are generally only used in the Block Editor."}),"\n",(0,s.jsx)(t.h3,{id:"icons",children:"icons"}),"\n",(0,s.jsx)(t.p,{children:"All UI icons."}),"\n",(0,s.jsx)(t.h3,{id:"illustrations",children:"illustrations"}),"\n",(0,s.jsx)(t.p,{children:"Illustrations for helper modals."}),"\n",(0,s.jsx)(t.h3,{id:"blockicons",children:"blockIcons"}),"\n",(0,s.jsx)(t.p,{children:"Block icons, primarily used in block manifests."}),"\n",(0,s.jsx)(t.h3,{id:"getactions",children:"getActions"}),"\n",(0,s.jsx)(t.p,{children:"Create attributes actions from blocks manifest.json.\nThis helper is deprecated and should not be used anymore."}),"\n",(0,s.jsx)(t.h3,{id:"getoption",children:"getOption"}),"\n",(0,s.jsx)(t.p,{children:"Provides ability to override component options from the parent block/component."}),"\n",(0,s.jsx)(t.h3,{id:"getoptioncolors",children:"getOptionColors"}),"\n",(0,s.jsx)(t.p,{children:"Use this hook to filter the global colors out of the component or block manifest.\nThis function is deprecated and getOption should be used."}),"\n",(0,s.jsx)(t.h3,{id:"getoptions",children:"getOptions"}),"\n",(0,s.jsx)(t.p,{children:"Combines two objects of options, one from current component and the other from the parent component."}),"\n",(0,s.jsx)(t.h3,{id:"getpalettecolors",children:"getPaletteColors"}),"\n",(0,s.jsx)(t.p,{children:"Use this hook to read editor-color-palette colors directly from WP built in store."}),"\n",(0,s.jsx)(t.h3,{id:"inserter",children:"inserter"}),"\n",(0,s.jsx)(t.p,{children:"Development inserter made to insert one or multiple blocks in the dom using console."}),"\n",(0,s.jsx)(t.h3,{id:"outputcssvariablesglobal",children:"outputCssVariablesGlobal"}),"\n",(0,s.jsx)(t.p,{children:"Get Global manifest.json and return global variables as CSS variables."}),"\n",(0,s.jsx)(t.h3,{id:"outputcssvariables",children:"outputCssVariables"}),"\n",(0,s.jsx)(t.p,{children:"Get component/block options and process them in CSS variables."}),"\n",(0,s.jsx)(t.h3,{id:"getunique",children:"getUnique"}),"\n",(0,s.jsx)(t.p,{children:"Returns a unique ID generally used for css variables."}),"\n",(0,s.jsx)(t.h3,{id:"overrideinnerblockattributes",children:"overrideInnerBlockAttributes"}),"\n",(0,s.jsx)(t.p,{children:"Used to set attributes on all innerBlocks. This value will be stored in the block editor store and set to a block."}),"\n",(0,s.jsx)(t.h3,{id:"overrideinnerblocksimplewrapperattributes",children:"overrideInnerBlockSimpleWrapperAttributes"}),"\n",(0,s.jsx)(t.p,{children:"Used to set attributes on all innerBlocks preset only for simple wrapper setup. This value will be stored in the block editor store and set to a block."}),"\n",(0,s.jsx)(t.h3,{id:"pasteinto",children:"pasteInto"}),"\n",(0,s.jsx)(t.p,{children:"Paste event handler."}),"\n",(0,s.jsx)(t.h3,{id:"props",children:"props"}),"\n",(0,s.jsx)(t.p,{children:"Output only attributes that are used in the component and remove everything else."}),"\n",(0,s.jsx)(t.h3,{id:"getattributes",children:"getAttributes"}),"\n",(0,s.jsx)(t.p,{children:'Get Block attributes combined in one: "shared, global, wrapper, components, block".'}),"\n",(0,s.jsx)(t.h3,{id:"getexample",children:"getExample"}),"\n",(0,s.jsx)(t.p,{children:'Get Block example attributes combined in one: "components and block".'}),"\n",(0,s.jsx)(t.h3,{id:"registerblocks",children:"registerBlocks"}),"\n",(0,s.jsxs)(t.p,{children:["Register all Block Editor blocks using WP ",(0,s.jsx)(t.code,{children:"registerBlockType"})," method."]}),"\n",(0,s.jsx)(t.h3,{id:"registervariations",children:"registerVariations"}),"\n",(0,s.jsxs)(t.p,{children:["Register all Variations Editor blocks using WP ",(0,s.jsx)(t.code,{children:"registerBlockVariation"})," method."]}),"\n",(0,s.jsx)(t.h3,{id:"ucfirst",children:"ucfirst"}),"\n",(0,s.jsx)(t.p,{children:"Convert the first letter of a string to uppercase."}),"\n",(0,s.jsx)(t.h1,{id:"general-helpers",children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/scripts/helpers",children:"General helpers"})}),"\n",(0,s.jsx)(t.p,{children:"These are all helpers generally used anywhere."}),"\n",(0,s.jsx)(t.h3,{id:"camelize",children:"camelize"}),"\n",(0,s.jsx)(t.p,{children:"Returns a camelCase-formatted string."}),"\n",(0,s.jsx)(t.h3,{id:"checkattr",children:"checkAttr"}),"\n",(0,s.jsx)(t.p,{children:"Check if attribute exist in attributes list and add default value if not."}),"\n",(0,s.jsx)(t.h3,{id:"checkattrresponsive",children:"checkAttrResponsive"}),"\n",(0,s.jsx)(t.p,{children:"Map and check attributes for responsive object."}),"\n",(0,s.jsx)(t.h3,{id:"cookies",children:"cookies"}),"\n",(0,s.jsx)(t.p,{children:"Helper to set and unset cookies."}),"\n",(0,s.jsx)(t.h3,{id:"debounce",children:"debounce"}),"\n",(0,s.jsx)(t.p,{children:"Debounces the provided function."}),"\n",(0,s.jsx)(t.h3,{id:"devices",children:"devices"}),"\n",(0,s.jsx)(t.p,{children:"Detect a certain device, so specific functionality can be implemented for it."}),"\n",(0,s.jsx)(t.h3,{id:"dynamicimport",children:"dynamicImport"}),"\n",(0,s.jsx)(t.p,{children:"Loop all paths required using require.context method."}),"\n",(0,s.jsx)(t.h3,{id:"elementchildrenheight",children:"elementChildrenHeight"}),"\n",(0,s.jsx)(t.p,{children:"Returns height of the element measured by height of its children."}),"\n",(0,s.jsx)(t.h3,{id:"escape-string",children:"escape-string"}),"\n",(0,s.jsx)(t.p,{children:"Takes the provided string and removes special characters"}),"\n",(0,s.jsx)(t.h3,{id:"navigator",children:"navigator"}),"\n",(0,s.jsxs)(t.p,{children:["The ",(0,s.jsx)(t.code,{children:"Navigator.vibrate()"})," method pulses the vibration hardware on the device, if such hardware exists."]}),"\n",(0,s.jsx)(t.h3,{id:"responsiveselectors",children:"responsiveSelectors"}),"\n",(0,s.jsx)(t.p,{children:"Create responsive selectors used for responsive attributes."}),"\n",(0,s.jsx)(t.h3,{id:"selector",children:"selector"}),"\n",(0,s.jsx)(t.p,{children:"Returns BEM selector for HTML class and checks if the condition part is set."}),"\n",(0,s.jsx)(t.h3,{id:"truncatemiddle",children:"truncateMiddle"}),"\n",(0,s.jsx)(t.p,{children:"Slices the string and inputs the provided separator after the specified characters."}),"\n",(0,s.jsx)(t.h1,{id:"plugins-helpers",children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/scripts/plugins",children:"Plugins helpers"})}),"\n",(0,s.jsx)(t.p,{children:"These are all helpers generally only in specific plugins."}),"\n",(0,s.jsx)(t.h3,{id:"yoastseo",children:"yoastSeo"}),"\n",(0,s.jsx)(t.p,{children:'This helper will search all blocks and components manifests and find attributes that have "seo": "true" key.\nThis key will be added in to the content and proceed by the YoastSeo Analysis plugin.'}),"\n",(0,s.jsx)(t.h1,{id:"storybook-helpers",children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/scripts/storybook",children:"Storybook helpers"})}),"\n",(0,s.jsx)(t.p,{children:"These are all helpers generally only in Storybook."}),"\n",(0,s.jsx)(t.h3,{id:"blockdetails",children:"blockDetails"}),"\n",(0,s.jsx)(t.p,{children:"Combine block details in one object."}),"\n",(0,s.jsx)(t.h3,{id:"gutenberg",children:"Gutenberg"}),"\n",(0,s.jsx)(t.p,{children:"Load actual Block Editor and all the magic."}),"\n",(0,s.jsx)(t.h3,{id:"storybookdefaultmockscategories",children:"storybookDefaultMocksCategories"}),"\n",(0,s.jsx)(t.p,{children:"Manually populate categories for blocks. This is generated in the PHP part of the real project."}),"\n",(0,s.jsx)(t.h3,{id:"storybookdefaultmockscolorpalette",children:"storybookDefaultMocksColorPalette"}),"\n",(0,s.jsx)(t.p,{children:"Manually populate blocks color palette. This is generated in the PHP part of the real project."}),"\n",(0,s.jsx)(t.h3,{id:"storybookwindowobjects",children:"storybookWindowObjects,"}),"\n",(0,s.jsx)(t.p,{children:"Loading WP build files."}),"\n",(0,s.jsx)(t.h3,{id:"storybookwpstyles",children:"storybookWpStyles"}),"\n",(0,s.jsx)(t.p,{children:"Loading styles for block editor."})]})}function h(e={}){const{wrapper:t}={...(0,n.M)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},4552:(e,t,i)=>{i.d(t,{I:()=>o,M:()=>r});var s=i(11504);const n={},l=s.createContext(n);function r(e){const t=s.useContext(l);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),s.createElement(l.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f0b5617d.0598aacb.js b/assets/js/f0b5617d.0598aacb.js new file mode 100644 index 000000000..25182d0e1 --- /dev/null +++ b/assets/js/f0b5617d.0598aacb.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[66232],{50032:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>n,default:()=>d,frontMatter:()=>o,metadata:()=>a,toc:()=>l});var s=r(17624),i=r(4552);const o={id:"blocks-wrapper",title:"Wrapper",sidebar_label:"Wrapper"},n=void 0,a={id:"legacy/v5/basics/blocks-wrapper",title:"Wrapper",description:"docs-source",source:"@site/docs/legacy/v5/basics/blocks-wrapper.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/blocks-wrapper",permalink:"/docs/legacy/v5/basics/blocks-wrapper",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-wrapper",title:"Wrapper",sidebar_label:"Wrapper"},sidebar:"docs",previous:{title:"Component in a Block",permalink:"/docs/legacy/v5/basics/blocks-component-in-block"},next:{title:"Variations",permalink:"/docs/legacy/v5/basics/blocks-variations"}},p={},l=[{value:"wrapperUse",id:"wrapperuse",level:3},{value:"wrapperUseShowControl",id:"wrapperuseshowcontrol",level:3},{value:"wrapperUseSimple",id:"wrapperusesimple",level:3},{value:"wrapperUseSimpleShowControl",id:"wrapperusesimpleshowcontrol",level:3},{value:"wrapperDisable",id:"wrapperdisable",level:3},{value:"wrapperParentClass",id:"wrapperparentclass",level:3},{value:"wrapperId",id:"wrapperid",level:3},{value:"wrapperAnchorId",id:"wrapperanchorid",level:3},{value:"wrapperBackgroundColor",id:"wrapperbackgroundcolor",level:3},{value:"wrapperWidth (Responsive)",id:"wrapperwidth-responsive",level:3},{value:"wrapperOffset (Responsive)",id:"wrapperoffset-responsive",level:3},{value:"wrapperContainerWidth (Responsive)",id:"wrappercontainerwidth-responsive",level:3},{value:"wrapperGutter (Responsive)",id:"wrappergutter-responsive",level:3},{value:"wrapperSpacingTop (Responsive)",id:"wrapperspacingtop-responsive",level:3},{value:"wrapperSpacingBottom (Responsive)",id:"wrapperspacingbottom-responsive",level:3},{value:"wrapperSpacingTopIn (Responsive)",id:"wrapperspacingtopin-responsive",level:3},{value:"wrapperSpacingBottomIn (Responsive)",id:"wrapperspacingbottomin-responsive",level:3},{value:"wrapperDividerTop (Responsive)",id:"wrapperdividertop-responsive",level:3},{value:"wrapperDividerBottom (Responsive)",id:"wrapperdividerbottom-responsive",level:3},{value:"wrapperHide (Responsive)",id:"wrapperhide-responsive",level:3}];function c(e){const t={a:"a",blockquote:"blockquote",code:"code",h3:"h3",img:"img",p:"p",strong:"strong",...(0,i.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/",children:(0,s.jsx)(t.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(t.p,{children:"The wrapper is our best and most powerful feature. In a nutshell, the wrapper is nothing more than a high order component (parent component)."}),"\n",(0,s.jsx)(t.p,{children:"When setting up block registration, we made it so that every block view (PHP part) passes through the wrapper component before it is registered. This gives us the ability to set multiple shared attributes in one component."}),"\n",(0,s.jsx)(t.p,{children:"The wrapper is designed to be the ultimate top-level component that controls how your block behaves in the website layout. The wrapper is a sort of a 'section' in traditional builders. By default, you can control a whole lot of stuff, but there is an ability to add your custom attributes and fine-tune the wrapper to your project's needs. Here are some of the features:"}),"\n",(0,s.jsxs)(t.blockquote,{children:["\n",(0,s.jsxs)(t.p,{children:["Some attributes are made responsive using the ",(0,s.jsx)(t.code,{children:"Responsive"})," component, and you can control all attributes depending on the media breakpoints."]}),"\n"]}),"\n",(0,s.jsx)(t.h3,{id:"wrapperuse",children:"wrapperUse"}),"\n",(0,s.jsxs)(t.p,{children:["This attribute controls the usage of the wrapper component. It behaves the same way as described in ",(0,s.jsx)(t.a,{href:"blocks-component-in-block#i-dont-need-all-the-component-options-in-my-block",children:"this chapter"}),"."]}),"\n",(0,s.jsx)(t.h3,{id:"wrapperuseshowcontrol",children:"wrapperUseShowControl"}),"\n",(0,s.jsxs)(t.p,{children:["This attribute controls whether you will see the options for block use in the block editor. It behaves the same way as described in ",(0,s.jsx)(t.a,{href:"blocks-component-in-block#i-dont-want-my-editor-to-be-able-to-change-component-options-in-my-block",children:"this chapter"}),"."]}),"\n",(0,s.jsx)(t.h3,{id:"wrapperusesimple",children:"wrapperUseSimple"}),"\n",(0,s.jsxs)(t.p,{children:["We wrapped some of the options in a specific condition and we call it ",(0,s.jsx)(t.code,{children:"wrapperUseSimple"}),". In general, this attribute is set to ",(0,s.jsx)(t.code,{children:"true"})," when you only want the simplified options on your block. Natively, it is used inside all of the inner blocks in the column block because we don't need wrappers inside wrappers inside wrappers (and so on). It's a good rule of thumb to use a simple wrapper in all of the inner blocks."]}),"\n",(0,s.jsx)(t.h3,{id:"wrapperusesimpleshowcontrol",children:"wrapperUseSimpleShowControl"}),"\n",(0,s.jsxs)(t.p,{children:["This attribute controls whether you are going to see options in the block editor to use the simple option. It behaves the same way as described in ",(0,s.jsx)(t.a,{href:"blocks-component-in-block#i-dont-want-my-editor-to-be-able-to-change-component-options-in-my-block",children:"this chapter"}),"."]}),"\n",(0,s.jsx)(t.h3,{id:"wrapperdisable",children:"wrapperDisable"}),"\n",(0,s.jsxs)(t.p,{children:["This attribute disables the wrapper completely. When this attribute is set to ",(0,s.jsx)(t.code,{children:"true"}),", you will not have any wrapper options in your block."]}),"\n",(0,s.jsx)(t.h3,{id:"wrapperparentclass",children:"wrapperParentClass"}),"\n",(0,s.jsx)(t.p,{children:"This attribute is interesting to use if, for example, you have a carousel block with inner blocks. To provide the markup necessary for the carousel script to work, you need to add some items selector (a div). With this key, you can pass a parent item class, and all of your items will be wrapped with this selector and a class."}),"\n",(0,s.jsx)(t.h3,{id:"wrapperid",children:"wrapperId"}),"\n",(0,s.jsx)(t.p,{children:"It is used if you want to provide some identifier for a specific block."}),"\n",(0,s.jsx)(t.h3,{id:"wrapperanchorid",children:"wrapperAnchorId"}),"\n",(0,s.jsx)(t.p,{children:"It is used if you want to use the section as a scroll to option. Initially, it is designed so the scroll is moved up by the size of your fixed header size. You can change this value according to your project needs."}),"\n",(0,s.jsx)(t.h3,{id:"wrapperbackgroundcolor",children:"wrapperBackgroundColor"}),"\n",(0,s.jsx)(t.p,{children:"Controls the background color of your sections. You can change it by providing the colors registered in the block editor's color palette."}),"\n",(0,s.jsx)(t.h3,{id:"wrapperwidth-responsive",children:"wrapperWidth (Responsive)"}),"\n",(0,s.jsx)(t.p,{children:"Defines the width of the content (block) inside of the wrapper. It behaves by a grid of 12 (default), and it starts from the left edge."}),"\n",(0,s.jsx)(t.h3,{id:"wrapperoffset-responsive",children:"wrapperOffset (Responsive)"}),"\n",(0,s.jsx)(t.p,{children:"The same as the width, but this attribute controls the offset (margin) from the left of your wrapper."}),"\n",(0,s.jsx)(t.h3,{id:"wrappercontainerwidth-responsive",children:"wrapperContainerWidth (Responsive)"}),"\n",(0,s.jsx)(t.p,{children:"This attribute defines your block's container width, and on that container, wrapper width and wrapperContainerWidth will be applied. You can define these values in the wrapper's manifest and the global manifest settings."}),"\n",(0,s.jsx)(t.h3,{id:"wrappergutter-responsive",children:"wrapperGutter (Responsive)"}),"\n",(0,s.jsx)(t.p,{children:"Controls the left/right spacing for the content (block). You can define these values in the wrapper's manifest and the global manifest settings."}),"\n",(0,s.jsx)(t.h3,{id:"wrapperspacingtop-responsive",children:"wrapperSpacingTop (Responsive)"}),"\n",(0,s.jsxs)(t.p,{children:["Moves the spacing from the top by an increment of 10px. It uses ",(0,s.jsx)(t.code,{children:"margin-top"})," to set a spacing, background color ",(0,s.jsx)(t.strong,{children:"will not be applied to this attribute"}),". You can define these values in the wrapper's manifest and the global manifest settings."]}),"\n",(0,s.jsx)(t.h3,{id:"wrapperspacingbottom-responsive",children:"wrapperSpacingBottom (Responsive)"}),"\n",(0,s.jsxs)(t.p,{children:["Moves the spacing from the bottom by an increment of 10px. It uses ",(0,s.jsx)(t.code,{children:"margin-bottom"})," to set a spacing, background color ",(0,s.jsx)(t.strong,{children:"will not be applied to this attribute"}),". You can define these values in the wrapper's manifest and the global manifest settings."]}),"\n",(0,s.jsx)(t.h3,{id:"wrapperspacingtopin-responsive",children:"wrapperSpacingTopIn (Responsive)"}),"\n",(0,s.jsxs)(t.p,{children:["Moves the spacing from the top by an increment of 10px. It uses ",(0,s.jsx)(t.code,{children:"padding-top"})," to set a spacing, background color ",(0,s.jsx)(t.strong,{children:"will be applied to this attribute"}),". You can define these values in the wrapper's manifest and the global manifest settings."]}),"\n",(0,s.jsx)(t.h3,{id:"wrapperspacingbottomin-responsive",children:"wrapperSpacingBottomIn (Responsive)"}),"\n",(0,s.jsxs)(t.p,{children:["Moves the spacing from the bottom by an increment of 10px. It uses ",(0,s.jsx)(t.code,{children:"padding-bottom"})," to set a spacing, background color ",(0,s.jsx)(t.strong,{children:"will be applied to this attribute"}),". You can define these values in the wrapper's manifest and the global manifest settings."]}),"\n",(0,s.jsx)(t.h3,{id:"wrapperdividertop-responsive",children:"wrapperDividerTop (Responsive)"}),"\n",(0,s.jsxs)(t.p,{children:["This attribute adds a divider on the top of the section. The spacing of the divider from the content is set by ",(0,s.jsx)(t.code,{children:"wrapperSpacingTopIn"})," attributes."]}),"\n",(0,s.jsx)(t.h3,{id:"wrapperdividerbottom-responsive",children:"wrapperDividerBottom (Responsive)"}),"\n",(0,s.jsxs)(t.p,{children:["This attribute adds a divider at the bottom of the section. The spacing of the divider from the content is set by ",(0,s.jsx)(t.code,{children:"wrapperSpacingBottomIn"})," attributes."]}),"\n",(0,s.jsx)(t.h3,{id:"wrapperhide-responsive",children:"wrapperHide (Responsive)"}),"\n",(0,s.jsx)(t.p,{children:"Controls whether the section will be shown on a specific breakpoint."}),"\n",(0,s.jsxs)(t.blockquote,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Important note"}),": all responsive options are made in ",(0,s.jsx)(t.code,{children:"desktop"})," first way for the block editor because every editor wants to style these firsts. All of the responsive attributes are applied from the large to the mobile breakpoint. So if you set the tablet values, it will be applied to the tablet and mobile breakpoints."]}),"\n"]})]})}function d(e={}){const{wrapper:t}={...(0,i.M)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},4552:(e,t,r)=>{r.d(t,{I:()=>a,M:()=>n});var s=r(11504);const i={},o=s.createContext(i);function n(e){const t=s.useContext(o);return s.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:n(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f0b5617d.3ba2b97d.js b/assets/js/f0b5617d.3ba2b97d.js deleted file mode 100644 index 585f38d54..000000000 --- a/assets/js/f0b5617d.3ba2b97d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[93392],{56545:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>n,default:()=>d,frontMatter:()=>o,metadata:()=>a,toc:()=>l});var s=r(85893),i=r(11151);const o={id:"blocks-wrapper",title:"Wrapper",sidebar_label:"Wrapper"},n=void 0,a={id:"legacy/v5/basics/blocks-wrapper",title:"Wrapper",description:"docs-source",source:"@site/docs/legacy/v5/basics/blocks-wrapper.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/blocks-wrapper",permalink:"/docs/legacy/v5/basics/blocks-wrapper",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-wrapper",title:"Wrapper",sidebar_label:"Wrapper"},sidebar:"docs",previous:{title:"Component in a Block",permalink:"/docs/legacy/v5/basics/blocks-component-in-block"},next:{title:"Variations",permalink:"/docs/legacy/v5/basics/blocks-variations"}},p={},l=[{value:"wrapperUse",id:"wrapperuse",level:3},{value:"wrapperUseShowControl",id:"wrapperuseshowcontrol",level:3},{value:"wrapperUseSimple",id:"wrapperusesimple",level:3},{value:"wrapperUseSimpleShowControl",id:"wrapperusesimpleshowcontrol",level:3},{value:"wrapperDisable",id:"wrapperdisable",level:3},{value:"wrapperParentClass",id:"wrapperparentclass",level:3},{value:"wrapperId",id:"wrapperid",level:3},{value:"wrapperAnchorId",id:"wrapperanchorid",level:3},{value:"wrapperBackgroundColor",id:"wrapperbackgroundcolor",level:3},{value:"wrapperWidth (Responsive)",id:"wrapperwidth-responsive",level:3},{value:"wrapperOffset (Responsive)",id:"wrapperoffset-responsive",level:3},{value:"wrapperContainerWidth (Responsive)",id:"wrappercontainerwidth-responsive",level:3},{value:"wrapperGutter (Responsive)",id:"wrappergutter-responsive",level:3},{value:"wrapperSpacingTop (Responsive)",id:"wrapperspacingtop-responsive",level:3},{value:"wrapperSpacingBottom (Responsive)",id:"wrapperspacingbottom-responsive",level:3},{value:"wrapperSpacingTopIn (Responsive)",id:"wrapperspacingtopin-responsive",level:3},{value:"wrapperSpacingBottomIn (Responsive)",id:"wrapperspacingbottomin-responsive",level:3},{value:"wrapperDividerTop (Responsive)",id:"wrapperdividertop-responsive",level:3},{value:"wrapperDividerBottom (Responsive)",id:"wrapperdividerbottom-responsive",level:3},{value:"wrapperHide (Responsive)",id:"wrapperhide-responsive",level:3}];function c(e){const t={a:"a",blockquote:"blockquote",code:"code",h3:"h3",img:"img",p:"p",strong:"strong",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/",children:(0,s.jsx)(t.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsx)(t.p,{children:"The wrapper is our best and most powerful feature. In a nutshell, the wrapper is nothing more than a high order component (parent component)."}),"\n",(0,s.jsx)(t.p,{children:"When setting up block registration, we made it so that every block view (PHP part) passes through the wrapper component before it is registered. This gives us the ability to set multiple shared attributes in one component."}),"\n",(0,s.jsx)(t.p,{children:"The wrapper is designed to be the ultimate top-level component that controls how your block behaves in the website layout. The wrapper is a sort of a 'section' in traditional builders. By default, you can control a whole lot of stuff, but there is an ability to add your custom attributes and fine-tune the wrapper to your project's needs. Here are some of the features:"}),"\n",(0,s.jsxs)(t.blockquote,{children:["\n",(0,s.jsxs)(t.p,{children:["Some attributes are made responsive using the ",(0,s.jsx)(t.code,{children:"Responsive"})," component, and you can control all attributes depending on the media breakpoints."]}),"\n"]}),"\n",(0,s.jsx)(t.h3,{id:"wrapperuse",children:"wrapperUse"}),"\n",(0,s.jsxs)(t.p,{children:["This attribute controls the usage of the wrapper component. It behaves the same way as described in ",(0,s.jsx)(t.a,{href:"blocks-component-in-block#i-dont-need-all-the-component-options-in-my-block",children:"this chapter"}),"."]}),"\n",(0,s.jsx)(t.h3,{id:"wrapperuseshowcontrol",children:"wrapperUseShowControl"}),"\n",(0,s.jsxs)(t.p,{children:["This attribute controls whether you will see the options for block use in the block editor. It behaves the same way as described in ",(0,s.jsx)(t.a,{href:"blocks-component-in-block#i-dont-want-my-editor-to-be-able-to-change-component-options-in-my-block",children:"this chapter"}),"."]}),"\n",(0,s.jsx)(t.h3,{id:"wrapperusesimple",children:"wrapperUseSimple"}),"\n",(0,s.jsxs)(t.p,{children:["We wrapped some of the options in a specific condition and we call it ",(0,s.jsx)(t.code,{children:"wrapperUseSimple"}),". In general, this attribute is set to ",(0,s.jsx)(t.code,{children:"true"})," when you only want the simplified options on your block. Natively, it is used inside all of the inner blocks in the column block because we don't need wrappers inside wrappers inside wrappers (and so on). It's a good rule of thumb to use a simple wrapper in all of the inner blocks."]}),"\n",(0,s.jsx)(t.h3,{id:"wrapperusesimpleshowcontrol",children:"wrapperUseSimpleShowControl"}),"\n",(0,s.jsxs)(t.p,{children:["This attribute controls whether you are going to see options in the block editor to use the simple option. It behaves the same way as described in ",(0,s.jsx)(t.a,{href:"blocks-component-in-block#i-dont-want-my-editor-to-be-able-to-change-component-options-in-my-block",children:"this chapter"}),"."]}),"\n",(0,s.jsx)(t.h3,{id:"wrapperdisable",children:"wrapperDisable"}),"\n",(0,s.jsxs)(t.p,{children:["This attribute disables the wrapper completely. When this attribute is set to ",(0,s.jsx)(t.code,{children:"true"}),", you will not have any wrapper options in your block."]}),"\n",(0,s.jsx)(t.h3,{id:"wrapperparentclass",children:"wrapperParentClass"}),"\n",(0,s.jsx)(t.p,{children:"This attribute is interesting to use if, for example, you have a carousel block with inner blocks. To provide the markup necessary for the carousel script to work, you need to add some items selector (a div). With this key, you can pass a parent item class, and all of your items will be wrapped with this selector and a class."}),"\n",(0,s.jsx)(t.h3,{id:"wrapperid",children:"wrapperId"}),"\n",(0,s.jsx)(t.p,{children:"It is used if you want to provide some identifier for a specific block."}),"\n",(0,s.jsx)(t.h3,{id:"wrapperanchorid",children:"wrapperAnchorId"}),"\n",(0,s.jsx)(t.p,{children:"It is used if you want to use the section as a scroll to option. Initially, it is designed so the scroll is moved up by the size of your fixed header size. You can change this value according to your project needs."}),"\n",(0,s.jsx)(t.h3,{id:"wrapperbackgroundcolor",children:"wrapperBackgroundColor"}),"\n",(0,s.jsx)(t.p,{children:"Controls the background color of your sections. You can change it by providing the colors registered in the block editor's color palette."}),"\n",(0,s.jsx)(t.h3,{id:"wrapperwidth-responsive",children:"wrapperWidth (Responsive)"}),"\n",(0,s.jsx)(t.p,{children:"Defines the width of the content (block) inside of the wrapper. It behaves by a grid of 12 (default), and it starts from the left edge."}),"\n",(0,s.jsx)(t.h3,{id:"wrapperoffset-responsive",children:"wrapperOffset (Responsive)"}),"\n",(0,s.jsx)(t.p,{children:"The same as the width, but this attribute controls the offset (margin) from the left of your wrapper."}),"\n",(0,s.jsx)(t.h3,{id:"wrappercontainerwidth-responsive",children:"wrapperContainerWidth (Responsive)"}),"\n",(0,s.jsx)(t.p,{children:"This attribute defines your block's container width, and on that container, wrapper width and wrapperContainerWidth will be applied. You can define these values in the wrapper's manifest and the global manifest settings."}),"\n",(0,s.jsx)(t.h3,{id:"wrappergutter-responsive",children:"wrapperGutter (Responsive)"}),"\n",(0,s.jsx)(t.p,{children:"Controls the left/right spacing for the content (block). You can define these values in the wrapper's manifest and the global manifest settings."}),"\n",(0,s.jsx)(t.h3,{id:"wrapperspacingtop-responsive",children:"wrapperSpacingTop (Responsive)"}),"\n",(0,s.jsxs)(t.p,{children:["Moves the spacing from the top by an increment of 10px. It uses ",(0,s.jsx)(t.code,{children:"margin-top"})," to set a spacing, background color ",(0,s.jsx)(t.strong,{children:"will not be applied to this attribute"}),". You can define these values in the wrapper's manifest and the global manifest settings."]}),"\n",(0,s.jsx)(t.h3,{id:"wrapperspacingbottom-responsive",children:"wrapperSpacingBottom (Responsive)"}),"\n",(0,s.jsxs)(t.p,{children:["Moves the spacing from the bottom by an increment of 10px. It uses ",(0,s.jsx)(t.code,{children:"margin-bottom"})," to set a spacing, background color ",(0,s.jsx)(t.strong,{children:"will not be applied to this attribute"}),". You can define these values in the wrapper's manifest and the global manifest settings."]}),"\n",(0,s.jsx)(t.h3,{id:"wrapperspacingtopin-responsive",children:"wrapperSpacingTopIn (Responsive)"}),"\n",(0,s.jsxs)(t.p,{children:["Moves the spacing from the top by an increment of 10px. It uses ",(0,s.jsx)(t.code,{children:"padding-top"})," to set a spacing, background color ",(0,s.jsx)(t.strong,{children:"will be applied to this attribute"}),". You can define these values in the wrapper's manifest and the global manifest settings."]}),"\n",(0,s.jsx)(t.h3,{id:"wrapperspacingbottomin-responsive",children:"wrapperSpacingBottomIn (Responsive)"}),"\n",(0,s.jsxs)(t.p,{children:["Moves the spacing from the bottom by an increment of 10px. It uses ",(0,s.jsx)(t.code,{children:"padding-bottom"})," to set a spacing, background color ",(0,s.jsx)(t.strong,{children:"will be applied to this attribute"}),". You can define these values in the wrapper's manifest and the global manifest settings."]}),"\n",(0,s.jsx)(t.h3,{id:"wrapperdividertop-responsive",children:"wrapperDividerTop (Responsive)"}),"\n",(0,s.jsxs)(t.p,{children:["This attribute adds a divider on the top of the section. The spacing of the divider from the content is set by ",(0,s.jsx)(t.code,{children:"wrapperSpacingTopIn"})," attributes."]}),"\n",(0,s.jsx)(t.h3,{id:"wrapperdividerbottom-responsive",children:"wrapperDividerBottom (Responsive)"}),"\n",(0,s.jsxs)(t.p,{children:["This attribute adds a divider at the bottom of the section. The spacing of the divider from the content is set by ",(0,s.jsx)(t.code,{children:"wrapperSpacingBottomIn"})," attributes."]}),"\n",(0,s.jsx)(t.h3,{id:"wrapperhide-responsive",children:"wrapperHide (Responsive)"}),"\n",(0,s.jsx)(t.p,{children:"Controls whether the section will be shown on a specific breakpoint."}),"\n",(0,s.jsxs)(t.blockquote,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Important note"}),": all responsive options are made in ",(0,s.jsx)(t.code,{children:"desktop"})," first way for the block editor because every editor wants to style these firsts. All of the responsive attributes are applied from the large to the mobile breakpoint. So if you set the tablet values, it will be applied to the tablet and mobile breakpoints."]}),"\n"]})]})}function d(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},11151:(e,t,r)=>{r.d(t,{Z:()=>a,a:()=>n});var s=r(67294);const i={},o=s.createContext(i);function n(e){const t=s.useContext(o);return s.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:n(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f0ebaa7e.3cf51860.js b/assets/js/f0ebaa7e.3cf51860.js deleted file mode 100644 index 91bab632a..000000000 --- a/assets/js/f0ebaa7e.3cf51860.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[44136],{29072:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>a,contentTitle:()=>o,default:()=>h,frontMatter:()=>r,metadata:()=>l,toc:()=>c});var t=s(85893),i=s(11151);const r={id:"6-7",title:"Version 6 to 7"},o=void 0,l={id:"migrations/6-7",title:"Version 6 to 7",description:"This migration guide is represents migration for:",source:"@site/docs/migrations/6-7.md",sourceDirName:"migrations",slug:"/migrations/6-7",permalink:"/docs/migrations/6-7",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"6-7",title:"Version 6 to 7"},sidebar:"docs",previous:{title:"Version 7 to 8",permalink:"/docs/migrations/7-8"},next:{title:"Version 5 to 6",permalink:"/docs/migrations/5-6"}},a={},c=[{value:"Required changes",id:"required-changes",level:2},{value:"Improvement changes:",id:"improvement-changes",level:2},{value:"Optional changes:",id:"optional-changes",level:2}];function d(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:"This migration guide is represents migration for:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-boilerplate/releases/tag/7.0.0",children:"eightshift/boilerplate"})," - ",(0,t.jsx)(n.strong,{children:"6+ --\x3e 7.0.0"})]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/releases/tag/6.0.0",children:"eightshift/frontend-libs"})," - ",(0,t.jsx)(n.strong,{children:"5+ --\x3e 6.0.0"})]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/releases/tag/5.0.0",children:"eightshift/libs"})," - ",(0,t.jsx)(n.strong,{children:"4+ --\x3e 5.0.0"})]}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"required-changes",children:"Required changes"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Migration time: ~30min."})}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["Make sure that all editor scripts are loaded from ",(0,t.jsx)(n.code,{children:"@eightshift/frontend-libs/scripts"}),";"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["Make sure that all frontend JS scripts that use frontend helper load ony from ",(0,t.jsx)(n.code,{children:"@eightshift/frontend-libs/scripts/helpers"}),"."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["We have removed PHP class ",(0,t.jsx)(n.code,{children:"LabelGenerator"})," and added it in the helper Traits so it you are using it in you project you should refactor it like in the example provided ",(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/pull/277",children:"here"}),"."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["In ",(0,t.jsx)(n.code,{children:"src>Blocks>Blocks.php"})," remove ",(0,t.jsx)(n.code,{children:"getBlocksPath"})," method because we are not using it anymore."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["In ",(0,t.jsx)(n.code,{children:"src>Blocks>Blocks.php"})," replace all instances of ",(0,t.jsx)(n.code,{children:"$this->getSettings()['namespace']"})," with ",(0,t.jsx)(n.code,{children:"Components::getSettingsNamespace()"}),". Generally every place that you use ",(0,t.jsx)(n.code,{children:"$this->getSettings()"})," use Component store instead."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["In ",(0,t.jsx)(n.code,{children:"src>Blocks>Blocks.php"})," add new filter ",(0,t.jsx)(n.code,{children:"\\add_action('wp_footer', [$this, 'outputCssVariablesInline']);"})," to be able to output one style tag styles."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["In ",(0,t.jsx)(n.code,{children:"src>Blocks>manifest.json"})," add config keys used to trigger different behaviour of the boilerplate."]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-json",children:'"config": {\n\t"outputCssGlobally": true,\n\t"outputCssOptimize": true,\n\t"outputCssSelectorName": "esCssVariables",\n\t"outputCssGloballyAdditionalStyles": [\n\t\t":root {--es-loaded-opacity: 1;}"\n\t],\n\t"useWrapper": true\n},\n'})}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["Open ",(0,t.jsx)(n.code,{children:"src>Blocks>assets"})," folder and compare it with our new layout and files located ",(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/feature/variables/blocks/init/src/Blocks/assets",children:"here"}),"."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["In ",(0,t.jsx)(n.code,{children:"src>Enqueue>Blocks>EnqueueBlocks.php"})," add a new action to output new frontend-only styles:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"\\add_action('wp_enqueue_scripts', [$this, 'enqueueBlockFrontendStyle'], 50);\n"})}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["In ",(0,t.jsx)(n.code,{children:"src>Enqueue>Blocks>EnqueueBlocks.php"})," rename filter callback ",(0,t.jsx)(n.code,{children:"enqueueBlockScript"})," to ",(0,t.jsx)(n.code,{children:"enqueueBlockFrontendScript"}),"."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["Find all usage of ",(0,t.jsx)(n.code,{children:"ServerSideRender"})," component in JS part. Then in PHP part wherever you use render method you must pass a new attribute ",(0,t.jsx)(n.code,{children:"blockSsr"}),". Here is an example:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"$featuredContentServerSideRender = Components::checkAttr('featuredContentServerSideRender', $attributes, $manifest);\n\necho Components::render(\n\t'card-article',\n\tComponents::props(\n\t\t'cardArticle',\n\t\t$props,\n\t\t[\n\t\t\t'blockSsr' => $featuredContentServerSideRender,\n\t\t]\n\t),\n);\n\necho Components::render(\n\t'layout',\n\tComponents::props('layout', $attributes, [\n\t\t'blockClass' => $blockClass,\n\t\t'blockSsr' => $featuredContentServerSideRender,\n\t]),\n);\n"})}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"improvement-changes",children:"Improvement changes:"}),"\n",(0,t.jsxs)(n.p,{children:["You should replace all instances where you are getting the data directly from the array like ",(0,t.jsx)(n.code,{children:"$globalManifest['globalVariables']"}),", this can be replaced with ",(0,t.jsx)(n.code,{children:"Components::getSettings()"}),".\nOr for examle getting the breakpoints ",(0,t.jsx)(n.code,{children:"$globalManifest['globalVariables']['breakpoints']"})," can be replaced with ",(0,t.jsx)(n.code,{children:"Components::setSettingsGlobalVariablesBreakpoints()"}),"."]}),"\n",(0,t.jsxs)(n.p,{children:["Here are all the links for all of the Store helpers that you can use in ",(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/blob/feature/variables/src/Helpers/StoreTrait.php",children:"PHP"})," and in ",(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/feature/variables/scripts/editor/store.js",children:"JS"}),"."]}),"\n",(0,t.jsx)(n.p,{children:"PHP example:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"$globalManifest = Components::getManifest(dirname(__DIR__, 2));\n\necho $globalManifest['namespace'];\n\n// replace with\n\necho Components::getSettingsNamespace();\n"})}),"\n",(0,t.jsx)(n.p,{children:"JS example:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-jsx",children:"import { globalManifest } from '../../manifest.json';\n\nconst {\n\tnamespace,\n} = globalManifest;\n\n// replace with\nimport { select } from '@wordpress/data';\nimport { STORE_NAME } from '@eightshift/frontend-libs/scripts';\n\nconst namespace = select(STORE_NAME).getSettingsNamespace();\n"})}),"\n",(0,t.jsx)(n.h2,{id:"optional-changes",children:"Optional changes:"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Migration time: ~5min."})}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["Find all ",(0,t.jsx)(n.code,{children:"outputCssVariables"})," function usage (JS and PHP) and remove 4th parameter ",(0,t.jsx)(n.code,{children:"globalManifest"})," because it is not in use anymore."]}),"\n"]}),"\n",(0,t.jsx)(n.admonition,{type:"caution",children:(0,t.jsx)(n.p,{children:"At this point this parameter will not cause any error but it will be removed in the next major release and then it will cause a fatal error so you should remove it."})}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["Find ",(0,t.jsx)(n.code,{children:"outputCssVariablesGlobal"})," function usage (JS and PHP) and remove the parameter ",(0,t.jsx)(n.code,{children:"globalManifest"})," because it is not in use anymore."]}),"\n"]}),"\n",(0,t.jsx)(n.admonition,{type:"caution",children:(0,t.jsx)(n.p,{children:"At this point this parameter will not cause any error but it will be removed in the next major release and then it will cause a fatal error so you should remove it."})}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["Add style changes to ",(0,t.jsx)(n.code,{children:"src>assets>styles>parts>utils>_core.scss"})," file in the ",(0,t.jsx)(n.code,{children:"body"})," selector to provide content flickering on render. Here is an example:"]}),"\n"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-scss",children:"body {\n\t//...\n\topacity: var(--es-loaded-opacity, 0);\n\n\ttransition: {\n\t\tproperty: opacity;\n\t\tduration: 0.5s;\n\t\tdelay: 0.6s;\n\t};\n}\n"})})]})}function h(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},11151:(e,n,s)=>{s.d(n,{Z:()=>l,a:()=>o});var t=s(67294);const i={},r=t.createContext(i);function o(e){const n=t.useContext(r);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:o(e.components),t.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f0ebaa7e.aa141057.js b/assets/js/f0ebaa7e.aa141057.js new file mode 100644 index 000000000..52849d614 --- /dev/null +++ b/assets/js/f0ebaa7e.aa141057.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[45544],{36048:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>a,contentTitle:()=>o,default:()=>h,frontMatter:()=>r,metadata:()=>l,toc:()=>c});var t=s(17624),i=s(4552);const r={id:"6-7",title:"Version 6 to 7"},o=void 0,l={id:"migrations/6-7",title:"Version 6 to 7",description:"This migration guide is represents migration for:",source:"@site/docs/migrations/6-7.md",sourceDirName:"migrations",slug:"/migrations/6-7",permalink:"/docs/migrations/6-7",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"6-7",title:"Version 6 to 7"},sidebar:"docs",previous:{title:"Version 7 to 8",permalink:"/docs/migrations/7-8"},next:{title:"Version 5 to 6",permalink:"/docs/migrations/5-6"}},a={},c=[{value:"Required changes",id:"required-changes",level:2},{value:"Improvement changes:",id:"improvement-changes",level:2},{value:"Optional changes:",id:"optional-changes",level:2}];function d(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:"This migration guide is represents migration for:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-boilerplate/releases/tag/7.0.0",children:"eightshift/boilerplate"})," - ",(0,t.jsx)(n.strong,{children:"6+ --\x3e 7.0.0"})]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/releases/tag/6.0.0",children:"eightshift/frontend-libs"})," - ",(0,t.jsx)(n.strong,{children:"5+ --\x3e 6.0.0"})]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/releases/tag/5.0.0",children:"eightshift/libs"})," - ",(0,t.jsx)(n.strong,{children:"4+ --\x3e 5.0.0"})]}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"required-changes",children:"Required changes"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Migration time: ~30min."})}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["Make sure that all editor scripts are loaded from ",(0,t.jsx)(n.code,{children:"@eightshift/frontend-libs/scripts"}),";"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["Make sure that all frontend JS scripts that use frontend helper load ony from ",(0,t.jsx)(n.code,{children:"@eightshift/frontend-libs/scripts/helpers"}),"."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["We have removed PHP class ",(0,t.jsx)(n.code,{children:"LabelGenerator"})," and added it in the helper Traits so it you are using it in you project you should refactor it like in the example provided ",(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/pull/277",children:"here"}),"."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["In ",(0,t.jsx)(n.code,{children:"src>Blocks>Blocks.php"})," remove ",(0,t.jsx)(n.code,{children:"getBlocksPath"})," method because we are not using it anymore."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["In ",(0,t.jsx)(n.code,{children:"src>Blocks>Blocks.php"})," replace all instances of ",(0,t.jsx)(n.code,{children:"$this->getSettings()['namespace']"})," with ",(0,t.jsx)(n.code,{children:"Components::getSettingsNamespace()"}),". Generally every place that you use ",(0,t.jsx)(n.code,{children:"$this->getSettings()"})," use Component store instead."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["In ",(0,t.jsx)(n.code,{children:"src>Blocks>Blocks.php"})," add new filter ",(0,t.jsx)(n.code,{children:"\\add_action('wp_footer', [$this, 'outputCssVariablesInline']);"})," to be able to output one style tag styles."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["In ",(0,t.jsx)(n.code,{children:"src>Blocks>manifest.json"})," add config keys used to trigger different behaviour of the boilerplate."]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-json",children:'"config": {\n\t"outputCssGlobally": true,\n\t"outputCssOptimize": true,\n\t"outputCssSelectorName": "esCssVariables",\n\t"outputCssGloballyAdditionalStyles": [\n\t\t":root {--es-loaded-opacity: 1;}"\n\t],\n\t"useWrapper": true\n},\n'})}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["Open ",(0,t.jsx)(n.code,{children:"src>Blocks>assets"})," folder and compare it with our new layout and files located ",(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/feature/variables/blocks/init/src/Blocks/assets",children:"here"}),"."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["In ",(0,t.jsx)(n.code,{children:"src>Enqueue>Blocks>EnqueueBlocks.php"})," add a new action to output new frontend-only styles:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"\\add_action('wp_enqueue_scripts', [$this, 'enqueueBlockFrontendStyle'], 50);\n"})}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["In ",(0,t.jsx)(n.code,{children:"src>Enqueue>Blocks>EnqueueBlocks.php"})," rename filter callback ",(0,t.jsx)(n.code,{children:"enqueueBlockScript"})," to ",(0,t.jsx)(n.code,{children:"enqueueBlockFrontendScript"}),"."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["Find all usage of ",(0,t.jsx)(n.code,{children:"ServerSideRender"})," component in JS part. Then in PHP part wherever you use render method you must pass a new attribute ",(0,t.jsx)(n.code,{children:"blockSsr"}),". Here is an example:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"$featuredContentServerSideRender = Components::checkAttr('featuredContentServerSideRender', $attributes, $manifest);\n\necho Components::render(\n\t'card-article',\n\tComponents::props(\n\t\t'cardArticle',\n\t\t$props,\n\t\t[\n\t\t\t'blockSsr' => $featuredContentServerSideRender,\n\t\t]\n\t),\n);\n\necho Components::render(\n\t'layout',\n\tComponents::props('layout', $attributes, [\n\t\t'blockClass' => $blockClass,\n\t\t'blockSsr' => $featuredContentServerSideRender,\n\t]),\n);\n"})}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"improvement-changes",children:"Improvement changes:"}),"\n",(0,t.jsxs)(n.p,{children:["You should replace all instances where you are getting the data directly from the array like ",(0,t.jsx)(n.code,{children:"$globalManifest['globalVariables']"}),", this can be replaced with ",(0,t.jsx)(n.code,{children:"Components::getSettings()"}),".\nOr for examle getting the breakpoints ",(0,t.jsx)(n.code,{children:"$globalManifest['globalVariables']['breakpoints']"})," can be replaced with ",(0,t.jsx)(n.code,{children:"Components::setSettingsGlobalVariablesBreakpoints()"}),"."]}),"\n",(0,t.jsxs)(n.p,{children:["Here are all the links for all of the Store helpers that you can use in ",(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/blob/feature/variables/src/Helpers/StoreTrait.php",children:"PHP"})," and in ",(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/feature/variables/scripts/editor/store.js",children:"JS"}),"."]}),"\n",(0,t.jsx)(n.p,{children:"PHP example:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"$globalManifest = Components::getManifest(dirname(__DIR__, 2));\n\necho $globalManifest['namespace'];\n\n// replace with\n\necho Components::getSettingsNamespace();\n"})}),"\n",(0,t.jsx)(n.p,{children:"JS example:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-jsx",children:"import { globalManifest } from '../../manifest.json';\n\nconst {\n\tnamespace,\n} = globalManifest;\n\n// replace with\nimport { select } from '@wordpress/data';\nimport { STORE_NAME } from '@eightshift/frontend-libs/scripts';\n\nconst namespace = select(STORE_NAME).getSettingsNamespace();\n"})}),"\n",(0,t.jsx)(n.h2,{id:"optional-changes",children:"Optional changes:"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Migration time: ~5min."})}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["Find all ",(0,t.jsx)(n.code,{children:"outputCssVariables"})," function usage (JS and PHP) and remove 4th parameter ",(0,t.jsx)(n.code,{children:"globalManifest"})," because it is not in use anymore."]}),"\n"]}),"\n",(0,t.jsx)(n.admonition,{type:"caution",children:(0,t.jsx)(n.p,{children:"At this point this parameter will not cause any error but it will be removed in the next major release and then it will cause a fatal error so you should remove it."})}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["Find ",(0,t.jsx)(n.code,{children:"outputCssVariablesGlobal"})," function usage (JS and PHP) and remove the parameter ",(0,t.jsx)(n.code,{children:"globalManifest"})," because it is not in use anymore."]}),"\n"]}),"\n",(0,t.jsx)(n.admonition,{type:"caution",children:(0,t.jsx)(n.p,{children:"At this point this parameter will not cause any error but it will be removed in the next major release and then it will cause a fatal error so you should remove it."})}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["Add style changes to ",(0,t.jsx)(n.code,{children:"src>assets>styles>parts>utils>_core.scss"})," file in the ",(0,t.jsx)(n.code,{children:"body"})," selector to provide content flickering on render. Here is an example:"]}),"\n"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-scss",children:"body {\n\t//...\n\topacity: var(--es-loaded-opacity, 0);\n\n\ttransition: {\n\t\tproperty: opacity;\n\t\tduration: 0.5s;\n\t\tdelay: 0.6s;\n\t};\n}\n"})})]})}function h(e={}){const{wrapper:n}={...(0,i.M)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},4552:(e,n,s)=>{s.d(n,{I:()=>l,M:()=>o});var t=s(11504);const i={},r=t.createContext(i);function o(e){const n=t.useContext(r);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:o(e.components),t.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f0f0c9e0.88b2fd5e.js b/assets/js/f0f0c9e0.88b2fd5e.js new file mode 100644 index 000000000..a940e853d --- /dev/null +++ b/assets/js/f0f0c9e0.88b2fd5e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[82452],{89376:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>c,contentTitle:()=>i,default:()=>a,frontMatter:()=>s,metadata:()=>p,toc:()=>l});var o=n(17624),r=n(4552);const s={id:"component-next",title:'Multi-step form "Next" button'},i=void 0,p={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.',source:"@site/forms/php/filters/block/step/component-next.md",sourceDirName:"php/filters/block/step",slug:"/php/filters/block/step/component-next",permalink:"/forms/php/filters/block/step/component-next",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"component-next",title:'Multi-step form "Next" button'},sidebar:"forms",previous:{title:'Multi-step form "Previous" button',permalink:"/forms/php/filters/block/step/component-prev"},next:{title:"Additional content",permalink:"/forms/php/filters/block/rating/additional-content"}},c={},l=[];function u(t){const e={admonition:"admonition",code:"code",p:"p",pre:"pre",...(0,r.M)(),...t.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.p,{children:'This filter allows you to provide custom markup for the multi-step form "Next" button.'}),"\n",(0,o.jsx)(e.pre,{children:(0,o.jsx)(e.code,{className:"language-php",children:"\\add_filter('es_forms_block_step_component_next', [$this, 'getBlockStepComponentNext']);\n\n/**\n * Changing the default custom next button for the multi-step form.\n *\n * @param array<string, mixed> $data Block attributes.\n *\n * @return string\n */\npublic function getBlockStepComponentNext(array $data): string\n{\n\treturn '<button type=\"submit\" class=\"custom-button\">Next</button>';\n}\n"})}),"\n",(0,o.jsx)(e.admonition,{type:"note",children:(0,o.jsx)(e.p,{children:"The custom button will not show in Form settings pages."})})]})}function a(t={}){const{wrapper:e}={...(0,r.M)(),...t.components};return e?(0,o.jsx)(e,{...t,children:(0,o.jsx)(u,{...t})}):u(t)}},4552:(t,e,n)=>{n.d(e,{I:()=>p,M:()=>i});var o=n(11504);const r={},s=o.createContext(r);function i(t){const e=o.useContext(s);return o.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function p(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(r):t.components||r:i(t.components),o.createElement(s.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/f0f0c9e0.c7013093.js b/assets/js/f0f0c9e0.c7013093.js deleted file mode 100644 index fe9ad968b..000000000 --- a/assets/js/f0f0c9e0.c7013093.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[75970],{3231:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>c,contentTitle:()=>i,default:()=>a,frontMatter:()=>s,metadata:()=>p,toc:()=>l});var o=n(85893),r=n(11151);const s={id:"component-next",title:'Multi-step form "Next" button'},i=void 0,p={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.',source:"@site/forms/php/filters/block/step/component-next.md",sourceDirName:"php/filters/block/step",slug:"/php/filters/block/step/component-next",permalink:"/forms/php/filters/block/step/component-next",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"component-next",title:'Multi-step form "Next" button'},sidebar:"forms",previous:{title:'Multi-step form "Previous" button',permalink:"/forms/php/filters/block/step/component-prev"},next:{title:"Additional content",permalink:"/forms/php/filters/block/rating/additional-content"}},c={},l=[];function u(t){const e={admonition:"admonition",code:"code",p:"p",pre:"pre",...(0,r.a)(),...t.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.p,{children:'This filter allows you to provide custom markup for the multi-step form "Next" button.'}),"\n",(0,o.jsx)(e.pre,{children:(0,o.jsx)(e.code,{className:"language-php",children:"\\add_filter('es_forms_block_step_component_next', [$this, 'getBlockStepComponentNext']);\n\n/**\n * Changing the default custom next button for the multi-step form.\n *\n * @param array<string, mixed> $data Block attributes.\n *\n * @return string\n */\npublic function getBlockStepComponentNext(array $data): string\n{\n\treturn '<button type=\"submit\" class=\"custom-button\">Next</button>';\n}\n"})}),"\n",(0,o.jsx)(e.admonition,{type:"note",children:(0,o.jsx)(e.p,{children:"The custom button will not show in Form settings pages."})})]})}function a(t={}){const{wrapper:e}={...(0,r.a)(),...t.components};return e?(0,o.jsx)(e,{...t,children:(0,o.jsx)(u,{...t})}):u(t)}},11151:(t,e,n)=>{n.d(e,{Z:()=>p,a:()=>i});var o=n(67294);const r={},s=o.createContext(r);function i(t){const e=o.useContext(s);return o.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function p(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(r):t.components||r:i(t.components),o.createElement(s.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/f162eb70.7c2a8fe7.js b/assets/js/f162eb70.7c2a8fe7.js deleted file mode 100644 index 6ba76b97e..000000000 --- a/assets/js/f162eb70.7c2a8fe7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[71431],{66227:t=>{t.exports=JSON.parse('{"permalink":"/blog/tags/boilerplate","page":1,"postsPerPage":9,"totalPages":2,"totalCount":14,"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/f162eb70.804e7984.js b/assets/js/f162eb70.804e7984.js new file mode 100644 index 000000000..8a8997f1e --- /dev/null +++ b/assets/js/f162eb70.804e7984.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[38844],{89095:t=>{t.exports=JSON.parse('{"permalink":"/blog/tags/boilerplate","page":1,"postsPerPage":9,"totalPages":2,"totalCount":14,"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/f1a7576f.3afe6195.js b/assets/js/f1a7576f.3afe6195.js deleted file mode 100644 index 0865c0b4a..000000000 --- a/assets/js/f1a7576f.3afe6195.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[74192],{88363:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>o,default:()=>u,frontMatter:()=>r,metadata:()=>a,toc:()=>c});var s=n(85893),i=n(11151);const r={id:"entries",title:"Entries"},o=void 0,a={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.",source:"@site/forms/features/entries.md",sourceDirName:"features",slug:"/features/entries",permalink:"/forms/features/entries",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"entries",title:"Entries"},sidebar:"forms",previous:{title:"WPML",permalink:"/forms/features/wpml"},next:{title:"Show As",permalink:"/forms/features/show-as"}},d={},c=[];function l(e){const t={admonition:"admonition",img:"img",p:"p",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:"Entries collection will allow you to store every form submission in the database and preview the data from WordPress admin."}),"\n",(0,s.jsx)(t.admonition,{type:"note",children:(0,s.jsx)(t.p,{children:"You must activate the entry collection on every form you want to store data."})}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Entries settings screen",src:n(55680).Z+"",width:"898",height:"507"})}),"\n",(0,s.jsx)(t.p,{children:"Once this feature is enabled, every form submission will be stored in the WP database with all the data."}),"\n",(0,s.jsx)(t.p,{children:"You can preview all entries by clicking the form entries link under the forms listing page."}),"\n",(0,s.jsx)(t.p,{children:"Entries can be deleted or duplicated with the ability to export all or some entries to CSV format."}),"\n",(0,s.jsx)(t.admonition,{type:"caution",children:(0,s.jsx)(t.p,{children:"Once entry is stored in the database you can't edit it from WordPress admin."})}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Entries listing screen",src:n(90531).Z+"",width:"1311",height:"875"})}),"\n",(0,s.jsx)(t.p,{children:"All data is secured and checked before it is stored in the WordPress database to ensure no malicious code will enter your database."}),"\n",(0,s.jsx)(t.admonition,{type:"caution",children:(0,s.jsx)(t.p,{children:"Form file uploads are not supported at this point."})})]})}function u(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},90531:(e,t,n)=>{n.d(t,{Z:()=>s});const s=n.p+"assets/images/entries-listing-201ac257fe29f322a0bac96e1a7e9724.webp"},55680:(e,t,n)=>{n.d(t,{Z:()=>s});const s=n.p+"assets/images/entries-374dc0065df3a72eee122b6bf63b1ee9.webp"},11151:(e,t,n)=>{n.d(t,{Z:()=>a,a:()=>o});var s=n(67294);const i={},r=s.createContext(i);function o(e){const t=s.useContext(r);return s.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:o(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f1a7576f.f5cbcc7b.js b/assets/js/f1a7576f.f5cbcc7b.js new file mode 100644 index 000000000..d8967f487 --- /dev/null +++ b/assets/js/f1a7576f.f5cbcc7b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[67926],{73040:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>u,frontMatter:()=>r,metadata:()=>a,toc:()=>d});var s=n(17624),i=n(4552);const r={id:"entries",title:"Entries"},o=void 0,a={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.",source:"@site/forms/features/entries.md",sourceDirName:"features",slug:"/features/entries",permalink:"/forms/features/entries",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"entries",title:"Entries"},sidebar:"forms",previous:{title:"WPML",permalink:"/forms/features/wpml"},next:{title:"Show As",permalink:"/forms/features/show-as"}},c={},d=[];function l(e){const t={admonition:"admonition",img:"img",p:"p",...(0,i.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:"Entries collection will allow you to store every form submission in the database and preview the data from WordPress admin."}),"\n",(0,s.jsx)(t.admonition,{type:"note",children:(0,s.jsx)(t.p,{children:"You must activate the entry collection on every form you want to store data."})}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Entries settings screen",src:n(53808).c+"",width:"898",height:"507"})}),"\n",(0,s.jsx)(t.p,{children:"Once this feature is enabled, every form submission will be stored in the WP database with all the data."}),"\n",(0,s.jsx)(t.p,{children:"You can preview all entries by clicking the form entries link under the forms listing page."}),"\n",(0,s.jsx)(t.p,{children:"Entries can be deleted or duplicated with the ability to export all or some entries to CSV format."}),"\n",(0,s.jsx)(t.admonition,{type:"caution",children:(0,s.jsx)(t.p,{children:"Once entry is stored in the database you can't edit it from WordPress admin."})}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Entries listing screen",src:n(92948).c+"",width:"1311",height:"875"})}),"\n",(0,s.jsx)(t.p,{children:"All data is secured and checked before it is stored in the WordPress database to ensure no malicious code will enter your database."}),"\n",(0,s.jsx)(t.admonition,{type:"caution",children:(0,s.jsx)(t.p,{children:"Form file uploads are not supported at this point."})})]})}function u(e={}){const{wrapper:t}={...(0,i.M)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},92948:(e,t,n)=>{n.d(t,{c:()=>s});const s=n.p+"assets/images/entries-listing-201ac257fe29f322a0bac96e1a7e9724.webp"},53808:(e,t,n)=>{n.d(t,{c:()=>s});const s=n.p+"assets/images/entries-374dc0065df3a72eee122b6bf63b1ee9.webp"},4552:(e,t,n)=>{n.d(t,{I:()=>a,M:()=>o});var s=n(11504);const i={},r=s.createContext(i);function o(e){const t=s.useContext(r);return s.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:o(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f218f265.129f4a49.js b/assets/js/f218f265.129f4a49.js new file mode 100644 index 000000000..ddd9f4ce9 --- /dev/null +++ b/assets/js/f218f265.129f4a49.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[44556],{65096:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>u,contentTitle:()=>n,default:()=>l,frontMatter:()=>i,metadata:()=>a,toc:()=>c});var s=r(17624),o=r(4552);const i={id:"migrations",title:"Migrations"},n=void 0,a={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.",source:"@site/forms/features/migrations.md",sourceDirName:"features",slug:"/features/migrations",permalink:"/forms/features/migrations",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"migrations",title:"Migrations"},sidebar:"forms",previous:{title:"Import/Export",permalink:"/forms/features/import-export"},next:{title:"Cloudflare",permalink:"/forms/features/cloudflare"}},u={},c=[];function m(e){const t={img:"img",p:"p",...(0,o.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:"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."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Migrations screen",src:r(35664).c+"",width:"762",height:"668"})})]})}function l(e={}){const{wrapper:t}={...(0,o.M)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(m,{...e})}):m(e)}},35664:(e,t,r)=>{r.d(t,{c:()=>s});const s=r.p+"assets/images/migrations-594ead658044e2778dae927d92d3246c.webp"},4552:(e,t,r)=>{r.d(t,{I:()=>a,M:()=>n});var s=r(11504);const o={},i=s.createContext(o);function n(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:n(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f218f265.fc97f220.js b/assets/js/f218f265.fc97f220.js deleted file mode 100644 index d673e4d0a..000000000 --- a/assets/js/f218f265.fc97f220.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[66942],{91978:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>u,contentTitle:()=>n,default:()=>l,frontMatter:()=>i,metadata:()=>a,toc:()=>m});var s=r(85893),o=r(11151);const i={id:"migrations",title:"Migrations"},n=void 0,a={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.",source:"@site/forms/features/migrations.md",sourceDirName:"features",slug:"/features/migrations",permalink:"/forms/features/migrations",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"migrations",title:"Migrations"},sidebar:"forms",previous:{title:"Import/Export",permalink:"/forms/features/import-export"},next:{title:"Cloudflare",permalink:"/forms/features/cloudflare"}},u={},m=[];function c(e){const t={img:"img",p:"p",...(0,o.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:"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."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Migrations screen",src:r(4317).Z+"",width:"762",height:"668"})})]})}function l(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},4317:(e,t,r)=>{r.d(t,{Z:()=>s});const s=r.p+"assets/images/migrations-594ead658044e2778dae927d92d3246c.webp"},11151:(e,t,r)=>{r.d(t,{Z:()=>a,a:()=>n});var s=r(67294);const o={},i=s.createContext(o);function n(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:n(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f26f0cdb.7af20041.js b/assets/js/f26f0cdb.7af20041.js new file mode 100644 index 000000000..afe190a78 --- /dev/null +++ b/assets/js/f26f0cdb.7af20041.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[37730],{48108:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>d,contentTitle:()=>n,default:()=>h,frontMatter:()=>c,metadata:()=>i,toc:()=>l});var o=s(17624),r=s(4552);const c={id:"helpers-shortcode-helpers",title:"Shortcode"},n=void 0,i={id:"legacy/v4/advanced/helpers-shortcode-helpers",title:"Shortcode",description:"docs-source",source:"@site/docs/legacy/v4/advanced/helpers-shortcode.md",sourceDirName:"legacy/v4/advanced",slug:"/legacy/v4/advanced/helpers-shortcode-helpers",permalink:"/docs/legacy/v4/advanced/helpers-shortcode-helpers",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"helpers-shortcode-helpers",title:"Shortcode"},sidebar:"docs",previous:{title:"Components",permalink:"/docs/legacy/v4/advanced/helpers-components-helpers"},next:{title:"Error Logger",permalink:"/docs/legacy/v4/advanced/helpers-error-logger-helpers"}},d={},l=[];function a(e){const t={a:"a",code:"code",img:"img",p:"p",...(0,r.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/helpers/class-shortcode.php",children:(0,o.jsx)(t.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsxs)(t.p,{children:["Shortcode class is located in ",(0,o.jsx)(t.code,{children:"Eightshift Libs"}),". To extend it use ",(0,o.jsx)(t.code,{children:"Eightshift_Libs\\Helpers\\Shortcode"})," class."]}),"\n",(0,o.jsxs)(t.p,{children:["This class has a method ",(0,o.jsx)(t.code,{children:"get_shortcode"})," that allows programaticall output of specific shortcode. It is more optimized implemetation of ",(0,o.jsx)(t.code,{children:"do_shortcode"})," function. Full explanations can be read ",(0,o.jsx)(t.a,{href:"https://codesymphony.co/dont-do_shortcode/",children:"in this article"})]})]})}function h(e={}){const{wrapper:t}={...(0,r.M)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(a,{...e})}):a(e)}},4552:(e,t,s)=>{s.d(t,{I:()=>i,M:()=>n});var o=s(11504);const r={},c=o.createContext(r);function n(e){const t=o.useContext(c);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(r):e.components||r:n(e.components),o.createElement(c.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f26f0cdb.b794ea48.js b/assets/js/f26f0cdb.b794ea48.js deleted file mode 100644 index 9b5451efa..000000000 --- a/assets/js/f26f0cdb.b794ea48.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[81486],{11800:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>d,contentTitle:()=>n,default:()=>h,frontMatter:()=>c,metadata:()=>i,toc:()=>l});var o=s(85893),r=s(11151);const c={id:"helpers-shortcode-helpers",title:"Shortcode"},n=void 0,i={id:"legacy/v4/advanced/helpers-shortcode-helpers",title:"Shortcode",description:"docs-source",source:"@site/docs/legacy/v4/advanced/helpers-shortcode.md",sourceDirName:"legacy/v4/advanced",slug:"/legacy/v4/advanced/helpers-shortcode-helpers",permalink:"/docs/legacy/v4/advanced/helpers-shortcode-helpers",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"helpers-shortcode-helpers",title:"Shortcode"},sidebar:"docs",previous:{title:"Components",permalink:"/docs/legacy/v4/advanced/helpers-components-helpers"},next:{title:"Error Logger",permalink:"/docs/legacy/v4/advanced/helpers-error-logger-helpers"}},d={},l=[];function a(e){const t={a:"a",code:"code",img:"img",p:"p",...(0,r.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/helpers/class-shortcode.php",children:(0,o.jsx)(t.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsxs)(t.p,{children:["Shortcode class is located in ",(0,o.jsx)(t.code,{children:"Eightshift Libs"}),". To extend it use ",(0,o.jsx)(t.code,{children:"Eightshift_Libs\\Helpers\\Shortcode"})," class."]}),"\n",(0,o.jsxs)(t.p,{children:["This class has a method ",(0,o.jsx)(t.code,{children:"get_shortcode"})," that allows programaticall output of specific shortcode. It is more optimized implemetation of ",(0,o.jsx)(t.code,{children:"do_shortcode"})," function. Full explanations can be read ",(0,o.jsx)(t.a,{href:"https://codesymphony.co/dont-do_shortcode/",children:"in this article"})]})]})}function h(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(a,{...e})}):a(e)}},11151:(e,t,s)=>{s.d(t,{Z:()=>i,a:()=>n});var o=s(67294);const r={},c=o.createContext(r);function n(e){const t=o.useContext(c);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(r):e.components||r:n(e.components),o.createElement(c.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f34f869b.3cc02137.js b/assets/js/f34f869b.3cc02137.js deleted file mode 100644 index 81d4c8ef4..000000000 --- a/assets/js/f34f869b.3cc02137.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[44198],{70961:(t,n,e)=>{e.r(n),e.d(n,{assets:()=>l,contentTitle:()=>o,default:()=>f,frontMatter:()=>r,metadata:()=>s,toc:()=>d});var a=e(85893),i=e(11151);const r={id:"tracking-additional-data",title:"Tracking additional data"},o=void 0,s={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.",source:"@site/forms/php/filters/block/form/tracking-additional-data.md",sourceDirName:"php/filters/block/form",slug:"/php/filters/block/form/tracking-additional-data",permalink:"/forms/php/filters/block/form/tracking-additional-data",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"tracking-additional-data",title:"Tracking additional data"},sidebar:"forms",previous:{title:"Tracking event name",permalink:"/forms/php/filters/block/form/tracking-event-name"},next:{title:"Data type selector",permalink:"/forms/php/filters/block/form/data-type-selector"}},l={},d=[];function c(t){const n={a:"a",code:"code",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.a)(),...t.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(n.p,{children:["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 ",(0,a.jsx)(n.a,{href:"/forms/php/filters/block/form/tracking-event-name",children:"Tracking event name"})," filter."]}),"\n",(0,a.jsx)(n.p,{children:"You can add as many key/value pairs as you want. The data is sent as an array of arrays. The first value is the key and the second value is the value."}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.strong,{children:"We support three different keys:"})}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsx)(n.li,{children:"general - this data is sent on all events."}),"\n",(0,a.jsx)(n.li,{children:"success - this data is sent only on success event."}),"\n",(0,a.jsx)(n.li,{children:"error - this data is sent only on error event."}),"\n"]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-php",children:"\\add_filter('es_forms_block_form_tracking_additional_data', [$this, 'getBlockFormTrackingAdditionalData'], 10, 2);\n\n/**\n * Set tracking additional data and that data will be send to the GTM along with all field values and event name.\n *\n * This filter will override settings for tracking additional data.\n *\n * @param string $formType Type of form used like greenhouse, hubspot, etc.\n * @param string $formId Form ID.\n *\n * @return array<int, array<int, string>>\n */\npublic function getBlockFormTrackingAdditionalData(string $formType, string $formId): array\n{\n\treturn [\n\t\t'general' => [\n\t\t\t[\n\t\t\t\t'customKey',\n\t\t\t\t'customValue',\n\t\t\t],\n\t\t\t[\n\t\t\t\t'additionalKey',\n\t\t\t\t'additionalValue',\n\t\t\t],\n\t\t],\n\t\t'success' => [\n\t\t\t[\n\t\t\t\t'successKey',\n\t\t\t\t'successValue',\n\t\t\t],\n\t\t\t[\n\t\t\t\t'successAdditionalKey',\n\t\t\t\t'successAdditionalValue',\n\t\t\t],\n\t\t],\n\t\t'error' => [\n\t\t\t[\n\t\t\t\t'errorKey',\n\t\t\t\t'errorValue',\n\t\t\t],\n\t\t\t[\n\t\t\t\t'errorAdditionalKey',\n\t\t\t\t'errorAdditionalValue',\n\t\t\t],\n\t\t],\n\t];\n}\n"})})]})}function f(t={}){const{wrapper:n}={...(0,i.a)(),...t.components};return n?(0,a.jsx)(n,{...t,children:(0,a.jsx)(c,{...t})}):c(t)}},11151:(t,n,e)=>{e.d(n,{Z:()=>s,a:()=>o});var a=e(67294);const i={},r=a.createContext(i);function o(t){const n=a.useContext(r);return a.useMemo((function(){return"function"==typeof t?t(n):{...n,...t}}),[n,t])}function s(t){let n;return n=t.disableParentContext?"function"==typeof t.components?t.components(i):t.components||i:o(t.components),a.createElement(r.Provider,{value:n},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/f34f869b.edf8c5a3.js b/assets/js/f34f869b.edf8c5a3.js new file mode 100644 index 000000000..bf286089d --- /dev/null +++ b/assets/js/f34f869b.edf8c5a3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[3016],{5036:(t,n,e)=>{e.r(n),e.d(n,{assets:()=>l,contentTitle:()=>o,default:()=>f,frontMatter:()=>r,metadata:()=>s,toc:()=>d});var a=e(17624),i=e(4552);const r={id:"tracking-additional-data",title:"Tracking additional data"},o=void 0,s={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.",source:"@site/forms/php/filters/block/form/tracking-additional-data.md",sourceDirName:"php/filters/block/form",slug:"/php/filters/block/form/tracking-additional-data",permalink:"/forms/php/filters/block/form/tracking-additional-data",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"tracking-additional-data",title:"Tracking additional data"},sidebar:"forms",previous:{title:"Tracking event name",permalink:"/forms/php/filters/block/form/tracking-event-name"},next:{title:"Data type selector",permalink:"/forms/php/filters/block/form/data-type-selector"}},l={},d=[];function c(t){const n={a:"a",code:"code",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.M)(),...t.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(n.p,{children:["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 ",(0,a.jsx)(n.a,{href:"/forms/php/filters/block/form/tracking-event-name",children:"Tracking event name"})," filter."]}),"\n",(0,a.jsx)(n.p,{children:"You can add as many key/value pairs as you want. The data is sent as an array of arrays. The first value is the key and the second value is the value."}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.strong,{children:"We support three different keys:"})}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsx)(n.li,{children:"general - this data is sent on all events."}),"\n",(0,a.jsx)(n.li,{children:"success - this data is sent only on success event."}),"\n",(0,a.jsx)(n.li,{children:"error - this data is sent only on error event."}),"\n"]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-php",children:"\\add_filter('es_forms_block_form_tracking_additional_data', [$this, 'getBlockFormTrackingAdditionalData'], 10, 2);\n\n/**\n * Set tracking additional data and that data will be send to the GTM along with all field values and event name.\n *\n * This filter will override settings for tracking additional data.\n *\n * @param string $formType Type of form used like greenhouse, hubspot, etc.\n * @param string $formId Form ID.\n *\n * @return array<int, array<int, string>>\n */\npublic function getBlockFormTrackingAdditionalData(string $formType, string $formId): array\n{\n\treturn [\n\t\t'general' => [\n\t\t\t[\n\t\t\t\t'customKey',\n\t\t\t\t'customValue',\n\t\t\t],\n\t\t\t[\n\t\t\t\t'additionalKey',\n\t\t\t\t'additionalValue',\n\t\t\t],\n\t\t],\n\t\t'success' => [\n\t\t\t[\n\t\t\t\t'successKey',\n\t\t\t\t'successValue',\n\t\t\t],\n\t\t\t[\n\t\t\t\t'successAdditionalKey',\n\t\t\t\t'successAdditionalValue',\n\t\t\t],\n\t\t],\n\t\t'error' => [\n\t\t\t[\n\t\t\t\t'errorKey',\n\t\t\t\t'errorValue',\n\t\t\t],\n\t\t\t[\n\t\t\t\t'errorAdditionalKey',\n\t\t\t\t'errorAdditionalValue',\n\t\t\t],\n\t\t],\n\t];\n}\n"})})]})}function f(t={}){const{wrapper:n}={...(0,i.M)(),...t.components};return n?(0,a.jsx)(n,{...t,children:(0,a.jsx)(c,{...t})}):c(t)}},4552:(t,n,e)=>{e.d(n,{I:()=>s,M:()=>o});var a=e(11504);const i={},r=a.createContext(i);function o(t){const n=a.useContext(r);return a.useMemo((function(){return"function"==typeof t?t(n):{...n,...t}}),[n,t])}function s(t){let n;return n=t.disableParentContext?"function"==typeof t.components?t.components(i):t.components||i:o(t.components),a.createElement(r.Provider,{value:n},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/f407a811.a49d423d.js b/assets/js/f407a811.a49d423d.js deleted file mode 100644 index 669f0f201..000000000 --- a/assets/js/f407a811.a49d423d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[50836],{25396:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>n,metadata:()=>r,toc:()=>l});var a=t(85893),o=t(11151);const n={id:"example-class",title:"Example Class"},i=void 0,r={id:"legacy/v7/basics/example-class",title:"Example Class",description:"docs-source",source:"@site/docs/legacy/v7/basics/example-class.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/example-class",permalink:"/docs/legacy/v7/basics/example-class",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"example-class",title:"Example Class"},sidebar:"docs",previous:{title:"Autowiring",permalink:"/docs/legacy/v7/basics/autowiring"},next:{title:"Assets Manifest",permalink:"/docs/legacy/v7/basics/manifest"}},c={},l=[];function d(e){const s={a:"a",code:"code",img:"img",p:"p",...(0,o.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(s.p,{children:(0,a.jsx)(s.a,{href:"https://github.com/infinum/eightshift-libs/tree/5.0.0",children:(0,a.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,a.jsxs)(s.p,{children:["As you've already seen in the ",(0,a.jsx)(s.a,{href:"wp-cli",children:"WP-CLI"})," chapter, we have many finished features prepared for you. However, we want to make things even easier for you, so we created an example service class for you to use."]}),"\n",(0,a.jsx)(s.p,{children:"If you want to add a new service class to your project but don't want to write all the boilerplate around it, just use the WP-CLI command:"}),"\n",(0,a.jsx)(s.p,{children:(0,a.jsx)(s.code,{children:"wp boilerplate create_service_example"})}),"\n",(0,a.jsxs)(s.p,{children:["The output will ask you to input the correct folder path relative to the ",(0,a.jsx)(s.code,{children:"src"})," folder and specify the class name.\nEverything else will be done for you like setting the namespace, package, vendor prefixes, class and folder name, and you will be set to write your class."]}),"\n",(0,a.jsx)(s.p,{children:"After that, add your WordPress hooks to the register method, provide its callback, and let the magic happen."})]})}function p(e={}){const{wrapper:s}={...(0,o.a)(),...e.components};return s?(0,a.jsx)(s,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},11151:(e,s,t)=>{t.d(s,{Z:()=>r,a:()=>i});var a=t(67294);const o={},n=a.createContext(o);function i(e){const s=a.useContext(n);return a.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),a.createElement(n.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f407a811.ffee2525.js b/assets/js/f407a811.ffee2525.js new file mode 100644 index 000000000..cb91c7225 --- /dev/null +++ b/assets/js/f407a811.ffee2525.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[4808],{36476:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>n,metadata:()=>r,toc:()=>l});var a=t(17624),o=t(4552);const n={id:"example-class",title:"Example Class"},i=void 0,r={id:"legacy/v7/basics/example-class",title:"Example Class",description:"docs-source",source:"@site/docs/legacy/v7/basics/example-class.md",sourceDirName:"legacy/v7/basics",slug:"/legacy/v7/basics/example-class",permalink:"/docs/legacy/v7/basics/example-class",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"example-class",title:"Example Class"},sidebar:"docs",previous:{title:"Autowiring",permalink:"/docs/legacy/v7/basics/autowiring"},next:{title:"Assets Manifest",permalink:"/docs/legacy/v7/basics/manifest"}},c={},l=[];function d(e){const s={a:"a",code:"code",img:"img",p:"p",...(0,o.M)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(s.p,{children:(0,a.jsx)(s.a,{href:"https://github.com/infinum/eightshift-libs/tree/5.0.0",children:(0,a.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,a.jsxs)(s.p,{children:["As you've already seen in the ",(0,a.jsx)(s.a,{href:"wp-cli",children:"WP-CLI"})," chapter, we have many finished features prepared for you. However, we want to make things even easier for you, so we created an example service class for you to use."]}),"\n",(0,a.jsx)(s.p,{children:"If you want to add a new service class to your project but don't want to write all the boilerplate around it, just use the WP-CLI command:"}),"\n",(0,a.jsx)(s.p,{children:(0,a.jsx)(s.code,{children:"wp boilerplate create_service_example"})}),"\n",(0,a.jsxs)(s.p,{children:["The output will ask you to input the correct folder path relative to the ",(0,a.jsx)(s.code,{children:"src"})," folder and specify the class name.\nEverything else will be done for you like setting the namespace, package, vendor prefixes, class and folder name, and you will be set to write your class."]}),"\n",(0,a.jsx)(s.p,{children:"After that, add your WordPress hooks to the register method, provide its callback, and let the magic happen."})]})}function p(e={}){const{wrapper:s}={...(0,o.M)(),...e.components};return s?(0,a.jsx)(s,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},4552:(e,s,t)=>{t.d(s,{I:()=>r,M:()=>i});var a=t(11504);const o={},n=a.createContext(o);function i(e){const s=a.useContext(n);return a.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),a.createElement(n.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f4a6cc60.9f45f239.js b/assets/js/f4a6cc60.9f45f239.js deleted file mode 100644 index 312faab96..000000000 --- a/assets/js/f4a6cc60.9f45f239.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[98761],{62545:(e,i,t)=>{t.r(i),t.d(i,{default:()=>l});t(67294);var s=t(52263),a=t(44996),o=t(22189),n=t(57051),r=t(85893);function l(){const e=(0,s.Z)(),{siteConfig:i={}}=e;return(0,r.jsx)(o.Z,{title:"Infinum showcase",description:i.tagline,keywords:i.customFields.keywords,metaImage:(0,a.Z)("img/"+i.customFields.image),children:(0,r.jsx)(n.Z,{privateType:!0})})}},61262:(e,i,t)=>{t.d(i,{D:()=>o});t(67294);var s=t(38970),a=t(85893);const o=e=>(0,a.jsx)(s.vm,{...e,title:"Start exploring",osProjectIcons:!0,cards:[{icon:s.pW.boilerplate,text:"Eightshift Boilerplate",url:"https://github.com/infinum/eightshift-boilerplate"},{icon:s.pW.boilerplate,text:"Eightshift Boilerplate Plugin",url:"https://github.com/infinum/eightshift-boilerplate-plugin"},{icon:s.pW.eightshiftLibs1,text:"Eightshift Libs",url:"https://github.com/infinum/eightshift-libs"},{icon:s.pW.eightshiftFrontendLibs,text:"Eightshift Frontend Libs",url:"https://github.com/infinum/eightshift-frontend-libs"},{icon:s.pW.eightshiftForms,text:"Eightshift Forms",url:"https://github.com/infinum/eightshift-forms"},{icon:s.pW.eightshiftDocs,text:"Eightshift Docs",url:"https://github.com/infinum/eightshift-docs"},{icon:s.pW.storybook,text:"Eightshift Storybook",url:"https://github.com/infinum/eightshift-storybook"},{icon:s.pW.eightshiftCodingStandard,text:"Eightshift Coding Standards for WordPress",url:"https://github.com/infinum/eightshift-coding-standards"}]})},57051:(e,i,t)=>{t.d(i,{Z:()=>c});var s=t(67294),a=t(44996),o=t(38970),n=t(61262),r=t(85893);const l=e=>e.map((e=>({value:e,sort:Math.random()}))).sort(((e,i)=>e.sort-i.sort)).map((e=>{let{value:i}=e;return i}));function c(e){const{privateType:i}=e,t=i?"Infinum showcase":"Showcase",c=i?"See all the awesome websites built by Infinum's WordPress team.":"See the awesome websites people are building with Eightshift Boilerplate.",h=i?"Let's get in touch":(0,r.jsxs)("span",{children:["Want to add your ",(0,r.jsx)("br",{})," project to the list?"]}),m=i?"Contact us":"Open an issue on GitHub",p=i?"https://infinum.com/contact/":"https://github.com/infinum/eightshift-docs/issues",u=[{image:(0,a.Z)("img/showcase/tarisio.webp"),label:"Tarisio",desc:"Tarisio is a web-based auction house specializing in stringed instruments and bows. Its online auctions provide a global marketplace for fine violin sales.",link:"https://tarisio.com/"},{image:(0,a.Z)("img/showcase/t2.webp"),label:"T2 auctions",desc:"Auctions for the Violin Trade.",link:"https://t2-auctions.com/"},{image:(0,a.Z)("img/showcase/rasco.webp"),label:"Rasco",desc:"One of the leading manufacturers of municipal equipment in Europe: we produce snow ploughs (snowplow), spreaders, crane mowers and vehicle upgrades.",link:"https://rasco.hr/"},{image:(0,a.Z)("img/showcase/lynx.webp"),label:"Lynx",desc:"LYNX is a 2m\xb3 vacuum road sweeper exceeding expectations. Modern design, functionality, power and ease of use for clean streets.",link:"https://lynx.rasco.hr/"},{image:(0,a.Z)("img/showcase/hak.webp"),label:"HAK Revija",desc:"HAK news portal.",link:"https://revijahak.hr/"},{image:(0,a.Z)("img/showcase/crveninosovi.webp"),label:"Crveni nosovi",desc:"Our mission is to restore the feeling of joy, happiness and optimism in difficult life circumstances.",link:"https://www.crveninosovi.hr/"},{image:(0,a.Z)("img/showcase/vcfa.webp"),label:"VCFA",desc:"Learn with accomplished teachers and artistic colleagues from around the world. You\u2019ll create new work, refine your vision, and enhance your critical and creative skills.",link:"https://vcfa.edu/"},{image:(0,a.Z)("img/showcase/go.webp"),label:"Malta Go",desc:"GO is Malta\u2019s leading communications services company. As the first quad play provider in Malta we provide mobile, fixed line, internet and TV services to more than 500,000 customers.",link:"https://www.go.com.mt/"}],d=[{image:(0,a.Z)("img/showcase/infinum-learn.webp"),label:"Infinum Learn",desc:"Courses that will make your onboarding and work at Infinum as easy as possible.",link:"https://learn.infinum.com/"},{image:(0,a.Z)("img/showcase/infinum.webp"),label:"Infinum Web",desc:"An independent design and development agency with offices in the US and Europe. We create beautiful apps people love to use.",link:"https://infinum.com/"},{image:(0,a.Z)("img/showcase/solplanet.webp"),label:"Solplanet",desc:"The power of the sun is the future of our planet. Solplanet makes solar for everybody. Easy-to-install, reliable and user-friendly inverters.",link:"https://solplanet.net/"},{image:(0,a.Z)("img/showcase/academy.webp"),label:"Infinum Academy",desc:"Learn how to build apps. For free. No practical experience? No problem. People who build apps every day are teaching how to create software from scratch. By the end of the course, you will have built your very own app.",link:"https://academy.infinum.com/"},{image:(0,a.Z)("img/showcase/raise-the-bar.webp"),label:"Raise The Bar",desc:"Coca-Cola HBC is helps to align the skills and knowledge in tourism and hospitality through Raise the Bar education program.",link:"https://raisethebar.hr/"},{image:(0,a.Z)("img/showcase/d66.webp"),label:"D66",desc:"Democrats 66 is a social-liberal political party in the Netherlands. Its name originates from the year in which it was founded.",link:"https://d66.nl/"},{image:(0,a.Z)("img/showcase/tvornica-snova.webp"),label:"Tvornica Snova",desc:"Personalized books will allow each child to become the protagonist of their own story.",link:"https://tvornicasnova.hr/"},{image:(0,a.Z)("img/showcase/cormeum.webp"),label:"Cormeum App",desc:"Heart failure management just got easier. The Cormeum app helps heart failure patients and their providers track what\u2019s important.",link:"https://cormeumapp.com/"},{image:(0,a.Z)("img/showcase/immunicom.webp"),label:"Immunicom",desc:"Immunicom\u2019s Immunopheresis\u2122 is designed to empower patients to best live their lives while receiving revolutionary cancer treatment.",link:"https://immunicom.com/"},{image:(0,a.Z)("img/showcase/productive.webp"),label:"Productive",desc:"Productive is a one-stop shop for agencies of all types and sizes. Start now and get a strong grip on operations and profitability.",link:"https://productive.io/"},{image:(0,a.Z)("img/showcase/saferinternet.webp"),label:"UK Safer Internet Centre",desc:"Welcome to the UK Safer Internet Centre, where you can find online safety tips, advice and resources to help children and young people stay safe online.",link:"https://saferinternet.org.uk/"},{image:(0,a.Z)("img/showcase/greenwichvillage.webp"),label:"Greenwich Village",desc:"The Village Alliance has been a leading advocate for the Greenwich Village community for nearly thirty years.",link:"https://greenwichvillage.nyc/"},{image:(0,a.Z)("img/showcase/biller.webp"),label:"Biller",desc:"Let's make buying easier, by empowering your business buyers to use Buy Now, Pay Later. Add Biller to your checkout and watch your conversion increase.",link:"https://biller.ai/"},{image:(0,a.Z)("img/showcase/dept.webp"),label:"DEPT\xae",desc:"Pioneering tech and marketing to help brands stay ahead.",link:"https://www.deptagency.com/"},{image:(0,a.Z)("img/showcase/infobip.webp"),label:"Infobip",desc:"Croatian IT and telecommunications company, offering omnichannel communications, contact center, chatbot, customer engagement, and customer data platforms as well as identity and security.",link:"https://www.infobip.com/"}],g=i?[...d,...u]:d,[b,w]=(0,s.useState)(!1);(0,s.useEffect)((()=>{w(!0)}),[]);const f=l(g).map(((e,i)=>{const{image:t,label:s,link:a,desc:n}=e;return(0,r.jsx)(o.ah,{url:a,imageUrl:t,imageAlt:s,title:s,description:n},i)}));return(0,r.jsxs)(s.Fragment,{children:[(0,r.jsx)("h1",{className:"es-big-title es-h-center",children:t}),(0,r.jsx)("p",{className:"es-big-subtitle es-text-center es-h-center",children:c}),(0,r.jsx)("div",{className:"es-showcase-grid",children:f}),(0,r.jsx)(o.xq,{title:h,buttonLabel:m,buttonUrl:p,imageUrl:"/img/showcase/cta.svg"}),(0,r.jsx)(n.D,{gray:!0})]},b?1:2)}}}]); \ No newline at end of file diff --git a/assets/js/f4a6cc60.e35da9dc.js b/assets/js/f4a6cc60.e35da9dc.js new file mode 100644 index 000000000..3ee7d51e9 --- /dev/null +++ b/assets/js/f4a6cc60.e35da9dc.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[18352],{94096:(e,i,t)=>{t.r(i),t.d(i,{default:()=>c});t(11504);var s=t(28264),a=t(70964),o=t(520),n=t(6843),r=t(17624);function c(){const e=(0,s.c)(),{siteConfig:i={}}=e;return(0,r.jsx)(o.c,{title:"Infinum showcase",description:i.tagline,keywords:i.customFields.keywords,metaImage:(0,a.c)(`img/${i.customFields.image}`),children:(0,r.jsx)(n.c,{privateType:!0})})}},69200:(e,i,t)=>{t.d(i,{m:()=>o});t(11504);var s=t(50236),a=t(17624);const o=e=>(0,a.jsx)(s.of,{...e,title:"Start exploring",osProjectIcons:!0,cards:[{icon:s.YR.boilerplate,text:"Eightshift Boilerplate",url:"https://github.com/infinum/eightshift-boilerplate"},{icon:s.YR.boilerplate,text:"Eightshift Boilerplate Plugin",url:"https://github.com/infinum/eightshift-boilerplate-plugin"},{icon:s.YR.eightshiftLibs1,text:"Eightshift Libs",url:"https://github.com/infinum/eightshift-libs"},{icon:s.YR.eightshiftFrontendLibs,text:"Eightshift Frontend Libs",url:"https://github.com/infinum/eightshift-frontend-libs"},{icon:s.YR.eightshiftForms,text:"Eightshift Forms",url:"https://github.com/infinum/eightshift-forms"},{icon:s.YR.eightshiftDocs,text:"Eightshift Docs",url:"https://github.com/infinum/eightshift-docs"},{icon:s.YR.storybook,text:"Eightshift Storybook",url:"https://github.com/infinum/eightshift-storybook"},{icon:s.YR.eightshiftCodingStandard,text:"Eightshift Coding Standards for WordPress",url:"https://github.com/infinum/eightshift-coding-standards"}]})},6843:(e,i,t)=>{t.d(i,{c:()=>l});var s=t(11504),a=t(70964),o=t(50236),n=t(69200),r=t(17624);const c=e=>e.map((e=>({value:e,sort:Math.random()}))).sort(((e,i)=>e.sort-i.sort)).map((e=>{let{value:i}=e;return i}));function l(e){const{privateType:i}=e,t=i?"Infinum showcase":"Showcase",l=i?"See all the awesome websites built by Infinum's WordPress team.":"See the awesome websites people are building with Eightshift Boilerplate.",h=i?"Let's get in touch":(0,r.jsxs)("span",{children:["Want to add your ",(0,r.jsx)("br",{})," project to the list?"]}),m=i?"Contact us":"Open an issue on GitHub",p=i?"https://infinum.com/contact/":"https://github.com/infinum/eightshift-docs/issues",u=[{image:(0,a.c)("img/showcase/tarisio.webp"),label:"Tarisio",desc:"Tarisio is a web-based auction house specializing in stringed instruments and bows. Its online auctions provide a global marketplace for fine violin sales.",link:"https://tarisio.com/"},{image:(0,a.c)("img/showcase/t2.webp"),label:"T2 auctions",desc:"Auctions for the Violin Trade.",link:"https://t2-auctions.com/"},{image:(0,a.c)("img/showcase/rasco.webp"),label:"Rasco",desc:"One of the leading manufacturers of municipal equipment in Europe: we produce snow ploughs (snowplow), spreaders, crane mowers and vehicle upgrades.",link:"https://rasco.hr/"},{image:(0,a.c)("img/showcase/lynx.webp"),label:"Lynx",desc:"LYNX is a 2m\xb3 vacuum road sweeper exceeding expectations. Modern design, functionality, power and ease of use for clean streets.",link:"https://lynx.rasco.hr/"},{image:(0,a.c)("img/showcase/hak.webp"),label:"HAK Revija",desc:"HAK news portal.",link:"https://revijahak.hr/"},{image:(0,a.c)("img/showcase/crveninosovi.webp"),label:"Crveni nosovi",desc:"Our mission is to restore the feeling of joy, happiness and optimism in difficult life circumstances.",link:"https://www.crveninosovi.hr/"},{image:(0,a.c)("img/showcase/vcfa.webp"),label:"VCFA",desc:"Learn with accomplished teachers and artistic colleagues from around the world. You\u2019ll create new work, refine your vision, and enhance your critical and creative skills.",link:"https://vcfa.edu/"},{image:(0,a.c)("img/showcase/go.webp"),label:"Malta Go",desc:"GO is Malta\u2019s leading communications services company. As the first quad play provider in Malta we provide mobile, fixed line, internet and TV services to more than 500,000 customers.",link:"https://www.go.com.mt/"}],d=[{image:(0,a.c)("img/showcase/infinum-learn.webp"),label:"Infinum Learn",desc:"Courses that will make your onboarding and work at Infinum as easy as possible.",link:"https://learn.infinum.com/"},{image:(0,a.c)("img/showcase/infinum.webp"),label:"Infinum Web",desc:"An independent design and development agency with offices in the US and Europe. We create beautiful apps people love to use.",link:"https://infinum.com/"},{image:(0,a.c)("img/showcase/solplanet.webp"),label:"Solplanet",desc:"The power of the sun is the future of our planet. Solplanet makes solar for everybody. Easy-to-install, reliable and user-friendly inverters.",link:"https://solplanet.net/"},{image:(0,a.c)("img/showcase/academy.webp"),label:"Infinum Academy",desc:"Learn how to build apps. For free. No practical experience? No problem. People who build apps every day are teaching how to create software from scratch. By the end of the course, you will have built your very own app.",link:"https://academy.infinum.com/"},{image:(0,a.c)("img/showcase/raise-the-bar.webp"),label:"Raise The Bar",desc:"Coca-Cola HBC is helps to align the skills and knowledge in tourism and hospitality through Raise the Bar education program.",link:"https://raisethebar.hr/"},{image:(0,a.c)("img/showcase/d66.webp"),label:"D66",desc:"Democrats 66 is a social-liberal political party in the Netherlands. Its name originates from the year in which it was founded.",link:"https://d66.nl/"},{image:(0,a.c)("img/showcase/tvornica-snova.webp"),label:"Tvornica Snova",desc:"Personalized books will allow each child to become the protagonist of their own story.",link:"https://tvornicasnova.hr/"},{image:(0,a.c)("img/showcase/cormeum.webp"),label:"Cormeum App",desc:"Heart failure management just got easier. The Cormeum app helps heart failure patients and their providers track what\u2019s important.",link:"https://cormeumapp.com/"},{image:(0,a.c)("img/showcase/immunicom.webp"),label:"Immunicom",desc:"Immunicom\u2019s Immunopheresis\u2122 is designed to empower patients to best live their lives while receiving revolutionary cancer treatment.",link:"https://immunicom.com/"},{image:(0,a.c)("img/showcase/productive.webp"),label:"Productive",desc:"Productive is a one-stop shop for agencies of all types and sizes. Start now and get a strong grip on operations and profitability.",link:"https://productive.io/"},{image:(0,a.c)("img/showcase/saferinternet.webp"),label:"UK Safer Internet Centre",desc:"Welcome to the UK Safer Internet Centre, where you can find online safety tips, advice and resources to help children and young people stay safe online.",link:"https://saferinternet.org.uk/"},{image:(0,a.c)("img/showcase/greenwichvillage.webp"),label:"Greenwich Village",desc:"The Village Alliance has been a leading advocate for the Greenwich Village community for nearly thirty years.",link:"https://greenwichvillage.nyc/"},{image:(0,a.c)("img/showcase/biller.webp"),label:"Biller",desc:"Let's make buying easier, by empowering your business buyers to use Buy Now, Pay Later. Add Biller to your checkout and watch your conversion increase.",link:"https://biller.ai/"},{image:(0,a.c)("img/showcase/dept.webp"),label:"DEPT\xae",desc:"Pioneering tech and marketing to help brands stay ahead.",link:"https://www.deptagency.com/"},{image:(0,a.c)("img/showcase/infobip.webp"),label:"Infobip",desc:"Croatian IT and telecommunications company, offering omnichannel communications, contact center, chatbot, customer engagement, and customer data platforms as well as identity and security.",link:"https://www.infobip.com/"}],g=i?[...d,...u]:d,[b,w]=(0,s.useState)(!1);(0,s.useEffect)((()=>{w(!0)}),[]);const f=c(g).map(((e,i)=>{const{image:t,label:s,link:a,desc:n}=e;return(0,r.jsx)(o.kl,{url:a,imageUrl:t,imageAlt:s,title:s,description:n},i)}));return(0,r.jsxs)(s.Fragment,{children:[(0,r.jsx)("h1",{className:"es-big-title es-h-center",children:t}),(0,r.jsx)("p",{className:"es-big-subtitle es-text-center es-h-center",children:l}),(0,r.jsx)("div",{className:"es-showcase-grid",children:f}),(0,r.jsx)(o.cz,{title:h,buttonLabel:m,buttonUrl:p,imageUrl:"/img/showcase/cta.svg"}),(0,r.jsx)(n.m,{gray:!0})]},b?1:2)}}}]); \ No newline at end of file diff --git a/assets/js/f5d62c05.a0f5adae.js b/assets/js/f5d62c05.a0f5adae.js deleted file mode 100644 index 8aa429eab..000000000 --- a/assets/js/f5d62c05.a0f5adae.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[78949],{21099:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>s,default:()=>u,frontMatter:()=>r,metadata:()=>a,toc:()=>l});var i=t(85893),o=t(11151);const r={id:"webpack",title:"Webpack"},s=void 0,a={id:"legacy/v6/basics/webpack",title:"Webpack",description:"docs-source",source:"@site/docs/legacy/v6/basics/webpack.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/webpack",permalink:"/docs/legacy/v6/basics/webpack",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"webpack",title:"Webpack"},sidebar:"docs",previous:{title:"General",permalink:"/docs/legacy/v6/basics/frontend"},next:{title:"SCSS Library",permalink:"/docs/legacy/v6/basics/library"}},c={},l=[{value:"Override built-in functionality",id:"override-built-in-functionality",level:2},{value:"Add new custom functionality",id:"add-new-custom-functionality",level:2},{value:"Change the default config",id:"change-the-default-config",level:2},{value:"Add a new entrypoint",id:"add-a-new-entrypoint",level:2}];function d(e){const n={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",...(0,o.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0",children:(0,i.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsxs)(n.p,{children:["At its core, Webpack is a static module bundler for modern JavaScript applications. When Webpack processes your application, it builds an internal dependency graph that maps every module your project needs and generates one or more bundles. ",(0,i.jsx)(n.a,{href:"https://webpack.js.org/concepts/",children:"Learn more about Webpack"}),"."]}),"\n",(0,i.jsx)(n.p,{children:"To put it simply, Webpack takes your development files and creates a production-ready version of them based on the config."}),"\n",(0,i.jsxs)(n.p,{children:["Eightshift Development Kit comes with everything set up out of the box. In the root of your project, you will find a file called ",(0,i.jsx)(n.code,{children:"webpack.config.js"}),". If you open it, you will see that the configuration is pulled from the Eightshift Frontend Libs library."]}),"\n",(0,i.jsx)(n.p,{children:"You can remove this config and write everything from scratch (keep in mind that this is a lot of work), or you can use our config and extend/remove whatever you need."}),"\n",(0,i.jsx)(n.h2,{id:"override-built-in-functionality",children:"Override built-in functionality"}),"\n",(0,i.jsxs)(n.p,{children:["To remove built-in functionality, add a new array to the config called ",(0,i.jsx)(n.code,{children:"overrides"}),".\nIf you provide any of the ",(0,i.jsx)(n.code,{children:"overrides"})," keys, it will remove that config from the feature from the build."]}),"\n",(0,i.jsx)(n.p,{children:"You can't change our config; you can only remove it and make your own."}),"\n",(0,i.jsx)(n.p,{children:"Here is a list of all the features that we use and how to remove them."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"\nconst projectConfig = {\n config: {\n ... everything from default setup\n },\n overrides: [\n // Located in project.js\n 'application',\n 'applicationAdmin',\n 'applicationBlocks',\n 'applicationBlocksEditor',\n 'filename',\n\n // Located in base.js\n 'cleanWebpackPlugin',\n 'providePlugin',\n 'definePlugin',\n 'miniCssExtractPlugin',\n 'webpackManifestPlugin',\n 'dependencyExtractionWebpackPlugin',\n 'runtimeChunk',\n 'js',\n 'images',\n 'fonts',\n 'scss',\n\n // Located in development.js\n 'browserSyncPlugin',\n\n // Located in production.js\n 'terserPlugin',\n 'cssMinimizerPlugin',\n ],\n}\n"})}),"\n",(0,i.jsx)(n.h2,{id:"add-new-custom-functionality",children:"Add new custom functionality"}),"\n",(0,i.jsxs)(n.p,{children:["Let's say you want to add a custom ",(0,i.jsx)(n.code,{children:"html-webpack-plugin"})," to the build. You can simply use all the native ",(0,i.jsx)(n.a,{href:"https://webpack.js.org/guides/",children:"webpack features"}),", like in this example:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"const HtmlWebpackPlugin = require('html-webpack-plugin');\n\nmodule.exports = (env, argv) => {\n\n ...\n\n return {\n // Load all projects config from eightshift-frontend-libs.\n ...project,\n\n plugins: [\n // Load all plugins config from eightshift-frontend-libs.\n ...project.plugins,\n\n // Add your custom implementation.\n new HtmlWebpackPlugin(),\n ],\n };\n};\n"})}),"\n",(0,i.jsx)(n.h2,{id:"change-the-default-config",children:"Change the default config"}),"\n",(0,i.jsxs)(n.p,{children:["Let's say you want to change what we made and adjust it to your specific needs. In that case, you should remove our functionality by providing the ",(0,i.jsx)(n.code,{children:"overrides"})," array and create your implementation. For example:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"const BrowserSyncPlugin = require('browser-sync-webpack-plugin');\n\nmodule.exports = (env, argv) => {\n\n const projectConfig = {\n config: {\n // ... everything from default setup\n },\n overrides: [\n 'browserSyncPlugin', // this removes our configuration.\n ],\n };\n\n // Generate Webpack config for this project using options object.\n const project = require('./node_modules/@eightshift/frontend-libs/webpack')(argv.mode, projectConfig);\n\n return {\n // Load all projects config from eightshift-frontend-libs.\n ...project,\n\n plugins: [\n // Load all plugins config from eightshift-frontend-libs.\n ...project.plugins,\n\n // This provides your configuration.\n new BrowserSyncPlugin({\n host: 'localhost',\n port: 3000,\n https: true,\n }),\n ],\n };\n"})}),"\n",(0,i.jsx)(n.h2,{id:"add-a-new-entrypoint",children:"Add a new entrypoint"}),"\n",(0,i.jsxs)(n.p,{children:["Let's say you want to add a new, separate JS and/or CSS build for some specific functionality. This functionality may or may not have anything to do with your WordPress theme or plugin, but it needs to be in separate files. To do that you'd need to add a new entrypoint for Webpack to build in ",(0,i.jsx)(n.code,{children:"webpack.config.js"}),":"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"module.exports = (env, argv) => {\n\n ...\n\n return {\n // Load all projects config from eightshift-frontend-libs.\n ...project,\n\n entry: {\n // Load all entry points config from eightshift-frontend-libs.\n ...project.entry,\n\n // Your custom build entrypoint.\n newBuild: path.resolve(projectConfig.config.projectDir, 'assets', 'application-newBuild.js'),\n },\n };\n};\n"})}),"\n",(0,i.jsxs)(n.p,{children:["Next thing you'd do is create ",(0,i.jsx)(n.code,{children:"application-newBuild.js"})," in ",(0,i.jsx)(n.code,{children:"assets/"})," directory, in which you'd import and JS or SCSS partials. After restarting the build process, the results should be visible in ",(0,i.jsx)(n.code,{children:"public/"})," directory as new JS or CSS files."]})]})}function u(e={}){const{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},11151:(e,n,t)=>{t.d(n,{Z:()=>a,a:()=>s});var i=t(67294);const o={},r=i.createContext(o);function s(e){const n=i.useContext(r);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(o):e.components||o:s(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f5d62c05.e6604d82.js b/assets/js/f5d62c05.e6604d82.js new file mode 100644 index 000000000..da1d9ea0c --- /dev/null +++ b/assets/js/f5d62c05.e6604d82.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[77040],{66700:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>s,default:()=>u,frontMatter:()=>r,metadata:()=>a,toc:()=>l});var i=t(17624),o=t(4552);const r={id:"webpack",title:"Webpack"},s=void 0,a={id:"legacy/v6/basics/webpack",title:"Webpack",description:"docs-source",source:"@site/docs/legacy/v6/basics/webpack.md",sourceDirName:"legacy/v6/basics",slug:"/legacy/v6/basics/webpack",permalink:"/docs/legacy/v6/basics/webpack",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"webpack",title:"Webpack"},sidebar:"docs",previous:{title:"General",permalink:"/docs/legacy/v6/basics/frontend"},next:{title:"SCSS Library",permalink:"/docs/legacy/v6/basics/library"}},c={},l=[{value:"Override built-in functionality",id:"override-built-in-functionality",level:2},{value:"Add new custom functionality",id:"add-new-custom-functionality",level:2},{value:"Change the default config",id:"change-the-default-config",level:2},{value:"Add a new entrypoint",id:"add-a-new-entrypoint",level:2}];function d(e){const n={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",...(0,o.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0",children:(0,i.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsxs)(n.p,{children:["At its core, Webpack is a static module bundler for modern JavaScript applications. When Webpack processes your application, it builds an internal dependency graph that maps every module your project needs and generates one or more bundles. ",(0,i.jsx)(n.a,{href:"https://webpack.js.org/concepts/",children:"Learn more about Webpack"}),"."]}),"\n",(0,i.jsx)(n.p,{children:"To put it simply, Webpack takes your development files and creates a production-ready version of them based on the config."}),"\n",(0,i.jsxs)(n.p,{children:["Eightshift Development Kit comes with everything set up out of the box. In the root of your project, you will find a file called ",(0,i.jsx)(n.code,{children:"webpack.config.js"}),". If you open it, you will see that the configuration is pulled from the Eightshift Frontend Libs library."]}),"\n",(0,i.jsx)(n.p,{children:"You can remove this config and write everything from scratch (keep in mind that this is a lot of work), or you can use our config and extend/remove whatever you need."}),"\n",(0,i.jsx)(n.h2,{id:"override-built-in-functionality",children:"Override built-in functionality"}),"\n",(0,i.jsxs)(n.p,{children:["To remove built-in functionality, add a new array to the config called ",(0,i.jsx)(n.code,{children:"overrides"}),".\nIf you provide any of the ",(0,i.jsx)(n.code,{children:"overrides"})," keys, it will remove that config from the feature from the build."]}),"\n",(0,i.jsx)(n.p,{children:"You can't change our config; you can only remove it and make your own."}),"\n",(0,i.jsx)(n.p,{children:"Here is a list of all the features that we use and how to remove them."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"\nconst projectConfig = {\n config: {\n ... everything from default setup\n },\n overrides: [\n // Located in project.js\n 'application',\n 'applicationAdmin',\n 'applicationBlocks',\n 'applicationBlocksEditor',\n 'filename',\n\n // Located in base.js\n 'cleanWebpackPlugin',\n 'providePlugin',\n 'definePlugin',\n 'miniCssExtractPlugin',\n 'webpackManifestPlugin',\n 'dependencyExtractionWebpackPlugin',\n 'runtimeChunk',\n 'js',\n 'images',\n 'fonts',\n 'scss',\n\n // Located in development.js\n 'browserSyncPlugin',\n\n // Located in production.js\n 'terserPlugin',\n 'cssMinimizerPlugin',\n ],\n}\n"})}),"\n",(0,i.jsx)(n.h2,{id:"add-new-custom-functionality",children:"Add new custom functionality"}),"\n",(0,i.jsxs)(n.p,{children:["Let's say you want to add a custom ",(0,i.jsx)(n.code,{children:"html-webpack-plugin"})," to the build. You can simply use all the native ",(0,i.jsx)(n.a,{href:"https://webpack.js.org/guides/",children:"webpack features"}),", like in this example:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"const HtmlWebpackPlugin = require('html-webpack-plugin');\n\nmodule.exports = (env, argv) => {\n\n ...\n\n return {\n // Load all projects config from eightshift-frontend-libs.\n ...project,\n\n plugins: [\n // Load all plugins config from eightshift-frontend-libs.\n ...project.plugins,\n\n // Add your custom implementation.\n new HtmlWebpackPlugin(),\n ],\n };\n};\n"})}),"\n",(0,i.jsx)(n.h2,{id:"change-the-default-config",children:"Change the default config"}),"\n",(0,i.jsxs)(n.p,{children:["Let's say you want to change what we made and adjust it to your specific needs. In that case, you should remove our functionality by providing the ",(0,i.jsx)(n.code,{children:"overrides"})," array and create your implementation. For example:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"const BrowserSyncPlugin = require('browser-sync-webpack-plugin');\n\nmodule.exports = (env, argv) => {\n\n const projectConfig = {\n config: {\n // ... everything from default setup\n },\n overrides: [\n 'browserSyncPlugin', // this removes our configuration.\n ],\n };\n\n // Generate Webpack config for this project using options object.\n const project = require('./node_modules/@eightshift/frontend-libs/webpack')(argv.mode, projectConfig);\n\n return {\n // Load all projects config from eightshift-frontend-libs.\n ...project,\n\n plugins: [\n // Load all plugins config from eightshift-frontend-libs.\n ...project.plugins,\n\n // This provides your configuration.\n new BrowserSyncPlugin({\n host: 'localhost',\n port: 3000,\n https: true,\n }),\n ],\n };\n"})}),"\n",(0,i.jsx)(n.h2,{id:"add-a-new-entrypoint",children:"Add a new entrypoint"}),"\n",(0,i.jsxs)(n.p,{children:["Let's say you want to add a new, separate JS and/or CSS build for some specific functionality. This functionality may or may not have anything to do with your WordPress theme or plugin, but it needs to be in separate files. To do that you'd need to add a new entrypoint for Webpack to build in ",(0,i.jsx)(n.code,{children:"webpack.config.js"}),":"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"module.exports = (env, argv) => {\n\n ...\n\n return {\n // Load all projects config from eightshift-frontend-libs.\n ...project,\n\n entry: {\n // Load all entry points config from eightshift-frontend-libs.\n ...project.entry,\n\n // Your custom build entrypoint.\n newBuild: path.resolve(projectConfig.config.projectDir, 'assets', 'application-newBuild.js'),\n },\n };\n};\n"})}),"\n",(0,i.jsxs)(n.p,{children:["Next thing you'd do is create ",(0,i.jsx)(n.code,{children:"application-newBuild.js"})," in ",(0,i.jsx)(n.code,{children:"assets/"})," directory, in which you'd import and JS or SCSS partials. After restarting the build process, the results should be visible in ",(0,i.jsx)(n.code,{children:"public/"})," directory as new JS or CSS files."]})]})}function u(e={}){const{wrapper:n}={...(0,o.M)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},4552:(e,n,t)=>{t.d(n,{I:()=>a,M:()=>s});var i=t(11504);const o={},r=i.createContext(o);function s(e){const n=i.useContext(r);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(o):e.components||o:s(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f6aef24f.32215f88.js b/assets/js/f6aef24f.32215f88.js deleted file mode 100644 index 2d9c771a6..000000000 --- a/assets/js/f6aef24f.32215f88.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[19373],{17423: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/f6aef24f.462f4533.js b/assets/js/f6aef24f.462f4533.js new file mode 100644 index 000000000..c8b5fd4d7 --- /dev/null +++ b/assets/js/f6aef24f.462f4533.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[67960],{73628: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.950b0e3e.js b/assets/js/f7aec19e.950b0e3e.js new file mode 100644 index 000000000..d7fd303b2 --- /dev/null +++ b/assets/js/f7aec19e.950b0e3e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[18136],{90672: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/f7aec19e.c3c0f029.js b/assets/js/f7aec19e.c3c0f029.js deleted file mode 100644 index 9c5e7bada..000000000 --- a/assets/js/f7aec19e.c3c0f029.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[95085],{12861: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.37b62454.js b/assets/js/f7b99134.37b62454.js deleted file mode 100644 index 0f035c5d6..000000000 --- a/assets/js/f7b99134.37b62454.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[29737],{42520: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/f7b99134.9fa3f881.js b/assets/js/f7b99134.9fa3f881.js new file mode 100644 index 000000000..aebe290a9 --- /dev/null +++ b/assets/js/f7b99134.9fa3f881.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[16816],{70768: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.1cc4f5e3.js b/assets/js/f880b41b.1cc4f5e3.js deleted file mode 100644 index 7766e9f1a..000000000 --- a/assets/js/f880b41b.1cc4f5e3.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[75827],{81628:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>l,contentTitle:()=>s,default:()=>h,frontMatter:()=>o,metadata:()=>r,toc:()=>c});var a=n(85893),i=n(11151);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,i.a)(),...t.components};return(0,a.jsxs)(a.Fragment,{children:[(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!"}),"\n",(0,a.jsx)(e.h2,{id:"what-are-variations",children:"What are variations?"}),"\n",(0,a.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,a.jsx)(e.admonition,{type:"note",children:(0,a.jsx)(e.p,{children:"You cannot add new attributes in variations. Only attributes that exist in the parent block can be used."})}),"\n",(0,a.jsxs)(e.p,{children:["For example, we have a ",(0,a.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,a.jsx)(e.p,{children:"Our new card should consist of the following components:"}),"\n",(0,a.jsxs)(e.ul,{children:["\n",(0,a.jsx)(e.li,{children:"intro"}),"\n",(0,a.jsx)(e.li,{children:"heading"}),"\n",(0,a.jsx)(e.li,{children:"button"}),"\n"]}),"\n",(0,a.jsx)(e.h2,{id:"how-to-register-a-block-variation",children:"How to register a block variation?"}),"\n",(0,a.jsxs)(e.p,{children:["The process of registering block variations is fairly simple. In order to register a block variation, go to ",(0,a.jsx)(e.strong,{children:"src/Blocks/variations"}),", add a new folder, and let's call it ",(0,a.jsx)(e.code,{children:"card-resource"}),". Inside that folder, all you need to do is add a ",(0,a.jsx)(e.code,{children:"manifest.json"})," file. It is also recommended to add a ",(0,a.jsx)(e.code,{children:"docs"})," folder in which you can add a readme file and storybook file."]}),"\n",(0,a.jsxs)(e.p,{children:["Inside your ",(0,a.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,a.jsx)(e.pre,{children:(0,a.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,a.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,a.jsx)(e.p,{children:(0,a.jsx)(e.img,{alt:"Variation of the Card block",src:n(12827).Z+"",width:"252",height:"125"})}),"\n",(0,a.jsx)(e.h2,{id:"providing-inner-block-data",children:"Providing inner block data"}),"\n",(0,a.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,a.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,a.jsx)(e.code,{children:"Carousel"})," block if you want to try it yourself."]}),"\n",(0,a.jsx)(e.admonition,{type:"note",children:(0,a.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,a.jsx)(e.code,{children:'wp boilerplate blocks use-block --name="carousel"'})]})}),"\n",(0,a.jsxs)(e.p,{children:["Once you have the ",(0,a.jsx)(e.code,{children:"Carousel"})," block up and running, create a variation called ",(0,a.jsx)(e.code,{children:"Carousel Loop"}),". For this variation, we want the following:"]}),"\n",(0,a.jsxs)(e.ul,{children:["\n",(0,a.jsx)(e.li,{children:"loop"}),"\n",(0,a.jsx)(e.li,{children:"pagination"}),"\n",(0,a.jsx)(e.li,{children:"two images per slide"}),"\n"]}),"\n",(0,a.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,a.jsx)(e.code,{children:"manifest.json"})," file for that variation."]}),"\n",(0,a.jsx)(e.pre,{children:(0,a.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,a.jsxs)(e.p,{children:["After adding this code, you should see the ",(0,a.jsx)(e.code,{children:"Carousel Loop"})," variation in your block list. After adding it in the editor, the ",(0,a.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,a.jsx)(e.p,{children:(0,a.jsx)(e.img,{alt:"Block list with variations",src:n(5133).Z+"",width:"321",height:"257"})})]})}function h(t={}){const{wrapper:e}={...(0,i.a)(),...t.components};return e?(0,a.jsx)(e,{...t,children:(0,a.jsx)(d,{...t})}):d(t)}},5133:(t,e,n)=>{n.d(e,{Z:()=>a});const a="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="},12827:(t,e,n)=>{n.d(e,{Z:()=>a});const a="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="},11151:(t,e,n)=>{n.d(e,{Z:()=>r,a:()=>s});var a=n(67294);const i={},o=a.createContext(i);function s(t){const e=a.useContext(o);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(i):t.components||i:s(t.components),a.createElement(o.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/f880b41b.c73dde76.js b/assets/js/f880b41b.c73dde76.js new file mode 100644 index 000000000..047c96608 --- /dev/null +++ b/assets/js/f880b41b.c73dde76.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[6816],{36172:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>l,contentTitle:()=>s,default:()=>h,frontMatter:()=>o,metadata:()=>r,toc:()=>c});var i=n(17624),a=n(4552);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.M)(),...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(97914).c+"",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(48080).c+"",width:"321",height:"257"})})]})}function h(t={}){const{wrapper:e}={...(0,a.M)(),...t.components};return e?(0,i.jsx)(e,{...t,children:(0,i.jsx)(d,{...t})}):d(t)}},48080:(t,e,n)=>{n.d(e,{c:()=>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="},97914:(t,e,n)=>{n.d(e,{c:()=>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="},4552:(t,e,n)=>{n.d(e,{I:()=>r,M:()=>s});var i=n(11504);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/f8bbda75.65f8a986.js b/assets/js/f8bbda75.65f8a986.js new file mode 100644 index 000000000..658f4cb28 --- /dev/null +++ b/assets/js/f8bbda75.65f8a986.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[6448],{19428:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var i=s(17624),t=s(4552);const o={id:"dynamic-import",title:"Dynamic Import"},r=void 0,l={id:"basics/dynamic-import",title:"Dynamic Import",description:"docs-source",source:"@site/docs/basics/dynamic-import.md",sourceDirName:"basics",slug:"/basics/dynamic-import",permalink:"/docs/basics/dynamic-import",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"dynamic-import",title:"Dynamic Import"},sidebar:"docs",previous:{title:"Browsersync",permalink:"/docs/basics/browser-sync"},next:{title:"Blocks",permalink:"/docs/basics/blocks"}},a={},c=[{value:"How does it work?",id:"how-does-it-work",level:2},{value:"Example",id:"example",level:2},{value:"index.js",id:"indexjs",level:3},{value:"carousel-slider.js",id:"carousel-sliderjs",level:3}];function d(e){const n={a:"a",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs",children:(0,i.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsxs)(n.p,{children:["As JavaScript code runs on the visitor's device, it's crucial that it's as fast and optimized as possible. A powerful tool from Webpack called ",(0,i.jsx)(n.a,{href:"https://webpack.js.org/guides/code-splitting/#dynamic-imports",children:"dynamic imports"})," helps with that."]}),"\n",(0,i.jsx)(n.p,{children:"Dynamic imports provide us the ability to load our JavaScript code only when it's used."}),"\n",(0,i.jsx)(n.p,{children:"By writing all JavaScript code using dynamic imports, we can reap significant benefits:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"optimize loading time"}),"\n",(0,i.jsx)(n.li,{children:"reduce the size of finished bundled JavaScript code"}),"\n",(0,i.jsx)(n.li,{children:"have websites that are fast, which can positively impact your SEO rating"}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"how-does-it-work",children:"How does it work?"}),"\n",(0,i.jsxs)(n.p,{children:["In a nutshell, you load all your code using JavaScript promises. Webpack splits all these promises into separate file chunks. Once the condition to resolve the promise is set (generally, if a selector is present in the DOM), Webpack automatically injects your chunk in the DOM and loads it up. This is why you will see a bunch of smaller files (",(0,i.jsx)(n.code,{children:"0.js"}),", ",(0,i.jsx)(n.code,{children:"1.js"}),", ",(0,i.jsx)(n.code,{children:"2.js"}),", etc) in your public folder instead of a single large file."]}),"\n",(0,i.jsx)(n.p,{children:"You don't need to think about this. Webpack just does it for you."}),"\n",(0,i.jsx)(n.h2,{id:"example",children:"Example"}),"\n",(0,i.jsx)(n.p,{children:"For example, let's make a carousel. An Eightshift convention is to write JavaScript code using classes, so we'll provide an example for that. However, you can use this approach with functions as well."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"We have two files:"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"index.js"})," - the main entry point for your JavaScript feature."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"className.js"})," - class with your JavaScript features that you can reuse."]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"indexjs",children:"index.js"}),"\n",(0,i.jsx)(n.p,{children:"This is a version where you have multiple instances of a feature on one page. If you are creating a feature for your block/component, you'll use something along these lines."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"import domReady from '@wordpress/dom-ready';\nimport { blockJsClass, blockName } from '../manifest.json';\n\n// Use this helper to make sure this code is executed when everything in DOM is set.\ndomReady(() => {\n\n // Provide selectors to check.\n const selector = `.${blockJsClass}`;\n const elements = document.querySelectorAll(selector);\n\n // This is the important part - if this condition is true, this promise will resolve and your chunk will be loaded in the DOM.\n if (!elements.length) {\n return;\n }\n\n // Normally load and resolve a promise on file import.\n const { CarouselSlider } = await import('./carousel-slider');\n\n // Loop possible multiple iterations.\n [...elements].forEach((element) => {\n const carouselSlider = new CarouselSlider({\n element,\n nextElement: `${selector}-next-arrow`,\n prevElement: `${selector}-prev-arrow`,\n });\n\n // Run and init function that starts everything in your class.\n carouselSlider.init();\n });\n});\n"})}),"\n",(0,i.jsxs)(n.p,{children:["If you are sure you will have only one instance of this feature on one-page, you can use the following code in your ",(0,i.jsx)(n.code,{children:"index.js"})," file."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"import domReady from '@wordpress/dom-ready';\nimport { blockJsClass, blockName } from '../manifest.json';\n\n// Use this helper to make sure this code is executed when everything in DOM is set.\ndomReady(() => {\n\n // Provide selectors to check.\n const selector = `.${blockJsClass}`;\n const element = document.querySelector(selector);\n\n // This is the important part. Because of it, your code will only be imported when there's an element on the page that uses it.\n if (!element) {\n return;\n }\n\n // Normally load and resolve a promise on file import.\n const { CarouselSlider } = await import('./carousel-slider');\n\n const carouselSlider = new CarouselSlider({\n element,\n nextElement: `${selector}-next-arrow`,\n prevElement: `${selector}-prev-arrow`,\n });\n\n // Run and init function that starts everything in your class.\n carouselSlider.init();\n});\n"})}),"\n",(0,i.jsx)(n.h3,{id:"carousel-sliderjs",children:"carousel-slider.js"}),"\n",(0,i.jsx)(n.p,{children:"This is a normal class with some JavaScript functionality."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"import Swiper from 'swiper';\n\nexport class CarouselSlider {\n constructor(options) {\n this.element = options.element;\n this.nextElement = options.nextElement;\n this.prevElement = options.prevElement;\n }\n\n init() {\n new Swiper(\n this.element,\n {\n // ...\n navigation: {\n nextEl: this.nextElement,\n prevEl: this.prevElement,\n },\n // ...\n }\n );\n }\n}\n"})})]})}function h(e={}){const{wrapper:n}={...(0,t.M)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},4552:(e,n,s)=>{s.d(n,{I:()=>l,M:()=>r});var i=s(11504);const t={},o=i.createContext(t);function r(e){const n=i.useContext(o);return i.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(t):e.components||t:r(e.components),i.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f8bbda75.6fa96c37.js b/assets/js/f8bbda75.6fa96c37.js deleted file mode 100644 index eb654211c..000000000 --- a/assets/js/f8bbda75.6fa96c37.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[36007],{7752:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var i=s(85893),t=s(11151);const o={id:"dynamic-import",title:"Dynamic Import"},r=void 0,l={id:"basics/dynamic-import",title:"Dynamic Import",description:"docs-source",source:"@site/docs/basics/dynamic-import.md",sourceDirName:"basics",slug:"/basics/dynamic-import",permalink:"/docs/basics/dynamic-import",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"dynamic-import",title:"Dynamic Import"},sidebar:"docs",previous:{title:"Browsersync",permalink:"/docs/basics/browser-sync"},next:{title:"Blocks",permalink:"/docs/basics/blocks"}},a={},c=[{value:"How does it work?",id:"how-does-it-work",level:2},{value:"Example",id:"example",level:2},{value:"index.js",id:"indexjs",level:3},{value:"carousel-slider.js",id:"carousel-sliderjs",level:3}];function d(e){const n={a:"a",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs",children:(0,i.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsxs)(n.p,{children:["As JavaScript code runs on the visitor's device, it's crucial that it's as fast and optimized as possible. A powerful tool from Webpack called ",(0,i.jsx)(n.a,{href:"https://webpack.js.org/guides/code-splitting/#dynamic-imports",children:"dynamic imports"})," helps with that."]}),"\n",(0,i.jsx)(n.p,{children:"Dynamic imports provide us the ability to load our JavaScript code only when it's used."}),"\n",(0,i.jsx)(n.p,{children:"By writing all JavaScript code using dynamic imports, we can reap significant benefits:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"optimize loading time"}),"\n",(0,i.jsx)(n.li,{children:"reduce the size of finished bundled JavaScript code"}),"\n",(0,i.jsx)(n.li,{children:"have websites that are fast, which can positively impact your SEO rating"}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"how-does-it-work",children:"How does it work?"}),"\n",(0,i.jsxs)(n.p,{children:["In a nutshell, you load all your code using JavaScript promises. Webpack splits all these promises into separate file chunks. Once the condition to resolve the promise is set (generally, if a selector is present in the DOM), Webpack automatically injects your chunk in the DOM and loads it up. This is why you will see a bunch of smaller files (",(0,i.jsx)(n.code,{children:"0.js"}),", ",(0,i.jsx)(n.code,{children:"1.js"}),", ",(0,i.jsx)(n.code,{children:"2.js"}),", etc) in your public folder instead of a single large file."]}),"\n",(0,i.jsx)(n.p,{children:"You don't need to think about this. Webpack just does it for you."}),"\n",(0,i.jsx)(n.h2,{id:"example",children:"Example"}),"\n",(0,i.jsx)(n.p,{children:"For example, let's make a carousel. An Eightshift convention is to write JavaScript code using classes, so we'll provide an example for that. However, you can use this approach with functions as well."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"We have two files:"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"index.js"})," - the main entry point for your JavaScript feature."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"className.js"})," - class with your JavaScript features that you can reuse."]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"indexjs",children:"index.js"}),"\n",(0,i.jsx)(n.p,{children:"This is a version where you have multiple instances of a feature on one page. If you are creating a feature for your block/component, you'll use something along these lines."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"import domReady from '@wordpress/dom-ready';\nimport { blockJsClass, blockName } from '../manifest.json';\n\n// Use this helper to make sure this code is executed when everything in DOM is set.\ndomReady(() => {\n\n // Provide selectors to check.\n const selector = `.${blockJsClass}`;\n const elements = document.querySelectorAll(selector);\n\n // This is the important part - if this condition is true, this promise will resolve and your chunk will be loaded in the DOM.\n if (!elements.length) {\n return;\n }\n\n // Normally load and resolve a promise on file import.\n const { CarouselSlider } = await import('./carousel-slider');\n\n // Loop possible multiple iterations.\n [...elements].forEach((element) => {\n const carouselSlider = new CarouselSlider({\n element,\n nextElement: `${selector}-next-arrow`,\n prevElement: `${selector}-prev-arrow`,\n });\n\n // Run and init function that starts everything in your class.\n carouselSlider.init();\n });\n});\n"})}),"\n",(0,i.jsxs)(n.p,{children:["If you are sure you will have only one instance of this feature on one-page, you can use the following code in your ",(0,i.jsx)(n.code,{children:"index.js"})," file."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"import domReady from '@wordpress/dom-ready';\nimport { blockJsClass, blockName } from '../manifest.json';\n\n// Use this helper to make sure this code is executed when everything in DOM is set.\ndomReady(() => {\n\n // Provide selectors to check.\n const selector = `.${blockJsClass}`;\n const element = document.querySelector(selector);\n\n // This is the important part. Because of it, your code will only be imported when there's an element on the page that uses it.\n if (!element) {\n return;\n }\n\n // Normally load and resolve a promise on file import.\n const { CarouselSlider } = await import('./carousel-slider');\n\n const carouselSlider = new CarouselSlider({\n element,\n nextElement: `${selector}-next-arrow`,\n prevElement: `${selector}-prev-arrow`,\n });\n\n // Run and init function that starts everything in your class.\n carouselSlider.init();\n});\n"})}),"\n",(0,i.jsx)(n.h3,{id:"carousel-sliderjs",children:"carousel-slider.js"}),"\n",(0,i.jsx)(n.p,{children:"This is a normal class with some JavaScript functionality."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"import Swiper from 'swiper';\n\nexport class CarouselSlider {\n constructor(options) {\n this.element = options.element;\n this.nextElement = options.nextElement;\n this.prevElement = options.prevElement;\n }\n\n init() {\n new Swiper(\n this.element,\n {\n // ...\n navigation: {\n nextEl: this.nextElement,\n prevEl: this.prevElement,\n },\n // ...\n }\n );\n }\n}\n"})})]})}function h(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},11151:(e,n,s)=>{s.d(n,{Z:()=>l,a:()=>r});var i=s(67294);const t={},o=i.createContext(t);function r(e){const n=i.useContext(o);return i.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(t):e.components||t:r(e.components),i.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f8d85197.56b3abf5.js b/assets/js/f8d85197.56b3abf5.js deleted file mode 100644 index eca47162e..000000000 --- a/assets/js/f8d85197.56b3abf5.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[40884],{78366:(n,e,o)=>{o.r(e),o.d(e,{assets:()=>r,contentTitle:()=>a,default:()=>f,frontMatter:()=>s,metadata:()=>c,toc:()=>l});var t=o(85893),i=o(11151);const s={id:"fonts-icon",title:"Icon font"},a=void 0,c={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.",source:"@site/docs/legacy/v4/guides/fonts-icon.md",sourceDirName:"legacy/v4/guides",slug:"/legacy/v4/guides/fonts-icon",permalink:"/docs/legacy/v4/guides/fonts-icon",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"fonts-icon",title:"Icon font"},sidebar:"docs",previous:{title:"Custom fonts",permalink:"/docs/legacy/v4/guides/fonts-custom"},next:{title:"Sass",permalink:"/docs/legacy/v4/advanced/docs-sass"}},r={},l=[{value:"Icon font files setup",id:"icon-font-files-setup",level:2},{value:"Font Magician configuration for icon font",id:"font-magician-configuration-for-icon-font",level:2},{value:"Using the icon font",id:"using-the-icon-font",level:2}];function d(n){const e={a:"a",code:"code",h2:"h2",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.a)(),...n.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(e.p,{children:["Icons can be added as icon font and will be added in a similar way that the ",(0,t.jsx)(e.a,{href:"fonts-custom",children:"custom fonts"})," are added. The process of file preparation is a bit different."]}),"\n",(0,t.jsx)(e.p,{children:(0,t.jsx)(e.strong,{children:"While icon font is the easiest method of managing and using a large library of icons, there are a number of reasons why it should not be used. Poor accessiblity, really noticable FOUT and styling inconsistencies are major downsides to icon fonts. There are a lot more benefits that come with using SVG components like: more styling options, usage flexibility and no impact to accessiblity of the website."})}),"\n",(0,t.jsx)(e.h2,{id:"icon-font-files-setup",children:"Icon font files setup"}),"\n",(0,t.jsxs)(e.p,{children:["For generating icon font files we recommend using ",(0,t.jsx)(e.a,{href:"https://icomoon.io/app/",children:"Icomoon"}),"."]}),"\n",(0,t.jsxs)(e.p,{children:["Icons, exported as ",(0,t.jsx)(e.code,{children:".svg"}),", will need to be imported in a new set. Once all SVG icons are present in a set and named properly, the icon font can be generated. It is also recommended that before downloading an icon font the option for generating preprocessor variables is selected."]}),"\n",(0,t.jsx)(e.p,{children:"Downloaded package will contain a few important files:"}),"\n",(0,t.jsxs)(e.ul,{children:["\n",(0,t.jsxs)(e.li,{children:[(0,t.jsx)(e.code,{children:"selection.json"})," - contains a snapshot of the whole icon font set and can be imported to update the whole icon set"]}),"\n",(0,t.jsxs)(e.li,{children:[(0,t.jsx)(e.code,{children:"variables.scss"})," - contains SCSS variables that map the name of the icon to it's character code."]}),"\n",(0,t.jsxs)(e.li,{children:[(0,t.jsx)(e.code,{children:"style.scss"})," - contains helper classes to access specific icons."]}),"\n",(0,t.jsxs)(e.li,{children:[(0,t.jsx)(e.code,{children:"fonts/icon-set-name.*"})," - Actual font files with multiple formats."]}),"\n"]}),"\n",(0,t.jsxs)(e.p,{children:["Place font files in ",(0,t.jsx)(e.code,{children:"theme-name/assets/fonts"})," directory and import them the same way as other fonts. Recommended formats for icon fonts are ",(0,t.jsx)(e.code,{children:".svg"})," and ",(0,t.jsx)(e.code,{children:".woff"}),". Place the ",(0,t.jsx)(e.code,{children:"selection.json"})," file in the same directory just as a reference for updating icon font set (no need to import it)."]}),"\n",(0,t.jsxs)(e.p,{children:["Variables and class names need to be included in some form of global SCSS file e.g. ",(0,t.jsx)(e.code,{children:"theme-name/assets/styles/parts/shared"})," and you can change or rename them to fit your needs. The definition of the ",(0,t.jsx)(e.code,{children:"@font-face"})," can be removed because we will be generating it using the ",(0,t.jsx)(e.a,{href:"https://github.com/jonathantneal/postcss-font-magician",children:"Font Magician"}),", so we will get back to that later."]}),"\n",(0,t.jsx)(e.h2,{id:"font-magician-configuration-for-icon-font",children:"Font Magician configuration for icon font"}),"\n",(0,t.jsxs)(e.p,{children:["Icon font will be just another font family in Font Magician configuration. So give it a specific name that will be referenced in ",(0,t.jsx)(e.code,{children:"font-family"})," rule and add the names of the font files."]}),"\n",(0,t.jsx)(e.pre,{children:(0,t.jsx)(e.code,{className:"language-js",children:"...\nconst postcssFontMagician = require('postcss-font-magician');\n\nmodule.exports = {\n plugins: [\n ... // other postCss configs\n postcssFontMagician({\n custom: {\n ... // other font-family declarations and config\n 'IconFontName': { // font-family declaration\n variants: {\n normal: {\n 400: {\n url: {\n woff: 'icon-font-name.woff',\n svg: 'icon-font-name.svg',\n },\n },\n },\n },\n },\n ... // other font-family declarations\n },\n }),\n ],\n};\n"})}),"\n",(0,t.jsxs)(e.p,{children:["Restart the build process to generate new ",(0,t.jsx)(e.code,{children:"@font-face"})," rules."]}),"\n",(0,t.jsx)(e.h2,{id:"using-the-icon-font",children:"Using the icon font"}),"\n",(0,t.jsxs)(e.p,{children:["Once Font Magician configuration is done new ",(0,t.jsx)(e.code,{children:"font-family"})," definition will need to be added."]}),"\n",(0,t.jsx)(e.pre,{children:(0,t.jsx)(e.code,{className:"language-scss",children:"// Variable declared in a global variables .scss file.\n$base-icon-family: `IconFontName`,\n\n// Using the variable in .scss partial\n.icon {\n font-family: $base-font-family;\n ...\n}\n"})})]})}function f(n={}){const{wrapper:e}={...(0,i.a)(),...n.components};return e?(0,t.jsx)(e,{...n,children:(0,t.jsx)(d,{...n})}):d(n)}},11151:(n,e,o)=>{o.d(e,{Z:()=>c,a:()=>a});var t=o(67294);const i={},s=t.createContext(i);function a(n){const e=t.useContext(s);return t.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function c(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(i):n.components||i:a(n.components),t.createElement(s.Provider,{value:e},n.children)}}}]); \ No newline at end of file diff --git a/assets/js/f8d85197.f035c7c1.js b/assets/js/f8d85197.f035c7c1.js new file mode 100644 index 000000000..cc44a781f --- /dev/null +++ b/assets/js/f8d85197.f035c7c1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[45764],{26648:(n,e,o)=>{o.r(e),o.d(e,{assets:()=>r,contentTitle:()=>a,default:()=>f,frontMatter:()=>s,metadata:()=>c,toc:()=>l});var t=o(17624),i=o(4552);const s={id:"fonts-icon",title:"Icon font"},a=void 0,c={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.",source:"@site/docs/legacy/v4/guides/fonts-icon.md",sourceDirName:"legacy/v4/guides",slug:"/legacy/v4/guides/fonts-icon",permalink:"/docs/legacy/v4/guides/fonts-icon",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"fonts-icon",title:"Icon font"},sidebar:"docs",previous:{title:"Custom fonts",permalink:"/docs/legacy/v4/guides/fonts-custom"},next:{title:"Sass",permalink:"/docs/legacy/v4/advanced/docs-sass"}},r={},l=[{value:"Icon font files setup",id:"icon-font-files-setup",level:2},{value:"Font Magician configuration for icon font",id:"font-magician-configuration-for-icon-font",level:2},{value:"Using the icon font",id:"using-the-icon-font",level:2}];function d(n){const e={a:"a",code:"code",h2:"h2",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.M)(),...n.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(e.p,{children:["Icons can be added as icon font and will be added in a similar way that the ",(0,t.jsx)(e.a,{href:"fonts-custom",children:"custom fonts"})," are added. The process of file preparation is a bit different."]}),"\n",(0,t.jsx)(e.p,{children:(0,t.jsx)(e.strong,{children:"While icon font is the easiest method of managing and using a large library of icons, there are a number of reasons why it should not be used. Poor accessiblity, really noticable FOUT and styling inconsistencies are major downsides to icon fonts. There are a lot more benefits that come with using SVG components like: more styling options, usage flexibility and no impact to accessiblity of the website."})}),"\n",(0,t.jsx)(e.h2,{id:"icon-font-files-setup",children:"Icon font files setup"}),"\n",(0,t.jsxs)(e.p,{children:["For generating icon font files we recommend using ",(0,t.jsx)(e.a,{href:"https://icomoon.io/app/",children:"Icomoon"}),"."]}),"\n",(0,t.jsxs)(e.p,{children:["Icons, exported as ",(0,t.jsx)(e.code,{children:".svg"}),", will need to be imported in a new set. Once all SVG icons are present in a set and named properly, the icon font can be generated. It is also recommended that before downloading an icon font the option for generating preprocessor variables is selected."]}),"\n",(0,t.jsx)(e.p,{children:"Downloaded package will contain a few important files:"}),"\n",(0,t.jsxs)(e.ul,{children:["\n",(0,t.jsxs)(e.li,{children:[(0,t.jsx)(e.code,{children:"selection.json"})," - contains a snapshot of the whole icon font set and can be imported to update the whole icon set"]}),"\n",(0,t.jsxs)(e.li,{children:[(0,t.jsx)(e.code,{children:"variables.scss"})," - contains SCSS variables that map the name of the icon to it's character code."]}),"\n",(0,t.jsxs)(e.li,{children:[(0,t.jsx)(e.code,{children:"style.scss"})," - contains helper classes to access specific icons."]}),"\n",(0,t.jsxs)(e.li,{children:[(0,t.jsx)(e.code,{children:"fonts/icon-set-name.*"})," - Actual font files with multiple formats."]}),"\n"]}),"\n",(0,t.jsxs)(e.p,{children:["Place font files in ",(0,t.jsx)(e.code,{children:"theme-name/assets/fonts"})," directory and import them the same way as other fonts. Recommended formats for icon fonts are ",(0,t.jsx)(e.code,{children:".svg"})," and ",(0,t.jsx)(e.code,{children:".woff"}),". Place the ",(0,t.jsx)(e.code,{children:"selection.json"})," file in the same directory just as a reference for updating icon font set (no need to import it)."]}),"\n",(0,t.jsxs)(e.p,{children:["Variables and class names need to be included in some form of global SCSS file e.g. ",(0,t.jsx)(e.code,{children:"theme-name/assets/styles/parts/shared"})," and you can change or rename them to fit your needs. The definition of the ",(0,t.jsx)(e.code,{children:"@font-face"})," can be removed because we will be generating it using the ",(0,t.jsx)(e.a,{href:"https://github.com/jonathantneal/postcss-font-magician",children:"Font Magician"}),", so we will get back to that later."]}),"\n",(0,t.jsx)(e.h2,{id:"font-magician-configuration-for-icon-font",children:"Font Magician configuration for icon font"}),"\n",(0,t.jsxs)(e.p,{children:["Icon font will be just another font family in Font Magician configuration. So give it a specific name that will be referenced in ",(0,t.jsx)(e.code,{children:"font-family"})," rule and add the names of the font files."]}),"\n",(0,t.jsx)(e.pre,{children:(0,t.jsx)(e.code,{className:"language-js",children:"...\nconst postcssFontMagician = require('postcss-font-magician');\n\nmodule.exports = {\n plugins: [\n ... // other postCss configs\n postcssFontMagician({\n custom: {\n ... // other font-family declarations and config\n 'IconFontName': { // font-family declaration\n variants: {\n normal: {\n 400: {\n url: {\n woff: 'icon-font-name.woff',\n svg: 'icon-font-name.svg',\n },\n },\n },\n },\n },\n ... // other font-family declarations\n },\n }),\n ],\n};\n"})}),"\n",(0,t.jsxs)(e.p,{children:["Restart the build process to generate new ",(0,t.jsx)(e.code,{children:"@font-face"})," rules."]}),"\n",(0,t.jsx)(e.h2,{id:"using-the-icon-font",children:"Using the icon font"}),"\n",(0,t.jsxs)(e.p,{children:["Once Font Magician configuration is done new ",(0,t.jsx)(e.code,{children:"font-family"})," definition will need to be added."]}),"\n",(0,t.jsx)(e.pre,{children:(0,t.jsx)(e.code,{className:"language-scss",children:"// Variable declared in a global variables .scss file.\n$base-icon-family: `IconFontName`,\n\n// Using the variable in .scss partial\n.icon {\n font-family: $base-font-family;\n ...\n}\n"})})]})}function f(n={}){const{wrapper:e}={...(0,i.M)(),...n.components};return e?(0,t.jsx)(e,{...n,children:(0,t.jsx)(d,{...n})}):d(n)}},4552:(n,e,o)=>{o.d(e,{I:()=>c,M:()=>a});var t=o(11504);const i={},s=t.createContext(i);function a(n){const e=t.useContext(s);return t.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function c(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(i):n.components||i:a(n.components),t.createElement(s.Provider,{value:e},n.children)}}}]); \ No newline at end of file diff --git a/assets/js/f92290a0.44c1c712.js b/assets/js/f92290a0.44c1c712.js deleted file mode 100644 index ebb766a3a..000000000 --- a/assets/js/f92290a0.44c1c712.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[21592],{92842:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>o,default:()=>p,frontMatter:()=>a,metadata:()=>r,toc:()=>c});var s=n(85893),i=n(11151);const a={id:"settings-data",title:"Settings data"},o=void 0,r={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.",source:"@site/forms/php/filters/admin/settings-data.md",sourceDirName:"php/filters/admin",slug:"/php/filters/admin/settings-data",permalink:"/forms/php/filters/admin/settings-data",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"settings-data",title:"Settings data"},sidebar:"forms",previous:{title:"Force mimetype from FS",permalink:"/forms/php/filters/validation/force-mimetype-from-fs"},next:{title:"How to use?",permalink:"/forms/php/actions/how-to-use"}},d={},c=[];function l(t){const e={code:"code",p:"p",pre:"pre",...(0,i.a)(),...t.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.p,{children:"This filter allows adding a custom settings page in the WordPress admin area. Useful when creating custom option pages for Forms add-on plugins."}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-php",children:"\\add_filter('es_forms_admin_settings_data', [$this, 'getSettingsConfig']);\n\n/**\n * Settings config data.\n *\n * @return array<mixed>\n */\npublic function getSettingsConfig(): array\n{\n\treturn [\n\t\tself::SETTINGS_TYPE_KEY => [\n\t\t\t'settings' => 'es_forms_settings_addon_<setting-name>',\n\t\t\t'settingsGlobal' => 'es_forms_settings_global_<setting-name>',\n\t\t\t'type' => 'addon',\n\t\t\t'use' => '<setting-name>-use',\n\t\t\t'labels' => [\n\t\t\t\t'title' => \\__('Title', '<text-domain>'),\n\t\t\t\t'desc' => \\__('Description', '<text-domain>'),\n\t\t\t\t'icon' => '<svg-icon>',\n\t\t\t],\n\t\t],\n\t];\n}\n"})})]})}function p(t={}){const{wrapper:e}={...(0,i.a)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(l,{...t})}):l(t)}},11151:(t,e,n)=>{n.d(e,{Z:()=>r,a:()=>o});var s=n(67294);const i={},a=s.createContext(i);function o(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(i):t.components||i:o(t.components),s.createElement(a.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/f92290a0.7cc75524.js b/assets/js/f92290a0.7cc75524.js new file mode 100644 index 000000000..c0e6c1748 --- /dev/null +++ b/assets/js/f92290a0.7cc75524.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[66032],{56716:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>o,default:()=>p,frontMatter:()=>a,metadata:()=>r,toc:()=>c});var s=n(17624),i=n(4552);const a={id:"settings-data",title:"Settings data"},o=void 0,r={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.",source:"@site/forms/php/filters/admin/settings-data.md",sourceDirName:"php/filters/admin",slug:"/php/filters/admin/settings-data",permalink:"/forms/php/filters/admin/settings-data",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"settings-data",title:"Settings data"},sidebar:"forms",previous:{title:"Force mimetype from FS",permalink:"/forms/php/filters/validation/force-mimetype-from-fs"},next:{title:"How to use?",permalink:"/forms/php/actions/how-to-use"}},d={},c=[];function l(t){const e={code:"code",p:"p",pre:"pre",...(0,i.M)(),...t.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.p,{children:"This filter allows adding a custom settings page in the WordPress admin area. Useful when creating custom option pages for Forms add-on plugins."}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-php",children:"\\add_filter('es_forms_admin_settings_data', [$this, 'getSettingsConfig']);\n\n/**\n * Settings config data.\n *\n * @return array<mixed>\n */\npublic function getSettingsConfig(): array\n{\n\treturn [\n\t\tself::SETTINGS_TYPE_KEY => [\n\t\t\t'settings' => 'es_forms_settings_addon_<setting-name>',\n\t\t\t'settingsGlobal' => 'es_forms_settings_global_<setting-name>',\n\t\t\t'type' => 'addon',\n\t\t\t'use' => '<setting-name>-use',\n\t\t\t'labels' => [\n\t\t\t\t'title' => \\__('Title', '<text-domain>'),\n\t\t\t\t'desc' => \\__('Description', '<text-domain>'),\n\t\t\t\t'icon' => '<svg-icon>',\n\t\t\t],\n\t\t],\n\t];\n}\n"})})]})}function p(t={}){const{wrapper:e}={...(0,i.M)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(l,{...t})}):l(t)}},4552:(t,e,n)=>{n.d(e,{I:()=>r,M:()=>o});var s=n(11504);const i={},a=s.createContext(i);function o(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(i):t.components||i:o(t.components),s.createElement(a.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/f92772a6.00162167.js b/assets/js/f92772a6.00162167.js deleted file mode 100644 index cc2686941..000000000 --- a/assets/js/f92772a6.00162167.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[14973],{45446:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>i,default:()=>u,frontMatter:()=>o,metadata:()=>c,toc:()=>l});var s=n(85893),r=n(11151);const o={id:"blocks-structure-manifest",title:"Manifest Structure"},i=void 0,c={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.",source:"@site/docs/legacy/v4/guides/blocks-structure-manifest.md",sourceDirName:"legacy/v4/guides",slug:"/legacy/v4/guides/blocks-structure-manifest",permalink:"/docs/legacy/v4/guides/blocks-structure-manifest",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-structure-manifest",title:"Manifest Structure"},sidebar:"docs",previous:{title:"Component Structure",permalink:"/docs/legacy/v4/guides/blocks-structure-component"},next:{title:"Creating Block from Components",permalink:"/docs/legacy/v4/guides/blocks-block-from-components"}},a={},l=[{value:"Example",id:"example",level:3},{value:"attributes",id:"attributes",level:3},{value:"hasInnerBlocks",id:"hasinnerblocks",level:3},{value:"hasWrapper",id:"haswrapper",level:3}];function d(e){const t={a:"a",code:"code",h3:"h3",p:"p",pre:"pre",...(0,r.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(t.p,{children:["This file contains all the configuration required for a block to work. It's used in WordPress ",(0,s.jsx)(t.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-registration/",children:(0,s.jsx)(t.code,{children:"registerBlockType"})})," method to register a block. Using ",(0,s.jsx)(t.code,{children:"manifest.json"})," we can provide a configuration in JavaScript and PHP part of the block in one file."]}),"\n",(0,s.jsx)(t.h3,{id:"example",children:"Example"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-json",children:'{\n "blockName": "heading",\n "title": "Heading",\n "description" : "Heading block with custom settings.",\n "category": "common",\n "icon": {\n "src": "heading"\n },\n "keywords": [\n "Header",\n "Title"\n ],\n "attributes": {\n "content": {\n "type": "string"\n },\n "level": {\n "type": "number",\n "default": 2\n }\n }\n}\n'})}),"\n",(0,s.jsxs)(t.p,{children:["Most of the keys are the same as ",(0,s.jsx)(t.code,{children:"registerBlockType"})," method, but we also have some custom attributes here:"]}),"\n",(0,s.jsx)(t.h3,{id:"attributes",children:"attributes"}),"\n",(0,s.jsxs)(t.p,{children:["Attributes key is an object of attributes that you define and where you set up default values for a block. These attributes are then provided for you in the editor as props, and the PHP view part in the ",(0,s.jsx)(t.code,{children:"$attributes"})," variable.\nWe are using the same structure as described in ",(0,s.jsx)(t.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-attributes/",children:"Block Editor documentation"}),"."]}),"\n",(0,s.jsx)(t.h3,{id:"hasinnerblocks",children:"hasInnerBlocks"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.code,{children:"default: false"})}),"\n",(0,s.jsxs)(t.p,{children:["If the ",(0,s.jsx)(t.code,{children:"hasInnerBlocks"})," key is set to true, blocks ",(0,s.jsx)(t.code,{children:"save"})," method for inner blocks will be used. This method is used if the block has ",(0,s.jsx)(t.a,{href:"https://github.com/WordPress/gutenberg/tree/master/packages/block-editor/src/components/inner-blocks",children:(0,s.jsx)(t.code,{children:"InnerBlocks"})}),". In PHP you now have ",(0,s.jsx)(t.code,{children:"$inner_block_content"})," variable available. Here is an example of what happens in the back:"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:" save = () => createElement(InnerBlocks.Content);\n"})}),"\n",(0,s.jsx)(t.h3,{id:"haswrapper",children:"hasWrapper"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.code,{children:"default: true"})}),"\n",(0,s.jsxs)(t.p,{children:["If the ",(0,s.jsx)(t.code,{children:"hasWrapper"})," key is set to false, blocks PHP render method will not be passed to the wrapper component."]})]})}function u(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},11151:(e,t,n)=>{n.d(t,{Z:()=>c,a:()=>i});var s=n(67294);const r={},o=s.createContext(r);function i(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f92772a6.f28ea659.js b/assets/js/f92772a6.f28ea659.js new file mode 100644 index 000000000..a313af4ab --- /dev/null +++ b/assets/js/f92772a6.f28ea659.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[49776],{17476:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>i,default:()=>u,frontMatter:()=>o,metadata:()=>c,toc:()=>l});var s=n(17624),r=n(4552);const o={id:"blocks-structure-manifest",title:"Manifest Structure"},i=void 0,c={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.",source:"@site/docs/legacy/v4/guides/blocks-structure-manifest.md",sourceDirName:"legacy/v4/guides",slug:"/legacy/v4/guides/blocks-structure-manifest",permalink:"/docs/legacy/v4/guides/blocks-structure-manifest",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-structure-manifest",title:"Manifest Structure"},sidebar:"docs",previous:{title:"Component Structure",permalink:"/docs/legacy/v4/guides/blocks-structure-component"},next:{title:"Creating Block from Components",permalink:"/docs/legacy/v4/guides/blocks-block-from-components"}},a={},l=[{value:"Example",id:"example",level:3},{value:"attributes",id:"attributes",level:3},{value:"hasInnerBlocks",id:"hasinnerblocks",level:3},{value:"hasWrapper",id:"haswrapper",level:3}];function d(e){const t={a:"a",code:"code",h3:"h3",p:"p",pre:"pre",...(0,r.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(t.p,{children:["This file contains all the configuration required for a block to work. It's used in WordPress ",(0,s.jsx)(t.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-registration/",children:(0,s.jsx)(t.code,{children:"registerBlockType"})})," method to register a block. Using ",(0,s.jsx)(t.code,{children:"manifest.json"})," we can provide a configuration in JavaScript and PHP part of the block in one file."]}),"\n",(0,s.jsx)(t.h3,{id:"example",children:"Example"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-json",children:'{\n "blockName": "heading",\n "title": "Heading",\n "description" : "Heading block with custom settings.",\n "category": "common",\n "icon": {\n "src": "heading"\n },\n "keywords": [\n "Header",\n "Title"\n ],\n "attributes": {\n "content": {\n "type": "string"\n },\n "level": {\n "type": "number",\n "default": 2\n }\n }\n}\n'})}),"\n",(0,s.jsxs)(t.p,{children:["Most of the keys are the same as ",(0,s.jsx)(t.code,{children:"registerBlockType"})," method, but we also have some custom attributes here:"]}),"\n",(0,s.jsx)(t.h3,{id:"attributes",children:"attributes"}),"\n",(0,s.jsxs)(t.p,{children:["Attributes key is an object of attributes that you define and where you set up default values for a block. These attributes are then provided for you in the editor as props, and the PHP view part in the ",(0,s.jsx)(t.code,{children:"$attributes"})," variable.\nWe are using the same structure as described in ",(0,s.jsx)(t.a,{href:"https://developer.wordpress.org/block-editor/developers/block-api/block-attributes/",children:"Block Editor documentation"}),"."]}),"\n",(0,s.jsx)(t.h3,{id:"hasinnerblocks",children:"hasInnerBlocks"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.code,{children:"default: false"})}),"\n",(0,s.jsxs)(t.p,{children:["If the ",(0,s.jsx)(t.code,{children:"hasInnerBlocks"})," key is set to true, blocks ",(0,s.jsx)(t.code,{children:"save"})," method for inner blocks will be used. This method is used if the block has ",(0,s.jsx)(t.a,{href:"https://github.com/WordPress/gutenberg/tree/master/packages/block-editor/src/components/inner-blocks",children:(0,s.jsx)(t.code,{children:"InnerBlocks"})}),". In PHP you now have ",(0,s.jsx)(t.code,{children:"$inner_block_content"})," variable available. Here is an example of what happens in the back:"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:" save = () => createElement(InnerBlocks.Content);\n"})}),"\n",(0,s.jsx)(t.h3,{id:"haswrapper",children:"hasWrapper"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.code,{children:"default: true"})}),"\n",(0,s.jsxs)(t.p,{children:["If the ",(0,s.jsx)(t.code,{children:"hasWrapper"})," key is set to false, blocks PHP render method will not be passed to the wrapper component."]})]})}function u(e={}){const{wrapper:t}={...(0,r.M)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},4552:(e,t,n)=>{n.d(t,{I:()=>c,M:()=>i});var s=n(11504);const r={},o=s.createContext(r);function i(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/fae9d50a.07881780.js b/assets/js/fae9d50a.07881780.js new file mode 100644 index 000000000..0371352a2 --- /dev/null +++ b/assets/js/fae9d50a.07881780.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[11804],{77268:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>s,contentTitle:()=>c,default:()=>_,frontMatter:()=>r,metadata:()=>l,toc:()=>i});var o=t(17624),n=t(4552);const r={id:"google-recaptcha",title:"Google reCaptcha"},c=void 0,l={id:"php/global-variables/google-recaptcha",title:"Google reCaptcha",description:"ESGOOGLERECAPTCHASITEKEY",source:"@site/forms/php/global-variables/google-recaptcha.md",sourceDirName:"php/global-variables",slug:"/php/global-variables/google-recaptcha",permalink:"/forms/php/global-variables/google-recaptcha",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"google-recaptcha",title:"Google reCaptcha"},sidebar:"forms",previous:{title:"Geolocation",permalink:"/forms/php/global-variables/geolocation"},next:{title:"Active Campaign",permalink:"/forms/php/global-variables/integrations/active-campaign"}},s={},i=[{value:"ES_GOOGLE_RECAPTCHA_SITE_KEY",id:"es_google_recaptcha_site_key",level:3},{value:"ES_GOOGLE_RECAPTCHA_SECRET_KEY",id:"es_google_recaptcha_secret_key",level:3},{value:"ES_GOOGLE_RECAPTCHA_API_KEY",id:"es_google_recaptcha_api_key",level:3},{value:"ES_GOOGLE_RECAPTCHA_PROJECT_ID_KEY",id:"es_google_recaptcha_project_id_key",level:3}];function p(e){const a={code:"code",h3:"h3",p:"p",pre:"pre",...(0,n.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(a.h3,{id:"es_google_recaptcha_site_key",children:"ES_GOOGLE_RECAPTCHA_SITE_KEY"}),"\n",(0,o.jsx)(a.p,{children:"Google ReCaptcha site key. Applies to the both free and enterprise versions of ReCaptcha."}),"\n",(0,o.jsx)(a.pre,{children:(0,o.jsx)(a.code,{className:"language-php",children:"define('ES_GOOGLE_RECAPTCHA_SITE_KEY', '<site-key>');\n"})}),"\n",(0,o.jsx)(a.h3,{id:"es_google_recaptcha_secret_key",children:"ES_GOOGLE_RECAPTCHA_SECRET_KEY"}),"\n",(0,o.jsx)(a.p,{children:"Google ReCaptcha secret key. Only applies to the free version of ReCaptcha."}),"\n",(0,o.jsx)(a.pre,{children:(0,o.jsx)(a.code,{className:"language-php",children:"define('ES_GOOGLE_RECAPTCHA_SECRET_KEY', '<secret-key>');\n"})}),"\n",(0,o.jsx)(a.h3,{id:"es_google_recaptcha_api_key",children:"ES_GOOGLE_RECAPTCHA_API_KEY"}),"\n",(0,o.jsx)(a.p,{children:"This variable will set Google ReCaptcha API key. Only applies to the enterprise version of Google ReCaptcha."}),"\n",(0,o.jsx)(a.pre,{children:(0,o.jsx)(a.code,{className:"language-php",children:"define('ES_GOOGLE_RECAPTCHA_API_KEY', '<api-key>');\n"})}),"\n",(0,o.jsx)(a.h3,{id:"es_google_recaptcha_project_id_key",children:"ES_GOOGLE_RECAPTCHA_PROJECT_ID_KEY"}),"\n",(0,o.jsx)(a.p,{children:"Google ReCaptcha project ID. Only applies to the enterprise version of ReCaptcha."}),"\n",(0,o.jsx)(a.pre,{children:(0,o.jsx)(a.code,{className:"language-php",children:"define('ES_GOOGLE_RECAPTCHA_PROJECT_ID_KEY', '<project-id-key>');\n"})})]})}function _(e={}){const{wrapper:a}={...(0,n.M)(),...e.components};return a?(0,o.jsx)(a,{...e,children:(0,o.jsx)(p,{...e})}):p(e)}},4552:(e,a,t)=>{t.d(a,{I:()=>l,M:()=>c});var o=t(11504);const n={},r=o.createContext(n);function c(e){const a=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function l(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:c(e.components),o.createElement(r.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/fae9d50a.ece4f6a6.js b/assets/js/fae9d50a.ece4f6a6.js deleted file mode 100644 index dd2c44f82..000000000 --- a/assets/js/fae9d50a.ece4f6a6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[91414],{57333:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>s,contentTitle:()=>c,default:()=>_,frontMatter:()=>r,metadata:()=>l,toc:()=>i});var o=t(85893),n=t(11151);const r={id:"google-recaptcha",title:"Google reCaptcha"},c=void 0,l={id:"php/global-variables/google-recaptcha",title:"Google reCaptcha",description:"ESGOOGLERECAPTCHASITEKEY",source:"@site/forms/php/global-variables/google-recaptcha.md",sourceDirName:"php/global-variables",slug:"/php/global-variables/google-recaptcha",permalink:"/forms/php/global-variables/google-recaptcha",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"google-recaptcha",title:"Google reCaptcha"},sidebar:"forms",previous:{title:"Geolocation",permalink:"/forms/php/global-variables/geolocation"},next:{title:"Active Campaign",permalink:"/forms/php/global-variables/integrations/active-campaign"}},s={},i=[{value:"ES_GOOGLE_RECAPTCHA_SITE_KEY",id:"es_google_recaptcha_site_key",level:3},{value:"ES_GOOGLE_RECAPTCHA_SECRET_KEY",id:"es_google_recaptcha_secret_key",level:3},{value:"ES_GOOGLE_RECAPTCHA_API_KEY",id:"es_google_recaptcha_api_key",level:3},{value:"ES_GOOGLE_RECAPTCHA_PROJECT_ID_KEY",id:"es_google_recaptcha_project_id_key",level:3}];function p(e){const a={code:"code",h3:"h3",p:"p",pre:"pre",...(0,n.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(a.h3,{id:"es_google_recaptcha_site_key",children:"ES_GOOGLE_RECAPTCHA_SITE_KEY"}),"\n",(0,o.jsx)(a.p,{children:"Google ReCaptcha site key. Applies to the both free and enterprise versions of ReCaptcha."}),"\n",(0,o.jsx)(a.pre,{children:(0,o.jsx)(a.code,{className:"language-php",children:"define('ES_GOOGLE_RECAPTCHA_SITE_KEY', '<site-key>');\n"})}),"\n",(0,o.jsx)(a.h3,{id:"es_google_recaptcha_secret_key",children:"ES_GOOGLE_RECAPTCHA_SECRET_KEY"}),"\n",(0,o.jsx)(a.p,{children:"Google ReCaptcha secret key. Only applies to the free version of ReCaptcha."}),"\n",(0,o.jsx)(a.pre,{children:(0,o.jsx)(a.code,{className:"language-php",children:"define('ES_GOOGLE_RECAPTCHA_SECRET_KEY', '<secret-key>');\n"})}),"\n",(0,o.jsx)(a.h3,{id:"es_google_recaptcha_api_key",children:"ES_GOOGLE_RECAPTCHA_API_KEY"}),"\n",(0,o.jsx)(a.p,{children:"This variable will set Google ReCaptcha API key. Only applies to the enterprise version of Google ReCaptcha."}),"\n",(0,o.jsx)(a.pre,{children:(0,o.jsx)(a.code,{className:"language-php",children:"define('ES_GOOGLE_RECAPTCHA_API_KEY', '<api-key>');\n"})}),"\n",(0,o.jsx)(a.h3,{id:"es_google_recaptcha_project_id_key",children:"ES_GOOGLE_RECAPTCHA_PROJECT_ID_KEY"}),"\n",(0,o.jsx)(a.p,{children:"Google ReCaptcha project ID. Only applies to the enterprise version of ReCaptcha."}),"\n",(0,o.jsx)(a.pre,{children:(0,o.jsx)(a.code,{className:"language-php",children:"define('ES_GOOGLE_RECAPTCHA_PROJECT_ID_KEY', '<project-id-key>');\n"})})]})}function _(e={}){const{wrapper:a}={...(0,n.a)(),...e.components};return a?(0,o.jsx)(a,{...e,children:(0,o.jsx)(p,{...e})}):p(e)}},11151:(e,a,t)=>{t.d(a,{Z:()=>l,a:()=>c});var o=t(67294);const n={},r=o.createContext(n);function c(e){const a=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function l(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:c(e.components),o.createElement(r.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/fbd7f063.06a7ece7.js b/assets/js/fbd7f063.06a7ece7.js deleted file mode 100644 index 83affe076..000000000 --- a/assets/js/fbd7f063.06a7ece7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[71419],{26375:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var i=t(85893),n=t(11151);const o={id:"helpers-scss",title:"Scss"},r=void 0,l={id:"legacy/v8/basics/helpers-scss",title:"Scss",description:"docs-source",source:"@site/docs/legacy/v8/basics/helpers-scss.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/helpers-scss",permalink:"/docs/legacy/v8/basics/helpers-scss",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"helpers-scss",title:"Scss"},sidebar:"docs",previous:{title:"JavaScript",permalink:"/docs/legacy/v8/basics/helpers-javascript"},next:{title:"PHP",permalink:"/docs/legacy/v8/basics/helpers-php"}},a={},c=[{value:"Default usage",id:"default-usage",level:2},{value:"Usage outside of Eightshift Boilerplate",id:"usage-outside-of-eightshift-boilerplate",level:2}];function d(e){const s={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",strong:"strong",...(0,n.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,i.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsx)(s.p,{children:"For years, we have collected a list of useful SASS mixins, placeholders, and functions you can use in a project. You don't need to have all of this in your project. Check out our documentation and see what we have in store for you."}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsxs)(s.strong,{children:["Visit ",(0,i.jsx)(s.a,{href:"/sass",children:"SassDocs"})," for more details."]})}),"\n",(0,i.jsx)(s.h2,{id:"default-usage",children:"Default usage"}),"\n",(0,i.jsx)(s.p,{children:"Eightshift Frontend Libs styles library is already implemented in your WordPress project, so you don't need to worry about implementation."}),"\n",(0,i.jsxs)(s.p,{children:["All our sass mixing, functions and helpers are located in ",(0,i.jsx)(s.code,{children:"node_modules/@eighshift/frontend-libs/styles/scss/eightshift-frontend-libs.scss"})," file."]}),"\n",(0,i.jsxs)(s.p,{children:["We imported that library into this file: ",(0,i.jsx)(s.code,{children:"/assets/styles/parts/_shared.scss"}),"."]}),"\n",(0,i.jsx)(s.h2,{id:"usage-outside-of-eightshift-boilerplate",children:"Usage outside of Eightshift Boilerplate"}),"\n",(0,i.jsx)(s.p,{children:"If you want to use it outside of the Eightshift Boilerplate, you can. It is only a matter of installing the package and importing it into your project's style file."}),"\n",(0,i.jsx)(s.p,{children:"In your terminal, install Eightshift Frontend Libs package:"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-bash",children:"npm install @eightshift/frontend-libs\n"})}),"\n",(0,i.jsx)(s.p,{children:"and add this import in your project:"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-scss",children:"@import '@eightshift/frontend-libs/styles/index.scss';\n"})})]})}function h(e={}){const{wrapper:s}={...(0,n.a)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},11151:(e,s,t)=>{t.d(s,{Z:()=>l,a:()=>r});var i=t(67294);const n={},o=i.createContext(n);function r(e){const s=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),i.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/fbd7f063.8c0f3535.js b/assets/js/fbd7f063.8c0f3535.js new file mode 100644 index 000000000..a1bdd667f --- /dev/null +++ b/assets/js/fbd7f063.8c0f3535.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[22836],{29392:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var i=t(17624),n=t(4552);const o={id:"helpers-scss",title:"Scss"},r=void 0,l={id:"legacy/v8/basics/helpers-scss",title:"Scss",description:"docs-source",source:"@site/docs/legacy/v8/basics/helpers-scss.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/helpers-scss",permalink:"/docs/legacy/v8/basics/helpers-scss",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"helpers-scss",title:"Scss"},sidebar:"docs",previous:{title:"JavaScript",permalink:"/docs/legacy/v8/basics/helpers-javascript"},next:{title:"PHP",permalink:"/docs/legacy/v8/basics/helpers-php"}},a={},c=[{value:"Default usage",id:"default-usage",level:2},{value:"Usage outside of Eightshift Boilerplate",id:"usage-outside-of-eightshift-boilerplate",level:2}];function d(e){const s={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",strong:"strong",...(0,n.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,i.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsx)(s.p,{children:"For years, we have collected a list of useful SASS mixins, placeholders, and functions you can use in a project. You don't need to have all of this in your project. Check out our documentation and see what we have in store for you."}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsxs)(s.strong,{children:["Visit ",(0,i.jsx)(s.a,{href:"/docs/basics/library",children:"SassDocs"})," for more details."]})}),"\n",(0,i.jsx)(s.h2,{id:"default-usage",children:"Default usage"}),"\n",(0,i.jsx)(s.p,{children:"Eightshift Frontend Libs styles library is already implemented in your WordPress project, so you don't need to worry about implementation."}),"\n",(0,i.jsxs)(s.p,{children:["All our sass mixing, functions and helpers are located in ",(0,i.jsx)(s.code,{children:"node_modules/@eighshift/frontend-libs/styles/scss/eightshift-frontend-libs.scss"})," file."]}),"\n",(0,i.jsxs)(s.p,{children:["We imported that library into this file: ",(0,i.jsx)(s.code,{children:"/assets/styles/parts/_shared.scss"}),"."]}),"\n",(0,i.jsx)(s.h2,{id:"usage-outside-of-eightshift-boilerplate",children:"Usage outside of Eightshift Boilerplate"}),"\n",(0,i.jsx)(s.p,{children:"If you want to use it outside of the Eightshift Boilerplate, you can. It is only a matter of installing the package and importing it into your project's style file."}),"\n",(0,i.jsx)(s.p,{children:"In your terminal, install Eightshift Frontend Libs package:"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-bash",children:"npm install @eightshift/frontend-libs\n"})}),"\n",(0,i.jsx)(s.p,{children:"and add this import in your project:"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-scss",children:"@import '@eightshift/frontend-libs/styles/index.scss';\n"})})]})}function h(e={}){const{wrapper:s}={...(0,n.M)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},4552:(e,s,t)=>{t.d(s,{I:()=>l,M:()=>r});var i=t(11504);const n={},o=i.createContext(n);function r(e){const s=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),i.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/fbe6399d.9d285f1b.js b/assets/js/fbe6399d.9d285f1b.js deleted file mode 100644 index 39827218a..000000000 --- a/assets/js/fbe6399d.9d285f1b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[92972],{73099:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>d,frontMatter:()=>r,metadata:()=>a,toc:()=>l});var s=t(85893),i=t(11151);const r={id:"menu",title:"Menu"},o=void 0,a={id:"legacy/v4/guides/menu",title:"Menu",description:"docs-source",source:"@site/docs/legacy/v4/guides/menu.md",sourceDirName:"legacy/v4/guides",slug:"/legacy/v4/guides/menu",permalink:"/docs/legacy/v4/guides/menu",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"menu",title:"Menu"},sidebar:"docs",previous:{title:"Media",permalink:"/docs/legacy/v4/guides/media"},next:{title:"Rest Intro",permalink:"/docs/legacy/v4/guides/rest-intro"}},c={},l=[{value:"BEM Menu helper",id:"bem-menu-helper",level:2}];function u(e){const n={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/infinum/eightshift-boilerplate/tree/v4.0.0/src/menu/class-menu.php",children:(0,s.jsx)(n.img,{src:"https://img.shields.io/badge/source-eigthshift--boilerplate-red?style=for-the-badge&logo=wordpress&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsxs)(n.p,{children:["Menu class is located in ",(0,s.jsx)(n.code,{children:"project"}),". It extends ",(0,s.jsx)(n.code,{children:"Eightshift_Libs\\Menu\\Menu"})," class."]}),"\n",(0,s.jsx)(n.p,{children:"This class is used to add all custom project implementation for menus."}),"\n",(0,s.jsxs)(n.p,{children:["To add the custom menu, you must provide an array for custom menu locations as explained in the documentation from the ",(0,s.jsx)(n.a,{href:"https://developer.wordpress.org/reference/functions/register_nav_menus/",children:"official WordPress docs"}),"."]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",children:"/**\n\t * Return all menu positions\n\t *\n\t * @return array<string> Menu positions with slug => name structure.\n\t */\n\tpublic function getMenuPositions(): array\n\t{\n\t\treturn [\n\t\t\t'header_main_nav' => \\esc_html__('Main Menu', 'eightshift-boilerplate'),\n\t\t];\n\t}\n"})}),"\n",(0,s.jsx)(n.h2,{id:"bem-menu-helper",children:"BEM Menu helper"}),"\n",(0,s.jsxs)(n.p,{children:["We are providing a BEM menu helper that will create a normal WordPress menu but with HTML classes specific to the ",(0,s.jsx)(n.a,{href:"http://getbem.com/",children:"BEM methodology"}),"."]}),"\n",(0,s.jsx)(n.p,{children:"To use it just call this helper in your template."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",children:"use Eightshift_Libs\\Menu\\Menu;\n\nMenu::bem_menu( 'header_main_nav', 'main-navigation' );\n"})}),"\n",(0,s.jsxs)(n.p,{children:["You can also provide multiple parameters to the helper. All the details are ",(0,s.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/tree/404aeab50beef38f788c864d7c0312858b097e81/src/menu/class-menu.php#L69",children:"found here"}),"."]})]})}function d(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(u,{...e})}):u(e)}},11151:(e,n,t)=>{t.d(n,{Z:()=>a,a:()=>o});var s=t(67294);const i={},r=s.createContext(i);function o(e){const n=s.useContext(r);return s.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(i):e.components||i:o(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/fbe6399d.b7332956.js b/assets/js/fbe6399d.b7332956.js new file mode 100644 index 000000000..1f090e234 --- /dev/null +++ b/assets/js/fbe6399d.b7332956.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[25396],{39884:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>o,default:()=>d,frontMatter:()=>r,metadata:()=>c,toc:()=>l});var s=t(17624),i=t(4552);const r={id:"menu",title:"Menu"},o=void 0,c={id:"legacy/v4/guides/menu",title:"Menu",description:"docs-source",source:"@site/docs/legacy/v4/guides/menu.md",sourceDirName:"legacy/v4/guides",slug:"/legacy/v4/guides/menu",permalink:"/docs/legacy/v4/guides/menu",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"menu",title:"Menu"},sidebar:"docs",previous:{title:"Media",permalink:"/docs/legacy/v4/guides/media"},next:{title:"Rest Intro",permalink:"/docs/legacy/v4/guides/rest-intro"}},a={},l=[{value:"BEM Menu helper",id:"bem-menu-helper",level:2}];function u(e){const n={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",...(0,i.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/infinum/eightshift-boilerplate/tree/v4.0.0/src/menu/class-menu.php",children:(0,s.jsx)(n.img,{src:"https://img.shields.io/badge/source-eigthshift--boilerplate-red?style=for-the-badge&logo=wordpress&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,s.jsxs)(n.p,{children:["Menu class is located in ",(0,s.jsx)(n.code,{children:"project"}),". It extends ",(0,s.jsx)(n.code,{children:"Eightshift_Libs\\Menu\\Menu"})," class."]}),"\n",(0,s.jsx)(n.p,{children:"This class is used to add all custom project implementation for menus."}),"\n",(0,s.jsxs)(n.p,{children:["To add the custom menu, you must provide an array for custom menu locations as explained in the documentation from the ",(0,s.jsx)(n.a,{href:"https://developer.wordpress.org/reference/functions/register_nav_menus/",children:"official WordPress docs"}),"."]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",children:"/**\n\t * Return all menu positions\n\t *\n\t * @return array<string> Menu positions with slug => name structure.\n\t */\n\tpublic function getMenuPositions(): array\n\t{\n\t\treturn [\n\t\t\t'header_main_nav' => \\esc_html__('Main Menu', 'eightshift-boilerplate'),\n\t\t];\n\t}\n"})}),"\n",(0,s.jsx)(n.h2,{id:"bem-menu-helper",children:"BEM Menu helper"}),"\n",(0,s.jsxs)(n.p,{children:["We are providing a BEM menu helper that will create a normal WordPress menu but with HTML classes specific to the ",(0,s.jsx)(n.a,{href:"http://getbem.com/",children:"BEM methodology"}),"."]}),"\n",(0,s.jsx)(n.p,{children:"To use it just call this helper in your template."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",children:"use Eightshift_Libs\\Menu\\Menu;\n\nMenu::bem_menu( 'header_main_nav', 'main-navigation' );\n"})}),"\n",(0,s.jsxs)(n.p,{children:["You can also provide multiple parameters to the helper. All the details are ",(0,s.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/tree/404aeab50beef38f788c864d7c0312858b097e81/src/menu/class-menu.php#L69",children:"found here"}),"."]})]})}function d(e={}){const{wrapper:n}={...(0,i.M)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(u,{...e})}):u(e)}},4552:(e,n,t)=>{t.d(n,{I:()=>c,M:()=>o});var s=t(11504);const i={},r=s.createContext(i);function o(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/fbe7d2e8.143e65ca.js b/assets/js/fbe7d2e8.143e65ca.js deleted file mode 100644 index 678a38e2b..000000000 --- a/assets/js/fbe7d2e8.143e65ca.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[76594],{24122:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>a,metadata:()=>r,toc:()=>l});var t=s(85893),i=s(11151);const a={id:"extending-classes",title:"Extending Classes",sidebar_label:"Extending Classes"},o=void 0,r={id:"legacy/v5/basics/extending-classes",title:"Extending Classes",description:"docs-source",source:"@site/docs/legacy/v5/basics/extending-classes.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/extending-classes",permalink:"/docs/legacy/v5/basics/extending-classes",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"extending-classes",title:"Extending Classes",sidebar_label:"Extending Classes"},sidebar:"docs",previous:{title:"Namespaces",permalink:"/docs/legacy/v5/basics/namespaces"},next:{title:"Autowiring",permalink:"/docs/legacy/v5/basics/autowiring"}},c={},l=[{value:"Example",id:"example",level:2}];function d(e){const n={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",strong:"strong",...(0,i.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/tree/3.0.0/",children:(0,t.jsx)(n.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsxs)(n.p,{children:["You can extend every class from the library. To follow the good practice, you should never use the class directly from the Eightshift-libs in your service container. Instead, you should create a class in your project and extend the class from the Eightshift-libs. That is why we made all those ",(0,t.jsx)(n.a,{href:"wp-cli",children:"WP-CLI"})," commands you saw in the previous chapter."]}),"\n",(0,t.jsx)(n.p,{children:"We don't do any magic in the Eightshift-libs like in previous versions. All classes contain only the methods you need to call using WordPress hooks or filters."}),"\n",(0,t.jsx)(n.h2,{id:"example",children:"Example"}),"\n",(0,t.jsxs)(n.p,{children:["Let's look at a way to add a class that enqueues theme front-end scripts and styles.\nGo to the ",(0,t.jsx)(n.strong,{children:"root"})," of your theme. Using the terminal, run this command:"]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"wp boilerplate create_enqueue_admin"})}),"\n",(0,t.jsx)(n.p,{children:"This command will output something like this in your project, taking care of your projects namespace and vendor prefixes, as well as the package name and the text-domain:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"<?php\n\n/**\n * The Admin Enqueue specific functionality.\n *\n * @package CoolProject\\Enqueue\\Admin\n */\n\ndeclare(strict_types=1);\n\nnamespace CoolProject\\Enqueue\\Admin;\n\nuse CoolProject\\Config\\Config;\nuse CoolProjectVendor\\EightshiftLibs\\Enqueue\\Admin\\AbstractEnqueueAdmin;\nuse CoolProjectVendor\\EightshiftLibs\\Manifest\\ManifestInterface;\n\n/**\n * Class EnqueueAdmin\n *\n * This class handles enqueue scripts and styles.\n */\nclass EnqueueAdmin extends AbstractEnqueueAdmin\n{\n\n /**\n * Create a new admin instance.\n *\n * @param ManifestInterface $manifest Inject manifest which holds data about assets from manifest.json.\n */\n public function __construct(ManifestInterface $manifest)\n {\n $this->manifest = $manifest;\n }\n\n /**\n * Register all the hooks\n *\n * @return void\n */\n public function register(): void\n {\n add_action('login_enqueue_scripts', [ $this, 'enqueueStyles' ]);\n add_action('admin_enqueue_scripts', [ $this, 'enqueueStyles' ], 50);\n add_action('admin_enqueue_scripts', [ $this, 'enqueueScripts' ]);\n }\n\n /**\n * Method that returns assets name used to prefix asset handlers.\n *\n * @return string\n */\n public function getAssetsPrefix(): string\n {\n return Config::getProjectName();\n }\n\n /**\n * Method that returns assets version for versioning asset handlers.\n *\n * @return string\n */\n public function getAssetsVersion(): string\n {\n return Config::getProjectVersion();\n }\n}\n"})}),"\n",(0,t.jsx)(n.p,{children:"As you can see from the provided example, we created a new class and extended the functionality from the Eightshift-libs."}),"\n",(0,t.jsxs)(n.p,{children:["In your new class, you have a ",(0,t.jsx)(n.code,{children:"register"})," method that must be in every class that registers WordPress action hooks or filters. We call these ",(0,t.jsx)(n.strong,{children:"service classes"}),"."]}),"\n",(0,t.jsx)(n.p,{children:"Your class contains three action hooks now. From this example, you can see that, if you don't want to use some functionality, remove the action, and it will not be used anymore. For more details on what each hook's callback does, go to the extended class in the Eightshift-libs and see the logic defined there."})]})}function h(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},11151:(e,n,s)=>{s.d(n,{Z:()=>r,a:()=>o});var t=s(67294);const i={},a=t.createContext(i);function o(e){const n=t.useContext(a);return t.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:o(e.components),t.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/fbe7d2e8.c2c96458.js b/assets/js/fbe7d2e8.c2c96458.js new file mode 100644 index 000000000..0cf2e147b --- /dev/null +++ b/assets/js/fbe7d2e8.c2c96458.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[90100],{93812:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>a,metadata:()=>r,toc:()=>l});var t=s(17624),i=s(4552);const a={id:"extending-classes",title:"Extending Classes",sidebar_label:"Extending Classes"},o=void 0,r={id:"legacy/v5/basics/extending-classes",title:"Extending Classes",description:"docs-source",source:"@site/docs/legacy/v5/basics/extending-classes.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/extending-classes",permalink:"/docs/legacy/v5/basics/extending-classes",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"extending-classes",title:"Extending Classes",sidebar_label:"Extending Classes"},sidebar:"docs",previous:{title:"Namespaces",permalink:"/docs/legacy/v5/basics/namespaces"},next:{title:"Autowiring",permalink:"/docs/legacy/v5/basics/autowiring"}},c={},l=[{value:"Example",id:"example",level:2}];function d(e){const n={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",strong:"strong",...(0,i.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs/tree/3.0.0/",children:(0,t.jsx)(n.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsxs)(n.p,{children:["You can extend every class from the library. To follow the good practice, you should never use the class directly from the Eightshift-libs in your service container. Instead, you should create a class in your project and extend the class from the Eightshift-libs. That is why we made all those ",(0,t.jsx)(n.a,{href:"wp-cli",children:"WP-CLI"})," commands you saw in the previous chapter."]}),"\n",(0,t.jsx)(n.p,{children:"We don't do any magic in the Eightshift-libs like in previous versions. All classes contain only the methods you need to call using WordPress hooks or filters."}),"\n",(0,t.jsx)(n.h2,{id:"example",children:"Example"}),"\n",(0,t.jsxs)(n.p,{children:["Let's look at a way to add a class that enqueues theme front-end scripts and styles.\nGo to the ",(0,t.jsx)(n.strong,{children:"root"})," of your theme. Using the terminal, run this command:"]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"wp boilerplate create_enqueue_admin"})}),"\n",(0,t.jsx)(n.p,{children:"This command will output something like this in your project, taking care of your projects namespace and vendor prefixes, as well as the package name and the text-domain:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"<?php\n\n/**\n * The Admin Enqueue specific functionality.\n *\n * @package CoolProject\\Enqueue\\Admin\n */\n\ndeclare(strict_types=1);\n\nnamespace CoolProject\\Enqueue\\Admin;\n\nuse CoolProject\\Config\\Config;\nuse CoolProjectVendor\\EightshiftLibs\\Enqueue\\Admin\\AbstractEnqueueAdmin;\nuse CoolProjectVendor\\EightshiftLibs\\Manifest\\ManifestInterface;\n\n/**\n * Class EnqueueAdmin\n *\n * This class handles enqueue scripts and styles.\n */\nclass EnqueueAdmin extends AbstractEnqueueAdmin\n{\n\n /**\n * Create a new admin instance.\n *\n * @param ManifestInterface $manifest Inject manifest which holds data about assets from manifest.json.\n */\n public function __construct(ManifestInterface $manifest)\n {\n $this->manifest = $manifest;\n }\n\n /**\n * Register all the hooks\n *\n * @return void\n */\n public function register(): void\n {\n add_action('login_enqueue_scripts', [ $this, 'enqueueStyles' ]);\n add_action('admin_enqueue_scripts', [ $this, 'enqueueStyles' ], 50);\n add_action('admin_enqueue_scripts', [ $this, 'enqueueScripts' ]);\n }\n\n /**\n * Method that returns assets name used to prefix asset handlers.\n *\n * @return string\n */\n public function getAssetsPrefix(): string\n {\n return Config::getProjectName();\n }\n\n /**\n * Method that returns assets version for versioning asset handlers.\n *\n * @return string\n */\n public function getAssetsVersion(): string\n {\n return Config::getProjectVersion();\n }\n}\n"})}),"\n",(0,t.jsx)(n.p,{children:"As you can see from the provided example, we created a new class and extended the functionality from the Eightshift-libs."}),"\n",(0,t.jsxs)(n.p,{children:["In your new class, you have a ",(0,t.jsx)(n.code,{children:"register"})," method that must be in every class that registers WordPress action hooks or filters. We call these ",(0,t.jsx)(n.strong,{children:"service classes"}),"."]}),"\n",(0,t.jsx)(n.p,{children:"Your class contains three action hooks now. From this example, you can see that, if you don't want to use some functionality, remove the action, and it will not be used anymore. For more details on what each hook's callback does, go to the extended class in the Eightshift-libs and see the logic defined there."})]})}function h(e={}){const{wrapper:n}={...(0,i.M)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},4552:(e,n,s)=>{s.d(n,{I:()=>r,M:()=>o});var t=s(11504);const i={},a=t.createContext(i);function o(e){const n=t.useContext(a);return t.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:o(e.components),t.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/fce92293.8dfaac74.js b/assets/js/fce92293.8dfaac74.js deleted file mode 100644 index fec9ab87e..000000000 --- a/assets/js/fce92293.8dfaac74.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[74683],{95873:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>a,default:()=>d,frontMatter:()=>i,metadata:()=>r,toc:()=>c});var o=t(85893),s=t(11151);const i={id:"blocks-component-in-block",title:"Component in a Block",sidebar_label:"Component in a Block"},a=void 0,r={id:"legacy/v5/basics/blocks-component-in-block",title:"Component in a Block",description:"docs-source",source:"@site/docs/legacy/v5/basics/blocks-component-in-block.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/blocks-component-in-block",permalink:"/docs/legacy/v5/basics/blocks-component-in-block",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-component-in-block",title:"Component in a Block",sidebar_label:"Component in a Block"},sidebar:"docs",previous:{title:"Attributes",permalink:"/docs/legacy/v5/basics/blocks-attributes"},next:{title:"Wrapper",permalink:"/docs/legacy/v5/basics/blocks-wrapper"}},l={},c=[{value:"I want to use one heading component in my block.",id:"i-want-to-use-one-heading-component-in-my-block",level:3},{value:"I want to use one heading and paragraph component in my block.",id:"i-want-to-use-one-heading-and-paragraph-component-in-my-block",level:3},{value:"I want two heading components in my block.",id:"i-want-two-heading-components-in-my-block",level:3},{value:"I want to override a default attribute of a component in a block.",id:"i-want-to-override-a-default-attribute-of-a-component-in-a-block",level:3},{value:"I want to use a component that uses more components (componentCeption).",id:"i-want-to-use-a-component-that-uses-more-components-componentception",level:3},{value:"I don't need all the component options in my block.",id:"i-dont-need-all-the-component-options-in-my-block",level:3},{value:"I don't want my editor to be able to change component options in my block.",id:"i-dont-want-my-editor-to-be-able-to-change-component-options-in-my-block",level:3},{value:"How do my example attributes behave when I use components in blocks?",id:"how-do-my-example-attributes-behave-when-i-use-components-in-blocks",level:3},{value:"I have a component name that has multiple strings in a name, will this work?",id:"i-have-a-component-name-that-has-multiple-strings-in-a-name-will-this-work",level:3},{value:"I have a component that I want to use manually",id:"i-have-a-component-that-i-want-to-use-manually",level:3},{value:"I want to limit which options are shown for components inside a block/component",id:"i-want-to-limit-which-options-are-shown-for-components-inside-a-blockcomponent",level:3},{value:"I want to only pass attributes to the component that I'm going to use",id:"i-want-to-only-pass-attributes-to-the-component-that-im-going-to-use",level:3}];function h(e){const n={a:"a",blockquote:"blockquote",code:"code",em:"em",h3:"h3",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/",children:(0,o.jsx)(n.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(n.p,{children:"Blocks and components work perfectly together because they are made that way. We simplified this as much as possible but there always a few things you need to do manually."}),"\n",(0,o.jsx)(n.p,{children:"Try to think of your development process in this way:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"Each component must be standalone and ideally not depend on any other components (sometimes this is not possible but keep this to a minimum)."}),"\n",(0,o.jsx)(n.li,{children:"Components must not be aware of the layout they are used in."}),"\n",(0,o.jsxs)(n.li,{children:["No global styles. Instead, all styles should be contained to the block/component. For more details, check ",(0,o.jsx)(n.a,{href:"writing-styles",children:"this link"}),"."]}),"\n",(0,o.jsxs)(n.li,{children:["You should define all heading variations in a ",(0,o.jsx)(n.code,{children:"heading"})," component. You can then use this component everywhere you have a heading instead of writing a new implementation. In practice: don't do ",(0,o.jsx)(n.code,{children:"<h2>$heading</h2>"})," but render the ",(0,o.jsx)(n.code,{children:"heading"})," component instead using the helpers defined in the ",(0,o.jsx)(n.a,{href:"helpers",children:"helpers section"}),". The heading is just an example, but this applies to every component."]}),"\n",(0,o.jsx)(n.li,{children:"You can have multiple heading components in one block."}),"\n"]}),"\n",(0,o.jsx)(n.h3,{id:"i-want-to-use-one-heading-component-in-my-block",children:"I want to use one heading component in my block."}),"\n",(0,o.jsx)(n.p,{children:"If you have a heading component with these attributes:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/components/heading/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"attributes": {\n\t"headingContent": {\n\t\t"type": "string"\n\t},\n\t"headingLevel": {\n\t\t"type": "integer",\n\t\t"default": 2\n\t},\n\t"headingSize": {\n\t\t"type": "string",\n\t\t"default": "default"\n\t},\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"and you want to use the heading component in the Jumbotron block, you can use it by adding a component's key in the Jumbotron block manifest like this:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/custom/jumbotron/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"attributes": {\n\t"content": {\n\t\t"type": "string"\n\t\t"default": "test",\n\t}\n},\n"components": {\n\t"heading": "heading"\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"In your block attributes object, you will now have these keys:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'\n// Attributes from the component.\n"headingContent": "",\n"headingLevel": 2,\n"headingSize": "default",\n\n// Attributes from the block.\n"content": "test",\n'})}),"\n",(0,o.jsx)(n.p,{children:"As you can see in the example, you can merge component attributes in your block attributes. Keep in mind that, in the provided example, the components' attributes will be injected in the block attributes with the same name as defined in the components manifest."}),"\n",(0,o.jsx)(n.h3,{id:"i-want-to-use-one-heading-and-paragraph-component-in-my-block",children:"I want to use one heading and paragraph component in my block."}),"\n",(0,o.jsx)(n.p,{children:"You can do this by following the same principle as before. Here is an example:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/custom/jumbotron/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"attributes": {\n\t"content": {\n\t\t"type": "string"\n\t\t"default": "test",\n\t}\n},\n"components": {\n\t"heading": "heading"\n\t"paragraph": "paragraph"\n}\n'})}),"\n",(0,o.jsx)(n.h3,{id:"i-want-two-heading-components-in-my-block",children:"I want two heading components in my block."}),"\n",(0,o.jsxs)(n.p,{children:["As you already saw in the previous examples, the heading key and value are the same in the components object. The key represents the ",(0,o.jsx)(n.code,{children:"components attributes prefix"}),", and the value represents the ",(0,o.jsx)(n.code,{children:"actual component name"}),"."]}),"\n",(0,o.jsx)(n.p,{children:"If you want to use the heading component in your block, follow this example:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/custom/jumbotron/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"attributes": {\n\t"content": {\n\t\t"type": "string"\n\t\t"default": "test",\n\t}\n},\n"components": {\n\t"heading": "heading"\n\t"intro": "heading"\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"In your block attributes object, you will now have these keys:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'\n// Attributes from the first component.\n"headingContent": "",\n"headingLevel": 2,\n"headingSize": "default",\n\n// Attributes from the second component.\n"introContent": "",\n"introLevel": 2,\n"introSize": "default",\n\n// Attributes from the block.\n"content": "test",\n'})}),"\n",(0,o.jsx)(n.h3,{id:"i-want-to-override-a-default-attribute-of-a-component-in-a-block",children:"I want to override a default attribute of a component in a block."}),"\n",(0,o.jsx)(n.p,{children:"We build all our attributes by merging attributes objects in this order:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"global attributes (global settings);"}),"\n",(0,o.jsx)(n.li,{children:"wrapper attributes;"}),"\n",(0,o.jsx)(n.li,{children:"component attributes; and"}),"\n",(0,o.jsx)(n.li,{children:"block attributes."}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:"By following the basic principle of merging objects, if you have two keys with the same name, the last one will always override the previous. Now that you know how attributes are built, you can follow this example for your answer."}),"\n",(0,o.jsx)(n.p,{children:"If you have a heading component with these attributes:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/components/heading/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"attributes": {\n\t"headingContent": {\n\t\t"type": "string"\n\t},\n\t"headingLevel": {\n\t\t"type": "integer",\n\t\t"default": 2\n\t},\n\t"headingSize": {\n\t\t"type": "string",\n\t\t"default": "default"\n\t},\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"and you want to override one or multiple default attributes from the heading component."}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/custom/jumbotron/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"attributes": {\n\t"content": {\n\t\t"type": "string"\n\t\t"default": "test",\n\t},\n\t"headingSize": {\n\t\t"type": "string",\n\t\t"default": "small"\n\t}\n},\n"components": {\n\t"heading": "heading"\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"In your block attributes object, you will now have these keys:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'\n// Attributes from the component.\n"headingContent": "",\n"headingLevel": 2,\n"headingSize": "small", // changed in the block attributes.\n\n// Attributes from the block.\n"content": "test",\n'})}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsxs)(n.p,{children:["Keep in mind that we handle the attributes data necessary to have multiple components in one block but you must provide the correct props inside your files to mock the custom attribute names. The best way to see how this is done is to check the ",(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/Blocks/custom/card",children:"card block"}),"."]}),"\n"]}),"\n",(0,o.jsx)(n.h3,{id:"i-want-to-use-a-component-that-uses-more-components-componentception",children:"I want to use a component that uses more components (componentCeption)."}),"\n",(0,o.jsx)(n.p,{children:"For example, if you have a block called cards grid that uses a card component, that card component uses a heading component."}),"\n",(0,o.jsx)(n.p,{children:"If you have a heading component with these attributes:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/components/heading/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"attributes": {\n\t"headingContent": {\n\t\t"type": "string"\n\t},\n\t"headingLevel": {\n\t\t"type": "integer",\n\t\t"default": 2\n\t},\n\t"headingSize": {\n\t\t"type": "string",\n\t\t"default": "default"\n\t},\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"and you have a card component:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/components/card/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"attributes": {\n\t"superCard": {\n\t\t"type": "boolean"\n\t\t"default": true,\n\t},\n},\n"components": {\n\t"heading": "heading"\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"and you have a cards grid block:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/custom/cards-grid/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"attributes": {\n\t"content": {\n\t\t"type": "string"\n\t\t"default": "test",\n\t},\n},\n"components": {\n\t"card": "card"\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"in your block attributes object, you will now have these keys:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'\n// Attributes from the heading component.\n"headingContent": "",\n"headingLevel": 2,\n"headingSize": "default",\n\n// Attributes from the card component.\n"superCard": true,\n\n// Attributes from the block.\n"content": "test",\n'})}),"\n",(0,o.jsx)(n.p,{children:"As you can see in the example, you have all the attributes from the card and heading component inside your card's grid block."}),"\n",(0,o.jsx)(n.h3,{id:"i-dont-need-all-the-component-options-in-my-block",children:"I don't need all the component options in my block."}),"\n",(0,o.jsxs)(n.p,{children:["All our components come with a few common attributes that we recommend you also implement in your components. One of those attributes is ",(0,o.jsx)(n.code,{children:"buttonUse"}),"."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"buttonUse": true,\n'})}),"\n",(0,o.jsxs)(n.p,{children:["This attribute is available in all three components (editor, toolbar, options). If set to ",(0,o.jsx)(n.strong,{children:"false"}),", it will remove this component from the DOM. This is useful if you want to hide all markup from the DOM."]}),"\n",(0,o.jsx)(n.p,{children:"For example, you have a Jumbotron block and a heading that you want to populate if necessary. If you add content to the heading, everything looks good. But if you don't add it, you'll still see a placeholder for that heading in the block editor. That affects how you perceive it, and a user may think this block will look like that on the front end (with the placeholder text). So if you have a component that you will not populate on some block, switch the toggle to false, and you will hide it from the DOM. This is useful for content editors."}),"\n",(0,o.jsx)(n.h3,{id:"i-dont-want-my-editor-to-be-able-to-change-component-options-in-my-block",children:"I don't want my editor to be able to change component options in my block."}),"\n",(0,o.jsxs)(n.p,{children:["Another attribute that you can use is ",(0,o.jsx)(n.code,{children:"buttonShowControls"}),"."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"buttonShowControls": true,\n'})}),"\n",(0,o.jsx)(n.p,{children:"This attribute is available in the options component only. You can't set it up via block editor, only from code. You would use it if you wanted to use a heading component and set all the defaults, without your content editor changing how the heading looks. It can add the heading content from the editor section without changing any of the options. You can set this option in the manifest or pass it manually via props."}),"\n",(0,o.jsx)(n.h3,{id:"how-do-my-example-attributes-behave-when-i-use-components-in-blocks",children:"How do my example attributes behave when I use components in blocks?"}),"\n",(0,o.jsx)(n.p,{children:"Exactly the same way as attributes."}),"\n",(0,o.jsx)(n.h3,{id:"i-have-a-component-name-that-has-multiple-strings-in-a-name-will-this-work",children:"I have a component name that has multiple strings in a name, will this work?"}),"\n",(0,o.jsxs)(n.p,{children:["By multiple strings in a name we mean that component name has multiple words, for example, ",(0,o.jsx)(n.code,{children:"jumbotron-cta"}),". The problem here is that we define components with dash and attributes with camelcase. That's why you have to fix this. We have provided you with a helper. The helper makes camelcase on all your component-name strings."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Example:"})}),"\n",(0,o.jsxs)(n.p,{children:["You have a component named ",(0,o.jsx)(n.code,{children:"jumbotron-cta"})," and you want to use it in your block. As described on this page, you will create a ",(0,o.jsx)(n.code,{children:"components"})," key in your ",(0,o.jsx)(n.code,{children:"manifest.json"})," and use ",(0,o.jsx)(n.code,{children:"jumbotron-cta"}),"."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n\t"components": {\n\t\t"jumbotron-cta": "jumbotron-cta"\n\t}\n}\n'})}),"\n",(0,o.jsxs)(n.p,{children:["But in all places in your component where you use ",(0,o.jsx)(n.code,{children:"setAttributes"})," you must use ",(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/scripts/helpers/camelize.js",children:"camelize helper"})]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"\nimport { camelize } from '@eightshift/frontend-libs/scripts/helpers';\n\n<ToggleControl\n\t label={'Custom Label'}\n\t onChange={(value) => setAttributes({ [`${camelize(componentName)}Use`]: value })}\n/>\n"})}),"\n",(0,o.jsx)(n.h3,{id:"i-have-a-component-that-i-want-to-use-manually",children:"I have a component that I want to use manually"}),"\n",(0,o.jsx)(n.p,{children:"We created this cool way of importing attributes and loading components in your blocks or other components. However, that doesn't mean that you can't have instances where you have to load components manually. In that case, you have to provide all the attributes that you want to use manually. The attributes that you didn't provide will not be magically set from the manifest, but you can make your life easier and map it like this."}),"\n",(0,o.jsxs)(n.p,{children:["For example, you have a ",(0,o.jsx)(n.code,{children:"card"})," component that you will use in the ",(0,o.jsx)(n.code,{children:"featured-posts"})," block."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"featured-posts.php"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-php",children:"// Fetch and parse manifest using custom helper.\n$cardManifest = Components::getManifest(dirname(__DIR__, 2) . '/components/card');\n\necho wp_kses_post(\n\tComponents::render(\n\t\t'card',\n\t\t[\n\t\t\t'headingColor' => $cardManifest['attributes']['headingColor']['default'],\n\t\t\t'headingSize' => $cardManifest['attributes']['headingSize']['default'],\n\t\t\t'headingWeight' => $cardManifest['attributes']['headingWeight']['default'],\n\t\t\t'headingContent' => __('Custom content for heading', 'textdomain'),\n\n\t\t\t'paragraphContent' => __('Custom content for paragraph', 'textdomain'),\n\t\t\t'paragraphSize' => $cardManifest['attributes']['paragraphSize']['default'],\n\t\t]\n\t)\n);\n"})}),"\n",(0,o.jsx)(n.h3,{id:"i-want-to-limit-which-options-are-shown-for-components-inside-a-blockcomponent",children:"I want to limit which options are shown for components inside a block/component"}),"\n",(0,o.jsxs)(n.p,{children:["Let's say you have a block that has a ",(0,o.jsx)(n.code,{children:"Heading"})," component inside it."]}),"\n",(0,o.jsxs)(n.p,{children:["The ",(0,o.jsx)(n.code,{children:"Heading"})," has 10 text sizes and 5 colors, but for that block, only 2 colors and 3 text sizes are allowed.\nTo achieve this you must prepare your component to be able to use this feature:"]}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsxs)(n.li,{children:["Your component options must be named the same name as their attribute value. In the example, you can see that the options key for ",(0,o.jsx)(n.code,{children:"typographySize"})," is the same name as in the attributes."]}),"\n"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n "attributes": {\n "typographySize": {\n "type": "string",\n "default": "16-text-roman"\n },\n "typographyColor": {\n "type": "string",\n "default": "black",\n "variable": true,\n "color": true\n },\n },\n "options": {\n "typographySize": [\n {\n "label": "180 Display",\n "value": "180-default"\n },\n {\n "label": "120 Display",\n "value": "120-default"\n },\n {\n "label": "80 Display",\n "value": "80-default"\n },\n {\n "label": "52 Display",\n "value": "52-default"\n },\n {\n "label": "36 Text",\n "value": "36-text"\n }\n ],\n "typographyColor": [\n "black",\n "white",\n "grey100",\n "grey200"\n ]\n }\n}\n'})}),"\n",(0,o.jsxs)(n.ol,{start:"2",children:["\n",(0,o.jsxs)(n.li,{children:["Every option in your component must use ",(0,o.jsx)(n.code,{children:"getOptions"})," helper for the prop that is used to provide options. Details about the helper can be found ",(0,o.jsx)(n.a,{href:"helpers-javascript#getoptions",children:"here"}),"."]}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"SelectControl Example:"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"<SelectControl\n label={\n <>\n <Icon icon={icons.textSize} />\n {__('Text size', 'eightshift-boilerplate')}\n </>\n }\n value={typographySize}\n options={getOptions(manifest, componentName, 'size', options)}\n onChange={(value) => setAttributes({ [`${componentName}Size`]: value })}\n/>\n"})}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"ColorPaletteCustom Example:"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"<ColorPaletteCustom\n label={\n <>\n <Icon icon={icons.color} />\n {__('Color', 'eightshift-boilerplate')}\n </>\n }\n colors={getOptionColors(getOptions(manifest, componentName, 'color', options))}\n value={typographyColor}\n onChange={(value) => setAttributes({ [`${componentName}Color`]: value })}\n/>\n"})}),"\n",(0,o.jsxs)(n.ol,{start:"3",children:["\n",(0,o.jsx)(n.li,{children:"In the component/blocks for which you are going to override the options, you must provide an options prop that is going to override the default one."}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"heading-options.js"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"<HeadingOptions\n options={options}\n // ...\n/>\n"})}),"\n",(0,o.jsxs)(n.ol,{start:"4",children:["\n",(0,o.jsxs)(n.li,{children:["In the component/blocks for which you are going to override options, you must provide the override in the ",(0,o.jsx)(n.code,{children:"manifest.json"})," by following the same naming as in the component."]}),"\n"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n "options": {\n "headingSize": [\n "80-default",\n "52-default"\n ],\n "headingColor": [\n "black",\n "white"\n ]\n }\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"And this is it. You are now able to override the options from the parent block/component."}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsx)(n.p,{children:"Keep in mind that you can only override SelectControl, ColorPaletteCustom, and AlignmentToolbar."}),"\n"]}),"\n",(0,o.jsx)(n.h3,{id:"i-want-to-only-pass-attributes-to-the-component-that-im-going-to-use",children:"I want to only pass attributes to the component that I'm going to use"}),"\n",(0,o.jsx)(n.p,{children:"At one point in time, we agreed on naming standards for all component attributes. That way we made sure that you wouldn't get any collisions when using multiple components. So we said it is ok to spread all attributes to the component and let the component handle what it needs. Well, that approach is ok but it can bite you in the a.. at the point that you least expect."}),"\n",(0,o.jsxs)(n.p,{children:["That is why we created this ",(0,o.jsx)(n.a,{href:"helpers-javascript#props",children:"props helper"}),"."]}),"\n",(0,o.jsxs)(n.p,{children:["As described in ",(0,o.jsx)(n.a,{href:"blocks-component-in-block#i-want-to-limit-which-options-are-shown-for-components-inside-a-blockcomponent",children:"this chapter"})," you must follow the attributes naming convention and use ",(0,o.jsx)(n.code,{children:"components"})," key in the block/component manifest."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Let's set a layout for this example:"})}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["components","\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"heading"}),"\n",(0,o.jsx)(n.li,{children:"typography"}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["custom","\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"heading"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["You have block ",(0,o.jsx)(n.code,{children:"heading"})," that uses component ",(0,o.jsx)(n.code,{children:"heading"})," and that component uses another component called ",(0,o.jsx)(n.code,{children:"typography"}),".\nWe are putting only relevant code in the example:"]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Block Heading manifest.json:"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n "blockName": "heading",\n "components": {\n "heading": "heading"\n },\n}\n'})}),"\n",(0,o.jsxs)(n.p,{children:["In the ",(0,o.jsx)(n.code,{children:"components"})," key, you must provide components that you are going to be using in this block. There are more options in the example at the beginning of this chapter."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Block heading-editor.js:"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"import React from 'react';\nimport { props } from '@eightshift/frontend-libs/scripts/editor';\nimport { HeadingEditor as HeadingEditorComponent } from '../../../components/heading/components/heading-editor';\nimport manifest from './../manifest.json';\n\nexport const HeadingEditor = ({attributes, setAttributes}) => {\n const {\n blockName,\n } = manifest;\n\n const {\n blockClass,\n } = attributes;\n\n return (\n <div className={blockClass}>\n <HeadingEditorComponent\n setAttributes={setAttributes}\n {...props(attributes, blockName, '', true)}\n />\n </div>\n );\n};\n"})}),"\n",(0,o.jsx)(n.p,{children:"In JavaScript, you spread the results of the props helper."}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Block heading.php:"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-php",children:"<?php\n\n/**\n * Template for the Heading Block view.\n *\n * @package Redesign\n */\n\nuse Redesign\\Blocks\\Blocks;\nuse RedesignVendor\\EightshiftLibs\\Helpers\\Components;\n\n$manifest = Components::getManifest(__DIR__);\n$blockName = $attributes['blockName'] ?? $manifest['blockName'];\n\n$blockClass = Components::checkAttr('blockClass', $attributes, $manifest);\n\n?>\n\n<div class=\"<?php echo esc_attr($blockClass); ?>\">\n <?php\n echo Components::render( // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped\n 'heading',\n Blocks::props($attributes, $blockName, '', true)\n );\n ?>\n</div>\n"})}),"\n",(0,o.jsxs)(n.p,{children:["In PHP you just provide the results of the props helper. As you can see in the ",(0,o.jsx)(n.a,{href:"helpers-javascript#props",children:"props helper docs"})," you must provide the fourth parameter to be ",(0,o.jsx)(n.code,{children:"true"})," to distinguish if this is a block or a component."]}),"\n",(0,o.jsxs)(n.p,{children:["Now, let's see how the ",(0,o.jsx)(n.code,{children:"Component heading"})," looks like."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Heading component manifest.json:"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n "componentName": "heading",\n "components": {\n "heading": "typography"\n },\n}\n'})}),"\n",(0,o.jsxs)(n.p,{children:["In the ",(0,o.jsx)(n.code,{children:"heading"})," component we are using the ",(0,o.jsx)(n.code,{children:"typography"})," component but we are not using the default component name. Instead, we are changing the attribute name from ",(0,o.jsx)(n.code,{children:"typography"})," to ",(0,o.jsx)(n.code,{children:"heading"}),"."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Component heading-editor.js:"})}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"The same is for options or toolbar components!"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"import React from 'react';\nimport { props } from '@eightshift/frontend-libs/scripts/editor';\nimport { TypographyEditor } from './../../typography/components/typography-editor';\nimport manifest from './../manifest.json';\n \nexport const HeadingEditor = (attributes) => {\n const {\n setAttributes,\n componentName = manifest.componentName,\n blockClass,\n } = attributes;\n\n return (\n <>\n <TypographyEditor\n selectorClass={componentName}\n blockClass={blockClass}\n setAttributes={setAttributes}\n {...props(attributes, 'typography', componentName)}\n />\n </>\n );\n};\n"})}),"\n",(0,o.jsxs)(n.p,{children:["The difference here is that you don't need to provide the fourth parameter because this is a component. In this example, you are swapping attribute names so we must provide the target component name as a ",(0,o.jsx)(n.code,{children:"second"})," parameter and the current component name as a ",(0,o.jsx)(n.code,{children:"third"})," parameter."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"heading.php part"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-php",children:"<?php\n\nuse Redesign\\Blocks\\Blocks;\nuse RedesignVendor\\EightshiftLibs\\Helpers\\Components;\n\n$manifest = Components::getManifest(__DIR__);\n$componentName = $attributes['componentName'] ?? $manifest['componentName'];\n\n$blockClass = $attributes['blockClass'] ?? '';\n\necho Components::render( // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped\n 'typography',\n array_merge(\n [\n 'selectorClass' => 'heading',\n 'blockClass' => $blockClass,\n ],\n Blocks::props($attributes, 'typography', $componentName)\n )\n);\n"})}),"\n",(0,o.jsx)(n.p,{children:"The PHP part looks similar to the JS block part."}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Typography"})}),"\n",(0,o.jsx)(n.p,{children:"There is nothing special that you need to do in the last component in the tree other than following the attributes naming convention."}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Summing it all up"})}),"\n",(0,o.jsx)(n.p,{children:"Block:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"Components"})," key in the ",(0,o.jsx)(n.code,{children:"manifest.json"})," is used to provide/change the attribute names on the block registration process."]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"Props helper"})," will provide all the attributes used in the block and it will follow the dependency tree to the end so that all the attributes from the children components will also be provided as a result."]}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:"Components:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"Components"})," key in the ",(0,o.jsx)(n.code,{children:"manifest.json"})," is used to determine the dependency tree when passing the attributes from parent to children."]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"Props helper"})," will provide only those attributes that are used in the children's components recursively. The same as props helper in the block."]}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["For more details please read the ",(0,o.jsx)(n.a,{href:"helpers-javascript#props",children:"props helper docs"}),"."]}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsx)(n.p,{children:"You should avoid spreading attributes as props but rather use this helper because it provides only what is used in the component."}),"\n"]})]})}function d(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(h,{...e})}):h(e)}},11151:(e,n,t)=>{t.d(n,{Z:()=>r,a:()=>a});var o=t(67294);const s={},i=o.createContext(s);function a(e){const n=o.useContext(i);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(s):e.components||s:a(e.components),o.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/fce92293.dcc496fa.js b/assets/js/fce92293.dcc496fa.js new file mode 100644 index 000000000..fcea85e8e --- /dev/null +++ b/assets/js/fce92293.dcc496fa.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[99720],{47612:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>a,default:()=>d,frontMatter:()=>i,metadata:()=>r,toc:()=>c});var o=t(17624),s=t(4552);const i={id:"blocks-component-in-block",title:"Component in a Block",sidebar_label:"Component in a Block"},a=void 0,r={id:"legacy/v5/basics/blocks-component-in-block",title:"Component in a Block",description:"docs-source",source:"@site/docs/legacy/v5/basics/blocks-component-in-block.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/blocks-component-in-block",permalink:"/docs/legacy/v5/basics/blocks-component-in-block",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"blocks-component-in-block",title:"Component in a Block",sidebar_label:"Component in a Block"},sidebar:"docs",previous:{title:"Attributes",permalink:"/docs/legacy/v5/basics/blocks-attributes"},next:{title:"Wrapper",permalink:"/docs/legacy/v5/basics/blocks-wrapper"}},l={},c=[{value:"I want to use one heading component in my block.",id:"i-want-to-use-one-heading-component-in-my-block",level:3},{value:"I want to use one heading and paragraph component in my block.",id:"i-want-to-use-one-heading-and-paragraph-component-in-my-block",level:3},{value:"I want two heading components in my block.",id:"i-want-two-heading-components-in-my-block",level:3},{value:"I want to override a default attribute of a component in a block.",id:"i-want-to-override-a-default-attribute-of-a-component-in-a-block",level:3},{value:"I want to use a component that uses more components (componentCeption).",id:"i-want-to-use-a-component-that-uses-more-components-componentception",level:3},{value:"I don't need all the component options in my block.",id:"i-dont-need-all-the-component-options-in-my-block",level:3},{value:"I don't want my editor to be able to change component options in my block.",id:"i-dont-want-my-editor-to-be-able-to-change-component-options-in-my-block",level:3},{value:"How do my example attributes behave when I use components in blocks?",id:"how-do-my-example-attributes-behave-when-i-use-components-in-blocks",level:3},{value:"I have a component name that has multiple strings in a name, will this work?",id:"i-have-a-component-name-that-has-multiple-strings-in-a-name-will-this-work",level:3},{value:"I have a component that I want to use manually",id:"i-have-a-component-that-i-want-to-use-manually",level:3},{value:"I want to limit which options are shown for components inside a block/component",id:"i-want-to-limit-which-options-are-shown-for-components-inside-a-blockcomponent",level:3},{value:"I want to only pass attributes to the component that I'm going to use",id:"i-want-to-only-pass-attributes-to-the-component-that-im-going-to-use",level:3}];function h(e){const n={a:"a",blockquote:"blockquote",code:"code",em:"em",h3:"h3",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/",children:(0,o.jsx)(n.img,{src:"https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,o.jsx)(n.p,{children:"Blocks and components work perfectly together because they are made that way. We simplified this as much as possible but there always a few things you need to do manually."}),"\n",(0,o.jsx)(n.p,{children:"Try to think of your development process in this way:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"Each component must be standalone and ideally not depend on any other components (sometimes this is not possible but keep this to a minimum)."}),"\n",(0,o.jsx)(n.li,{children:"Components must not be aware of the layout they are used in."}),"\n",(0,o.jsxs)(n.li,{children:["No global styles. Instead, all styles should be contained to the block/component. For more details, check ",(0,o.jsx)(n.a,{href:"writing-styles",children:"this link"}),"."]}),"\n",(0,o.jsxs)(n.li,{children:["You should define all heading variations in a ",(0,o.jsx)(n.code,{children:"heading"})," component. You can then use this component everywhere you have a heading instead of writing a new implementation. In practice: don't do ",(0,o.jsx)(n.code,{children:"<h2>$heading</h2>"})," but render the ",(0,o.jsx)(n.code,{children:"heading"})," component instead using the helpers defined in the ",(0,o.jsx)(n.a,{href:"helpers",children:"helpers section"}),". The heading is just an example, but this applies to every component."]}),"\n",(0,o.jsx)(n.li,{children:"You can have multiple heading components in one block."}),"\n"]}),"\n",(0,o.jsx)(n.h3,{id:"i-want-to-use-one-heading-component-in-my-block",children:"I want to use one heading component in my block."}),"\n",(0,o.jsx)(n.p,{children:"If you have a heading component with these attributes:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/components/heading/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"attributes": {\n\t"headingContent": {\n\t\t"type": "string"\n\t},\n\t"headingLevel": {\n\t\t"type": "integer",\n\t\t"default": 2\n\t},\n\t"headingSize": {\n\t\t"type": "string",\n\t\t"default": "default"\n\t},\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"and you want to use the heading component in the Jumbotron block, you can use it by adding a component's key in the Jumbotron block manifest like this:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/custom/jumbotron/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"attributes": {\n\t"content": {\n\t\t"type": "string"\n\t\t"default": "test",\n\t}\n},\n"components": {\n\t"heading": "heading"\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"In your block attributes object, you will now have these keys:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'\n// Attributes from the component.\n"headingContent": "",\n"headingLevel": 2,\n"headingSize": "default",\n\n// Attributes from the block.\n"content": "test",\n'})}),"\n",(0,o.jsx)(n.p,{children:"As you can see in the example, you can merge component attributes in your block attributes. Keep in mind that, in the provided example, the components' attributes will be injected in the block attributes with the same name as defined in the components manifest."}),"\n",(0,o.jsx)(n.h3,{id:"i-want-to-use-one-heading-and-paragraph-component-in-my-block",children:"I want to use one heading and paragraph component in my block."}),"\n",(0,o.jsx)(n.p,{children:"You can do this by following the same principle as before. Here is an example:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/custom/jumbotron/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"attributes": {\n\t"content": {\n\t\t"type": "string"\n\t\t"default": "test",\n\t}\n},\n"components": {\n\t"heading": "heading"\n\t"paragraph": "paragraph"\n}\n'})}),"\n",(0,o.jsx)(n.h3,{id:"i-want-two-heading-components-in-my-block",children:"I want two heading components in my block."}),"\n",(0,o.jsxs)(n.p,{children:["As you already saw in the previous examples, the heading key and value are the same in the components object. The key represents the ",(0,o.jsx)(n.code,{children:"components attributes prefix"}),", and the value represents the ",(0,o.jsx)(n.code,{children:"actual component name"}),"."]}),"\n",(0,o.jsx)(n.p,{children:"If you want to use the heading component in your block, follow this example:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/custom/jumbotron/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"attributes": {\n\t"content": {\n\t\t"type": "string"\n\t\t"default": "test",\n\t}\n},\n"components": {\n\t"heading": "heading"\n\t"intro": "heading"\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"In your block attributes object, you will now have these keys:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'\n// Attributes from the first component.\n"headingContent": "",\n"headingLevel": 2,\n"headingSize": "default",\n\n// Attributes from the second component.\n"introContent": "",\n"introLevel": 2,\n"introSize": "default",\n\n// Attributes from the block.\n"content": "test",\n'})}),"\n",(0,o.jsx)(n.h3,{id:"i-want-to-override-a-default-attribute-of-a-component-in-a-block",children:"I want to override a default attribute of a component in a block."}),"\n",(0,o.jsx)(n.p,{children:"We build all our attributes by merging attributes objects in this order:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"global attributes (global settings);"}),"\n",(0,o.jsx)(n.li,{children:"wrapper attributes;"}),"\n",(0,o.jsx)(n.li,{children:"component attributes; and"}),"\n",(0,o.jsx)(n.li,{children:"block attributes."}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:"By following the basic principle of merging objects, if you have two keys with the same name, the last one will always override the previous. Now that you know how attributes are built, you can follow this example for your answer."}),"\n",(0,o.jsx)(n.p,{children:"If you have a heading component with these attributes:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/components/heading/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"attributes": {\n\t"headingContent": {\n\t\t"type": "string"\n\t},\n\t"headingLevel": {\n\t\t"type": "integer",\n\t\t"default": 2\n\t},\n\t"headingSize": {\n\t\t"type": "string",\n\t\t"default": "default"\n\t},\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"and you want to override one or multiple default attributes from the heading component."}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/custom/jumbotron/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"attributes": {\n\t"content": {\n\t\t"type": "string"\n\t\t"default": "test",\n\t},\n\t"headingSize": {\n\t\t"type": "string",\n\t\t"default": "small"\n\t}\n},\n"components": {\n\t"heading": "heading"\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"In your block attributes object, you will now have these keys:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'\n// Attributes from the component.\n"headingContent": "",\n"headingLevel": 2,\n"headingSize": "small", // changed in the block attributes.\n\n// Attributes from the block.\n"content": "test",\n'})}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsxs)(n.p,{children:["Keep in mind that we handle the attributes data necessary to have multiple components in one block but you must provide the correct props inside your files to mock the custom attribute names. The best way to see how this is done is to check the ",(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/Blocks/custom/card",children:"card block"}),"."]}),"\n"]}),"\n",(0,o.jsx)(n.h3,{id:"i-want-to-use-a-component-that-uses-more-components-componentception",children:"I want to use a component that uses more components (componentCeption)."}),"\n",(0,o.jsx)(n.p,{children:"For example, if you have a block called cards grid that uses a card component, that card component uses a heading component."}),"\n",(0,o.jsx)(n.p,{children:"If you have a heading component with these attributes:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/components/heading/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"attributes": {\n\t"headingContent": {\n\t\t"type": "string"\n\t},\n\t"headingLevel": {\n\t\t"type": "integer",\n\t\t"default": 2\n\t},\n\t"headingSize": {\n\t\t"type": "string",\n\t\t"default": "default"\n\t},\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"and you have a card component:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/components/card/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"attributes": {\n\t"superCard": {\n\t\t"type": "boolean"\n\t\t"default": true,\n\t},\n},\n"components": {\n\t"heading": "heading"\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"and you have a cards grid block:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Blocks/custom/cards-grid/manifest.json"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"attributes": {\n\t"content": {\n\t\t"type": "string"\n\t\t"default": "test",\n\t},\n},\n"components": {\n\t"card": "card"\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"in your block attributes object, you will now have these keys:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'\n// Attributes from the heading component.\n"headingContent": "",\n"headingLevel": 2,\n"headingSize": "default",\n\n// Attributes from the card component.\n"superCard": true,\n\n// Attributes from the block.\n"content": "test",\n'})}),"\n",(0,o.jsx)(n.p,{children:"As you can see in the example, you have all the attributes from the card and heading component inside your card's grid block."}),"\n",(0,o.jsx)(n.h3,{id:"i-dont-need-all-the-component-options-in-my-block",children:"I don't need all the component options in my block."}),"\n",(0,o.jsxs)(n.p,{children:["All our components come with a few common attributes that we recommend you also implement in your components. One of those attributes is ",(0,o.jsx)(n.code,{children:"buttonUse"}),"."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"buttonUse": true,\n'})}),"\n",(0,o.jsxs)(n.p,{children:["This attribute is available in all three components (editor, toolbar, options). If set to ",(0,o.jsx)(n.strong,{children:"false"}),", it will remove this component from the DOM. This is useful if you want to hide all markup from the DOM."]}),"\n",(0,o.jsx)(n.p,{children:"For example, you have a Jumbotron block and a heading that you want to populate if necessary. If you add content to the heading, everything looks good. But if you don't add it, you'll still see a placeholder for that heading in the block editor. That affects how you perceive it, and a user may think this block will look like that on the front end (with the placeholder text). So if you have a component that you will not populate on some block, switch the toggle to false, and you will hide it from the DOM. This is useful for content editors."}),"\n",(0,o.jsx)(n.h3,{id:"i-dont-want-my-editor-to-be-able-to-change-component-options-in-my-block",children:"I don't want my editor to be able to change component options in my block."}),"\n",(0,o.jsxs)(n.p,{children:["Another attribute that you can use is ",(0,o.jsx)(n.code,{children:"buttonShowControls"}),"."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"buttonShowControls": true,\n'})}),"\n",(0,o.jsx)(n.p,{children:"This attribute is available in the options component only. You can't set it up via block editor, only from code. You would use it if you wanted to use a heading component and set all the defaults, without your content editor changing how the heading looks. It can add the heading content from the editor section without changing any of the options. You can set this option in the manifest or pass it manually via props."}),"\n",(0,o.jsx)(n.h3,{id:"how-do-my-example-attributes-behave-when-i-use-components-in-blocks",children:"How do my example attributes behave when I use components in blocks?"}),"\n",(0,o.jsx)(n.p,{children:"Exactly the same way as attributes."}),"\n",(0,o.jsx)(n.h3,{id:"i-have-a-component-name-that-has-multiple-strings-in-a-name-will-this-work",children:"I have a component name that has multiple strings in a name, will this work?"}),"\n",(0,o.jsxs)(n.p,{children:["By multiple strings in a name we mean that component name has multiple words, for example, ",(0,o.jsx)(n.code,{children:"jumbotron-cta"}),". The problem here is that we define components with dash and attributes with camelcase. That's why you have to fix this. We have provided you with a helper. The helper makes camelcase on all your component-name strings."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Example:"})}),"\n",(0,o.jsxs)(n.p,{children:["You have a component named ",(0,o.jsx)(n.code,{children:"jumbotron-cta"})," and you want to use it in your block. As described on this page, you will create a ",(0,o.jsx)(n.code,{children:"components"})," key in your ",(0,o.jsx)(n.code,{children:"manifest.json"})," and use ",(0,o.jsx)(n.code,{children:"jumbotron-cta"}),"."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n\t"components": {\n\t\t"jumbotron-cta": "jumbotron-cta"\n\t}\n}\n'})}),"\n",(0,o.jsxs)(n.p,{children:["But in all places in your component where you use ",(0,o.jsx)(n.code,{children:"setAttributes"})," you must use ",(0,o.jsx)(n.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/scripts/helpers/camelize.js",children:"camelize helper"})]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"\nimport { camelize } from '@eightshift/frontend-libs/scripts/helpers';\n\n<ToggleControl\n\t label={'Custom Label'}\n\t onChange={(value) => setAttributes({ [`${camelize(componentName)}Use`]: value })}\n/>\n"})}),"\n",(0,o.jsx)(n.h3,{id:"i-have-a-component-that-i-want-to-use-manually",children:"I have a component that I want to use manually"}),"\n",(0,o.jsx)(n.p,{children:"We created this cool way of importing attributes and loading components in your blocks or other components. However, that doesn't mean that you can't have instances where you have to load components manually. In that case, you have to provide all the attributes that you want to use manually. The attributes that you didn't provide will not be magically set from the manifest, but you can make your life easier and map it like this."}),"\n",(0,o.jsxs)(n.p,{children:["For example, you have a ",(0,o.jsx)(n.code,{children:"card"})," component that you will use in the ",(0,o.jsx)(n.code,{children:"featured-posts"})," block."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"featured-posts.php"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-php",children:"// Fetch and parse manifest using custom helper.\n$cardManifest = Components::getManifest(dirname(__DIR__, 2) . '/components/card');\n\necho wp_kses_post(\n\tComponents::render(\n\t\t'card',\n\t\t[\n\t\t\t'headingColor' => $cardManifest['attributes']['headingColor']['default'],\n\t\t\t'headingSize' => $cardManifest['attributes']['headingSize']['default'],\n\t\t\t'headingWeight' => $cardManifest['attributes']['headingWeight']['default'],\n\t\t\t'headingContent' => __('Custom content for heading', 'textdomain'),\n\n\t\t\t'paragraphContent' => __('Custom content for paragraph', 'textdomain'),\n\t\t\t'paragraphSize' => $cardManifest['attributes']['paragraphSize']['default'],\n\t\t]\n\t)\n);\n"})}),"\n",(0,o.jsx)(n.h3,{id:"i-want-to-limit-which-options-are-shown-for-components-inside-a-blockcomponent",children:"I want to limit which options are shown for components inside a block/component"}),"\n",(0,o.jsxs)(n.p,{children:["Let's say you have a block that has a ",(0,o.jsx)(n.code,{children:"Heading"})," component inside it."]}),"\n",(0,o.jsxs)(n.p,{children:["The ",(0,o.jsx)(n.code,{children:"Heading"})," has 10 text sizes and 5 colors, but for that block, only 2 colors and 3 text sizes are allowed.\nTo achieve this you must prepare your component to be able to use this feature:"]}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsxs)(n.li,{children:["Your component options must be named the same name as their attribute value. In the example, you can see that the options key for ",(0,o.jsx)(n.code,{children:"typographySize"})," is the same name as in the attributes."]}),"\n"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n "attributes": {\n "typographySize": {\n "type": "string",\n "default": "16-text-roman"\n },\n "typographyColor": {\n "type": "string",\n "default": "black",\n "variable": true,\n "color": true\n },\n },\n "options": {\n "typographySize": [\n {\n "label": "180 Display",\n "value": "180-default"\n },\n {\n "label": "120 Display",\n "value": "120-default"\n },\n {\n "label": "80 Display",\n "value": "80-default"\n },\n {\n "label": "52 Display",\n "value": "52-default"\n },\n {\n "label": "36 Text",\n "value": "36-text"\n }\n ],\n "typographyColor": [\n "black",\n "white",\n "grey100",\n "grey200"\n ]\n }\n}\n'})}),"\n",(0,o.jsxs)(n.ol,{start:"2",children:["\n",(0,o.jsxs)(n.li,{children:["Every option in your component must use ",(0,o.jsx)(n.code,{children:"getOptions"})," helper for the prop that is used to provide options. Details about the helper can be found ",(0,o.jsx)(n.a,{href:"helpers-javascript#getoptions",children:"here"}),"."]}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"SelectControl Example:"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"<SelectControl\n label={\n <>\n <Icon icon={icons.textSize} />\n {__('Text size', 'eightshift-boilerplate')}\n </>\n }\n value={typographySize}\n options={getOptions(manifest, componentName, 'size', options)}\n onChange={(value) => setAttributes({ [`${componentName}Size`]: value })}\n/>\n"})}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"ColorPaletteCustom Example:"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"<ColorPaletteCustom\n label={\n <>\n <Icon icon={icons.color} />\n {__('Color', 'eightshift-boilerplate')}\n </>\n }\n colors={getOptionColors(getOptions(manifest, componentName, 'color', options))}\n value={typographyColor}\n onChange={(value) => setAttributes({ [`${componentName}Color`]: value })}\n/>\n"})}),"\n",(0,o.jsxs)(n.ol,{start:"3",children:["\n",(0,o.jsx)(n.li,{children:"In the component/blocks for which you are going to override the options, you must provide an options prop that is going to override the default one."}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"heading-options.js"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"<HeadingOptions\n options={options}\n // ...\n/>\n"})}),"\n",(0,o.jsxs)(n.ol,{start:"4",children:["\n",(0,o.jsxs)(n.li,{children:["In the component/blocks for which you are going to override options, you must provide the override in the ",(0,o.jsx)(n.code,{children:"manifest.json"})," by following the same naming as in the component."]}),"\n"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n "options": {\n "headingSize": [\n "80-default",\n "52-default"\n ],\n "headingColor": [\n "black",\n "white"\n ]\n }\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"And this is it. You are now able to override the options from the parent block/component."}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsx)(n.p,{children:"Keep in mind that you can only override SelectControl, ColorPaletteCustom, and AlignmentToolbar."}),"\n"]}),"\n",(0,o.jsx)(n.h3,{id:"i-want-to-only-pass-attributes-to-the-component-that-im-going-to-use",children:"I want to only pass attributes to the component that I'm going to use"}),"\n",(0,o.jsx)(n.p,{children:"At one point in time, we agreed on naming standards for all component attributes. That way we made sure that you wouldn't get any collisions when using multiple components. So we said it is ok to spread all attributes to the component and let the component handle what it needs. Well, that approach is ok but it can bite you in the a.. at the point that you least expect."}),"\n",(0,o.jsxs)(n.p,{children:["That is why we created this ",(0,o.jsx)(n.a,{href:"helpers-javascript#props",children:"props helper"}),"."]}),"\n",(0,o.jsxs)(n.p,{children:["As described in ",(0,o.jsx)(n.a,{href:"blocks-component-in-block#i-want-to-limit-which-options-are-shown-for-components-inside-a-blockcomponent",children:"this chapter"})," you must follow the attributes naming convention and use ",(0,o.jsx)(n.code,{children:"components"})," key in the block/component manifest."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Let's set a layout for this example:"})}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["components","\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"heading"}),"\n",(0,o.jsx)(n.li,{children:"typography"}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["custom","\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"heading"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["You have block ",(0,o.jsx)(n.code,{children:"heading"})," that uses component ",(0,o.jsx)(n.code,{children:"heading"})," and that component uses another component called ",(0,o.jsx)(n.code,{children:"typography"}),".\nWe are putting only relevant code in the example:"]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Block Heading manifest.json:"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n "blockName": "heading",\n "components": {\n "heading": "heading"\n },\n}\n'})}),"\n",(0,o.jsxs)(n.p,{children:["In the ",(0,o.jsx)(n.code,{children:"components"})," key, you must provide components that you are going to be using in this block. There are more options in the example at the beginning of this chapter."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Block heading-editor.js:"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"import React from 'react';\nimport { props } from '@eightshift/frontend-libs/scripts/editor';\nimport { HeadingEditor as HeadingEditorComponent } from '../../../components/heading/components/heading-editor';\nimport manifest from './../manifest.json';\n\nexport const HeadingEditor = ({attributes, setAttributes}) => {\n const {\n blockName,\n } = manifest;\n\n const {\n blockClass,\n } = attributes;\n\n return (\n <div className={blockClass}>\n <HeadingEditorComponent\n setAttributes={setAttributes}\n {...props(attributes, blockName, '', true)}\n />\n </div>\n );\n};\n"})}),"\n",(0,o.jsx)(n.p,{children:"In JavaScript, you spread the results of the props helper."}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Block heading.php:"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-php",children:"<?php\n\n/**\n * Template for the Heading Block view.\n *\n * @package Redesign\n */\n\nuse Redesign\\Blocks\\Blocks;\nuse RedesignVendor\\EightshiftLibs\\Helpers\\Components;\n\n$manifest = Components::getManifest(__DIR__);\n$blockName = $attributes['blockName'] ?? $manifest['blockName'];\n\n$blockClass = Components::checkAttr('blockClass', $attributes, $manifest);\n\n?>\n\n<div class=\"<?php echo esc_attr($blockClass); ?>\">\n <?php\n echo Components::render( // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped\n 'heading',\n Blocks::props($attributes, $blockName, '', true)\n );\n ?>\n</div>\n"})}),"\n",(0,o.jsxs)(n.p,{children:["In PHP you just provide the results of the props helper. As you can see in the ",(0,o.jsx)(n.a,{href:"helpers-javascript#props",children:"props helper docs"})," you must provide the fourth parameter to be ",(0,o.jsx)(n.code,{children:"true"})," to distinguish if this is a block or a component."]}),"\n",(0,o.jsxs)(n.p,{children:["Now, let's see how the ",(0,o.jsx)(n.code,{children:"Component heading"})," looks like."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Heading component manifest.json:"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n "componentName": "heading",\n "components": {\n "heading": "typography"\n },\n}\n'})}),"\n",(0,o.jsxs)(n.p,{children:["In the ",(0,o.jsx)(n.code,{children:"heading"})," component we are using the ",(0,o.jsx)(n.code,{children:"typography"})," component but we are not using the default component name. Instead, we are changing the attribute name from ",(0,o.jsx)(n.code,{children:"typography"})," to ",(0,o.jsx)(n.code,{children:"heading"}),"."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Component heading-editor.js:"})}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"The same is for options or toolbar components!"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"import React from 'react';\nimport { props } from '@eightshift/frontend-libs/scripts/editor';\nimport { TypographyEditor } from './../../typography/components/typography-editor';\nimport manifest from './../manifest.json';\n \nexport const HeadingEditor = (attributes) => {\n const {\n setAttributes,\n componentName = manifest.componentName,\n blockClass,\n } = attributes;\n\n return (\n <>\n <TypographyEditor\n selectorClass={componentName}\n blockClass={blockClass}\n setAttributes={setAttributes}\n {...props(attributes, 'typography', componentName)}\n />\n </>\n );\n};\n"})}),"\n",(0,o.jsxs)(n.p,{children:["The difference here is that you don't need to provide the fourth parameter because this is a component. In this example, you are swapping attribute names so we must provide the target component name as a ",(0,o.jsx)(n.code,{children:"second"})," parameter and the current component name as a ",(0,o.jsx)(n.code,{children:"third"})," parameter."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"heading.php part"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-php",children:"<?php\n\nuse Redesign\\Blocks\\Blocks;\nuse RedesignVendor\\EightshiftLibs\\Helpers\\Components;\n\n$manifest = Components::getManifest(__DIR__);\n$componentName = $attributes['componentName'] ?? $manifest['componentName'];\n\n$blockClass = $attributes['blockClass'] ?? '';\n\necho Components::render( // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped\n 'typography',\n array_merge(\n [\n 'selectorClass' => 'heading',\n 'blockClass' => $blockClass,\n ],\n Blocks::props($attributes, 'typography', $componentName)\n )\n);\n"})}),"\n",(0,o.jsx)(n.p,{children:"The PHP part looks similar to the JS block part."}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Typography"})}),"\n",(0,o.jsx)(n.p,{children:"There is nothing special that you need to do in the last component in the tree other than following the attributes naming convention."}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Summing it all up"})}),"\n",(0,o.jsx)(n.p,{children:"Block:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"Components"})," key in the ",(0,o.jsx)(n.code,{children:"manifest.json"})," is used to provide/change the attribute names on the block registration process."]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"Props helper"})," will provide all the attributes used in the block and it will follow the dependency tree to the end so that all the attributes from the children components will also be provided as a result."]}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:"Components:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"Components"})," key in the ",(0,o.jsx)(n.code,{children:"manifest.json"})," is used to determine the dependency tree when passing the attributes from parent to children."]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"Props helper"})," will provide only those attributes that are used in the children's components recursively. The same as props helper in the block."]}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["For more details please read the ",(0,o.jsx)(n.a,{href:"helpers-javascript#props",children:"props helper docs"}),"."]}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsx)(n.p,{children:"You should avoid spreading attributes as props but rather use this helper because it provides only what is used in the component."}),"\n"]})]})}function d(e={}){const{wrapper:n}={...(0,s.M)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(h,{...e})}):h(e)}},4552:(e,n,t)=>{t.d(n,{I:()=>r,M:()=>a});var o=t(11504);const s={},i=o.createContext(s);function a(e){const n=o.useContext(i);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(s):e.components||s:a(e.components),o.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/fd21cc65.79afb707.js b/assets/js/fd21cc65.79afb707.js deleted file mode 100644 index 337c771ac..000000000 --- a/assets/js/fd21cc65.79afb707.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[51538],{41680:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>l,contentTitle:()=>n,default:()=>p,frontMatter:()=>r,metadata:()=>c,toc:()=>i});var a=t(85893),o=t(11151);const r={id:"example-class",title:"Example Class",sidebar_label:"Example Class"},n=void 0,c={id:"legacy/v5/basics/example-class",title:"Example Class",description:"docs-source",source:"@site/docs/legacy/v5/basics/example-class.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/example-class",permalink:"/docs/legacy/v5/basics/example-class",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"example-class",title:"Example Class",sidebar_label:"Example Class"},sidebar:"docs",previous:{title:"Autowiring",permalink:"/docs/legacy/v5/basics/autowiring"},next:{title:"The Structure",permalink:"/docs/legacy/v5/basics/the-structure"}},l={},i=[];function d(e){const s={a:"a",code:"code",img:"img",p:"p",...(0,o.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(s.p,{children:(0,a.jsx)(s.a,{href:"https://github.com/infinum/eightshift-libs/tree/3.0.0/",children:(0,a.jsx)(s.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,a.jsxs)(s.p,{children:["As you've already seen in the ",(0,a.jsx)(s.a,{href:"wp-cli",children:"WP-CLI"})," chapter, we have many finished features prepared for you. However, we want to make things even easier for you, so we created an example class for you to use."]}),"\n",(0,a.jsx)(s.p,{children:"If you want to add a new class to your project but don't want to write all the boilerplate around it, just use the WP-CLI command:"}),"\n",(0,a.jsx)(s.p,{children:(0,a.jsx)(s.code,{children:"create_service_example"})}),"\n",(0,a.jsxs)(s.p,{children:["The output will ask you to input the correct folder path relative to the ",(0,a.jsx)(s.code,{children:"src"})," folder and specify the class name.\nEverything else will be done for you, setting the namespace, package, vendor prefixes, class and folder name, and you will be set to write your class."]}),"\n",(0,a.jsx)(s.p,{children:"After that, add your WordPress hooks to the register method, provide its callback, and let the magic happen."})]})}function p(e={}){const{wrapper:s}={...(0,o.a)(),...e.components};return s?(0,a.jsx)(s,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},11151:(e,s,t)=>{t.d(s,{Z:()=>c,a:()=>n});var a=t(67294);const o={},r=a.createContext(o);function n(e){const s=a.useContext(r);return a.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:n(e.components),a.createElement(r.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/fd21cc65.faa2fb7d.js b/assets/js/fd21cc65.faa2fb7d.js new file mode 100644 index 000000000..97ff6c8c9 --- /dev/null +++ b/assets/js/fd21cc65.faa2fb7d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[74420],{24756:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>l,contentTitle:()=>n,default:()=>p,frontMatter:()=>r,metadata:()=>c,toc:()=>i});var a=t(17624),o=t(4552);const r={id:"example-class",title:"Example Class",sidebar_label:"Example Class"},n=void 0,c={id:"legacy/v5/basics/example-class",title:"Example Class",description:"docs-source",source:"@site/docs/legacy/v5/basics/example-class.md",sourceDirName:"legacy/v5/basics",slug:"/legacy/v5/basics/example-class",permalink:"/docs/legacy/v5/basics/example-class",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"example-class",title:"Example Class",sidebar_label:"Example Class"},sidebar:"docs",previous:{title:"Autowiring",permalink:"/docs/legacy/v5/basics/autowiring"},next:{title:"The Structure",permalink:"/docs/legacy/v5/basics/the-structure"}},l={},i=[];function d(e){const s={a:"a",code:"code",img:"img",p:"p",...(0,o.M)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(s.p,{children:(0,a.jsx)(s.a,{href:"https://github.com/infinum/eightshift-libs/tree/3.0.0/",children:(0,a.jsx)(s.img,{src:"https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,a.jsxs)(s.p,{children:["As you've already seen in the ",(0,a.jsx)(s.a,{href:"wp-cli",children:"WP-CLI"})," chapter, we have many finished features prepared for you. However, we want to make things even easier for you, so we created an example class for you to use."]}),"\n",(0,a.jsx)(s.p,{children:"If you want to add a new class to your project but don't want to write all the boilerplate around it, just use the WP-CLI command:"}),"\n",(0,a.jsx)(s.p,{children:(0,a.jsx)(s.code,{children:"create_service_example"})}),"\n",(0,a.jsxs)(s.p,{children:["The output will ask you to input the correct folder path relative to the ",(0,a.jsx)(s.code,{children:"src"})," folder and specify the class name.\nEverything else will be done for you, setting the namespace, package, vendor prefixes, class and folder name, and you will be set to write your class."]}),"\n",(0,a.jsx)(s.p,{children:"After that, add your WordPress hooks to the register method, provide its callback, and let the magic happen."})]})}function p(e={}){const{wrapper:s}={...(0,o.M)(),...e.components};return s?(0,a.jsx)(s,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},4552:(e,s,t)=>{t.d(s,{I:()=>c,M:()=>n});var a=t(11504);const o={},r=a.createContext(o);function n(e){const s=a.useContext(r);return a.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:n(e.components),a.createElement(r.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/fd4ea388.0063c707.js b/assets/js/fd4ea388.0063c707.js new file mode 100644 index 000000000..c6e16d8d6 --- /dev/null +++ b/assets/js/fd4ea388.0063c707.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[32700],{75772:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>a,contentTitle:()=>o,default:()=>d,frontMatter:()=>n,metadata:()=>c,toc:()=>h});var i=s(17624),r=s(4552);const n={id:"versions",title:"Versions"},o=void 0,c={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.",source:"@site/docs/legacy/v5/versions.md",sourceDirName:"legacy/v5",slug:"/legacy/v5/versions",permalink:"/docs/legacy/v5/versions",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"versions",title:"Versions"},sidebar:"docs",previous:{title:"Tips & Tricks",permalink:"/docs/legacy/v6/basics/tips-tricks"},next:{title:"Basics",permalink:"/docs/legacy/v5/basics/basics-intro"}},a={},h=[];function l(e){const t={a:"a",img:"img",p:"p",...(0,r.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"Now that you understand what makes Eightshift tick, here is a quick reminder about what library versions this documentation refers to."}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-boilerplate/tree/5.0.0",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/version--5.0.0-eigthshift--boilerplate-red?style=for-the-badge&logo=",alt:"docs-source"})})}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-boilerplate/tree/5.0.0",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/version--5.0.0-eigthshift--boilerplate--plugin-important?style=for-the-badge&logo=",alt:"docs-source"})})}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/3.0.0",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/version--3.0.0-eigthshift--libs-blue?style=for-the-badge&logo=",alt:"docs-source"})})}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/version--4.0.0-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=",alt:"docs-source"})})})]})}function d(e={}){const{wrapper:t}={...(0,r.M)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},4552:(e,t,s)=>{s.d(t,{I:()=>c,M:()=>o});var i=s(11504);const r={},n=i.createContext(r);function o(e){const t=i.useContext(n);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),i.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/fd4ea388.91819333.js b/assets/js/fd4ea388.91819333.js deleted file mode 100644 index 8b30bc055..000000000 --- a/assets/js/fd4ea388.91819333.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[38703],{79221:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>a,contentTitle:()=>o,default:()=>d,frontMatter:()=>n,metadata:()=>c,toc:()=>h});var i=s(85893),r=s(11151);const n={id:"versions",title:"Versions"},o=void 0,c={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.",source:"@site/docs/legacy/v5/versions.md",sourceDirName:"legacy/v5",slug:"/legacy/v5/versions",permalink:"/docs/legacy/v5/versions",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"versions",title:"Versions"},sidebar:"docs",previous:{title:"Tips & Tricks",permalink:"/docs/legacy/v6/basics/tips-tricks"},next:{title:"Basics",permalink:"/docs/legacy/v5/basics/basics-intro"}},a={},h=[];function l(e){const t={a:"a",img:"img",p:"p",...(0,r.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"Now that you understand what makes Eightshift tick, here is a quick reminder about what library versions this documentation refers to."}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-boilerplate/tree/5.0.0",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/version--5.0.0-eigthshift--boilerplate-red?style=for-the-badge&logo=",alt:"docs-source"})})}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-boilerplate/tree/5.0.0",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/version--5.0.0-eigthshift--boilerplate--plugin-important?style=for-the-badge&logo=",alt:"docs-source"})})}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/tree/3.0.0",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/version--3.0.0-eigthshift--libs-blue?style=for-the-badge&logo=",alt:"docs-source"})})}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/version--4.0.0-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=",alt:"docs-source"})})})]})}function d(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},11151:(e,t,s)=>{s.d(t,{Z:()=>c,a:()=>o});var i=s(67294);const r={},n=i.createContext(r);function o(e){const t=i.useContext(n);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),i.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/fd6d4018.7d6048a5.js b/assets/js/fd6d4018.7d6048a5.js deleted file mode 100644 index b665fb0a8..000000000 --- a/assets/js/fd6d4018.7d6048a5.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[93464],{91e3:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>i,metadata:()=>r,toc:()=>c});var o=t(85893),s=t(11151);const i={id:"tips-tricks",title:"Tips & Tricks"},a=void 0,r={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.",source:"@site/docs/legacy/v8/basics/tips-tricks.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/tips-tricks",permalink:"/docs/legacy/v8/basics/tips-tricks",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"tips-tricks",title:"Tips & Tricks"},sidebar:"docs",previous:{title:"PHP",permalink:"/docs/legacy/v8/basics/helpers-php"},next:{title:"Versions",permalink:"/docs/legacy/v7/versions"}},l={},c=[{value:"Always disable cache when you are writing block editor components",id:"always-disable-cache-when-you-are-writing-block-editor-components",level:3},{value:"When to restart your Webpack watch?",id:"when-to-restart-your-webpack-watch",level:3},{value:"Using boilerplate and boilerplate-plugin in the same project",id:"using-boilerplate-and-boilerplate-plugin-in-the-same-project",level:3},{value:"Internationalization (I18n) and localization (L10n)",id:"internationalization-i18n-and-localization-l10n",level:3}];function d(e){const n={a:"a",code:"code",em:"em",h3:"h3",li:"li",p:"p",pre:"pre",ul:"ul",...(0,s.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:"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."}),"\n",(0,o.jsx)(n.h3,{id:"always-disable-cache-when-you-are-writing-block-editor-components",children:"Always disable cache when you are writing block editor components"}),"\n",(0,o.jsx)(n.p,{children:"When you are writing a JavaScript part of the block you should always have your browser inspector open and checkbox checked for disabling browser cache in the network tab. WordPress core is caching JS files and you may not always get the latest changes of your code in the editor. This way you can be sure that everything is up to date."}),"\n",(0,o.jsx)(n.h3,{id:"when-to-restart-your-webpack-watch",children:"When to restart your Webpack watch?"}),"\n",(0,o.jsx)(n.p,{children:"As we described in the previous chapters Webpack watch is used to monitor all your code changes and update the compiled files with your latest changes. We have set our folder structure in a way so we can have files automatically included in the build. However, there are some times you must restart your Webpack watch:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"Adding a new block/component."}),"\n",(0,o.jsx)(n.li,{children:"Changing the block/component folder name."}),"\n",(0,o.jsx)(n.li,{children:"Changing any of the file names in the block/component folder."}),"\n",(0,o.jsx)(n.li,{children:"Adding/removing a JS package to the project."}),"\n",(0,o.jsx)(n.li,{children:"Changing the webpack, babel, eslint, stylelint configuration."}),"\n",(0,o.jsx)(n.li,{children:"Changing the project domain name for Browser sync."}),"\n",(0,o.jsx)(n.li,{children:"Adding/removing a new JS or SCSS file in the global assets folder."}),"\n"]}),"\n",(0,o.jsx)(n.h3,{id:"using-boilerplate-and-boilerplate-plugin-in-the-same-project",children:"Using boilerplate and boilerplate-plugin in the same project"}),"\n",(0,o.jsx)(n.p,{children:"When you are using one boilerplate for a theme and another for a plugin keep in mind that you will have to do some changes. We would recommend leaving the theme as is and making changes to the plugin. Here are some of the changes you should make:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["If using manifest, you should update the ",(0,o.jsx)(n.code,{children:"MANIFEST_ITEM"})," filter name to something else."]}),"\n",(0,o.jsx)(n.li,{children:"If using blocks, change the default category of all your plugin blocks."}),"\n",(0,o.jsxs)(n.li,{children:["If using blocks, update all blocks to a new category in each block ",(0,o.jsx)(n.code,{children:"manifest.json"})," file."]}),"\n",(0,o.jsxs)(n.li,{children:["If using blocks, update the block namespace in the global block ",(0,o.jsx)(n.code,{children:"manifest.json"})," file."]}),"\n",(0,o.jsx)(n.li,{children:"If using blocks, change the blocks' background and foreground color (Not necessary but it would be a good UX)."}),"\n",(0,o.jsx)(n.li,{children:"If using blocks, make your own implementation of the Components::render method so you don't need to pass project location on every usage (example below)."}),"\n",(0,o.jsxs)(n.li,{children:["Update the default project imposter namespace in the ",(0,o.jsx)(n.code,{children:"composer.json"})," file and run ",(0,o.jsx)(n.code,{children:"composer install"}),"."]}),"\n",(0,o.jsx)(n.li,{children:"Update all files with the new vendor namespace prefix."}),"\n",(0,o.jsx)(n.li,{children:"Update the default WP-CLI command prefix for your plugin located in the root of your plugin."}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Helpers/Components.php"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-php",children:"/**\n * Helpers for components\n *\n * @package PluginNamespace\\Helpers\n */\n\ndeclare(strict_types=1);\n\nnamespace PluginNamespace\\Helpers;\n\nuse PluginNamespace\\Config\\Config;\nuse EightshiftLibs\\Helpers\\Components as LibsComponents;\n\n/**\n * Helpers for components\n */\nclass Components extends LibsComponents\n{\n\t/**\n\t * Local render method.\n\t */\n\tpublic static function render(string $component, array $attributes = [], string $parentPath = '', bool $useComponentDefaults = false): string\n\t{\n\t\t$parentPath = Config::getProjectPath();\n\n\t\treturn parent::render($component, $attributes, $parentPath, $useComponentDefaults);\n\t}\n}\n"})}),"\n",(0,o.jsx)(n.h3,{id:"internationalization-i18n-and-localization-l10n",children:"Internationalization (I18n) and localization (L10n)"}),"\n",(0,o.jsxs)(n.p,{children:["To make sure your project is translatable into other languages, you should use ",(0,o.jsx)(n.a,{href:"https://codex.wordpress.org/I18n_for_WordPress_Developers",children:"WordPress's i18n functions"})," every time you output text. This process, called internationalization, is quite simple to implement by using the ",(0,o.jsx)(n.code,{children:"__"})," WordPress function, which is available in both PHP and Gutenberg (in the ",(0,o.jsx)(n.code,{children:"@wordpress/i18n"})," package) and is standard practice in Eightshift Frontend Libs for all text output."]}),"\n",(0,o.jsxs)(n.p,{children:["The ",(0,o.jsx)(n.code,{children:"__"})," function accepts a string to translate and a text-domain, which is used to tell WordPress which translation set to use, and returns the translated string (or original string, in case a translation doesn't exist). Note that you can provide a ",(0,o.jsx)(n.code,{children:"sprintf"}),"-parametrized string to ",(0,o.jsx)(n.code,{children:"__"})," and use ",(0,o.jsx)(n.code,{children:"sprintf"})," on its return value to populate the string with certain values. You should also load the text-domain using ",(0,o.jsx)(n.code,{children:"load_theme_textdomain"}),". Using the Eightshift Libs ",(0,o.jsx)(n.code,{children:"I18n"})," class will do this for you by instructing WordPress to look for translations in ",(0,o.jsx)(n.code,{children:"src/I18n/languages"})," with the text-domain defined as your project name."]}),"\n",(0,o.jsxs)(n.p,{children:["However, there will come a time when ",(0,o.jsx)(n.em,{children:"being able"})," to translate won't be enough. You'll actually need to ",(0,o.jsx)(n.em,{children:"do"})," that. This happens in a process called localization and is a bit less trivial to do."]}),"\n",(0,o.jsxs)(n.p,{children:["First, you'll need to prepare the strings for translators. As WordPress i18n is based upon the ",(0,o.jsx)(n.code,{children:"gettext"}),' system, you should generate a POT ("portable object template") file which you can do by running WP-CLI command ',(0,o.jsx)(n.code,{children:"wp i18n make-pot"})," (",(0,o.jsx)(n.a,{href:"https://developer.wordpress.org/cli/commands/i18n/make-pot/",children:"https://developer.wordpress.org/cli/commands/i18n/make-pot/"}),") in your project root. Note that you may need to exclude vendor folders."]}),"\n",(0,o.jsxs)(n.p,{children:["You can provide this POT file to translators directly, and they can use tools for PO editing such as Poedit to translate the strings. After that, they can export an MO file which you can import into your project. Alternatively, you can set up a translation environment like Glotpress for translations, import your POT file there, and export translations as PO and MO files. You should locate these files into the path defined in your ",(0,o.jsx)(n.code,{children:"load_theme_textdomain"})," call, and they should have the name ",(0,o.jsx)(n.code,{children:"{textdomain}-{locale}.mo"})," (e.g. ",(0,o.jsx)(n.code,{children:"eightshift-boilerplate-hr_HR.mo"}),"), that is, ",(0,o.jsx)(n.code,{children:"{textdomain}-{locale}.po"}),"."]}),"\n",(0,o.jsxs)(n.p,{children:["MO translations are only loaded by PHP code and aren't understood by Gutenberg. To do so, you'll need to generate a JED file from the PO file. You can probably use the WP CLI ",(0,o.jsx)(n.code,{children:"wp i18n make-json"})," file for that (",(0,o.jsx)(n.a,{href:"https://developer.wordpress.org/cli/commands/i18n/make-json/",children:"https://developer.wordpress.org/cli/commands/i18n/make-json/"}),"). If you're using Glotpress, you can simply export the locale as a JED file."]}),"\n",(0,o.jsxs)(n.p,{children:["To instruct Gutenberg on how to load your JED translations, you'll need to call ",(0,o.jsx)(n.code,{children:"wp_set_script_translations"})," providing a text-domain, handle (script identifier), and locale path. If you're using the Eightshift Libs ",(0,o.jsx)(n.code,{children:"I18n"})," class, this is done for you with the same assumptions as for PHP translations. Furthermore, as we're assuming you're setting translations for block editor scripts, we set the handle to ",(0,o.jsx)(n.code,{children:"{$assetsPrefix}-block-editor-scripts"}),". If you haven't changed how scripts are enqueued, this should be the correct handle and your assets prefix should be your project name."]}),"\n",(0,o.jsxs)(n.p,{children:["Finally, to make sure WordPress loads the JED translations, you should place them into the path defined by your ",(0,o.jsx)(n.code,{children:"wp_set_script_translations"})," call (",(0,o.jsx)(n.code,{children:"src/I18n/languages"})," by default in the ",(0,o.jsx)(n.code,{children:"I18n"})," class) and make sure they have the name structure ",(0,o.jsx)(n.code,{children:"{textdomain}-{locale}-{handle}.json"}),". (e.g. ",(0,o.jsx)(n.code,{children:"eightshift-boilerplate-hr_HR-eightshift-boilerplate-block-editor-scripts.json"}),")"]}),"\n",(0,o.jsx)(n.p,{children:"After all of this work, you should be able to change the locale on the site, network or user level in the WordPress admin."})]})}function h(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},11151:(e,n,t)=>{t.d(n,{Z:()=>r,a:()=>a});var o=t(67294);const s={},i=o.createContext(s);function a(e){const n=o.useContext(i);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(s):e.components||s:a(e.components),o.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/fd6d4018.c3839a65.js b/assets/js/fd6d4018.c3839a65.js new file mode 100644 index 000000000..260db4e4d --- /dev/null +++ b/assets/js/fd6d4018.c3839a65.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[17676],{6400:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>i,metadata:()=>r,toc:()=>c});var o=t(17624),s=t(4552);const i={id:"tips-tricks",title:"Tips & Tricks"},a=void 0,r={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.",source:"@site/docs/legacy/v8/basics/tips-tricks.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/tips-tricks",permalink:"/docs/legacy/v8/basics/tips-tricks",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"tips-tricks",title:"Tips & Tricks"},sidebar:"docs",previous:{title:"PHP",permalink:"/docs/legacy/v8/basics/helpers-php"},next:{title:"Versions",permalink:"/docs/legacy/v7/versions"}},l={},c=[{value:"Always disable cache when you are writing block editor components",id:"always-disable-cache-when-you-are-writing-block-editor-components",level:3},{value:"When to restart your Webpack watch?",id:"when-to-restart-your-webpack-watch",level:3},{value:"Using boilerplate and boilerplate-plugin in the same project",id:"using-boilerplate-and-boilerplate-plugin-in-the-same-project",level:3},{value:"Internationalization (I18n) and localization (L10n)",id:"internationalization-i18n-and-localization-l10n",level:3}];function d(e){const n={a:"a",code:"code",em:"em",h3:"h3",li:"li",p:"p",pre:"pre",ul:"ul",...(0,s.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:"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."}),"\n",(0,o.jsx)(n.h3,{id:"always-disable-cache-when-you-are-writing-block-editor-components",children:"Always disable cache when you are writing block editor components"}),"\n",(0,o.jsx)(n.p,{children:"When you are writing a JavaScript part of the block you should always have your browser inspector open and checkbox checked for disabling browser cache in the network tab. WordPress core is caching JS files and you may not always get the latest changes of your code in the editor. This way you can be sure that everything is up to date."}),"\n",(0,o.jsx)(n.h3,{id:"when-to-restart-your-webpack-watch",children:"When to restart your Webpack watch?"}),"\n",(0,o.jsx)(n.p,{children:"As we described in the previous chapters Webpack watch is used to monitor all your code changes and update the compiled files with your latest changes. We have set our folder structure in a way so we can have files automatically included in the build. However, there are some times you must restart your Webpack watch:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"Adding a new block/component."}),"\n",(0,o.jsx)(n.li,{children:"Changing the block/component folder name."}),"\n",(0,o.jsx)(n.li,{children:"Changing any of the file names in the block/component folder."}),"\n",(0,o.jsx)(n.li,{children:"Adding/removing a JS package to the project."}),"\n",(0,o.jsx)(n.li,{children:"Changing the webpack, babel, eslint, stylelint configuration."}),"\n",(0,o.jsx)(n.li,{children:"Changing the project domain name for Browser sync."}),"\n",(0,o.jsx)(n.li,{children:"Adding/removing a new JS or SCSS file in the global assets folder."}),"\n"]}),"\n",(0,o.jsx)(n.h3,{id:"using-boilerplate-and-boilerplate-plugin-in-the-same-project",children:"Using boilerplate and boilerplate-plugin in the same project"}),"\n",(0,o.jsx)(n.p,{children:"When you are using one boilerplate for a theme and another for a plugin keep in mind that you will have to do some changes. We would recommend leaving the theme as is and making changes to the plugin. Here are some of the changes you should make:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["If using manifest, you should update the ",(0,o.jsx)(n.code,{children:"MANIFEST_ITEM"})," filter name to something else."]}),"\n",(0,o.jsx)(n.li,{children:"If using blocks, change the default category of all your plugin blocks."}),"\n",(0,o.jsxs)(n.li,{children:["If using blocks, update all blocks to a new category in each block ",(0,o.jsx)(n.code,{children:"manifest.json"})," file."]}),"\n",(0,o.jsxs)(n.li,{children:["If using blocks, update the block namespace in the global block ",(0,o.jsx)(n.code,{children:"manifest.json"})," file."]}),"\n",(0,o.jsx)(n.li,{children:"If using blocks, change the blocks' background and foreground color (Not necessary but it would be a good UX)."}),"\n",(0,o.jsx)(n.li,{children:"If using blocks, make your own implementation of the Components::render method so you don't need to pass project location on every usage (example below)."}),"\n",(0,o.jsxs)(n.li,{children:["Update the default project imposter namespace in the ",(0,o.jsx)(n.code,{children:"composer.json"})," file and run ",(0,o.jsx)(n.code,{children:"composer install"}),"."]}),"\n",(0,o.jsx)(n.li,{children:"Update all files with the new vendor namespace prefix."}),"\n",(0,o.jsx)(n.li,{children:"Update the default WP-CLI command prefix for your plugin located in the root of your plugin."}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"src/Helpers/Components.php"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-php",children:"/**\n * Helpers for components\n *\n * @package PluginNamespace\\Helpers\n */\n\ndeclare(strict_types=1);\n\nnamespace PluginNamespace\\Helpers;\n\nuse PluginNamespace\\Config\\Config;\nuse EightshiftLibs\\Helpers\\Components as LibsComponents;\n\n/**\n * Helpers for components\n */\nclass Components extends LibsComponents\n{\n\t/**\n\t * Local render method.\n\t */\n\tpublic static function render(string $component, array $attributes = [], string $parentPath = '', bool $useComponentDefaults = false): string\n\t{\n\t\t$parentPath = Config::getProjectPath();\n\n\t\treturn parent::render($component, $attributes, $parentPath, $useComponentDefaults);\n\t}\n}\n"})}),"\n",(0,o.jsx)(n.h3,{id:"internationalization-i18n-and-localization-l10n",children:"Internationalization (I18n) and localization (L10n)"}),"\n",(0,o.jsxs)(n.p,{children:["To make sure your project is translatable into other languages, you should use ",(0,o.jsx)(n.a,{href:"https://codex.wordpress.org/I18n_for_WordPress_Developers",children:"WordPress's i18n functions"})," every time you output text. This process, called internationalization, is quite simple to implement by using the ",(0,o.jsx)(n.code,{children:"__"})," WordPress function, which is available in both PHP and Gutenberg (in the ",(0,o.jsx)(n.code,{children:"@wordpress/i18n"})," package) and is standard practice in Eightshift Frontend Libs for all text output."]}),"\n",(0,o.jsxs)(n.p,{children:["The ",(0,o.jsx)(n.code,{children:"__"})," function accepts a string to translate and a text-domain, which is used to tell WordPress which translation set to use, and returns the translated string (or original string, in case a translation doesn't exist). Note that you can provide a ",(0,o.jsx)(n.code,{children:"sprintf"}),"-parametrized string to ",(0,o.jsx)(n.code,{children:"__"})," and use ",(0,o.jsx)(n.code,{children:"sprintf"})," on its return value to populate the string with certain values. You should also load the text-domain using ",(0,o.jsx)(n.code,{children:"load_theme_textdomain"}),". Using the Eightshift Libs ",(0,o.jsx)(n.code,{children:"I18n"})," class will do this for you by instructing WordPress to look for translations in ",(0,o.jsx)(n.code,{children:"src/I18n/languages"})," with the text-domain defined as your project name."]}),"\n",(0,o.jsxs)(n.p,{children:["However, there will come a time when ",(0,o.jsx)(n.em,{children:"being able"})," to translate won't be enough. You'll actually need to ",(0,o.jsx)(n.em,{children:"do"})," that. This happens in a process called localization and is a bit less trivial to do."]}),"\n",(0,o.jsxs)(n.p,{children:["First, you'll need to prepare the strings for translators. As WordPress i18n is based upon the ",(0,o.jsx)(n.code,{children:"gettext"}),' system, you should generate a POT ("portable object template") file which you can do by running WP-CLI command ',(0,o.jsx)(n.code,{children:"wp i18n make-pot"})," (",(0,o.jsx)(n.a,{href:"https://developer.wordpress.org/cli/commands/i18n/make-pot/",children:"https://developer.wordpress.org/cli/commands/i18n/make-pot/"}),") in your project root. Note that you may need to exclude vendor folders."]}),"\n",(0,o.jsxs)(n.p,{children:["You can provide this POT file to translators directly, and they can use tools for PO editing such as Poedit to translate the strings. After that, they can export an MO file which you can import into your project. Alternatively, you can set up a translation environment like Glotpress for translations, import your POT file there, and export translations as PO and MO files. You should locate these files into the path defined in your ",(0,o.jsx)(n.code,{children:"load_theme_textdomain"})," call, and they should have the name ",(0,o.jsx)(n.code,{children:"{textdomain}-{locale}.mo"})," (e.g. ",(0,o.jsx)(n.code,{children:"eightshift-boilerplate-hr_HR.mo"}),"), that is, ",(0,o.jsx)(n.code,{children:"{textdomain}-{locale}.po"}),"."]}),"\n",(0,o.jsxs)(n.p,{children:["MO translations are only loaded by PHP code and aren't understood by Gutenberg. To do so, you'll need to generate a JED file from the PO file. You can probably use the WP CLI ",(0,o.jsx)(n.code,{children:"wp i18n make-json"})," file for that (",(0,o.jsx)(n.a,{href:"https://developer.wordpress.org/cli/commands/i18n/make-json/",children:"https://developer.wordpress.org/cli/commands/i18n/make-json/"}),"). If you're using Glotpress, you can simply export the locale as a JED file."]}),"\n",(0,o.jsxs)(n.p,{children:["To instruct Gutenberg on how to load your JED translations, you'll need to call ",(0,o.jsx)(n.code,{children:"wp_set_script_translations"})," providing a text-domain, handle (script identifier), and locale path. If you're using the Eightshift Libs ",(0,o.jsx)(n.code,{children:"I18n"})," class, this is done for you with the same assumptions as for PHP translations. Furthermore, as we're assuming you're setting translations for block editor scripts, we set the handle to ",(0,o.jsx)(n.code,{children:"{$assetsPrefix}-block-editor-scripts"}),". If you haven't changed how scripts are enqueued, this should be the correct handle and your assets prefix should be your project name."]}),"\n",(0,o.jsxs)(n.p,{children:["Finally, to make sure WordPress loads the JED translations, you should place them into the path defined by your ",(0,o.jsx)(n.code,{children:"wp_set_script_translations"})," call (",(0,o.jsx)(n.code,{children:"src/I18n/languages"})," by default in the ",(0,o.jsx)(n.code,{children:"I18n"})," class) and make sure they have the name structure ",(0,o.jsx)(n.code,{children:"{textdomain}-{locale}-{handle}.json"}),". (e.g. ",(0,o.jsx)(n.code,{children:"eightshift-boilerplate-hr_HR-eightshift-boilerplate-block-editor-scripts.json"}),")"]}),"\n",(0,o.jsx)(n.p,{children:"After all of this work, you should be able to change the locale on the site, network or user level in the WordPress admin."})]})}function h(e={}){const{wrapper:n}={...(0,s.M)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},4552:(e,n,t)=>{t.d(n,{I:()=>r,M:()=>a});var o=t(11504);const s={},i=o.createContext(s);function a(e){const n=o.useContext(i);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(s):e.components||s:a(e.components),o.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/fda35176.3f1035f0.js b/assets/js/fda35176.3f1035f0.js new file mode 100644 index 000000000..12c1f79d4 --- /dev/null +++ b/assets/js/fda35176.3f1035f0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[89456],{29724:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>i,contentTitle:()=>a,default:()=>u,frontMatter:()=>o,metadata:()=>c,toc:()=>d});var r=s(17624),n=s(4552);const o={id:"pre-response-success-redirect-data",title:"Pre-Response Success Redirect Data"},a=void 0,c={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.",source:"@site/forms/php/filters/block/form/pre-response-success-redirect-data.md",sourceDirName:"php/filters/block/form",slug:"/php/filters/block/form/pre-response-success-redirect-data",permalink:"/forms/php/filters/block/form/pre-response-success-redirect-data",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"pre-response-success-redirect-data",title:"Pre-Response Success Redirect Data"},sidebar:"forms",previous:{title:"Pre-Response add-on Data",permalink:"/forms/php/filters/block/form/pre-response-addon-data"},next:{title:"Additional hidden fields",permalink:"/forms/php/filters/block/form/additional-hidden-fields"}},i={},d=[];function p(e){const t={code:"code",p:"p",pre:"pre",...(0,n.M)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.p,{children:"Allows adding data to the API response key, which is used when passing data to the success redirect URL."}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-php",children:"\\add_filter('es_forms_block_form_pre_response_success_redirect_data', [$this, 'getPreResponseSuccessRedirectData'], 10, 2);\n\n/**\n * Set additional data to API response for success redirect.\n *\n * @param array<mixed> $output Output data.\n * @param array<string, mixed> $formDetails Data passed from the `getFormDetailsApi` function.\n *\n * @return array<mixed>\n */\npublic function getPreResponseSuccessRedirectData(array $output, string $formDetails): array\n{\n\t$output['successData'] = [\n\t\t'key' => 'value',\n\t];\n\n\treturn $output;\n}\n"})})]})}function u(e={}){const{wrapper:t}={...(0,n.M)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(p,{...e})}):p(e)}},4552:(e,t,s)=>{s.d(t,{I:()=>c,M:()=>a});var r=s(11504);const n={},o=r.createContext(n);function a(e){const t=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),r.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/fda35176.6c45d32c.js b/assets/js/fda35176.6c45d32c.js deleted file mode 100644 index 973b9fb2f..000000000 --- a/assets/js/fda35176.6c45d32c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[1907],{86793:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>i,contentTitle:()=>a,default:()=>u,frontMatter:()=>o,metadata:()=>c,toc:()=>d});var r=s(85893),n=s(11151);const o={id:"pre-response-success-redirect-data",title:"Pre-Response Success Redirect Data"},a=void 0,c={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.",source:"@site/forms/php/filters/block/form/pre-response-success-redirect-data.md",sourceDirName:"php/filters/block/form",slug:"/php/filters/block/form/pre-response-success-redirect-data",permalink:"/forms/php/filters/block/form/pre-response-success-redirect-data",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"pre-response-success-redirect-data",title:"Pre-Response Success Redirect Data"},sidebar:"forms",previous:{title:"Pre-Response add-on Data",permalink:"/forms/php/filters/block/form/pre-response-addon-data"},next:{title:"Additional hidden fields",permalink:"/forms/php/filters/block/form/additional-hidden-fields"}},i={},d=[];function p(e){const t={code:"code",p:"p",pre:"pre",...(0,n.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.p,{children:"Allows adding data to the API response key, which is used when passing data to the success redirect URL."}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-php",children:"\\add_filter('es_forms_block_form_pre_response_success_redirect_data', [$this, 'getPreResponseSuccessRedirectData'], 10, 2);\n\n/**\n * Set additional data to API response for success redirect.\n *\n * @param array<mixed> $output Output data.\n * @param array<string, mixed> $formDetails Data passed from the `getFormDetailsApi` function.\n *\n * @return array<mixed>\n */\npublic function getPreResponseSuccessRedirectData(array $output, string $formDetails): array\n{\n\t$output['successData'] = [\n\t\t'key' => 'value',\n\t];\n\n\treturn $output;\n}\n"})})]})}function u(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(p,{...e})}):p(e)}},11151:(e,t,s)=>{s.d(t,{Z:()=>c,a:()=>a});var r=s(67294);const n={},o=r.createContext(n);function a(e){const t=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),r.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/fdc13b44.4a91cbee.js b/assets/js/fdc13b44.4a91cbee.js deleted file mode 100644 index 0b6dd8158..000000000 --- a/assets/js/fdc13b44.4a91cbee.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[73684],{71578:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>r,contentTitle:()=>o,default:()=>h,frontMatter:()=>i,metadata:()=>c,toc:()=>l});var t=s(85893),a=s(11151);const i={id:"autowiring",title:"Autowiring"},o=void 0,c={id:"legacy/v8/basics/autowiring",title:"Autowiring",description:"docs-source",source:"@site/docs/legacy/v8/basics/autowiring.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/autowiring",permalink:"/docs/legacy/v8/basics/autowiring",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"autowiring",title:"Autowiring"},sidebar:"docs",previous:{title:"Extending Classes",permalink:"/docs/legacy/v8/basics/extending-classes"},next:{title:"Example Class",permalink:"/docs/legacy/v8/basics/example-class"}},r={},l=[{value:"How it works",id:"how-it-works",level:2},{value:"What if I have to mock or manually call a class?",id:"what-if-i-have-to-mock-or-manually-call-a-class",level:3},{value:"What if my class doesn't have anything inside a constructor method? (no dependencies)",id:"what-if-my-class-doesnt-have-anything-inside-a-constructor-method-no-dependencies",level:3},{value:"What if my class has a <strong>primitive parameter</strong> (<code>string</code>, <code>int</code>, etc.) inside a constructor method?",id:"what-if-my-class-has-a-primitive-parameter-string-int-etc-inside-a-constructor-method",level:3},{value:"What if my class does have another class as a parameter inside a constructor method?",id:"what-if-my-class-does-have-another-class-as-a-parameter-inside-a-constructor-method",level:3},{value:"What if my class has an interface parameter inside the constructor method?",id:"what-if-my-class-has-an-interface-parameter-inside-the-constructor-method",level:3},{value:"Example",id:"example",level:4},{value:"To sum it up",id:"to-sum-it-up",level:2}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",em:"em",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs",children:(0,t.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsx)(n.p,{children:"What is autowiring?"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.em,{children:"Autowiring is an exotic word that represents something very simple: the container's ability to create and inject dependencies automatically."})}),"\n",(0,t.jsxs)(n.p,{children:["The quote is taken from the ",(0,t.jsx)(n.a,{href:"https://php-di.org/doc/autowiring.html",children:"PHP-DI"})," library that we use."]}),"\n",(0,t.jsx)(n.p,{children:"In a nutshell, we use a dependency injection (DI) container to load all your service classes. Alongside the DI container, we also use the PSR-4 coding standard for autoloading. That allows us to predict what your file/folder structure will look like in correlation to the namespace. With that in mind, you don't have to worry about requiring your classes. Our autoloading takes care of everything. All you need to do is follow a few coding standards so that you can automatically inject other classes as dependencies."}),"\n",(0,t.jsxs)(n.p,{children:["Autowiring runs inside the ",(0,t.jsx)(n.code,{children:"Main"})," service class as an extended class of our ",(0,t.jsx)(n.code,{children:"AbstractMain"})," class. You can install the main class using this command:"]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"wp boilerplate create main"})}),"\n",(0,t.jsx)(n.h2,{id:"how-it-works",children:"How it works"}),"\n",(0,t.jsx)(n.p,{children:"Here is a quick overview of how this works:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"You create a new class manually or using the WP-CLI command."}),"\n",(0,t.jsx)(n.li,{children:"PSR-4 should detect your new class if you followed the PSR-4 naming standard."}),"\n",(0,t.jsxs)(n.li,{children:["The new class is added to the ",(0,t.jsx)(n.code,{children:"classmap"})," array inside the ",(0,t.jsx)(n.code,{children:"vendor"})," folder."]}),"\n",(0,t.jsx)(n.li,{children:"Autowiring class reads the new class, checks if your class has any class dependencies, and injects them."}),"\n",(0,t.jsx)(n.li,{children:"And it just works."}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"To put it shortly"}),": just add a new class (that is PSR-4 compliant) with or without some class dependencies and everything will be automatically resolved/injected."]}),"\n",(0,t.jsx)(n.h3,{id:"what-if-i-have-to-mock-or-manually-call-a-class",children:"What if I have to mock or manually call a class?"}),"\n",(0,t.jsx)(n.p,{children:"Before we start with the automatization and autowiring, let's see how service classes are called manually."}),"\n",(0,t.jsx)(n.p,{children:"We can think of these scenarios where you want to load a class manually:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"You have to write tests and manually provide mocked classes."}),"\n",(0,t.jsx)(n.li,{children:"Your classes have a custom structure and autowiring can't resolve it."}),"\n",(0,t.jsxs)(n.li,{children:["You want to provide a primitive parameter (",(0,t.jsx)(n.code,{children:"string"}),", ",(0,t.jsx)(n.code,{children:"int"}),", etc.) inside a constructor method."]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["In those cases, you can manually provide your DI container with the implementation using the ",(0,t.jsx)(n.code,{children:"getServiceClasses"})," method inside the ",(0,t.jsx)(n.code,{children:"src>Main>Main.php"})," class."]}),"\n",(0,t.jsx)(n.p,{children:"Provide the method and add your custom implementation like this:"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"src>Main>Main.php"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:" /**\n * Get the list of services to register.\n *\n * A list of classes which contain hooks.\n *\n * @return array<class-string, string|string[]> Array of fully qualified service class names.\n */\n protected function getServiceClasses(): array\n {\n return [\n\n // If you are using a class as a DI.\n ProjectNamespace\\Rest\\Routes\\DocumentsRoute::class => [\n ProjectNamespace\\Query\\Documents\\QueryDocuments::class\n ],\n\n // If you just want to include a simple class with no DI.\n ProjectNamespace\\CoolFolder\\CoolClass::class,\n ];\n }\n"})}),"\n",(0,t.jsx)(n.h3,{id:"what-if-my-class-doesnt-have-anything-inside-a-constructor-method-no-dependencies",children:"What if my class doesn't have anything inside a constructor method? (no dependencies)"}),"\n",(0,t.jsxs)(n.p,{children:["If your class ",(0,t.jsx)(n.strong,{children:"doesn't have"})," anything defined in the constructor method, autoloading will require your class.\nThis just means that you are not using dependency injection (since you have nothing to inject)."]}),"\n",(0,t.jsxs)(n.h3,{id:"what-if-my-class-has-a-primitive-parameter-string-int-etc-inside-a-constructor-method",children:["What if my class has a ",(0,t.jsx)(n.strong,{children:"primitive parameter"})," (",(0,t.jsx)(n.code,{children:"string"}),", ",(0,t.jsx)(n.code,{children:"int"}),", etc.) inside a constructor method?"]}),"\n",(0,t.jsxs)(n.p,{children:["If your class ",(0,t.jsx)(n.strong,{children:"has"})," a primitive parameter defined in the constructor method, autowiring will ",(0,t.jsx)(n.strong,{children:"not know"})," how to handle this so you must manually provide the primitive parameters at the point of usage. You can find more information about that ",(0,t.jsx)(n.a,{href:"#what-if-i-have-to-mock-or-manually-call-a-class",children:"here"}),"."]}),"\n",(0,t.jsx)(n.h3,{id:"what-if-my-class-does-have-another-class-as-a-parameter-inside-a-constructor-method",children:"What if my class does have another class as a parameter inside a constructor method?"}),"\n",(0,t.jsx)(n.p,{children:"This works out of the box, but you shouldn't really do this."}),"\n",(0,t.jsx)(n.p,{children:"A good coding practice is that your class should never depend on the concrete class implementation because you have tightly coupled your class to another class. This makes it hard to test and your code becomes hard to modify. Imagine that you have put a concrete implementation as a dependency, only to get feedback from the client that you need to change that implementation for a completely different one. Making the changes means that you'll need to track all the places in your codebase where you have used some functionality from this class, and change it completely."}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsx)(n.p,{children:"You should always code against interfaces and not implementation."}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["We can't stress this enough because as your project grows, so will your headaches. Also, when you start testing your code, that is when your hair will begin to fall off. We recommend reading Uncle Bob Martin's ",(0,t.jsx)(n.a,{href:"http://cleancoder.com/products",children:"Clean Code"}),". That will save you a lot of sleepless nights, and you'll learn tons of tips and tricks for writing clean code."]}),"\n",(0,t.jsx)(n.h3,{id:"what-if-my-class-has-an-interface-parameter-inside-the-constructor-method",children:"What if my class has an interface parameter inside the constructor method?"}),"\n",(0,t.jsx)(n.p,{children:"This will automatically be resolved (same as with class parameters) if you follow one simple rule:"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsx)(n.p,{children:"Variable name in your constructor method needs to match the class name (which implements the interface) in camelCase."}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["For example, let's say you have a ",(0,t.jsx)(n.code,{children:"SteeringWheel"})," class:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"class SteeringWheel implements CarPartInterface\n"})}),"\n",(0,t.jsxs)(n.p,{children:["and you want to have this as a dependency in ",(0,t.jsx)(n.code,{children:"Car"})," class. Your ",(0,t.jsx)(n.code,{children:"Car"})," class would have the following constructor:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"class Car {\n\n private $steeringWheel;\n\n public function __construct(CarPartInterface $steeringWheel)\n {\n $this->steeringWheel = $steeringWheel;\n }\n\n}\n"})}),"\n",(0,t.jsxs)(n.p,{children:["Since the injected variable name ",(0,t.jsx)(n.code,{children:"$steeringWheel"})," is the camelCase version of the class name ",(0,t.jsx)(n.code,{children:"SteeringWheel"})," which implements ",(0,t.jsx)(n.code,{children:"CarPartInterface"}),", autowiring will know to inject the correct class and everything will work fine."]}),"\n",(0,t.jsx)(n.p,{children:"If you understand everything from the upper example, you can just skip the next one. However, we recommend checking out the following example for a more detailed overview."}),"\n",(0,t.jsx)(n.h4,{id:"example",children:"Example"}),"\n",(0,t.jsxs)(n.p,{children:["Let's set a scene. You have created a ",(0,t.jsx)(n.code,{children:"DocumentsRoute"})," class, and it needs some functionality from the ",(0,t.jsx)(n.code,{children:"QueryDocuments"})," class."]}),"\n",(0,t.jsx)(n.p,{children:"Steps you need to follow are:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["You should create an interface with all the methods you need in the ",(0,t.jsx)(n.code,{children:"DocumentsRoute"})," class. Let's call it ",(0,t.jsx)(n.code,{children:"QueryDocumentsInterface"}),". We'll put it inside the ",(0,t.jsx)(n.code,{children:"src/Query/Documents"})," folder."]}),"\n",(0,t.jsxs)(n.li,{children:["Your ",(0,t.jsx)(n.code,{children:"QueryDocuments"})," class should implement your new ",(0,t.jsx)(n.code,{children:"QueryDocumentsInterface"})," class and have all the methods from the interface implemented."]}),"\n",(0,t.jsxs)(n.li,{children:["In your ",(0,t.jsx)(n.code,{children:"DocumentsRoute"})," class, provide the ",(0,t.jsx)(n.code,{children:"QueryDocumentsInterface"})," interface as a parameter inside the ",(0,t.jsx)(n.code,{children:"__construct"})," method with the name of the argument ",(0,t.jsx)(n.code,{children:"$queryDocuments"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:["You can now use the methods defined in the ",(0,t.jsx)(n.code,{children:"QueryDocuments"})," class."]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Let us provide you with some code examples:"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Structure:"})}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["src","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Query","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Documents","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"QueryDocumentsInterface.class"}),"\n",(0,t.jsx)(n.li,{children:"QueryDocuments.class"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["Rest","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Routes","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"DocumentsRoute.class"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"src/Query/Documents/QueryDocumentsInterface.php"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"<?php\n\ndeclare(strict_types=1);\n\nnamespace ProjectNamespace\\Query\\Documents;\n\ninterface QueryDocumentsInterface\n{\n\n /**\n * Get structured documents data for documents section.\n *\n * @param int $id Id for data.\n *\n * @return string\n */\n public function getDocumentsData(int $id = 0): string;\n}\n"})}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"src/Query/Documents/QueryDocuments.php"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"<?php\n\ndeclare(strict_types=1);\n\nnamespace ProjectNamespace\\Query\\Documents;\n\nuse ProjectNamespaceVendor\\EightshiftLibs\\Services\\ServiceInterface;\n\nclass QueryDocuments implements ServiceInterface, QueryDocumentsInterface\n{\n /**\n * Get structured documents data for documents section.\n *\n * @param int $id Id for data.\n *\n * @return string\n */\n public function getDocumentsData(int $id = 0): string\n {\n // Code.\n }\n}\n"})}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"src/Rest/Routes/DocumentsRoute.php"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"<?php\n\ndeclare(strict_types=1);\n\nnamespace ProjectNamespace\\Rest\\Routes;\n\nuse ProjectNamespace\\Query\\Documents\\QueryDocumentsInterface;\nuse ProjectNamespaceVendor\\EightshiftLibs\\Rest\\Routes\\AbstractRoute;\nuse ProjectNamespaceVendor\\EightshiftLibs\\Rest\\CallableRouteInterface;\n\nclass DocumentsRoute extends AbstractRoute implements CallableRouteInterface\n{\n\n /**\n * Instance variable of documents data.\n *\n * @var QueryDocumentsInterface\n */\n protected $queryDocuments;\n\n /**\n * Create a new instance.\n *\n * @param QueryDocumentsInterface $queryDocuments Inject documentsData which holds data for documents.\n */\n public function __construct(QueryDocumentsInterface $queryDocuments)\n {\n $this->queryDocuments = $queryDocuments;\n }\n\n // Here goes the rest of the DocumentsRoute implementation.\n}\n"})}),"\n",(0,t.jsx)(n.p,{children:"And that's it. Autowiring knows how to resolve the dependencies, you didn't tightly couple the code, and you're all set."}),"\n",(0,t.jsx)(n.h2,{id:"to-sum-it-up",children:"To sum it up"}),"\n",(0,t.jsx)(n.p,{children:"This chapter may be a bit long, but we wanted to make sure you understand our motivation behind it. We often work on large projects with lots of third-party integrations, and having a good project structure and architecture makes the projects more durable. It makes them less prone to bugs (if you write tests) and makes implementing new features and removing obsolete ones a lot easier."}),"\n",(0,t.jsx)(n.p,{children:"Do you need to use it? Not really. Especially on really simple projects. Should you? We think you'll benefit from it in the long run."})]})}function h(e={}){const{wrapper:n}={...(0,a.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},11151:(e,n,s)=>{s.d(n,{Z:()=>c,a:()=>o});var t=s(67294);const a={},i=t.createContext(a);function o(e){const n=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:o(e.components),t.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/fdc13b44.58326e34.js b/assets/js/fdc13b44.58326e34.js new file mode 100644 index 000000000..f2d1faf70 --- /dev/null +++ b/assets/js/fdc13b44.58326e34.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[37732],{79708:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>r,contentTitle:()=>o,default:()=>h,frontMatter:()=>i,metadata:()=>c,toc:()=>l});var t=s(17624),a=s(4552);const i={id:"autowiring",title:"Autowiring"},o=void 0,c={id:"legacy/v8/basics/autowiring",title:"Autowiring",description:"docs-source",source:"@site/docs/legacy/v8/basics/autowiring.md",sourceDirName:"legacy/v8/basics",slug:"/legacy/v8/basics/autowiring",permalink:"/docs/legacy/v8/basics/autowiring",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"autowiring",title:"Autowiring"},sidebar:"docs",previous:{title:"Extending Classes",permalink:"/docs/legacy/v8/basics/extending-classes"},next:{title:"Example Class",permalink:"/docs/legacy/v8/basics/example-class"}},r={},l=[{value:"How it works",id:"how-it-works",level:2},{value:"What if I have to mock or manually call a class?",id:"what-if-i-have-to-mock-or-manually-call-a-class",level:3},{value:"What if my class doesn't have anything inside a constructor method? (no dependencies)",id:"what-if-my-class-doesnt-have-anything-inside-a-constructor-method-no-dependencies",level:3},{value:"What if my class has a <strong>primitive parameter</strong> (<code>string</code>, <code>int</code>, etc.) inside a constructor method?",id:"what-if-my-class-has-a-primitive-parameter-string-int-etc-inside-a-constructor-method",level:3},{value:"What if my class does have another class as a parameter inside a constructor method?",id:"what-if-my-class-does-have-another-class-as-a-parameter-inside-a-constructor-method",level:3},{value:"What if my class has an interface parameter inside the constructor method?",id:"what-if-my-class-has-an-interface-parameter-inside-the-constructor-method",level:3},{value:"Example",id:"example",level:4},{value:"To sum it up",id:"to-sum-it-up",level:2}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",em:"em",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/infinum/eightshift-libs",children:(0,t.jsx)(n.img,{src:"https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,t.jsx)(n.p,{children:"What is autowiring?"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.em,{children:"Autowiring is an exotic word that represents something very simple: the container's ability to create and inject dependencies automatically."})}),"\n",(0,t.jsxs)(n.p,{children:["The quote is taken from the ",(0,t.jsx)(n.a,{href:"https://php-di.org/doc/autowiring.html",children:"PHP-DI"})," library that we use."]}),"\n",(0,t.jsx)(n.p,{children:"In a nutshell, we use a dependency injection (DI) container to load all your service classes. Alongside the DI container, we also use the PSR-4 coding standard for autoloading. That allows us to predict what your file/folder structure will look like in correlation to the namespace. With that in mind, you don't have to worry about requiring your classes. Our autoloading takes care of everything. All you need to do is follow a few coding standards so that you can automatically inject other classes as dependencies."}),"\n",(0,t.jsxs)(n.p,{children:["Autowiring runs inside the ",(0,t.jsx)(n.code,{children:"Main"})," service class as an extended class of our ",(0,t.jsx)(n.code,{children:"AbstractMain"})," class. You can install the main class using this command:"]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"wp boilerplate create main"})}),"\n",(0,t.jsx)(n.h2,{id:"how-it-works",children:"How it works"}),"\n",(0,t.jsx)(n.p,{children:"Here is a quick overview of how this works:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"You create a new class manually or using the WP-CLI command."}),"\n",(0,t.jsx)(n.li,{children:"PSR-4 should detect your new class if you followed the PSR-4 naming standard."}),"\n",(0,t.jsxs)(n.li,{children:["The new class is added to the ",(0,t.jsx)(n.code,{children:"classmap"})," array inside the ",(0,t.jsx)(n.code,{children:"vendor"})," folder."]}),"\n",(0,t.jsx)(n.li,{children:"Autowiring class reads the new class, checks if your class has any class dependencies, and injects them."}),"\n",(0,t.jsx)(n.li,{children:"And it just works."}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"To put it shortly"}),": just add a new class (that is PSR-4 compliant) with or without some class dependencies and everything will be automatically resolved/injected."]}),"\n",(0,t.jsx)(n.h3,{id:"what-if-i-have-to-mock-or-manually-call-a-class",children:"What if I have to mock or manually call a class?"}),"\n",(0,t.jsx)(n.p,{children:"Before we start with the automatization and autowiring, let's see how service classes are called manually."}),"\n",(0,t.jsx)(n.p,{children:"We can think of these scenarios where you want to load a class manually:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"You have to write tests and manually provide mocked classes."}),"\n",(0,t.jsx)(n.li,{children:"Your classes have a custom structure and autowiring can't resolve it."}),"\n",(0,t.jsxs)(n.li,{children:["You want to provide a primitive parameter (",(0,t.jsx)(n.code,{children:"string"}),", ",(0,t.jsx)(n.code,{children:"int"}),", etc.) inside a constructor method."]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["In those cases, you can manually provide your DI container with the implementation using the ",(0,t.jsx)(n.code,{children:"getServiceClasses"})," method inside the ",(0,t.jsx)(n.code,{children:"src>Main>Main.php"})," class."]}),"\n",(0,t.jsx)(n.p,{children:"Provide the method and add your custom implementation like this:"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"src>Main>Main.php"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:" /**\n * Get the list of services to register.\n *\n * A list of classes which contain hooks.\n *\n * @return array<class-string, string|string[]> Array of fully qualified service class names.\n */\n protected function getServiceClasses(): array\n {\n return [\n\n // If you are using a class as a DI.\n ProjectNamespace\\Rest\\Routes\\DocumentsRoute::class => [\n ProjectNamespace\\Query\\Documents\\QueryDocuments::class\n ],\n\n // If you just want to include a simple class with no DI.\n ProjectNamespace\\CoolFolder\\CoolClass::class,\n ];\n }\n"})}),"\n",(0,t.jsx)(n.h3,{id:"what-if-my-class-doesnt-have-anything-inside-a-constructor-method-no-dependencies",children:"What if my class doesn't have anything inside a constructor method? (no dependencies)"}),"\n",(0,t.jsxs)(n.p,{children:["If your class ",(0,t.jsx)(n.strong,{children:"doesn't have"})," anything defined in the constructor method, autoloading will require your class.\nThis just means that you are not using dependency injection (since you have nothing to inject)."]}),"\n",(0,t.jsxs)(n.h3,{id:"what-if-my-class-has-a-primitive-parameter-string-int-etc-inside-a-constructor-method",children:["What if my class has a ",(0,t.jsx)(n.strong,{children:"primitive parameter"})," (",(0,t.jsx)(n.code,{children:"string"}),", ",(0,t.jsx)(n.code,{children:"int"}),", etc.) inside a constructor method?"]}),"\n",(0,t.jsxs)(n.p,{children:["If your class ",(0,t.jsx)(n.strong,{children:"has"})," a primitive parameter defined in the constructor method, autowiring will ",(0,t.jsx)(n.strong,{children:"not know"})," how to handle this so you must manually provide the primitive parameters at the point of usage. You can find more information about that ",(0,t.jsx)(n.a,{href:"#what-if-i-have-to-mock-or-manually-call-a-class",children:"here"}),"."]}),"\n",(0,t.jsx)(n.h3,{id:"what-if-my-class-does-have-another-class-as-a-parameter-inside-a-constructor-method",children:"What if my class does have another class as a parameter inside a constructor method?"}),"\n",(0,t.jsx)(n.p,{children:"This works out of the box, but you shouldn't really do this."}),"\n",(0,t.jsx)(n.p,{children:"A good coding practice is that your class should never depend on the concrete class implementation because you have tightly coupled your class to another class. This makes it hard to test and your code becomes hard to modify. Imagine that you have put a concrete implementation as a dependency, only to get feedback from the client that you need to change that implementation for a completely different one. Making the changes means that you'll need to track all the places in your codebase where you have used some functionality from this class, and change it completely."}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsx)(n.p,{children:"You should always code against interfaces and not implementation."}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["We can't stress this enough because as your project grows, so will your headaches. Also, when you start testing your code, that is when your hair will begin to fall off. We recommend reading Uncle Bob Martin's ",(0,t.jsx)(n.a,{href:"http://cleancoder.com/products",children:"Clean Code"}),". That will save you a lot of sleepless nights, and you'll learn tons of tips and tricks for writing clean code."]}),"\n",(0,t.jsx)(n.h3,{id:"what-if-my-class-has-an-interface-parameter-inside-the-constructor-method",children:"What if my class has an interface parameter inside the constructor method?"}),"\n",(0,t.jsx)(n.p,{children:"This will automatically be resolved (same as with class parameters) if you follow one simple rule:"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsx)(n.p,{children:"Variable name in your constructor method needs to match the class name (which implements the interface) in camelCase."}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["For example, let's say you have a ",(0,t.jsx)(n.code,{children:"SteeringWheel"})," class:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"class SteeringWheel implements CarPartInterface\n"})}),"\n",(0,t.jsxs)(n.p,{children:["and you want to have this as a dependency in ",(0,t.jsx)(n.code,{children:"Car"})," class. Your ",(0,t.jsx)(n.code,{children:"Car"})," class would have the following constructor:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"class Car {\n\n private $steeringWheel;\n\n public function __construct(CarPartInterface $steeringWheel)\n {\n $this->steeringWheel = $steeringWheel;\n }\n\n}\n"})}),"\n",(0,t.jsxs)(n.p,{children:["Since the injected variable name ",(0,t.jsx)(n.code,{children:"$steeringWheel"})," is the camelCase version of the class name ",(0,t.jsx)(n.code,{children:"SteeringWheel"})," which implements ",(0,t.jsx)(n.code,{children:"CarPartInterface"}),", autowiring will know to inject the correct class and everything will work fine."]}),"\n",(0,t.jsx)(n.p,{children:"If you understand everything from the upper example, you can just skip the next one. However, we recommend checking out the following example for a more detailed overview."}),"\n",(0,t.jsx)(n.h4,{id:"example",children:"Example"}),"\n",(0,t.jsxs)(n.p,{children:["Let's set a scene. You have created a ",(0,t.jsx)(n.code,{children:"DocumentsRoute"})," class, and it needs some functionality from the ",(0,t.jsx)(n.code,{children:"QueryDocuments"})," class."]}),"\n",(0,t.jsx)(n.p,{children:"Steps you need to follow are:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["You should create an interface with all the methods you need in the ",(0,t.jsx)(n.code,{children:"DocumentsRoute"})," class. Let's call it ",(0,t.jsx)(n.code,{children:"QueryDocumentsInterface"}),". We'll put it inside the ",(0,t.jsx)(n.code,{children:"src/Query/Documents"})," folder."]}),"\n",(0,t.jsxs)(n.li,{children:["Your ",(0,t.jsx)(n.code,{children:"QueryDocuments"})," class should implement your new ",(0,t.jsx)(n.code,{children:"QueryDocumentsInterface"})," class and have all the methods from the interface implemented."]}),"\n",(0,t.jsxs)(n.li,{children:["In your ",(0,t.jsx)(n.code,{children:"DocumentsRoute"})," class, provide the ",(0,t.jsx)(n.code,{children:"QueryDocumentsInterface"})," interface as a parameter inside the ",(0,t.jsx)(n.code,{children:"__construct"})," method with the name of the argument ",(0,t.jsx)(n.code,{children:"$queryDocuments"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:["You can now use the methods defined in the ",(0,t.jsx)(n.code,{children:"QueryDocuments"})," class."]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Let us provide you with some code examples:"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Structure:"})}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["src","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Query","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Documents","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"QueryDocumentsInterface.class"}),"\n",(0,t.jsx)(n.li,{children:"QueryDocuments.class"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["Rest","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Routes","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"DocumentsRoute.class"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"src/Query/Documents/QueryDocumentsInterface.php"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"<?php\n\ndeclare(strict_types=1);\n\nnamespace ProjectNamespace\\Query\\Documents;\n\ninterface QueryDocumentsInterface\n{\n\n /**\n * Get structured documents data for documents section.\n *\n * @param int $id Id for data.\n *\n * @return string\n */\n public function getDocumentsData(int $id = 0): string;\n}\n"})}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"src/Query/Documents/QueryDocuments.php"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"<?php\n\ndeclare(strict_types=1);\n\nnamespace ProjectNamespace\\Query\\Documents;\n\nuse ProjectNamespaceVendor\\EightshiftLibs\\Services\\ServiceInterface;\n\nclass QueryDocuments implements ServiceInterface, QueryDocumentsInterface\n{\n /**\n * Get structured documents data for documents section.\n *\n * @param int $id Id for data.\n *\n * @return string\n */\n public function getDocumentsData(int $id = 0): string\n {\n // Code.\n }\n}\n"})}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"src/Rest/Routes/DocumentsRoute.php"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-php",children:"<?php\n\ndeclare(strict_types=1);\n\nnamespace ProjectNamespace\\Rest\\Routes;\n\nuse ProjectNamespace\\Query\\Documents\\QueryDocumentsInterface;\nuse ProjectNamespaceVendor\\EightshiftLibs\\Rest\\Routes\\AbstractRoute;\nuse ProjectNamespaceVendor\\EightshiftLibs\\Rest\\CallableRouteInterface;\n\nclass DocumentsRoute extends AbstractRoute implements CallableRouteInterface\n{\n\n /**\n * Instance variable of documents data.\n *\n * @var QueryDocumentsInterface\n */\n protected $queryDocuments;\n\n /**\n * Create a new instance.\n *\n * @param QueryDocumentsInterface $queryDocuments Inject documentsData which holds data for documents.\n */\n public function __construct(QueryDocumentsInterface $queryDocuments)\n {\n $this->queryDocuments = $queryDocuments;\n }\n\n // Here goes the rest of the DocumentsRoute implementation.\n}\n"})}),"\n",(0,t.jsx)(n.p,{children:"And that's it. Autowiring knows how to resolve the dependencies, you didn't tightly couple the code, and you're all set."}),"\n",(0,t.jsx)(n.h2,{id:"to-sum-it-up",children:"To sum it up"}),"\n",(0,t.jsx)(n.p,{children:"This chapter may be a bit long, but we wanted to make sure you understand our motivation behind it. We often work on large projects with lots of third-party integrations, and having a good project structure and architecture makes the projects more durable. It makes them less prone to bugs (if you write tests) and makes implementing new features and removing obsolete ones a lot easier."}),"\n",(0,t.jsx)(n.p,{children:"Do you need to use it? Not really. Especially on really simple projects. Should you? We think you'll benefit from it in the long run."})]})}function h(e={}){const{wrapper:n}={...(0,a.M)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},4552:(e,n,s)=>{s.d(n,{I:()=>c,M:()=>o});var t=s(11504);const a={},i=t.createContext(a);function o(e){const n=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:o(e.components),t.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/fea00b33.a657dc5d.js b/assets/js/fea00b33.a657dc5d.js new file mode 100644 index 000000000..ed2a0fc6e --- /dev/null +++ b/assets/js/fea00b33.a657dc5d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[39080],{52916:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var i=t(17624),n=t(4552);const o={id:"helpers-scss",title:"Scss"},r=void 0,l={id:"basics/helpers-scss",title:"Scss",description:"docs-source",source:"@site/docs/basics/helpers-scss.md",sourceDirName:"basics",slug:"/basics/helpers-scss",permalink:"/docs/basics/helpers-scss",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"helpers-scss",title:"Scss"},sidebar:"docs",previous:{title:"JavaScript",permalink:"/docs/basics/helpers-javascript"},next:{title:"PHP",permalink:"/docs/basics/helpers-php"}},a={},c=[{value:"Default usage",id:"default-usage",level:2},{value:"Usage outside of Eightshift Boilerplate",id:"usage-outside-of-eightshift-boilerplate",level:2}];function d(e){const s={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",strong:"strong",...(0,n.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,i.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsx)(s.p,{children:"For years, we have collected a list of useful SASS mixins, placeholders, and functions you can use in a project. You don't need to have all of this in your project. Check out our documentation and see what we have in store for you."}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsxs)(s.strong,{children:["Visit ",(0,i.jsx)(s.a,{href:"/docs/basics/library",children:"SassDocs"})," for more details."]})}),"\n",(0,i.jsx)(s.h2,{id:"default-usage",children:"Default usage"}),"\n",(0,i.jsx)(s.p,{children:"Eightshift Frontend Libs styles library is already implemented in your WordPress project, so you don't need to worry about implementation."}),"\n",(0,i.jsxs)(s.p,{children:["All our sass mixing, functions and helpers are located in ",(0,i.jsx)(s.code,{children:"node_modules/@eighshift/frontent-libs/styles/scss/eightshift-frontend-libs.scss"})," file."]}),"\n",(0,i.jsxs)(s.p,{children:["We imported that library into this file: ",(0,i.jsx)(s.code,{children:"/assets/styles/parts/_shared.scss"}),"."]}),"\n",(0,i.jsx)(s.h2,{id:"usage-outside-of-eightshift-boilerplate",children:"Usage outside of Eightshift Boilerplate"}),"\n",(0,i.jsx)(s.p,{children:"If you want to use it outside of the Eightshift Boilerplate, you can. It is only a matter of installing the package and importing it into your project's style file."}),"\n",(0,i.jsx)(s.p,{children:"In your terminal, install Eightshift Frontend Libs package:"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-bash",children:"npm install @eightshift/frontend-libs\n"})}),"\n",(0,i.jsx)(s.p,{children:"and add this import in your project:"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-scss",children:"@import '@eightshift/frontend-libs/styles/index.scss';\n"})})]})}function h(e={}){const{wrapper:s}={...(0,n.M)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},4552:(e,s,t)=>{t.d(s,{I:()=>l,M:()=>r});var i=t(11504);const n={},o=i.createContext(n);function r(e){const s=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),i.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/fea00b33.c3eab119.js b/assets/js/fea00b33.c3eab119.js deleted file mode 100644 index b7e3db178..000000000 --- a/assets/js/fea00b33.c3eab119.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[69500],{8533:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var i=t(85893),n=t(11151);const o={id:"helpers-scss",title:"Scss"},r=void 0,l={id:"basics/helpers-scss",title:"Scss",description:"docs-source",source:"@site/docs/basics/helpers-scss.md",sourceDirName:"basics",slug:"/basics/helpers-scss",permalink:"/docs/basics/helpers-scss",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"helpers-scss",title:"Scss"},sidebar:"docs",previous:{title:"JavaScript",permalink:"/docs/basics/helpers-javascript"},next:{title:"PHP",permalink:"/docs/basics/helpers-php"}},a={},c=[{value:"Default usage",id:"default-usage",level:2},{value:"Usage outside of Eightshift Boilerplate",id:"usage-outside-of-eightshift-boilerplate",level:2}];function d(e){const s={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",strong:"strong",...(0,n.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/",children:(0,i.jsx)(s.img,{src:"https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a",alt:"docs-source"})})}),"\n",(0,i.jsx)(s.p,{children:"For years, we have collected a list of useful SASS mixins, placeholders, and functions you can use in a project. You don't need to have all of this in your project. Check out our documentation and see what we have in store for you."}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsxs)(s.strong,{children:["Visit ",(0,i.jsx)(s.a,{href:"/sass",children:"SassDocs"})," for more details."]})}),"\n",(0,i.jsx)(s.h2,{id:"default-usage",children:"Default usage"}),"\n",(0,i.jsx)(s.p,{children:"Eightshift Frontend Libs styles library is already implemented in your WordPress project, so you don't need to worry about implementation."}),"\n",(0,i.jsxs)(s.p,{children:["All our sass mixing, functions and helpers are located in ",(0,i.jsx)(s.code,{children:"node_modules/@eighshift/frontent-libs/styles/scss/eightshift-frontend-libs.scss"})," file."]}),"\n",(0,i.jsxs)(s.p,{children:["We imported that library into this file: ",(0,i.jsx)(s.code,{children:"/assets/styles/parts/_shared.scss"}),"."]}),"\n",(0,i.jsx)(s.h2,{id:"usage-outside-of-eightshift-boilerplate",children:"Usage outside of Eightshift Boilerplate"}),"\n",(0,i.jsx)(s.p,{children:"If you want to use it outside of the Eightshift Boilerplate, you can. It is only a matter of installing the package and importing it into your project's style file."}),"\n",(0,i.jsx)(s.p,{children:"In your terminal, install Eightshift Frontend Libs package:"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-bash",children:"npm install @eightshift/frontend-libs\n"})}),"\n",(0,i.jsx)(s.p,{children:"and add this import in your project:"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-scss",children:"@import '@eightshift/frontend-libs/styles/index.scss';\n"})})]})}function h(e={}){const{wrapper:s}={...(0,n.a)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},11151:(e,s,t)=>{t.d(s,{Z:()=>l,a:()=>r});var i=t(67294);const n={},o=i.createContext(n);function r(e){const s=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),i.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ff445556.139913f3.js b/assets/js/ff445556.139913f3.js deleted file mode 100644 index 90bd345bf..000000000 --- a/assets/js/ff445556.139913f3.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[75756],{16360:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>s,default:()=>c,frontMatter:()=>o,metadata:()=>l,toc:()=>f});var r=n(85893),i=n(11151),a=n(8122);const o={id:"additional-content",title:"Additional content"},s=void 0,l={id:"php/filters/block/phone/additional-content",title:"Additional content",description:"",source:"@site/forms/php/filters/block/phone/additional-content.mdx",sourceDirName:"php/filters/block/phone",slug:"/php/filters/block/phone/additional-content",permalink:"/forms/php/filters/block/phone/additional-content",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"additional-content",title:"Additional content"},sidebar:"forms",previous:{title:"Additional content",permalink:"/forms/php/filters/block/radios/additional-content"},next:{title:"Alternative datasets",permalink:"/forms/php/filters/block/country/alternative-data-set"}},d={},f=[];function m(t){return(0,r.jsx)(a.F,{filter:"phone"})}function c(t={}){const{wrapper:e}={...(0,i.a)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(m,{...t})}):m()}},8122:(t,e,n)=>{n.d(e,{F:()=>s,k:()=>o});n(67294);var r=n(9286),i=n(61684),a=n(85893);function o(t){let{filter:e,onlyUse:n=["dataFilter","orderFilter","prePostIdFilter","prePostParamsFilter"]}=t;return(0,a.jsxs)(a.Fragment,{children:[n.includes("dataFilter")&&(0,a.jsx)(l,{filter:e}),n.includes("orderFilter")&&(0,a.jsx)(d,{filter:e}),n.includes("prePostIdFilter")&&(0,a.jsx)(f,{filter:e}),n.includes("prePostParamsFilter")&&(0,a.jsx)(m,{filter:e})]})}function s(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{children:"Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc."}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\tadd_filter('es_forms_block_"+e+"_additional_content', function(): string {\n\t\t\t\treturn '<custom-string>';\n\t\t\t})\n\t\t\t")})]})}function l(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Data filter"}),(0,a.jsx)("p",{children:"Allows modifying form field data before it's shown in the Block Editor or output on the frontend."}),(0,a.jsx)("p",{children:"Useful if, for example, you want to ensure that all fields fit into a 2-column layout."}),(0,a.jsx)("p",{children:"Overrides any Block Editor changes!"}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\tadd_filter('es_forms_integrations_"+e+'_data\', \'getIntegrationFilterData\', 10, 2);\n\n\t\t\t/**\n\t\t\t * Manipulate form fields data before it is sent to the Block Editor.\n\t\t\t *\n\t\t\t * @param array<mixed> $data Form fields data.\n\t\t\t * @param string $formId Form ID.\n\t\t\t *\n\t\t\t * @return array<mixed>\n\t\t\t */\n\t\t\tfunction getIntegrationFilterData(array $data, string $formId): array\n\t\t\t{\n\t\t\t\tforeach ($data as $index => $field) {\n\t\t\t\t\t$component = $field[\'component\'] ?? \'\';\n\n\t\t\t\t\tif (!$component) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t$name = $field["{$component}Name"] ?? \'\';\n\n\t\t\t\t\tif (!$name) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch ($name) {\n\t\t\t\t\t\tcase \'firstname\':\n\t\t\t\t\t\tcase \'lastname\':\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthMobile"] = 12;\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthLarge"] = 6;\n\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"] = array_merge(\n\t\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthMobile",\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthLarge",\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t')})]})}function d(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Order filter"}),(0,a.jsx)("p",{children:"Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor."}),(0,a.jsxs)("p",{children:["Not all fields need to have an order defined. For example, you may want to make sure ",(0,a.jsx)("code",{children:"firstname"}),", ",(0,a.jsx)("code",{children:"lastname"})," and ",(0,a.jsx)("code",{children:"email"})," are displayed first, but other fields follow their Block editor order."]}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_order', 'getIntegrationOrder');\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Forces form field order for the provided fields. For other fields, Block editor order is used.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationOrder(): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t'firstname',\n\t\t\t\t\t\t\t'lastname',\n\t\t\t\t\t\t\t'email',\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t")})]})}function f(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post ID filter"}),(0,a.jsx)("p",{children:"Allows updating item IDs sent to external integrations to which the form data is sent."}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_pre_post_id', 'getIntegrationPrePostId', 10, 3);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies integration item ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @param string $itemId Integration item ID.\n\t\t\t\t\t * @param array<mixed> $params Params to be sent to the integration.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @return array<mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostId(string $itemId, array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn $itemId;\n\t\t\t\t\t}\n\t\t\t\t")})]})}function m(t){let{filter:e}=t,n="";if("mailer"===e)n="mailer system";else n="external integration";return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post parameters filter"}),(0,a.jsxs)("p",{children:["Allows modifying form field data before it's sent to ",n,". Useful if you want to make values derived from the sent data, or add new fields."]}),(0,a.jsx)(r.Z,{language:"php",children:(0,i.p)("\n\t\t\t\t\tadd_filter('es_forms_integrations_"+e+"_pre_post_params', 'getIntegrationPrePostParams', 10, 2);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies form field data before it's sent to "+n+".\n\t\t\t\t\t *\n\t\t\t\t\t * @param array<string, mixed> $params Array of params.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string, mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostParams(array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\t$formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? '';\n\n\t\t\t\t\t\tif ($formSubmissionPageLt) {\n\t\t\t\t\t\t\t$params['ib-submission-source'] = [\n\t\t\t\t\t\t\t\t'name' => 'ib-submission-source',\n\t\t\t\t\t\t\t\t'value' => $formSubmissionPageLt,\n\t\t\t\t\t\t\t\t'type' => 'text',\n\t\t\t\t\t\t\t\t'internalType' => '',\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn $params;\n\t\t\t\t\t}\n\t\t\t\t")})]})}},61684:(t,e,n)=>{function r(t){const e=t.split(/\n/g);for(;0===(null==(n=e[0])?void 0:n.replace(/\s/g,"").length);){var n;e.shift()}for(;0===(null==(r=e[e.length-1])?void 0:r.replace(/\s/g,"").length);){var r;e.pop()}const i=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>{var e,n;return null!=(e=null==(n=t.match(/^\s*/))||null==(n=n[0])?void 0:n.length)?e:0})),a=Math.min(...i);return e.map((t=>t.slice(a))).join("\n")}n.d(e,{p:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/ff445556.7cd28641.js b/assets/js/ff445556.7cd28641.js new file mode 100644 index 000000000..c1d650563 --- /dev/null +++ b/assets/js/ff445556.7cd28641.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[34048],{9852:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>s,default:()=>m,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var r=n(17624),i=n(4552),a=n(80148);const o={id:"additional-content",title:"Additional content"},s=void 0,l={id:"php/filters/block/phone/additional-content",title:"Additional content",description:"",source:"@site/forms/php/filters/block/phone/additional-content.mdx",sourceDirName:"php/filters/block/phone",slug:"/php/filters/block/phone/additional-content",permalink:"/forms/php/filters/block/phone/additional-content",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"additional-content",title:"Additional content"},sidebar:"forms",previous:{title:"Additional content",permalink:"/forms/php/filters/block/radios/additional-content"},next:{title:"Alternative datasets",permalink:"/forms/php/filters/block/country/alternative-data-set"}},d={},c=[];function f(t){return(0,r.jsx)(a.g,{filter:"phone"})}function m(t={}){const{wrapper:e}={...(0,i.M)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(f,{...t})}):f()}},80148:(t,e,n)=>{n.d(e,{g:()=>s,y:()=>o});n(11504);var r=n(1608),i=n(96616),a=n(17624);function o(t){let{filter:e,onlyUse:n=["dataFilter","orderFilter","prePostIdFilter","prePostParamsFilter"]}=t;return(0,a.jsxs)(a.Fragment,{children:[n.includes("dataFilter")&&(0,a.jsx)(l,{filter:e}),n.includes("orderFilter")&&(0,a.jsx)(d,{filter:e}),n.includes("prePostIdFilter")&&(0,a.jsx)(c,{filter:e}),n.includes("prePostParamsFilter")&&(0,a.jsx)(f,{filter:e})]})}function s(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{children:"Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc."}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\tadd_filter('es_forms_block_${e}_additional_content', function(): string {\n\t\t\t\treturn '<custom-string>';\n\t\t\t})\n\t\t\t`)})]})}function l(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Data filter"}),(0,a.jsx)("p",{children:"Allows modifying form field data before it's shown in the Block Editor or output on the frontend."}),(0,a.jsx)("p",{children:"Useful if, for example, you want to ensure that all fields fit into a 2-column layout."}),(0,a.jsx)("p",{children:"Overrides any Block Editor changes!"}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\tadd_filter('es_forms_integrations_${e}_data', 'getIntegrationFilterData', 10, 2);\n\n\t\t\t/**\n\t\t\t * Manipulate form fields data before it is sent to the Block Editor.\n\t\t\t *\n\t\t\t * @param array<mixed> $data Form fields data.\n\t\t\t * @param string $formId Form ID.\n\t\t\t *\n\t\t\t * @return array<mixed>\n\t\t\t */\n\t\t\tfunction getIntegrationFilterData(array $data, string $formId): array\n\t\t\t{\n\t\t\t\tforeach ($data as $index => $field) {\n\t\t\t\t\t$component = $field['component'] ?? '';\n\n\t\t\t\t\tif (!$component) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t$name = $field["{$component}Name"] ?? '';\n\n\t\t\t\t\tif (!$name) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch ($name) {\n\t\t\t\t\t\tcase 'firstname':\n\t\t\t\t\t\tcase 'lastname':\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthMobile"] = 12;\n\t\t\t\t\t\t\t$data[$index]["{$component}FieldWidthLarge"] = 6;\n\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"] = array_merge(\n\t\t\t\t\t\t\t\t$data[$index]["{$component}DisabledOptions"],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthMobile",\n\t\t\t\t\t\t\t\t\t"{$component}FieldWidthLarge",\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t`)})]})}function d(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Order filter"}),(0,a.jsx)("p",{children:"Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor."}),(0,a.jsxs)("p",{children:["Not all fields need to have an order defined. For example, you may want to make sure ",(0,a.jsx)("code",{children:"firstname"}),", ",(0,a.jsx)("code",{children:"lastname"})," and ",(0,a.jsx)("code",{children:"email"})," are displayed first, but other fields follow their Block editor order."]}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_order', 'getIntegrationOrder');\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Forces form field order for the provided fields. For other fields, Block editor order is used.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationOrder(): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t'firstname',\n\t\t\t\t\t\t\t'lastname',\n\t\t\t\t\t\t\t'email',\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t`)})]})}function c(t){let{filter:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post ID filter"}),(0,a.jsx)("p",{children:"Allows updating item IDs sent to external integrations to which the form data is sent."}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_pre_post_id', 'getIntegrationPrePostId', 10, 3);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies integration item ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @param string $itemId Integration item ID.\n\t\t\t\t\t * @param array<mixed> $params Params to be sent to the integration.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t * \n\t\t\t\t\t * @return array<mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostId(string $itemId, array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\treturn $itemId;\n\t\t\t\t\t}\n\t\t\t\t`)})]})}function f(t){let{filter:e}=t,n="";if("mailer"===e)n="mailer system";else n="external integration";return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{children:"Pre-post parameters filter"}),(0,a.jsxs)("p",{children:["Allows modifying form field data before it's sent to ",n,". Useful if you want to make values derived from the sent data, or add new fields."]}),(0,a.jsx)(r.c,{language:"php",children:(0,i.c)(`\n\t\t\t\t\tadd_filter('es_forms_integrations_${e}_pre_post_params', 'getIntegrationPrePostParams', 10, 2);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Modifies form field data before it's sent to ${n}.\n\t\t\t\t\t *\n\t\t\t\t\t * @param array<string, mixed> $params Array of params.\n\t\t\t\t\t * @param string $formId Form ID.\n\t\t\t\t\t *\n\t\t\t\t\t * @return array<string, mixed>\n\t\t\t\t\t */\n\t\t\t\t\tfunction getIntegrationPrePostParams(array $params, string $formId): array\n\t\t\t\t\t{\n\t\t\t\t\t\t$formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? '';\n\n\t\t\t\t\t\tif ($formSubmissionPageLt) {\n\t\t\t\t\t\t\t$params['ib-submission-source'] = [\n\t\t\t\t\t\t\t\t'name' => 'ib-submission-source',\n\t\t\t\t\t\t\t\t'value' => $formSubmissionPageLt,\n\t\t\t\t\t\t\t\t'type' => 'text',\n\t\t\t\t\t\t\t\t'internalType' => '',\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn $params;\n\t\t\t\t\t}\n\t\t\t\t`)})]})}},96616:(t,e,n)=>{function r(t){const e=t.split(/\n/g);for(;0===e[0]?.replace(/\s/g,"").length;)e.shift();for(;0===e[e.length-1]?.replace(/\s/g,"").length;)e.pop();const n=t.split(/\n/g).filter((t=>t.replace(/\s/g,"").length>0)).map((t=>t.match(/^\s*/)?.[0]?.length??0)),r=Math.min(...n);return e.map((t=>t.slice(r))).join("\n")}n.d(e,{c:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/main.f78c3430.js b/assets/js/main.f78c3430.js deleted file mode 100644 index c0d7e6339..000000000 --- a/assets/js/main.f78c3430.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! For license information please see main.f78c3430.js.LICENSE.txt */ -(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[40179],{20830:(e,t,n)=>{"use strict";n.d(t,{W:()=>o});var s=n(67294);function o(){return s.createElement("svg",{width:"20",height:"20",className:"DocSearch-Search-Icon",viewBox:"0 0 20 20"},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"}))}},723:(e,t,n)=>{"use strict";n.d(t,{Z:()=>p});n(67294);var s=n(68356),o=n.n(s),a=n(16887);const r={"0058bf23":[()=>n.e(66114).then(n.bind(n,72334)),"@site/docs/legacy/v8/basics/blocks-important.md",72334],"014fa81c":[()=>n.e(36666).then(n.bind(n,49422)),"@site/docs/legacy/v6/basics/wp-cli.md",49422],"01980361":[()=>n.e(99248).then(n.bind(n,46097)),"@site/docs/legacy/v5/basics/blocks-intro.md",46097],"01a85c17":[()=>Promise.all([n.e(40532),n.e(64013)]).then(n.bind(n,91223)),"@theme/BlogTagsListPage",91223],"0205c089":[()=>Promise.all([n.e(40532),n.e(72312),n.e(7687)]).then(n.bind(n,61879)),"@site/forms/php/filters/integrations/jira.mdx",61879],"0242a13a":[()=>n.e(60299).then(n.bind(n,37556)),"@site/docs/legacy/v7/basics/blocks-styles.md",37556],"029c29d9":[()=>Promise.all([n.e(40532),n.e(72312),n.e(28177)]).then(n.bind(n,4415)),"@site/forms/php/filters/integrations/greenhouse.mdx",4415],"02b9869f":[()=>n.e(52592).then(n.bind(n,20806)),"@site/docs/basics/blocks-reusable.md",20806],"035d9dc3":[()=>n.e(91799).then(n.bind(n,63203)),"@site/forms/addons/premium/computed-fields/intro.md",63203],"048a2137":[()=>n.e(71036).then(n.bind(n,34559)),"@site/docs/basics/webpack.md",34559],"0655bd76":[()=>n.e(13894).then(n.bind(n,83685)),"@site/docs/legacy/v4/guides/blocks-structure-block-item.md",83685],"066ec25f":[()=>n.e(74758).then(n.bind(n,92002)),"@site/forms/features/cache.mdx",92002],"06946b11":[()=>n.e(99701).then(n.bind(n,20676)),"@site/docs/legacy/v5/basics/blocks-reusable.md",20676],"07af796b":[()=>n.e(88394).then(n.bind(n,29154)),"@site/docs/legacy/v5/basics/block-structure.md",29154],"07b5dca2":[()=>n.e(47546).then(n.bind(n,13384)),"@site/forms/integrations/active-campaign.md",13384],"07fb059b":[()=>n.e(4309).then(n.bind(n,14982)),"@site/forms/php/filters/block/form/redirect-timeout.md",14982],"0810f675":[()=>n.e(79133).then(n.t.bind(n,45784,19)),"~blog/default/blog-tags-custom-post-type-d16.json",45784],"08cebe36":[()=>n.e(85985).then(n.bind(n,87580)),"@site/docs/basics/blocks-storybook.md",87580],"092d0294":[()=>Promise.all([n.e(40532),n.e(72312),n.e(48792)]).then(n.bind(n,34790)),"@site/forms/php/filters/integrations/mailer.mdx",34790],"09d8acdc":[()=>n.e(2040).then(n.bind(n,1025)),"@site/docs/legacy/v6/basics/blocks-attributes.md",1025],"0a9768df":[()=>n.e(5488).then(n.bind(n,88820)),"@site/forms/features/dashboard.md",88820],"0aeeb10b":[()=>n.e(79321).then(n.bind(n,87930)),"@site/docs/eightshift-frontend-libs.md",87930],"0bea9cd5":[()=>n.e(65039).then(n.bind(n,53888)),"@site/docs/legacy/v7/basics/blocks-reusable.md",53888],"0c06981f":[()=>n.e(84266).then(n.bind(n,54631)),"@site/forms/php/filters/entries/pre-post-params.md",54631],"0c7b26d1":[()=>Promise.all([n.e(40532),n.e(72312),n.e(94829)]).then(n.bind(n,75860)),"@site/forms/php/filters/block/country/additional-content.mdx",75860],"0cbbedcd":[()=>n.e(96854).then(n.bind(n,24763)),"@site/docs/legacy/v4/advanced/sass-docs.md",24763],"0cde639a":[()=>n.e(97227).then(n.bind(n,39334)),"@site/docs/legacy/v7/basics/basics-intro.md",39334],"0cf6d2ee":[()=>n.e(12594).then(n.bind(n,38891)),"@site/docs/legacy/v7/basics/blocks-structure.md",38891],"0d27e988":[()=>Promise.all([n.e(40532),n.e(72312),n.e(90742)]).then(n.bind(n,75983)),"@site/forms/php/filters/integrations/goodbits.mdx",75983],"0dcc1e01":[()=>n.e(44639).then(n.t.bind(n,51840,19)),"~blog/default/blog-tags-terms-b0c-list.json",51840],"0e617e7a":[()=>n.e(46604).then(n.bind(n,31420)),"@site/docs/legacy/v8/basics/blocks-structure.md",31420],"0f1457e8":[()=>n.e(95534).then(n.bind(n,97671)),"@site/docs/legacy/v4/advanced/helpers-object.md",97671],"0f187495":[()=>n.e(80239).then(n.bind(n,3056)),"@site/docs/legacy/v5/basics/autowiring.md",3056],"0fe8a02a":[()=>n.e(53244).then(n.bind(n,33770)),"@site/docs/versions.md",33770],"103a101a":[()=>n.e(48379).then(n.t.bind(n,4857,19)),"~blog/default/blog-tags-components-279.json",4857],"10c1e86a":[()=>n.e(37933).then(n.bind(n,67244)),"@site/docs/basics/blocks-component-manifest.md",67244],"10db50b8":[()=>n.e(57551).then(n.bind(n,13112)),"@site/docs/basics/blocks-component-structure.md",13112],"110cdc73":[()=>n.e(90393).then(n.bind(n,36177)),"@site/forms/php/filters/scripts/dependency-theme.md",36177],"120f8e9c":[()=>n.e(34900).then(n.bind(n,42455)),"@site/forms/addons/premium/computed-fields/settings.md",42455],"13362ea9":[()=>n.e(65230).then(n.bind(n,74631)),"@site/docs/basics/writing-styles.md",74631],"1385dc12":[()=>n.e(79505).then(n.bind(n,2809)),"@site/docs/basics/rest-field.md",2809],"13c21afe":[()=>n.e(30673).then(n.bind(n,14268)),"@site/docs/plugin.md",14268],"147ca104":[()=>n.e(17107).then(n.bind(n,82408)),"@site/docs/legacy/v5/basics/blocks-component-structure.md",82408],"1622041d":[()=>n.e(48417).then(n.bind(n,94374)),"@site/docs/legacy/v8/basics/architecture-concepts.md",94374],"163b78fe":[()=>n.e(66250).then(n.bind(n,45951)),"@site/docs/legacy/v6/basics/blocks-special-use-cases.md",45951],"1698e1d1":[()=>n.e(27773).then(n.bind(n,56738)),"@site/forms/features/conditional-tags.md",56738],17896441:[()=>Promise.all([n.e(40532),n.e(72312),n.e(78945),n.e(27918)]).then(n.bind(n,78945)),"@theme/DocItem",78945],"183053be":[()=>n.e(16586).then(n.t.bind(n,14540,19)),"~blog/default/blog-tags-images-ab2.json",14540],"186bf65f":[()=>n.e(50434).then(n.bind(n,21661)),"@site/docs/legacy/v6/basics/example-class.md",21661],"18ea4958":[()=>n.e(38042).then(n.bind(n,24885)),"@site/forms/features/spam-prevention.md",24885],"19a6ffde":[()=>n.e(21958).then(n.bind(n,94012)),"@site/docs/legacy/v7/basics/blocks-patterns.md",94012],"1a4e3797":[()=>Promise.all([n.e(40532),n.e(97920)]).then(n.bind(n,48852)),"@theme/SearchPage",48852],"1a6a2ec3":[()=>n.e(62707).then(n.bind(n,98612)),"@site/forms/features/geolocation.md",98612],"1a8da153":[()=>n.e(63750).then(n.bind(n,36714)),"@site/forms/php/filters/blocks/media-breakpoints.md",36714],"1aa24188":[()=>n.e(40168).then(n.bind(n,72691)),"@site/docs/legacy/v4/guides/fonts-custom.md",72691],"1ab6957b":[()=>n.e(17312).then(n.bind(n,51909)),"@site/forms/php/global-variables/integrations/clearbit.md",51909],"1b63fe07":[()=>n.e(8622).then(n.bind(n,81383)),"@site/docs/legacy/v8/basics/helpers-php.md",81383],"1c82c718":[()=>n.e(35491).then(n.bind(n,45754)),"@site/docs/legacy/v8/basics/writing-styles.md",45754],"1d1d00c8":[()=>n.e(56824).then(n.bind(n,58759)),"@site/docs/legacy/v7/basics/blocks-special-use-cases.md",58759],"1eef4415":[()=>n.e(41381).then(n.bind(n,13598)),"@site/docs/legacy/v6/basics/frontend.md",13598],"1f5f1faf":[()=>n.e(60414).then(n.bind(n,12073)),"@site/docs/legacy/v6/basics/block-structure.md",12073],"2067e39b":[()=>n.e(4669).then(n.t.bind(n,81779,19)),"~blog/default/blog-tags-taxonomy-769-list.json",81779],"20e43c84":[()=>n.e(24498).then(n.bind(n,92633)),"@site/docs/legacy/v6/basics/extending-classes.md",92633],"2176bd9e":[()=>n.e(68975).then(n.t.bind(n,48678,19)),"~blog/default/blog-tags-fonts-dfb-list.json",48678],"21c119bb":[()=>n.e(4254).then(n.bind(n,53451)),"@site/forms/addons/create/utils-library.md",53451],"2297cc0d":[()=>n.e(78951).then(n.bind(n,64415)),"@site/docs/legacy/v5/basics/fonts.md",64415],"22cdf000":[()=>n.e(7561).then(n.bind(n,53420)),"@site/forms/features/validation.md",53420],"22e7b626":[()=>n.e(16633).then(n.bind(n,4399)),"@site/docs/legacy/v5/basics/blocks-transforms.md",4399],23002826:[()=>Promise.all([n.e(40532),n.e(72312),n.e(88426)]).then(n.bind(n,68668)),"@site/forms/php/filters/integrations/airtable.mdx",68668],"230a0014":[()=>n.e(33263).then(n.bind(n,47228)),"@site/docs/additional-libraries/docs.md",47228],"2345a3b7":[()=>n.e(97485).then(n.bind(n,97795)),"@site/docs/legacy/v4/guides/rest-intro.md",97795],"23464d23":[()=>Promise.all([n.e(40532),n.e(72312),n.e(24490)]).then(n.bind(n,18834)),"@site/forms/php/filters/block/field/additional-content.mdx",18834],"23da3c05":[()=>n.e(56129).then(n.t.bind(n,48021,19)),"~blog/default/blog-tags-theme-options-74e-list.json",48021],"24b57605":[()=>n.e(10725).then(n.bind(n,29720)),"@site/docs/legacy/v7/basics/blocks.md",29720],"25539fcb":[()=>n.e(79590).then(n.bind(n,93846)),"@site/forms/features/locations.md",93846],"2554564d":[()=>n.e(87019).then(n.bind(n,94467)),"@site/docs/legacy/v4/guides/blocks-get-actions-helper.md",94467],"259bd0c5":[()=>n.e(78645).then(n.bind(n,53981)),"@site/forms/php/filters/block/form/hide-global-msg-timeout.md",53981],"25b43794":[()=>n.e(27561).then(n.bind(n,18575)),"@site/docs/legacy/v6/basics/rest-field.md",18575],"26b1dccf":[()=>n.e(37086).then(n.bind(n,76812)),"@site/forms/php/global-variables/integrations/hubspot.md",76812],"2716246c":[()=>n.e(80409).then(n.bind(n,5246)),"@site/docs/legacy/v6/basics/blocks-structure.md",5246],"2747918f":[()=>n.e(49612).then(n.bind(n,8942)),"@site/blog/2022-01-20-initial-setup.md",8942],"27c45671":[()=>n.e(41254).then(n.bind(n,22017)),"@site/docs/legacy/v5/basics/frontend.md",22017],"281e3fe0":[()=>n.e(27987).then(n.bind(n,4930)),"@site/docs/legacy/v7/basics/blocks-important.md",4930],"286194e8":[()=>n.e(56962).then(n.bind(n,25865)),"@site/docs/legacy/v4/guides/taxonomy.md",25865],"29014e21":[()=>n.e(63252).then(n.bind(n,21828)),"@site/docs/basics/helpers.md",21828],"2a615d1d":[()=>n.e(80920).then(n.bind(n,3141)),"@site/docs/legacy/v4/guides/blocks-structure-component.md",3141],"2a89e141":[()=>n.e(42367).then(n.bind(n,50053)),"@site/docs/legacy/v5/basics/blocks-structure.md",50053],"2b4fbe73":[()=>n.e(46946).then(n.bind(n,27395)),"@site/docs/basics/namespaces.md",27395],"2bd83684":[()=>n.e(55256).then(n.bind(n,99727)),"@site/docs/legacy/v6/basics/architecture-concepts.md",99727],"2c4528c6":[()=>n.e(94120).then(n.bind(n,44770)),"@site/docs/legacy/v5/basics/library.md",44770],"2c773ba3":[()=>n.e(25450).then(n.bind(n,22815)),"@site/docs/legacy/v6/basics/helpers-php.md",22815],"2d764dca":[()=>n.e(42957).then(n.bind(n,4572)),"@site/docs/legacy/v6/basics/blocks.md",4572],"2e9194de":[()=>n.e(81302).then(n.bind(n,56121)),"@site/docs/legacy/v5/basics/blocks-attributes.md",56121],"2e99cb0e":[()=>n.e(51610).then(n.bind(n,5260)),"@site/docs/legacy/v6/basics/blocks-reusable.md",5260],"2f2ad190":[()=>n.e(97550).then(n.bind(n,43617)),"@site/docs/legacy/v8/basics/global-settings.md",43617],"30241ed8":[()=>n.e(27848).then(n.bind(n,38190)),"@site/docs/legacy/v4/guides/columns-post-type.md",38190],"30e34e97":[()=>n.e(6237).then(n.t.bind(n,16493,19)),"~blog/default/blog-tags-theme-options-74e.json",16493],"3124e7fd":[()=>n.e(17577).then(n.bind(n,76152)),"@site/docs/legacy/v7/basics/blocks-component-in-block.md",76152],"318b66a0":[()=>n.e(38765).then(n.bind(n,46507)),"@site/docs/legacy/v7/basics/webpack.md",46507],"31b83fd6":[()=>n.e(39205).then(n.bind(n,41087)),"@site/docs/legacy/v5/basics/basics-intro.md",41087],"31d6ca5c":[()=>n.e(10290).then(n.t.bind(n,36734,19)),"~blog/default/blog-tags-fonts-dfb.json",36734],"31e124ed":[()=>n.e(1463).then(n.bind(n,33261)),"@site/docs/legacy/v7/basics/extending-classes.md",33261],"32030e6f":[()=>n.e(22705).then(n.t.bind(n,38639,19)),"~blog/default/blog-tags-wpcli-f24-list.json",38639],"325ddbed":[()=>n.e(26512).then(n.bind(n,65821)),"@site/docs/legacy/v5/basics/blocks-component-manifest.md",65821],"326267d5":[()=>n.e(39687).then(n.bind(n,79907)),"@site/docs/legacy/v7/basics/blocks-hooks.md",79907],"341e5e63":[()=>n.e(98112).then(n.bind(n,18289)),"@site/docs/legacy/v6/basics/blocks-component-structure.md",18289],"3481c063":[()=>n.e(37379).then(n.t.bind(n,97415,19)),"~blog/default/blog-tags-block-047.json",97415],"35144e55":[()=>n.e(73899).then(n.bind(n,33511)),"@site/docs/legacy/v7/basics/manifest.md",33511],"35847f85":[()=>n.e(1953).then(n.bind(n,25951)),"@site/docs/legacy/v7/basics/writing-styles.md",25951],"35d3178b":[()=>Promise.all([n.e(40532),n.e(72312),n.e(33488)]).then(n.bind(n,50476)),"@site/forms/php/filters/integrations/workable.mdx",50476],"3634820b":[()=>n.e(51960).then(n.bind(n,91438)),"@site/forms/addons/premium/computed-fields/data-flow.md",91438],"369bf9e9":[()=>n.e(39599).then(n.t.bind(n,74603,19)),"~blog/default/blog-tags-assets-503-list.json",74603],"36d70216":[()=>n.e(14575).then(n.bind(n,91830)),"@site/docs/legacy/v8/basics/fonts.md",91830],"37703fea":[()=>n.e(62887).then(n.bind(n,45606)),"@site/docs/legacy/v7/basics/rest.md",45606],"37f27a13":[()=>Promise.all([n.e(40532),n.e(72312),n.e(12345)]).then(n.bind(n,84836)),"@site/forms/php/filters/block/textarea/additional-content.mdx",84836],"385e6aa6":[()=>n.e(88599).then(n.bind(n,88623)),"@site/forms/php/global-variables/integrations/moments.md",88623],"388ae04f":[()=>n.e(15777).then(n.bind(n,44472)),"@site/docs/legacy/v6/basics/blocks-global-manifest.md",44472],"39035dcb":[()=>n.e(35179).then(n.bind(n,71795)),"@site/docs/legacy/v7/basics/tips-tricks.md",71795],"390b04b5":[()=>n.e(56264).then(n.bind(n,6834)),"@site/forms/integrations/jira.md",6834],"39447efc":[()=>n.e(56224).then(n.bind(n,48978)),"@site/blog/2022-12-13-using-cpts-and-taxonomies.md",48978],"39b05d13":[()=>n.e(52910).then(n.bind(n,97672)),"@site/docs/legacy/v8/basics/blocks-special-use-cases.md",97672],"39c8d3f8":[()=>n.e(24359).then(n.bind(n,38467)),"@site/forms/php/filters/block/submit/component.md",38467],"39d8d90f":[()=>n.e(75885).then(n.bind(n,22538)),"@site/docs/legacy/v8/basics/blocks-registration.md",22538],"39e353ee":[()=>n.e(98169).then(n.bind(n,88426)),"@site/blog/2023-09-05-wrapper-as-a-standalone-component.md",88426],"3a244aec":[()=>n.e(23246).then(n.bind(n,41647)),"@site/docs/legacy/v7/basics/namespaces.md",41647],"3aebe9a9":[()=>n.e(14248).then(n.bind(n,88691)),"@site/forms/integrations/goodbits.md",88691],"3b5edcc4":[()=>n.e(31647).then(n.t.bind(n,17369,19)),"~blog/default/blog-tags-images-ab2-list.json",17369],"3b7ac723":[()=>Promise.all([n.e(40532),n.e(72312),n.e(76809)]).then(n.bind(n,87385)),"@site/forms/javascript/state/state.mdx",87385],"3cc3f22b":[()=>n.e(2709).then(n.bind(n,26718)),"@site/docs/legacy/v6/basics/helpers-scss.md",26718],"3d99f89d":[()=>n.e(2821).then(n.bind(n,37954)),"@site/blog/2023-06-12-multiple-same-components.md?truncated=true",37954],"3e53f2d3":[()=>n.e(21336).then(n.bind(n,9239)),"@site/forms/features/enrichment.md",9239],"3ed2c247":[()=>n.e(70702).then(n.bind(n,41882)),"@site/docs/legacy/v8/basics/blocks-styles.md",41882],"3f56b28d":[()=>n.e(37907).then(n.bind(n,46761)),"@site/docs/basics/frontend.md",46761],"3fd111c7":[()=>n.e(64909).then(n.bind(n,28124)),"@site/blog/2022-12-22-block-patterns.md?truncated=true",28124],"40adba6a":[()=>n.e(55582).then(n.bind(n,46311)),"@site/docs/basics/blocks-global-manifest.md",46311],"40bcb702":[()=>n.e(24783).then(n.bind(n,35135)),"@site/docs/legacy/v6/basics/writing-styles.md",35135],"41aa949a":[()=>n.e(15388).then(n.bind(n,31555)),"@site/docs/legacy/v6/basics/helpers.md",31555],"41bc8270":[()=>n.e(82452).then(n.bind(n,92132)),"@site/docs/legacy/v4/advanced/webpack.md",92132],42478870:[()=>n.e(72908).then(n.t.bind(n,27707,19)),"~blog/default/blog-tags-custom-post-type-d16-list.json",27707],"426b1138":[()=>n.e(62847).then(n.bind(n,48640)),"@site/docs/additional-libraries/boilerplate-plugin.md",48640],"4293ef56":[()=>n.e(45249).then(n.t.bind(n,10477,19)),"~blog/default/blog-tags-taxonomies-862.json",10477],"42d5a18c":[()=>n.e(78393).then(n.bind(n,15306)),"@site/forms/features/show-as.md",15306],"435e79fb":[()=>Promise.all([n.e(40532),n.e(72312),n.e(49594)]).then(n.bind(n,91058)),"@site/forms/javascript/state/store.mdx",91058],"43ab2c5c":[()=>n.e(11852).then(n.bind(n,17244)),"@site/forms/welcome.mdx",17244],"43ac2fb4":[()=>n.e(98195).then(n.bind(n,11586)),"@site/docs/legacy/v4/versions.md",11586],"43adcc08":[()=>n.e(82209).then(n.bind(n,76373)),"@site/docs/legacy/v4/guides/extending-classes.md",76373],"43d76b0c":[()=>n.e(60710).then(n.bind(n,35075)),"@site/docs/legacy/v6/basics/manifest.md",35075],"44b117b5":[()=>n.e(54178).then(n.bind(n,86314)),"@site/forms/php/filters/block/step/component-prev.md",86314],"44c6aa62":[()=>n.e(40653).then(n.bind(n,67633)),"@site/docs/legacy/v4/guides/enqueue.md",67633],"44ef7d31":[()=>Promise.all([n.e(40532),n.e(72312),n.e(11792)]).then(n.bind(n,42168)),"@site/forms/php/filters/block/checkboxes/additional-content.mdx",42168],"44f6c623":[()=>n.e(683).then(n.bind(n,37295)),"@site/docs/legacy/v5/basics/global-settings.md",37295],45159772:[()=>n.e(67175).then(n.bind(n,6437)),"@site/forms/php/filters/geolocation/countries.md",6437],"45a57db1":[()=>n.e(59441).then(n.bind(n,12593)),"@site/forms/integrations/mailer.md",12593],"4619ca6c":[()=>n.e(63452).then(n.bind(n,69086)),"@site/forms/php/global-variables/how-to-use.md",69086],"46540e82":[()=>n.e(98280).then(n.bind(n,87105)),"@site/src/pages/sass.js",87105],46604707:[()=>n.e(2864).then(n.bind(n,85919)),"@site/docs/basics/blocks.md",85919],"46ddaac3":[()=>n.e(85526).then(n.bind(n,78326)),"@site/docs/legacy/v7/basics/fonts.md",78326],"47a776f2":[()=>n.e(15954).then(n.bind(n,68268)),"@site/docs/theme.md",68268],"49403d8c":[()=>n.e(30385).then(n.bind(n,23437)),"@site/blog/2022-03-03-adding-blocks-wpcli.md?truncated=true",23437],"499ba0c7":[()=>n.e(73590).then(n.t.bind(n,69385,19)),"~blog/default/blog-tags-setup-e81-list.json",69385],"4aad33a5":[()=>n.e(55338).then(n.bind(n,29341)),"@site/forms/features/security.md",29341],"4b8950e9":[()=>n.e(67759).then(n.bind(n,93436)),"@site/docs/legacy/v6/basics/browser-sync.md",93436],"4cfcdd67":[()=>n.e(16106).then(n.bind(n,49976)),"@site/docs/legacy/v8/basics/blocks-component-structure.md",49976],"4dad0b95":[()=>n.e(60614).then(n.bind(n,1110)),"@site/forms/php/filters/blocks/additional-blocks.md",1110],"4e418365":[()=>n.e(78294).then(n.bind(n,68861)),"@site/forms/features/fallback-emails.md",68861],"4e946086":[()=>n.e(26079).then(n.bind(n,41252)),"@site/docs/legacy/v8/basics/block-manifest.md",41252],"4eaf1272":[()=>n.e(43118).then(n.bind(n,45358)),"@site/docs/legacy/v7/basics/helpers.md",45358],"4ec5858e":[()=>n.e(17993).then(n.bind(n,21583)),"@site/docs/legacy/v4/advanced/helpers-error-logger.md",21583],"4ece2ef5":[()=>n.e(50618).then(n.bind(n,84148)),"@site/forms/features/import-export.md",84148],"4f057d99":[()=>n.e(42709).then(n.bind(n,10899)),"@site/docs/legacy/v8/basics/namespaces.md",10899],"4f6e5aff":[()=>n.e(14047).then(n.bind(n,8495)),"@site/forms/integrations/mailchimp.md",8495],"4f8601bc":[()=>n.e(55178).then(n.bind(n,34540)),"@site/blog/2022-01-21-components-and-blocks.md?truncated=true",34540],"5024c8a9":[()=>n.e(57780).then(n.bind(n,7507)),"@site/docs/legacy/v5/basics/helpers-scss.md",7507],"5025c75d":[()=>Promise.all([n.e(40532),n.e(72312),n.e(17343)]).then(n.bind(n,49474)),"@site/forms/javascript/state/utils.mdx",49474],"50c94cd7":[()=>n.e(69867).then(n.bind(n,96667)),"@site/forms/features/debug.md",96667],"518baa20":[()=>n.e(68330).then(n.bind(n,62772)),"@site/docs/legacy/v7/basics/autowiring.md",62772],"51f93b96":[()=>n.e(22086).then(n.bind(n,46879)),"@site/docs/legacy/v4/guides/columns-taxonomy.md",46879],"5215d6a1":[()=>n.e(76401).then(n.bind(n,97429)),"@site/forms/addons/premium/computed-fields/blocks.md",97429],"52c25d1c":[()=>n.e(44280).then(n.bind(n,83355)),"@site/blog/2024-02-01-making-your-project-multilingual.md?truncated=true",83355],"533d3ffb":[()=>n.e(78171).then(n.bind(n,14454)),"@site/docs/legacy/v8/basics/manifest.md",14454],"536309bb":[()=>n.e(87888).then(n.bind(n,60620)),"@site/forms/php/filters/validation/force-mimetype-from-fs.md",60620],"53a1ff94":[()=>n.e(34111).then(n.bind(n,65670)),"@site/blog/2022-04-25-using-assets.md?truncated=true",65670],"541d824c":[()=>n.e(88005).then(n.bind(n,41257)),"@site/docs/basics/blocks-transforms.md",41257],"54305ae0":[()=>n.e(76288).then(n.t.bind(n,42216,19)),"~blog/default/blog-tags-advanced-custom-fields-ef6.json",42216],"548faf69":[()=>n.e(14422).then(n.bind(n,90054)),"@site/docs/basics/example-class.md",90054],"54b7d866":[()=>n.e(87823).then(n.t.bind(n,24469,19)),"/home/runner/work/eightshift-docs/eightshift-docs/website/.docusaurus/docusaurus-plugin-content-blog/default/plugin-route-context-module-100.json",24469],56802612:[()=>n.e(19722).then(n.bind(n,23990)),"@site/docs/basics/blocks-registration.md",23990],"56b8c1aa":[()=>n.e(21594).then(n.bind(n,24888)),"@site/docs/legacy/v5/basics/rest-field.md",24888],"56f8d3dd":[()=>n.e(3530).then(n.bind(n,12994)),"@site/forms/integrations/airtable.md",12994],"590322ab":[()=>n.e(17905).then(n.bind(n,33380)),"@site/blog/2022-04-08-adding-fonts.md",33380],"59c340d8":[()=>n.e(33304).then(n.bind(n,56655)),"@site/docs/legacy/v7/basics/blocks-attributes.md",56655],"5add9946":[()=>n.e(14236).then(n.bind(n,13943)),"@site/forms/php/filters/block/form/success-redirect-variation.md",13943],"5b027e06":[()=>n.e(71128).then(n.t.bind(n,27579,19)),"~blog/default/blog-tags-taxonomies-862-list.json",27579],"5b767225":[()=>n.e(87954).then(n.bind(n,59757)),"@site/docs/legacy/v4/advanced/components-heading-level.md",59757],"5ba3e239":[()=>n.e(47829).then(n.bind(n,15856)),"@site/blog/2024-02-01-making-your-project-multilingual.md",15856],"5bd755c4":[()=>Promise.all([n.e(40532),n.e(72312),n.e(39252)]).then(n.bind(n,92983)),"@site/forms/php/filters/block/date/additional-content.mdx",92983],"5be441ac":[()=>n.e(34339).then(n.bind(n,77022)),"@site/docs/legacy/v8/basics/blocks-wrapper.md",77022],"5bf26d11":[()=>n.e(19555).then(n.bind(n,46387)),"@site/docs/legacy/v6/basics/autowiring.md",46387],"5c125432":[()=>n.e(68243).then(n.bind(n,57326)),"@site/docs/legacy/v7/basics/blocks-wrapper.md",57326],"5cda8f59":[()=>n.e(43374).then(n.bind(n,22352)),"@site/docs/legacy/v4/guides/blocks-registration.md",22352],"5d34a3e0":[()=>n.e(80843).then(n.bind(n,14233)),"@site/docs/basics/architecture-concepts.md",14233],"5d41d0b6":[()=>n.e(46738).then(n.bind(n,38323)),"@site/forms/php/global-variables/integrations/mailerlite.md",38323],"5e3b00c5":[()=>n.e(61823).then(n.bind(n,415)),"@site/forms/integrations/greenhouse.md",415],"5e95c892":[()=>n.e(29661).then(n.bind(n,41892)),"@theme/DocsRoot",41892],"5e9f5e1a":[()=>Promise.resolve().then(n.bind(n,36809)),"@generated/docusaurus.config",36809],"5ed3387d":[()=>n.e(52032).then(n.bind(n,62414)),"@site/docs/requirements.md",62414],"5f22e924":[()=>n.e(96781).then(n.bind(n,77628)),"@site/docs/legacy/v6/basics/backend.md",77628],"5fbdd67a":[()=>n.e(99731).then(n.bind(n,29410)),"@site/docs/legacy/v6/basics/helpers-javascript.md",29410],"5fc994c2":[()=>n.e(14274).then(n.bind(n,82465)),"@site/src/pages/showcase.js",82465],"600a6af1":[()=>n.e(36766).then(n.bind(n,54201)),"@site/forms/javascript/state/how-to-use.md",54201],"6042c76a":[()=>n.e(89659).then(n.bind(n,12005)),"@site/forms/php/global-variables/geolocation.md",12005],"60d85392":[()=>n.e(40360).then(n.t.bind(n,15745,19)),"/home/runner/work/eightshift-docs/eightshift-docs/website/.docusaurus/docusaurus-plugin-content-pages/default/plugin-route-context-module-100.json",15745],"6156002b":[()=>n.e(54005).then(n.bind(n,4290)),"@site/docs/legacy/v8/basics/block-structure.md",4290],"619eeade":[()=>n.e(26736).then(n.bind(n,28341)),"@site/docs/legacy/v6/versions.md",28341],"6203860c":[()=>n.e(83256).then(n.bind(n,78296)),"@site/docs/legacy/v8/basics/blocks.md",78296],"62284ec3":[()=>n.e(34514).then(n.bind(n,75098)),"@site/docs/legacy/v8/basics/blocks-hooks.md",75098],"6299beff":[()=>n.e(48976).then(n.bind(n,94905)),"@site/blog/2022-05-10-acf-in-a-project.md?truncated=true",94905],"62f60b5b":[()=>n.e(25335).then(n.bind(n,75914)),"@site/forms/integrations/pipedrive.md",75914],"63b7ed35":[()=>n.e(14011).then(n.bind(n,31061)),"@site/docs/legacy/v8/basics/helpers.md",31061],"64042be6":[()=>n.e(88863).then(n.bind(n,36405)),"@site/docs/legacy/v8/basics/wp-cli.md",36405],"640b2864":[()=>n.e(89141).then(n.t.bind(n,7085,19)),"/home/runner/work/eightshift-docs/eightshift-docs/website/.docusaurus/docusaurus-theme-search-algolia/default/plugin-route-context-module-100.json",7085],"641a79fb":[()=>n.e(78345).then(n.bind(n,62153)),"@site/docs/legacy/v8/basics/blocks-transforms.md",62153],64793643:[()=>Promise.all([n.e(40532),n.e(72312),n.e(70036)]).then(n.bind(n,56381)),"@site/forms/javascript/state/enrichment.mdx",56381],"64e3919b":[()=>n.e(5768).then(n.bind(n,49286)),"@site/forms/php/filters/general/http-request-timeout.md",49286],"66151e3f":[()=>n.e(47698).then(n.bind(n,79596)),"@site/docs/legacy/v7/basics/blocks-variations.md",79596],"67644baa":[()=>n.e(52483).then(n.bind(n,56145)),"@site/docs/legacy/v5/basics/browser-sync.md",56145],"679e6283":[()=>n.e(37739).then(n.bind(n,20485)),"@site/forms/php/global-variables/integrations/airtable.md",20485],"67da9612":[()=>n.e(20090).then(n.t.bind(n,83945,19)),"~blog/default/blog-tags-icons-c8e.json",83945],"6875c492":[()=>Promise.all([n.e(40532),n.e(72312),n.e(79677),n.e(48610)]).then(n.bind(n,41714)),"@theme/BlogTagsPostsPage",41714],"688ea354":[()=>n.e(47697).then(n.bind(n,36877)),"@site/docs/legacy/v6/basics/global-settings.md",36877],"68c90bbc":[()=>Promise.all([n.e(40532),n.e(72312),n.e(89217)]).then(n.bind(n,44735)),"@site/forms/php/filters/integrations/mailchimp.mdx",44735],"6a5d09b2":[()=>n.e(14996).then(n.bind(n,88608)),"@site/docs/legacy/v6/basics/blocks-important.md",88608],"6afb304f":[()=>n.e(73638).then(n.bind(n,95932)),"@site/forms/php/filters/scripts/dependency-blocks-frontend.md",95932],"6b207c51":[()=>n.e(24460).then(n.bind(n,67657)),"@site/docs/legacy/v5/basics/manifest.md",67657],"6b8dfc08":[()=>n.e(14327).then(n.t.bind(n,41200,19)),"~blog/default/blog-tags-wrapper-043-list.json",41200],"6b93e189":[()=>n.e(82308).then(n.bind(n,3830)),"@site/forms/addons/create/requirements.md",3830],"6b94b48b":[()=>n.e(38262).then(n.bind(n,54432)),"@site/docs/basics/blocks-special-use-cases.md",54432],"6bcded04":[()=>n.e(94190).then(n.bind(n,39437)),"@site/docs/legacy/v6/basics/rest.md",39437],"6cbda4b6":[()=>n.e(18505).then(n.bind(n,88771)),"@site/docs/basics/block-structure.md",88771],"6e870323":[()=>n.e(96434).then(n.t.bind(n,83769,19)),"/home/runner/work/eightshift-docs/eightshift-docs/website/.docusaurus/docusaurus-plugin-content-docs/default/plugin-route-context-module-100.json",83769],"6eb5397d":[()=>n.e(87091).then(n.bind(n,56495)),"@site/docs/legacy/v5/basics/blocks-global-manifest.md",56495],"6f0e603d":[()=>n.e(22776).then(n.bind(n,53669)),"@site/docs/eightshift-libs.md",53669],"6f52e085":[()=>n.e(30866).then(n.t.bind(n,92481,19)),"~blog/default/blog-tags-advanced-custom-fields-ef6-list.json",92481],"6ffa71f8":[()=>n.e(70262).then(n.bind(n,43644)),"@site/src/pages/storybook.js",43644],"7089c5e9":[()=>Promise.all([n.e(40532),n.e(72312),n.e(78384)]).then(n.bind(n,26975)),"@site/forms/php/filters/integrations/mailerlite.mdx",26975],"714feb36":[()=>n.e(56204).then(n.bind(n,32637)),"@site/docs/legacy/v7/basics/frontend.md",32637],"715a66b3":[()=>Promise.all([n.e(40532),n.e(72312),n.e(28015)]).then(n.bind(n,4262)),"@site/forms/php/filters/integrations/active-campaign.mdx",4262],72822034:[()=>n.e(49496).then(n.t.bind(n,67982,19)),"~blog/default/blog-tags-i-18-n-d57-list.json",67982],"72aadbbe":[()=>n.e(49739).then(n.bind(n,98321)),"@site/forms/php/filters/block/form-selector/form-templates.md",98321],"73496ed9":[()=>n.e(92505).then(n.t.bind(n,76478,19)),"~blog/default/blog-tags-service-754.json",76478],"73699c74":[()=>n.e(8833).then(n.bind(n,65391)),"@site/docs/legacy/v7/basics/blocks-component-structure.md",65391],"749660c3":[()=>n.e(47079).then(n.bind(n,21205)),"@site/docs/basics/blocks-structure.md",21205],"74bedbb6":[()=>Promise.all([n.e(40532),n.e(72312),n.e(26604)]).then(n.bind(n,34165)),"@site/forms/javascript/state/captcha.mdx",34165],"759f3f6b":[()=>n.e(8548).then(n.t.bind(n,22963,19)),"/home/runner/work/eightshift-docs/eightshift-docs/website/.docusaurus/docusaurus-plugin-content-docs/forms/plugin-route-context-module-100.json",22963],"769f10a0":[()=>n.e(52432).then(n.bind(n,14682)),"@site/docs/legacy/v8/basics/rest-field.md",14682],"76f2b92e":[()=>n.e(89204).then(n.bind(n,61964)),"@site/docs/legacy/v8/basics/blocks-global-manifest.md",61964],"779187a6":[()=>n.e(43215).then(n.bind(n,79766)),"@site/forms/php/global-variables/integrations/goodbits.md",79766],"790fff8f":[()=>n.e(4675).then(n.bind(n,58197)),"@site/forms/php/intro.md",58197],"795f4ac3":[()=>n.e(17025).then(n.bind(n,92456)),"@site/forms/php/filters/scripts/routes-private.md",92456],"795feea1":[()=>n.e(70131).then(n.bind(n,39063)),"@site/docs/legacy/v5/basics/the-structure.md",39063],79818576:[()=>n.e(24265).then(n.bind(n,39149)),"@site/docs/legacy/v8/basics/basics-intro.md",39149],"7a9c7a9a":[()=>n.e(18603).then(n.bind(n,332)),"@site/docs/migrations/10-11.md",332],"7ab92eb4":[()=>n.e(46383).then(n.bind(n,46286)),"@site/forms/known-issues.md",46286],"7b2162ed":[()=>n.e(39087).then(n.bind(n,30698)),"@site/docs/legacy/v5/basics/helpers-javascript.md",30698],"7b3a75e2":[()=>n.e(1005).then(n.bind(n,98782)),"@site/docs/legacy/v6/basics/blocks-variations.md",98782],"7c673fac":[()=>n.e(10898).then(n.bind(n,31897)),"@site/blog/2022-03-03-adding-blocks-wpcli.md",31897],"7c785ce9":[()=>n.e(62139).then(n.bind(n,10897)),"@site/docs/legacy/v5/basics/helpers-php.md",10897],"7c7e3f2e":[()=>n.e(88925).then(n.bind(n,560)),"@site/docs/legacy/v6/basics/blocks-wrapper.md",560],"7c97d78d":[()=>n.e(90717).then(n.bind(n,82187)),"@site/forms/features/wpml.md",82187],"7cbc5997":[()=>n.e(85454).then(n.bind(n,13693)),"@site/forms/addons/create/intro.md",13693],"7cca0223":[()=>n.e(83709).then(n.bind(n,38781)),"@site/docs/basics/blocks-styles.md",38781],"7cf19012":[()=>n.e(94908).then(n.bind(n,84664)),"@site/docs/legacy/v4/guides/rest-routes-example.md",84664],"7d063b53":[()=>n.e(2143).then(n.bind(n,7666)),"@site/docs/basics/blocks-faq.md",7666],"7d1194b2":[()=>n.e(37423).then(n.bind(n,78534)),"@site/docs/legacy/v4/guides/config.md",78534],"7d66ff10":[()=>n.e(97727).then(n.bind(n,83852)),"@site/docs/legacy/v5/basics/backend.md",83852],"7dd4c8bc":[()=>n.e(56759).then(n.bind(n,68438)),"@site/forms/php/global-variables/integrations/pipedrive.md",68438],"7ddf2558":[()=>n.e(82214).then(n.bind(n,39965)),"@site/docs/legacy/v6/basics/block-manifest.md",39965],"7ee32c60":[()=>n.e(99346).then(n.bind(n,56489)),"@site/docs/legacy/v4/guides/manifest.md",56489],"7fa80a78":[()=>n.e(13234).then(n.bind(n,47273)),"@site/forms/php/filters/block/field/style-classes.md",47273],"7fbb6eb5":[()=>n.e(33346).then(n.bind(n,49593)),"@site/forms/php/filters/general/scripts-dependency.md",49593],"805db72d":[()=>n.e(4392).then(n.bind(n,42393)),"@site/docs/legacy/v7/basics/backend.md",42393],"80796e9f":[()=>n.e(14845).then(n.bind(n,74025)),"@site/docs/legacy/v7/basics/wp-cli.md",74025],"80d0bffa":[()=>n.e(23360).then(n.bind(n,28619)),"@site/forms/php/actions/migrations.md",28619],"80d5addc":[()=>n.e(123).then(n.bind(n,26623)),"@site/docs/legacy/v5/basics/namespaces.md",26623],"812444b5":[()=>n.e(22358).then(n.bind(n,75143)),"@site/docs/legacy/v6/basics/fonts.md",75143],"814f3328":[()=>n.e(52535).then(n.t.bind(n,45641,19)),"~blog/default/blog-post-list-prop-default.json",45641],"81d5dffa":[()=>n.e(12429).then(n.bind(n,18927)),"@site/docs/legacy/v4/advanced/helpers-components.md",18927],"81faadf7":[()=>n.e(70672).then(n.t.bind(n,94080,19)),"~blog/default/blog-tags-acf-235-list.json",94080],"8364cffd":[()=>n.e(81420).then(n.bind(n,41340)),"@site/docs/legacy/v8/versions.md",41340],"837a3e8d":[()=>n.e(71658).then(n.bind(n,1979)),"@site/forms/php/filters/scripts/dependency-blocks-editor.md",1979],"8383ea83":[()=>n.e(96163).then(n.bind(n,68035)),"@site/forms/tutorials/playlist.mdx",68035],"83ce5e05":[()=>n.e(75574).then(n.bind(n,57103)),"@site/forms/javascript/events/how-to-use.md",57103],"83ee1d6a":[()=>n.e(27639).then(n.bind(n,30426)),"@site/forms/php/filters/scripts/routes-public.md",30426],"85434a08":[()=>n.e(87862).then(n.bind(n,60031)),"@site/docs/legacy/v6/basics/blocks-transforms.md",60031],"85c52577":[()=>n.e(60277).then(n.bind(n,56962)),"@site/forms/php/filters/block/form/pre-response-addon-data.md",56962],"85d49e2b":[()=>n.e(79528).then(n.bind(n,59204)),"@site/docs/additional-libraries/frontend-libs.md",59204],"86405c0e":[()=>n.e(57182).then(n.bind(n,19055)),"@site/docs/basics/blocks-variations.md",19055],"87f23a60":[()=>n.e(75860).then(n.bind(n,38312)),"@site/docs/crash-course/intro.md",38312],"883d241c":[()=>n.e(47495).then(n.t.bind(n,74272,19)),"~blog/default/blog-tags-variations-ce6.json",74272],88748759:[()=>n.e(29340).then(n.bind(n,77072)),"@site/docs/legacy/v8/basics/blocks-variations.md",77072],"889c25c7":[()=>n.e(92149).then(n.bind(n,4761)),"@site/forms/php/global-variables/integrations/workable.md",4761],"89c5f7f6":[()=>n.e(16337).then(n.bind(n,22863)),"@site/docs/legacy/v7/basics/blocks-transforms.md",22863],"8ae4ee15":[()=>n.e(56664).then(n.bind(n,81045)),"@site/docs/legacy/v5/basics/dynamic-import.md",81045],"8b62c48f":[()=>n.e(21260).then(n.t.bind(n,30424,19)),"~blog/default/blog-tags-acf-235.json",30424],"8c05f4d5":[()=>n.e(41772).then(n.bind(n,40382)),"@site/docs/basics/rest-route.md",40382],"8cdd3050":[()=>n.e(2110).then(n.bind(n,58861)),"@site/forms/php/filters/block/file/preview-remove-label.md",58861],"8d5ae15a":[()=>n.e(86438).then(n.bind(n,52732)),"@site/docs/basics/wp-cli.md",52732],"8ddbe34c":[()=>Promise.all([n.e(40532),n.e(72312),n.e(16899)]).then(n.bind(n,23790)),"@site/forms/php/filters/block/form/additional-content.mdx",23790],"8ddd1f69":[()=>n.e(60322).then(n.bind(n,75283)),"@site/forms/php/filters/blocks/allowed-blocks.md",75283],"8df1c5c9":[()=>n.e(84951).then(n.bind(n,15013)),"@site/docs/additional-libraries/libs.md",15013],"8df52c09":[()=>n.e(3197).then(n.bind(n,86342)),"@site/docs/basics/extending-classes.md",86342],"8e0a64cf":[()=>n.e(11832).then(n.t.bind(n,62863,19)),"~blog/default/blog-tags-wpcli-f24.json",62863],"8e2e6ad6":[()=>n.e(77579).then(n.t.bind(n,64717,19)),"~blog/default/blog-tags-taxonomy-769.json",64717],"8eb4e46b":[()=>n.e(10001).then(n.t.bind(n,82638,19)),"~blog/default/blog-page-2-677.json",82638],"8eb5a1d8":[()=>n.e(80816).then(n.bind(n,21212)),"@site/docs/legacy/v6/basics/blocks-faq.md",21212],"8f5a650f":[()=>n.e(98202).then(n.bind(n,98441)),"@site/docs/legacy/v4/advanced/aliases.md",98441],"90151e6b":[()=>n.e(66171).then(n.bind(n,61917)),"@site/forms/javascript/intro.md",61917],"901c0002":[()=>n.e(72558).then(n.bind(n,32368)),"@site/docs/legacy/v6/basics/blocks-registration.md",32368],"90c2c848":[()=>n.e(23289).then(n.bind(n,37199)),"@site/docs/legacy/v7/basics/library.md",37199],"92621e92":[()=>n.e(43621).then(n.bind(n,93572)),"@site/forms/php/filters/block/field/style-options.md",93572],"92a392ff":[()=>n.e(33206).then(n.bind(n,31807)),"@site/forms/php/helpers.md",31807],"935f2afb":[()=>n.e(80053).then(n.t.bind(n,1109,19)),"~docs/default/version-current-metadata-prop-751.json",1109],"938b8490":[()=>n.e(24033).then(n.bind(n,73607)),"@site/blog/2022-04-25-using-assets.md",73607],"94335e76":[()=>n.e(2860).then(n.bind(n,97670)),"@site/docs/migrations/8-9.md",97670],"952356a8":[()=>n.e(29711).then(n.bind(n,17750)),"@site/docs/legacy/v8/basics/blocks-component-manifest.md",17750],"962afcd6":[()=>n.e(73670).then(n.bind(n,14843)),"@site/docs/legacy/v5/basics/blocks-storybook.md",14843],"963c8ac0":[()=>n.e(24302).then(n.bind(n,30304)),"@site/docs/legacy/v4/guides/login.md",30304],"96795ae1":[()=>n.e(29824).then(n.bind(n,23022)),"@site/blog/2022-01-21-components-and-blocks.md",23022],"96c3e083":[()=>n.e(57720).then(n.t.bind(n,19478,19)),"~blog/default/blog-tags-variations-ce6-list.json",19478],"97cb0cff":[()=>n.e(14650).then(n.bind(n,31433)),"@site/docs/legacy/v8/basics/library.md",31433],"98c40af1":[()=>n.e(86873).then(n.bind(n,15092)),"@site/docs/legacy/v7/basics/blocks-global-manifest.md",15092],"9962ee1e":[()=>n.e(62359).then(n.t.bind(n,57986,19)),"~blog/default/blog-tags-icons-c8e-list.json",57986],"998cd6c6":[()=>n.e(36790).then(n.bind(n,93731)),"@site/docs/legacy/v7/basics/architecture-concepts.md",93731],"9a04d7c3":[()=>n.e(5730).then(n.bind(n,96317)),"@site/docs/legacy/v8/basics/helpers-javascript.md",96317],"9a46388f":[()=>n.e(83800).then(n.t.bind(n,19707,19)),"~blog/default/blog-tags-boilerplate-497.json",19707],"9ac95129":[()=>n.e(81135).then(n.bind(n,88708)),"@site/docs/legacy/v6/basics/tips-tricks.md",88708],"9bd02e6c":[()=>n.e(31574).then(n.bind(n,8722)),"@site/forms/php/wp-cli.md",8722],"9bd54e26":[()=>n.e(27922).then(n.bind(n,20052)),"@site/docs/additional-libraries/forms.md",20052],"9ca2f55b":[()=>n.e(86180).then(n.bind(n,63479)),"@site/blog/2022-04-08-adding-fonts.md?truncated=true",63479],"9cc47562":[()=>n.e(99815).then(n.bind(n,42293)),"@site/forms/php/filters/geolocation/phar-location.md",42293],"9cd35a7e":[()=>n.e(912).then(n.bind(n,81303)),"@site/docs/basics/blocks-patterns.md",81303],"9cd71f2c":[()=>n.e(35466).then(n.bind(n,56346)),"@site/docs/additional-libraries/storybook.md",56346],"9d107aac":[()=>n.e(95053).then(n.bind(n,88841)),"@site/docs/basics/basics-intro.md",88841],"9d954fea":[()=>n.e(75393).then(n.bind(n,34169)),"@site/docs/legacy/v5/basics/blocks-variations.md",34169],"9dc56d2c":[()=>n.e(98228).then(n.bind(n,9106)),"@site/forms/php/filters/block/form/phone-sync.md",9106],"9e3bbdc0":[()=>n.e(76590).then(n.bind(n,78979)),"@site/forms/php/filters/block/form/success-redirect-url.md",78979],"9e4087bc":[()=>n.e(53608).then(n.bind(n,63169)),"@theme/BlogArchivePage",63169],"9e4e2e8b":[()=>n.e(31823).then(n.bind(n,51561)),"@site/docs/basics/backend.md",51561],"9e8339c4":[()=>n.e(45012).then(n.bind(n,78455)),"@site/forms/features/success-redirect.md",78455],"9ec15741":[()=>n.e(89340).then(n.bind(n,36034)),"@site/docs/legacy/v4/guides/blocks-filer-block-attributes-override.md",36034],"9ee0eb8a":[()=>n.e(84805).then(n.bind(n,22495)),"@site/forms/addons/intro.md",22495],"9eec1b69":[()=>n.e(89509).then(n.bind(n,65442)),"@site/docs/legacy/v8/basics/extending-classes.md",65442],"9f25cf08":[()=>n.e(29041).then(n.bind(n,29959)),"@site/docs/legacy/v6/basics/library.md",29959],"9f6545b7":[()=>n.e(62933).then(n.bind(n,3379)),"@site/forms/basics.mdx",3379],"9f724635":[()=>n.e(79573).then(n.bind(n,20248)),"@site/docs/legacy/v8/basics/blocks-reusable.md",20248],"9f7aca5a":[()=>n.e(98825).then(n.bind(n,73204)),"@site/docs/legacy/v5/basics/helpers.md",73204],a0d23381:[()=>n.e(8891).then(n.bind(n,53683)),"@site/forms/integrations/mailerlite.md",53683],a112d798:[()=>Promise.all([n.e(40532),n.e(72312),n.e(83304)]).then(n.bind(n,50631)),"@site/forms/php/filters/integrations/pipedrive.mdx",50631],a12ac645:[()=>n.e(88427).then(n.bind(n,24655)),"@site/forms/features/multisteps-forms.md",24655],a2947dce:[()=>n.e(72521).then(n.bind(n,37969)),"@site/docs/legacy/v5/basics/blocks.md",37969],a2d3b782:[()=>n.e(69441).then(n.bind(n,29342)),"@site/docs/basics/helpers-javascript.md",29342],a2dbf4e7:[()=>n.e(38768).then(n.bind(n,88835)),"@site/docs/legacy/v4/guides/blocks-block-from-components.md",88835],a372a63b:[()=>n.e(4590).then(n.t.bind(n,61127,19)),"~blog/default/blog-tags-query-8a9.json",61127],a374712b:[()=>n.e(14032).then(n.bind(n,86496)),"@site/docs/legacy/v7/basics/rest-route.md",86496],a3a64d88:[()=>n.e(76811).then(n.bind(n,13659)),"@site/forms/features/country-list.md",13659],a43c0a1c:[()=>n.e(5934).then(n.t.bind(n,90209,19)),"~blog/default/blog-tags-class-1f9-list.json",90209],a45434fa:[()=>n.e(69051).then(n.bind(n,53924)),"@site/forms/php/filters/how-to-use.md",53924],a45b31ec:[()=>n.e(2017).then(n.bind(n,44376)),"@site/docs/migrations/9-10.md",44376],a56ad6f0:[()=>n.e(63841).then(n.bind(n,23111)),"@site/docs/legacy/v8/basics/example-class.md",23111],a5dd7d10:[()=>n.e(63057).then(n.t.bind(n,78879,19)),"~blog/default/blog-tags-patterns-541-list.json",78879],a6aa9e1f:[()=>Promise.all([n.e(40532),n.e(72312),n.e(79677),n.e(93089)]).then(n.bind(n,76289)),"@theme/BlogListPage",76289],a6e1df93:[()=>n.e(11503).then(n.t.bind(n,90203,19)),"~blog/default/blog-tags-i-18-n-d57.json",90203],a7023ddc:[()=>n.e(11713).then(n.t.bind(n,53457,19)),"~blog/default/blog-tags-tags-4c2.json",53457],a737efbc:[()=>n.e(99259).then(n.bind(n,10354)),"@site/docs/legacy/v4/guides/post-type.md",10354],a7bd4aaa:[()=>n.e(18518).then(n.bind(n,8564)),"@theme/DocVersionRoot",8564],a94703ab:[()=>Promise.all([n.e(40532),n.e(94368)]).then(n.bind(n,12674)),"@theme/DocRoot",12674],a97e7f15:[()=>n.e(79204).then(n.bind(n,35448)),"@site/docs/basics/autowiring.md",35448],a9ff9f98:[()=>n.e(5200).then(n.t.bind(n,59911,19)),"~blog/default/blog-tags-eightshift-page-2-541.json",59911],aa47c437:[()=>n.e(10817).then(n.bind(n,25206)),"@site/docs/basics/global-settings.md",25206],ab8fc1e5:[()=>n.e(86840).then(n.bind(n,84256)),"@site/docs/legacy/v5/basics/rest-route.md",84256],acacc2b4:[()=>n.e(38551).then(n.t.bind(n,85228,19)),"~blog/default/blog-tags-patterns-541.json",85228],ad6305cb:[()=>n.e(60082).then(n.bind(n,73244)),"@site/docs/legacy/v4/guides/i18n.md",73244],adaf2bab:[()=>Promise.all([n.e(40532),n.e(72312),n.e(74598)]).then(n.bind(n,84563)),"@site/forms/php/filters/block/form-selector/additional-content.mdx",84563],adb54813:[()=>n.e(78887).then(n.bind(n,87490)),"@site/blog/2022-03-04-modifying-blocks.md",87490],add2b463:[()=>n.e(86894).then(n.bind(n,73010)),"@site/docs/basics/helpers-php.md",73010],ae06c6f1:[()=>Promise.all([n.e(40532),n.e(72312),n.e(86405)]).then(n.bind(n,34822)),"@site/forms/php/filters/block/rating/additional-content.mdx",34822],ae5745cc:[()=>n.e(20505).then(n.bind(n,26588)),"@site/docs/legacy/v5/basics/writing-styles.md",26588],ae8e07b1:[()=>n.e(85219).then(n.t.bind(n,12160,19)),"~docs/forms/version-current-metadata-prop-751.json",12160],aebfde4b:[()=>n.e(48472).then(n.bind(n,15305)),"@site/docs/legacy/v7/basics/block-manifest.md",15305],aee4c48a:[()=>n.e(73570).then(n.bind(n,93267)),"@site/forms/integrations/workable.md",93267],af09cb5f:[()=>n.e(40988).then(n.bind(n,52600)),"@site/forms/php/global-variables/integrations/greenhouse.md",52600],af8ed05f:[()=>Promise.all([n.e(40532),n.e(72312),n.e(38147)]).then(n.bind(n,87123)),"@site/forms/php/filters/block/select/additional-content.mdx",87123],af9ac9e0:[()=>n.e(68385).then(n.bind(n,72937)),"@site/forms/php/actions/how-to-use.md",72937],afb6799c:[()=>n.e(48952).then(n.bind(n,32233)),"@site/docs/legacy/v6/basics/blocks-component-manifest.md",32233],afdc90ee:[()=>n.e(73887).then(n.bind(n,82125)),"@site/docs/basics/blocks-hooks.md",82125],b11b48f8:[()=>n.e(60401).then(n.bind(n,15407)),"@site/forms/php/filters/block/form/additional-hidden-fields.md",15407],b22c1dac:[()=>n.e(43362).then(n.bind(n,78906)),"@site/forms/php/filters/block/forms/style-options.md",78906],b2b675dd:[()=>n.e(90533).then(n.t.bind(n,28017,19)),"~blog/default/blog-c06.json",28017],b2f554cd:[()=>n.e(11477).then(n.t.bind(n,30010,19)),"~blog/default/blog-archive-80c.json",30010],b31b2138:[()=>n.e(15751).then(n.bind(n,1023)),"@site/docs/basics/tips-tricks.md",1023],b3636d59:[()=>n.e(21740).then(n.bind(n,14647)),"@site/docs/legacy/v4/guides/di-container.md",14647],b3760b7c:[()=>n.e(40730).then(n.bind(n,36870)),"@site/forms/php/filters/block/form/data-type-selector.md",36870],b3b90a5e:[()=>n.e(33179).then(n.t.bind(n,52169,19)),"~blog/default/blog-tags-class-1f9.json",52169],b4c9bdc9:[()=>n.e(71469).then(n.bind(n,20404)),"@site/docs/legacy/v6/basics/blocks-hooks.md",20404],b4f7c3fb:[()=>n.e(31653).then(n.bind(n,15659)),"@site/docs/legacy/v6/basics/namespaces.md",15659],b6358757:[()=>Promise.all([n.e(40532),n.e(72312),n.e(83101)]).then(n.bind(n,54849)),"@site/forms/php/filters/integrations/moments.mdx",54849],b64e38ac:[()=>n.e(71508).then(n.bind(n,26055)),"@site/forms/javascript/manual-initiation.md",26055],b6915d5f:[()=>n.e(86057).then(n.bind(n,93937)),"@site/docs/legacy/v7/basics/blocks-storybook.md",93937],b6d824a3:[()=>n.e(72468).then(n.t.bind(n,30950,19)),"~blog/default/blog-tags-setup-e81.json",30950],b7f27d80:[()=>n.e(12430).then(n.bind(n,34960)),"@site/forms/addons/premium/intro.md",34960],b8283c8e:[()=>Promise.all([n.e(40532),n.e(72312),n.e(24373)]).then(n.bind(n,78836)),"@site/forms/php/filters/block/radios/additional-content.mdx",78836],b8b55b85:[()=>n.e(52521).then(n.bind(n,74158)),"@site/forms/integrations/hubspot.md",74158],b8b9d8e8:[()=>n.e(62303).then(n.bind(n,66764)),"@site/docs/legacy/v5/basics/webpack.md",66764],b9355076:[()=>n.e(12706).then(n.bind(n,58257)),"@site/docs/legacy/v8/basics/backend.md",58257],b9979bed:[()=>n.e(21303).then(n.t.bind(n,57985,19)),"~blog/default/blog-tags-eightshift-ee2.json",57985],ba4d70ca:[()=>n.e(59602).then(n.bind(n,14741)),"@site/docs/legacy/v7/basics/browser-sync.md",14741],bb95e167:[()=>n.e(10823).then(n.bind(n,20927)),"@site/docs/legacy/v8/basics/dynamic-import.md",20927],bb98611a:[()=>n.e(63571).then(n.bind(n,32263)),"@site/docs/additional-libraries/coding-standards.md",32263],bc5075fb:[()=>n.e(79087).then(n.bind(n,57842)),"@site/docs/legacy/v7/basics/global-settings.md",57842],bc8a7ae5:[()=>n.e(11928).then(n.bind(n,98663)),"@site/docs/legacy/v6/basics/basics-intro.md",98663],bca46e3f:[()=>n.e(76814).then(n.bind(n,13085)),"@site/blog/2022-12-13-using-cpts-and-taxonomies.md?truncated=true",13085],bcdc9a5c:[()=>n.e(38284).then(n.bind(n,26009)),"@site/docs/legacy/v6/basics/blocks-styles.md",26009],bce2f7e5:[()=>n.e(50964).then(n.bind(n,91933)),"@site/docs/legacy/v6/basics/blocks-storybook.md",91933],be197d78:[()=>n.e(20101).then(n.bind(n,31487)),"@site/blog/2023-08-03-adding-custom-query.md",31487],be937143:[()=>n.e(46065).then(n.bind(n,32027)),"@site/forms/php/filters/enrichment/manual-map.md",32027],beb2a160:[()=>Promise.all([n.e(40532),n.e(72312),n.e(30602)]).then(n.bind(n,85663)),"@site/forms/php/filters/block/file/additional-content.mdx",85663],bf7018cf:[()=>n.e(14799).then(n.bind(n,67769)),"@site/docs/legacy/v4/advanced/components-color-palette.md",67769],bff0bad2:[()=>n.e(54583).then(n.bind(n,97740)),"@site/forms/php/filters/block/form/success-redirect-variation-options.md",97740],c15d2dfd:[()=>n.e(97517).then(n.bind(n,90855)),"@site/docs/tutorials/intro.md",90855],c2a527e7:[()=>n.e(55273).then(n.bind(n,67035)),"@site/docs/legacy/v8/basics/frontend.md",67035],c3122f65:[()=>n.e(8482).then(n.bind(n,37706)),"@site/docs/legacy/v8/basics/blocks-component-in-block.md",37706],c344252c:[()=>n.e(85064).then(n.bind(n,54078)),"@site/forms/php/global-variables/integrations/jira.md",54078],c361232e:[()=>n.e(11364).then(n.bind(n,26274)),"@site/docs/legacy/v6/basics/blocks-patterns.md",26274],c38062b9:[()=>Promise.all([n.e(40532),n.e(72312),n.e(57971)]).then(n.bind(n,45017)),"@site/forms/php/filters/integrations/hubspot.mdx",45017],c38fd7bd:[()=>n.e(12080).then(n.bind(n,10381)),"@site/blog/2022-05-10-acf-in-a-project.md",10381],c4f5d8e4:[()=>n.e(64195).then(n.bind(n,62841)),"@site/src/pages/index.js",62841],c55525a9:[()=>n.e(84279).then(n.bind(n,67278)),"@site/docs/legacy/v4/guides/rest-field-example.md",67278],c62d4947:[()=>n.e(40089).then(n.bind(n,44190)),"@site/docs/basics/fonts.md",44190],c661d3f1:[()=>n.e(18639).then(n.bind(n,71755)),"@site/docs/basics/block-manifest.md",71755],c6cd348e:[()=>n.e(83036).then(n.bind(n,11467)),"@site/docs/legacy/v7/basics/blocks-registration.md",11467],c709f244:[()=>n.e(54281).then(n.t.bind(n,47550,19)),"~blog/default/blog-tags-assets-503.json",47550],c72fb457:[()=>n.e(70741).then(n.bind(n,39868)),"@site/docs/legacy/v5/basics/block-manifest.md",39868],c78f4965:[()=>n.e(88963).then(n.bind(n,1011)),"@site/forms/php/filters/block/form/tracking-event-name.md",1011],c7fa2f29:[()=>n.e(7582).then(n.bind(n,83697)),"@site/docs/legacy/v5/basics/wp-cli.md",83697],c80bf43d:[()=>n.e(95181).then(n.bind(n,37464)),"@site/blog/2023-09-05-wrapper-as-a-standalone-component.md?truncated=true",37464],c87de583:[()=>n.e(74292).then(n.t.bind(n,71778,19)),"~blog/default/blog-tags-components-279-list.json",71778],c9815f8a:[()=>n.e(16875).then(n.bind(n,72474)),"@site/forms/php/global-variables/integrations/mailchimp.md",72474],c9c3a302:[()=>n.e(74121).then(n.t.bind(n,63426,19)),"~blog/default/blog-tags-service-754-list.json",63426],c9f06a2a:[()=>n.e(49900).then(n.bind(n,53345)),"@site/forms/php/filters/block/form/global-msg-headings.md",53345],ca69ab29:[()=>n.e(76741).then(n.bind(n,63109)),"@site/docs/legacy/v7/basics/helpers-scss.md",63109],cb3c2681:[()=>n.e(97607).then(n.bind(n,7762)),"@site/docs/legacy/v6/basics/dynamic-import.md",7762],cb7a22d0:[()=>Promise.all([n.e(40532),n.e(72312),n.e(99958)]).then(n.bind(n,11895)),"@site/forms/javascript/state/step.mdx",11895],ccc49370:[()=>Promise.all([n.e(40532),n.e(72312),n.e(79677),n.e(46103)]).then(n.bind(n,65203)),"@theme/BlogPostPage",65203],ccea3a4d:[()=>n.e(3168).then(n.bind(n,15816)),"@site/docs/legacy/v7/basics/block-structure.md",15816],cd0300a2:[()=>n.e(22260).then(n.t.bind(n,93683,19)),"~blog/default/blog-tags-cpt-860.json",93683],cd521b29:[()=>n.e(8256).then(n.bind(n,89831)),"@site/blog/2023-06-12-multiple-same-components.md",89831],ce0a947c:[()=>n.e(41790).then(n.bind(n,47770)),"@site/docs/legacy/v8/basics/browser-sync.md",47770],ce19f7d3:[()=>n.e(48944).then(n.t.bind(n,97818,19)),"~blog/default/blog-tags-boilerplate-page-2-757-list.json",97818],ce4b3df7:[()=>n.e(54909).then(n.bind(n,93041)),"@site/docs/legacy/v4/guides/media.md",93041],ce7d450a:[()=>n.e(6650).then(n.bind(n,69977)),"@site/docs/basics/blocks-wrapper.md",69977],cec206a7:[()=>n.e(49909).then(n.bind(n,46540)),"@site/docs/legacy/v8/basics/blocks-storybook.md",46540],cf4609e7:[()=>n.e(86198).then(n.bind(n,41561)),"@site/docs/legacy/v6/basics/blocks-component-in-block.md",41561],cf91d205:[()=>n.e(62585).then(n.bind(n,54185)),"@site/forms/addons/free/intro.md",54185],cfae12a4:[()=>Promise.all([n.e(40532),n.e(72312),n.e(31935)]).then(n.bind(n,52453)),"@site/forms/php/filters/block/submit/additional-content.mdx",52453],d0301901:[()=>Promise.all([n.e(40532),n.e(72312),n.e(64526)]).then(n.bind(n,53848)),"@site/forms/php/filters/block/input/additional-content.mdx",53848],d0b1075b:[()=>n.e(35460).then(n.bind(n,74591)),"@site/forms/integrations/clearbit.md",74591],d0c63040:[()=>n.e(98025).then(n.bind(n,34070)),"@site/blog/2023-08-03-adding-custom-query.md?truncated=true",34070],d0e59ab5:[()=>n.e(5662).then(n.t.bind(n,7758,19)),"~blog/default/blog-tags-boilerplate-page-2-757.json",7758],d0ecf97a:[()=>n.e(91186).then(n.bind(n,28174)),"@site/forms/php/filters/general/locale.md",28174],d136d263:[()=>Promise.all([n.e(40532),n.e(72312),n.e(67567)]).then(n.bind(n,80114)),"@site/forms/javascript/state/form.mdx",80114],d14f8ee5:[()=>n.e(20850).then(n.bind(n,4478)),"@site/docs/basics/blocks-attributes.md",4478],d1a0cea3:[()=>n.e(29099).then(n.bind(n,40045)),"@site/docs/basics/browser-sync.md",40045],d28f320b:[()=>n.e(13759).then(n.bind(n,81389)),"@site/forms/php/filters/integrations/clearbit.md",81389],d2dc1d28:[()=>n.e(46245).then(n.t.bind(n,78e3,19)),"~blog/default/blog-tags-block-047-list.json",78e3],d3930d00:[()=>n.e(13745).then(n.bind(n,63496)),"@site/forms/php/filters/geolocation/db-location.md",63496],d5c4c4ae:[()=>n.e(22367).then(n.bind(n,47763)),"@site/forms/integrations/intro.mdx",47763],d5f39101:[()=>n.e(59350).then(n.bind(n,85089)),"@site/docs/legacy/v5/basics/blocks-styles.md",85089],d6a42b72:[()=>n.e(64341).then(n.bind(n,61974)),"@site/docs/legacy/v8/basics/blocks-patterns.md",61974],d7756765:[()=>n.e(69565).then(n.bind(n,87619)),"@site/docs/legacy/v7/basics/blocks-faq.md",87619],d817bad3:[()=>n.e(86487).then(n.bind(n,39920)),"@site/forms/javascript/events/available-events.mdx",39920],d845213b:[()=>n.e(61496).then(n.bind(n,83145)),"@site/docs/legacy/v7/basics/rest-field.md",83145],d88895d1:[()=>n.e(11528).then(n.bind(n,97068)),"@site/docs/legacy/v4/advanced/browsersync.md",97068],d9cc83f8:[()=>n.e(39964).then(n.t.bind(n,70941,19)),"~blog/default/blog-tags-multilingual-011.json",70941],da20989d:[()=>n.e(73013).then(n.bind(n,95487)),"@site/docs/additional-libraries/stubs.md",95487],da81302a:[()=>n.e(83350).then(n.bind(n,74316)),"@site/docs/basics/manifest.md",74316],daf8bbf9:[()=>n.e(96591).then(n.bind(n,81951)),"@site/blog/2022-09-07-block-variations.md?truncated=true",81951],db6287e5:[()=>n.e(89758).then(n.bind(n,13089)),"@site/docs/legacy/v7/basics/blocks-component-manifest.md",13089],db98aa0c:[()=>n.e(81090).then(n.bind(n,15134)),"@site/docs/legacy/v5/basics/blocks-registration.md",15134],dbd7356d:[()=>n.e(37303).then(n.bind(n,1896)),"@site/forms/integrations/moments.md",1896],dbfa0beb:[()=>n.e(63538).then(n.bind(n,3260)),"@site/forms/features/tracking.md",3260],dc28c8db:[()=>Promise.all([n.e(40532),n.e(72312),n.e(48449)]).then(n.bind(n,86250)),"@site/forms/javascript/state/conditional-tags.mdx",86250],dc46868d:[()=>n.e(71146).then(n.bind(n,58700)),"@site/docs/legacy/v6/basics/rest-route.md",58700],dd059938:[()=>n.e(12666).then(n.bind(n,1454)),"@site/docs/basics/library.md",1454],ddb69969:[()=>n.e(3552).then(n.bind(n,56135)),"@site/forms/features/cloudflare.md",56135],de657462:[()=>n.e(68012).then(n.bind(n,81446)),"@site/docs/additional-libraries/boilerplate.md",81446],dea8b3ed:[()=>n.e(75526).then(n.bind(n,1901)),"@site/forms/php/filters/scripts/dependency-admin.md",1901],e00f1d66:[()=>n.e(54069).then(n.bind(n,62375)),"@site/blog/2022-03-04-modifying-blocks.md?truncated=true",62375],e0d892c2:[()=>n.e(19520).then(n.t.bind(n,67091,19)),"~blog/default/blog-tags-wrapper-043.json",67091],e110487c:[()=>n.e(80389).then(n.bind(n,39817)),"@site/docs/basics/rest.md",39817],e12d4719:[()=>n.e(24681).then(n.bind(n,21316)),"@site/docs/legacy/v4/guides/blocks-render-block-view-helper.md",21316],e18eec83:[()=>n.e(64314).then(n.bind(n,22027)),"@site/forms/php/filters/block/country/alternative-data-set.md",22027],e1f747d9:[()=>n.e(52721).then(n.bind(n,55359)),"@site/docs/legacy/v8/basics/rest-route.md",55359],e2bba919:[()=>n.e(64068).then(n.t.bind(n,82818,19)),"~blog/default/blog-tags-blocks-4f6.json",82818],e37577e1:[()=>n.e(93521).then(n.bind(n,46258)),"@site/forms/features/labels.md",46258],e3792bbb:[()=>n.e(17375).then(n.bind(n,74118)),"@site/docs/migrations/7-8.md",74118],e4399142:[()=>n.e(43347).then(n.bind(n,84624)),"@site/docs/legacy/v4/guides/blocks-structure.md",84624],e4932c64:[()=>n.e(80453).then(n.bind(n,42790)),"@site/forms/addons/create/addon-boilerplate.md",42790],e4af6a2d:[()=>n.e(69090).then(n.t.bind(n,37323,19)),"~blog/default/blog-tags-multilingual-011-list.json",37323],e6326b0c:[()=>n.e(2626).then(n.bind(n,6876)),"@site/docs/legacy/v8/basics/blocks-attributes.md",6876],e71b04e6:[()=>n.e(2234).then(n.bind(n,32575)),"@site/docs/legacy/v7/basics/dynamic-import.md",32575],e7328bb1:[()=>n.e(16864).then(n.bind(n,48924)),"@site/docs/legacy/v5/basics/blocks-special-use-cases.md",48924],e79e64be:[()=>n.e(24190).then(n.bind(n,26919)),"@site/docs/basics/blocks-important.md",26919],e801e723:[()=>n.e(20394).then(n.bind(n,82038)),"@site/blog/2022-12-22-block-patterns.md",82038],e8854f45:[()=>n.e(11209).then(n.bind(n,36400)),"@site/forms/first-form.mdx",36400],e8903528:[()=>n.e(84897).then(n.bind(n,83826)),"@site/docs/legacy/v5/basics/blocks-important.md",83826],e8a4c7be:[()=>n.e(63749).then(n.bind(n,80093)),"@site/docs/migrations/5-6.md",80093],e90b4b34:[()=>n.e(54379).then(n.bind(n,89567)),"@site/docs/legacy/v5/basics/rest.md",89567],e93eaee1:[()=>n.e(94937).then(n.bind(n,40153)),"@site/forms/addons/premium/computed-fields/how-to-use.md",40153],e9beab12:[()=>n.e(53443).then(n.bind(n,9097)),"@site/docs/basics/blocks-component-in-block.md",9097],ea645227:[()=>n.e(83511).then(n.bind(n,90199)),"@site/docs/legacy/v8/basics/blocks-faq.md",90199],eaffcef6:[()=>n.e(51566).then(n.bind(n,68397)),"@site/forms/php/global-variables/integrations/active-campaign.md",68397],ebfee794:[()=>n.e(87305).then(n.bind(n,79385)),"@site/docs/welcome.md",79385],ec5d0804:[()=>n.e(67702).then(n.bind(n,81647)),"@site/docs/legacy/v4/guides/columns-user.md",81647],ecf43748:[()=>n.e(33658).then(n.bind(n,74740)),"@site/docs/legacy/v8/basics/rest.md",74740],ed133f89:[()=>n.e(26244).then(n.t.bind(n,10095,19)),"~blog/default/blog-tags-blocks-4f6-list.json",10095],ed3575d5:[()=>n.e(11370).then(n.bind(n,53361)),"@site/docs/legacy/v5/basics/blocks-hooks.md",53361],ed480930:[()=>n.e(76742).then(n.bind(n,43110)),"@site/docs/legacy/v8/basics/webpack.md",43110],ee1ed8c4:[()=>n.e(69847).then(n.bind(n,47639)),"@site/docs/legacy/v7/versions.md",47639],ee4eba04:[()=>n.e(37530).then(n.t.bind(n,35097,19)),"~blog/default/blog-tags-eightshift-page-2-541-list.json",35097],ee85e3b6:[()=>n.e(82882).then(n.t.bind(n,67734,19)),"~blog/default/blog-tags-eightshift-ee2-list.json",67734],ee924e36:[()=>n.e(74711).then(n.bind(n,15329)),"@site/docs/legacy/v7/basics/helpers-php.md",15329],ef02483f:[()=>n.e(78327).then(n.bind(n,96181)),"@site/docs/legacy/v5/basics/blocks-patterns.md",96181],efbb6268:[()=>n.e(63548).then(n.bind(n,1039)),"@site/blog/2022-01-20-initial-setup.md?truncated=true",1039],f00dda52:[()=>n.e(15008).then(n.bind(n,71320)),"@site/docs/legacy/v7/basics/helpers-javascript.md",71320],f0b5617d:[()=>n.e(93392).then(n.bind(n,56545)),"@site/docs/legacy/v5/basics/blocks-wrapper.md",56545],f0ebaa7e:[()=>n.e(44136).then(n.bind(n,29072)),"@site/docs/migrations/6-7.md",29072],f0f0c9e0:[()=>n.e(75970).then(n.bind(n,3231)),"@site/forms/php/filters/block/step/component-next.md",3231],f162eb70:[()=>n.e(71431).then(n.t.bind(n,66227,19)),"~blog/default/blog-tags-boilerplate-497-list.json",66227],f1a7576f:[()=>n.e(74192).then(n.bind(n,88363)),"@site/forms/features/entries.md",88363],f218f265:[()=>n.e(66942).then(n.bind(n,91978)),"@site/forms/features/migrations.md",91978],f26f0cdb:[()=>n.e(81486).then(n.bind(n,11800)),"@site/docs/legacy/v4/advanced/helpers-shortcode.md",11800],f34f869b:[()=>n.e(44198).then(n.bind(n,70961)),"@site/forms/php/filters/block/form/tracking-additional-data.md",70961],f407a811:[()=>n.e(50836).then(n.bind(n,25396)),"@site/docs/legacy/v7/basics/example-class.md",25396],f4a6cc60:[()=>n.e(98761).then(n.bind(n,62545)),"@site/src/pages/showcase-infinum.js",62545],f5d62c05:[()=>n.e(78949).then(n.bind(n,21099)),"@site/docs/legacy/v6/basics/webpack.md",21099],f6aef24f:[()=>n.e(19373).then(n.t.bind(n,17423,19)),"~blog/default/blog-tags-cpt-860-list.json",17423],f7aec19e:[()=>n.e(95085).then(n.t.bind(n,12861,19)),"~blog/default/blog-tags-terms-b0c.json",12861],f7b99134:[()=>n.e(29737).then(n.t.bind(n,42520,19)),"~blog/default/blog-tags-query-8a9-list.json",42520],f880b41b:[()=>n.e(75827).then(n.bind(n,81628)),"@site/blog/2022-09-07-block-variations.md",81628],f8bbda75:[()=>n.e(36007).then(n.bind(n,7752)),"@site/docs/basics/dynamic-import.md",7752],f8d85197:[()=>n.e(40884).then(n.bind(n,78366)),"@site/docs/legacy/v4/guides/fonts-icon.md",78366],f92290a0:[()=>n.e(21592).then(n.bind(n,92842)),"@site/forms/php/filters/admin/settings-data.md",92842],f92772a6:[()=>n.e(14973).then(n.bind(n,45446)),"@site/docs/legacy/v4/guides/blocks-structure-manifest.md",45446],fae9d50a:[()=>n.e(91414).then(n.bind(n,57333)),"@site/forms/php/global-variables/google-recaptcha.md",57333],fbd7f063:[()=>n.e(71419).then(n.bind(n,26375)),"@site/docs/legacy/v8/basics/helpers-scss.md",26375],fbe6399d:[()=>n.e(92972).then(n.bind(n,73099)),"@site/docs/legacy/v4/guides/menu.md",73099],fbe7d2e8:[()=>n.e(76594).then(n.bind(n,24122)),"@site/docs/legacy/v5/basics/extending-classes.md",24122],fce92293:[()=>n.e(74683).then(n.bind(n,95873)),"@site/docs/legacy/v5/basics/blocks-component-in-block.md",95873],fd21cc65:[()=>n.e(51538).then(n.bind(n,41680)),"@site/docs/legacy/v5/basics/example-class.md",41680],fd4ea388:[()=>n.e(38703).then(n.bind(n,79221)),"@site/docs/legacy/v5/versions.md",79221],fd6d4018:[()=>n.e(93464).then(n.bind(n,91e3)),"@site/docs/legacy/v8/basics/tips-tricks.md",91e3],fda35176:[()=>n.e(1907).then(n.bind(n,86793)),"@site/forms/php/filters/block/form/pre-response-success-redirect-data.md",86793],fdc13b44:[()=>n.e(73684).then(n.bind(n,71578)),"@site/docs/legacy/v8/basics/autowiring.md",71578],fea00b33:[()=>n.e(69500).then(n.bind(n,8533)),"@site/docs/basics/helpers-scss.md",8533],ff445556:[()=>Promise.all([n.e(40532),n.e(72312),n.e(75756)]).then(n.bind(n,16360)),"@site/forms/php/filters/block/phone/additional-content.mdx",16360]};var i=n(85893);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(99670),d=n(30226);function u(e,t){if("*"===e)return o()({loading:c,loader:()=>n.e(51772).then(n.bind(n,51772)),modules:["@theme/NotFound"],webpack:()=>[51772],render(e,t){const n=e.default;return(0,i.jsx)(d.z,{value:{plugin:{name:"native",id:"default"}},children:(0,i.jsx)(n,{...t})})}});const s=a[e+"-"+t],u={},p=[],f=[],b=(0,l.Z)(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.z,{value:r,children:(0,i.jsx)(a,{...o,...n})})}})}const p=[{path:"/blog",component:u("/blog","2b9"),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","fcd"),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","695"),exact:!0},{path:"/blog/tags/boilerplate",component:u("/blog/tags/boilerplate","f6f"),exact:!0},{path:"/blog/tags/boilerplate/page/2",component:u("/blog/tags/boilerplate/page/2","dad"),exact:!0},{path:"/blog/tags/class",component:u("/blog/tags/class","153"),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","c4e"),exact:!0},{path:"/blog/tags/eightshift/page/2",component:u("/blog/tags/eightshift/page/2","135"),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","783"),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/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/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/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/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:"/sass",component:u("/sass","cb3"),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:"/storybook",component:u("/storybook","389"),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","2ba"),routes:[{path:"/forms",component:u("/forms","fa4"),routes:[{path:"/forms",component:u("/forms","8bf"),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/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/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/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/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/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/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("*")}]},98934:(e,t,n)=>{"use strict";n.d(t,{_:()=>a,t:()=>r});var s=n(67294),o=n(85893);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})}},97221:(e,t,n)=>{"use strict";var s=n(67294),o=n(20745),a=n(73727),r=n(70405),i=n(10412);const c=[n(56657),n(32497),n(3310),n(18320),n(12010),n(16847)];var l=n(723),d=n(16550),u=n(18790),p=n(85893);function f(e){let{children:t}=e;return(0,p.jsx)(p.Fragment,{children:t})}var b=n(35742),h=n(52263),m=n(44996),g=n(86668),v=n(10833),y=n(94711),k=n(19727),x=n(43320),w=n(18780),_=n(90197);function j(){const{i18n:{currentLocale:e,defaultLocale:t,localeConfigs:n}}=(0,h.Z)(),s=(0,y.l)(),o=n[e].htmlLang,a=e=>e.replace("-","_");return(0,p.jsxs)(b.Z,{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.Z)(),s=function(){const{siteConfig:{url:e,baseUrl:t,trailingSlash:n}}=(0,h.Z)(),{pathname:s}=(0,d.TH)();return e+(0,w.applyTrailingSlash)((0,m.Z)(s),{trailingSlash:n,baseUrl:t})}(),o=t?""+n+t:s;return(0,p.jsxs)(b.Z,{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.Z)(),{metadata:t,image:n}=(0,g.L)();return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsxs)(b.Z,{children:[(0,p.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,p.jsx)("body",{className:k.h})]}),n&&(0,p.jsx)(v.d,{image:n}),(0,p.jsx)(C,{}),(0,p.jsx)(j,{}),(0,p.jsx)(_.Z,{tag:x.HX,locale:e}),(0,p.jsx)(b.Z,{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.f)(l.Z,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(98934),Z=n(58940),T=n(20469);function A(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=>{var s,o;const a=null!=(s=null==(o=t.default)?void 0:o[e])?s:t[e];return null==a?void 0:a(...n)}));return()=>o.forEach((e=>null==e?void 0:e()))}const P=function(e){let{children:t,location:n,previousLocation:s}=e;return(0,T.Z)((()=>{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);null==t||t.scrollIntoView()}else window.scrollTo(0,0)}({location:n,previousLocation:s}),A("onRouteDidUpdate",{previousLocation:s,location:n}))}),[s,n]),t};function R(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,u.f)(l.Z,e))).flat();return Promise.all(t.map((e=>null==e.route.component.preload?void 0:e.route.component.preload())))}class N extends s.Component{constructor(e){super(e),this.previousLocation=void 0,this.routeUpdateCleanupCb=void 0,this.previousLocation=null,this.routeUpdateCleanupCb=i.Z.canUseDOM?A("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=A("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.AW,{location:t,render:()=>e})})}}const O=N,D="__docusaurus-base-url-issue-banner-container",I="__docusaurus-base-url-issue-banner",B="__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="'+I+'" 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 W(){const{siteConfig:{baseUrl:e}}=(0,h.Z)();return(0,p.jsx)(p.Fragment,{children:!i.Z.canUseDOM&&(0,p.jsx)(b.Z,{children:(0,p.jsx)("script",{children:F(e)})})})}function z(){const{siteConfig:{baseUrl:e,baseUrlIssueBanner:t}}=(0,h.Z)(),{pathname:n}=(0,d.TH)();return t&&n===e?(0,p.jsx)(W,{}):null}function H(){const{siteConfig:{favicon:e,title:t,noIndex:n},i18n:{currentLocale:s,localeConfigs:o}}=(0,h.Z)(),a=(0,m.Z)(e),{htmlLang:r,direction:i}=o[s];return(0,p.jsxs)(b.Z,{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 V=n(44763),U=n(72389);function $(){const e=(0,U.Z)();return(0,p.jsx)(b.Z,{children:(0,p.jsx)("html",{"data-has-hydrated":e})})}function q(){const e=(0,u.H)(l.Z),t=(0,d.TH)();return(0,p.jsx)(V.Z,{children:(0,p.jsx)(Z.M,{children:(0,p.jsxs)(L.t,{children:[(0,p.jsxs)(f,{children:[(0,p.jsx)(H,{}),(0,p.jsx)(S,{}),(0,p.jsx)(z,{}),(0,p.jsx)(O,{location:E(t),children:e})]}),(0,p.jsx)($,{})]})})})}var G=n(16887);const Y=function(e){try{return document.createElement("link").relList.supports(e)}catch{return!1}}("prefetch")?function(e){return new Promise(((t,n)=>{var s,o;if("undefined"==typeof document)return void n();const a=document.createElement("link");a.setAttribute("rel","prefetch"),a.setAttribute("href",e),a.onload=()=>t(),a.onerror=()=>n();const r=null!=(s=document.getElementsByTagName("head")[0])?s:null==(o=document.getElementsByName("script")[0])?void 0:o.parentNode;null==r||r.appendChild(a)}))}: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 K=n(99670);const Q=new Set,X=new Set,J=()=>{var e,t;return(null==(e=navigator.connection)?void 0:e.effectiveType.includes("2g"))||(null==(t=navigator.connection)?void 0:t.saveData)},ee={prefetch(e){if(!(e=>!J()&&!X.has(e)&&!Q.has(e))(e))return!1;Q.add(e);const t=(0,u.f)(l.Z,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,K.Z)(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=>!J()&&!X.has(e))(e)&&(X.add(e),R(e))},te=Object.freeze(ee),ne=Boolean(!0);if(i.Z.canUseDOM){window.docusaurus=te;const e=document.getElementById("__docusaurus"),t=(0,p.jsx)(r.B6,{children:(0,p.jsx)(a.VK,{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)}))}};R(window.location.pathname).then(i)}},58940:(e,t,n)=>{"use strict";n.d(t,{_:()=>u,M:()=>p});var s=n(67294),o=n(36809);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/security","path":"/forms/features/security","sidebar":"forms"},{"id":"features/show-as","path":"/forms/features/show-as","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/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/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/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/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(57529);const c=JSON.parse('{"docusaurusVersion":"3.1.1","siteVersion":"8.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"}}}');var l=n(85893);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})}},44763:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});var s=n(67294),o=n(10412),a=n(35742),r=n(18780),i=n(22189),c=n(85893);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.Z,{children:(0,c.jsx)("title",{children:"Page Error"})}),(0,c.jsx)(i.Z,{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.Z.canUseDOM&&this.setState({error:e})}render(){const{children:e}=this.props,{error:t}=this.state;if(t){var n;const e={error:t,tryAgain:()=>this.setState({error:null})};return(null!=(n=this.props.fallback)?n:p)(e)}return null!=e?e:null}}},10412:(e,t,n)=>{"use strict";n.d(t,{Z:()=>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}},35742:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});n(67294);var s=n(70405),o=n(85893);function a(e){return(0,o.jsx)(s.ql,{...e})}},33692:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});var s=n(67294),o=n(73727),a=n(18780),r=n(52263),i=n(13919),c=n(10412),l=n(28138),d=n(44996),u=n(85893);function p(e,t){var n,p;let{isNavLink:f,to:b,href:h,activeClassName:m,isActive:g,"data-noBrokenLinkCheck":v,autoAddBaseUrl:y=!0,...k}=e;const{siteConfig:{trailingSlash:x,baseUrl:w}}=(0,r.Z)(),{withBaseUrl:_}=(0,d.C)(),j=(0,l.Z)(),C=(0,s.useRef)(null);(0,s.useImperativeHandle)(t,(()=>C.current));const S=b||h;const M=(0,i.Z)(S),E=null==S?void 0:S.replace("pathname://","");let L=void 0!==E?(Z=E,y&&(e=>e.startsWith("/"))(Z)?_(Z):Z):void 0;var Z;L&&M&&(L=(0,a.applyTrailingSlash)(L,{trailingSlash:x,baseUrl:w}));const T=(0,s.useRef)(!1),A=f?o.OL:o.rU,P=c.Z.canUseIntersectionObserver,R=(0,s.useRef)(),N=()=>{T.current||null==L||(window.docusaurus.preload(L),T.current=!0)};(0,s.useEffect)((()=>(!P&&M&&null!=L&&window.docusaurus.prefetch(L),()=>{P&&R.current&&R.current.disconnect()})),[R,L,P,M]);const O=null!=(n=null==(p=L)?void 0:p.startsWith("#"))&&n,D=!k.target||"_self"===k.target,I=!L||!M||!D||O;return v||!O&&I||j.collectLink(L),k.id&&j.collectAnchor(k.id),I?(0,u.jsx)("a",{ref:C,href:L,...S&&!M&&{target:"_blank",rel:"noopener noreferrer"},...k}):(0,u.jsx)(A,{...k,onMouseEnter:N,onTouchStart:N,innerRef:e=>{C.current=e,P&&e&&M&&(R.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(R.current.unobserve(e),R.current.disconnect(),null!=L&&window.docusaurus.prefetch(L))}))})),R.current.observe(e))},to:L,...f&&{isActive:g,activeClassName:m}})}const f=s.forwardRef(p)},95999:(e,t,n)=>{"use strict";n.d(t,{Z:()=>l,I:()=>c});var s=n(67294),o=n(85893);function a(e,t){const n=e.split(/(\{\w+\})/).map(((e,n)=>{if(n%2==1){const n=null==t?void 0: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(57529);function i(e){var t,n;let{id:s,message:o}=e;if(void 0===s&&void 0===o)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return null!=(t=null!=(n=r[null!=s?s:o])?n:o)?t:s}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)})}},29935:(e,t,n)=>{"use strict";n.d(t,{m:()=>s});const s="default"},13919:(e,t,n)=>{"use strict";function s(e){return/^(?:\w*:|\/\/)/.test(e)}function o(e){return void 0!==e&&!s(e)}n.d(t,{Z:()=>o,b:()=>s})},44996:(e,t,n)=>{"use strict";n.d(t,{C:()=>r,Z:()=>i});var s=n(67294),o=n(52263),a=n(13919);function r(){const{siteConfig:{baseUrl:e,url:t}}=(0,o.Z)(),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.b)(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)}},28138:(e,t,n)=>{"use strict";n.d(t,{Z:()=>r});var s=n(67294);n(85893);const o=s.createContext({collectAnchor:()=>{},collectLink:()=>{}}),a=()=>(0,s.useContext)(o);function r(){return a()}},52263:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});var s=n(67294),o=n(58940);function a(){return(0,s.useContext)(o._)}},72389:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});var s=n(67294),o=n(98934);function a(){return(0,s.useContext)(o._)}},20469:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var s=n(67294);const o=n(10412).Z.canUseDOM?s.useLayoutEffect:s.useEffect},99670:(e,t,n)=>{"use strict";n.d(t,{Z:()=>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}},30226:(e,t,n)=>{"use strict";n.d(t,{_:()=>a,z:()=>r});var s=n(67294),o=n(85893);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,...null==n?void 0:n.data};return{plugin:t.plugin,data:s}}({parent:r,value:n})),[r,n]);return(0,o.jsx)(a.Provider,{value:i,children:t})}},80143:(e,t,n)=>{"use strict";n.d(t,{Iw:()=>g,gA:()=>f,WS:()=>b,_r:()=>u,Jo:()=>v,zh:()=>p,yW:()=>m,gB:()=>h});var s=n(16550),o=n(52263),a=n(29935);function r(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,o.Z)();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.LX)(t,{path:e.path,exact:!1,strict:!1})))}function l(e,t){const n=c(e,t),o=null==n?void 0:n.docs.find((e=>!!(0,s.LX)(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=()=>{var e;return null!=(e=r("docusaurus-plugin-content-docs"))?e:d},p=e=>function(e,t,n){void 0===t&&(t=a.m),void 0===n&&(n={});const s=r(e),o=null==s?void 0: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.TH)();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.LX)(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.TH)();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.TH)();return l(t,n)}function v(e){const t=p(e),{pathname:n}=(0,s.TH)();return function(e,t){const n=i(e);return{latestDocSuggestion:l(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},56657:(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")}))}}},18320:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>a});var s=n(74865),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()}}},3310:(e,t,n)=>{"use strict";n.r(t);var s=n(14965),o=n(36809);!function(e){const{themeConfig:{prism:t}}=o.default,{additionalLanguages:s}=t;globalThis.Prism=e,s.forEach((e=>{"php"===e&&n(96854),n(3997)("./prism-"+e)})),delete globalThis.Prism}(s.p1)},92503:(e,t,n)=>{"use strict";n.d(t,{Z:()=>d});n(67294);var s=n(36905),o=n(95999),a=n(86668),r=n(33692),i=n(28138);const c={anchorWithStickyNavbar:"anchorWithStickyNavbar_LWe7",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_WYt5"};var l=n(85893);function d(e){let{as:t,id:n,...d}=e;const u=(0,i.Z)(),{navbar:{hideOnScroll:p}}=(0,a.L)();if("h1"===t||!n)return(0,l.jsx)(t,{...d,id:void 0});u.collectAnchor(n);const f=(0,o.I)({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.Z)("anchor",p?c.anchorWithHideOnScrollNavbar:c.anchorWithStickyNavbar,d.className),id:n,children:[d.children,(0,l.jsx)(r.Z,{className:"hash-link",to:"#"+n,"aria-label":f,title:f,children:"\u200b"})]})}},39471:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});n(67294);const s={iconExternalLink:"iconExternalLink_nPIU"};var o=n(85893);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"})})}},22189:(e,t,n)=>{"use strict";n.d(t,{Z:()=>yt});var s=n(67294),o=n(36905),a=n(44763),r=n(10833),i=n(16550),c=n(95999),l=n(85936),d=n(85893);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.k6)(),n=(0,s.useCallback)((e=>{e.preventDefault();const t=null!=(n=document.querySelector("main:first-of-type"))?n:document.getElementById(u);var n;t&&p(t)}),[]);return(0,l.S)((n=>{let{location:s}=n;e.current&&!s.hash&&"PUSH"===t&&p(e.current)})),{containerRef:e,onClick:n}}const b=(0,c.I)({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){var t;const n=null!=(t=e.children)?t:b,{containerRef:s,onClick:o}=f();return(0,d.jsx)("div",{ref:s,role:"region","aria-label":b,children:(0,d.jsx)("a",{...e,href:"#"+u,onClick:o,children:n})})}var m=n(35281),g=n(19727);const v={skipToContent:"skipToContent_fXgn"};function y(){return(0,d.jsx)(h,{className:v.skipToContent})}var k=n(86668),x=n(59689);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.I)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"}),...e,className:(0,o.Z)("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.L)(),{content:n}=t;return(0,d.jsx)("div",{...e,className:(0,o.Z)(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.L)(),{isActive:t,close:n}=(0,x.nT)();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(93163),Z=n(12466);var T=n(902),A=n(13102);const P=s.createContext(null);function R(e){let{children:t}=e;const n=function(){const e=(0,L.e)(),t=(0,A.HY)(),[n,o]=(0,s.useState)(!1),a=null!==t.component,r=(0,T.D9)(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)(P.Provider,{value:n,children:t})}function N(e){if(e.component){const t=e.component;return(0,d.jsx)(t,{...e.props})}}function O(){const e=(0,s.useContext)(P);if(!e)throw new T.i6("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,o=(0,s.useCallback)((()=>n(!1)),[n]),a=(0,A.HY)();return(0,s.useMemo)((()=>({shown:t,hide:o,content:N(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.Z)("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 I=n(92949),B=n(72389);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 W(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 z={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"};function H(e){let{className:t,buttonClassName:n,value:s,onChange:a}=e;const r=(0,B.Z)(),i=(0,c.I)({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.I)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,c.I)({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.Z)(z.toggle,t),children:(0,d.jsxs)("button",{className:(0,o.Z)("clean-btn",z.toggleButton,!r&&z.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.Z)(z.toggleIcon,z.lightToggleIcon)}),(0,d.jsx)(W,{className:(0,o.Z)(z.toggleIcon,z.darkToggleIcon)})]})})}const V=s.memo(H),U={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_X3D1"};function $(e){let{className:t}=e;const n=(0,k.L)().navbar.style,s=(0,k.L)().colorMode.disableSwitch,{colorMode:o,setColorMode:a}=(0,I.I)();return s?null:(0,d.jsx)(V,{className:t,buttonClassName:"dark"===n?U.darkNavbarColorModeToggle:void 0,value:o,onChange:a})}var q=n(86809);function G(){return(0,d.jsx)(q.Z,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function Y(){const e=(0,L.e)();return(0,d.jsx)("button",{type:"button","aria-label":(0,c.I)({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 K(){return(0,d.jsxs)("div",{className:"navbar-sidebar__brand",children:[(0,d.jsx)(G,{}),(0,d.jsx)($,{className:"margin-right--md"}),(0,d.jsx)(Y,{})]})}var Q=n(33692),X=n(44996),J=n(13919),ee=n(98022),te=n(39471);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.Z)(s),p=(0,X.Z)(t),f=(0,X.Z)(o,{forcePrependBaseUrl:!0}),b=a&&o&&!(0,J.Z)(o),h=r?{dangerouslySetInnerHTML:{__html:r}}:{children:(0,d.jsxs)(d.Fragment,{children:[a,b&&(0,d.jsx)(te.Z,{...i&&{width:12,height:12}})]})};return o?(0,d.jsx)(Q.Z,{href:c?f:o,...l,...h}):(0,d.jsx)(Q.Z,{to:u,isNavLink:!0,...(t||n)&&{isActive:(e,t)=>n?(0,ee.F)(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.Z)(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.Z)("menu__link",t),...s})})}function ae(e){var t;let{mobile:n=!1,position:s,...o}=e;const a=n?oe:se;return(0,d.jsx)(a,{...o,activeClassName:null!=(t=o.activeClassName)?t:n?"menu__link--active":"navbar__link--active"})}var re=n(86043),ie=n(48596),ce=n(52263);const le={dropdownNavbarItemMobile:"dropdownNavbarItemMobile_S0Fm"};function de(e,t){return e.some((e=>function(e,t){return!!(0,ie.Mg)(e.to,t)||!!(0,ee.F)(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function ue(e){var t;let{items:n,position:a,className:r,onClick:i,...c}=e;const l=(0,s.useRef)(null),[u,p]=(0,s.useState)(!1);return(0,s.useEffect)((()=>{const e=e=>{l.current&&!l.current.contains(e.target)&&p(!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)}}),[l]),(0,d.jsxs)("div",{ref:l,className:(0,o.Z)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===a,"dropdown--show":u}),children:[(0,d.jsx)(ne,{"aria-haspopup":"true","aria-expanded":u,role:"button",href:c.to?void 0:"#",className:(0,o.Z)("navbar__link",r),...c,onClick:c.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),p(!u))},children:null!=(t=c.children)?t:c.label}),(0,d.jsx)("ul",{className:"dropdown__menu",children:n.map(((e,t)=>(0,s.createElement)(Ve,{isDropdownItem:!0,activeClassName:"dropdown__link--active",...e,key:t})))})]})}function pe(e){var t;let{items:n,className:a,position:r,onClick:c,...l}=e;const u=function(){const{siteConfig:{baseUrl:e}}=(0,ce.Z)(),{pathname:t}=(0,i.TH)();return t.replace(e,"/")}(),p=de(n,u),{collapsed:f,toggleCollapsed:b,setCollapsed:h}=(0,re.u)({initialState:()=>!p});return(0,s.useEffect)((()=>{p&&h(!p)}),[u,p,h]),(0,d.jsxs)("li",{className:(0,o.Z)("menu__list-item",{"menu__list-item--collapsed":f}),children:[(0,d.jsx)(ne,{role:"button",className:(0,o.Z)(le.dropdownNavbarItemMobile,"menu__link menu__link--sublist menu__link--sublist-caret",a),...l,onClick:e=>{e.preventDefault(),b()},children:null!=(t=l.children)?t:l.label}),(0,d.jsx)(re.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:f,children:n.map(((e,t)=>(0,s.createElement)(Ve,{mobile:!0,isDropdownItem:!0,onClick:c,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(94711);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(73935);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(20830),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("kbd",{className:"DocSearch-Button-Key"},u===Ce?s.createElement(ve,null):u),s.createElement("kbd",{className:"DocSearch-Button-Key"},"K"))))})),Me=n(35742),Ee=n(66177),Le=n(239),Ze=n(43320);const Te={button:{buttonText:(0,c.I)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"}),buttonAriaLabel:(0,c.I)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"})},modal:{searchBox:{resetButtonTitle:(0,c.I)({id:"theme.SearchModal.searchBox.resetButtonTitle",message:"Clear the query",description:"The label and ARIA label for search box reset button"}),resetButtonAriaLabel:(0,c.I)({id:"theme.SearchModal.searchBox.resetButtonTitle",message:"Clear the query",description:"The label and ARIA label for search box reset button"}),cancelButtonText:(0,c.I)({id:"theme.SearchModal.searchBox.cancelButtonText",message:"Cancel",description:"The label and ARIA label for search box cancel button"}),cancelButtonAriaLabel:(0,c.I)({id:"theme.SearchModal.searchBox.cancelButtonText",message:"Cancel",description:"The label and ARIA label for search box cancel button"})},startScreen:{recentSearchesTitle:(0,c.I)({id:"theme.SearchModal.startScreen.recentSearchesTitle",message:"Recent",description:"The title for recent searches"}),noRecentSearchesText:(0,c.I)({id:"theme.SearchModal.startScreen.noRecentSearchesText",message:"No recent searches",description:"The text when no recent searches"}),saveRecentSearchButtonTitle:(0,c.I)({id:"theme.SearchModal.startScreen.saveRecentSearchButtonTitle",message:"Save this search",description:"The label for save recent search button"}),removeRecentSearchButtonTitle:(0,c.I)({id:"theme.SearchModal.startScreen.removeRecentSearchButtonTitle",message:"Remove this search from history",description:"The label for remove recent search button"}),favoriteSearchesTitle:(0,c.I)({id:"theme.SearchModal.startScreen.favoriteSearchesTitle",message:"Favorite",description:"The title for favorite searches"}),removeFavoriteSearchButtonTitle:(0,c.I)({id:"theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle",message:"Remove this search from favorites",description:"The label for remove favorite search button"})},errorScreen:{titleText:(0,c.I)({id:"theme.SearchModal.errorScreen.titleText",message:"Unable to fetch results",description:"The title for error screen of search modal"}),helpText:(0,c.I)({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.I)({id:"theme.SearchModal.footer.selectText",message:"to select",description:"The explanatory text of the action for the enter key"}),selectKeyAriaLabel:(0,c.I)({id:"theme.SearchModal.footer.selectKeyAriaLabel",message:"Enter key",description:"The ARIA label for the Enter key button that makes the selection"}),navigateText:(0,c.I)({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.I)({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.I)({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.I)({id:"theme.SearchModal.footer.closeText",message:"to close",description:"The explanatory text of the action for Escape key"}),closeKeyAriaLabel:(0,c.I)({id:"theme.SearchModal.footer.closeKeyAriaLabel",message:"Escape key",description:"The ARIA label for the Escape key button that close the modal"}),searchByText:(0,c.I)({id:"theme.SearchModal.footer.searchByText",message:"Search by",description:"The text explain that the search is making by Algolia"})},noResultsScreen:{noResultsText:(0,c.I)({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.I)({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.I)({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.I)({id:"theme.SearchModal.noResultsScreen.reportMissingResultsLinkText",message:"Let us know.",description:"The text for the link to report missing results"})}},placeholder:(0,c.I)({id:"theme.SearchModal.placeholder",message:"Search docs",description:"The placeholder of the input of the DocSearch pop-up modal"})};let Ae=null;function Pe(e){let{hit:t,children:n}=e;return(0,d.jsx)(Q.Z,{to:t.url,children:n})}function Re(e){let{state:t,onClose:n}=e;const s=(0,Ee.M)();return(0,d.jsx)(Q.Z,{to:s(t.query),onClick:n,children:(0,d.jsx)(c.Z,{id:"theme.SearchBar.seeAll",values:{count:t.context.nbHits},children:"See all {count} results"})})}function Ne(e){var t,o;let{contextualSearch:a,externalUrlRegex:r,...c}=e;const{siteMetadata:l}=(0,ce.Z)(),u=(0,Le.l)(),p=function(){const{locale:e,tags:t}=(0,Ze._q)();return["language:"+e,t.map((e=>"docusaurus_tag:"+e))]}(),f=null!=(t=null==(o=c.searchParameters)?void 0:o.facetFilters)?t:[],b=a?function(e,t){const n=e=>"string"==typeof e?[e]:e;return[...n(e),...n(t)]}(p,f):f,h={...c.searchParameters,facetFilters:b},m=(0,i.k6)(),g=(0,s.useRef)(null),v=(0,s.useRef)(null),[y,k]=(0,s.useState)(!1),[x,w]=(0,s.useState)(void 0),_=(0,s.useCallback)((()=>Ae?Promise.resolve():Promise.all([n.e(61426).then(n.bind(n,61426)),Promise.all([n.e(40532),n.e(46945)]).then(n.bind(n,46945)),Promise.all([n.e(40532),n.e(18894)]).then(n.bind(n,18894))]).then((e=>{let[{DocSearchModal:t}]=e;Ae=t}))),[]),j=(0,s.useCallback)((()=>{_().then((()=>{g.current=document.createElement("div"),document.body.insertBefore(g.current,document.body.firstChild),k(!0)}))}),[_,k]),C=(0,s.useCallback)((()=>{var e;k(!1),null==(e=g.current)||e.remove()}),[k]),S=(0,s.useCallback)((e=>{_().then((()=>{k(!0),w(e.key)}))}),[_,k,w]),M=(0,s.useRef)({navigate(e){let{itemUrl:t}=e;(0,ee.F)(r,t)?window.location.href=t:m.push(t)}}).current,E=(0,s.useRef)((e=>c.transformItems?c.transformItems(e):e.map((e=>({...e,url:u(e.url)}))))).current,L=(0,s.useMemo)((()=>e=>(0,d.jsx)(Re,{...e,onClose:C})),[C]),Z=(0,s.useCallback)((e=>(e.addAlgoliaAgent("docusaurus",l.docusaurusVersion),e)),[l.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:y,onOpen:j,onClose:C,onInput:S,searchButtonRef:v}),(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(Me.Z,{children:(0,d.jsx)("link",{rel:"preconnect",href:"https://"+c.appId+"-dsn.algolia.net",crossOrigin:"anonymous"})}),(0,d.jsx)(Se,{onTouchStart:_,onFocus:_,onMouseOver:_,onClick:j,ref:v,translations:Te.button}),y&&Ae&&g.current&&(0,ge.createPortal)((0,d.jsx)(Ae,{onClose:C,initialScrollY:window.scrollY,initialQuery:x,navigator:M,transformItems:E,hitComponent:Pe,transformSearchClient:Z,...c.searchPagePath&&{resultsFooterComponent:L},...c,searchParameters:h,placeholder:Te.placeholder,translations:Te.modal}),g.current)]})}function Oe(){const{siteConfig:e}=(0,ce.Z)();return(0,d.jsx)(Ne,{...e.themeConfig.algolia})}const De={navbarSearchContainer:"navbarSearchContainer_Bca1"};function Ie(e){let{children:t,className:n}=e;return(0,d.jsx)("div",{className:(0,o.Z)(n,De.navbarSearchContainer),children:t})}var Be=n(80143),Fe=n(52802);var We=n(60373);const ze=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.Z)(),p=(0,be.l)(),{search:f,hash:b}=(0,i.TH)(),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.I)({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)(Oe,{})})},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.Z)({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,Be.Iw)(s),r=(0,Fe.vY)(t,s),i=(null==a?void 0:a.path)===(null==r?void 0:r.path);return null===r||r.unlisted&&!i?null:(0,d.jsx)(ae,{exact:!0,...o,isActive:()=>i||!(null==a||!a.sidebar)&&a.sidebar===r.sidebar,label:null!=n?n:r.id,to:r.path})},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:s,...o}=e;const{activeDoc:a}=(0,Be.Iw)(s),r=(0,Fe.oz)(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:()=>(null==a?void 0:a.sidebar)===t,label:null!=n?n:r.label,to:r.path})},docsVersion:function(e){let{label:t,to:n,docsPluginId:s,...o}=e;const a=(0,Fe.lO)(s)[0],r=null!=t?t:a.label,i=null!=n?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.TH)(),p=(0,Be.Iw)(n),f=(0,Be.gB)(n),{savePreferredVersionName:b}=(0,We.J)(n),h=[...o,...f.map((e=>{var t;const n=null!=(t=p.alternateDocVersions[e.name])?t:ze(e);return{label:e.label,to:""+n.path+l+u,isActive:()=>e===p.activeVersion,onClick:()=>b(e.name)}})),...a],m=(0,Fe.lO)(n)[0],g=t&&h.length>1?(0,c.I)({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:ze(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.e)(),t=(0,k.L)().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 $e(e){return(0,d.jsx)("button",{...e,type:"button",className:"clean-btn navbar-sidebar__back",children:(0,d.jsx)(c.Z,{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 qe(){const e=0===(0,k.L)().navbar.items.length,t=O();return(0,d.jsxs)(d.Fragment,{children:[!e&&(0,d.jsx)($e,{onClick:()=>t.hide()}),t.content]})}function Ge(){const e=(0,L.e)();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)(K,{}),primaryMenu:(0,d.jsx)(Ue,{}),secondaryMenu:(0,d.jsx)(qe,{})}):null}const Ye={navbarHideable:"navbarHideable_m1mJ",navbarHidden:"navbarHidden_jGov"};function Ke(e){return(0,d.jsx)("div",{role:"presentation",...e,className:(0,o.Z)("navbar-sidebar__backdrop",e.className)})}function Qe(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:a}}=(0,k.L)(),r=(0,L.e)(),{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,Z.RF)(((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=null==s?void 0:s.scrollY,c=document.documentElement.scrollHeight-a.current,l=window.innerHeight;i&&r>=i?n(!1):r+l<c&&n(!0)})),(0,l.S)((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.I)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,o.Z)("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)(Ke,{onClick:r.toggle}),(0,d.jsx)(Ge,{})]})}var Xe=n(18780);const Je={errorBoundaryError:"errorBoundaryError_a6uf",errorBoundaryFallback:"errorBoundaryFallback_VBag"};function et(e){return(0,d.jsx)("button",{type:"button",...e,children:(0,d.jsx)(c.Z,{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 tt(e){let{error:t}=e;const n=(0,Xe.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,d.jsx)("p",{className:Je.errorBoundaryError,children:n})}class nt extends s.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}const st="right";function ot(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 at(){const{toggle:e,shown:t}=(0,L.e)();return(0,d.jsx)("button",{onClick:e,"aria-label":(0,c.I)({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)(ot,{})})}const rt={colorModeToggle:"colorModeToggle_DEke"};function it(e){let{items:t}=e;return(0,d.jsx)(d.Fragment,{children:t.map(((e,t)=>(0,d.jsx)(nt,{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 ct(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 lt(){const e=(0,L.e)(),t=(0,k.L)().navbar.items,[n,s]=function(e){function t(e){var t;return"left"===(null!=(t=e.position)?t:st)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),o=t.find((e=>"search"===e.type));return(0,d.jsx)(ct,{left:(0,d.jsxs)(d.Fragment,{children:[!e.disabled&&(0,d.jsx)(at,{}),(0,d.jsx)(G,{}),(0,d.jsx)(it,{items:n})]}),right:(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(it,{items:s}),(0,d.jsx)($,{className:rt.colorModeToggle}),!o&&(0,d.jsx)(Ie,{children:(0,d.jsx)(Oe,{})})]})})}function dt(){return(0,d.jsx)(Qe,{children:(0,d.jsx)(lt,{})})}var ut=n(38970);function pt(){const{footer:e}=(0,k.L)();return(0,d.jsx)(ut.$_,{footer:e})}const ft=s.memo(pt),bt=(0,T.Qc)([I.S,x.pl,Z.OC,We.L5,r.VC,function(e){let{children:t}=e;return(0,d.jsx)(A.n2,{children:(0,d.jsx)(L.M,{children:(0,d.jsx)(R,{children:t})})})}]);function ht(e){let{children:t}=e;return(0,d.jsx)(bt,{children:t})}var mt=n(92503);function gt(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)(mt.Z,{as:"h1",className:"hero__title",children:(0,d.jsx)(c.Z,{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)(et,{onClick:n,className:"button button--primary shadow--lw"})}),(0,d.jsx)("hr",{}),(0,d.jsx)("div",{className:"margin-vert--md",children:(0,d.jsx)(tt,{error:t})})]})})})}const vt={mainWrapper:"mainWrapper_z2l0"};function yt(e){const{children:t,noFooter:n,wrapperClassName:s,title:i,description:c}=e;return(0,g.t)(),(0,d.jsxs)(ht,{children:[(0,d.jsx)(r.d,{title:i,description:c}),(0,d.jsx)(y,{}),(0,d.jsx)(E,{}),(0,d.jsx)(dt,{}),(0,d.jsx)("div",{id:u,className:(0,o.Z)(m.k.wrapper.main,vt.mainWrapper,s),children:(0,d.jsx)(a.Z,{fallback:e=>(0,d.jsx)(gt,{...e}),children:t})}),!n&&(0,d.jsx)(ft,{})]})}},86809:(e,t,n)=>{"use strict";n.d(t,{Z:()=>m});var s=n(67294),o=n(33692),a=n(44996),r=n(52263),i=n(86668),c=n(788),l=n(72389),d=n(92949);const u={themedComponent:"themedComponent_mlkZ","themedComponent--light":"themedComponent--light_NVdE","themedComponent--dark":"themedComponent--dark_xIcU"};var p=n(85893);function f(e){let{className:t,children:n}=e;const o=(0,l.Z)(),{colorMode:a}=(0,d.I)();return(0,p.jsx)(p.Fragment,{children:(o?"dark"===a?["dark"]:["light"]:["light","dark"]).map((e=>{const o=n({theme:e,className:(0,c.Z)(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.Z)(t.src),dark:(0,a.Z)(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){var t;const{siteConfig:{title:n}}=(0,r.Z)(),{navbar:{title:s,logo:c}}=(0,i.L)(),{imageClassName:l,titleClassName:d,...u}=e,f=(0,a.Z)((null==c?void 0:c.href)||"/"),b=s?"":n,m=null!=(t=null==c?void 0:c.alt)?t:b;return(0,p.jsxs)(o.Z,{to:f,...u,...(null==c?void 0:c.target)&&{target:c.target},children:[c&&(0,p.jsx)(h,{logo:c,alt:m,imageClassName:l}),null!=s&&(0,p.jsx)("b",{className:d,children:s})]})}},90197:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});n(67294);var s=n(35742),o=n(85893);function a(e){let{locale:t,version:n,tag:a}=e;const r=t;return(0,o.jsxs)(s.Z,{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})]})}},86043:(e,t,n)=>{"use strict";n.d(t,{u:()=>l,z:()=>g});var s=n(67294),o=n(10412),a=n(20469),r=n(91442),i=n(85893);const c="ease-in-out";function l(e){let{initialState:t}=e;const[n,o]=(0,s.useState)(null!=t&&t),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(){var t,n;const s=e.scrollHeight,a=null!=(t=null==o?void 0:o.duration)?t:function(e){if((0,r.n)())return 1;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(s);return{transition:"height "+a+"ms "+(null!=(n=null==o?void 0:o.easing)?n:c),height:s+"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.Z.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),null==r||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.Z)((()=>{t||r(!0)}),[t]),(0,a.Z)((()=>{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})}},59689:(e,t,n)=>{"use strict";n.d(t,{nT:()=>h,pl:()=>b});var s=n(67294),o=n(72389),a=n(50012),r=n(902),i=n(86668),c=n(85893);const l=(0,a.WA)("docusaurus.announcement.dismiss"),d=(0,a.WA)("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.L)(),t=(0,o.Z)(),[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.i6("AnnouncementBarProvider");return e}},92949:(e,t,n)=>{"use strict";n.d(t,{I:()=>g,S:()=>m});var s=n(67294),o=n(10412),a=n(902),r=n(50012),i=n(86668),c=n(85893);const l=s.createContext(void 0),d="theme",u=(0,r.WA)(d),p={light:"light",dark:"dark"},f=e=>e===p.dark?p.dark:p.light,b=e=>o.Z.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.L)(),[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.i6("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},60373:(e,t,n)=>{"use strict";n.d(t,{J:()=>y,L5:()=>g,Oh:()=>k});var s=n(67294),o=n(80143),a=n(29935),r=n(86668),i=n(52802),c=n(902),l=n(50012),d=n(85893);const u=e=>"docs-preferred-version-"+e,p={save:(e,t,n)=>{(0,l.WA)(u(e),{persistence:t}).set(n)},read:(e,t)=>(0,l.WA)(u(e),{persistence:t}).get(),clear:(e,t)=>{(0,l.WA)(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._r)(),t=(0,r.L)().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.cE?(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.i6("DocsPreferredVersionContextProvider");return e}function y(e){var t;void 0===e&&(e=a.m);const n=(0,o.zh)(e),[r,i]=v(),{preferredVersionName:c}=r[e];return{preferredVersion:null!=(t=n.versions.find((e=>e.name===c)))?t:null,savePreferredVersionName:(0,s.useCallback)((t=>{i.savePreferredVersion(e,t)}),[i,e])}}function k(){const e=(0,o._r)(),[t]=v();function n(n){var s;const o=e[n],{preferredVersionName:a}=t[n];return null!=(s=o.versions.find((e=>e.name===a)))?s:null}const s=Object.keys(e);return Object.fromEntries(s.map((e=>[e,n(e)])))}},1116:(e,t,n)=>{"use strict";n.d(t,{V:()=>l,b:()=>c});var s=n(67294),o=n(902),a=n(85893);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.i6("DocsSidebarProvider");return e}},74477:(e,t,n)=>{"use strict";n.d(t,{E:()=>c,q:()=>i});var s=n(67294),o=n(902),a=n(85893);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.i6("DocsVersionProvider");return e}},93163:(e,t,n)=>{"use strict";n.d(t,{M:()=>p,e:()=>f});var s=n(67294),o=n(13102),a=n(87524),r=n(91980),i=n(86668),c=n(902),l=n(85893);const d=s.createContext(void 0);function u(){const e=function(){const e=(0,o.HY)(),{items:t}=(0,i.L)().navbar;return 0===t.length&&!e.component}(),t=(0,a.i)(),n=!e&&"mobile"===t,[c,l]=(0,s.useState)(!1);(0,r.Rb)((()=>{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.i6("NavbarMobileSidebarProvider");return e}},13102:(e,t,n)=>{"use strict";n.d(t,{HY:()=>c,Zo:()=>l,n2:()=>i});var s=n(67294),o=n(902),a=n(85893);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.i6("NavbarSecondaryMenuContentProvider");return e[0]}function l(e){let{component:t,props:n}=e;const a=(0,s.useContext)(r);if(!a)throw new o.i6("NavbarSecondaryMenuContentProvider");const[,i]=a,c=(0,o.Ql)(n);return(0,s.useEffect)((()=>{i({component:t,props:c})}),[i,t,c]),(0,s.useEffect)((()=>()=>i({component:null,props:null})),[i]),null}},19727:(e,t,n)=>{"use strict";n.d(t,{h:()=>o,t:()=>a});var s=n(67294);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)}}),[])}},66177:(e,t,n)=>{"use strict";n.d(t,{K:()=>i,M:()=>c});var s=n(67294),o=n(52263),a=n(91980);const r="q";function i(){return(0,a.Nc)(r)}function c(){const{siteConfig:{baseUrl:e,themeConfig:t}}=(0,o.Z)(),{algolia:{searchPagePath:n}}=t;return(0,s.useCallback)((t=>""+e+n+"?"+r+"="+encodeURIComponent(t)),[e,n])}},87524:(e,t,n)=>{"use strict";n.d(t,{i:()=>i});var s=n(67294),o=n(10412);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.Z.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}},35281:(e,t,n)=>{"use strict";n.d(t,{k:()=>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:{}}},91442:(e,t,n)=>{"use strict";function s(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{n:()=>s})},52802:(e,t,n)=>{"use strict";n.d(t,{LM:()=>f,_F:()=>m,cE:()=>p,SN:()=>j,lO:()=>x,vY:()=>_,oz:()=>w,s1:()=>k,f:()=>v});var s=n(67294),o=n(16550),a=n(18790),r=n(80143),i=n(60373),c=n(74477),l=n(1116);function d(e){return Array.from(new Set(e))}var u=n(48596);const p=!!r._r;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.Mg)(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.Mg)(a.href,n)||e(a.items))||"link"===a.type&&(0,u.Mg)(a.href,n)){return s&&"category"!==a.type||o.unshift(a),!0}return!1}(t),o}function k(){var e;const t=(0,l.V)(),{pathname:n}=(0,o.TH)();return!1!==(null==(e=(0,r.gA)())?void 0:e.pluginData.breadcrumbs)&&t?y({sidebarItems:t.items,pathname:n}):null}function x(e){const{activeVersion:t}=(0,r.Iw)(e),{preferredVersion:n}=(0,i.J)(e),o=(0,r.yW)(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.TH)(),s=(0,c.E)(),r=t.routes,i=r.find((e=>(0,o.LX)(n.pathname,e)));if(!i)return null;const l=i.sidebar,d=l?s.docsSidebars[l]:void 0;return{docElement:(0,a.H)(r),sidebarName:l,sidebarItems:d}}},82128:(e,t,n)=>{"use strict";n.d(t,{p:()=>o});var s=n(52263);function o(e){const{siteConfig:t}=(0,s.Z)(),{title:n,titleDelimiter:o}=t;return null!=e&&e.trim().length?e.trim()+" "+o+" "+n:n}},91980:(e,t,n)=>{"use strict";n.d(t,{Nc:()=>c,Rb:()=>r});var s=n(67294),o=n(16550),a=n(902);function r(e){!function(e){const t=(0,o.k6)(),n=(0,a.zX)(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.k6)();return(0,s.useSyncExternalStore)(t.listen,(()=>e(t)),(()=>e(t)))}((t=>null===e?null:new URLSearchParams(t.location.search).get(e)))}function c(e){var t;const n=null!=(t=i(e))?t:"",a=function(){const e=(0,o.k6)();return(0,s.useCallback)(((t,n,s)=>{const o=new URLSearchParams(e.location.search);n?o.set(t,n):o.delete(t),(null!=s&&s.push?e.push:e.replace)({search:o.toString()})}),[e])}();return[n,(0,s.useCallback)(((t,n)=>{a(e,t,n)}),[a,e])]}},10833:(e,t,n)=>{"use strict";n.d(t,{FG:()=>f,d:()=>u,VC:()=>b});var s=n(67294),o=n(788),a=n(35742),r=n(30226);function i(){const e=s.useContext(r._);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var c=n(44996),l=n(82128),d=n(85893);function u(e){let{title:t,description:n,keywords:s,image:o,children:r}=e;const i=(0,l.p)(t),{withBaseUrl:u}=(0,c.C)(),p=o?u(o,{absolute:!0}):void 0;return(0,d.jsxs)(a.Z,{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.Z)(r,t);return(0,d.jsxs)(p.Provider,{value:i,children:[(0,d.jsx)(a.Z,{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.Z)(s,a),children:t})}},902:(e,t,n)=>{"use strict";n.d(t,{D9:()=>i,Qc:()=>d,Ql:()=>l,i6:()=>c,zX:()=>r});var s=n(67294),o=n(20469),a=n(85893);function r(e){const t=(0,s.useRef)(e);return(0,o.Z)((()=>{t.current=e}),[e]),(0,s.useCallback)((function(){return t.current(...arguments)}),[])}function i(e){const t=(0,s.useRef)();return(0,o.Z)((()=>{t.current=e})),t.current}class c extends Error{constructor(e,t){var n,s;super(),this.name="ReactContextError",this.message="Hook "+(null!=(n=null==(s=this.stack)||null==(s=s.split("\n")[1])||null==(s=s.match(/at (?:\w+\.)?(?<name>\w+)/))?void 0:s.groups.name)?n:"")+" is called outside the <"+e+">. "+(null!=t?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)})}}},98022:(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,{F:()=>s})},48596:(e,t,n)=>{"use strict";n.d(t,{Mg:()=>r,Ns:()=>i});var s=n(67294),o=n(723),a=n(52263);function r(e,t){const n=e=>{var t;return null==(t=!e||e.endsWith("/")?e:e+"/")?void 0:t.toLowerCase()};return n(e)===n(t)}function i(){const{baseUrl:e}=(0,a.Z)().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=>{var t;return null!=(t=e.routes)?t:[]})))}(n)}({routes:o.Z,baseUrl:e})),[e])}},12466:(e,t,n)=>{"use strict";n.d(t,{Ct:()=>f,OC:()=>l,RF:()=>p});var s=n(67294),o=n(10412),a=n(72389),r=(n(20469),n(902)),i=n(85893);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.i6("ScrollControllerProvider");return e}const u=()=>o.Z.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.zX)(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.Z)()&&"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:()=>null==e.current?void 0:e.current()}}},43320:(e,t,n)=>{"use strict";n.d(t,{HX:()=>r,_q:()=>c,os:()=>i});var s=n(80143),o=n(52263),a=n(60373);const r="default";function i(e,t){return"docs-"+e+"-"+t}function c(){const{i18n:e}=(0,o.Z)(),t=(0,s._r)(),n=(0,s.WS)(),c=(0,a.Oh)();const l=[r,...Object.keys(t).map((function(e){var s;const o=(null==n?void 0:n.activePlugin.pluginId)===e?n.activeVersion:void 0,a=c[e],r=t[e].versions.find((e=>e.isLast));return i(e,(null!=(s=null!=o?o:a)?s:r).name)}))];return{locale:e.currentLocale,tags:l}}},50012:(e,t,n)=>{"use strict";n.d(t,{WA:()=>c});n(67294);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(null==t?void 0: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),()=>{}}}}}},94711:(e,t,n)=>{"use strict";n.d(t,{l:()=>r});var s=n(52263),o=n(16550),a=n(18780);function r(){const{siteConfig:{baseUrl:e,url:t,trailingSlash:n},i18n:{defaultLocale:r,currentLocale:i}}=(0,s.Z)(),{pathname:c}=(0,o.TH)(),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}}}},85936:(e,t,n)=>{"use strict";n.d(t,{S:()=>r});var s=n(67294),o=n(16550),a=n(902);function r(e){const t=(0,o.TH)(),n=(0,a.D9)(t),r=(0,a.zX)(e);(0,s.useEffect)((()=>{n&&t!==n&&r({location:t,previousLocation:n})}),[r,t,n])}},86668:(e,t,n)=>{"use strict";n.d(t,{L:()=>o});var s=n(52263);function o(){return(0,s.Z)().siteConfig.themeConfig}},6278:(e,t,n)=>{"use strict";n.d(t,{L:()=>o});var s=n(52263);function o(){const{siteConfig:{themeConfig:e}}=(0,s.Z)();return e}},239:(e,t,n)=>{"use strict";n.d(t,{l:()=>i});var s=n(67294),o=n(98022),a=n(44996),r=n(6278);function i(){const{withBaseUrl:e}=(0,a.C)(),{algolia:{externalUrlRegex:t,replaceSearchResultPathname:n}}=(0,r.L)();return(0,s.useCallback)((s=>{const a=new URL(s);if((0,o.F)(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])}},8802:(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)}},54143:(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]}},18780: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(8802);Object.defineProperty(t,"applyTrailingSlash",{enumerable:!0,get:function(){return s(o).default}});var a=n(54143);Object.defineProperty(t,"getErrorCausalChain",{enumerable:!0,get:function(){return a.getErrorCausalChain}})},99318:(e,t,n)=>{"use strict";n.d(t,{lX:()=>k,q_:()=>S,ob:()=>f,PP:()=>E,Ep:()=>p});var s=n(87462);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(38776);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.Z)({},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.Z)(!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.Z)(W,e),W.length=n.length,E.notifyListeners(W.location,W.action)}function Z(e){(function(e){return void 0===e.state&&-1===navigator.userAgent.indexOf("CriOS")})(e)||P(S(e.state))}function T(){P(S(y()))}var A=!1;function P(e){if(A)A=!1,L();else{E.confirmTransitionTo(e,"POP",w,(function(t){t?L({action:"POP",location:e}):function(e){var t=W.location,n=N.indexOf(t.key);-1===n&&(n=0);var s=N.indexOf(e.key);-1===s&&(s=0);var o=n-s;o&&(A=!0,D(o))}(e)}))}}var R=S(y()),N=[R.key];function O(e){return C+p(e)}function D(e){n.go(e)}var I=0;function B(e){1===(I+=e)&&1===e?(window.addEventListener(g,Z),a&&window.addEventListener(v,T)):0===I&&(window.removeEventListener(g,Z),a&&window.removeEventListener(v,T))}var F=!1;var W={length:n.length,action:"POP",location:R,createHref:O,push:function(e,t){var s="PUSH",a=f(e,t,M(),W.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=N.indexOf(W.location.key),l=N.slice(0,c+1);l.push(a.key),N=l,L({action:s,location:a})}else window.location.href=t}}))},replace:function(e,t){var s="REPLACE",a=f(e,t,M(),W.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=N.indexOf(W.location.key);-1!==c&&(N[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||(B(1),F=!0),function(){return F&&(F=!1,B(-1)),t()}},listen:function(e){var t=E.appendListener(e);return B(1),function(){B(-1),t()}}};return W}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.Z)(!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.Z)(F,e),F.length=t.length,M.notifyListeners(F.location,F.action)}var L=!1,Z=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(Z===p(o))return;Z=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=N.lastIndexOf(p(t));-1===n&&(n=0);var s=N.lastIndexOf(p(e));-1===s&&(s=0);var o=n-s;o&&(L=!0,O(o))}(e)}))}}(o)}}var A=j(),P=y(A);A!==P&&C(P);var R=S(),N=[p(R)];function O(e){t.go(e)}var D=0;function I(e){1===(D+=e)&&1===e?window.addEventListener(x,T):0===D&&window.removeEventListener(x,T)}var B=!1;var F={length:t.length,action:"POP",location:R,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){Z=t,function(e){window.location.hash=e}(o);var a=N.lastIndexOf(p(F.location)),r=N.slice(0,a+1);r.push(t),N=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&&(Z=t,C(o));var a=N.indexOf(p(F.location));-1!==a&&(N[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 B||(I(1),B=!0),function(){return B&&(B=!1,I(-1)),t()}},listen:function(e){var t=M.appendListener(e);return I(1),function(){I(-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.Z)(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}},8679:(e,t,n)=>{"use strict";var s=n(59864),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}},41143: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}}},5826:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},16847:(e,t,n)=>{"use strict";n.r(t)},32497:(e,t,n)=>{"use strict";n.r(t)},12010:(e,t,n)=>{"use strict";n.r(t)},74865: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)},14779:(e,t,n)=>{var s=n(5826);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)}},96854:()=>{!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)},99945:()=>{!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)},3997:(e,t,n)=>{var s={"./prism-php":99945};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=3997},92703:(e,t,n)=>{"use strict";var s=n(50414);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}},45697:(e,t,n)=>{e.exports=n(92703)()},50414:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},64448:(e,t,n)=>{"use strict";var s=n(67294),o=n(63840);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"),Z=Symbol.for("react.suspense_list"),T=Symbol.for("react.memo"),A=Symbol.for("react.lazy");Symbol.for("react.scope"),Symbol.for("react.debug_trace_mode");var P=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden"),Symbol.for("react.cache"),Symbol.for("react.tracing_marker");var R=Symbol.iterator;function N(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=R&&e[R]||e["@@iterator"])?e:null}var O,D=Object.assign;function I(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 B=!1;function F(e,t){if(!e||B)return"";B=!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{B=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?I(e):""}function W(e){switch(e.tag){case 5:return I(e.type);case 16:return I("Lazy");case 13:return I("Suspense");case 19:return I("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 z(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 Z: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:z(e.type)||"Memo";case A:t=e._payload,e=e._init;try{return z(e(t))}catch(n){}}return null}function H(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 z(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 V(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function U(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function $(e){e._valueTracker||(e._valueTracker=function(e){var t=U(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=U(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 Y(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 K(e,t){var n=null==t.defaultValue?"":t.defaultValue,s=null!=t.checked?t.checked:t.defaultChecked;n=V(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=V(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,V(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=""+V(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:V(n)}}function ae(e,t){var n=V(t.value),s=V(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 Ze=!1;function Te(e,t,n){if(Ze)return e(t,n);Ze=!0;try{return Ee(e,t,n)}finally{Ze=!1,(null!==_e||null!==je)&&(Le(),Me())}}function Ae(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 Pe=!1;if(d)try{var Re={};Object.defineProperty(Re,"passive",{get:function(){Pe=!0}}),window.addEventListener("test",Re,Re),window.removeEventListener("test",Re,Re)}catch(de){Pe=!1}function Ne(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,Ie=!1,Be=null,Fe={onError:function(e){Oe=!0,De=e}};function We(e,t,n,s,o,a,r,i,c){Oe=!1,De=null,Ne.apply(Fe,arguments)}function ze(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{0!=(4098&(t=e).flags)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function He(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 Ve(e){if(ze(e)!==e)throw Error(a(188))}function Ue(e){return null!==(e=function(e){var t=e.alternate;if(!t){if(null===(t=ze(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 Ve(o),e;if(r===s)return Ve(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))?$e(e):null}function $e(e){if(5===e.tag||6===e.tag)return e;for(e=e.child;null!==e;){var t=$e(e);if(null!==t)return t;e=e.sibling}return null}var qe=o.unstable_scheduleCallback,Ge=o.unstable_cancelCallback,Ye=o.unstable_shouldYield,Ke=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&&0==(t&o)&&((o=s&-s)>=(a=t&-t)||16===o&&0!=(4194240&a)))return t;if(0!=(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 0==(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?0!=(268435455&e)?16:536870912:4:1}var xt,wt,_t,jt,Ct,St=!1,Mt=[],Et=null,Lt=null,Zt=null,Tt=new Map,At=new Map,Pt=[],Rt="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 Nt(e,t){switch(e){case"focusin":case"focusout":Et=null;break;case"dragenter":case"dragleave":Lt=null;break;case"mouseover":case"mouseout":Zt=null;break;case"pointerover":case"pointerout":Tt.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":At.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=ze(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=He(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 It(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var n=Yt(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 Bt(e,t,n){It(e)&&n.delete(t)}function Ft(){St=!1,null!==Et&&It(Et)&&(Et=null),null!==Lt&&It(Lt)&&(Lt=null),null!==Zt&&It(Zt)&&(Zt=null),Tt.forEach(Bt),At.forEach(Bt)}function Wt(e,t){e.blockedOn===t&&(e.blockedOn=null,St||(St=!0,o.unstable_scheduleCallback(o.unstable_NormalPriority,Ft)))}function zt(e){function t(t){return Wt(t,e)}if(0<Mt.length){Wt(Mt[0],e);for(var n=1;n<Mt.length;n++){var s=Mt[n];s.blockedOn===e&&(s.blockedOn=null)}}for(null!==Et&&Wt(Et,e),null!==Lt&&Wt(Lt,e),null!==Zt&&Wt(Zt,e),Tt.forEach(t),At.forEach(t),n=0;n<Pt.length;n++)(s=Pt[n]).blockedOn===e&&(s.blockedOn=null);for(;0<Pt.length&&null===(n=Pt[0]).blockedOn;)Dt(n),null===n.blockedOn&&Pt.shift()}var Ht=k.ReactCurrentBatchConfig,Vt=!0;function Ut(e,t,n,s){var o=yt,a=Ht.transition;Ht.transition=null;try{yt=1,qt(e,t,n,s)}finally{yt=o,Ht.transition=a}}function $t(e,t,n,s){var o=yt,a=Ht.transition;Ht.transition=null;try{yt=4,qt(e,t,n,s)}finally{yt=o,Ht.transition=a}}function qt(e,t,n,s){if(Vt){var o=Yt(e,t,n,s);if(null===o)Vs(e,t,s,Gt,n),Nt(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 Zt=Ot(Zt,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,At.set(a,Ot(At.get(a)||null,e,t,n,s,o)),!0}return!1}(o,e,t,n,s))s.stopPropagation();else if(Nt(e,s),4&t&&-1<Rt.indexOf(e)){for(;null!==o;){var a=ko(o);if(null!==a&&xt(a),null===(a=Yt(e,t,n,s))&&Vs(e,t,s,Gt,n),a===o)break;o=a}null!==o&&s.stopPropagation()}else Vs(e,t,s,null,n)}}var Gt=null;function Yt(e,t,n,s){if(Gt=null,null!==(e=yo(e=xe(s))))if(null===(t=ze(e)))e=null;else if(13===(n=t.tag)){if(null!==(e=He(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 Kt(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})),Zn=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}),An=on(Tn),Pn=[9,13,27,32],Rn=d&&"CompositionEvent"in window,Nn=null;d&&"documentMode"in document&&(Nn=document.documentMode);var On=d&&"TextEvent"in window&&!Nn,Dn=d&&(!Rn||Nn&&8<Nn&&11>=Nn),In=String.fromCharCode(32),Bn=!1;function Fn(e,t){switch(e){case"keyup":return-1!==Pn.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Wn(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var zn=!1;var Hn={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 Vn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!Hn[e.type]:"textarea"===t}function Un(e,t,n,s){Se(s),0<(t=$s(t,"onChange")).length&&(n=new dn("onChange","change",null,n,s),e.push({event:n,listeners:t}))}var $n=null,qn=null;function Gn(e){Is(e,0)}function Yn(e){if(q(xo(e)))return e}function Kn(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(){$n&&($n.detachEvent("onpropertychange",ns),qn=$n=null)}function ns(e){if("value"===e.propertyName&&Yn(qn)){var t=[];Un(t,qn,e,xe(e)),Te(Gn,t)}}function ss(e,t,n){"focusin"===e?(ts(),qn=n,($n=t).attachEvent("onpropertychange",ns)):"focusout"===e&&ts()}function os(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return Yn(qn)}function as(e,t){if("click"===e)return Yn(t)}function rs(e,t){if("input"===e||"change"===e)return Yn(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=$s(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"),Zs=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 As(e,t){Zs.set(e,t),c(t,[e])}for(var Ps=0;Ps<Ts.length;Ps++){var Rs=Ts[Ps];As(Rs.toLowerCase(),"on"+(Rs[0].toUpperCase()+Rs.slice(1)))}As(Ss,"onAnimationEnd"),As(Ms,"onAnimationIteration"),As(Es,"onAnimationStart"),As("dblclick","onDoubleClick"),As("focusin","onFocus"),As("focusout","onBlur"),As(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 Ns="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(Ns));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(We.apply(this,arguments),Oe){if(!Oe)throw Error(a(198));var d=De;Oe=!1,De=null,Ie||(Ie=!0,Be=d)}}(s,t,void 0,e),e.currentTarget=null}function Is(e,t){t=0!=(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(Ie)throw e=Be,Ie=!1,Be=null,e}function Bs(e,t){var n=t[mo];void 0===n&&(n=t[mo]=new Set);var s=e+"__bubble";n.has(s)||(Hs(t,e,2,!1),n.add(s))}function Fs(e,t,n){var s=0;t&&(s|=4),Hs(n,e,s,t)}var Ws="_reactListening"+Math.random().toString(36).slice(2);function zs(e){if(!e[Ws]){e[Ws]=!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[Ws]||(t[Ws]=!0,Fs("selectionchange",!1,t))}}function Hs(e,t,n,s){switch(Kt(t)){case 1:var o=Ut;break;case 4:o=$t;break;default:o=qt}n=o.bind(null,t,n,e),o=void 0,!Pe||"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 Vs(e,t,n,s,o){var a=s;if(0==(1&t)&&0==(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=Zs.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=Zn;break;case"scroll":c=pn;break;case"wheel":c=An;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=0!=(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=Ae(b,p))&&d.push(Us(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(0==(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=ze(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=Kn;else if(Vn(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))?Un(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":(Vn(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(Rn)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 zn?Fn(e,n)&&(y="onCompositionEnd"):"keydown"===e&&229===n.keyCode&&(y="onCompositionStart");y&&(Dn&&"ko"!==n.locale&&(zn||"onCompositionStart"!==y?"onCompositionEnd"===y&&zn&&(v=en()):(Xt="value"in(Qt=o)?Qt.value:Qt.textContent,zn=!0)),0<(g=$s(s,y)).length&&(y=new kn(y,e,null,n,o),r.push({event:y,listeners:g}),v?y.data=v:null!==(v=Wn(n))&&(y.data=v))),(v=On?function(e,t){switch(e){case"compositionend":return Wn(t);case"keypress":return 32!==t.which?null:(Bn=!0,In);case"textInput":return(e=t.data)===In&&Bn?null:e;default:return null}}(e,n):function(e,t){if(zn)return"compositionend"===e||!Rn&&Fn(e,t)?(e=en(),Jt=Xt=Qt=null,zn=!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=$s(s,"onBeforeInput")).length&&(o=new kn("onBeforeInput","beforeinput",null,n,o),r.push({event:o,listeners:s}),o.data=v))}Is(r,t)}))}function Us(e,t,n){return{instance:e,listener:t,currentTarget:n}}function $s(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=Ae(e,n))&&s.unshift(Us(e,a,o)),null!=(a=Ae(e,t))&&s.push(Us(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=Ae(n,a))&&r.unshift(Us(n,c,i)):o||null!=(c=Ae(n,a))&&r.push(Us(n,c,i))),n=n.return}0!==r.length&&e.push({event:t,listeners:r})}var Ys=/\r\n?/g,Ks=/\u0000|\uFFFD/g;function Qs(e){return("string"==typeof e?e:""+e).replace(Ys,"\n").replace(Ks,"")}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 zt(t);s--}else"$"!==n&&"$?"!==n&&"$!"!==n||s++;n=o}while(n);zt(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),Zo=Co(!1),To=Eo;function Ao(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 Po(e){return null!=(e=e.childContextTypes)}function Ro(){So(Zo),So(Lo)}function No(e,t,n){if(Lo.current!==Eo)throw Error(a(168));Mo(Lo,t),Mo(Zo,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,H(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(Zo,Zo.current),!0}function Io(e,t,n){var s=e.stateNode;if(!s)throw Error(a(169));n?(e=Oo(e,t,To),s.__reactInternalMemoizedMergedChildContext=e,So(Zo),So(Lo),Mo(Lo,e)):So(Zo),Mo(Zo,n)}var Bo=null,Fo=!1,Wo=!1;function zo(e){null===Bo?Bo=[e]:Bo.push(e)}function Ho(){if(!Wo&&null!==Bo){Wo=!0;var e=0,t=yt;try{var n=Bo;for(yt=1;e<n.length;e++){var s=n[e];do{s=s(!0)}while(null!==s)}Bo=null,Fo=!1}catch(o){throw null!==Bo&&(Bo=Bo.slice(e+1)),qe(Je,Ho),o}finally{yt=t,Wo=!1}}return null}var Vo=[],Uo=0,$o=null,qo=0,Go=[],Yo=0,Ko=null,Qo=1,Xo="";function Jo(e,t){Vo[Uo++]=qo,Vo[Uo++]=$o,$o=e,qo=t}function ea(e,t,n){Go[Yo++]=Qo,Go[Yo++]=Xo,Go[Yo++]=Ko,Ko=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===$o;)$o=Vo[--Uo],Vo[Uo]=null,qo=Vo[--Uo],Vo[Uo]=null;for(;e===Ko;)Ko=Go[--Yo],Go[Yo]=null,Xo=Go[--Yo],Go[Yo]=null,Qo=Go[--Yo],Go[Yo]=null}var sa=null,oa=null,aa=!1,ra=null;function ia(e,t){var n=Al(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!==Ko?{id:Qo,overflow:Xo}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},(n=Al(18,null,null,0)).stateNode=t,n.return=e,e.child=n,sa=e,oa=null,!0);default:return!1}}function la(e){return 0!=(1&e.mode)&&0==(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&&(0!=(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,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 Ta=!1;function Aa(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Pa(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 Ra(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Na(e,t,n){var s=e.updateQueue;if(null===s)return null;if(s=s.shared,0!=(2&Lc)){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,Ea(s)):(t.next=o.next,o.next=t),s.interleaved=t,Za(e,n)}function Oa(e,t,n){if(null!==(t=t.updateQueue)&&(t=t.shared,0!=(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 Ia(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 Ba(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 Wa(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 za={isMounted:function(e){return!!(e=e._reactInternals)&&ze(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternals;var s=tl(),o=nl(e),a=Ra(s,o);a.payload=t,null!=n&&(a.callback=n),null!==(t=Na(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=Ra(s,o);a.tag=1,a.payload=t,null!=n&&(a.callback=n),null!==(t=Na(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=Ra(n,s);o.tag=2,null!=t&&(o.callback=t),null!==(t=Na(e,o,s))&&(sl(t,e,s,n),Oa(t,e,s))}};function Ha(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 Va(e,t,n){var s=!1,o=Eo,a=t.contextType;return"object"==typeof a&&null!==a?a=Sa(a):(o=Po(t)?To:Lo.current,a=(s=null!=(s=t.contextTypes))?Ao(e,o):Eo),t=new t(n,a),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=za,e.stateNode=t,t._reactInternals=e,s&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=o,e.__reactInternalMemoizedMaskedChildContext=a),t}function Ua(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&&za.enqueueReplaceState(t,t.state,null)}function $a(e,t,n,s){var o=e.stateNode;o.props=n,o.state=e.memoizedState,o.refs=Fa,Aa(e);var a=t.contextType;"object"==typeof a&&null!==a?o.context=Sa(a):(a=Po(t)?To:Lo.current,o.context=Ao(e,a)),o.state=e.memoizedState,"function"==typeof(a=t.getDerivedStateFromProps)&&(Wa(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&&za.enqueueReplaceState(o,o.state,null),Ia(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 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=Il(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===A&&Ya(a)===t.type)?((s=o(t,n.props)).ref=qa(e,t,n),s.return=e,s):((s=Nl(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=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=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=Il(""+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=qa(e,null,t),n.return=e,n;case w:return(t=Bl(t,e.mode,n)).return=e,t;case A:return p(e,(0,t._init)(t._payload),n)}if(te(t)||N(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 A:return f(e,t,(o=n._init)(n._payload),s)}if(te(n)||N(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 A:return b(e,t,n,(0,s._init)(s._payload),o)}if(te(s)||N(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=N(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===A&&Ya(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=Nl(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=Bl(r,s.mode,c)).return=s,s=a}return i(s);case A:return e(s,a,(d=r._init)(r._payload),c)}if(te(r))return h(s,a,r,c);if(N(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=Il(r,s.mode,c)).return=s,s=a),i(s)):n(s,a)}}var Qa=Ka(!0),Xa=Ka(!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(0!=(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 Zr(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 Ar(e,t){var n=hr,s=Mr(),o=t(),r=!is(s.memoizedState,o);if(r&&(s.memoizedState=o,ki=!0),s=s.queue,Vr(Nr.bind(null,n,s,e),[e]),s.getSnapshot!==t||r||null!==gr&&1&gr.memoizedState.tag){if(n.flags|=2048,Br(9,Rr.bind(null,n,s,o,t),void 0,null),null===Zc)throw Error(a(349));0!=(30&br)||Pr(n,t,o)}return o}function Pr(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 Rr(e,t,n,s){t.value=n,t.getSnapshot=s,Or(t)&&Dr(e)}function Nr(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=Za(e,1);null!==t&&sl(t,e,1,-1)}function Ir(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 Br(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 Wr(e,t,n,s){var o=Sr();hr.flags|=e,o.memoizedState=Br(1|t,n,void 0,void 0===s?null:s)}function zr(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=Br(t,n,a,s))}hr.flags|=e,o.memoizedState=Br(1|t,n,a,s)}function Hr(e,t){return Wr(8390656,8,e,t)}function Vr(e,t){return zr(2048,8,e,t)}function Ur(e,t){return zr(4,2,e,t)}function $r(e,t){return zr(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,zr(4,4,qr.bind(null,t,e),n)}function Yr(){}function Kr(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 0==(21&br)?(e.baseState&&(e.baseState=!1,ki=!0),e.memoizedState=n):(is(n,t)||(n=ht(),hr.lanes|=n,Dc|=n,e.baseState=!0),t)}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(0!=(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:Hr,useImperativeHandle:function(e,t,n){return n=null!=n?n.concat([e]):null,Wr(4194308,4,qr.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Wr(4194308,4,e,t)},useInsertionEffect:function(e,t){return Wr(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:Ir,useDebugValue:Yr,useDeferredValue:function(e){return Sr().memoizedState=e},useTransition:function(){var e=Ir(!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===Zc)throw Error(a(349));0!=(30&br)||Pr(s,t,n)}o.memoizedState=n;var r={value:n,getSnapshot:t};return o.queue=r,Hr(Nr.bind(null,s,r,e),[e]),s.flags|=2048,Br(9,Rr.bind(null,s,r,n,t),void 0,null),n},useId:function(){var e=Sr(),t=Zc.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:Kr,useContext:Sa,useEffect:Vr,useImperativeHandle:Gr,useInsertionEffect:Ur,useLayoutEffect:$r,useMemo:Qr,useReducer:Lr,useRef:Fr,useState:function(){return Lr(Er)},useDebugValue:Yr,useDeferredValue:function(e){return Xr(Mr(),mr.memoizedState,e)},useTransition:function(){return[Lr(Er)[0],Mr().memoizedState]},useMutableSource:Tr,useSyncExternalStore:Ar,useId:ei,unstable_isNewReconciler:!1},li={readContext:Sa,useCallback:Kr,useContext:Sa,useEffect:Vr,useImperativeHandle:Gr,useInsertionEffect:Ur,useLayoutEffect:$r,useMemo:Qr,useReducer:Zr,useRef:Fr,useState:function(){return Zr(Er)},useDebugValue:Yr,useDeferredValue:function(e){var t=Mr();return null===mr?t.memoizedState=e:Xr(t,mr.memoizedState,e)},useTransition:function(){return[Zr(Er)[0],Mr().memoizedState]},useMutableSource:Tr,useSyncExternalStore:Ar,useId:ei,unstable_isNewReconciler:!1};function di(e,t){try{var n="",s=t;do{n+=W(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=Ra(-1,n)).tag=3,n.payload={element:null};var s=t.value;return n.callback=function(){Uc||(Uc=!0,$c=s),pi(0,t)},n}function hi(e,t,n){(n=Ra(-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 0==(1&e.mode)?(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,1===n.tag&&(null===n.alternate?n.tag=17:((t=Ra(-1,1)).tag=2,Na(n,t,1))),n.lanes|=1),e):(e.flags|=65536,e.lanes=o,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,Ui(e,t,o))}function _i(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,ji(e,t,a,s,o))}if(a=e.child,0==(e.lanes&o)){var r=a.memoizedProps;if((n=null!==(n=n.compare)?n:cs)(r,s)&&e.ref===t.ref)return Ui(e,t,o)}return t.flags|=1,(e=Rl(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,0==(e.lanes&o))return t.lanes=e.lanes,Ui(e,t,o);0!=(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(0==(1&t.mode))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},Mo(Rc,Pc),Pc|=n;else{if(0==(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 null!==a?(s=a.baseLanes|n,t.memoizedState=null):s=n,Mo(Rc,Pc),Pc|=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=Po(n)?To:Lo.current;return a=Ao(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,Ui(e,t,o))}function Ei(e,t,n,s,o){if(Po(n)){var a=!0;Do(t)}else a=!1;if(Ca(t,o),null===t.stateNode)Vi(e,t),Va(t,n,s),$a(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=Ao(t,l=Po(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)&&Ua(t,r,s,l),Ta=!1;var p=t.memoizedState;r.state=p,Ia(t,s,r,o),c=t.memoizedState,i!==s||p!==c||Zo.current||Ta?("function"==typeof d&&(Wa(t,n,d,s),c=t.memoizedState),(i=Ta||Ha(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,Pa(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=Ao(t,c=Po(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)&&Ua(t,r,s,c),Ta=!1,p=t.memoizedState,r.state=p,Ia(t,s,r,o);var b=t.memoizedState;i!==u||p!==b||Zo.current||Ta?("function"==typeof f&&(Wa(t,n,f,s),b=t.memoizedState),(l=Ta||Ha(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=0!=(128&t.flags);if(!s&&!r)return o&&Io(t,n,!1),Ui(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&&Io(t,n,!0),t.child}function Zi(e){var t=e.stateNode;t.pendingContext?No(0,t.pendingContext,t.pendingContext!==t.context):t.context&&No(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 Ai,Pi,Ri,Ni,Oi={dehydrated:null,treeContext:null,retryLane:0};function Di(e){return{baseLanes:e,cachePool:null,transitions:null}}function Ii(e,t,n){var s,o=t.pendingProps,r=cr.current,i=!1,c=0!=(128&t.flags);if((s=c)||(s=(null===e||null!==e.memoizedState)&&0!=(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)?(0==(1&t.mode)?t.lanes=1:"$!"===e.data?t.lanes=8:t.lanes=1073741824,null):(c=o.children,e=o.fallback,i?(o=t.mode,i=t.child,c={mode:"hidden",children:c},0==(1&o)&&null!==i?(i.childLanes=0,i.pendingProps=c):i=Dl(c,o,0,null),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):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,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,0!=(1&t.mode)&&Qa(t,e.child,null,i),t.child.memoizedState=Di(i),t.memoizedState=Oi,r);if(0==(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=0!=(i&e.childLanes),ki||c){if(null!==(s=Zc)){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=0!=(o&(s.suspendedLanes|i))?0:o)&&o!==r.retryLane&&(r.retryLane=o,Za(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[Yo++]=Qo,Go[Yo++]=Xo,Go[Yo++]=Ko,Qo=e.id,Xo=e.overflow,Ko=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 0==(1&c)&&t.child!==r?((o=t.child).childLanes=0,o.pendingProps=l,t.deletions=null):(o=Rl(r,l)).subtreeFlags=14680064&r.subtreeFlags,null!==s?i=Rl(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=Rl(i,{mode:"visible",children:o.children}),0==(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=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=Bi(t,t.pendingProps.children)).flags|=2,t.memoizedState=null,e}function Wi(e,t,n){e.lanes|=t;var s=e.alternate;null!==s&&(s.lanes|=t),ja(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 Hi(e,t,n){var s=t.pendingProps,o=s.revealOrder,a=s.tail;if(xi(e,t,s.children,n),0!=(2&(s=cr.current)))s=1&s|2,t.flags|=128;else{if(null!==e&&0!=(128&e.flags))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&Wi(e,n,t);else if(19===e.tag)Wi(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),0==(1&t.mode))t.memoizedState=null;else 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),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===lr(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}return t.child}function Vi(e,t){0==(1&t.mode)&&null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2)}function Ui(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),Dc|=t.lanes,0==(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 $i(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 Po(t.type)&&Ro(),qi(t),null;case 3:return s=t.stateNode,ar(),So(Zo),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&&0==(256&t.flags)||(t.flags|=1024,null!==ra&&(il(ra),ra=null))),Pi(e,t),qi(t),null;case 5:ir(t);var o=sr(nr.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 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=0!=(1&t.mode),n){case"dialog":Bs("cancel",s),Bs("close",s);break;case"iframe":case"object":case"embed":Bs("load",s);break;case"video":case"audio":for(o=0;o<Ns.length;o++)Bs(Ns[o],s);break;case"source":Bs("error",s);break;case"img":case"image":case"link":Bs("error",s),Bs("load",s);break;case"details":Bs("toggle",s);break;case"input":K(s,r),Bs("invalid",s);break;case"select":s._wrapperState={wasMultiple:!!r.multiple},Bs("invalid",s);break;case"textarea":oe(s,r),Bs("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&&Bs("scroll",s)}switch(n){case"input":$(s),J(s,r,!0);break;case"textarea":$(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,Ai(e,t,!1,!1),t.stateNode=e;e:{switch(c=ye(n,s),n){case"dialog":Bs("cancel",e),Bs("close",e),o=s;break;case"iframe":case"object":case"embed":Bs("load",e),o=s;break;case"video":case"audio":for(o=0;o<Ns.length;o++)Bs(Ns[o],e);o=s;break;case"source":Bs("error",e),o=s;break;case"img":case"image":case"link":Bs("error",e),Bs("load",e),o=s;break;case"details":Bs("toggle",e),o=s;break;case"input":K(e,s),o=Y(e,s),Bs("invalid",e);break;case"option":default:o=s;break;case"select":e._wrapperState={wasMultiple:!!s.multiple},o=D({},s,{value:void 0}),Bs("invalid",e);break;case"textarea":oe(e,s),o=se(e,s),Bs("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&&Bs("scroll",e):null!=d&&y(e,r,d,c))}switch(n){case"input":$(e),J(e,s,!1);break;case"textarea":$(e),re(e);break;case"option":null!=s.value&&e.setAttribute("value",""+V(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)Ni(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,0!=(1&e.mode));break;case 5:!0!==e.memoizedProps.suppressHydrationWarning&&Xs(s.nodeValue,n,0!=(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&&0!=(1&t.mode)&&0==(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(),0==(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 0!=(128&t.flags)?(t.lanes=n,t):((s=null!==s)!==(null!==e&&null!==e.memoizedState)&&s&&(t.child.flags|=8192,0!=(1&t.mode)&&(null===e||0!=(1&cr.current)?0===Nc&&(Nc=3):ml())),null!==t.updateQueue&&(t.flags|=4),qi(t),null);case 4:return ar(),Pi(e,t),null===e&&zs(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=0!=(128&t.flags),null===(c=r.rendering))if(s)$i(r,!1);else{if(0!==Nc||null!==e&&0!=(128&e.flags))for(e=t.child;null!==e;){if(null!==(c=lr(e))){for(t.flags|=128,$i(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()>Hc&&(t.flags|=128,s=!0,$i(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),$i(r,!0),null===r.tail&&"hidden"===r.tailMode&&!c.alternate&&!aa)return qi(t),null}else 2*Qe()-r.renderingStartTime>Hc&&1073741824!==n&&(t.flags|=128,s=!0,$i(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&&0!=(1&t.mode)?0!=(1073741824&Pc)&&(qi(t),6&t.subtreeFlags&&(t.flags|=8192)):qi(t),null;case 24:case 25:return null}throw Error(a(156,t.tag))}function Yi(e,t){switch(na(t),t.tag){case 1:return Po(t.type)&&Ro(),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return ar(),So(Zo),So(Lo),ur(),0!=(65536&(e=t.flags))&&0==(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}}Ai=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,sr(er.current);var a,r=null;switch(n){case"input":o=Y(e,o),s=Y(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&&Bs("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,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),zt(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&&(0!=(2&a)||0!=(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{zt(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||(zc=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&&0!=(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=0!=(1&e.mode);null!==Ji;){var o=Ji,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||Qi;i=Ki;var l=Qi;if(Ki=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,Ki=i,Qi=l}xc(e)}else 0!=(8772&o.subtreeFlags)&&null!==a?(a.return=o,Ji=a):xc(e)}}function xc(e){for(;null!==Ji;){var t=Ji;if(0!=(8772&t.flags)){var n=t.alternate;try{if(0!=(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&&Ba(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}Ba(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&&zt(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,Zc=null,Tc=null,Ac=0,Pc=0,Rc=Co(0),Nc=0,Oc=null,Dc=0,Ic=0,Bc=0,Fc=null,Wc=null,zc=0,Hc=1/0,Vc=null,Uc=!1,$c=null,qc=null,Gc=!1,Yc=null,Kc=0,Qc=0,Xc=null,Jc=-1,el=0;function tl(){return 0!=(6&Lc)?Qe():-1!==Jc?Jc:Jc=Qe()}function nl(e){return 0==(1&e.mode)?1:0!=(2&Lc)&&0!==Ac?Ac&-Ac:null!==ma.transition?(0===el&&(el=ht()),el):0!==(e=yt)?e:e=void 0===(e=window.event)?16:Kt(e.type)}function sl(e,t,n,s){if(50<Qc)throw Qc=0,Xc=null,Error(a(185));gt(e,n,s),0!=(2&Lc)&&e===Zc||(e===Zc&&(0==(2&Lc)&&(Ic|=n),4===Nc&&cl(e,Ac)),ol(e,s),1===n&&0===Lc&&0==(1&t.mode)&&(Hc=Qe()+500,Fo&&Ho()))}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?0!=(i&n)&&0==(i&s)||(o[r]=ft(i,t)):c<=t&&(e.expiredLanes|=i),a&=~i}}(e,t);var s=pt(e,e===Zc?Ac: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,zo(e)}(ll.bind(null,e)):zo(ll.bind(null,e)),ro((function(){0==(6&Lc)&&Ho()})),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=Zl(n,al.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function al(e,t){if(Jc=-1,el=0,0!=(6&Lc))throw Error(a(327));var n=e.callbackNode;if(_l()&&e.callbackNode!==n)return null;var s=pt(e,e===Zc?Ac:0);if(0===s)return null;if(0!=(30&s)||0!=(s&e.expiredLanes)||t)t=gl(e,s);else{t=s;var o=Lc;Lc|=2;var r=hl();for(Zc===e&&Ac===t||(Vc=null,Hc=Qe()+500,fl(e,t));;)try{yl();break}catch(c){bl(e,c)}wa(),Sc.current=r,Lc=o,null!==Tc?t=0:(Zc=null,Ac=0,t=Nc)}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,0==(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)&&(2===(t=gl(e,s))&&(0!==(r=bt(e))&&(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,Wc,Vc);break;case 3:if(cl(e,s),(130023424&s)===s&&10<(t=zc+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,Wc,Vc),t);break}wl(e,Wc,Vc);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,Wc,Vc),s);break}wl(e,Wc,Vc);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=Wc,Wc=n,null!==t&&il(t)),e}function il(e){null===Wc?Wc=e:Wc.push.apply(Wc,e)}function cl(e,t){for(t&=~Bc,t&=~Ic,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(0!=(6&Lc))throw Error(a(327));_l();var t=pt(e,0);if(0==(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,Wc,Vc),ol(e,Qe()),null}function dl(e,t){var n=Lc;Lc|=1;try{return e(t)}finally{0===(Lc=n)&&(Hc=Qe()+500,Fo&&Ho())}}function ul(e){null!==Yc&&0===Yc.tag&&0==(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,0==(6&(Lc=t))&&Ho()}}function pl(){Pc=Rc.current,So(Rc)}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)&&Ro();break;case 3:ar(),So(Zo),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(Zc=e,Tc=e=Rl(e.current,null),Ac=Pc=t,Nc=0,Oc=null,Bc=Ic=Dc=0,Wc=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){Nc=1,Oc=t,Tc=null;break}e:{var r=e,i=n.return,c=n,l=t;if(t=Ac,c.flags|=32768,null!==l&&"object"==typeof l&&"function"==typeof l.then){var d=l,u=c,p=u.tag;if(0==(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(0==(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){0==(65536&g.flags)&&(g.flags|=256),vi(g,i,c,0,t),ha(di(l,c));break e}}r=l=di(l,c),4!==Nc&&(Nc=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(0==(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!==Nc&&3!==Nc&&2!==Nc||(Nc=4),null===Zc||0==(268435455&Dc)&&0==(268435455&Ic)||cl(Zc,Ac)}function gl(e,t){var n=Lc;Lc|=2;var s=hl();for(Zc===e&&Ac===t||(Vc=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 Zc=null,Ac=0,Nc}function vl(){for(;null!==Tc;)kl(Tc)}function yl(){for(;null!==Tc&&!Ye();)kl(Tc)}function kl(e){var t=jc(e.alternate,e,Pc);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,0==(32768&t.flags)){if(null!==(n=Gi(n,t,Pc)))return void(Tc=n)}else{if(null!==(n=Yi(n,t)))return n.flags&=32767,void(Tc=n);if(null===e)return Nc=6,void(Tc=null);e.flags|=32768,e.subtreeFlags=0,e.deletions=null}if(null!==(t=t.sibling))return void(Tc=t);Tc=t=e}while(null!==t);0===Nc&&(Nc=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!==Yc);if(0!=(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===Zc&&(Tc=Zc=null,Ac=0),0==(2064&n.subtreeFlags)&&0==(2064&n.flags)||Gc||(Gc=!0,Zl(tt,(function(){return _l(),null}))),r=0!=(15990&n.flags),0!=(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=Vt,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},Vt=!1,Ji=t;null!==Ji;)if(e=(t=Ji).child,0!=(1028&t.subtreeFlags)&&null!==e)e.return=t,Ji=e;else for(;null!==Ji;){t=Ji;try{var h=t.alternate;if(0!=(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),Vt=!!eo,to=eo=null,e.current=n,yc(n,e,o),Ke(),Lc=c,yt=i,Ec.transition=r}else e.current=n;if(Gc&&(Gc=!1,Yc=e,Kc=o),r=e.pendingLanes,0===r&&(qc=null),function(e){if(at&&"function"==typeof at.onCommitFiberRoot)try{at.onCommitFiberRoot(ot,e,void 0,128==(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(Uc)throw Uc=!1,e=$c,$c=null,e;0!=(1&Kc)&&0!==e.tag&&_l(),r=e.pendingLanes,0!=(1&r)?e===Xc?Qc++:(Qc=0,Xc=e):Qc=0,Ho()}(e,t,n,s)}finally{Ec.transition=o,yt=s}return null}function _l(){if(null!==Yc){var e=kt(Kc),t=Ec.transition,n=yt;try{if(Ec.transition=null,yt=16>e?16:e,null===Yc)var s=!1;else{if(e=Yc,Yc=null,Kc=0,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(0!=(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(0!=(2064&r.subtreeFlags)&&null!==i)i.return=r,Ji=i;else e:for(;null!==Ji;){if(0!=(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(0!=(2064&i.subtreeFlags)&&null!==k)k.return=i,Ji=k;else e:for(i=y;null!==Ji;){if(0!=(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,Ho(),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=Na(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=Na(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,Zc===e&&(Ac&n)===n&&(4===Nc||3===Nc&&(130023424&Ac)===Ac&&500>Qe()-zc?fl(e,0):Bc|=n),ol(e,t)}function Ml(e,t){0===t&&(0==(1&e.mode)?t=1:(t=dt,0==(130023424&(dt<<=1))&&(dt=4194304)));var n=tl();null!==(e=Za(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 Zl(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 Al(e,t,n,s){return new Tl(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=Al(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 Ol(n.children,o,r,t);case j:i=8,o|=8;break;case C:return(e=Al(12,n,t,2|o)).elementType=C,e.lanes=r,e;case L:return(e=Al(13,n,t,o)).elementType=L,e.lanes=r,e;case Z:return(e=Al(19,n,t,o)).elementType=Z,e.lanes=r,e;case P: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 A:i=16,s=null;break e}throw Error(a(130,null==e?e:typeof e,""))}return(t=Al(i,n,t,o)).elementType=e,t.type=s,t.lanes=r,t}function Ol(e,t,n,s){return(e=Al(7,e,s,t)).lanes=n,e}function Dl(e,t,n,s){return(e=Al(22,e,s,t)).elementType=P,e.lanes=n,e.stateNode={isHidden:!1},e}function Il(e,t,n){return(e=Al(6,e,null,t)).lanes=n,e}function Bl(e,t,n){return(t=Al(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 Wl(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=Al(3,null,null,t),e.current=a,a.stateNode=e,a.memoizedState={element:s,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Aa(a),e}function zl(e){if(!e)return Eo;e:{if(ze(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(Po(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(Po(n))return Oo(e,n,t)}return t}function Hl(e,t,n,s,o,a,r,i,c){return(e=Wl(n,s,!0,e,0,a,0,i,c)).context=zl(null),n=e.current,(a=Ra(s=tl(),o=nl(n))).callback=null!=t?t:null,Na(n,a,o),e.current.lanes=o,gt(e,o,s),ol(e,s),e}function Vl(e,t,n,s){var o=t.current,a=tl(),r=nl(o);return n=zl(n),null===t.context?t.context=n:t.pendingContext=n,(t=Ra(a,r)).payload={element:e},null!==(s=void 0===s?null:s)&&(t.callback=s),null!==(e=Na(o,t,r))&&(sl(e,o,r,a),Oa(e,o,r)),r}function Ul(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function $l(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){$l(e,t),(e=e.alternate)&&$l(e,t)}jc=function(e,t,n){if(null!==e)if(e.memoizedProps!==t.pendingProps||Zo.current)ki=!0;else{if(0==(e.lanes&n)&&0==(128&t.flags))return ki=!1,function(e,t,n){switch(t.tag){case 3:Zi(t),ba();break;case 5:rr(t);break;case 1:Po(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):0!=(n&t.child.childLanes)?Ii(e,t,n):(Mo(cr,1&cr.current),null!==(e=Ui(e,t,n))?e.sibling:null);Mo(cr,1&cr.current);break;case 19:if(s=0!=(n&t.childLanes),0!=(128&e.flags)){if(s)return Hi(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 Ui(e,t,n)}(e,t,n);ki=0!=(131072&e.flags)}else ki=!1,aa&&0!=(1048576&t.flags)&&ea(t,qo,t.index);switch(t.lanes=0,t.tag){case 2:var s=t.type;Vi(e,t),e=t.pendingProps;var o=Ao(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,Po(s)?(r=!0,Do(t)):r=!1,t.memoizedState=null!==o.state&&void 0!==o.state?o.state:null,Aa(t),o.updater=za,t.stateNode=o,o._reactInternals=t,$a(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(Vi(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=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(Zi(t),null===e)throw Error(a(387));s=t.pendingProps,o=(r=t.memoizedState).element,Pa(e,t),Ia(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=Ui(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 Ii(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&&!Zo.current){t=Ui(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=Ra(-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),Vi(e,t),t.tag=1,Po(s)?(e=!0,Do(t)):e=!1,Ca(t,n),Va(t,s,o),$a(t,s,o,n),Li(null,t,s,!0,e,n);case 19:return Hi(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 Yl(e){this._internalRoot=e}function Kl(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=Ul(r);i.call(e)}}Vl(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=Ul(r);a.call(e)}}var r=Hl(t,s,e,0,null,!1,0,"",Jl);return e._reactRootContainer=r,e[ho]=r.current,zs(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=Ul(c);i.call(e)}}var c=Wl(e,0,!1,null,0,!1,0,"",Jl);return e._reactRootContainer=c,e[ho]=c.current,zs(8===e.nodeType?e.parentNode:e),ul((function(){Vl(t,c,n,s)})),c}(n,t,e,o,s);return Ul(r)}Kl.prototype.render=Yl.prototype.render=function(e){var t=this._internalRoot;if(null===t)throw Error(a(409));Vl(e,t,null,null)},Kl.prototype.unmount=Yl.prototype.unmount=function(){var e=this._internalRoot;if(null!==e){this._internalRoot=null;var t=e.containerInfo;ul((function(){Vl(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<Pt.length&&0!==t&&t<Pt[n].priority;n++);Pt.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()),0==(6&Lc)&&(Hc=Qe()+500,Ho()))}break;case 13:ul((function(){var t=Za(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=Za(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=Za(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=Ue(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=Wl(e,1,!1,null,0,n,0,s,o),e[ho]=t.current,zs(8===e.nodeType?e.parentNode:e),new Yl(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=Ue(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=Hl(t,null,e,1,null!=n?n:null,o,0,r,i),e[ho]=t.current,zs(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(!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"},20745:(e,t,n)=>{"use strict";var s=n(73935);t.createRoot=s.createRoot,t.hydrateRoot=s.hydrateRoot},73935:(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(64448)},69590: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}}},70405:(e,t,n)=>{"use strict";n.d(t,{B6:()=>U,ql:()=>J});var s=n(67294),o=n(45697),a=n.n(o),r=n(69590),i=n.n(r),c=n(41143),l=n.n(c),d=n(96774),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},Z=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}},A=function(e,t){var n;return p({},e,((n={})[t]=void 0,n))},P=[m.NOSCRIPT,m.SCRIPT,m.STYLE],R=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,"'")},N=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)}))},I=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=N(n),a=Z(t);return o?"<"+e+' data-rh="true" '+o+">"+R(a,s)+"</"+e+">":"<"+e+' data-rh="true">'+R(a,s)+"</"+e+">"}(e,t.title,t.titleAttributes,n)}};case"bodyAttributes":case"htmlAttributes":return{toComponent:function(){return O(t)},toString:function(){return N(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+'="'+R(s[t],n)+'"';return e?e+" "+o:o}),""),a=s.innerHTML||s.cssText||"",r=-1===P.indexOf(e);return t+"<"+e+' data-rh="true" '+o+(r?"/>":">"+a+"</"+e+">")}),"")}(e,t,n)}}}},B=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 I(m.META,o.priority,s)+" "+I(m.LINK,a.priority,s)+" "+I(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:I(m.BASE,t,s),bodyAttributes:I("bodyAttributes",n,s),htmlAttributes:I("htmlAttributes",o,s),link:I(m.LINK,d,s),meta:I(m.META,u,s),noscript:I(m.NOSCRIPT,a,s),script:I(m.SCRIPT,p,s),style:I(m.STYLE,r,s),title:I(m.TITLE,{title:c,titleAttributes:l},s)}},F=[],W=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=B({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}}))},z=s.createContext({}),H=a().shape({setHelmet:a().func,helmetInstances:a().shape({get:a().func,add:a().func,remove:a().func})}),V="undefined"!=typeof document,U=function(e){function t(n){var s;return(s=e.call(this,n)||this).helmetData=new W(s.props.context,t.canUseDOM),s}return f(t,e),t.prototype.render=function(){return s.createElement(z.Provider,{value:this.helmetData.value},this.props.children)},t}(s.Component);U.canUseDOM=V,U.propTypes={context:a().shape({helmet:a().shape()}),children:a().node.isRequired},U.defaultProps={context:{}},U.displayName="HelmetProvider";var $=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=Z(e)),q(m.TITLE,t)}(d,u);var p={baseTag:$(m.BASE,n),linkTags:$(m.LINK,o),metaTags:$(m.META,a),noscriptTags:$(m.NOSCRIPT,r),scriptTags:$(m.SCRIPT,c),styleTags:$(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)},Y=null,K=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")});U.canUseDOM?(t=a,Y&&cancelAnimationFrame(Y),t.defer?Y=requestAnimationFrame((function(){G(t,(function(){Y=null}))})):(G(t),Y=null)):B&&(o=B(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);K.propTypes={context:H.isRequired},K.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()(A(this.props,"helmetData"),A(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 W||(a=new W(a.context,a.instances)),a?s.createElement(K,p({},o,{context:a.value,helmetData:void 0})):s.createElement(z.Consumer,null,(function(e){return s.createElement(K,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"},69921:(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},59864:(e,t,n)=>{"use strict";e.exports=n(69921)},68356:(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(67294),c=n(45697),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},18790:(e,t,n)=>{"use strict";n.d(t,{H:()=>i,f:()=>r});var s=n(16550),o=n(87462),a=n(67294);function r(e,t,n){return void 0===n&&(n=[]),e.some((function(e){var o=e.path?(0,s.LX)(t,e):n.length?n[n.length-1].match:s.F0.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.rs,n,e.map((function(e,n){return a.createElement(s.AW,{key:e.key||n,path:e.path,exact:e.exact,strict:e.strict,render:function(n){return e.render?e.render((0,o.Z)({},n,{},t,{route:e})):a.createElement(e.component,(0,o.Z)({},n,t,{route:e}))}})}))):null}},73727:(e,t,n)=>{"use strict";n.d(t,{OL:()=>y,VK:()=>d,rU:()=>m});var s=n(16550),o=n(75068),a=n(67294),r=n(99318),i=n(87462),c=n(63366),l=n(38776),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.lX)(t.props),t}return(0,o.Z)(t,e),t.prototype.render=function(){return a.createElement(s.F0,{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.ob)(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.Z)(e,["innerRef","navigate","onClick"]),l=r.target,d=(0,i.Z)({},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.Z)(e,["component","replace","to","innerRef"]);return a.createElement(s.s6.Consumer,null,(function(e){e||(0,l.Z)(!1);var n=e.history,s=p(u(m,e.location),e.location),c=s?n.createHref(s):"",h=(0,i.Z)({},v,{href:c,navigate:function(){var t=u(m,e.location),s=(0,r.Ep)(e.location)===(0,r.Ep)(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.Z)(e,["aria-current","activeClassName","activeStyle","className","exact","isActive","location","sensitive","strict","style","to","innerRef"]);return a.createElement(s.s6.Consumer,null,(function(e){e||(0,l.Z)(!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.LX)(n.pathname,{path:M,exact:h,sensitive:x,strict:w}):null,L=!!(y?y(E,n):E),Z="function"==typeof b?b(L):b,T="function"==typeof _?_(L):_;L&&(Z=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(" ")}(Z,d),T=(0,i.Z)({},T,f));var A=(0,i.Z)({"aria-current":L&&o||null,className:Z,style:T,to:r},S);return g!==v?A.ref=t||C:A.innerRef=C,a.createElement(m,A)}))}))},16550:(e,t,n)=>{"use strict";n.d(t,{AW:()=>j,F0:()=>y,LX:()=>_,TH:()=>P,k6:()=>A,rs:()=>Z,s6:()=>v});var s=n(75068),o=n(67294),a=n(45697),r=n.n(a),i=n(99318),c=n(38776),l=n(87462),d=n(14779),u=n.n(d),p=(n(59864),n(63366)),f=(n(8679),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.Z)(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!=((0|e.observedBits)&n)&&e.setState({value:e.getValue()})},e}(0,s.Z)(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.Z)(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.Z)(t,e),t.prototype.render=function(){var e=this;return o.createElement(v.Consumer,null,(function(t){t||(0,c.Z)(!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.Z)({},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.Z)({},t,{pathname:t.pathname.substr(n.length)})}function M(e){return"string"==typeof e?e:(0,i.Ep)(e)}function E(e){return function(){(0,c.Z)(!1)}}function L(){}o.Component;var Z=function(e){function t(){return e.apply(this,arguments)||this}return(0,s.Z)(t,e),t.prototype.render=function(){var e=this;return o.createElement(v.Consumer,null,(function(t){t||(0,c.Z)(!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.Z)({},e.props,{path:r})):t.match}})),s?o.cloneElement(n,{location:a,computedMatch:s}):null}))},t}(o.Component);var T=o.useContext;function A(){return T(g)}function P(){return T(v).location}},75251:(e,t,n)=>{"use strict";var s=n(67294),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},72408:(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 Z(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 A={current:null},P={transition:null},R={ReactCurrentDispatcher:A,ReactCurrentBatchConfig:P,ReactCurrentOwner:_};t.Children={map:Z,forEach:function(e,t,n){Z(e,(function(){t.apply(this,arguments)}),n)},count:function(e){var t=0;return Z(e,(function(){t++})),t},toArray:function(e){return Z(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=R,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=P.transition;P.transition={};try{e()}finally{P.transition=t}},t.unstable_act=function(){throw Error("act(...) is not supported in production builds of React.")},t.useCallback=function(e,t){return A.current.useCallback(e,t)},t.useContext=function(e){return A.current.useContext(e)},t.useDebugValue=function(){},t.useDeferredValue=function(e){return A.current.useDeferredValue(e)},t.useEffect=function(e,t){return A.current.useEffect(e,t)},t.useId=function(){return A.current.useId()},t.useImperativeHandle=function(e,t,n){return A.current.useImperativeHandle(e,t,n)},t.useInsertionEffect=function(e,t){return A.current.useInsertionEffect(e,t)},t.useLayoutEffect=function(e,t){return A.current.useLayoutEffect(e,t)},t.useMemo=function(e,t){return A.current.useMemo(e,t)},t.useReducer=function(e,t,n){return A.current.useReducer(e,t,n)},t.useRef=function(e){return A.current.useRef(e)},t.useState=function(e){return A.current.useState(e)},t.useSyncExternalStore=function(e,t,n){return A.current.useSyncExternalStore(e,t,n)},t.useTransition=function(){return A.current.useTransition()},t.version="18.2.0"},67294:(e,t,n)=>{"use strict";e.exports=n(72408)},85893:(e,t,n)=>{"use strict";e.exports=n(75251)},60053:(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,P(w);else{var t=s(d);null!==t&&R(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&&R(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 Z(){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(Z)};else if("undefined"!=typeof MessageChannel){var T=new MessageChannel,A=T.port2;T.port1.onmessage=Z,_=function(){A.postMessage(null)}}else _=function(){g(Z,0)};function P(e){C=e,j||(j=!0,_())}function R(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,P(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,R(x,a-r))):(e.sortIndex=i,n(l,e),h||b||(h=!0,P(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}}}},63840:(e,t,n)=>{"use strict";e.exports=n(60053)},96774: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}},36809:(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:"/storybook/",activeBasePath:"storybook",label:"Storybook",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"],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"}]],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}}}},87462:(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,{Z:()=>s})},75068:(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,{Z:()=>o})},63366:(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,{Z:()=>s})},36905:(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,{Z:()=>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}},788:(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,{Z:()=>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}},38970:(e,t,n)=>{"use strict";n.d(t,{$_:()=>x,A9:()=>j,F5:()=>v,PZ:()=>C,SV:()=>b,VM:()=>w,ah:()=>S,ci:()=>d,kc:()=>m,pW:()=>u,vm:()=>_,xq:()=>g});var s,o=n(67294),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,Z,T,A,P,R,N=Object.assign,O=0;function D(){}D.__reactDisabledLog=!0;var I,B=v.ReactCurrentDispatcher;function F(e,t,n){if(void 0===I)try{throw Error()}catch(o){var s=o.stack.trim().match(/\n( *(at )?)/);I=s&&s[1]||""}return"\n"+I+e}var W,z=!1,H="function"==typeof WeakMap?WeakMap:Map;function V(e,t){if(!e||z)return"";var n,s=W.get(e);if(void 0!==s)return s;z=!0;var o,a=Error.prepareStackTrace;Error.prepareStackTrace=void 0,o=B.current,B.current=null,function(){if(0===O){E=console.log,L=console.info,Z=console.warn,T=console.error,A=console.group,P=console.groupCollapsed,R=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&&W.set(e,u),u}}while(l>=1&&d>=0);break}}}finally{z=!1,B.current=o,function(){if(0==--O){var e={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:N({},e,{value:E}),info:N({},e,{value:L}),warn:N({},e,{value:Z}),error:N({},e,{value:T}),group:N({},e,{value:A}),groupCollapsed:N({},e,{value:P}),groupEnd:N({},e,{value:R})})}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&&W.set(e,f),f}function U(e,t,n){if(null==e)return"";if("function"==typeof e)return V(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 V(e,!1)}(e.render);case f:return U(e.type,t,n);case b:var s=e,o=s._payload,a=s._init;try{return U(a(o),t,n)}catch{}}return""}W=new H;var $=Object.prototype.hasOwnProperty,q={},G=v.ReactDebugCurrentFrame;function Y(e){if(e){var t=e._owner,n=U(e.type,e._source,t?t.type:null);G.setExtraStackFrame(n)}else G.setExtraStackFrame(null)}var K=Array.isArray;function Q(e){return K(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($.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($.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)$.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=U(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($);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)&&(Y(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),Y(null)),i instanceof Error&&!(i.message in q)&&(q[i.message]=!0,Y(o),y("Failed %s type: %s",n,i.message),Y(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 Z=re(e,n,o,m,g);if(null==Z)return Z;if(v){var T=n.children;if(void 0!==T)if(c)if(Q(T)){for(var A=0;A<T.length;A++)he(T[A],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))}(Z):me(Z),Z}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:null!=c?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})}},14965:(e,t,n)=>{"use strict";n.d(t,{y$:()=>J,p1:()=>S});var s=n(67294);function o(e){var t,n,s="";if("string"==typeof e||"number"==typeof e)s+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(n=o(e[t]))&&(s&&(s+=" "),s+=n);else for(t in e)e[t]&&(s&&(s+=" "),s+=t);return s}const a=function(){for(var e,t,n=0,s="";n<arguments.length;)(e=arguments[n++])&&(t=o(e))&&(s&&(s+=" "),s+=t);return s};var r,i,c,l,d,u=Object.create,p=Object.defineProperty,f=Object.defineProperties,b=Object.getOwnPropertyDescriptor,h=Object.getOwnPropertyDescriptors,m=Object.getOwnPropertyNames,g=Object.getOwnPropertySymbols,v=Object.getPrototypeOf,y=Object.prototype.hasOwnProperty,k=Object.prototype.propertyIsEnumerable,x=(e,t,n)=>t in e?p(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,w=(e,t)=>{for(var n in t||(t={}))y.call(t,n)&&x(e,n,t[n]);if(g)for(var n of g(t))k.call(t,n)&&x(e,n,t[n]);return e},_=(e,t)=>f(e,h(t)),j=(e,t)=>{var n={};for(var s in e)y.call(e,s)&&t.indexOf(s)<0&&(n[s]=e[s]);if(null!=e&&g)for(var s of g(e))t.indexOf(s)<0&&k.call(e,s)&&(n[s]=e[s]);return n},C=(r={"../../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 Z=w;Z!==t.tail&&(L<E||"string"==typeof Z.value);Z=Z.next)S++,L+=Z.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],A=j.slice(0,M),P=j.slice(M+T.length),R=_+j.length;u&&R>u.reach&&(u.reach=R);var N=w.prev;if(A&&(N=c(t,N,A),_+=A.length),l(t,N,S),w=c(t,N,new o(p,m?s.tokenize(T,m):T,y,T)),P&&c(t,w,P),S>1){var O={cause:p+","+b,reach:R};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 i||(0,r[m(r)[0]])((i={exports:{}}).exports,i),i.exports}),S=((e,t,n)=>(n=null!=e?u(v(e)):{},((e,t,n,s)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of m(t))y.call(e,o)||o===n||p(e,o,{get:()=>t[o],enumerable:!(s=b(t,o))||s.enumerable});return e})(!t&&e&&e.__esModule?n:p(n,"default",{value:e,enumerable:!0}),e)))(C());S.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]},S.languages.markup.tag.inside["attr-value"].inside.entity=S.languages.markup.entity,S.languages.markup.doctype.inside["internal-subset"].inside=S.languages.markup,S.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(S.languages.markup.tag,"addInlined",{value:function(e,t){var n;(t=((n=((n={})["language-"+t]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:S.languages[t]},n.cdata=/^<!\[CDATA\[|\]\]>$/i,{"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:n}}))["language-"+t]={pattern:/[\s\S]+/,inside:S.languages[t]},{}))[e]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,(function(){return e})),"i"),lookbehind:!0,greedy:!0,inside:n},S.languages.insertBefore("markup","cdata",t)}}),Object.defineProperty(S.languages.markup.tag,"addAttribute",{value:function(e,t){S.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:S.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),S.languages.html=S.languages.markup,S.languages.mathml=S.languages.markup,S.languages.svg=S.languages.markup,S.languages.xml=S.languages.extend("markup",{}),S.languages.ssml=S.languages.xml,S.languages.atom=S.languages.xml,S.languages.rss=S.languages.xml,function(e){var t={pattern:/\\[\\(){}[\]^$+*?|.]/,alias:"escape"},n=/\\(?: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]|.)/,s="(?:[^\\\\-]|"+n.source+")",o=(s=RegExp(s+"-"+s),{pattern:/(<|')[^<>']+(?=[>']$)/,lookbehind:!0,alias:"variable"});e.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:s,inside:{escape:n,"range-punctuation":{pattern:/-/,alias:"operator"}}},"special-escape":t,"char-set":{pattern:/\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},escape:n}},"special-escape":t,"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":o}}],anchor:{pattern:/[$^]|\\[ABbGZz]/,alias:"function"},escape:n,group:[{pattern:/\((?:\?(?:<[^<>']+>|'[^<>']+'|[>:]|<?[=!]|[idmnsuxU]+(?:-[idmnsuxU]+)?:?))?/,alias:"punctuation",inside:{"group-name":o}},{pattern:/\)/,alias:"punctuation"}],quantifier:{pattern:/(?:[+*?]|\{\d+(?:,\d*)?\})[?+]?/,alias:"number"},alternation:{pattern:/\|/,alias:"keyword"}}}(S),S.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:/[{}[\];(),.:]/},S.languages.javascript=S.languages.extend("clike",{"class-name":[S.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}|\?\?=?|\?\.?|[~:]/}),S.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,S.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:S.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:S.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:S.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:S.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:S.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),S.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:S.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"}}),S.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),S.languages.markup&&(S.languages.markup.tag.addInlined("script","javascript"),S.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")),S.languages.js=S.languages.javascript,S.languages.actionscript=S.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:/\+\+|--|(?:[+\-*\/%^]|&&?|\|\|?|<<?|>>?>?|[!=]=?)=?|[~?@]/}),S.languages.actionscript["class-name"].alias="function",delete S.languages.actionscript.parameter,delete S.languages.actionscript["literal-property"],S.languages.markup&&S.languages.insertBefore("actionscript","string",{xml:{pattern:/(^|[^.])<\/?\w+(?:\s+[^\s>\/=]+=("|')(?:\\[\s\S]|(?!\2)[^\\])*\2)*\s*\/?>/,lookbehind:!0,inside:S.languages.markup}}),l=/#(?!\{).+/,d={pattern:/#\{[^}]+\}/,alias:"variable"},(c=S).languages.coffeescript=c.languages.extend("javascript",{comment:l,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:d}}],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"}}),c.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:l,interpolation:d}}}),c.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},script:{pattern:/[\s\S]+/,alias:"language-javascript",inside:c.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:d}}]}),c.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete c.languages.coffeescript["template-string"],c.languages.coffee=c.languages.coffeescript,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)}(S),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"))}(S),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})}(S),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}(S),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}(S),S.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:S.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+/},S.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)}})),S.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)}))}(S),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}(S),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)}(S),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})}(S),S.languages.n4js=S.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/}),S.languages.insertBefore("n4js","constant",{annotation:{pattern:/@+\w+/,alias:"operator"}}),S.languages.n4jsd=S.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]*/}}(S),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)}))}(S),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}(S),S.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:/[{}[\]();,.:\\]/},S.languages.swift["string-literal"].forEach((function(e){e.inside.interpolation.inside=S.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}(S),S.languages.c=S.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|[?:~]|[-+*/%&|^!=<>]=?/}),S.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),S.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},S.languages.c.string],char:S.languages.c.char,comment:S.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:S.languages.c}}}}),S.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 S.languages.c.boolean,S.languages.objectivec=S.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 S.languages.objectivec["class-name"],S.languages.objc=S.languages.objectivec,S.languages.reason=S.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/}),S.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 S.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}(S),S.languages.go=S.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/}),S.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete S.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"])}(S),S.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:/[{}[\];(),.:]/},S.languages.python["string-interpolation"].inside.interpolation.inside.rest=S.languages.python,S.languages.py=S.languages.python;((e,t)=>{for(var n in t)p(e,n,{get:t[n],enumerable:!0})})({},{dracula:()=>M,duotoneDark:()=>E,duotoneLight:()=>L,github:()=>Z,jettwaveDark:()=>H,jettwaveLight:()=>V,nightOwl:()=>T,nightOwlLight:()=>A,oceanicNext:()=>N,okaidia:()=>O,oneDark:()=>U,oneLight:()=>$,palenight:()=>D,shadesOfPurple:()=>I,synthwave84:()=>B,ultramin:()=>F,vsDark:()=>W,vsLight:()=>z});var M={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)"}}]},E={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"}}]},L={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"}}]},Z={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"}}]},T={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)"}}]},A={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)"}}]},P="#c5a5c5",R="#8dc891",N={plain:{backgroundColor:"#282c34",color:"#ffffff"},styles:[{types:["attr-name"],style:{color:P}},{types:["attr-value"],style:{color:R}},{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:R}},{types:["punctuation"],style:{color:R}},{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:P}},{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}}]},O={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"}}]},D={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)"}}]},B={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"}}]},F={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)"}}]},z={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%)"}}]},$={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%)"}}]},q=(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=w(w({},e[t]),o);e[t]=n})),e}),{});return s.root=n,s.plain=_(w({},n),{backgroundColor:void 0}),s},G=/\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)},K=(e,t)=>{const n=e.length;return n>0&&e[n-1]===t?e:e.concat(t)},Q=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=K(l,d.type),d.alias&&(l=K(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(G),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},X=({children:e,language:t,code:n,theme:o,prism:r})=>{const i=t.toLowerCase(),c=((e,t)=>{const[n,o]=(0,s.useState)(q(t,e)),a=(0,s.useRef)(),r=(0,s.useRef)();return(0,s.useEffect)((()=>{t===a.current&&e===r.current||(a.current=t,r.current=e,o(q(t,e)))}),[e,t]),n})(i,o),l=(e=>(0,s.useCallback)((t=>{var n=t,{className:s,style:o,line:r}=n,i=j(n,["className","style","line"]);const c=_(w({},i),{className:a("token-line",s)});return"object"==typeof e&&"plain"in e&&(c.style=e.plain),"object"==typeof o&&(c.style=w(w({},c.style||{}),o)),c}),[e]))(c),d=(e=>{const t=(0,s.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,s.useCallback)((e=>{var n=e,{token:s,className:o,style:r}=n,i=j(n,["token","className","style"]);const c=_(w({},i),{className:a("token",...s.types,o),children:s.content,style:t(s)});return null!=r&&(c.style=w(w({},c.style||{}),r)),c}),[t])})(c),u=(({prism:e,code:t,grammar:n,language:o})=>{const a=(0,s.useRef)(e);return(0,s.useMemo)((()=>{if(null==n)return Q([t]);const e={code:t,grammar:n,language:o,tokens:[]};return a.current.hooks.run("before-tokenize",e),e.tokens=a.current.tokenize(t,n),a.current.hooks.run("after-tokenize",e),Q(e.tokens)}),[t,n,o])})({prism:r,language:i,code:n,grammar:r.languages[i]});return e({tokens:u,className:`prism-code language-${i}`,style:null!=c?c.root:{},getLineProps:l,getTokenProps:d})},J=e=>(0,s.createElement)(X,_(w({},e),{prism:e.prism||S,theme:e.theme||W,code:e.code,language:e.language}))},38776:(e,t,n)=>{"use strict";n.d(t,{Z:()=>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)}}},57529:e=>{"use strict";e.exports={}},16887:e=>{"use strict";e.exports=JSON.parse('{"/blog-2b9":{"__comp":"a6aa9e1f","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","items":[{"content":"52c25d1c"},{"content":"c80bf43d"},{"content":"d0c63040"},{"content":"3d99f89d"},{"content":"3fd111c7"},{"content":"bca46e3f"},{"content":"daf8bbf9"},{"content":"6299beff"},{"content":"53a1ff94"}],"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-fcd":{"__comp":"a6aa9e1f","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","items":[{"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-695":{"__comp":"6875c492","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","items":[{"content":"3d99f89d"},{"content":"e00f1d66"},{"content":"49403d8c"},{"content":"4f8601bc"}],"tag":"e2bba919","listMetadata":"ed133f89"},"/blog/tags/boilerplate-f6f":{"__comp":"6875c492","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","items":[{"content":"52c25d1c"},{"content":"c80bf43d"},{"content":"d0c63040"},{"content":"3d99f89d"},{"content":"3fd111c7"},{"content":"bca46e3f"},{"content":"daf8bbf9"},{"content":"6299beff"},{"content":"53a1ff94"}],"tag":"9a46388f","listMetadata":"f162eb70"},"/blog/tags/boilerplate/page/2-dad":{"__comp":"6875c492","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","items":[{"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/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-c4e":{"__comp":"6875c492","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","items":[{"content":"52c25d1c"},{"content":"c80bf43d"},{"content":"d0c63040"},{"content":"3d99f89d"},{"content":"3fd111c7"},{"content":"bca46e3f"},{"content":"daf8bbf9"},{"content":"6299beff"},{"content":"53a1ff94"}],"tag":"b9979bed","listMetadata":"ee85e3b6"},"/blog/tags/eightshift/page/2-135":{"__comp":"6875c492","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","items":[{"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-783":{"__comp":"6875c492","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","items":[{"content":"53a1ff94"}],"tag":"183053be","listMetadata":"3b5edcc4"},"/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/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/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/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/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"},"/sass-cb3":{"__comp":"46540e82","__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"},"/storybook-389":{"__comp":"6ffa71f8","__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-2ba":{"__comp":"5e95c892","__context":{"plugin":"759f3f6b"}},"/forms-fa4":{"__comp":"a7bd4aaa","version":"ae8e07b1"},"/forms-8bf":{"__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/security-b5f":{"__comp":"17896441","content":"4aad33a5"},"/forms/features/show-as-184":{"__comp":"17896441","content":"42d5a18c"},"/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/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/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/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/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,[40532],(()=>{return t=97221,e(e.s=t);var t}));e.O()}]); \ No newline at end of file diff --git a/assets/js/main.fc6966bc.js b/assets/js/main.fc6966bc.js new file mode 100644 index 000000000..2df34ea7a --- /dev/null +++ b/assets/js/main.fc6966bc.js @@ -0,0 +1,2 @@ +/*! For license information please see main.fc6966bc.js.LICENSE.txt */ +(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[61590],{45052:(e,t,n)=>{"use strict";n.d(t,{I:()=>o});var s=n(11504);function o(){return s.createElement("svg",{width:"20",height:"20",className:"DocSearch-Search-Icon",viewBox:"0 0 20 20"},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"}))}},628:(e,t,n)=>{"use strict";n.d(t,{c:()=>p});n(11504);var s=n(98852),o=n.n(s),a=n(14504);const r={"0058bf23":[()=>n.e(10256).then(n.bind(n,43148)),"@site/docs/legacy/v8/basics/blocks-important.md",43148],"014fa81c":[()=>n.e(75180).then(n.bind(n,56980)),"@site/docs/legacy/v6/basics/wp-cli.md",56980],"01980361":[()=>n.e(92172).then(n.bind(n,10800)),"@site/docs/legacy/v5/basics/blocks-intro.md",10800],"01a85c17":[()=>Promise.all([n.e(12176),n.e(58412)]).then(n.bind(n,43024)),"@theme/BlogTagsListPage",43024],"0205c089":[()=>Promise.all([n.e(12176),n.e(45276),n.e(17852)]).then(n.bind(n,82256)),"@site/forms/php/filters/integrations/jira.mdx",82256],"0242a13a":[()=>n.e(1140).then(n.bind(n,820)),"@site/docs/legacy/v7/basics/blocks-styles.md",820],"029c29d9":[()=>Promise.all([n.e(12176),n.e(45276),n.e(83284)]).then(n.bind(n,82332)),"@site/forms/php/filters/integrations/greenhouse.mdx",82332],"02b9869f":[()=>n.e(17384).then(n.bind(n,18020)),"@site/docs/basics/blocks-reusable.md",18020],"035d9dc3":[()=>n.e(15792).then(n.bind(n,40304)),"@site/forms/addons/premium/computed-fields/intro.md",40304],"048a2137":[()=>n.e(19640).then(n.bind(n,18064)),"@site/docs/basics/webpack.md",18064],"0655bd76":[()=>n.e(77186).then(n.bind(n,99276)),"@site/docs/legacy/v4/guides/blocks-structure-block-item.md",99276],"066ec25f":[()=>n.e(32432).then(n.bind(n,3244)),"@site/forms/features/cache.mdx",3244],"06946b11":[()=>n.e(88848).then(n.bind(n,27764)),"@site/docs/legacy/v5/basics/blocks-reusable.md",27764],"07af796b":[()=>n.e(45948).then(n.bind(n,5252)),"@site/docs/legacy/v5/basics/block-structure.md",5252],"07b5dca2":[()=>n.e(59470).then(n.bind(n,45436)),"@site/forms/integrations/active-campaign.md",45436],"07fb059b":[()=>n.e(160).then(n.bind(n,75348)),"@site/forms/php/filters/block/form/redirect-timeout.md",75348],"0810f675":[()=>n.e(44032).then(n.t.bind(n,2112,19)),"~blog/default/blog-tags-custom-post-type-d16.json",2112],"08cebe36":[()=>n.e(20216).then(n.bind(n,16965)),"@site/docs/basics/blocks-storybook.md",16965],"092d0294":[()=>Promise.all([n.e(12176),n.e(45276),n.e(61720)]).then(n.bind(n,20464)),"@site/forms/php/filters/integrations/mailer.mdx",20464],"09d8acdc":[()=>n.e(69288).then(n.bind(n,94340)),"@site/docs/legacy/v6/basics/blocks-attributes.md",94340],"0a9768df":[()=>n.e(95192).then(n.bind(n,63136)),"@site/forms/features/dashboard.md",63136],"0aeeb10b":[()=>n.e(18126).then(n.bind(n,68392)),"@site/docs/eightshift-frontend-libs.md",68392],"0bea9cd5":[()=>n.e(75437).then(n.bind(n,30308)),"@site/docs/legacy/v7/basics/blocks-reusable.md",30308],"0c06981f":[()=>n.e(65520).then(n.bind(n,1720)),"@site/forms/php/filters/entries/pre-post-params.md",1720],"0c7b26d1":[()=>Promise.all([n.e(12176),n.e(45276),n.e(5304)]).then(n.bind(n,92780)),"@site/forms/php/filters/block/country/additional-content.mdx",92780],"0cbbedcd":[()=>n.e(37856).then(n.bind(n,99864)),"@site/docs/legacy/v4/advanced/sass-docs.md",99864],"0cde639a":[()=>n.e(65928).then(n.bind(n,94336)),"@site/docs/legacy/v7/basics/basics-intro.md",94336],"0cf6d2ee":[()=>n.e(41068).then(n.bind(n,41376)),"@site/docs/legacy/v7/basics/blocks-structure.md",41376],"0d27e988":[()=>Promise.all([n.e(12176),n.e(45276),n.e(44432)]).then(n.bind(n,39132)),"@site/forms/php/filters/integrations/goodbits.mdx",39132],"0dcc1e01":[()=>n.e(10028).then(n.t.bind(n,70824,19)),"~blog/default/blog-tags-terms-b0c-list.json",70824],"0e617e7a":[()=>n.e(70184).then(n.bind(n,59140)),"@site/docs/legacy/v8/basics/blocks-structure.md",59140],"0f1457e8":[()=>n.e(33628).then(n.bind(n,61292)),"@site/docs/legacy/v4/advanced/helpers-object.md",61292],"0f187495":[()=>n.e(4721).then(n.bind(n,87113)),"@site/docs/legacy/v5/basics/autowiring.md",87113],"0fe8a02a":[()=>n.e(16452).then(n.bind(n,79684)),"@site/docs/versions.md",79684],"103a101a":[()=>n.e(92996).then(n.t.bind(n,83040,19)),"~blog/default/blog-tags-components-279.json",83040],"10c1e86a":[()=>n.e(82780).then(n.bind(n,25280)),"@site/docs/basics/blocks-component-manifest.md",25280],"10db50b8":[()=>n.e(17632).then(n.bind(n,48580)),"@site/docs/basics/blocks-component-structure.md",48580],"110cdc73":[()=>n.e(5368).then(n.bind(n,75912)),"@site/forms/php/filters/scripts/dependency-theme.md",75912],"120f8e9c":[()=>n.e(67956).then(n.bind(n,70836)),"@site/forms/addons/premium/computed-fields/settings.md",70836],"13362ea9":[()=>n.e(1232).then(n.bind(n,83368)),"@site/docs/basics/writing-styles.md",83368],"1385dc12":[()=>n.e(96492).then(n.bind(n,7192)),"@site/docs/basics/rest-field.md",7192],"13c21afe":[()=>n.e(48412).then(n.bind(n,44464)),"@site/docs/plugin.md",44464],"147ca104":[()=>n.e(96604).then(n.bind(n,78008)),"@site/docs/legacy/v5/basics/blocks-component-structure.md",78008],"1622041d":[()=>n.e(74244).then(n.bind(n,90284)),"@site/docs/legacy/v8/basics/architecture-concepts.md",90284],"163b78fe":[()=>n.e(51868).then(n.bind(n,58812)),"@site/docs/legacy/v6/basics/blocks-special-use-cases.md",58812],"1698e1d1":[()=>n.e(96768).then(n.bind(n,65016)),"@site/forms/features/conditional-tags.md",65016],17896441:[()=>Promise.all([n.e(12176),n.e(45276),n.e(35104),n.e(26752)]).then(n.bind(n,35104)),"@theme/DocItem",35104],"183053be":[()=>n.e(22648).then(n.t.bind(n,67472,19)),"~blog/default/blog-tags-images-ab2.json",67472],"186bf65f":[()=>n.e(28576).then(n.bind(n,14460)),"@site/docs/legacy/v6/basics/example-class.md",14460],"18ea4958":[()=>n.e(48472).then(n.bind(n,41396)),"@site/forms/features/spam-prevention.md",41396],"19a6ffde":[()=>n.e(90320).then(n.bind(n,69824)),"@site/docs/legacy/v7/basics/blocks-patterns.md",69824],"1a4e3797":[()=>Promise.all([n.e(12176),n.e(39648)]).then(n.bind(n,43416)),"@theme/SearchPage",43416],"1a6a2ec3":[()=>n.e(41332).then(n.bind(n,57228)),"@site/forms/features/geolocation.md",57228],"1a8da153":[()=>n.e(27540).then(n.bind(n,18016)),"@site/forms/php/filters/blocks/media-breakpoints.md",18016],"1aa24188":[()=>n.e(71268).then(n.bind(n,11476)),"@site/docs/legacy/v4/guides/fonts-custom.md",11476],"1ab6957b":[()=>n.e(51528).then(n.bind(n,90328)),"@site/forms/php/global-variables/integrations/clearbit.md",90328],"1b63fe07":[()=>n.e(13696).then(n.bind(n,19444)),"@site/docs/legacy/v8/basics/helpers-php.md",19444],"1c82c718":[()=>n.e(72472).then(n.bind(n,75580)),"@site/docs/legacy/v8/basics/writing-styles.md",75580],"1d1d00c8":[()=>n.e(31032).then(n.bind(n,74544)),"@site/docs/legacy/v7/basics/blocks-special-use-cases.md",74544],"1eef4415":[()=>n.e(99214).then(n.bind(n,41456)),"@site/docs/legacy/v6/basics/frontend.md",41456],"1f5f1faf":[()=>n.e(99744).then(n.bind(n,34028)),"@site/docs/legacy/v6/basics/block-structure.md",34028],"2067e39b":[()=>n.e(4976).then(n.t.bind(n,40080,19)),"~blog/default/blog-tags-taxonomy-769-list.json",40080],"20e43c84":[()=>n.e(35844).then(n.bind(n,94664)),"@site/docs/legacy/v6/basics/extending-classes.md",94664],"2176bd9e":[()=>n.e(73864).then(n.t.bind(n,46760,19)),"~blog/default/blog-tags-fonts-dfb-list.json",46760],"21c119bb":[()=>n.e(17097).then(n.bind(n,83772)),"@site/forms/addons/create/utils-library.md",83772],"2297cc0d":[()=>n.e(53800).then(n.bind(n,61764)),"@site/docs/legacy/v5/basics/fonts.md",61764],"22cdf000":[()=>n.e(78642).then(n.bind(n,86532)),"@site/forms/features/validation.md",86532],"22e7b626":[()=>n.e(53864).then(n.bind(n,16364)),"@site/docs/legacy/v5/basics/blocks-transforms.md",16364],23002826:[()=>Promise.all([n.e(12176),n.e(45276),n.e(47014)]).then(n.bind(n,23948)),"@site/forms/php/filters/integrations/airtable.mdx",23948],"230a0014":[()=>n.e(68804).then(n.bind(n,88368)),"@site/docs/additional-libraries/docs.md",88368],"2345a3b7":[()=>n.e(15252).then(n.bind(n,81420)),"@site/docs/legacy/v4/guides/rest-intro.md",81420],"23464d23":[()=>Promise.all([n.e(12176),n.e(45276),n.e(83896)]).then(n.bind(n,97052)),"@site/forms/php/filters/block/field/additional-content.mdx",97052],"23da3c05":[()=>n.e(28628).then(n.t.bind(n,96188,19)),"~blog/default/blog-tags-theme-options-74e-list.json",96188],"24b57605":[()=>n.e(52e3).then(n.bind(n,60884)),"@site/docs/legacy/v7/basics/blocks.md",60884],"25539fcb":[()=>n.e(28082).then(n.bind(n,52860)),"@site/forms/features/locations.md",52860],"2554564d":[()=>n.e(2736).then(n.bind(n,2776)),"@site/docs/legacy/v4/guides/blocks-get-actions-helper.md",2776],"259bd0c5":[()=>n.e(11620).then(n.bind(n,82564)),"@site/forms/php/filters/block/form/hide-global-msg-timeout.md",82564],"25b43794":[()=>n.e(20668).then(n.bind(n,94188)),"@site/docs/legacy/v6/basics/rest-field.md",94188],"26b1dccf":[()=>n.e(91080).then(n.bind(n,12284)),"@site/forms/php/global-variables/integrations/hubspot.md",12284],"2716246c":[()=>n.e(84856).then(n.bind(n,72836)),"@site/docs/legacy/v6/basics/blocks-structure.md",72836],"2747918f":[()=>n.e(80616).then(n.bind(n,24228)),"@site/blog/2022-01-20-initial-setup.md",24228],"27c45671":[()=>n.e(62056).then(n.bind(n,79096)),"@site/docs/legacy/v5/basics/frontend.md",79096],"281e3fe0":[()=>n.e(88844).then(n.bind(n,86052)),"@site/docs/legacy/v7/basics/blocks-important.md",86052],"286194e8":[()=>n.e(62884).then(n.bind(n,22672)),"@site/docs/legacy/v4/guides/taxonomy.md",22672],"29014e21":[()=>n.e(67684).then(n.bind(n,68684)),"@site/docs/basics/helpers.md",68684],"2a615d1d":[()=>n.e(1600).then(n.bind(n,59772)),"@site/docs/legacy/v4/guides/blocks-structure-component.md",59772],"2a89e141":[()=>n.e(51688).then(n.bind(n,10304)),"@site/docs/legacy/v5/basics/blocks-structure.md",10304],"2b4fbe73":[()=>n.e(80176).then(n.bind(n,61932)),"@site/docs/basics/namespaces.md",61932],"2bd83684":[()=>n.e(48676).then(n.bind(n,768)),"@site/docs/legacy/v6/basics/architecture-concepts.md",768],"2c4528c6":[()=>n.e(78960).then(n.bind(n,54164)),"@site/docs/legacy/v5/basics/library.md",54164],"2c773ba3":[()=>n.e(89608).then(n.bind(n,24872)),"@site/docs/legacy/v6/basics/helpers-php.md",24872],"2d764dca":[()=>n.e(70745).then(n.bind(n,4604)),"@site/docs/legacy/v6/basics/blocks.md",4604],"2e9194de":[()=>n.e(62008).then(n.bind(n,88840)),"@site/docs/legacy/v5/basics/blocks-attributes.md",88840],"2e99cb0e":[()=>n.e(98512).then(n.bind(n,9652)),"@site/docs/legacy/v6/basics/blocks-reusable.md",9652],"2f2ad190":[()=>n.e(33872).then(n.bind(n,97204)),"@site/docs/legacy/v8/basics/global-settings.md",97204],"30241ed8":[()=>n.e(45892).then(n.bind(n,65828)),"@site/docs/legacy/v4/guides/columns-post-type.md",65828],"30e34e97":[()=>n.e(24712).then(n.t.bind(n,14984,19)),"~blog/default/blog-tags-theme-options-74e.json",14984],"3124e7fd":[()=>n.e(3188).then(n.bind(n,22169)),"@site/docs/legacy/v7/basics/blocks-component-in-block.md",22169],"318b66a0":[()=>n.e(87500).then(n.bind(n,84396)),"@site/docs/legacy/v7/basics/webpack.md",84396],"31b83fd6":[()=>n.e(70776).then(n.bind(n,77136)),"@site/docs/legacy/v5/basics/basics-intro.md",77136],"31d6ca5c":[()=>n.e(29240).then(n.t.bind(n,32656,19)),"~blog/default/blog-tags-fonts-dfb.json",32656],"31e124ed":[()=>n.e(88684).then(n.bind(n,98148)),"@site/docs/legacy/v7/basics/extending-classes.md",98148],"32030e6f":[()=>n.e(76832).then(n.t.bind(n,25840,19)),"~blog/default/blog-tags-wpcli-f24-list.json",25840],"325ddbed":[()=>n.e(7420).then(n.bind(n,71956)),"@site/docs/legacy/v5/basics/blocks-component-manifest.md",71956],"326267d5":[()=>n.e(29149).then(n.bind(n,81388)),"@site/docs/legacy/v7/basics/blocks-hooks.md",81388],"341e5e63":[()=>n.e(42884).then(n.bind(n,22664)),"@site/docs/legacy/v6/basics/blocks-component-structure.md",22664],"3481c063":[()=>n.e(35468).then(n.t.bind(n,73096,19)),"~blog/default/blog-tags-block-047.json",73096],"35144e55":[()=>n.e(46456).then(n.bind(n,64272)),"@site/docs/legacy/v7/basics/manifest.md",64272],"35847f85":[()=>n.e(20760).then(n.bind(n,39364)),"@site/docs/legacy/v7/basics/writing-styles.md",39364],"35d3178b":[()=>Promise.all([n.e(12176),n.e(45276),n.e(90464)]).then(n.bind(n,5740)),"@site/forms/php/filters/integrations/workable.mdx",5740],"3634820b":[()=>n.e(7320).then(n.bind(n,87340)),"@site/forms/addons/premium/computed-fields/data-flow.md",87340],"369bf9e9":[()=>n.e(81784).then(n.t.bind(n,47984,19)),"~blog/default/blog-tags-assets-503-list.json",47984],"36d70216":[()=>n.e(75496).then(n.bind(n,16728)),"@site/docs/legacy/v8/basics/fonts.md",16728],"37703fea":[()=>n.e(47052).then(n.bind(n,60820)),"@site/docs/legacy/v7/basics/rest.md",60820],"37f27a13":[()=>Promise.all([n.e(12176),n.e(45276),n.e(6472)]).then(n.bind(n,33900)),"@site/forms/php/filters/block/textarea/additional-content.mdx",33900],"385e6aa6":[()=>n.e(29120).then(n.bind(n,77652)),"@site/forms/php/global-variables/integrations/moments.md",77652],"388ae04f":[()=>n.e(69128).then(n.bind(n,17964)),"@site/docs/legacy/v6/basics/blocks-global-manifest.md",17964],"39035dcb":[()=>n.e(53168).then(n.bind(n,41084)),"@site/docs/legacy/v7/basics/tips-tricks.md",41084],"390b04b5":[()=>n.e(65720).then(n.bind(n,96092)),"@site/forms/integrations/jira.md",96092],"39447efc":[()=>n.e(66096).then(n.bind(n,84516)),"@site/blog/2022-12-13-using-cpts-and-taxonomies.md",84516],"39b05d13":[()=>n.e(72264).then(n.bind(n,4276)),"@site/docs/legacy/v8/basics/blocks-special-use-cases.md",4276],"39c8d3f8":[()=>n.e(18392).then(n.bind(n,50884)),"@site/forms/php/filters/block/submit/component.md",50884],"39d8d90f":[()=>n.e(33296).then(n.bind(n,55436)),"@site/docs/legacy/v8/basics/blocks-registration.md",55436],"39e353ee":[()=>n.e(4448).then(n.bind(n,6068)),"@site/blog/2023-09-05-wrapper-as-a-standalone-component.md",6068],"3a244aec":[()=>n.e(56244).then(n.bind(n,30764)),"@site/docs/legacy/v7/basics/namespaces.md",30764],"3aebe9a9":[()=>n.e(39784).then(n.bind(n,68224)),"@site/forms/integrations/goodbits.md",68224],"3b5edcc4":[()=>n.e(19504).then(n.t.bind(n,52912,19)),"~blog/default/blog-tags-images-ab2-list.json",52912],"3b7ac723":[()=>Promise.all([n.e(12176),n.e(45276),n.e(34865)]).then(n.bind(n,13e3)),"@site/forms/javascript/state/state.mdx",13e3],"3cc3f22b":[()=>n.e(68508).then(n.bind(n,40420)),"@site/docs/legacy/v6/basics/helpers-scss.md",40420],"3d99f89d":[()=>n.e(45124).then(n.bind(n,83548)),"@site/blog/2023-06-12-multiple-same-components.md?truncated=true",83548],"3e53f2d3":[()=>n.e(22292).then(n.bind(n,64624)),"@site/forms/features/enrichment.md",64624],"3ed2c247":[()=>n.e(23108).then(n.bind(n,44092)),"@site/docs/legacy/v8/basics/blocks-styles.md",44092],"3f56b28d":[()=>n.e(48752).then(n.bind(n,53056)),"@site/docs/basics/frontend.md",53056],"3fd111c7":[()=>n.e(68272).then(n.bind(n,83928)),"@site/blog/2022-12-22-block-patterns.md?truncated=true",83928],"40adba6a":[()=>n.e(56516).then(n.bind(n,31076)),"@site/docs/basics/blocks-global-manifest.md",31076],"40bcb702":[()=>n.e(76264).then(n.bind(n,6016)),"@site/docs/legacy/v6/basics/writing-styles.md",6016],"41aa949a":[()=>n.e(90192).then(n.bind(n,35916)),"@site/docs/legacy/v6/basics/helpers.md",35916],"41bc8270":[()=>n.e(75532).then(n.bind(n,9540)),"@site/docs/legacy/v4/advanced/webpack.md",9540],42478870:[()=>n.e(13144).then(n.t.bind(n,59128,19)),"~blog/default/blog-tags-custom-post-type-d16-list.json",59128],"426b1138":[()=>n.e(79808).then(n.bind(n,54832)),"@site/docs/additional-libraries/boilerplate-plugin.md",54832],"4293ef56":[()=>n.e(81938).then(n.t.bind(n,23884,19)),"~blog/default/blog-tags-taxonomies-862.json",23884],"42d5a18c":[()=>n.e(99088).then(n.bind(n,49016)),"@site/forms/features/show-as.md",49016],"435e79fb":[()=>Promise.all([n.e(12176),n.e(45276),n.e(88184)]).then(n.bind(n,43316)),"@site/forms/javascript/state/store.mdx",43316],"43ab2c5c":[()=>n.e(29348).then(n.bind(n,90896)),"@site/forms/welcome.mdx",90896],"43ac2fb4":[()=>n.e(54196).then(n.bind(n,62184)),"@site/docs/legacy/v4/versions.md",62184],"43adcc08":[()=>n.e(32012).then(n.bind(n,19420)),"@site/docs/legacy/v4/guides/extending-classes.md",19420],"43d76b0c":[()=>n.e(75544).then(n.bind(n,12260)),"@site/docs/legacy/v6/basics/manifest.md",12260],"44b117b5":[()=>n.e(25756).then(n.bind(n,50464)),"@site/forms/php/filters/block/step/component-prev.md",50464],"44c6aa62":[()=>n.e(86084).then(n.bind(n,29904)),"@site/docs/legacy/v4/guides/enqueue.md",29904],"44ef7d31":[()=>Promise.all([n.e(12176),n.e(45276),n.e(99864)]).then(n.bind(n,6320)),"@site/forms/php/filters/block/checkboxes/additional-content.mdx",6320],"44f6c623":[()=>n.e(88592).then(n.bind(n,78996)),"@site/docs/legacy/v5/basics/global-settings.md",78996],45159772:[()=>n.e(12384).then(n.bind(n,39944)),"@site/forms/php/filters/geolocation/countries.md",39944],"45a57db1":[()=>n.e(81228).then(n.bind(n,90428)),"@site/forms/integrations/mailer.md",90428],"4619ca6c":[()=>n.e(25008).then(n.bind(n,54928)),"@site/forms/php/global-variables/how-to-use.md",54928],46604707:[()=>n.e(63900).then(n.bind(n,75012)),"@site/docs/basics/blocks.md",75012],"46ddaac3":[()=>n.e(58400).then(n.bind(n,46788)),"@site/docs/legacy/v7/basics/fonts.md",46788],"47a776f2":[()=>n.e(57208).then(n.bind(n,37716)),"@site/docs/theme.md",37716],"49403d8c":[()=>n.e(90260).then(n.bind(n,58376)),"@site/blog/2022-03-03-adding-blocks-wpcli.md?truncated=true",58376],"499ba0c7":[()=>n.e(36124).then(n.t.bind(n,80416,19)),"~blog/default/blog-tags-setup-e81-list.json",80416],"4aad33a5":[()=>n.e(9244).then(n.bind(n,87056)),"@site/forms/features/security.md",87056],"4b8950e9":[()=>n.e(56601).then(n.bind(n,87100)),"@site/docs/legacy/v6/basics/browser-sync.md",87100],"4cfcdd67":[()=>n.e(79220).then(n.bind(n,81252)),"@site/docs/legacy/v8/basics/blocks-component-structure.md",81252],"4dad0b95":[()=>n.e(41092).then(n.bind(n,48180)),"@site/forms/php/filters/blocks/additional-blocks.md",48180],"4e418365":[()=>n.e(87300).then(n.bind(n,32124)),"@site/forms/features/fallback-emails.md",32124],"4e946086":[()=>n.e(91160).then(n.bind(n,43376)),"@site/docs/legacy/v8/basics/block-manifest.md",43376],"4eaf1272":[()=>n.e(38774).then(n.bind(n,10524)),"@site/docs/legacy/v7/basics/helpers.md",10524],"4ec5858e":[()=>n.e(42352).then(n.bind(n,51308)),"@site/docs/legacy/v4/advanced/helpers-error-logger.md",51308],"4ece2ef5":[()=>n.e(34616).then(n.bind(n,69948)),"@site/forms/features/import-export.md",69948],"4f057d99":[()=>n.e(12590).then(n.bind(n,26900)),"@site/docs/legacy/v8/basics/namespaces.md",26900],"4f6e5aff":[()=>n.e(36824).then(n.bind(n,16640)),"@site/forms/integrations/mailchimp.md",16640],"4f8601bc":[()=>n.e(47560).then(n.bind(n,44824)),"@site/blog/2022-01-21-components-and-blocks.md?truncated=true",44824],"5024c8a9":[()=>n.e(64598).then(n.bind(n,10804)),"@site/docs/legacy/v5/basics/helpers-scss.md",10804],"5025c75d":[()=>Promise.all([n.e(12176),n.e(45276),n.e(64928)]).then(n.bind(n,85876)),"@site/forms/javascript/state/utils.mdx",85876],"50c94cd7":[()=>n.e(19276).then(n.bind(n,6504)),"@site/forms/features/debug.md",6504],"518baa20":[()=>n.e(842).then(n.bind(n,65572)),"@site/docs/legacy/v7/basics/autowiring.md",65572],"51f93b96":[()=>n.e(33472).then(n.bind(n,1584)),"@site/docs/legacy/v4/guides/columns-taxonomy.md",1584],"5215d6a1":[()=>n.e(66476).then(n.bind(n,42496)),"@site/forms/addons/premium/computed-fields/blocks.md",42496],"52c25d1c":[()=>n.e(54572).then(n.bind(n,29890)),"@site/blog/2024-02-01-making-your-project-multilingual.md?truncated=true",29890],"533d3ffb":[()=>n.e(3344).then(n.bind(n,78248)),"@site/docs/legacy/v8/basics/manifest.md",78248],"536309bb":[()=>n.e(92404).then(n.bind(n,52008)),"@site/forms/php/filters/validation/force-mimetype-from-fs.md",52008],"53a1ff94":[()=>n.e(540).then(n.bind(n,74748)),"@site/blog/2022-04-25-using-assets.md?truncated=true",74748],"541d824c":[()=>n.e(24648).then(n.bind(n,27e3)),"@site/docs/basics/blocks-transforms.md",27e3],"54305ae0":[()=>n.e(38056).then(n.t.bind(n,69632,19)),"~blog/default/blog-tags-advanced-custom-fields-ef6.json",69632],"548faf69":[()=>n.e(52852).then(n.bind(n,49564)),"@site/docs/basics/example-class.md",49564],"54b7d866":[()=>n.e(17316).then(n.t.bind(n,6792,19)),"/home/runner/work/eightshift-docs/eightshift-docs/website/.docusaurus/docusaurus-plugin-content-blog/default/plugin-route-context-module-100.json",6792],56802612:[()=>n.e(98296).then(n.bind(n,63432)),"@site/docs/basics/blocks-registration.md",63432],"56b8c1aa":[()=>n.e(23692).then(n.bind(n,1756)),"@site/docs/legacy/v5/basics/rest-field.md",1756],"56f8d3dd":[()=>n.e(39624).then(n.bind(n,84300)),"@site/forms/integrations/airtable.md",84300],"590322ab":[()=>n.e(97504).then(n.bind(n,97136)),"@site/blog/2022-04-08-adding-fonts.md",97136],"59c340d8":[()=>n.e(69276).then(n.bind(n,30860)),"@site/docs/legacy/v7/basics/blocks-attributes.md",30860],"5add9946":[()=>n.e(42424).then(n.bind(n,47548)),"@site/forms/php/filters/block/form/success-redirect-variation.md",47548],"5b027e06":[()=>n.e(40024).then(n.t.bind(n,82678,19)),"~blog/default/blog-tags-taxonomies-862-list.json",82678],"5b767225":[()=>n.e(37840).then(n.bind(n,71092)),"@site/docs/legacy/v4/advanced/components-heading-level.md",71092],"5ba3e239":[()=>n.e(30156).then(n.bind(n,6972)),"@site/blog/2024-02-01-making-your-project-multilingual.md",6972],"5bd755c4":[()=>Promise.all([n.e(12176),n.e(45276),n.e(22604)]).then(n.bind(n,67196)),"@site/forms/php/filters/block/date/additional-content.mdx",67196],"5be441ac":[()=>n.e(61432).then(n.bind(n,18820)),"@site/docs/legacy/v8/basics/blocks-wrapper.md",18820],"5bf26d11":[()=>n.e(89712).then(n.bind(n,92308)),"@site/docs/legacy/v6/basics/autowiring.md",92308],"5c125432":[()=>n.e(87318).then(n.bind(n,95908)),"@site/docs/legacy/v7/basics/blocks-wrapper.md",95908],"5cda8f59":[()=>n.e(67516).then(n.bind(n,8100)),"@site/docs/legacy/v4/guides/blocks-registration.md",8100],"5d34a3e0":[()=>n.e(83644).then(n.bind(n,22964)),"@site/docs/basics/architecture-concepts.md",22964],"5d41d0b6":[()=>n.e(17088).then(n.bind(n,98780)),"@site/forms/php/global-variables/integrations/mailerlite.md",98780],"5e3b00c5":[()=>n.e(21e3).then(n.bind(n,20556)),"@site/forms/integrations/greenhouse.md",20556],"5e95c892":[()=>n.e(44304).then(n.bind(n,43564)),"@theme/DocsRoot",43564],"5e9f5e1a":[()=>Promise.resolve().then(n.bind(n,97768)),"@generated/docusaurus.config",97768],"5ed3387d":[()=>n.e(63732).then(n.bind(n,53216)),"@site/docs/requirements.md",53216],"5f22e924":[()=>n.e(14068).then(n.bind(n,22020)),"@site/docs/legacy/v6/basics/backend.md",22020],"5fbdd67a":[()=>n.e(47704).then(n.bind(n,74696)),"@site/docs/legacy/v6/basics/helpers-javascript.md",74696],"5fc994c2":[()=>n.e(52880).then(n.bind(n,32304)),"@site/src/pages/showcase.js",32304],"600a6af1":[()=>n.e(1268).then(n.bind(n,87996)),"@site/forms/javascript/state/how-to-use.md",87996],"6042c76a":[()=>n.e(53840).then(n.bind(n,72416)),"@site/forms/php/global-variables/geolocation.md",72416],"60d85392":[()=>n.e(20992).then(n.t.bind(n,50590,19)),"/home/runner/work/eightshift-docs/eightshift-docs/website/.docusaurus/docusaurus-plugin-content-pages/default/plugin-route-context-module-100.json",50590],"6156002b":[()=>n.e(81372).then(n.bind(n,98432)),"@site/docs/legacy/v8/basics/block-structure.md",98432],"619eeade":[()=>n.e(61776).then(n.bind(n,22084)),"@site/docs/legacy/v6/versions.md",22084],"6203860c":[()=>n.e(90252).then(n.bind(n,27480)),"@site/docs/legacy/v8/basics/blocks.md",27480],"62284ec3":[()=>n.e(60068).then(n.bind(n,94540)),"@site/docs/legacy/v8/basics/blocks-hooks.md",94540],"6299beff":[()=>n.e(37448).then(n.bind(n,92436)),"@site/blog/2022-05-10-acf-in-a-project.md?truncated=true",92436],"62f60b5b":[()=>n.e(74610).then(n.bind(n,38432)),"@site/forms/integrations/pipedrive.md",38432],"63b7ed35":[()=>n.e(81412).then(n.bind(n,50844)),"@site/docs/legacy/v8/basics/helpers.md",50844],"64042be6":[()=>n.e(33016).then(n.bind(n,10484)),"@site/docs/legacy/v8/basics/wp-cli.md",10484],"640b2864":[()=>n.e(56839).then(n.t.bind(n,74684,19)),"/home/runner/work/eightshift-docs/eightshift-docs/website/.docusaurus/docusaurus-theme-search-algolia/default/plugin-route-context-module-100.json",74684],"641a79fb":[()=>n.e(87200).then(n.bind(n,48944)),"@site/docs/legacy/v8/basics/blocks-transforms.md",48944],64793643:[()=>Promise.all([n.e(12176),n.e(45276),n.e(54816)]).then(n.bind(n,25344)),"@site/forms/javascript/state/enrichment.mdx",25344],"64e3919b":[()=>n.e(5024).then(n.bind(n,5080)),"@site/forms/php/filters/general/http-request-timeout.md",5080],"66151e3f":[()=>n.e(96568).then(n.bind(n,14644)),"@site/docs/legacy/v7/basics/blocks-variations.md",14644],"67644baa":[()=>n.e(97724).then(n.bind(n,74108)),"@site/docs/legacy/v5/basics/browser-sync.md",74108],"679e6283":[()=>n.e(38227).then(n.bind(n,26472)),"@site/forms/php/global-variables/integrations/airtable.md",26472],"67da9612":[()=>n.e(40374).then(n.t.bind(n,58624,19)),"~blog/default/blog-tags-icons-c8e.json",58624],"6875c492":[()=>Promise.all([n.e(12176),n.e(45276),n.e(43052),n.e(32392)]).then(n.bind(n,62948)),"@theme/BlogTagsPostsPage",62948],"688ea354":[()=>n.e(68472).then(n.bind(n,99636)),"@site/docs/legacy/v6/basics/global-settings.md",99636],"68c90bbc":[()=>Promise.all([n.e(12176),n.e(45276),n.e(26692)]).then(n.bind(n,62648)),"@site/forms/php/filters/integrations/mailchimp.mdx",62648],"6a5d09b2":[()=>n.e(79170).then(n.bind(n,27800)),"@site/docs/legacy/v6/basics/blocks-important.md",27800],"6afb304f":[()=>n.e(94794).then(n.bind(n,54148)),"@site/forms/php/filters/scripts/dependency-blocks-frontend.md",54148],"6b207c51":[()=>n.e(51428).then(n.bind(n,29932)),"@site/docs/legacy/v5/basics/manifest.md",29932],"6b8dfc08":[()=>n.e(97996).then(n.t.bind(n,76356,19)),"~blog/default/blog-tags-wrapper-043-list.json",76356],"6b93e189":[()=>n.e(68699).then(n.bind(n,71008)),"@site/forms/addons/create/requirements.md",71008],"6b94b48b":[()=>n.e(31064).then(n.bind(n,52736)),"@site/docs/basics/blocks-special-use-cases.md",52736],"6bcded04":[()=>n.e(95004).then(n.bind(n,54848)),"@site/docs/legacy/v6/basics/rest.md",54848],"6cbda4b6":[()=>n.e(61856).then(n.bind(n,93520)),"@site/docs/basics/block-structure.md",93520],"6e870323":[()=>n.e(20500).then(n.t.bind(n,2080,19)),"/home/runner/work/eightshift-docs/eightshift-docs/website/.docusaurus/docusaurus-plugin-content-docs/default/plugin-route-context-module-100.json",2080],"6eb5397d":[()=>n.e(78924).then(n.bind(n,67784)),"@site/docs/legacy/v5/basics/blocks-global-manifest.md",67784],"6f0e603d":[()=>n.e(10740).then(n.bind(n,5836)),"@site/docs/eightshift-libs.md",5836],"6f52e085":[()=>n.e(64220).then(n.t.bind(n,71464,19)),"~blog/default/blog-tags-advanced-custom-fields-ef6-list.json",71464],"6ffa71f8":[()=>n.e(42832).then(n.bind(n,14272)),"@site/src/pages/storybook.js",14272],"7089c5e9":[()=>Promise.all([n.e(12176),n.e(45276),n.e(82988)]).then(n.bind(n,51596)),"@site/forms/php/filters/integrations/mailerlite.mdx",51596],"714feb36":[()=>n.e(44258).then(n.bind(n,62008)),"@site/docs/legacy/v7/basics/frontend.md",62008],"715a66b3":[()=>Promise.all([n.e(12176),n.e(45276),n.e(12524)]).then(n.bind(n,50792)),"@site/forms/php/filters/integrations/active-campaign.mdx",50792],72822034:[()=>n.e(13736).then(n.t.bind(n,744,19)),"~blog/default/blog-tags-i-18-n-d57-list.json",744],"72aadbbe":[()=>n.e(11512).then(n.bind(n,65432)),"@site/forms/php/filters/block/form-selector/form-templates.md",65432],"73496ed9":[()=>n.e(47644).then(n.t.bind(n,51076,19)),"~blog/default/blog-tags-service-754.json",51076],"73699c74":[()=>n.e(54784).then(n.bind(n,2748)),"@site/docs/legacy/v7/basics/blocks-component-structure.md",2748],"749660c3":[()=>n.e(46846).then(n.bind(n,80976)),"@site/docs/basics/blocks-structure.md",80976],"74bedbb6":[()=>Promise.all([n.e(12176),n.e(45276),n.e(84248)]).then(n.bind(n,85976)),"@site/forms/javascript/state/captcha.mdx",85976],"759f3f6b":[()=>n.e(41440).then(n.t.bind(n,17554,19)),"/home/runner/work/eightshift-docs/eightshift-docs/website/.docusaurus/docusaurus-plugin-content-docs/forms/plugin-route-context-module-100.json",17554],"769f10a0":[()=>n.e(44976).then(n.bind(n,40380)),"@site/docs/legacy/v8/basics/rest-field.md",40380],"76f2b92e":[()=>n.e(18726).then(n.bind(n,39756)),"@site/docs/legacy/v8/basics/blocks-global-manifest.md",39756],"779187a6":[()=>n.e(36376).then(n.bind(n,27044)),"@site/forms/php/global-variables/integrations/goodbits.md",27044],"790fff8f":[()=>n.e(57480).then(n.bind(n,292)),"@site/forms/php/intro.md",292],"795f4ac3":[()=>n.e(61264).then(n.bind(n,15760)),"@site/forms/php/filters/scripts/routes-private.md",15760],"795feea1":[()=>n.e(80568).then(n.bind(n,81284)),"@site/docs/legacy/v5/basics/the-structure.md",81284],79818576:[()=>n.e(69384).then(n.bind(n,9764)),"@site/docs/legacy/v8/basics/basics-intro.md",9764],"7a9c7a9a":[()=>n.e(9916).then(n.bind(n,12908)),"@site/docs/migrations/10-11.md",12908],"7ab92eb4":[()=>n.e(59388).then(n.bind(n,12900)),"@site/forms/known-issues.md",12900],"7b2162ed":[()=>n.e(48292).then(n.bind(n,95536)),"@site/docs/legacy/v5/basics/helpers-javascript.md",95536],"7b3a75e2":[()=>n.e(43952).then(n.bind(n,44488)),"@site/docs/legacy/v6/basics/blocks-variations.md",44488],"7c673fac":[()=>n.e(97152).then(n.bind(n,65200)),"@site/blog/2022-03-03-adding-blocks-wpcli.md",65200],"7c785ce9":[()=>n.e(78584).then(n.bind(n,87476)),"@site/docs/legacy/v5/basics/helpers-php.md",87476],"7c7e3f2e":[()=>n.e(74388).then(n.bind(n,12060)),"@site/docs/legacy/v6/basics/blocks-wrapper.md",12060],"7c97d78d":[()=>n.e(41024).then(n.bind(n,6372)),"@site/forms/features/wpml.md",6372],"7cbc5997":[()=>n.e(51768).then(n.bind(n,59708)),"@site/forms/addons/create/intro.md",59708],"7cca0223":[()=>n.e(51980).then(n.bind(n,38080)),"@site/docs/basics/blocks-styles.md",38080],"7cf19012":[()=>n.e(27920).then(n.bind(n,78363)),"@site/docs/legacy/v4/guides/rest-routes-example.md",78363],"7d063b53":[()=>n.e(44600).then(n.bind(n,58100)),"@site/docs/basics/blocks-faq.md",58100],"7d1194b2":[()=>n.e(53264).then(n.bind(n,82804)),"@site/docs/legacy/v4/guides/config.md",82804],"7d66ff10":[()=>n.e(27500).then(n.bind(n,51184)),"@site/docs/legacy/v5/basics/backend.md",51184],"7dd4c8bc":[()=>n.e(74992).then(n.bind(n,11100)),"@site/forms/php/global-variables/integrations/pipedrive.md",11100],"7ddf2558":[()=>n.e(29488).then(n.bind(n,71428)),"@site/docs/legacy/v6/basics/block-manifest.md",71428],"7ee32c60":[()=>n.e(99632).then(n.bind(n,69112)),"@site/docs/legacy/v4/guides/manifest.md",69112],"7fa80a78":[()=>n.e(26024).then(n.bind(n,75936)),"@site/forms/php/filters/block/field/style-classes.md",75936],"7fbb6eb5":[()=>n.e(17832).then(n.bind(n,4204)),"@site/forms/php/filters/general/scripts-dependency.md",4204],"805db72d":[()=>n.e(32524).then(n.bind(n,39500)),"@site/docs/legacy/v7/basics/backend.md",39500],"80796e9f":[()=>n.e(70864).then(n.bind(n,34840)),"@site/docs/legacy/v7/basics/wp-cli.md",34840],"80d0bffa":[()=>n.e(38476).then(n.bind(n,84340)),"@site/forms/php/actions/migrations.md",84340],"80d5addc":[()=>n.e(67412).then(n.bind(n,94748)),"@site/docs/legacy/v5/basics/namespaces.md",94748],"812444b5":[()=>n.e(51320).then(n.bind(n,43292)),"@site/docs/legacy/v6/basics/fonts.md",43292],"814f3328":[()=>n.e(45512).then(n.t.bind(n,4352,19)),"~blog/default/blog-post-list-prop-default.json",4352],"81d5dffa":[()=>n.e(81060).then(n.bind(n,14924)),"@site/docs/legacy/v4/advanced/helpers-components.md",14924],"81faadf7":[()=>n.e(17116).then(n.t.bind(n,34512,19)),"~blog/default/blog-tags-acf-235-list.json",34512],"8364cffd":[()=>n.e(21608).then(n.bind(n,99964)),"@site/docs/legacy/v8/versions.md",99964],"837a3e8d":[()=>n.e(24100).then(n.bind(n,75120)),"@site/forms/php/filters/scripts/dependency-blocks-editor.md",75120],"8383ea83":[()=>n.e(44096).then(n.bind(n,18916)),"@site/forms/tutorials/playlist.mdx",18916],"83ce5e05":[()=>n.e(31272).then(n.bind(n,14812)),"@site/forms/javascript/events/how-to-use.md",14812],"83ee1d6a":[()=>n.e(26128).then(n.bind(n,37276)),"@site/forms/php/filters/scripts/routes-public.md",37276],"85434a08":[()=>n.e(27100).then(n.bind(n,61273)),"@site/docs/legacy/v6/basics/blocks-transforms.md",61273],"85c52577":[()=>n.e(26028).then(n.bind(n,79272)),"@site/forms/php/filters/block/form/pre-response-addon-data.md",79272],"85d49e2b":[()=>n.e(51360).then(n.bind(n,91044)),"@site/docs/additional-libraries/frontend-libs.md",91044],"86405c0e":[()=>n.e(87632).then(n.bind(n,79256)),"@site/docs/basics/blocks-variations.md",79256],"87f23a60":[()=>n.e(19866).then(n.bind(n,8572)),"@site/docs/crash-course/intro.md",8572],"883d241c":[()=>n.e(86688).then(n.t.bind(n,48702,19)),"~blog/default/blog-tags-variations-ce6.json",48702],88748759:[()=>n.e(3360).then(n.bind(n,80888)),"@site/docs/legacy/v8/basics/blocks-variations.md",80888],"889c25c7":[()=>n.e(23868).then(n.bind(n,28484)),"@site/forms/php/global-variables/integrations/workable.md",28484],"89c5f7f6":[()=>n.e(84174).then(n.bind(n,67752)),"@site/docs/legacy/v7/basics/blocks-transforms.md",67752],"8ae4ee15":[()=>n.e(16968).then(n.bind(n,37524)),"@site/docs/legacy/v5/basics/dynamic-import.md",37524],"8b62c48f":[()=>n.e(3536).then(n.t.bind(n,19568,19)),"~blog/default/blog-tags-acf-235.json",19568],"8c05f4d5":[()=>n.e(59088).then(n.bind(n,15476)),"@site/docs/basics/rest-route.md",15476],"8cdd3050":[()=>n.e(80800).then(n.bind(n,73900)),"@site/forms/php/filters/block/file/preview-remove-label.md",73900],"8d5ae15a":[()=>n.e(49692).then(n.bind(n,76480)),"@site/docs/basics/wp-cli.md",76480],"8ddbe34c":[()=>Promise.all([n.e(12176),n.e(45276),n.e(19768)]).then(n.bind(n,25167)),"@site/forms/php/filters/block/form/additional-content.mdx",25167],"8ddd1f69":[()=>n.e(23736).then(n.bind(n,18628)),"@site/forms/php/filters/blocks/allowed-blocks.md",18628],"8df1c5c9":[()=>n.e(58432).then(n.bind(n,30988)),"@site/docs/additional-libraries/libs.md",30988],"8df52c09":[()=>n.e(51440).then(n.bind(n,10116)),"@site/docs/basics/extending-classes.md",10116],"8e0a64cf":[()=>n.e(18712).then(n.t.bind(n,94134,19)),"~blog/default/blog-tags-wpcli-f24.json",94134],"8e2e6ad6":[()=>n.e(51976).then(n.t.bind(n,77800,19)),"~blog/default/blog-tags-taxonomy-769.json",77800],"8eb4e46b":[()=>n.e(92296).then(n.t.bind(n,48376,19)),"~blog/default/blog-page-2-677.json",48376],"8eb5a1d8":[()=>n.e(73908).then(n.bind(n,45028)),"@site/docs/legacy/v6/basics/blocks-faq.md",45028],"8f5a650f":[()=>n.e(92686).then(n.bind(n,31948)),"@site/docs/legacy/v4/advanced/aliases.md",31948],"90151e6b":[()=>n.e(70058).then(n.bind(n,66268)),"@site/forms/javascript/intro.md",66268],"901c0002":[()=>n.e(82694).then(n.bind(n,50764)),"@site/docs/legacy/v6/basics/blocks-registration.md",50764],"90c2c848":[()=>n.e(55120).then(n.bind(n,27832)),"@site/docs/legacy/v7/basics/library.md",27832],"92621e92":[()=>n.e(54162).then(n.bind(n,92700)),"@site/forms/php/filters/block/field/style-options.md",92700],"92a392ff":[()=>n.e(96344).then(n.bind(n,57004)),"@site/forms/php/helpers.md",57004],"935f2afb":[()=>n.e(55696).then(n.t.bind(n,35988,19)),"~docs/default/version-current-metadata-prop-751.json",35988],"938b8490":[()=>n.e(23928).then(n.bind(n,65068)),"@site/blog/2022-04-25-using-assets.md",65068],"94335e76":[()=>n.e(22632).then(n.bind(n,11380)),"@site/docs/migrations/8-9.md",11380],"952356a8":[()=>n.e(97800).then(n.bind(n,14472)),"@site/docs/legacy/v8/basics/blocks-component-manifest.md",14472],"962afcd6":[()=>n.e(66024).then(n.bind(n,1320)),"@site/docs/legacy/v5/basics/blocks-storybook.md",1320],"963c8ac0":[()=>n.e(41160).then(n.bind(n,59024)),"@site/docs/legacy/v4/guides/login.md",59024],"96795ae1":[()=>n.e(63744).then(n.bind(n,35340)),"@site/blog/2022-01-21-components-and-blocks.md",35340],"96c3e083":[()=>n.e(11408).then(n.t.bind(n,9604,19)),"~blog/default/blog-tags-variations-ce6-list.json",9604],"97cb0cff":[()=>n.e(28752).then(n.bind(n,71408)),"@site/docs/legacy/v8/basics/library.md",71408],"98c40af1":[()=>n.e(1136).then(n.bind(n,284)),"@site/docs/legacy/v7/basics/blocks-global-manifest.md",284],"9962ee1e":[()=>n.e(28768).then(n.t.bind(n,62864,19)),"~blog/default/blog-tags-icons-c8e-list.json",62864],"998cd6c6":[()=>n.e(21404).then(n.bind(n,40848)),"@site/docs/legacy/v7/basics/architecture-concepts.md",40848],"9a04d7c3":[()=>n.e(99844).then(n.bind(n,95836)),"@site/docs/legacy/v8/basics/helpers-javascript.md",95836],"9a46388f":[()=>n.e(2968).then(n.t.bind(n,48256,19)),"~blog/default/blog-tags-boilerplate-497.json",48256],"9ac95129":[()=>n.e(1372).then(n.bind(n,21140)),"@site/docs/legacy/v6/basics/tips-tricks.md",21140],"9bd02e6c":[()=>n.e(22472).then(n.bind(n,23316)),"@site/forms/php/wp-cli.md",23316],"9bd54e26":[()=>n.e(54988).then(n.bind(n,38508)),"@site/docs/additional-libraries/forms.md",38508],"9ca2f55b":[()=>n.e(96792).then(n.bind(n,50840)),"@site/blog/2022-04-08-adding-fonts.md?truncated=true",50840],"9cc47562":[()=>n.e(83040).then(n.bind(n,36848)),"@site/forms/php/filters/geolocation/phar-location.md",36848],"9cd35a7e":[()=>n.e(3452).then(n.bind(n,37764)),"@site/docs/basics/blocks-patterns.md",37764],"9cd71f2c":[()=>n.e(52612).then(n.bind(n,50244)),"@site/docs/additional-libraries/storybook.md",50244],"9d107aac":[()=>n.e(40544).then(n.bind(n,37856)),"@site/docs/basics/basics-intro.md",37856],"9d954fea":[()=>n.e(76728).then(n.bind(n,48816)),"@site/docs/legacy/v5/basics/blocks-variations.md",48816],"9dc56d2c":[()=>n.e(65352).then(n.bind(n,24266)),"@site/forms/php/filters/block/form/phone-sync.md",24266],"9e3bbdc0":[()=>n.e(38052).then(n.bind(n,56344)),"@site/forms/php/filters/block/form/success-redirect-url.md",56344],"9e4087bc":[()=>n.e(27028).then(n.bind(n,56140)),"@theme/BlogArchivePage",56140],"9e4e2e8b":[()=>n.e(69992).then(n.bind(n,44556)),"@site/docs/basics/backend.md",44556],"9e8339c4":[()=>n.e(75324).then(n.bind(n,78704)),"@site/forms/features/success-redirect.md",78704],"9ec15741":[()=>n.e(33052).then(n.bind(n,96752)),"@site/docs/legacy/v4/guides/blocks-filer-block-attributes-override.md",96752],"9ee0eb8a":[()=>n.e(61180).then(n.bind(n,5696)),"@site/forms/addons/intro.md",5696],"9eec1b69":[()=>n.e(51992).then(n.bind(n,81776)),"@site/docs/legacy/v8/basics/extending-classes.md",81776],"9f25cf08":[()=>n.e(7336).then(n.bind(n,1932)),"@site/docs/legacy/v6/basics/library.md",1932],"9f6545b7":[()=>n.e(73380).then(n.bind(n,61036)),"@site/forms/basics.mdx",61036],"9f724635":[()=>n.e(50424).then(n.bind(n,1080)),"@site/docs/legacy/v8/basics/blocks-reusable.md",1080],"9f7aca5a":[()=>n.e(49800).then(n.bind(n,8284)),"@site/docs/legacy/v5/basics/helpers.md",8284],a0d23381:[()=>n.e(41628).then(n.bind(n,964)),"@site/forms/integrations/mailerlite.md",964],a112d798:[()=>Promise.all([n.e(12176),n.e(45276),n.e(38980)]).then(n.bind(n,96488)),"@site/forms/php/filters/integrations/pipedrive.mdx",96488],a12ac645:[()=>n.e(63500).then(n.bind(n,34376)),"@site/forms/features/multisteps-forms.md",34376],a2947dce:[()=>n.e(25604).then(n.bind(n,61332)),"@site/docs/legacy/v5/basics/blocks.md",61332],a2d3b782:[()=>n.e(28528).then(n.bind(n,43636)),"@site/docs/basics/helpers-javascript.md",43636],a2dbf4e7:[()=>n.e(79016).then(n.bind(n,40788)),"@site/docs/legacy/v4/guides/blocks-block-from-components.md",40788],a372a63b:[()=>n.e(95252).then(n.t.bind(n,26176,19)),"~blog/default/blog-tags-query-8a9.json",26176],a374712b:[()=>n.e(83668).then(n.bind(n,8180)),"@site/docs/legacy/v7/basics/rest-route.md",8180],a3a64d88:[()=>n.e(90520).then(n.bind(n,4672)),"@site/forms/features/country-list.md",4672],a43c0a1c:[()=>n.e(16664).then(n.t.bind(n,65480,19)),"~blog/default/blog-tags-class-1f9-list.json",65480],a45434fa:[()=>n.e(40312).then(n.bind(n,26376)),"@site/forms/php/filters/how-to-use.md",26376],a45b31ec:[()=>n.e(89584).then(n.bind(n,3828)),"@site/docs/migrations/9-10.md",3828],a56ad6f0:[()=>n.e(17872).then(n.bind(n,2668)),"@site/docs/legacy/v8/basics/example-class.md",2668],a5dd7d10:[()=>n.e(81736).then(n.t.bind(n,84260,19)),"~blog/default/blog-tags-patterns-541-list.json",84260],a6aa9e1f:[()=>Promise.all([n.e(12176),n.e(45276),n.e(43052),n.e(54976)]).then(n.bind(n,22332)),"@theme/BlogListPage",22332],a6e1df93:[()=>n.e(44152).then(n.t.bind(n,37746,19)),"~blog/default/blog-tags-i-18-n-d57.json",37746],a7023ddc:[()=>n.e(39112).then(n.t.bind(n,61568,19)),"~blog/default/blog-tags-tags-4c2.json",61568],a737efbc:[()=>n.e(13156).then(n.bind(n,40816)),"@site/docs/legacy/v4/guides/post-type.md",40816],a7bd4aaa:[()=>n.e(86500).then(n.bind(n,22e3)),"@theme/DocVersionRoot",22e3],a94703ab:[()=>Promise.all([n.e(12176),n.e(4666)]).then(n.bind(n,20996)),"@theme/DocRoot",20996],a97e7f15:[()=>n.e(57464).then(n.bind(n,84656)),"@site/docs/basics/autowiring.md",84656],a9ff9f98:[()=>n.e(71760).then(n.t.bind(n,57048,19)),"~blog/default/blog-tags-eightshift-page-2-541.json",57048],aa47c437:[()=>n.e(46416).then(n.bind(n,19172)),"@site/docs/basics/global-settings.md",19172],ab8fc1e5:[()=>n.e(33316).then(n.bind(n,9304)),"@site/docs/legacy/v5/basics/rest-route.md",9304],acacc2b4:[()=>n.e(27508).then(n.t.bind(n,11858,19)),"~blog/default/blog-tags-patterns-541.json",11858],ad6305cb:[()=>n.e(5424).then(n.bind(n,4416)),"@site/docs/legacy/v4/guides/i18n.md",4416],adaf2bab:[()=>Promise.all([n.e(12176),n.e(45276),n.e(21520)]).then(n.bind(n,42620)),"@site/forms/php/filters/block/form-selector/additional-content.mdx",42620],adb54813:[()=>n.e(94576).then(n.bind(n,63720)),"@site/blog/2022-03-04-modifying-blocks.md",63720],add2b463:[()=>n.e(68628).then(n.bind(n,64252)),"@site/docs/basics/helpers-php.md",64252],ae06c6f1:[()=>Promise.all([n.e(12176),n.e(45276),n.e(70060)]).then(n.bind(n,20136)),"@site/forms/php/filters/block/rating/additional-content.mdx",20136],ae5745cc:[()=>n.e(56620).then(n.bind(n,98600)),"@site/docs/legacy/v5/basics/writing-styles.md",98600],ae8e07b1:[()=>n.e(46740).then(n.t.bind(n,59992,19)),"~docs/forms/version-current-metadata-prop-751.json",59992],aebfde4b:[()=>n.e(84560).then(n.bind(n,3668)),"@site/docs/legacy/v7/basics/block-manifest.md",3668],aee4c48a:[()=>n.e(22100).then(n.bind(n,77612)),"@site/forms/integrations/workable.md",77612],af09cb5f:[()=>n.e(29730).then(n.bind(n,26804)),"@site/forms/php/global-variables/integrations/greenhouse.md",26804],af8ed05f:[()=>Promise.all([n.e(12176),n.e(45276),n.e(47496)]).then(n.bind(n,79756)),"@site/forms/php/filters/block/select/additional-content.mdx",79756],af9ac9e0:[()=>n.e(6820).then(n.bind(n,21960)),"@site/forms/php/actions/how-to-use.md",21960],afb6799c:[()=>n.e(95640).then(n.bind(n,77832)),"@site/docs/legacy/v6/basics/blocks-component-manifest.md",77832],afdc90ee:[()=>n.e(58948).then(n.bind(n,35588)),"@site/docs/basics/blocks-hooks.md",35588],b11b48f8:[()=>n.e(95288).then(n.bind(n,17780)),"@site/forms/php/filters/block/form/additional-hidden-fields.md",17780],b22c1dac:[()=>n.e(94980).then(n.bind(n,35131)),"@site/forms/php/filters/block/forms/style-options.md",35131],b2b675dd:[()=>n.e(16292).then(n.t.bind(n,76180,19)),"~blog/default/blog-c06.json",76180],b2f554cd:[()=>n.e(86880).then(n.t.bind(n,38256,19)),"~blog/default/blog-archive-80c.json",38256],b31b2138:[()=>n.e(29580).then(n.bind(n,91248)),"@site/docs/basics/tips-tricks.md",91248],b3636d59:[()=>n.e(74384).then(n.bind(n,66836)),"@site/docs/legacy/v4/guides/di-container.md",66836],b3760b7c:[()=>n.e(3024).then(n.bind(n,23596)),"@site/forms/php/filters/block/form/data-type-selector.md",23596],b3b90a5e:[()=>n.e(59476).then(n.t.bind(n,32696,19)),"~blog/default/blog-tags-class-1f9.json",32696],b4c9bdc9:[()=>n.e(80472).then(n.bind(n,41012)),"@site/docs/legacy/v6/basics/blocks-hooks.md",41012],b4f7c3fb:[()=>n.e(80564).then(n.bind(n,75668)),"@site/docs/legacy/v6/basics/namespaces.md",75668],b6358757:[()=>Promise.all([n.e(12176),n.e(45276),n.e(21420)]).then(n.bind(n,30800)),"@site/forms/php/filters/integrations/moments.mdx",30800],b64e38ac:[()=>n.e(9748).then(n.bind(n,46592)),"@site/forms/javascript/manual-initiation.md",46592],b6915d5f:[()=>n.e(77624).then(n.bind(n,77147)),"@site/docs/legacy/v7/basics/blocks-storybook.md",77147],b6d824a3:[()=>n.e(42300).then(n.t.bind(n,30550,19)),"~blog/default/blog-tags-setup-e81.json",30550],b7f27d80:[()=>n.e(15232).then(n.bind(n,6440)),"@site/forms/addons/premium/intro.md",6440],b8283c8e:[()=>Promise.all([n.e(12176),n.e(45276),n.e(10528)]).then(n.bind(n,92116)),"@site/forms/php/filters/block/radios/additional-content.mdx",92116],b8b55b85:[()=>n.e(73624).then(n.bind(n,63180)),"@site/forms/integrations/hubspot.md",63180],b8b9d8e8:[()=>n.e(45452).then(n.bind(n,2414)),"@site/docs/legacy/v5/basics/webpack.md",2414],b9355076:[()=>n.e(16998).then(n.bind(n,13324)),"@site/docs/legacy/v8/basics/backend.md",13324],b9979bed:[()=>n.e(80072).then(n.t.bind(n,1698,19)),"~blog/default/blog-tags-eightshift-ee2.json",1698],ba4d70ca:[()=>n.e(2312).then(n.bind(n,40436)),"@site/docs/legacy/v7/basics/browser-sync.md",40436],bb95e167:[()=>n.e(247).then(n.bind(n,76340)),"@site/docs/legacy/v8/basics/dynamic-import.md",76340],bb98611a:[()=>n.e(56128).then(n.bind(n,72408)),"@site/docs/additional-libraries/coding-standards.md",72408],bc5075fb:[()=>n.e(2692).then(n.bind(n,26052)),"@site/docs/legacy/v7/basics/global-settings.md",26052],bc8a7ae5:[()=>n.e(37800).then(n.bind(n,79980)),"@site/docs/legacy/v6/basics/basics-intro.md",79980],bca46e3f:[()=>n.e(11212).then(n.bind(n,38138)),"@site/blog/2022-12-13-using-cpts-and-taxonomies.md?truncated=true",38138],bcdc9a5c:[()=>n.e(20676).then(n.bind(n,23572)),"@site/docs/legacy/v6/basics/blocks-styles.md",23572],bce2f7e5:[()=>n.e(18240).then(n.bind(n,23392)),"@site/docs/legacy/v6/basics/blocks-storybook.md",23392],be197d78:[()=>n.e(51368).then(n.bind(n,86988)),"@site/blog/2023-08-03-adding-custom-query.md",86988],be937143:[()=>n.e(1772).then(n.bind(n,1004)),"@site/forms/php/filters/enrichment/manual-map.md",1004],beb2a160:[()=>Promise.all([n.e(12176),n.e(45276),n.e(63736)]).then(n.bind(n,73284)),"@site/forms/php/filters/block/file/additional-content.mdx",73284],bf7018cf:[()=>n.e(39776).then(n.bind(n,55232)),"@site/docs/legacy/v4/advanced/components-color-palette.md",55232],bff0bad2:[()=>n.e(73560).then(n.bind(n,55240)),"@site/forms/php/filters/block/form/success-redirect-variation-options.md",55240],c15d2dfd:[()=>n.e(58928).then(n.bind(n,22048)),"@site/docs/tutorials/intro.md",22048],c2a527e7:[()=>n.e(2344).then(n.bind(n,6528)),"@site/docs/legacy/v8/basics/frontend.md",6528],c3122f65:[()=>n.e(15484).then(n.bind(n,79644)),"@site/docs/legacy/v8/basics/blocks-component-in-block.md",79644],c344252c:[()=>n.e(97968).then(n.bind(n,71680)),"@site/forms/php/global-variables/integrations/jira.md",71680],c361232e:[()=>n.e(38640).then(n.bind(n,72260)),"@site/docs/legacy/v6/basics/blocks-patterns.md",72260],c38062b9:[()=>Promise.all([n.e(12176),n.e(45276),n.e(9968)]).then(n.bind(n,3820)),"@site/forms/php/filters/integrations/hubspot.mdx",3820],c38fd7bd:[()=>n.e(61542).then(n.bind(n,39468)),"@site/blog/2022-05-10-acf-in-a-project.md",39468],c4f5d8e4:[()=>n.e(62632).then(n.bind(n,91936)),"@site/src/pages/index.js",91936],c55525a9:[()=>n.e(51296).then(n.bind(n,47900)),"@site/docs/legacy/v4/guides/rest-field-example.md",47900],c62d4947:[()=>n.e(70012).then(n.bind(n,81904)),"@site/docs/basics/fonts.md",81904],c661d3f1:[()=>n.e(35524).then(n.bind(n,5380)),"@site/docs/basics/block-manifest.md",5380],c6cd348e:[()=>n.e(20652).then(n.bind(n,43304)),"@site/docs/legacy/v7/basics/blocks-registration.md",43304],c709f244:[()=>n.e(15264).then(n.t.bind(n,43336,19)),"~blog/default/blog-tags-assets-503.json",43336],c72fb457:[()=>n.e(31616).then(n.bind(n,57388)),"@site/docs/legacy/v5/basics/block-manifest.md",57388],c78f4965:[()=>n.e(23424).then(n.bind(n,10552)),"@site/forms/php/filters/block/form/tracking-event-name.md",10552],c7fa2f29:[()=>n.e(27660).then(n.bind(n,74180)),"@site/docs/legacy/v5/basics/wp-cli.md",74180],c80bf43d:[()=>n.e(69536).then(n.bind(n,96664)),"@site/blog/2023-09-05-wrapper-as-a-standalone-component.md?truncated=true",96664],c87de583:[()=>n.e(22524).then(n.t.bind(n,19464,19)),"~blog/default/blog-tags-components-279-list.json",19464],c9815f8a:[()=>n.e(4596).then(n.bind(n,3744)),"@site/forms/php/global-variables/integrations/mailchimp.md",3744],c9c3a302:[()=>n.e(86760).then(n.t.bind(n,83940,19)),"~blog/default/blog-tags-service-754-list.json",83940],c9f06a2a:[()=>n.e(73532).then(n.bind(n,64100)),"@site/forms/php/filters/block/form/global-msg-headings.md",64100],ca69ab29:[()=>n.e(74264).then(n.bind(n,4848)),"@site/docs/legacy/v7/basics/helpers-scss.md",4848],cb3c2681:[()=>n.e(86364).then(n.bind(n,63068)),"@site/docs/legacy/v6/basics/dynamic-import.md",63068],cb7a22d0:[()=>Promise.all([n.e(12176),n.e(45276),n.e(77576)]).then(n.bind(n,18176)),"@site/forms/javascript/state/step.mdx",18176],ccc49370:[()=>Promise.all([n.e(12176),n.e(45276),n.e(43052),n.e(66344)]).then(n.bind(n,18320)),"@theme/BlogPostPage",18320],ccea3a4d:[()=>n.e(21444).then(n.bind(n,79020)),"@site/docs/legacy/v7/basics/block-structure.md",79020],cd0300a2:[()=>n.e(87240).then(n.t.bind(n,23904,19)),"~blog/default/blog-tags-cpt-860.json",23904],cd521b29:[()=>n.e(62684).then(n.bind(n,96420)),"@site/blog/2023-06-12-multiple-same-components.md",96420],ce0a947c:[()=>n.e(42752).then(n.bind(n,87556)),"@site/docs/legacy/v8/basics/browser-sync.md",87556],ce19f7d3:[()=>n.e(46160).then(n.t.bind(n,35096,19)),"~blog/default/blog-tags-boilerplate-page-2-757-list.json",35096],ce4b3df7:[()=>n.e(67404).then(n.bind(n,33356)),"@site/docs/legacy/v4/guides/media.md",33356],ce7d450a:[()=>n.e(39228).then(n.bind(n,68952)),"@site/docs/basics/blocks-wrapper.md",68952],cec206a7:[()=>n.e(23408).then(n.bind(n,25124)),"@site/docs/legacy/v8/basics/blocks-storybook.md",25124],cf4609e7:[()=>n.e(70896).then(n.bind(n,48008)),"@site/docs/legacy/v6/basics/blocks-component-in-block.md",48008],cf91d205:[()=>n.e(37124).then(n.bind(n,24852)),"@site/forms/addons/free/intro.md",24852],cfae12a4:[()=>Promise.all([n.e(12176),n.e(45276),n.e(59168)]).then(n.bind(n,968)),"@site/forms/php/filters/block/submit/additional-content.mdx",968],d0301901:[()=>Promise.all([n.e(12176),n.e(45276),n.e(90588)]).then(n.bind(n,20196)),"@site/forms/php/filters/block/input/additional-content.mdx",20196],d0b1075b:[()=>n.e(57808).then(n.bind(n,54812)),"@site/forms/integrations/clearbit.md",54812],d0c63040:[()=>n.e(37948).then(n.bind(n,50204)),"@site/blog/2023-08-03-adding-custom-query.md?truncated=true",50204],d0e59ab5:[()=>n.e(18492).then(n.t.bind(n,10382,19)),"~blog/default/blog-tags-boilerplate-page-2-757.json",10382],d0ecf97a:[()=>n.e(8996).then(n.bind(n,20816)),"@site/forms/php/filters/general/locale.md",20816],d136d263:[()=>Promise.all([n.e(12176),n.e(45276),n.e(21656)]).then(n.bind(n,25420)),"@site/forms/javascript/state/form.mdx",25420],d14f8ee5:[()=>n.e(71896).then(n.bind(n,16368)),"@site/docs/basics/blocks-attributes.md",16368],d1a0cea3:[()=>n.e(89344).then(n.bind(n,73780)),"@site/docs/basics/browser-sync.md",73780],d28f320b:[()=>n.e(80936).then(n.bind(n,31412)),"@site/forms/php/filters/integrations/clearbit.md",31412],d2dc1d28:[()=>n.e(22584).then(n.t.bind(n,93224,19)),"~blog/default/blog-tags-block-047-list.json",93224],d3930d00:[()=>n.e(51720).then(n.bind(n,53124)),"@site/forms/php/filters/geolocation/db-location.md",53124],d5c4c4ae:[()=>n.e(91620).then(n.bind(n,29388)),"@site/forms/integrations/intro.mdx",29388],d5f39101:[()=>n.e(20952).then(n.bind(n,23236)),"@site/docs/legacy/v5/basics/blocks-styles.md",23236],d6a42b72:[()=>n.e(28498).then(n.bind(n,97144)),"@site/docs/legacy/v8/basics/blocks-patterns.md",97144],d7756765:[()=>n.e(99912).then(n.bind(n,71516)),"@site/docs/legacy/v7/basics/blocks-faq.md",71516],d817bad3:[()=>n.e(60796).then(n.bind(n,52884)),"@site/forms/javascript/events/available-events.mdx",52884],d845213b:[()=>n.e(25288).then(n.bind(n,85224)),"@site/docs/legacy/v7/basics/rest-field.md",85224],d88895d1:[()=>n.e(48864).then(n.bind(n,85940)),"@site/docs/legacy/v4/advanced/browsersync.md",85940],d9cc83f8:[()=>n.e(23240).then(n.t.bind(n,32416,19)),"~blog/default/blog-tags-multilingual-011.json",32416],da20989d:[()=>n.e(32488).then(n.bind(n,60020)),"@site/docs/additional-libraries/stubs.md",60020],da81302a:[()=>n.e(7333).then(n.bind(n,67700)),"@site/docs/basics/manifest.md",67700],daf8bbf9:[()=>n.e(28432).then(n.bind(n,59060)),"@site/blog/2022-09-07-block-variations.md?truncated=true",59060],db6287e5:[()=>n.e(32704).then(n.bind(n,22692)),"@site/docs/legacy/v7/basics/blocks-component-manifest.md",22692],db98aa0c:[()=>n.e(88528).then(n.bind(n,85136)),"@site/docs/legacy/v5/basics/blocks-registration.md",85136],dbd7356d:[()=>n.e(82716).then(n.bind(n,14988)),"@site/forms/integrations/moments.md",14988],dbfa0beb:[()=>n.e(69928).then(n.bind(n,25787)),"@site/forms/features/tracking.md",25787],dc28c8db:[()=>Promise.all([n.e(12176),n.e(45276),n.e(74696)]).then(n.bind(n,47216)),"@site/forms/javascript/state/conditional-tags.mdx",47216],dc46868d:[()=>n.e(50772).then(n.bind(n,59876)),"@site/docs/legacy/v6/basics/rest-route.md",59876],dd059938:[()=>n.e(47484).then(n.bind(n,45236)),"@site/docs/basics/library.md",45236],ddb69969:[()=>n.e(93364).then(n.bind(n,12564)),"@site/forms/features/cloudflare.md",12564],de657462:[()=>n.e(85424).then(n.bind(n,98292)),"@site/docs/additional-libraries/boilerplate.md",98292],dea8b3ed:[()=>n.e(77508).then(n.bind(n,76468)),"@site/forms/php/filters/scripts/dependency-admin.md",76468],e00f1d66:[()=>n.e(50560).then(n.bind(n,67780)),"@site/blog/2022-03-04-modifying-blocks.md?truncated=true",67780],e0d892c2:[()=>n.e(6384).then(n.t.bind(n,15016,19)),"~blog/default/blog-tags-wrapper-043.json",15016],e110487c:[()=>n.e(83920).then(n.bind(n,77916)),"@site/docs/basics/rest.md",77916],e12d4719:[()=>n.e(25572).then(n.bind(n,39508)),"@site/docs/legacy/v4/guides/blocks-render-block-view-helper.md",39508],e18eec83:[()=>n.e(57023).then(n.bind(n,83300)),"@site/forms/php/filters/block/country/alternative-data-set.md",83300],e1f747d9:[()=>n.e(73844).then(n.bind(n,27676)),"@site/docs/legacy/v8/basics/rest-route.md",27676],e2bba919:[()=>n.e(94748).then(n.t.bind(n,65736,19)),"~blog/default/blog-tags-blocks-4f6.json",65736],e37577e1:[()=>n.e(39736).then(n.bind(n,51772)),"@site/forms/features/labels.md",51772],e3792bbb:[()=>n.e(87440).then(n.bind(n,34020)),"@site/docs/migrations/7-8.md",34020],e4399142:[()=>n.e(82128).then(n.bind(n,45292)),"@site/docs/legacy/v4/guides/blocks-structure.md",45292],e4932c64:[()=>n.e(16808).then(n.bind(n,22360)),"@site/forms/addons/create/addon-boilerplate.md",22360],e4af6a2d:[()=>n.e(13884).then(n.t.bind(n,71096,19)),"~blog/default/blog-tags-multilingual-011-list.json",71096],e6326b0c:[()=>n.e(95720).then(n.bind(n,68720)),"@site/docs/legacy/v8/basics/blocks-attributes.md",68720],e71b04e6:[()=>n.e(77336).then(n.bind(n,87404)),"@site/docs/legacy/v7/basics/dynamic-import.md",87404],e7328bb1:[()=>n.e(14740).then(n.bind(n,53128)),"@site/docs/legacy/v5/basics/blocks-special-use-cases.md",53128],e79e64be:[()=>n.e(82384).then(n.bind(n,73940)),"@site/docs/basics/blocks-important.md",73940],e801e723:[()=>n.e(30285).then(n.bind(n,26556)),"@site/blog/2022-12-22-block-patterns.md",26556],e8854f45:[()=>n.e(25828).then(n.bind(n,7568)),"@site/forms/first-form.mdx",7568],e8903528:[()=>n.e(51444).then(n.bind(n,11520)),"@site/docs/legacy/v5/basics/blocks-important.md",11520],e8a4c7be:[()=>n.e(52640).then(n.bind(n,91608)),"@site/docs/migrations/5-6.md",91608],e90b4b34:[()=>n.e(16140).then(n.bind(n,35840)),"@site/docs/legacy/v5/basics/rest.md",35840],e93eaee1:[()=>n.e(8616).then(n.bind(n,31428)),"@site/forms/addons/premium/computed-fields/how-to-use.md",31428],e9beab12:[()=>n.e(22440).then(n.bind(n,356)),"@site/docs/basics/blocks-component-in-block.md",356],ea645227:[()=>n.e(59404).then(n.bind(n,24736)),"@site/docs/legacy/v8/basics/blocks-faq.md",24736],eaffcef6:[()=>n.e(31152).then(n.bind(n,57372)),"@site/forms/php/global-variables/integrations/active-campaign.md",57372],ebfee794:[()=>n.e(24216).then(n.bind(n,59304)),"@site/docs/welcome.md",59304],ec5d0804:[()=>n.e(75292).then(n.bind(n,12184)),"@site/docs/legacy/v4/guides/columns-user.md",12184],ecf43748:[()=>n.e(5160).then(n.bind(n,72404)),"@site/docs/legacy/v8/basics/rest.md",72404],ed133f89:[()=>n.e(18137).then(n.t.bind(n,52332,19)),"~blog/default/blog-tags-blocks-4f6-list.json",52332],ed3575d5:[()=>n.e(36721).then(n.bind(n,80820)),"@site/docs/legacy/v5/basics/blocks-hooks.md",80820],ed480930:[()=>n.e(60536).then(n.bind(n,84004)),"@site/docs/legacy/v8/basics/webpack.md",84004],ee1ed8c4:[()=>n.e(19624).then(n.bind(n,99592)),"@site/docs/legacy/v7/versions.md",99592],ee4eba04:[()=>n.e(99108).then(n.t.bind(n,29128,19)),"~blog/default/blog-tags-eightshift-page-2-541-list.json",29128],ee85e3b6:[()=>n.e(73126).then(n.t.bind(n,34360,19)),"~blog/default/blog-tags-eightshift-ee2-list.json",34360],ee924e36:[()=>n.e(45832).then(n.bind(n,60804)),"@site/docs/legacy/v7/basics/helpers-php.md",60804],ef02483f:[()=>n.e(54052).then(n.bind(n,6888)),"@site/docs/legacy/v5/basics/blocks-patterns.md",6888],efbb6268:[()=>n.e(33328).then(n.bind(n,45708)),"@site/blog/2022-01-20-initial-setup.md?truncated=true",45708],f00dda52:[()=>n.e(70680).then(n.bind(n,92844)),"@site/docs/legacy/v7/basics/helpers-javascript.md",92844],f0b5617d:[()=>n.e(66232).then(n.bind(n,50032)),"@site/docs/legacy/v5/basics/blocks-wrapper.md",50032],f0ebaa7e:[()=>n.e(45544).then(n.bind(n,36048)),"@site/docs/migrations/6-7.md",36048],f0f0c9e0:[()=>n.e(82452).then(n.bind(n,89376)),"@site/forms/php/filters/block/step/component-next.md",89376],f162eb70:[()=>n.e(38844).then(n.t.bind(n,89095,19)),"~blog/default/blog-tags-boilerplate-497-list.json",89095],f1a7576f:[()=>n.e(67926).then(n.bind(n,73040)),"@site/forms/features/entries.md",73040],f218f265:[()=>n.e(44556).then(n.bind(n,65096)),"@site/forms/features/migrations.md",65096],f26f0cdb:[()=>n.e(37730).then(n.bind(n,48108)),"@site/docs/legacy/v4/advanced/helpers-shortcode.md",48108],f34f869b:[()=>n.e(3016).then(n.bind(n,5036)),"@site/forms/php/filters/block/form/tracking-additional-data.md",5036],f407a811:[()=>n.e(4808).then(n.bind(n,36476)),"@site/docs/legacy/v7/basics/example-class.md",36476],f4a6cc60:[()=>n.e(18352).then(n.bind(n,94096)),"@site/src/pages/showcase-infinum.js",94096],f5d62c05:[()=>n.e(77040).then(n.bind(n,66700)),"@site/docs/legacy/v6/basics/webpack.md",66700],f6aef24f:[()=>n.e(67960).then(n.t.bind(n,73628,19)),"~blog/default/blog-tags-cpt-860-list.json",73628],f7aec19e:[()=>n.e(18136).then(n.t.bind(n,90672,19)),"~blog/default/blog-tags-terms-b0c.json",90672],f7b99134:[()=>n.e(16816).then(n.t.bind(n,70768,19)),"~blog/default/blog-tags-query-8a9-list.json",70768],f880b41b:[()=>n.e(6816).then(n.bind(n,36172)),"@site/blog/2022-09-07-block-variations.md",36172],f8bbda75:[()=>n.e(6448).then(n.bind(n,19428)),"@site/docs/basics/dynamic-import.md",19428],f8d85197:[()=>n.e(45764).then(n.bind(n,26648)),"@site/docs/legacy/v4/guides/fonts-icon.md",26648],f92290a0:[()=>n.e(66032).then(n.bind(n,56716)),"@site/forms/php/filters/admin/settings-data.md",56716],f92772a6:[()=>n.e(49776).then(n.bind(n,17476)),"@site/docs/legacy/v4/guides/blocks-structure-manifest.md",17476],fae9d50a:[()=>n.e(11804).then(n.bind(n,77268)),"@site/forms/php/global-variables/google-recaptcha.md",77268],fbd7f063:[()=>n.e(22836).then(n.bind(n,29392)),"@site/docs/legacy/v8/basics/helpers-scss.md",29392],fbe6399d:[()=>n.e(25396).then(n.bind(n,39884)),"@site/docs/legacy/v4/guides/menu.md",39884],fbe7d2e8:[()=>n.e(90100).then(n.bind(n,93812)),"@site/docs/legacy/v5/basics/extending-classes.md",93812],fce92293:[()=>n.e(99720).then(n.bind(n,47612)),"@site/docs/legacy/v5/basics/blocks-component-in-block.md",47612],fd21cc65:[()=>n.e(74420).then(n.bind(n,24756)),"@site/docs/legacy/v5/basics/example-class.md",24756],fd4ea388:[()=>n.e(32700).then(n.bind(n,75772)),"@site/docs/legacy/v5/versions.md",75772],fd6d4018:[()=>n.e(17676).then(n.bind(n,6400)),"@site/docs/legacy/v8/basics/tips-tricks.md",6400],fda35176:[()=>n.e(89456).then(n.bind(n,29724)),"@site/forms/php/filters/block/form/pre-response-success-redirect-data.md",29724],fdc13b44:[()=>n.e(37732).then(n.bind(n,79708)),"@site/docs/legacy/v8/basics/autowiring.md",79708],fea00b33:[()=>n.e(39080).then(n.bind(n,52916)),"@site/docs/basics/helpers-scss.md",52916],ff445556:[()=>Promise.all([n.e(12176),n.e(45276),n.e(34048)]).then(n.bind(n,9852)),"@site/forms/php/filters/block/phone/additional-content.mdx",9852]};var i=n(17624);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(78120),d=n(25548);function u(e,t){if("*"===e)return o()({loading:c,loader:()=>n.e(54552).then(n.bind(n,54552)),modules:["@theme/NotFound"],webpack:()=>[54552],render(e,t){const n=e.default;return(0,i.jsx)(d.Y,{value:{plugin:{name:"native",id:"default"}},children:(0,i.jsx)(n,{...t})})}});const s=a[`${e}-${t}`],u={},p=[],f=[],b=(0,l.c)(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.Y,{value:r,children:(0,i.jsx)(a,{...o,...n})})}})}const p=[{path:"/blog",component:u("/blog","2b9"),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","fcd"),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","695"),exact:!0},{path:"/blog/tags/boilerplate",component:u("/blog/tags/boilerplate","f6f"),exact:!0},{path:"/blog/tags/boilerplate/page/2",component:u("/blog/tags/boilerplate/page/2","dad"),exact:!0},{path:"/blog/tags/class",component:u("/blog/tags/class","153"),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","c4e"),exact:!0},{path:"/blog/tags/eightshift/page/2",component:u("/blog/tags/eightshift/page/2","135"),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","783"),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/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/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/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/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:"/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:"/storybook",component:u("/storybook","389"),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","2ba"),routes:[{path:"/forms",component:u("/forms","fa4"),routes:[{path:"/forms",component:u("/forms","8bf"),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/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/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/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/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/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/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("*")}]},30240:(e,t,n)=>{"use strict";n.d(t,{e:()=>a,g:()=>r});var s=n(11504),o=n(17624);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})}},28808:(e,t,n)=>{"use strict";var s=n(11504),o=n(28352),a=n(70440),r=n(32160),i=n(98684);const c=[n(77483),n(1462),n(85396),n(31976),n(89120),n(77020)];var l=n(628),d=n(55592),u=n(85464),p=n(17624);function f(e){let{children:t}=e;return(0,p.jsx)(p.Fragment,{children:t})}var b=n(56952),h=n(28264),m=n(70964),g=n(21824),v=n(85008),y=n(1616),k=n(60204),x=n(14456),w=n(15684),_=n(48712);function j(){const{i18n:{currentLocale:e,defaultLocale:t,localeConfigs:n}}=(0,h.c)(),s=(0,y.D)(),o=n[e].htmlLang,a=e=>e.replace("-","_");return(0,p.jsxs)(b.c,{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.c)(),s=function(){const{siteConfig:{url:e,baseUrl:t,trailingSlash:n}}=(0,h.c)(),{pathname:s}=(0,d.IT)();return e+(0,w.applyTrailingSlash)((0,m.c)(s),{trailingSlash:n,baseUrl:t})}(),o=t?`${n}${t}`:s;return(0,p.jsxs)(b.c,{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.c)(),{metadata:t,image:n}=(0,g.y)();return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsxs)(b.c,{children:[(0,p.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,p.jsx)("body",{className:k.m})]}),n&&(0,p.jsx)(v.U7,{image:n}),(0,p.jsx)(C,{}),(0,p.jsx)(j,{}),(0,p.jsx)(_.c,{tag:x.e6,locale:e}),(0,p.jsx)(b.c,{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.C)(l.c,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(30240),T=n(136),A=n(95288);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,A.c)((()=>{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.C)(l.c,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.c.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.kX,{location:t,render:()=>e})})}}const O=Z,D="__docusaurus-base-url-issue-banner-container",I="__docusaurus-base-url-issue-banner",B="__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="${I}" 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 z(){const{siteConfig:{baseUrl:e}}=(0,h.c)();return(0,p.jsx)(p.Fragment,{children:!i.c.canUseDOM&&(0,p.jsx)(b.c,{children:(0,p.jsx)("script",{children:F(e)})})})}function W(){const{siteConfig:{baseUrl:e,baseUrlIssueBanner:t}}=(0,h.c)(),{pathname:n}=(0,d.IT)();return t&&n===e?(0,p.jsx)(z,{}):null}function H(){const{siteConfig:{favicon:e,title:t,noIndex:n},i18n:{currentLocale:s,localeConfigs:o}}=(0,h.c)(),a=(0,m.c)(e),{htmlLang:r,direction:i}=o[s];return(0,p.jsxs)(b.c,{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(75852),U=n(93664);function V(){const e=(0,U.c)();return(0,p.jsx)(b.c,{children:(0,p.jsx)("html",{"data-has-hydrated":e})})}function q(){const e=(0,u.k)(l.c),t=(0,d.IT)();return(0,p.jsx)($.c,{children:(0,p.jsx)(T.y,{children:(0,p.jsxs)(L.g,{children:[(0,p.jsxs)(f,{children:[(0,p.jsx)(H,{}),(0,p.jsx)(S,{}),(0,p.jsx)(W,{}),(0,p.jsx)(O,{location:E(t),children:e})]}),(0,p.jsx)(V,{})]})})})}var G=n(14504);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 K=n(78120);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.C)(l.c,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,K.c)(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=>!J()&&!X.has(e))(e)&&(X.add(e),N(e))},te=Object.freeze(ee),ne=Boolean(!0);if(i.c.canUseDOM){window.docusaurus=te;const e=document.getElementById("__docusaurus"),t=(0,p.jsx)(r.EN,{children:(0,p.jsx)(a.kn,{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)}},136:(e,t,n)=>{"use strict";n.d(t,{e:()=>u,y:()=>p});var s=n(11504),o=n(97768);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/security","path":"/forms/features/security","sidebar":"forms"},{"id":"features/show-as","path":"/forms/features/show-as","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/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/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/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/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(60144);const c=JSON.parse('{"docusaurusVersion":"3.1.1","siteVersion":"8.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"}}}');var l=n(17624);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})}},75852:(e,t,n)=>{"use strict";n.d(t,{c:()=>f});var s=n(11504),o=n(98684),a=n(56952),r=n(15684),i=n(520),c=n(17624);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.c,{children:(0,c.jsx)("title",{children:"Page Error"})}),(0,c.jsx)(i.c,{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.c.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}}},98684:(e,t,n)=>{"use strict";n.d(t,{c:()=>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}},56952:(e,t,n)=>{"use strict";n.d(t,{c:()=>a});n(11504);var s=n(32160),o=n(17624);function a(e){return(0,o.jsx)(s.So,{...e})}},10867:(e,t,n)=>{"use strict";n.d(t,{c:()=>f});var s=n(11504),o=n(70440),a=n(15684),r=n(28264),i=n(18136),c=n(98684),l=n(5976),d=n(70964),u=n(17624);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.c)(),{withBaseUrl:x}=(0,d.E)(),w=(0,l.c)(),_=(0,s.useRef)(null);(0,s.useImperativeHandle)(t,(()=>_.current));const j=p||f;const C=(0,i.c)(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),T=n?o.Af:o.cH,A=c.c.canUseIntersectionObserver,P=(0,s.useRef)(),R=()=>{L.current||null==M||(window.docusaurus.preload(M),L.current=!0)};(0,s.useEffect)((()=>(!A&&C&&null!=M&&window.docusaurus.prefetch(M),()=>{A&&P.current&&P.current.disconnect()})),[P,M,A,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)(T,{...v,onMouseEnter:R,onTouchStart:R,innerRef:e=>{_.current=e,A&&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)},84357:(e,t,n)=>{"use strict";n.d(t,{c:()=>l,G:()=>c});var s=n(11504),o=n(17624);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(60144);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)})}},52488:(e,t,n)=>{"use strict";n.d(t,{M:()=>s});const s="default"},18136:(e,t,n)=>{"use strict";function s(e){return/^(?:\w*:|\/\/)/.test(e)}function o(e){return void 0!==e&&!s(e)}n.d(t,{_:()=>s,c:()=>o})},70964:(e,t,n)=>{"use strict";n.d(t,{E:()=>r,c:()=>i});var s=n(11504),o=n(28264),a=n(18136);function r(){const{siteConfig:{baseUrl:e,url:t}}=(0,o.c)(),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._)(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)}},5976:(e,t,n)=>{"use strict";n.d(t,{c:()=>r});var s=n(11504);n(17624);const o=s.createContext({collectAnchor:()=>{},collectLink:()=>{}}),a=()=>(0,s.useContext)(o);function r(){return a()}},28264:(e,t,n)=>{"use strict";n.d(t,{c:()=>a});var s=n(11504),o=n(136);function a(){return(0,s.useContext)(o.e)}},93664:(e,t,n)=>{"use strict";n.d(t,{c:()=>a});var s=n(11504),o=n(30240);function a(){return(0,s.useContext)(o.e)}},95288:(e,t,n)=>{"use strict";n.d(t,{c:()=>o});var s=n(11504);const o=n(98684).c.canUseDOM?s.useLayoutEffect:s.useEffect},78120:(e,t,n)=>{"use strict";n.d(t,{c:()=>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}},25548:(e,t,n)=>{"use strict";n.d(t,{Y:()=>r,e:()=>a});var s=n(11504),o=n(17624);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})}},62840:(e,t,n)=>{"use strict";n.d(t,{wB:()=>g,UF:()=>f,mU:()=>b,L0:()=>u,i8:()=>v,OK:()=>p,aA:()=>m,gN:()=>h});var s=n(55592),o=n(28264),a=n(52488);function r(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,o.c)();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.ot)(t,{path:e.path,exact:!1,strict:!1})))}function l(e,t){const n=c(e,t),o=n?.docs.find((e=>!!(0,s.ot)(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.M),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.IT)();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.ot)(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.IT)();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.IT)();return l(t,n)}function v(e){const t=p(e),{pathname:n}=(0,s.IT)();return function(e,t){const n=i(e);return{latestDocSuggestion:l(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},77483:(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")}))}}},31976:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>a});var s=n(22272),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()}}},85396:(e,t,n)=>{"use strict";n.r(t);var s=n(35720),o=n(97768);!function(e){const{themeConfig:{prism:t}}=o.default,{additionalLanguages:s}=t;globalThis.Prism=e,s.forEach((e=>{"php"===e&&n(71808),n(55652)(`./prism-${e}`)})),delete globalThis.Prism}(s.sp)},56448:(e,t,n)=>{"use strict";n.d(t,{c:()=>d});n(11504);var s=n(65456),o=n(84357),a=n(21824),r=n(10867),i=n(5976);const c={anchorWithStickyNavbar:"anchorWithStickyNavbar_LWe7",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_WYt5"};var l=n(17624);function d(e){let{as:t,id:n,...d}=e;const u=(0,i.c)(),{navbar:{hideOnScroll:p}}=(0,a.y)();if("h1"===t||!n)return(0,l.jsx)(t,{...d,id:void 0});u.collectAnchor(n);const f=(0,o.G)({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.c)("anchor",p?c.anchorWithHideOnScrollNavbar:c.anchorWithStickyNavbar,d.className),id:n,children:[d.children,(0,l.jsx)(r.c,{className:"hash-link",to:`#${n}`,"aria-label":f,title:f,children:"\u200b"})]})}},3232:(e,t,n)=>{"use strict";n.d(t,{c:()=>a});n(11504);const s={iconExternalLink:"iconExternalLink_nPIU"};var o=n(17624);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"})})}},520:(e,t,n)=>{"use strict";n.d(t,{c:()=>yt});var s=n(11504),o=n(65456),a=n(75852),r=n(85008),i=n(55592),c=n(84357),l=n(27124),d=n(17624);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.Uz)(),n=(0,s.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(u);t&&p(t)}),[]);return(0,l.c)((n=>{let{location:s}=n;e.current&&!s.hash&&"PUSH"===t&&p(e.current)})),{containerRef:e,onClick:n}}const b=(0,c.G)({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(45864),g=n(60204);const v={skipToContent:"skipToContent_fXgn"};function y(){return(0,d.jsx)(h,{className:v.skipToContent})}var k=n(21824),x=n(43868);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.G)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"}),...e,className:(0,o.c)("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.y)(),{content:n}=t;return(0,d.jsx)("div",{...e,className:(0,o.c)(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.y)(),{isActive:t,close:n}=(0,x.el)();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(18200),T=n(53943);var A=n(91100),P=n(45168);const R=s.createContext(null);function N(e){let{children:t}=e;const n=function(){const e=(0,L.q)(),t=(0,P.MF)(),[n,o]=(0,s.useState)(!1),a=null!==t.component,r=(0,A.i0)(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 A.AH("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,o=(0,s.useCallback)((()=>n(!1)),[n]),a=(0,P.MF)();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.c)("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 I=n(66528),B=n(93664);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 H(e){let{className:t,buttonClassName:n,value:s,onChange:a}=e;const r=(0,B.c)(),i=(0,c.G)({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.G)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,c.G)({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.c)(W.toggle,t),children:(0,d.jsxs)("button",{className:(0,o.c)("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.c)(W.toggleIcon,W.lightToggleIcon)}),(0,d.jsx)(z,{className:(0,o.c)(W.toggleIcon,W.darkToggleIcon)})]})})}const $=s.memo(H),U={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_X3D1"};function V(e){let{className:t}=e;const n=(0,k.y)().navbar.style,s=(0,k.y)().colorMode.disableSwitch,{colorMode:o,setColorMode:a}=(0,I.U)();return s?null:(0,d.jsx)($,{className:t,buttonClassName:"dark"===n?U.darkNavbarColorModeToggle:void 0,value:o,onChange:a})}var q=n(34240);function G(){return(0,d.jsx)(q.c,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function Y(){const e=(0,L.q)();return(0,d.jsx)("button",{type:"button","aria-label":(0,c.G)({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 K(){return(0,d.jsxs)("div",{className:"navbar-sidebar__brand",children:[(0,d.jsx)(G,{}),(0,d.jsx)(V,{className:"margin-right--md"}),(0,d.jsx)(Y,{})]})}var Q=n(10867),X=n(70964),J=n(18136),ee=n(18684),te=n(3232);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.c)(s),p=(0,X.c)(t),f=(0,X.c)(o,{forcePrependBaseUrl:!0}),b=a&&o&&!(0,J.c)(o),h=r?{dangerouslySetInnerHTML:{__html:r}}:{children:(0,d.jsxs)(d.Fragment,{children:[a,b&&(0,d.jsx)(te.c,{...i&&{width:12,height:12}})]})};return o?(0,d.jsx)(Q.c,{href:c?f:o,...l,...h}):(0,d.jsx)(Q.c,{to:u,isNavLink:!0,...(t||n)&&{isActive:(e,t)=>n?(0,ee._)(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.c)(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.c)("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(58448),ie=n(13376),ce=n(28264);const le={dropdownNavbarItemMobile:"dropdownNavbarItemMobile_S0Fm"};function de(e,t){return e.some((e=>function(e,t){return!!(0,ie.Sc)(e.to,t)||!!(0,ee._)(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.c)("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.c)("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)($e,{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.c)(),{pathname:t}=(0,i.IT)();return t.replace(e,"/")}(),u=de(t,l),{collapsed:p,toggleCollapsed:f,setCollapsed:b}=(0,re.a)({initialState:()=>!u});return(0,s.useEffect)((()=>{u&&b(!u)}),[l,u,b]),(0,d.jsxs)("li",{className:(0,o.c)("menu__list-item",{"menu__list-item--collapsed":p}),children:[(0,d.jsx)(ne,{role:"button",className:(0,o.c)(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.U,{lazy:!0,as:"ul",className:"menu__list",collapsed:p,children:t.map(((e,t)=>(0,s.createElement)($e,{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(1616);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(97104);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(45052),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.I,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("kbd",{className:"DocSearch-Button-Key"},u===Ce?s.createElement(ve,null):u),s.createElement("kbd",{className:"DocSearch-Button-Key"},"K"))))})),Me=n(56952),Ee=n(27092),Le=n(39032),Te=n(14456);const Ae={button:{buttonText:(0,c.G)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"}),buttonAriaLabel:(0,c.G)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"})},modal:{searchBox:{resetButtonTitle:(0,c.G)({id:"theme.SearchModal.searchBox.resetButtonTitle",message:"Clear the query",description:"The label and ARIA label for search box reset button"}),resetButtonAriaLabel:(0,c.G)({id:"theme.SearchModal.searchBox.resetButtonTitle",message:"Clear the query",description:"The label and ARIA label for search box reset button"}),cancelButtonText:(0,c.G)({id:"theme.SearchModal.searchBox.cancelButtonText",message:"Cancel",description:"The label and ARIA label for search box cancel button"}),cancelButtonAriaLabel:(0,c.G)({id:"theme.SearchModal.searchBox.cancelButtonText",message:"Cancel",description:"The label and ARIA label for search box cancel button"})},startScreen:{recentSearchesTitle:(0,c.G)({id:"theme.SearchModal.startScreen.recentSearchesTitle",message:"Recent",description:"The title for recent searches"}),noRecentSearchesText:(0,c.G)({id:"theme.SearchModal.startScreen.noRecentSearchesText",message:"No recent searches",description:"The text when no recent searches"}),saveRecentSearchButtonTitle:(0,c.G)({id:"theme.SearchModal.startScreen.saveRecentSearchButtonTitle",message:"Save this search",description:"The label for save recent search button"}),removeRecentSearchButtonTitle:(0,c.G)({id:"theme.SearchModal.startScreen.removeRecentSearchButtonTitle",message:"Remove this search from history",description:"The label for remove recent search button"}),favoriteSearchesTitle:(0,c.G)({id:"theme.SearchModal.startScreen.favoriteSearchesTitle",message:"Favorite",description:"The title for favorite searches"}),removeFavoriteSearchButtonTitle:(0,c.G)({id:"theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle",message:"Remove this search from favorites",description:"The label for remove favorite search button"})},errorScreen:{titleText:(0,c.G)({id:"theme.SearchModal.errorScreen.titleText",message:"Unable to fetch results",description:"The title for error screen of search modal"}),helpText:(0,c.G)({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.G)({id:"theme.SearchModal.footer.selectText",message:"to select",description:"The explanatory text of the action for the enter key"}),selectKeyAriaLabel:(0,c.G)({id:"theme.SearchModal.footer.selectKeyAriaLabel",message:"Enter key",description:"The ARIA label for the Enter key button that makes the selection"}),navigateText:(0,c.G)({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.G)({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.G)({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.G)({id:"theme.SearchModal.footer.closeText",message:"to close",description:"The explanatory text of the action for Escape key"}),closeKeyAriaLabel:(0,c.G)({id:"theme.SearchModal.footer.closeKeyAriaLabel",message:"Escape key",description:"The ARIA label for the Escape key button that close the modal"}),searchByText:(0,c.G)({id:"theme.SearchModal.footer.searchByText",message:"Search by",description:"The text explain that the search is making by Algolia"})},noResultsScreen:{noResultsText:(0,c.G)({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.G)({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.G)({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.G)({id:"theme.SearchModal.noResultsScreen.reportMissingResultsLinkText",message:"Let us know.",description:"The text for the link to report missing results"})}},placeholder:(0,c.G)({id:"theme.SearchModal.placeholder",message:"Search docs",description:"The placeholder of the input of the DocSearch pop-up modal"})};let Pe=null;function Re(e){let{hit:t,children:n}=e;return(0,d.jsx)(Q.c,{to:t.url,children:n})}function Ne(e){let{state:t,onClose:n}=e;const s=(0,Ee.Y)();return(0,d.jsx)(Q.c,{to:s(t.query),onClick:n,children:(0,d.jsx)(c.c,{id:"theme.SearchBar.seeAll",values:{count:t.context.nbHits},children:"See all {count} results"})})}function Ze(e){let{contextualSearch:t,externalUrlRegex:o,...a}=e;const{siteMetadata:r}=(0,ce.c)(),c=(0,Le.Q)(),l=function(){const{locale:e,tags:t}=(0,Te.mY)();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.Uz)(),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)((()=>Pe?Promise.resolve():Promise.all([n.e(32528).then(n.bind(n,32528)),Promise.all([n.e(12176),n.e(81676)]).then(n.bind(n,81676)),Promise.all([n.e(12176),n.e(38879)]).then(n.bind(n,38879))]).then((e=>{let[{DocSearchModal:t}]=e;Pe=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._)(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)(Ne,{...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)(Me.c,{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:Ae.button}),g&&Pe&&h.current&&(0,ge.createPortal)((0,d.jsx)(Pe,{onClose:_,initialScrollY:window.scrollY,initialQuery:y,navigator:C,transformItems:S,hitComponent:Re,transformSearchClient:E,...a.searchPagePath&&{resultsFooterComponent:M},...a,searchParameters:f,placeholder:Ae.placeholder,translations:Ae.modal}),h.current)]})}function Oe(){const{siteConfig:e}=(0,ce.c)();return(0,d.jsx)(Ze,{...e.themeConfig.algolia})}const De={navbarSearchContainer:"navbarSearchContainer_Bca1"};function Ie(e){let{children:t,className:n}=e;return(0,d.jsx)("div",{className:(0,o.c)(n,De.navbarSearchContainer),children:t})}var Be=n(62840),Fe=n(79940);var ze=n(94592);const We=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.c)(),p=(0,be.D)(),{search:f,hash:b}=(0,i.IT)(),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.G)({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)(Oe,{})})},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.c)({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,Be.wB)(s),r=(0,Fe.Qf)(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,Be.wB)(s),r=(0,Fe.Ab)(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,Fe.b7)(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.IT)(),p=(0,Be.wB)(n),f=(0,Be.gN)(n),{savePreferredVersionName:b}=(0,ze.iy)(n),h=[...o,...f.map((e=>{const t=p.alternateDocVersions[e.name]??We(e);return{label:e.label,to:`${t.path}${l}${u}`,isActive:()=>e===p.activeVersion,onClick:()=>b(e.name)}})),...a],m=(0,Fe.b7)(n)[0],g=t&&h.length>1?(0,c.G)({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:We(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 $e(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.q)(),t=(0,k.y)().navbar.items;return(0,d.jsx)("ul",{className:"menu__list",children:t.map(((t,n)=>(0,s.createElement)($e,{mobile:!0,...t,onClick:()=>e.toggle(),key:n})))})}function Ve(e){return(0,d.jsx)("button",{...e,type:"button",className:"clean-btn navbar-sidebar__back",children:(0,d.jsx)(c.c,{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 qe(){const e=0===(0,k.y)().navbar.items.length,t=O();return(0,d.jsxs)(d.Fragment,{children:[!e&&(0,d.jsx)(Ve,{onClick:()=>t.hide()}),t.content]})}function Ge(){const e=(0,L.q)();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)(K,{}),primaryMenu:(0,d.jsx)(Ue,{}),secondaryMenu:(0,d.jsx)(qe,{})}):null}const Ye={navbarHideable:"navbarHideable_m1mJ",navbarHidden:"navbarHidden_jGov"};function Ke(e){return(0,d.jsx)("div",{role:"presentation",...e,className:(0,o.c)("navbar-sidebar__backdrop",e.className)})}function Qe(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:a}}=(0,k.y)(),r=(0,L.q)(),{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,T.SM)(((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.c)((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.G)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,o.c)("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)(Ke,{onClick:r.toggle}),(0,d.jsx)(Ge,{})]})}var Xe=n(15684);const Je={errorBoundaryError:"errorBoundaryError_a6uf",errorBoundaryFallback:"errorBoundaryFallback_VBag"};function et(e){return(0,d.jsx)("button",{type:"button",...e,children:(0,d.jsx)(c.c,{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 tt(e){let{error:t}=e;const n=(0,Xe.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,d.jsx)("p",{className:Je.errorBoundaryError,children:n})}class nt extends s.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}const st="right";function ot(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 at(){const{toggle:e,shown:t}=(0,L.q)();return(0,d.jsx)("button",{onClick:e,"aria-label":(0,c.G)({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)(ot,{})})}const rt={colorModeToggle:"colorModeToggle_DEke"};function it(e){let{items:t}=e;return(0,d.jsx)(d.Fragment,{children:t.map(((e,t)=>(0,d.jsx)(nt,{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)($e,{...e})},t)))})}function ct(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 lt(){const e=(0,L.q)(),t=(0,k.y)().navbar.items,[n,s]=function(e){function t(e){return"left"===(e.position??st)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),o=t.find((e=>"search"===e.type));return(0,d.jsx)(ct,{left:(0,d.jsxs)(d.Fragment,{children:[!e.disabled&&(0,d.jsx)(at,{}),(0,d.jsx)(G,{}),(0,d.jsx)(it,{items:n})]}),right:(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(it,{items:s}),(0,d.jsx)(V,{className:rt.colorModeToggle}),!o&&(0,d.jsx)(Ie,{children:(0,d.jsx)(Oe,{})})]})})}function dt(){return(0,d.jsx)(Qe,{children:(0,d.jsx)(lt,{})})}var ut=n(50236);function pt(){const{footer:e}=(0,k.y)();return(0,d.jsx)(ut.Go,{footer:e})}const ft=s.memo(pt),bt=(0,A.qY)([I.C,x.qu,T.S2,ze.gc,r.w7,function(e){let{children:t}=e;return(0,d.jsx)(P.Ub,{children:(0,d.jsx)(L.y,{children:(0,d.jsx)(N,{children:t})})})}]);function ht(e){let{children:t}=e;return(0,d.jsx)(bt,{children:t})}var mt=n(56448);function gt(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)(mt.c,{as:"h1",className:"hero__title",children:(0,d.jsx)(c.c,{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)(et,{onClick:n,className:"button button--primary shadow--lw"})}),(0,d.jsx)("hr",{}),(0,d.jsx)("div",{className:"margin-vert--md",children:(0,d.jsx)(tt,{error:t})})]})})})}const vt={mainWrapper:"mainWrapper_z2l0"};function yt(e){const{children:t,noFooter:n,wrapperClassName:s,title:i,description:c}=e;return(0,g.W)(),(0,d.jsxs)(ht,{children:[(0,d.jsx)(r.U7,{title:i,description:c}),(0,d.jsx)(y,{}),(0,d.jsx)(E,{}),(0,d.jsx)(dt,{}),(0,d.jsx)("div",{id:u,className:(0,o.c)(m.W.wrapper.main,vt.mainWrapper,s),children:(0,d.jsx)(a.c,{fallback:e=>(0,d.jsx)(gt,{...e}),children:t})}),!n&&(0,d.jsx)(ft,{})]})}},34240:(e,t,n)=>{"use strict";n.d(t,{c:()=>m});var s=n(11504),o=n(10867),a=n(70964),r=n(28264),i=n(21824),c=n(65456),l=n(93664),d=n(66528);const u={themedComponent:"themedComponent_mlkZ","themedComponent--light":"themedComponent--light_NVdE","themedComponent--dark":"themedComponent--dark_xIcU"};var p=n(17624);function f(e){let{className:t,children:n}=e;const o=(0,l.c)(),{colorMode:a}=(0,d.U)();return(0,p.jsx)(p.Fragment,{children:(o?"dark"===a?["dark"]:["light"]:["light","dark"]).map((e=>{const o=n({theme:e,className:(0,c.c)(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.c)(t.src),dark:(0,a.c)(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.c)(),{navbar:{title:n,logo:s}}=(0,i.y)(),{imageClassName:c,titleClassName:l,...d}=e,u=(0,a.c)(s?.href||"/"),f=n?"":t,b=s?.alt??f;return(0,p.jsxs)(o.c,{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})]})}},48712:(e,t,n)=>{"use strict";n.d(t,{c:()=>a});n(11504);var s=n(56952),o=n(17624);function a(e){let{locale:t,version:n,tag:a}=e;const r=t;return(0,o.jsxs)(s.c,{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})]})}},58448:(e,t,n)=>{"use strict";n.d(t,{U:()=>g,a:()=>l});var s=n(11504),o=n(98684),a=n(95288),r=n(13856),i=n(17624);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.I)())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.c.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.c)((()=>{t||r(!0)}),[t]),(0,a.c)((()=>{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})}},43868:(e,t,n)=>{"use strict";n.d(t,{el:()=>h,qu:()=>b});var s=n(11504),o=n(93664),a=n(21148),r=n(91100),i=n(21824),c=n(17624);const l=(0,a.GS)("docusaurus.announcement.dismiss"),d=(0,a.GS)("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.y)(),t=(0,o.c)(),[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.AH("AnnouncementBarProvider");return e}},66528:(e,t,n)=>{"use strict";n.d(t,{C:()=>m,U:()=>g});var s=n(11504),o=n(98684),a=n(91100),r=n(21148),i=n(21824),c=n(17624);const l=s.createContext(void 0),d="theme",u=(0,r.GS)(d),p={light:"light",dark:"dark"},f=e=>e===p.dark?p.dark:p.light,b=e=>o.c.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.y)(),[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.AH("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},94592:(e,t,n)=>{"use strict";n.d(t,{eM:()=>k,gc:()=>g,iy:()=>y});var s=n(11504),o=n(62840),a=n(52488),r=n(21824),i=n(79940),c=n(91100),l=n(21148),d=n(17624);const u=e=>`docs-preferred-version-${e}`,p={save:(e,t,n)=>{(0,l.GS)(u(e),{persistence:t}).set(n)},read:(e,t)=>(0,l.GS)(u(e),{persistence:t}).get(),clear:(e,t)=>{(0,l.GS)(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.L0)(),t=(0,r.y)().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.c1?(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.AH("DocsPreferredVersionContextProvider");return e}function y(e){void 0===e&&(e=a.M);const t=(0,o.OK)(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.L0)(),[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)])))}},46192:(e,t,n)=>{"use strict";n.d(t,{m:()=>l,y:()=>c});var s=n(11504),o=n(91100),a=n(17624);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.AH("DocsSidebarProvider");return e}},69920:(e,t,n)=>{"use strict";n.d(t,{E:()=>c,Q:()=>i});var s=n(11504),o=n(91100),a=n(17624);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.AH("DocsVersionProvider");return e}},18200:(e,t,n)=>{"use strict";n.d(t,{q:()=>f,y:()=>p});var s=n(11504),o=n(45168),a=n(11432),r=n(10632),i=n(21824),c=n(91100),l=n(17624);const d=s.createContext(void 0);function u(){const e=function(){const e=(0,o.MF)(),{items:t}=(0,i.y)().navbar;return 0===t.length&&!e.component}(),t=(0,a.U)(),n=!e&&"mobile"===t,[c,l]=(0,s.useState)(!1);(0,r.a4)((()=>{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.AH("NavbarMobileSidebarProvider");return e}},45168:(e,t,n)=>{"use strict";n.d(t,{MF:()=>c,Mx:()=>l,Ub:()=>i});var s=n(11504),o=n(91100),a=n(17624);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.AH("NavbarSecondaryMenuContentProvider");return e[0]}function l(e){let{component:t,props:n}=e;const a=(0,s.useContext)(r);if(!a)throw new o.AH("NavbarSecondaryMenuContentProvider");const[,i]=a,c=(0,o.Mh)(n);return(0,s.useEffect)((()=>{i({component:t,props:c})}),[i,t,c]),(0,s.useEffect)((()=>()=>i({component:null,props:null})),[i]),null}},60204:(e,t,n)=>{"use strict";n.d(t,{m:()=>o,W:()=>a});var s=n(11504);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)}}),[])}},27092:(e,t,n)=>{"use strict";n.d(t,{Y:()=>c,a:()=>i});var s=n(11504),o=n(28264),a=n(10632);const r="q";function i(){return(0,a.E9)(r)}function c(){const{siteConfig:{baseUrl:e,themeConfig:t}}=(0,o.c)(),{algolia:{searchPagePath:n}}=t;return(0,s.useCallback)((t=>`${e}${n}?${r}=${encodeURIComponent(t)}`),[e,n])}},11432:(e,t,n)=>{"use strict";n.d(t,{U:()=>i});var s=n(11504),o=n(98684);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.c.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}},45864:(e,t,n)=>{"use strict";n.d(t,{W:()=>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:{}}},13856:(e,t,n)=>{"use strict";function s(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{I:()=>s})},79940:(e,t,n)=>{"use strict";n.d(t,{Gw:()=>f,Md:()=>m,c1:()=>p,Uj:()=>j,b7:()=>x,Qf:()=>_,Ab:()=>w,js:()=>k,mg:()=>v});var s=n(11504),o=n(55592),a=n(85464),r=n(62840),i=n(94592),c=n(69920),l=n(46192);function d(e){return Array.from(new Set(e))}var u=n(13376);const p=!!r.L0;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.Sc)(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.Sc)(a.href,n)||e(a.items))||"link"===a.type&&(0,u.Sc)(a.href,n)){return s&&"category"!==a.type||o.unshift(a),!0}return!1}(t),o}function k(){const e=(0,l.m)(),{pathname:t}=(0,o.IT)(),n=(0,r.UF)()?.pluginData.breadcrumbs;return!1!==n&&e?y({sidebarItems:e.items,pathname:t}):null}function x(e){const{activeVersion:t}=(0,r.wB)(e),{preferredVersion:n}=(0,i.iy)(e),o=(0,r.aA)(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.IT)(),s=(0,c.E)(),r=t.routes,i=r.find((e=>(0,o.ot)(n.pathname,e)));if(!i)return null;const l=i.sidebar,d=l?s.docsSidebars[l]:void 0;return{docElement:(0,a.k)(r),sidebarName:l,sidebarItems:d}}},28648:(e,t,n)=>{"use strict";n.d(t,{g:()=>o});var s=n(28264);function o(e){const{siteConfig:t}=(0,s.c)(),{title:n,titleDelimiter:o}=t;return e?.trim().length?`${e.trim()} ${o} ${n}`:n}},10632:(e,t,n)=>{"use strict";n.d(t,{E9:()=>c,a4:()=>r});var s=n(11504),o=n(55592),a=n(91100);function r(e){!function(e){const t=(0,o.Uz)(),n=(0,a.yA)(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.Uz)();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.Uz)();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])]}},85008:(e,t,n)=>{"use strict";n.d(t,{cr:()=>f,U7:()=>u,w7:()=>b});var s=n(11504),o=n(65456),a=n(56952),r=n(25548);function i(){const e=s.useContext(r.e);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var c=n(70964),l=n(28648),d=n(17624);function u(e){let{title:t,description:n,keywords:s,image:o,children:r}=e;const i=(0,l.g)(t),{withBaseUrl:u}=(0,c.E)(),p=o?u(o,{absolute:!0}):void 0;return(0,d.jsxs)(a.c,{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.c)(r,t);return(0,d.jsxs)(p.Provider,{value:i,children:[(0,d.jsx)(a.c,{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.c)(s,a),children:t})}},91100:(e,t,n)=>{"use strict";n.d(t,{AH:()=>c,Mh:()=>l,i0:()=>i,qY:()=>d,yA:()=>r});var s=n(11504),o=n(95288),a=n(17624);function r(e){const t=(0,s.useRef)(e);return(0,o.c)((()=>{t.current=e}),[e]),(0,s.useCallback)((function(){return t.current(...arguments)}),[])}function i(e){const t=(0,s.useRef)();return(0,o.c)((()=>{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)})}}},18684:(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,{_:()=>s})},13376:(e,t,n)=>{"use strict";n.d(t,{Sc:()=>r,Y5:()=>i});var s=n(11504),o=n(628),a=n(28264);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.c)().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.c,baseUrl:e})),[e])}},53943:(e,t,n)=>{"use strict";n.d(t,{S2:()=>l,SM:()=>p,yI:()=>f});var s=n(11504),o=n(98684),a=n(93664),r=(n(95288),n(91100)),i=n(17624);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.AH("ScrollControllerProvider");return e}const u=()=>o.c.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.yA)(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.c)()&&"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?.()}}},14456:(e,t,n)=>{"use strict";n.d(t,{SE:()=>i,e6:()=>r,mY:()=>c});var s=n(62840),o=n(28264),a=n(94592);const r="default";function i(e,t){return`docs-${e}-${t}`}function c(){const{i18n:e}=(0,o.c)(),t=(0,s.L0)(),n=(0,s.mU)(),c=(0,a.eM)();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}}},21148:(e,t,n)=>{"use strict";n.d(t,{GS:()=>c});n(11504);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),()=>{}}}}}},1616:(e,t,n)=>{"use strict";n.d(t,{D:()=>r});var s=n(28264),o=n(55592),a=n(15684);function r(){const{siteConfig:{baseUrl:e,url:t,trailingSlash:n},i18n:{defaultLocale:r,currentLocale:i}}=(0,s.c)(),{pathname:c}=(0,o.IT)(),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}`}}}},27124:(e,t,n)=>{"use strict";n.d(t,{c:()=>r});var s=n(11504),o=n(55592),a=n(91100);function r(e){const t=(0,o.IT)(),n=(0,a.i0)(t),r=(0,a.yA)(e);(0,s.useEffect)((()=>{n&&t!==n&&r({location:t,previousLocation:n})}),[r,t,n])}},21824:(e,t,n)=>{"use strict";n.d(t,{y:()=>o});var s=n(28264);function o(){return(0,s.c)().siteConfig.themeConfig}},48589:(e,t,n)=>{"use strict";n.d(t,{E:()=>o});var s=n(28264);function o(){const{siteConfig:{themeConfig:e}}=(0,s.c)();return e}},39032:(e,t,n)=>{"use strict";n.d(t,{Q:()=>i});var s=n(11504),o=n(18684),a=n(70964),r=n(48589);function i(){const{withBaseUrl:e}=(0,a.E)(),{algolia:{externalUrlRegex:t,replaceSearchResultPathname:n}}=(0,r.E)();return(0,s.useCallback)((s=>{const a=new URL(s);if((0,o._)(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])}},21600:(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)}},64292:(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]}},15684: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(21600);Object.defineProperty(t,"applyTrailingSlash",{enumerable:!0,get:function(){return s(o).default}});var a=n(64292);Object.defineProperty(t,"getErrorCausalChain",{enumerable:!0,get:function(){return a.getErrorCausalChain}})},58064:(e,t,n)=>{"use strict";n.d(t,{iU:()=>k,Yf:()=>S,gh:()=>f,Wi:()=>E,Ep:()=>p});var s=n(45072);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(94812);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.c)({},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.c)(!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.c)(z,e),z.length=n.length,E.notifyListeners(z.location,z.action)}function T(e){(function(e){return void 0===e.state&&-1===navigator.userAgent.indexOf("CriOS")})(e)||R(S(e.state))}function A(){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 I=0;function B(e){1===(I+=e)&&1===e?(window.addEventListener(g,T),a&&window.addEventListener(v,A)):0===I&&(window.removeEventListener(g,T),a&&window.removeEventListener(v,A))}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||(B(1),F=!0),function(){return F&&(F=!1,B(-1)),t()}},listen:function(e){var t=E.appendListener(e);return B(1),function(){B(-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.c)(!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.c)(F,e),F.length=t.length,M.notifyListeners(F.location,F.action)}var L=!1,T=null;function A(){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(T===p(o))return;T=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 I(e){1===(D+=e)&&1===e?window.addEventListener(x,A):0===D&&window.removeEventListener(x,A)}var B=!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){T=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&&(T=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 B||(I(1),B=!0),function(){return B&&(B=!1,I(-1)),t()}},listen:function(e){var t=M.appendListener(e);return I(1),function(){I(-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.c)(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}},84792:(e,t,n)=>{"use strict";var s=n(62168),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}},79328: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}}},59600:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},77020:(e,t,n)=>{"use strict";n.r(t)},1462:(e,t,n)=>{"use strict";n.r(t)},89120:(e,t,n)=>{"use strict";n.r(t)},22272: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)},56872:(e,t,n)=>{var s=n(59600);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)}},87200:()=>{!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)},71808:()=>{!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)},58184:()=>{!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)},55080:()=>{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},55652:(e,t,n)=>{var s={"./prism-css":87200,"./prism-php":58184,"./prism-scss":55080};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=55652},39776:(e,t,n)=>{"use strict";var s=n(69143);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}},3268:(e,t,n)=>{e.exports=n(39776)()},69143:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},79516:(e,t,n)=>{"use strict";var s=n(11504),o=n(14712);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"),T=Symbol.for("react.suspense_list"),A=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 I(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 B=!1;function F(e,t){if(!e||B)return"";B=!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{B=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?I(e):""}function z(e){switch(e.tag){case 5:return I(e.type);case 16:return I("Lazy");case 13:return I("Suspense");case 19:return I("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 T: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 A: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 H(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 $(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function U(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function V(e){e._valueTracker||(e._valueTracker=function(e){var t=U(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=U(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 Y(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 K(e,t){var n=null==t.defaultValue?"":t.defaultValue,s=null!=t.checked?t.checked:t.defaultChecked;n=$(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=$(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,$(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=""+$(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:$(n)}}function ae(e,t){var n=$(t.value),s=$(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 Te=!1;function Ae(e,t,n){if(Te)return e(t,n);Te=!0;try{return Ee(e,t,n)}finally{Te=!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,Ie=!1,Be=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{0!=(4098&(t=e).flags)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function He(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 $e(e){if(We(e)!==e)throw Error(a(188))}function Ue(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 $e(o),e;if(r===s)return $e(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))?Ve(e):null}function Ve(e){if(5===e.tag||6===e.tag)return e;for(e=e.child;null!==e;){var t=Ve(e);if(null!==t)return t;e=e.sibling}return null}var qe=o.unstable_scheduleCallback,Ge=o.unstable_cancelCallback,Ye=o.unstable_shouldYield,Ke=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&&0==(t&o)&&((o=s&-s)>=(a=t&-t)||16===o&&0!=(4194240&a)))return t;if(0!=(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 0==(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?0!=(268435455&e)?16:536870912:4:1}var xt,wt,_t,jt,Ct,St=!1,Mt=[],Et=null,Lt=null,Tt=null,At=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":Tt=null;break;case"pointerover":case"pointerout":At.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=He(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 It(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var n=Yt(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 Bt(e,t,n){It(e)&&n.delete(t)}function Ft(){St=!1,null!==Et&&It(Et)&&(Et=null),null!==Lt&&It(Lt)&&(Lt=null),null!==Tt&&It(Tt)&&(Tt=null),At.forEach(Bt),Pt.forEach(Bt)}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!==Tt&&zt(Tt,e),At.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 Ht=k.ReactCurrentBatchConfig,$t=!0;function Ut(e,t,n,s){var o=yt,a=Ht.transition;Ht.transition=null;try{yt=1,qt(e,t,n,s)}finally{yt=o,Ht.transition=a}}function Vt(e,t,n,s){var o=yt,a=Ht.transition;Ht.transition=null;try{yt=4,qt(e,t,n,s)}finally{yt=o,Ht.transition=a}}function qt(e,t,n,s){if($t){var o=Yt(e,t,n,s);if(null===o)$s(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 Tt=Ot(Tt,e,t,n,s,o),!0;case"pointerover":var a=o.pointerId;return At.set(a,Ot(At.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=Yt(e,t,n,s))&&$s(e,t,s,Gt,n),a===o)break;o=a}null!==o&&s.stopPropagation()}else $s(e,t,s,null,n)}}var Gt=null;function Yt(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=He(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 Kt(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})),Tn=on(D({},ln,{propertyName:0,elapsedTime:0,pseudoElement:0})),An=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(An),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),In=String.fromCharCode(32),Bn=!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 Hn={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 $n(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!Hn[e.type]:"textarea"===t}function Un(e,t,n,s){Se(s),0<(t=Vs(t,"onChange")).length&&(n=new dn("onChange","change",null,n,s),e.push({event:n,listeners:t}))}var Vn=null,qn=null;function Gn(e){Is(e,0)}function Yn(e){if(q(xo(e)))return e}function Kn(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(){Vn&&(Vn.detachEvent("onpropertychange",ns),qn=Vn=null)}function ns(e){if("value"===e.propertyName&&Yn(qn)){var t=[];Un(t,qn,e,xe(e)),Ae(Gn,t)}}function ss(e,t,n){"focusin"===e?(ts(),qn=n,(Vn=t).attachEvent("onpropertychange",ns)):"focusout"===e&&ts()}function os(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return Yn(qn)}function as(e,t){if("click"===e)return Yn(t)}function rs(e,t){if("input"===e||"change"===e)return Yn(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=Vs(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"),Ts=new Map,As="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){Ts.set(e,t),c(t,[e])}for(var Rs=0;Rs<As.length;Rs++){var Ns=As[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,Ie||(Ie=!0,Be=d)}}(s,t,void 0,e),e.currentTarget=null}function Is(e,t){t=0!=(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(Ie)throw e=Be,Ie=!1,Be=null,e}function Bs(e,t){var n=t[mo];void 0===n&&(n=t[mo]=new Set);var s=e+"__bubble";n.has(s)||(Hs(t,e,2,!1),n.add(s))}function Fs(e,t,n){var s=0;t&&(s|=4),Hs(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 Hs(e,t,n,s){switch(Kt(t)){case 1:var o=Ut;break;case 4:o=Vt;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 $s(e,t,n,s,o){var a=s;if(0==(1&t)&&0==(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}Ae((function(){var s=a,o=xe(n),r=[];e:{var i=Ts.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=Tn;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=0!=(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(Us(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(0==(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=Kn;else if($n(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))?Un(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":($n(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=Vs(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:(Bn=!0,In);case"textInput":return(e=t.data)===In&&Bn?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=Vs(s,"onBeforeInput")).length&&(o=new kn("onBeforeInput","beforeinput",null,n,o),r.push({event:o,listeners:s}),o.data=v))}Is(r,t)}))}function Us(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Vs(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(Us(e,a,o)),null!=(a=Pe(e,t))&&s.push(Us(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(Us(n,c,i)):o||null!=(c=Pe(n,a))&&r.push(Us(n,c,i))),n=n.return}0!==r.length&&e.push({event:t,listeners:r})}var Ys=/\r\n?/g,Ks=/\u0000|\uFFFD/g;function Qs(e){return("string"==typeof e?e:""+e).replace(Ys,"\n").replace(Ks,"")}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),To=Co(!1),Ao=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(To),So(Lo)}function Zo(e,t,n){if(Lo.current!==Eo)throw Error(a(168));Mo(Lo,t),Mo(To,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,H(e)||"Unknown",o));return D({},n,s)}function Do(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Eo,Ao=Lo.current,Mo(Lo,e),Mo(To,To.current),!0}function Io(e,t,n){var s=e.stateNode;if(!s)throw Error(a(169));n?(e=Oo(e,t,Ao),s.__reactInternalMemoizedMergedChildContext=e,So(To),So(Lo),Mo(Lo,e)):So(To),Mo(To,n)}var Bo=null,Fo=!1,zo=!1;function Wo(e){null===Bo?Bo=[e]:Bo.push(e)}function Ho(){if(!zo&&null!==Bo){zo=!0;var e=0,t=yt;try{var n=Bo;for(yt=1;e<n.length;e++){var s=n[e];do{s=s(!0)}while(null!==s)}Bo=null,Fo=!1}catch(o){throw null!==Bo&&(Bo=Bo.slice(e+1)),qe(Je,Ho),o}finally{yt=t,zo=!1}}return null}var $o=[],Uo=0,Vo=null,qo=0,Go=[],Yo=0,Ko=null,Qo=1,Xo="";function Jo(e,t){$o[Uo++]=qo,$o[Uo++]=Vo,Vo=e,qo=t}function ea(e,t,n){Go[Yo++]=Qo,Go[Yo++]=Xo,Go[Yo++]=Ko,Ko=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===Vo;)Vo=$o[--Uo],$o[Uo]=null,qo=$o[--Uo],$o[Uo]=null;for(;e===Ko;)Ko=Go[--Yo],Go[Yo]=null,Xo=Go[--Yo],Go[Yo]=null,Qo=Go[--Yo],Go[Yo]=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!==Ko?{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 0!=(1&e.mode)&&0==(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&&(0!=(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,Ta(e,s)}function Ta(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 Aa=!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,0!=(2&Lc)){var o=s.pending;return null===o?t.next=t:(t.next=o.next,o.next=t),s.pending=t,Ta(e,n)}return null===(o=s.interleaved)?(t.next=t,Ea(s)):(t.next=o.next,o.next=t),s.interleaved=t,Ta(e,n)}function Oa(e,t,n){if(null!==(t=t.updateQueue)&&(t=t.shared,0!=(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 Ia(e,t,n,s){var o=e.updateQueue;Aa=!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:Aa=!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 Ba(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 Ha(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 $a(e,t,n){var s=!1,o=Eo,a=t.contextType;return"object"==typeof a&&null!==a?a=Sa(a):(o=Ro(t)?Ao: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 Ua(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 Va(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)?Ao: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),Ia(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 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=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=Il(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=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=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=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=Il(""+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=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=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&&Ya(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=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);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=Il(r,s.mode,c)).return=s,s=a),i(s)):n(s,a)}}var Qa=Ka(!0),Xa=Ka(!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(0!=(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 Tr(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 Ar(){}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,$r(Zr.bind(null,n,s,e),[e]),s.getSnapshot!==t||r||null!==gr&&1&gr.memoizedState.tag){if(n.flags|=2048,Br(9,Nr.bind(null,n,s,o,t),void 0,null),null===Tc)throw Error(a(349));0!=(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=Ta(e,1);null!==t&&sl(t,e,1,-1)}function Ir(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 Br(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=Br(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=Br(t,n,a,s))}hr.flags|=e,o.memoizedState=Br(1|t,n,a,s)}function Hr(e,t){return zr(8390656,8,e,t)}function $r(e,t){return Wr(2048,8,e,t)}function Ur(e,t){return Wr(4,2,e,t)}function Vr(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 Yr(){}function Kr(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 0==(21&br)?(e.baseState&&(e.baseState=!1,ki=!0),e.memoizedState=n):(is(n,t)||(n=ht(),hr.lanes|=n,Dc|=n,e.baseState=!0),t)}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(0!=(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:Hr,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:Ir,useDebugValue:Yr,useDeferredValue:function(e){return Sr().memoizedState=e},useTransition:function(){var e=Ir(!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===Tc)throw Error(a(349));0!=(30&br)||Rr(s,t,n)}o.memoizedState=n;var r={value:n,getSnapshot:t};return o.queue=r,Hr(Zr.bind(null,s,r,e),[e]),s.flags|=2048,Br(9,Nr.bind(null,s,r,n,t),void 0,null),n},useId:function(){var e=Sr(),t=Tc.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:Kr,useContext:Sa,useEffect:$r,useImperativeHandle:Gr,useInsertionEffect:Ur,useLayoutEffect:Vr,useMemo:Qr,useReducer:Lr,useRef:Fr,useState:function(){return Lr(Er)},useDebugValue:Yr,useDeferredValue:function(e){return Xr(Mr(),mr.memoizedState,e)},useTransition:function(){return[Lr(Er)[0],Mr().memoizedState]},useMutableSource:Ar,useSyncExternalStore:Pr,useId:ei,unstable_isNewReconciler:!1},li={readContext:Sa,useCallback:Kr,useContext:Sa,useEffect:$r,useImperativeHandle:Gr,useInsertionEffect:Ur,useLayoutEffect:Vr,useMemo:Qr,useReducer:Tr,useRef:Fr,useState:function(){return Tr(Er)},useDebugValue:Yr,useDeferredValue:function(e){var t=Mr();return null===mr?t.memoizedState=e:Xr(t,mr.memoizedState,e)},useTransition:function(){return[Tr(Er)[0],Mr().memoizedState]},useMutableSource:Ar,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(){Uc||(Uc=!0,Vc=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 0==(1&e.mode)?(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):(e.flags|=65536,e.lanes=o,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,Ui(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,0==(e.lanes&o)){var r=a.memoizedProps;if((n=null!==(n=n.compare)?n:cs)(r,s)&&e.ref===t.ref)return Ui(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,0==(e.lanes&o))return t.lanes=e.lanes,Ui(e,t,o);0!=(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(0==(1&t.mode))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},Mo(Nc,Rc),Rc|=n;else{if(0==(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 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)?Ao: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,Ui(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)$i(e,t),$a(t,n,s),Va(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)?Ao: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)&&Ua(t,r,s,l),Aa=!1;var p=t.memoizedState;r.state=p,Ia(t,s,r,o),c=t.memoizedState,i!==s||p!==c||To.current||Aa?("function"==typeof d&&(za(t,n,d,s),c=t.memoizedState),(i=Aa||Ha(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)?Ao: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)&&Ua(t,r,s,c),Aa=!1,p=t.memoizedState,r.state=p,Ia(t,s,r,o);var b=t.memoizedState;i!==u||p!==b||To.current||Aa?("function"==typeof f&&(za(t,n,f,s),b=t.memoizedState),(l=Aa||Ha(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=0!=(128&t.flags);if(!s&&!r)return o&&Io(t,n,!1),Ui(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&&Io(t,n,!0),t.child}function Ti(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 Ai(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 Ii(e,t,n){var s,o=t.pendingProps,r=cr.current,i=!1,c=0!=(128&t.flags);if((s=c)||(s=(null===e||null!==e.memoizedState)&&0!=(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)?(0==(1&t.mode)?t.lanes=1:"$!"===e.data?t.lanes=8:t.lanes=1073741824,null):(c=o.children,e=o.fallback,i?(o=t.mode,i=t.child,c={mode:"hidden",children:c},0==(1&o)&&null!==i?(i.childLanes=0,i.pendingProps=c):i=Dl(c,o,0,null),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):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,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,0!=(1&t.mode)&&Qa(t,e.child,null,i),t.child.memoizedState=Di(i),t.memoizedState=Oi,r);if(0==(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=0!=(i&e.childLanes),ki||c){if(null!==(s=Tc)){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=0!=(o&(s.suspendedLanes|i))?0:o)&&o!==r.retryLane&&(r.retryLane=o,Ta(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[Yo++]=Qo,Go[Yo++]=Xo,Go[Yo++]=Ko,Qo=e.id,Xo=e.overflow,Ko=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 0==(1&c)&&t.child!==r?((o=t.child).childLanes=0,o.pendingProps=l,t.deletions=null):(o=Nl(r,l)).subtreeFlags=14680064&r.subtreeFlags,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}),0==(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=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=Bi(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 Hi(e,t,n){var s=t.pendingProps,o=s.revealOrder,a=s.tail;if(xi(e,t,s.children,n),0!=(2&(s=cr.current)))s=1&s|2,t.flags|=128;else{if(null!==e&&0!=(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),0==(1&t.mode))t.memoizedState=null;else 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}return t.child}function $i(e,t){0==(1&t.mode)&&null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2)}function Ui(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),Dc|=t.lanes,0==(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 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 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(To),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&&0==(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=0!=(1&t.mode),n){case"dialog":Bs("cancel",s),Bs("close",s);break;case"iframe":case"object":case"embed":Bs("load",s);break;case"video":case"audio":for(o=0;o<Zs.length;o++)Bs(Zs[o],s);break;case"source":Bs("error",s);break;case"img":case"image":case"link":Bs("error",s),Bs("load",s);break;case"details":Bs("toggle",s);break;case"input":K(s,r),Bs("invalid",s);break;case"select":s._wrapperState={wasMultiple:!!r.multiple},Bs("invalid",s);break;case"textarea":oe(s,r),Bs("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&&Bs("scroll",s)}switch(n){case"input":V(s),J(s,r,!0);break;case"textarea":V(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":Bs("cancel",e),Bs("close",e),o=s;break;case"iframe":case"object":case"embed":Bs("load",e),o=s;break;case"video":case"audio":for(o=0;o<Zs.length;o++)Bs(Zs[o],e);o=s;break;case"source":Bs("error",e),o=s;break;case"img":case"image":case"link":Bs("error",e),Bs("load",e),o=s;break;case"details":Bs("toggle",e),o=s;break;case"input":K(e,s),o=Y(e,s),Bs("invalid",e);break;case"option":default:o=s;break;case"select":e._wrapperState={wasMultiple:!!s.multiple},o=D({},s,{value:void 0}),Bs("invalid",e);break;case"textarea":oe(e,s),o=se(e,s),Bs("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&&Bs("scroll",e):null!=d&&y(e,r,d,c))}switch(n){case"input":V(e),J(e,s,!1);break;case"textarea":V(e),re(e);break;case"option":null!=s.value&&e.setAttribute("value",""+$(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,0!=(1&e.mode));break;case 5:!0!==e.memoizedProps.suppressHydrationWarning&&Xs(s.nodeValue,n,0!=(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&&0!=(1&t.mode)&&0==(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(),0==(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 0!=(128&t.flags)?(t.lanes=n,t):((s=null!==s)!==(null!==e&&null!==e.memoizedState)&&s&&(t.child.flags|=8192,0!=(1&t.mode)&&(null===e||0!=(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=0!=(128&t.flags),null===(c=r.rendering))if(s)Vi(r,!1);else{if(0!==Zc||null!==e&&0!=(128&e.flags))for(e=t.child;null!==e;){if(null!==(c=lr(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(cr,1&cr.current|2),t.child}e=e.sibling}null!==r.tail&&Qe()>Hc&&(t.flags|=128,s=!0,Vi(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),Vi(r,!0),null===r.tail&&"hidden"===r.tailMode&&!c.alternate&&!aa)return qi(t),null}else 2*Qe()-r.renderingStartTime>Hc&&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=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&&0!=(1&t.mode)?0!=(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 Yi(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(To),So(Lo),ur(),0!=(65536&(e=t.flags))&&0==(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=Y(e,o),s=Y(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&&Bs("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 Ki=!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&&(0!=(2&a)||0!=(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&&0!=(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=0!=(1&e.mode);null!==Ji;){var o=Ji,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||Qi;i=Ki;var l=Qi;if(Ki=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,Ki=i,Qi=l}xc(e)}else 0!=(8772&o.subtreeFlags)&&null!==a?(a.return=o,Ji=a):xc(e)}}function xc(e){for(;null!==Ji;){var t=Ji;if(0!=(8772&t.flags)){var n=t.alternate;try{if(0!=(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&&Ba(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}Ba(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,Tc=null,Ac=null,Pc=0,Rc=0,Nc=Co(0),Zc=0,Oc=null,Dc=0,Ic=0,Bc=0,Fc=null,zc=null,Wc=0,Hc=1/0,$c=null,Uc=!1,Vc=null,qc=null,Gc=!1,Yc=null,Kc=0,Qc=0,Xc=null,Jc=-1,el=0;function tl(){return 0!=(6&Lc)?Qe():-1!==Jc?Jc:Jc=Qe()}function nl(e){return 0==(1&e.mode)?1:0!=(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:Kt(e.type)}function sl(e,t,n,s){if(50<Qc)throw Qc=0,Xc=null,Error(a(185));gt(e,n,s),0!=(2&Lc)&&e===Tc||(e===Tc&&(0==(2&Lc)&&(Ic|=n),4===Zc&&cl(e,Pc)),ol(e,s),1===n&&0===Lc&&0==(1&t.mode)&&(Hc=Qe()+500,Fo&&Ho()))}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?0!=(i&n)&&0==(i&s)||(o[r]=ft(i,t)):c<=t&&(e.expiredLanes|=i),a&=~i}}(e,t);var s=pt(e,e===Tc?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(){0==(6&Lc)&&Ho()})),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=Tl(n,al.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function al(e,t){if(Jc=-1,el=0,0!=(6&Lc))throw Error(a(327));var n=e.callbackNode;if(_l()&&e.callbackNode!==n)return null;var s=pt(e,e===Tc?Pc:0);if(0===s)return null;if(0!=(30&s)||0!=(s&e.expiredLanes)||t)t=gl(e,s);else{t=s;var o=Lc;Lc|=2;var r=hl();for(Tc===e&&Pc===t||($c=null,Hc=Qe()+500,fl(e,t));;)try{yl();break}catch(c){bl(e,c)}wa(),Sc.current=r,Lc=o,null!==Ac?t=0:(Tc=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,0==(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)&&(2===(t=gl(e,s))&&(0!==(r=bt(e))&&(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,$c);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,$c),t);break}wl(e,zc,$c);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,$c),s);break}wl(e,zc,$c);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&=~Bc,t&=~Ic,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(0!=(6&Lc))throw Error(a(327));_l();var t=pt(e,0);if(0==(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,$c),ol(e,Qe()),null}function dl(e,t){var n=Lc;Lc|=1;try{return e(t)}finally{0===(Lc=n)&&(Hc=Qe()+500,Fo&&Ho())}}function ul(e){null!==Yc&&0===Yc.tag&&0==(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,0==(6&(Lc=t))&&Ho()}}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!==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:ar(),So(To),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(Tc=e,Ac=e=Nl(e.current,null),Pc=Rc=t,Zc=0,Oc=null,Bc=Ic=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=Ac;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,Ac=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(0==(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(0==(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){0==(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(0==(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,Ac===n&&null!==n&&(Ac=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===Tc||0==(268435455&Dc)&&0==(268435455&Ic)||cl(Tc,Pc)}function gl(e,t){var n=Lc;Lc|=2;var s=hl();for(Tc===e&&Pc===t||($c=null,fl(e,t));;)try{vl();break}catch(o){bl(e,o)}if(wa(),Lc=n,Sc.current=s,null!==Ac)throw Error(a(261));return Tc=null,Pc=0,Zc}function vl(){for(;null!==Ac;)kl(Ac)}function yl(){for(;null!==Ac&&!Ye();)kl(Ac)}function kl(e){var t=jc(e.alternate,e,Rc);e.memoizedProps=e.pendingProps,null===t?xl(e):Ac=t,Mc.current=null}function xl(e){var t=e;do{var n=t.alternate;if(e=t.return,0==(32768&t.flags)){if(null!==(n=Gi(n,t,Rc)))return void(Ac=n)}else{if(null!==(n=Yi(n,t)))return n.flags&=32767,void(Ac=n);if(null===e)return Zc=6,void(Ac=null);e.flags|=32768,e.subtreeFlags=0,e.deletions=null}if(null!==(t=t.sibling))return void(Ac=t);Ac=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!==Yc);if(0!=(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===Tc&&(Ac=Tc=null,Pc=0),0==(2064&n.subtreeFlags)&&0==(2064&n.flags)||Gc||(Gc=!0,Tl(tt,(function(){return _l(),null}))),r=0!=(15990&n.flags),0!=(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=$t,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},$t=!1,Ji=t;null!==Ji;)if(e=(t=Ji).child,0!=(1028&t.subtreeFlags)&&null!==e)e.return=t,Ji=e;else for(;null!==Ji;){t=Ji;try{var h=t.alternate;if(0!=(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),$t=!!eo,to=eo=null,e.current=n,yc(n,e,o),Ke(),Lc=c,yt=i,Ec.transition=r}else e.current=n;if(Gc&&(Gc=!1,Yc=e,Kc=o),r=e.pendingLanes,0===r&&(qc=null),function(e){if(at&&"function"==typeof at.onCommitFiberRoot)try{at.onCommitFiberRoot(ot,e,void 0,128==(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(Uc)throw Uc=!1,e=Vc,Vc=null,e;0!=(1&Kc)&&0!==e.tag&&_l(),r=e.pendingLanes,0!=(1&r)?e===Xc?Qc++:(Qc=0,Xc=e):Qc=0,Ho()}(e,t,n,s)}finally{Ec.transition=o,yt=s}return null}function _l(){if(null!==Yc){var e=kt(Kc),t=Ec.transition,n=yt;try{if(Ec.transition=null,yt=16>e?16:e,null===Yc)var s=!1;else{if(e=Yc,Yc=null,Kc=0,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(0!=(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(0!=(2064&r.subtreeFlags)&&null!==i)i.return=r,Ji=i;else e:for(;null!==Ji;){if(0!=(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(0!=(2064&i.subtreeFlags)&&null!==k)k.return=i,Ji=k;else e:for(i=y;null!==Ji;){if(0!=(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,Ho(),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,Tc===e&&(Pc&n)===n&&(4===Zc||3===Zc&&(130023424&Pc)===Pc&&500>Qe()-Wc?fl(e,0):Bc|=n),ol(e,t)}function Ml(e,t){0===t&&(0==(1&e.mode)?t=1:(t=dt,0==(130023424&(dt<<=1))&&(dt=4194304)));var n=tl();null!==(e=Ta(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 Tl(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 Pl(e,t,n,s){return new Al(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 T:return(e=Pl(19,n,t,o)).elementType=T,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 A: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 Il(e,t,n){return(e=Pl(6,e,null,t)).lanes=n,e}function Bl(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 Hl(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 $l(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 Ul(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 ql(e,t){Vl(e,t),(e=e.alternate)&&Vl(e,t)}jc=function(e,t,n){if(null!==e)if(e.memoizedProps!==t.pendingProps||To.current)ki=!0;else{if(0==(e.lanes&n)&&0==(128&t.flags))return ki=!1,function(e,t,n){switch(t.tag){case 3:Ti(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):0!=(n&t.child.childLanes)?Ii(e,t,n):(Mo(cr,1&cr.current),null!==(e=Ui(e,t,n))?e.sibling:null);Mo(cr,1&cr.current);break;case 19:if(s=0!=(n&t.childLanes),0!=(128&e.flags)){if(s)return Hi(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 Ui(e,t,n)}(e,t,n);ki=0!=(131072&e.flags)}else ki=!1,aa&&0!=(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);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,Va(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($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 Rl(e)?1:0;if(null!=e){if((e=e.$$typeof)===E)return 11;if(e===A)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(Ti(t),null===e)throw Error(a(387));s=t.pendingProps,o=(r=t.memoizedState).element,Ra(e,t),Ia(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=di(Error(a(423)),t));break e}if(s!==o){t=Ai(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=Ui(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 Ii(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&&!To.current){t=Ui(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),$i(e,t),t.tag=1,Ro(s)?(e=!0,Do(t)):e=!1,Ca(t,n),$a(t,s,o),Va(t,s,o,n),Li(null,t,s,!0,e,n);case 19:return Hi(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 Yl(e){this._internalRoot=e}function Kl(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=Ul(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=Ul(r);a.call(e)}}var r=Hl(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=Ul(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(){$l(t,c,n,s)})),c}(n,t,e,o,s);return Ul(r)}Kl.prototype.render=Yl.prototype.render=function(e){var t=this._internalRoot;if(null===t)throw Error(a(409));$l(e,t,null,null)},Kl.prototype.unmount=Yl.prototype.unmount=function(){var e=this._internalRoot;if(null!==e){this._internalRoot=null;var t=e.containerInfo;ul((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),ol(t,Qe()),0==(6&Lc)&&(Hc=Qe()+500,Ho()))}break;case 13:ul((function(){var t=Ta(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=Ta(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=Ta(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=Ue(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 Yl(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=Ue(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=Hl(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(!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"},28352:(e,t,n)=>{"use strict";var s=n(97104);t.createRoot=s.createRoot,t.hydrateRoot=s.hydrateRoot},97104:(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(79516)},20448: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}}},32160:(e,t,n)=>{"use strict";n.d(t,{EN:()=>U,So:()=>J});var s=n(11504),o=n(3268),a=n.n(o),r=n(20448),i=n.n(r),c=n(79328),l=n.n(c),d=n(21072),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},T=function(e){return Array.isArray(e)?e.join(""):e},A=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)}))},I=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=T(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)}}}},B=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=A(e.metaTags,y),a=A(t,g),r=A(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 I(m.META,o.priority,s)+" "+I(m.LINK,a.priority,s)+" "+I(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:I(m.BASE,t,s),bodyAttributes:I("bodyAttributes",n,s),htmlAttributes:I("htmlAttributes",o,s),link:I(m.LINK,d,s),meta:I(m.META,u,s),noscript:I(m.NOSCRIPT,a,s),script:I(m.SCRIPT,p,s),style:I(m.STYLE,r,s),title:I(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=B({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}}))},W=s.createContext({}),H=a().shape({setHelmet:a().func,helmetInstances:a().shape({get:a().func,add:a().func,remove:a().func})}),$="undefined"!=typeof document,U=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);U.canUseDOM=$,U.propTypes={context:a().shape({helmet:a().shape()}),children:a().node.isRequired},U.defaultProps={context:{}},U.displayName="HelmetProvider";var V=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=T(e)),q(m.TITLE,t)}(d,u);var p={baseTag:V(m.BASE,n),linkTags:V(m.LINK,o),metaTags:V(m.META,a),noscriptTags:V(m.NOSCRIPT,r),scriptTags:V(m.SCRIPT,c),styleTags:V(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)},Y=null,K=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")});U.canUseDOM?(t=a,Y&&cancelAnimationFrame(Y),t.defer?Y=requestAnimationFrame((function(){G(t,(function(){Y=null}))})):(G(t),Y=null)):B&&(o=B(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);K.propTypes={context:H.isRequired},K.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(K,p({},o,{context:a.value,helmetData:void 0})):s.createElement(W.Consumer,null,(function(e){return s.createElement(K,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"},59764:(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},62168:(e,t,n)=>{"use strict";e.exports=n(59764)},98852:(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(11504),c=n(3268),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},85464:(e,t,n)=>{"use strict";n.d(t,{C:()=>r,k:()=>i});var s=n(55592),o=n(45072),a=n(11504);function r(e,t,n){return void 0===n&&(n=[]),e.some((function(e){var o=e.path?(0,s.ot)(t,e):n.length?n[n.length-1].match:s.E5.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.Wk,n,e.map((function(e,n){return a.createElement(s.kX,{key:e.key||n,path:e.path,exact:e.exact,strict:e.strict,render:function(n){return e.render?e.render((0,o.c)({},n,{},t,{route:e})):a.createElement(e.component,(0,o.c)({},n,t,{route:e}))}})}))):null}},70440:(e,t,n)=>{"use strict";n.d(t,{Af:()=>y,cH:()=>m,kn:()=>d});var s=n(55592),o=n(28992),a=n(11504),r=n(58064),i=n(45072),c=n(95656),l=n(94812),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.iU)(t.props),t}return(0,o.c)(t,e),t.prototype.render=function(){return a.createElement(s.E5,{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.gh)(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.c)(e,["innerRef","navigate","onClick"]),l=r.target,d=(0,i.c)({},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.c)(e,["component","replace","to","innerRef"]);return a.createElement(s.Os.Consumer,null,(function(e){e||(0,l.c)(!1);var n=e.history,s=p(u(m,e.location),e.location),c=s?n.createHref(s):"",h=(0,i.c)({},v,{href:c,navigate:function(){var t=u(m,e.location),s=(0,r.Ep)(e.location)===(0,r.Ep)(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.c)(e,["aria-current","activeClassName","activeStyle","className","exact","isActive","location","sensitive","strict","style","to","innerRef"]);return a.createElement(s.Os.Consumer,null,(function(e){e||(0,l.c)(!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.ot)(n.pathname,{path:M,exact:h,sensitive:x,strict:w}):null,L=!!(y?y(E,n):E),T="function"==typeof b?b(L):b,A="function"==typeof _?_(L):_;L&&(T=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(" ")}(T,d),A=(0,i.c)({},A,f));var P=(0,i.c)({"aria-current":L&&o||null,className:T,style:A,to:r},S);return g!==v?P.ref=t||C:P.innerRef=C,a.createElement(m,P)}))}))},55592:(e,t,n)=>{"use strict";n.d(t,{E5:()=>y,IT:()=>R,Os:()=>v,Uz:()=>P,Wk:()=>T,kX:()=>j,ot:()=>_});var s=n(28992),o=n(11504),a=n(3268),r=n.n(a),i=n(58064),c=n(94812),l=n(45072),d=n(56872),u=n.n(d),p=(n(62168),n(95656)),f=(n(84792),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.c)(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!=((0|e.observedBits)&n)&&e.setState({value:e.getValue()})},e}(0,s.c)(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.c)(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.c)(t,e),t.prototype.render=function(){var e=this;return o.createElement(v.Consumer,null,(function(t){t||(0,c.c)(!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.c)({},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.c)({},t,{pathname:t.pathname.substr(n.length)})}function M(e){return"string"==typeof e?e:(0,i.Ep)(e)}function E(e){return function(){(0,c.c)(!1)}}function L(){}o.Component;var T=function(e){function t(){return e.apply(this,arguments)||this}return(0,s.c)(t,e),t.prototype.render=function(){var e=this;return o.createElement(v.Consumer,null,(function(t){t||(0,c.c)(!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.c)({},e.props,{path:r})):t.match}})),s?o.cloneElement(n,{location:a,computedMatch:s}):null}))},t}(o.Component);var A=o.useContext;function P(){return A(g)}function R(){return A(v).location}},44808:(e,t,n)=>{"use strict";var s=n(11504),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},73028:(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 T(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 A(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:T,forEach:function(e,t,n){T(e,(function(){t.apply(this,arguments)}),n)},count:function(e){var t=0;return T(e,(function(){t++})),t},toArray:function(e){return T(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:A}},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"},11504:(e,t,n)=>{"use strict";e.exports=n(73028)},17624:(e,t,n)=>{"use strict";e.exports=n(44808)},58328:(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 T(){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(T)};else if("undefined"!=typeof MessageChannel){var A=new MessageChannel,P=A.port2;A.port1.onmessage=T,_=function(){P.postMessage(null)}}else _=function(){g(T,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}}}},14712:(e,t,n)=>{"use strict";e.exports=n(58328)},21072: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}},97768:(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:"/storybook/",activeBasePath:"storybook",label:"Storybook",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"}]],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}}}},45072:(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,{c:()=>s})},28992:(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,{c:()=>o})},95656:(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,{c:()=>s})},50236:(e,t,n)=>{"use strict";n.d(t,{Ax:()=>w,Go:()=>x,Ok:()=>b,Pt:()=>d,SO:()=>m,W4:()=>j,YR:()=>u,Yv:()=>v,cz:()=>g,ei:()=>C,kl:()=>S,of:()=>_});var s,o=n(11504),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,T,A,P,R,N,Z=Object.assign,O=0;function D(){}D.__reactDisabledLog=!0;var I,B=v.ReactCurrentDispatcher;function F(e,t,n){if(void 0===I)try{throw Error()}catch(o){var s=o.stack.trim().match(/\n( *(at )?)/);I=s&&s[1]||""}return"\n"+I+e}var z,W=!1,H="function"==typeof WeakMap?WeakMap:Map;function $(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=B.current,B.current=null,function(){if(0===O){E=console.log,L=console.info,T=console.warn,A=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,B.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:T}),error:Z({},e,{value:A}),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 U(e,t,n){if(null==e)return"";if("function"==typeof e)return $(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 $(e,!1)}(e.render);case f:return U(e.type,t,n);case b:var s=e,o=s._payload,a=s._init;try{return U(a(o),t,n)}catch{}}return""}z=new H;var V=Object.prototype.hasOwnProperty,q={},G=v.ReactDebugCurrentFrame;function Y(e){if(e){var t=e._owner,n=U(e.type,e._source,t?t.type:null);G.setExtraStackFrame(n)}else G.setExtraStackFrame(null)}var K=Array.isArray;function Q(e){return K(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(V.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(V.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)V.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=U(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(V);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)&&(Y(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),Y(null)),i instanceof Error&&!(i.message in q)&&(q[i.message]=!0,Y(o),y("Failed %s type: %s",n,i.message),Y(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 T=re(e,n,o,m,g);if(null==T)return T;if(v){var A=n.children;if(void 0!==A)if(c)if(Q(A)){for(var P=0;P<A.length;P++)he(A[P],e);Object.freeze&&Object.freeze(A)}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(A,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))}(T):me(T),T}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})}},65456:(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,{c:()=>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}},35720:(e,t,n)=>{"use strict";n.d(t,{gl:()=>ee,sp:()=>M});var s,o,a,r,i,c,l,d=n(11504),u=n(65456),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 T=w;T!==t.tail&&(L<E||"string"==typeof T.value);T=T.next)S++,L+=T.value.length;S--,j=e.slice(_,L),C.index-=_}else if(!(C=a(x,0,j,g)))continue;M=C.index;var A=C[0],P=j.slice(0,M),R=j.slice(M+A.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(A,m):A,y,A)),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:()=>T,github:()=>A,jettwaveDark:()=>$,jettwaveLight:()=>U,nightOwl:()=>P,nightOwlLight:()=>R,oceanicNext:()=>O,okaidia:()=>D,oneDark:()=>V,oneLight:()=>q,palenight:()=>I,shadesOfPurple:()=>B,synthwave84:()=>F,ultramin:()=>z,vsDark:()=>W,vsLight:()=>H});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"}}]},T={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"}}]},A={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"}}]},I={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)"}}]},B={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)"}}]},H={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)"}}]},$={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"}}]},U={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"}}]},V={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},Y=/\r\n|\r|\n/,K=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(Y),p=u.length;i.push({types:l,content:u[0]});for(let t=1;t<p;t++)K(i),c.push(i=[]),i.push({types:l,content:u[t]})}r--,t.pop(),n.pop(),s.pop(),o.pop()}return K(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.c)("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.c)("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}))},94812:(e,t,n)=>{"use strict";n.d(t,{c:()=>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)}}},60144:e=>{"use strict";e.exports={}},14504:e=>{"use strict";e.exports=JSON.parse('{"/blog-2b9":{"__comp":"a6aa9e1f","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","items":[{"content":"52c25d1c"},{"content":"c80bf43d"},{"content":"d0c63040"},{"content":"3d99f89d"},{"content":"3fd111c7"},{"content":"bca46e3f"},{"content":"daf8bbf9"},{"content":"6299beff"},{"content":"53a1ff94"}],"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-fcd":{"__comp":"a6aa9e1f","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","items":[{"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-695":{"__comp":"6875c492","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","items":[{"content":"3d99f89d"},{"content":"e00f1d66"},{"content":"49403d8c"},{"content":"4f8601bc"}],"tag":"e2bba919","listMetadata":"ed133f89"},"/blog/tags/boilerplate-f6f":{"__comp":"6875c492","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","items":[{"content":"52c25d1c"},{"content":"c80bf43d"},{"content":"d0c63040"},{"content":"3d99f89d"},{"content":"3fd111c7"},{"content":"bca46e3f"},{"content":"daf8bbf9"},{"content":"6299beff"},{"content":"53a1ff94"}],"tag":"9a46388f","listMetadata":"f162eb70"},"/blog/tags/boilerplate/page/2-dad":{"__comp":"6875c492","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","items":[{"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/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-c4e":{"__comp":"6875c492","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","items":[{"content":"52c25d1c"},{"content":"c80bf43d"},{"content":"d0c63040"},{"content":"3d99f89d"},{"content":"3fd111c7"},{"content":"bca46e3f"},{"content":"daf8bbf9"},{"content":"6299beff"},{"content":"53a1ff94"}],"tag":"b9979bed","listMetadata":"ee85e3b6"},"/blog/tags/eightshift/page/2-135":{"__comp":"6875c492","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","items":[{"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-783":{"__comp":"6875c492","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","items":[{"content":"53a1ff94"}],"tag":"183053be","listMetadata":"3b5edcc4"},"/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/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/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/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/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"},"/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"},"/storybook-389":{"__comp":"6ffa71f8","__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-2ba":{"__comp":"5e95c892","__context":{"plugin":"759f3f6b"}},"/forms-fa4":{"__comp":"a7bd4aaa","version":"ae8e07b1"},"/forms-8bf":{"__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/security-b5f":{"__comp":"17896441","content":"4aad33a5"},"/forms/features/show-as-184":{"__comp":"17896441","content":"42d5a18c"},"/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/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/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/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/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,[12176],(()=>{return t=28808,e(e.s=t);var t}));e.O()}]); \ No newline at end of file diff --git a/assets/js/main.f78c3430.js.LICENSE.txt b/assets/js/main.fc6966bc.js.LICENSE.txt similarity index 100% rename from assets/js/main.f78c3430.js.LICENSE.txt rename to assets/js/main.fc6966bc.js.LICENSE.txt diff --git a/assets/js/runtime~main.23d3248b.js b/assets/js/runtime~main.23d3248b.js new file mode 100644 index 000000000..11fbc814b --- /dev/null +++ b/assets/js/runtime~main.23d3248b.js @@ -0,0 +1 @@ +(()=>{"use strict";var e,a,b,c,d,f={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var b=t[e]={exports:{}};return f[e].call(b.exports,b,b.exports,r),b.exports}r.m=f,e=[],r.O=(a,b,c,d)=>{if(!b){var f=1/0;for(i=0;i<e.length;i++){b=e[i][0],c=e[i][1],d=e[i][2];for(var t=!0,o=0;o<b.length;o++)(!1&d||f>=d)&&Object.keys(r.O).every((e=>r.O[e](b[o])))?b.splice(o--,1):(t=!1,d<f&&(f=d));if(t){e.splice(i--,1);var n=c();void 0!==n&&(a=n)}}return a}d=d||0;for(var i=e.length;i>0&&e[i-1][2]>d;i--)e[i]=e[i-1];e[i]=[b,c,d]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},b=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,c){if(1&c&&(e=this(e)),8&c)return e;if("object"==typeof e&&e){if(4&c&&e.__esModule)return e;if(16&c&&"function"==typeof e.then)return e}var d=Object.create(null);r.r(d);var f={};a=a||[null,b({}),b([]),b(b)];for(var t=2&c&&e;"object"==typeof t&&!~a.indexOf(t);t=b(t))Object.getOwnPropertyNames(t).forEach((a=>f[a]=()=>e[a]));return f.default=()=>e,r.d(d,f),d},r.d=(e,a)=>{for(var b in a)r.o(a,b)&&!r.o(e,b)&&Object.defineProperty(e,b,{enumerable:!0,get:a[b]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,b)=>(r.f[b](e,a),a)),[])),r.u=e=>"assets/js/"+({160:"07fb059b",247:"bb95e167",540:"53a1ff94",842:"518baa20",1136:"98c40af1",1140:"0242a13a",1232:"13362ea9",1268:"600a6af1",1372:"9ac95129",1600:"2a615d1d",1772:"be937143",2312:"ba4d70ca",2344:"c2a527e7",2692:"bc5075fb",2736:"2554564d",2968:"9a46388f",3016:"f34f869b",3024:"b3760b7c",3188:"3124e7fd",3344:"533d3ffb",3360:"88748759",3452:"9cd35a7e",3536:"8b62c48f",4448:"39e353ee",4596:"c9815f8a",4666:"a94703ab",4721:"0f187495",4808:"f407a811",4976:"2067e39b",5024:"64e3919b",5160:"ecf43748",5304:"0c7b26d1",5368:"110cdc73",5424:"ad6305cb",6384:"e0d892c2",6448:"f8bbda75",6472:"37f27a13",6816:"f880b41b",6820:"af9ac9e0",7320:"3634820b",7333:"da81302a",7336:"9f25cf08",7420:"325ddbed",8616:"e93eaee1",8996:"d0ecf97a",9244:"4aad33a5",9748:"b64e38ac",9916:"7a9c7a9a",9968:"c38062b9",10028:"0dcc1e01",10256:"0058bf23",10528:"b8283c8e",10740:"6f0e603d",11212:"bca46e3f",11408:"96c3e083",11512:"72aadbbe",11620:"259bd0c5",11804:"fae9d50a",12384:"45159772",12524:"715a66b3",12590:"4f057d99",13144:"42478870",13156:"a737efbc",13696:"1b63fe07",13736:"72822034",13884:"e4af6a2d",14068:"5f22e924",14740:"e7328bb1",15232:"b7f27d80",15252:"2345a3b7",15264:"c709f244",15484:"c3122f65",15792:"035d9dc3",16140:"e90b4b34",16292:"b2b675dd",16452:"0fe8a02a",16664:"a43c0a1c",16808:"e4932c64",16816:"f7b99134",16968:"8ae4ee15",16998:"b9355076",17088:"5d41d0b6",17097:"21c119bb",17116:"81faadf7",17316:"54b7d866",17384:"02b9869f",17632:"10db50b8",17676:"fd6d4018",17832:"7fbb6eb5",17852:"0205c089",17872:"a56ad6f0",18126:"0aeeb10b",18136:"f7aec19e",18137:"ed133f89",18240:"bce2f7e5",18352:"f4a6cc60",18392:"39c8d3f8",18492:"d0e59ab5",18712:"8e0a64cf",18726:"76f2b92e",19276:"50c94cd7",19504:"3b5edcc4",19624:"ee1ed8c4",19640:"048a2137",19768:"8ddbe34c",19866:"87f23a60",20216:"08cebe36",20500:"6e870323",20652:"c6cd348e",20668:"25b43794",20676:"bcdc9a5c",20760:"35847f85",20952:"d5f39101",20992:"60d85392",21e3:"5e3b00c5",21404:"998cd6c6",21420:"b6358757",21444:"ccea3a4d",21520:"adaf2bab",21608:"8364cffd",21656:"d136d263",22100:"aee4c48a",22292:"3e53f2d3",22440:"e9beab12",22472:"9bd02e6c",22524:"c87de583",22584:"d2dc1d28",22604:"5bd755c4",22632:"94335e76",22648:"183053be",22836:"fbd7f063",23108:"3ed2c247",23240:"d9cc83f8",23408:"cec206a7",23424:"c78f4965",23692:"56b8c1aa",23736:"8ddd1f69",23868:"889c25c7",23928:"938b8490",24100:"837a3e8d",24216:"ebfee794",24648:"541d824c",24712:"30e34e97",25008:"4619ca6c",25288:"d845213b",25396:"fbe6399d",25572:"e12d4719",25604:"a2947dce",25756:"44b117b5",25828:"e8854f45",26024:"7fa80a78",26028:"85c52577",26128:"83ee1d6a",26692:"68c90bbc",26752:"17896441",27028:"9e4087bc",27100:"85434a08",27500:"7d66ff10",27508:"acacc2b4",27540:"1a8da153",27660:"c7fa2f29",27920:"7cf19012",28082:"25539fcb",28432:"daf8bbf9",28498:"d6a42b72",28528:"a2d3b782",28576:"186bf65f",28628:"23da3c05",28752:"97cb0cff",28768:"9962ee1e",29120:"385e6aa6",29149:"326267d5",29240:"31d6ca5c",29348:"43ab2c5c",29488:"7ddf2558",29580:"b31b2138",29730:"af09cb5f",30156:"5ba3e239",30285:"e801e723",31032:"1d1d00c8",31064:"6b94b48b",31152:"eaffcef6",31272:"83ce5e05",31616:"c72fb457",32012:"43adcc08",32392:"6875c492",32432:"066ec25f",32488:"da20989d",32524:"805db72d",32700:"fd4ea388",32704:"db6287e5",33016:"64042be6",33052:"9ec15741",33296:"39d8d90f",33316:"ab8fc1e5",33328:"efbb6268",33472:"51f93b96",33628:"0f1457e8",33872:"2f2ad190",34048:"ff445556",34616:"4ece2ef5",34865:"3b7ac723",35468:"3481c063",35524:"c661d3f1",35844:"20e43c84",36124:"499ba0c7",36376:"779187a6",36721:"ed3575d5",36824:"4f6e5aff",37124:"cf91d205",37448:"6299beff",37730:"f26f0cdb",37732:"fdc13b44",37800:"bc8a7ae5",37840:"5b767225",37856:"0cbbedcd",37948:"d0c63040",38052:"9e3bbdc0",38056:"54305ae0",38227:"679e6283",38476:"80d0bffa",38640:"c361232e",38774:"4eaf1272",38844:"f162eb70",38980:"a112d798",39080:"fea00b33",39112:"a7023ddc",39228:"ce7d450a",39624:"56f8d3dd",39648:"1a4e3797",39736:"e37577e1",39776:"bf7018cf",39784:"3aebe9a9",40024:"5b027e06",40312:"a45434fa",40374:"67da9612",40544:"9d107aac",41024:"7c97d78d",41068:"0cf6d2ee",41092:"4dad0b95",41160:"963c8ac0",41332:"1a6a2ec3",41440:"759f3f6b",41628:"a0d23381",42300:"b6d824a3",42352:"4ec5858e",42424:"5add9946",42752:"ce0a947c",42832:"6ffa71f8",42884:"341e5e63",43952:"7b3a75e2",44032:"0810f675",44096:"8383ea83",44152:"a6e1df93",44258:"714feb36",44304:"5e95c892",44432:"0d27e988",44556:"f218f265",44600:"7d063b53",44976:"769f10a0",45124:"3d99f89d",45452:"b8b9d8e8",45512:"814f3328",45544:"f0ebaa7e",45764:"f8d85197",45832:"ee924e36",45892:"30241ed8",45948:"07af796b",46160:"ce19f7d3",46416:"aa47c437",46456:"35144e55",46740:"ae8e07b1",46846:"749660c3",47014:"23002826",47052:"37703fea",47484:"dd059938",47496:"af8ed05f",47560:"4f8601bc",47644:"73496ed9",47704:"5fbdd67a",48292:"7b2162ed",48412:"13c21afe",48472:"18ea4958",48676:"2bd83684",48752:"3f56b28d",48864:"d88895d1",49692:"8d5ae15a",49776:"f92772a6",49800:"9f7aca5a",50424:"9f724635",50560:"e00f1d66",50772:"dc46868d",51296:"c55525a9",51320:"812444b5",51360:"85d49e2b",51368:"be197d78",51428:"6b207c51",51440:"8df52c09",51444:"e8903528",51528:"1ab6957b",51688:"2a89e141",51720:"d3930d00",51768:"7cbc5997",51868:"163b78fe",51976:"8e2e6ad6",51980:"7cca0223",51992:"9eec1b69",52e3:"24b57605",52612:"9cd71f2c",52640:"e8a4c7be",52852:"548faf69",52880:"5fc994c2",53168:"39035dcb",53264:"7d1194b2",53800:"2297cc0d",53840:"6042c76a",53864:"22e7b626",54052:"ef02483f",54162:"92621e92",54196:"43ac2fb4",54572:"52c25d1c",54784:"73699c74",54816:"64793643",54976:"a6aa9e1f",54988:"9bd54e26",55120:"90c2c848",55696:"935f2afb",56128:"bb98611a",56244:"3a244aec",56516:"40adba6a",56601:"4b8950e9",56620:"ae5745cc",56839:"640b2864",57023:"e18eec83",57208:"47a776f2",57464:"a97e7f15",57480:"790fff8f",57808:"d0b1075b",58400:"46ddaac3",58412:"01a85c17",58432:"8df1c5c9",58928:"c15d2dfd",58948:"afdc90ee",59088:"8c05f4d5",59168:"cfae12a4",59388:"7ab92eb4",59404:"ea645227",59470:"07b5dca2",59476:"b3b90a5e",60068:"62284ec3",60536:"ed480930",60796:"d817bad3",61180:"9ee0eb8a",61264:"795f4ac3",61432:"5be441ac",61542:"c38fd7bd",61720:"092d0294",61776:"619eeade",61856:"6cbda4b6",62008:"2e9194de",62056:"27c45671",62632:"c4f5d8e4",62684:"cd521b29",62884:"286194e8",63500:"a12ac645",63732:"5ed3387d",63736:"beb2a160",63744:"96795ae1",63900:"46604707",64220:"6f52e085",64598:"5024c8a9",64928:"5025c75d",65352:"9dc56d2c",65520:"0c06981f",65720:"390b04b5",65928:"0cde639a",66024:"962afcd6",66032:"f92290a0",66096:"39447efc",66232:"f0b5617d",66344:"ccc49370",66476:"5215d6a1",67404:"ce4b3df7",67412:"80d5addc",67516:"5cda8f59",67684:"29014e21",67926:"f1a7576f",67956:"120f8e9c",67960:"f6aef24f",68272:"3fd111c7",68472:"688ea354",68508:"3cc3f22b",68628:"add2b463",68699:"6b93e189",68804:"230a0014",69128:"388ae04f",69276:"59c340d8",69288:"09d8acdc",69384:"79818576",69536:"c80bf43d",69928:"dbfa0beb",69992:"9e4e2e8b",70012:"c62d4947",70058:"90151e6b",70060:"ae06c6f1",70184:"0e617e7a",70680:"f00dda52",70745:"2d764dca",70776:"31b83fd6",70864:"80796e9f",70896:"cf4609e7",71268:"1aa24188",71760:"a9ff9f98",71896:"d14f8ee5",72264:"39b05d13",72472:"1c82c718",73126:"ee85e3b6",73380:"9f6545b7",73532:"c9f06a2a",73560:"bff0bad2",73624:"b8b55b85",73844:"e1f747d9",73864:"2176bd9e",73908:"8eb5a1d8",74244:"1622041d",74264:"ca69ab29",74384:"b3636d59",74388:"7c7e3f2e",74420:"fd21cc65",74610:"62f60b5b",74696:"dc28c8db",74992:"7dd4c8bc",75180:"014fa81c",75292:"ec5d0804",75324:"9e8339c4",75437:"0bea9cd5",75496:"36d70216",75532:"41bc8270",75544:"43d76b0c",76264:"40bcb702",76728:"9d954fea",76832:"32030e6f",77040:"f5d62c05",77186:"0655bd76",77336:"e71b04e6",77508:"dea8b3ed",77576:"cb7a22d0",77624:"b6915d5f",78584:"7c785ce9",78642:"22cdf000",78924:"6eb5397d",78960:"2c4528c6",79016:"a2dbf4e7",79170:"6a5d09b2",79220:"4cfcdd67",79808:"426b1138",80072:"b9979bed",80176:"2b4fbe73",80472:"b4c9bdc9",80564:"b4f7c3fb",80568:"795feea1",80616:"2747918f",80800:"8cdd3050",80936:"d28f320b",81060:"81d5dffa",81228:"45a57db1",81372:"6156002b",81412:"63b7ed35",81736:"a5dd7d10",81784:"369bf9e9",81938:"4293ef56",82128:"e4399142",82384:"e79e64be",82452:"f0f0c9e0",82694:"901c0002",82716:"dbd7356d",82780:"10c1e86a",82988:"7089c5e9",83040:"9cc47562",83284:"029c29d9",83644:"5d34a3e0",83668:"a374712b",83896:"23464d23",83920:"e110487c",84174:"89c5f7f6",84248:"74bedbb6",84560:"aebfde4b",84856:"2716246c",85424:"de657462",86084:"44c6aa62",86364:"cb3c2681",86500:"a7bd4aaa",86688:"883d241c",86760:"c9c3a302",86880:"b2f554cd",87200:"641a79fb",87240:"cd0300a2",87300:"4e418365",87318:"5c125432",87440:"e3792bbb",87500:"318b66a0",87632:"86405c0e",88184:"435e79fb",88528:"db98aa0c",88592:"44f6c623",88684:"31e124ed",88844:"281e3fe0",88848:"06946b11",89344:"d1a0cea3",89456:"fda35176",89584:"a45b31ec",89608:"2c773ba3",89712:"5bf26d11",90100:"fbe7d2e8",90192:"41aa949a",90252:"6203860c",90260:"49403d8c",90320:"19a6ffde",90464:"35d3178b",90520:"a3a64d88",90588:"d0301901",91080:"26b1dccf",91160:"4e946086",91620:"d5c4c4ae",92172:"01980361",92296:"8eb4e46b",92404:"536309bb",92686:"8f5a650f",92996:"103a101a",93364:"ddb69969",94576:"adb54813",94748:"e2bba919",94794:"6afb304f",94980:"b22c1dac",95004:"6bcded04",95192:"0a9768df",95252:"a372a63b",95288:"b11b48f8",95640:"afb6799c",95720:"e6326b0c",96344:"92a392ff",96492:"1385dc12",96568:"66151e3f",96604:"147ca104",96768:"1698e1d1",96792:"9ca2f55b",97152:"7c673fac",97504:"590322ab",97724:"67644baa",97800:"952356a8",97968:"c344252c",97996:"6b8dfc08",98296:"56802612",98512:"2e99cb0e",99088:"42d5a18c",99108:"ee4eba04",99214:"1eef4415",99632:"7ee32c60",99720:"fce92293",99744:"1f5f1faf",99844:"9a04d7c3",99864:"44ef7d31",99912:"d7756765"}[e]||e)+"."+{160:"b9176cd7",247:"b6259ecb",540:"c723ce36",842:"db8efa4f",1136:"84218806",1140:"026749cf",1232:"4e5dc8e6",1268:"a2261fa2",1372:"351e9b2f",1600:"8e44735d",1772:"ed1f3505",2312:"d93e23e2",2344:"d7aeed2b",2692:"b33388a2",2736:"8060f5a6",2968:"f1a4248d",3016:"edf8c5a3",3024:"15a953b9",3188:"f80372ea",3344:"8465c723",3360:"6f8bafa9",3452:"123611b5",3536:"7bfc13fd",4448:"a3b571b0",4596:"70b4237e",4666:"02a0eccc",4721:"b42de3b3",4808:"ffee2525",4976:"130fc3d7",5024:"fd4a8e7b",5160:"3bdb26b9",5304:"7f2bfee4",5368:"312fe289",5424:"f0728e49",6384:"2ee7a01f",6448:"65f8a986",6472:"16a822bf",6816:"c73dde76",6820:"b523d785",7320:"c4b1f604",7333:"436cbce0",7336:"0c14d3ca",7420:"2c7058c1",8616:"b8fe7ed7",8996:"bd7c8eb6",9244:"576152e7",9748:"5df65a05",9916:"58f1c6a4",9968:"dec43f66",10028:"4505307a",10256:"b2af8f40",10528:"0da8ce56",10740:"114f0bbb",11212:"abf03454",11408:"ec2a72db",11512:"703d2319",11620:"15a47715",11804:"07881780",12384:"71690a12",12524:"0595f5c7",12590:"d8418a7f",13144:"cef76100",13156:"7989c7ce",13696:"fbe93fd0",13736:"08de405f",13884:"1abf0eac",14068:"951115e2",14740:"3b27c5ba",15232:"c0ab1707",15252:"8ba882c0",15264:"22356c8e",15484:"8c25c8bf",15792:"edf959df",16140:"c1b96994",16292:"530c7221",16452:"8c9cce1d",16664:"015de139",16808:"056cbc66",16816:"9fa3f881",16968:"793c3c8b",16998:"21549dab",17088:"909ac92b",17097:"b3e469a0",17116:"8b804415",17316:"5e861f4a",17384:"245fff2a",17632:"c5fef83d",17676:"c3839a65",17832:"eda937de",17852:"028f9c72",17872:"7f37f3e7",18126:"2257b5c1",18136:"950b0e3e",18137:"ee8e35c2",18240:"52256330",18352:"e35da9dc",18392:"a933915e",18492:"8ad74afb",18712:"849bfc4b",18726:"c0a2118f",19276:"1098728d",19504:"064b5062",19624:"38557aa9",19640:"bf72335e",19768:"554695cd",19866:"1687ff9c",20216:"7c44f806",20500:"3400b5c9",20652:"44e8aaa5",20668:"71066a92",20676:"d6ea3348",20760:"45bb5ca8",20952:"fe4540dd",20992:"e2ab5cb7",21e3:"5126451d",21404:"e7b07ad2",21420:"1caf28a9",21444:"7c513ca2",21520:"514bf3e1",21608:"38a46ccf",21656:"3c7c98b2",22100:"40bc6f9c",22292:"cca3105d",22440:"296fdd57",22472:"15e5a506",22524:"070a1f91",22584:"26eeebca",22604:"7f24b49c",22632:"51a18c18",22648:"3b310b64",22836:"8c0f3535",23108:"31de9844",23240:"7f92a167",23408:"d0af7a9e",23424:"907597cd",23692:"7d5e008e",23736:"bf63c01a",23868:"d5e55465",23928:"1b416ff9",24100:"c8175387",24216:"522ace0f",24648:"d08234ab",24712:"a18fc090",25008:"5b7e0b5b",25288:"7e95e71d",25396:"b7332956",25572:"5fa1ce8c",25604:"d05ee617",25756:"02fc28b3",25828:"c48ca5b4",26024:"275fa703",26028:"51c91433",26128:"0f4d7760",26692:"389c8e93",26752:"203d3932",27028:"dd1e020e",27100:"9366b187",27500:"5e9f1e47",27508:"cb5fe364",27540:"2cdec009",27660:"2136082d",27920:"dc296d33",28082:"55be5c0a",28432:"e16b7458",28498:"16980892",28528:"7ed5b971",28576:"f2d43126",28628:"b642e152",28752:"c135501b",28768:"ed6b8b83",29120:"cf55bebf",29149:"58d4460c",29240:"11d3a0fc",29348:"47f3f340",29488:"d2cf920d",29580:"bf692a88",29730:"938f0905",30156:"71daf983",30285:"a2714107",31032:"d1ac5e1a",31064:"d577ad2a",31152:"bf851fe0",31272:"2a4f901a",31616:"12dd1dd4",32012:"47435da4",32392:"4b34abcd",32432:"55e24ac2",32488:"419a6bea",32524:"d274f2e0",32528:"ffcdf603",32700:"0063c707",32704:"9a37574f",33016:"ea84458d",33052:"6bdba007",33296:"3c8c7e50",33316:"704f74d1",33328:"0170de53",33472:"b182af07",33628:"67ff36be",33872:"674deb19",34048:"7cd28641",34616:"917afc4a",34865:"a162a166",35104:"c6952c15",35468:"4847fd54",35524:"e20c6ef1",35844:"64a8cbe2",36124:"a0e3445e",36376:"c7e425cf",36721:"220be4a4",36824:"86ed82f3",37124:"42b2bfb0",37448:"4414e760",37730:"7af20041",37732:"58326e34",37800:"e7f0c57b",37840:"5ed4acdc",37856:"3a04989d",37948:"05c52d49",38052:"042bc270",38056:"d5bc8caa",38227:"e37c6695",38476:"dc3b5788",38640:"6cce46a7",38774:"f8bf19ce",38844:"804e7984",38879:"021e6a5e",38980:"c0e54b12",39080:"a657dc5d",39112:"53ccd913",39228:"8dbfe15b",39624:"ae3970f6",39648:"4d900f68",39736:"c0e5e165",39776:"7a92a54b",39784:"452f3028",40024:"3eabbed9",40312:"1d8173d5",40374:"752e2b4c",40544:"270f6fbb",41024:"816aebb5",41068:"1c23a6e7",41092:"56cb7301",41160:"813e4dbd",41332:"111b3ea2",41440:"2ba5216e",41628:"8a783711",42300:"c48459da",42352:"7d5da6d3",42424:"0c28af07",42752:"3785144e",42832:"874268c5",42884:"b4c3ffab",43052:"73999299",43952:"74bfe090",44032:"03f15fd9",44096:"985491cb",44152:"c939f39f",44258:"3c43cdf0",44304:"9864ada4",44432:"c9b7669f",44556:"129f4a49",44600:"c3679307",44976:"d79c7e92",45124:"01be4d00",45276:"85ba7617",45452:"ded41519",45512:"d17fcfde",45544:"aa141057",45764:"f035c7c1",45832:"b2fdf628",45892:"8f8274a7",45948:"5cc7e9a0",46160:"2e3803ba",46416:"b9d5782b",46456:"3005c7f1",46740:"0095b69d",46846:"4202de89",47014:"13176ecb",47052:"d13121d2",47484:"98d2745c",47496:"a37496c9",47560:"7b100090",47644:"64e847e8",47704:"79911f2d",48292:"e97ac9f7",48412:"3dd638ca",48472:"a061d872",48676:"95d71f76",48752:"ba3c0439",48864:"b4625c52",49692:"213a1286",49776:"f28ea659",49800:"f4e13d91",50424:"41c8034e",50560:"9a60d18c",50772:"eaee5e71",51296:"21d4deab",51320:"f43cbc64",51360:"5f63370c",51368:"82165284",51428:"a541229f",51440:"d0e8439f",51444:"b5e57086",51528:"4b8f7c78",51688:"ab5b6fbd",51720:"a6e97bc9",51768:"5f691d94",51868:"bcd9f30b",51976:"69d8ea89",51980:"8c6b7a89",51992:"3a305a3e",52e3:"b6deebcc",52612:"25690ca0",52640:"28922e16",52852:"755f4ea9",52880:"d2637078",53168:"cf6a7b76",53264:"555599e6",53800:"a8ac1efb",53840:"9ec729ac",53864:"eeb2a102",54052:"5c025912",54162:"96d29f14",54196:"0c057e6b",54552:"ed20c03a",54572:"ed0dce00",54784:"37d6a91c",54816:"6e0dfff8",54976:"1fe3020e",54988:"0cedb587",55120:"3f846c86",55696:"03e23328",56128:"7183cd55",56244:"5f01dd36",56516:"4b0f28e1",56601:"c8e2dc03",56620:"b543c111",56839:"28139028",57023:"c192e239",57208:"1796b29b",57464:"97a10b1c",57480:"b3f087be",57808:"6c031a0b",58400:"494c7d5d",58412:"2d1c9198",58432:"78e21d91",58928:"9d0890c8",58948:"08111d84",59088:"04a95d39",59168:"1d6dc231",59388:"13aff7de",59404:"9f812317",59470:"f2bccf6e",59476:"7a4dcca8",60068:"e259d26f",60536:"a9a75b07",60796:"18bee685",61180:"b7c3e007",61264:"3912e7a1",61432:"0aee3e30",61542:"34633438",61720:"5c7e68f4",61776:"f2737439",61856:"f5d88655",62008:"f11a0b2e",62056:"66f6190f",62632:"37871e62",62684:"a3d8be70",62884:"64286730",63500:"fa79bf8e",63732:"5ed64fc2",63736:"d5babf64",63744:"1d6dc14e",63900:"303a32f0",64220:"bad06087",64598:"a2cc38a3",64928:"9113ec7c",65352:"8fefb0da",65520:"cf1e710a",65720:"90c40cbd",65928:"00323715",66024:"ba8031c0",66032:"7cc75524",66096:"0b2728c5",66232:"0598aacb",66344:"b157fed1",66476:"0b6c3f35",67404:"00964818",67412:"1ef54946",67516:"4315930f",67684:"5bdaad94",67926:"f5cbcc7b",67956:"c51999ed",67960:"462f4533",68272:"27aca6ff",68472:"bfcc2a47",68508:"f8eb1c37",68628:"09089241",68699:"924e59db",68804:"53cb87a0",69128:"f589e62e",69276:"20a43dd4",69288:"79af2003",69384:"e05d56cd",69536:"798aeeb8",69928:"208aa75e",69992:"9a40411c",70012:"ce0855fd",70058:"b4eb08c2",70060:"15b7e541",70184:"bb476f22",70680:"5ec98be8",70745:"c52b4a8a",70776:"4ef2c014",70864:"5f6362c9",70896:"f154dd50",71268:"8f432d2b",71760:"71445290",71896:"f39121da",72264:"4fc8933e",72472:"b41036c1",73126:"712ef365",73380:"d2f5d6c5",73532:"68451c74",73560:"8aef008b",73624:"6e676735",73844:"6d6ae099",73864:"9cd021b8",73908:"61a17202",74244:"b577a0dc",74264:"7373d5fa",74384:"e70a7e18",74388:"adaf28e9",74420:"faa2fb7d",74610:"8ba8b870",74696:"f89954ca",74992:"b388960d",75180:"db41be05",75292:"ffbfcb1d",75324:"68c70274",75437:"05ce6707",75496:"92f5557c",75532:"43da1cbf",75544:"a26d7bc1",76264:"ad5d08dd",76728:"eb7fa0d7",76832:"eda4e2bc",77040:"e6604d82",77186:"650d31e2",77336:"3970af4d",77508:"b36628ae",77576:"5fbe69ed",77624:"739b1201",78584:"5d604502",78642:"3a136454",78924:"48d7fb7c",78960:"6ae89179",79016:"4876438e",79170:"f3790de3",79220:"d732c1ff",79808:"870e05c6",80072:"0b4972d8",80176:"246737f5",80472:"db931af6",80564:"b031eef5",80568:"6fd79961",80616:"a87a0a6f",80800:"a999d805",80936:"53d9b811",81060:"a9109b62",81228:"215efd0d",81372:"573e2d62",81412:"c9d4c649",81676:"f9a1025a",81736:"01dfe4ee",81784:"e6f38779",81938:"ed1ac885",82128:"8d41efc4",82384:"2493943f",82452:"88b2fd5e",82694:"05061481",82716:"d5a5d45d",82780:"f878c315",82988:"d19e9a88",83040:"f67a4080",83284:"e702fc5e",83644:"6952b531",83668:"6ad616d8",83896:"3521f62b",83920:"75c1c6ab",84174:"2907a714",84248:"9beace56",84560:"bfdfc943",84856:"065014b3",85424:"494ed8e7",86084:"e4616d44",86364:"1eb5c804",86500:"766742ae",86688:"06b2a0a5",86760:"ac4a22b2",86880:"15cf2448",87200:"7fbd0803",87240:"4987f94f",87300:"e7e23418",87318:"d6cc368a",87440:"bdedd17c",87500:"1a6b5033",87632:"fb080285",88184:"13b37035",88528:"32617725",88592:"db268283",88684:"3a18073c",88844:"e49a41cd",88848:"8360520f",89344:"07fd40bf",89456:"3f1035f0",89584:"1b427e8c",89608:"97f8898b",89712:"46d169a4",90100:"c2c96458",90192:"7636d5e6",90252:"7adaf292",90260:"be159bad",90320:"b73b0e82",90464:"8a735ebf",90520:"f3f77de9",90588:"501b3f3f",91080:"2e5f430d",91160:"d75da28d",91620:"d3003f00",92172:"6677c583",92296:"b29d9b47",92404:"f097b64a",92686:"58767671",92996:"09868b69",93364:"cab44927",94576:"4e5b767c",94748:"9957038a",94794:"e43a0034",94980:"90a4a9ab",95004:"bb5174b4",95192:"22ef395f",95252:"623ec419",95288:"84c6b147",95640:"7468503e",95720:"a11db947",96344:"6d1f2e16",96492:"068f7ed7",96568:"fb02f740",96604:"01cfe82b",96768:"7453ed77",96792:"b20b41fa",97152:"818db8c7",97504:"fa6e2dd5",97724:"35cabd62",97800:"91884769",97968:"a89f332f",97996:"92299181",98296:"fc8dda78",98512:"ebb05755",99088:"b4c27fbf",99108:"b888f843",99214:"27af5825",99632:"33c46f94",99720:"dcc496fa",99744:"39503e7f",99844:"c7c52b66",99864:"a42a95eb",99912:"ea95f75d"}[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),c={},d="@eightshift/docs:",r.l=(e,a,b,f)=>{if(c[e])c[e].push(a);else{var t,o;if(void 0!==b)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")==d+b){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",d+b),t.src=e),c[e]=[a];var l=(a,b)=>{t.onerror=t.onload=null,clearTimeout(s);var d=c[e];if(delete c[e],t.parentNode&&t.parentNode.removeChild(t),d&&d.forEach((e=>e(b))),a)return a(b)},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:"26752",23002826:"47014",42478870:"13144",45159772:"12384",46604707:"63900",56802612:"98296",64793643:"54816",72822034:"13736",79818576:"69384",88748759:"3360","07fb059b":"160",bb95e167:"247","53a1ff94":"540","518baa20":"842","98c40af1":"1136","0242a13a":"1140","13362ea9":"1232","600a6af1":"1268","9ac95129":"1372","2a615d1d":"1600",be937143:"1772",ba4d70ca:"2312",c2a527e7:"2344",bc5075fb:"2692","2554564d":"2736","9a46388f":"2968",f34f869b:"3016",b3760b7c:"3024","3124e7fd":"3188","533d3ffb":"3344","9cd35a7e":"3452","8b62c48f":"3536","39e353ee":"4448",c9815f8a:"4596",a94703ab:"4666","0f187495":"4721",f407a811:"4808","2067e39b":"4976","64e3919b":"5024",ecf43748:"5160","0c7b26d1":"5304","110cdc73":"5368",ad6305cb:"5424",e0d892c2:"6384",f8bbda75:"6448","37f27a13":"6472",f880b41b:"6816",af9ac9e0:"6820","3634820b":"7320",da81302a:"7333","9f25cf08":"7336","325ddbed":"7420",e93eaee1:"8616",d0ecf97a:"8996","4aad33a5":"9244",b64e38ac:"9748","7a9c7a9a":"9916",c38062b9:"9968","0dcc1e01":"10028","0058bf23":"10256",b8283c8e:"10528","6f0e603d":"10740",bca46e3f:"11212","96c3e083":"11408","72aadbbe":"11512","259bd0c5":"11620",fae9d50a:"11804","715a66b3":"12524","4f057d99":"12590",a737efbc:"13156","1b63fe07":"13696",e4af6a2d:"13884","5f22e924":"14068",e7328bb1:"14740",b7f27d80:"15232","2345a3b7":"15252",c709f244:"15264",c3122f65:"15484","035d9dc3":"15792",e90b4b34:"16140",b2b675dd:"16292","0fe8a02a":"16452",a43c0a1c:"16664",e4932c64:"16808",f7b99134:"16816","8ae4ee15":"16968",b9355076:"16998","5d41d0b6":"17088","21c119bb":"17097","81faadf7":"17116","54b7d866":"17316","02b9869f":"17384","10db50b8":"17632",fd6d4018:"17676","7fbb6eb5":"17832","0205c089":"17852",a56ad6f0:"17872","0aeeb10b":"18126",f7aec19e:"18136",ed133f89:"18137",bce2f7e5:"18240",f4a6cc60:"18352","39c8d3f8":"18392",d0e59ab5:"18492","8e0a64cf":"18712","76f2b92e":"18726","50c94cd7":"19276","3b5edcc4":"19504",ee1ed8c4:"19624","048a2137":"19640","8ddbe34c":"19768","87f23a60":"19866","08cebe36":"20216","6e870323":"20500",c6cd348e:"20652","25b43794":"20668",bcdc9a5c:"20676","35847f85":"20760",d5f39101:"20952","60d85392":"20992","5e3b00c5":"21000","998cd6c6":"21404",b6358757:"21420",ccea3a4d:"21444",adaf2bab:"21520","8364cffd":"21608",d136d263:"21656",aee4c48a:"22100","3e53f2d3":"22292",e9beab12:"22440","9bd02e6c":"22472",c87de583:"22524",d2dc1d28:"22584","5bd755c4":"22604","94335e76":"22632","183053be":"22648",fbd7f063:"22836","3ed2c247":"23108",d9cc83f8:"23240",cec206a7:"23408",c78f4965:"23424","56b8c1aa":"23692","8ddd1f69":"23736","889c25c7":"23868","938b8490":"23928","837a3e8d":"24100",ebfee794:"24216","541d824c":"24648","30e34e97":"24712","4619ca6c":"25008",d845213b:"25288",fbe6399d:"25396",e12d4719:"25572",a2947dce:"25604","44b117b5":"25756",e8854f45:"25828","7fa80a78":"26024","85c52577":"26028","83ee1d6a":"26128","68c90bbc":"26692","9e4087bc":"27028","85434a08":"27100","7d66ff10":"27500",acacc2b4:"27508","1a8da153":"27540",c7fa2f29:"27660","7cf19012":"27920","25539fcb":"28082",daf8bbf9:"28432",d6a42b72:"28498",a2d3b782:"28528","186bf65f":"28576","23da3c05":"28628","97cb0cff":"28752","9962ee1e":"28768","385e6aa6":"29120","326267d5":"29149","31d6ca5c":"29240","43ab2c5c":"29348","7ddf2558":"29488",b31b2138:"29580",af09cb5f:"29730","5ba3e239":"30156",e801e723:"30285","1d1d00c8":"31032","6b94b48b":"31064",eaffcef6:"31152","83ce5e05":"31272",c72fb457:"31616","43adcc08":"32012","6875c492":"32392","066ec25f":"32432",da20989d:"32488","805db72d":"32524",fd4ea388:"32700",db6287e5:"32704","64042be6":"33016","9ec15741":"33052","39d8d90f":"33296",ab8fc1e5:"33316",efbb6268:"33328","51f93b96":"33472","0f1457e8":"33628","2f2ad190":"33872",ff445556:"34048","4ece2ef5":"34616","3b7ac723":"34865","3481c063":"35468",c661d3f1:"35524","20e43c84":"35844","499ba0c7":"36124","779187a6":"36376",ed3575d5:"36721","4f6e5aff":"36824",cf91d205:"37124","6299beff":"37448",f26f0cdb:"37730",fdc13b44:"37732",bc8a7ae5:"37800","5b767225":"37840","0cbbedcd":"37856",d0c63040:"37948","9e3bbdc0":"38052","54305ae0":"38056","679e6283":"38227","80d0bffa":"38476",c361232e:"38640","4eaf1272":"38774",f162eb70:"38844",a112d798:"38980",fea00b33:"39080",a7023ddc:"39112",ce7d450a:"39228","56f8d3dd":"39624","1a4e3797":"39648",e37577e1:"39736",bf7018cf:"39776","3aebe9a9":"39784","5b027e06":"40024",a45434fa:"40312","67da9612":"40374","9d107aac":"40544","7c97d78d":"41024","0cf6d2ee":"41068","4dad0b95":"41092","963c8ac0":"41160","1a6a2ec3":"41332","759f3f6b":"41440",a0d23381:"41628",b6d824a3:"42300","4ec5858e":"42352","5add9946":"42424",ce0a947c:"42752","6ffa71f8":"42832","341e5e63":"42884","7b3a75e2":"43952","0810f675":"44032","8383ea83":"44096",a6e1df93:"44152","714feb36":"44258","5e95c892":"44304","0d27e988":"44432",f218f265:"44556","7d063b53":"44600","769f10a0":"44976","3d99f89d":"45124",b8b9d8e8:"45452","814f3328":"45512",f0ebaa7e:"45544",f8d85197:"45764",ee924e36:"45832","30241ed8":"45892","07af796b":"45948",ce19f7d3:"46160",aa47c437:"46416","35144e55":"46456",ae8e07b1:"46740","749660c3":"46846","37703fea":"47052",dd059938:"47484",af8ed05f:"47496","4f8601bc":"47560","73496ed9":"47644","5fbdd67a":"47704","7b2162ed":"48292","13c21afe":"48412","18ea4958":"48472","2bd83684":"48676","3f56b28d":"48752",d88895d1:"48864","8d5ae15a":"49692",f92772a6:"49776","9f7aca5a":"49800","9f724635":"50424",e00f1d66:"50560",dc46868d:"50772",c55525a9:"51296","812444b5":"51320","85d49e2b":"51360",be197d78:"51368","6b207c51":"51428","8df52c09":"51440",e8903528:"51444","1ab6957b":"51528","2a89e141":"51688",d3930d00:"51720","7cbc5997":"51768","163b78fe":"51868","8e2e6ad6":"51976","7cca0223":"51980","9eec1b69":"51992","24b57605":"52000","9cd71f2c":"52612",e8a4c7be:"52640","548faf69":"52852","5fc994c2":"52880","39035dcb":"53168","7d1194b2":"53264","2297cc0d":"53800","6042c76a":"53840","22e7b626":"53864",ef02483f:"54052","92621e92":"54162","43ac2fb4":"54196","52c25d1c":"54572","73699c74":"54784",a6aa9e1f:"54976","9bd54e26":"54988","90c2c848":"55120","935f2afb":"55696",bb98611a:"56128","3a244aec":"56244","40adba6a":"56516","4b8950e9":"56601",ae5745cc:"56620","640b2864":"56839",e18eec83:"57023","47a776f2":"57208",a97e7f15:"57464","790fff8f":"57480",d0b1075b:"57808","46ddaac3":"58400","01a85c17":"58412","8df1c5c9":"58432",c15d2dfd:"58928",afdc90ee:"58948","8c05f4d5":"59088",cfae12a4:"59168","7ab92eb4":"59388",ea645227:"59404","07b5dca2":"59470",b3b90a5e:"59476","62284ec3":"60068",ed480930:"60536",d817bad3:"60796","9ee0eb8a":"61180","795f4ac3":"61264","5be441ac":"61432",c38fd7bd:"61542","092d0294":"61720","619eeade":"61776","6cbda4b6":"61856","2e9194de":"62008","27c45671":"62056",c4f5d8e4:"62632",cd521b29:"62684","286194e8":"62884",a12ac645:"63500","5ed3387d":"63732",beb2a160:"63736","96795ae1":"63744","6f52e085":"64220","5024c8a9":"64598","5025c75d":"64928","9dc56d2c":"65352","0c06981f":"65520","390b04b5":"65720","0cde639a":"65928","962afcd6":"66024",f92290a0:"66032","39447efc":"66096",f0b5617d:"66232",ccc49370:"66344","5215d6a1":"66476",ce4b3df7:"67404","80d5addc":"67412","5cda8f59":"67516","29014e21":"67684",f1a7576f:"67926","120f8e9c":"67956",f6aef24f:"67960","3fd111c7":"68272","688ea354":"68472","3cc3f22b":"68508",add2b463:"68628","6b93e189":"68699","230a0014":"68804","388ae04f":"69128","59c340d8":"69276","09d8acdc":"69288",c80bf43d:"69536",dbfa0beb:"69928","9e4e2e8b":"69992",c62d4947:"70012","90151e6b":"70058",ae06c6f1:"70060","0e617e7a":"70184",f00dda52:"70680","2d764dca":"70745","31b83fd6":"70776","80796e9f":"70864",cf4609e7:"70896","1aa24188":"71268",a9ff9f98:"71760",d14f8ee5:"71896","39b05d13":"72264","1c82c718":"72472",ee85e3b6:"73126","9f6545b7":"73380",c9f06a2a:"73532",bff0bad2:"73560",b8b55b85:"73624",e1f747d9:"73844","2176bd9e":"73864","8eb5a1d8":"73908","1622041d":"74244",ca69ab29:"74264",b3636d59:"74384","7c7e3f2e":"74388",fd21cc65:"74420","62f60b5b":"74610",dc28c8db:"74696","7dd4c8bc":"74992","014fa81c":"75180",ec5d0804:"75292","9e8339c4":"75324","0bea9cd5":"75437","36d70216":"75496","41bc8270":"75532","43d76b0c":"75544","40bcb702":"76264","9d954fea":"76728","32030e6f":"76832",f5d62c05:"77040","0655bd76":"77186",e71b04e6:"77336",dea8b3ed:"77508",cb7a22d0:"77576",b6915d5f:"77624","7c785ce9":"78584","22cdf000":"78642","6eb5397d":"78924","2c4528c6":"78960",a2dbf4e7:"79016","6a5d09b2":"79170","4cfcdd67":"79220","426b1138":"79808",b9979bed:"80072","2b4fbe73":"80176",b4c9bdc9:"80472",b4f7c3fb:"80564","795feea1":"80568","2747918f":"80616","8cdd3050":"80800",d28f320b:"80936","81d5dffa":"81060","45a57db1":"81228","6156002b":"81372","63b7ed35":"81412",a5dd7d10:"81736","369bf9e9":"81784","4293ef56":"81938",e4399142:"82128",e79e64be:"82384",f0f0c9e0:"82452","901c0002":"82694",dbd7356d:"82716","10c1e86a":"82780","7089c5e9":"82988","9cc47562":"83040","029c29d9":"83284","5d34a3e0":"83644",a374712b:"83668","23464d23":"83896",e110487c:"83920","89c5f7f6":"84174","74bedbb6":"84248",aebfde4b:"84560","2716246c":"84856",de657462:"85424","44c6aa62":"86084",cb3c2681:"86364",a7bd4aaa:"86500","883d241c":"86688",c9c3a302:"86760",b2f554cd:"86880","641a79fb":"87200",cd0300a2:"87240","4e418365":"87300","5c125432":"87318",e3792bbb:"87440","318b66a0":"87500","86405c0e":"87632","435e79fb":"88184",db98aa0c:"88528","44f6c623":"88592","31e124ed":"88684","281e3fe0":"88844","06946b11":"88848",d1a0cea3:"89344",fda35176:"89456",a45b31ec:"89584","2c773ba3":"89608","5bf26d11":"89712",fbe7d2e8:"90100","41aa949a":"90192","6203860c":"90252","49403d8c":"90260","19a6ffde":"90320","35d3178b":"90464",a3a64d88:"90520",d0301901:"90588","26b1dccf":"91080","4e946086":"91160",d5c4c4ae:"91620","01980361":"92172","8eb4e46b":"92296","536309bb":"92404","8f5a650f":"92686","103a101a":"92996",ddb69969:"93364",adb54813:"94576",e2bba919:"94748","6afb304f":"94794",b22c1dac:"94980","6bcded04":"95004","0a9768df":"95192",a372a63b:"95252",b11b48f8:"95288",afb6799c:"95640",e6326b0c:"95720","92a392ff":"96344","1385dc12":"96492","66151e3f":"96568","147ca104":"96604","1698e1d1":"96768","9ca2f55b":"96792","7c673fac":"97152","590322ab":"97504","67644baa":"97724","952356a8":"97800",c344252c:"97968","6b8dfc08":"97996","2e99cb0e":"98512","42d5a18c":"99088",ee4eba04:"99108","1eef4415":"99214","7ee32c60":"99632",fce92293:"99720","1f5f1faf":"99744","9a04d7c3":"99844","44ef7d31":"99864",d7756765:"99912"}[e]||e,r.p+r.u(e)},(()=>{var e={10296:0,12176:0};r.f.j=(a,b)=>{var c=r.o(e,a)?e[a]:void 0;if(0!==c)if(c)b.push(c[2]);else if(/^1(029|217)6$/.test(a))e[a]=0;else{var d=new Promise(((b,d)=>c=e[a]=[b,d]));b.push(c[2]=d);var f=r.p+r.u(a),t=new Error;r.l(f,(b=>{if(r.o(e,a)&&(0!==(c=e[a])&&(e[a]=void 0),c)){var d=b&&("load"===b.type?"missing":b.type),f=b&&b.target&&b.target.src;t.message="Loading chunk "+a+" failed.\n("+d+": "+f+")",t.name="ChunkLoadError",t.type=d,t.request=f,c[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,b)=>{var c,d,f=b[0],t=b[1],o=b[2],n=0;if(f.some((a=>0!==e[a]))){for(c in t)r.o(t,c)&&(r.m[c]=t[c]);if(o)var i=o(r)}for(a&&a(b);n<f.length;n++)d=f[n],r.o(e,d)&&e[d]&&e[d][0](),e[d]=0;return r.O(i)},b=self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[];b.forEach(a.bind(null,0)),b.push=a.bind(null,b.push.bind(b))})()})(); \ No newline at end of file diff --git a/assets/js/runtime~main.f4757c83.js b/assets/js/runtime~main.f4757c83.js deleted file mode 100644 index 69f9fe7de..000000000 --- a/assets/js/runtime~main.f4757c83.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/"+({123:"80d5addc",683:"44f6c623",912:"9cd35a7e",1005:"7b3a75e2",1463:"31e124ed",1907:"fda35176",1953:"35847f85",2017:"a45b31ec",2040:"09d8acdc",2110:"8cdd3050",2143:"7d063b53",2234:"e71b04e6",2626:"e6326b0c",2709:"3cc3f22b",2821:"3d99f89d",2860:"94335e76",2864:"46604707",3168:"ccea3a4d",3197:"8df52c09",3530:"56f8d3dd",3552:"ddb69969",4254:"21c119bb",4309:"07fb059b",4392:"805db72d",4590:"a372a63b",4669:"2067e39b",4675:"790fff8f",5200:"a9ff9f98",5488:"0a9768df",5662:"d0e59ab5",5730:"9a04d7c3",5768:"64e3919b",5934:"a43c0a1c",6237:"30e34e97",6650:"ce7d450a",7561:"22cdf000",7582:"c7fa2f29",7687:"0205c089",8256:"cd521b29",8482:"c3122f65",8548:"759f3f6b",8622:"1b63fe07",8833:"73699c74",8891:"a0d23381",10001:"8eb4e46b",10290:"31d6ca5c",10725:"24b57605",10817:"aa47c437",10823:"bb95e167",10898:"7c673fac",11209:"e8854f45",11364:"c361232e",11370:"ed3575d5",11477:"b2f554cd",11503:"a6e1df93",11528:"d88895d1",11713:"a7023ddc",11792:"44ef7d31",11832:"8e0a64cf",11852:"43ab2c5c",11928:"bc8a7ae5",12080:"c38fd7bd",12345:"37f27a13",12429:"81d5dffa",12430:"b7f27d80",12594:"0cf6d2ee",12666:"dd059938",12706:"b9355076",13234:"7fa80a78",13745:"d3930d00",13759:"d28f320b",13894:"0655bd76",14011:"63b7ed35",14032:"a374712b",14047:"4f6e5aff",14236:"5add9946",14248:"3aebe9a9",14274:"5fc994c2",14327:"6b8dfc08",14422:"548faf69",14575:"36d70216",14650:"97cb0cff",14799:"bf7018cf",14845:"80796e9f",14973:"f92772a6",14996:"6a5d09b2",15008:"f00dda52",15388:"41aa949a",15751:"b31b2138",15777:"388ae04f",15954:"47a776f2",16106:"4cfcdd67",16337:"89c5f7f6",16586:"183053be",16633:"22e7b626",16864:"e7328bb1",16875:"c9815f8a",16899:"8ddbe34c",17025:"795f4ac3",17107:"147ca104",17312:"1ab6957b",17343:"5025c75d",17375:"e3792bbb",17577:"3124e7fd",17905:"590322ab",17993:"4ec5858e",18505:"6cbda4b6",18518:"a7bd4aaa",18603:"7a9c7a9a",18639:"c661d3f1",19373:"f6aef24f",19520:"e0d892c2",19555:"5bf26d11",19722:"56802612",20090:"67da9612",20101:"be197d78",20394:"e801e723",20505:"ae5745cc",20850:"d14f8ee5",21260:"8b62c48f",21303:"b9979bed",21336:"3e53f2d3",21592:"f92290a0",21594:"56b8c1aa",21740:"b3636d59",21958:"19a6ffde",22086:"51f93b96",22260:"cd0300a2",22358:"812444b5",22367:"d5c4c4ae",22705:"32030e6f",22776:"6f0e603d",23246:"3a244aec",23289:"90c2c848",23360:"80d0bffa",24033:"938b8490",24190:"e79e64be",24265:"79818576",24302:"963c8ac0",24359:"39c8d3f8",24373:"b8283c8e",24460:"6b207c51",24490:"23464d23",24498:"20e43c84",24681:"e12d4719",24783:"40bcb702",25335:"62f60b5b",25450:"2c773ba3",26079:"4e946086",26244:"ed133f89",26512:"325ddbed",26604:"74bedbb6",26736:"619eeade",27561:"25b43794",27639:"83ee1d6a",27773:"1698e1d1",27848:"30241ed8",27918:"17896441",27922:"9bd54e26",27987:"281e3fe0",28015:"715a66b3",28177:"029c29d9",29041:"9f25cf08",29099:"d1a0cea3",29340:"88748759",29661:"5e95c892",29711:"952356a8",29737:"f7b99134",29824:"96795ae1",30385:"49403d8c",30602:"beb2a160",30673:"13c21afe",30866:"6f52e085",31574:"9bd02e6c",31647:"3b5edcc4",31653:"b4f7c3fb",31823:"9e4e2e8b",31935:"cfae12a4",33179:"b3b90a5e",33206:"92a392ff",33263:"230a0014",33304:"59c340d8",33346:"7fbb6eb5",33488:"35d3178b",33658:"ecf43748",34111:"53a1ff94",34339:"5be441ac",34514:"62284ec3",34900:"120f8e9c",35179:"39035dcb",35460:"d0b1075b",35466:"9cd71f2c",35491:"1c82c718",36007:"f8bbda75",36666:"014fa81c",36766:"600a6af1",36790:"998cd6c6",37086:"26b1dccf",37303:"dbd7356d",37379:"3481c063",37423:"7d1194b2",37530:"ee4eba04",37739:"679e6283",37907:"3f56b28d",37933:"10c1e86a",38042:"18ea4958",38147:"af8ed05f",38262:"6b94b48b",38284:"bcdc9a5c",38551:"acacc2b4",38703:"fd4ea388",38765:"318b66a0",38768:"a2dbf4e7",39087:"7b2162ed",39205:"31b83fd6",39252:"5bd755c4",39599:"369bf9e9",39687:"326267d5",39964:"d9cc83f8",40089:"c62d4947",40168:"1aa24188",40360:"60d85392",40653:"44c6aa62",40730:"b3760b7c",40884:"f8d85197",40988:"af09cb5f",41254:"27c45671",41381:"1eef4415",41772:"8c05f4d5",41790:"ce0a947c",42367:"2a89e141",42709:"4f057d99",42957:"2d764dca",43118:"4eaf1272",43215:"779187a6",43347:"e4399142",43362:"b22c1dac",43374:"5cda8f59",43621:"92621e92",44136:"f0ebaa7e",44198:"f34f869b",44280:"52c25d1c",44639:"0dcc1e01",45012:"9e8339c4",45249:"4293ef56",46065:"be937143",46103:"ccc49370",46245:"d2dc1d28",46383:"7ab92eb4",46604:"0e617e7a",46738:"5d41d0b6",46946:"2b4fbe73",47079:"749660c3",47495:"883d241c",47546:"07b5dca2",47697:"688ea354",47698:"66151e3f",47829:"5ba3e239",48379:"103a101a",48417:"1622041d",48449:"dc28c8db",48472:"aebfde4b",48610:"6875c492",48792:"092d0294",48944:"ce19f7d3",48952:"afb6799c",48976:"6299beff",49496:"72822034",49594:"435e79fb",49612:"2747918f",49739:"72aadbbe",49900:"c9f06a2a",49909:"cec206a7",50434:"186bf65f",50618:"4ece2ef5",50836:"f407a811",50964:"bce2f7e5",51538:"fd21cc65",51566:"eaffcef6",51610:"2e99cb0e",51960:"3634820b",52032:"5ed3387d",52432:"769f10a0",52483:"67644baa",52521:"b8b55b85",52535:"814f3328",52592:"02b9869f",52721:"e1f747d9",52910:"39b05d13",53244:"0fe8a02a",53443:"e9beab12",53608:"9e4087bc",54005:"6156002b",54069:"e00f1d66",54178:"44b117b5",54281:"c709f244",54379:"e90b4b34",54583:"bff0bad2",54909:"ce4b3df7",55178:"4f8601bc",55256:"2bd83684",55273:"c2a527e7",55338:"4aad33a5",55582:"40adba6a",56129:"23da3c05",56204:"714feb36",56224:"39447efc",56264:"390b04b5",56664:"8ae4ee15",56759:"7dd4c8bc",56824:"1d1d00c8",56962:"286194e8",57182:"86405c0e",57551:"10db50b8",57720:"96c3e083",57780:"5024c8a9",57971:"c38062b9",59350:"d5f39101",59441:"45a57db1",59602:"ba4d70ca",60082:"ad6305cb",60277:"85c52577",60299:"0242a13a",60322:"8ddd1f69",60401:"b11b48f8",60414:"1f5f1faf",60614:"4dad0b95",60710:"43d76b0c",61496:"d845213b",61823:"5e3b00c5",62139:"7c785ce9",62303:"b8b9d8e8",62359:"9962ee1e",62585:"cf91d205",62707:"1a6a2ec3",62847:"426b1138",62887:"37703fea",62933:"9f6545b7",63057:"a5dd7d10",63252:"29014e21",63452:"4619ca6c",63538:"dbfa0beb",63548:"efbb6268",63571:"bb98611a",63749:"e8a4c7be",63750:"1a8da153",63841:"a56ad6f0",64013:"01a85c17",64068:"e2bba919",64195:"c4f5d8e4",64314:"e18eec83",64341:"d6a42b72",64526:"d0301901",64909:"3fd111c7",65039:"0bea9cd5",65230:"13362ea9",66114:"0058bf23",66171:"90151e6b",66250:"163b78fe",66942:"f218f265",67175:"45159772",67567:"d136d263",67702:"ec5d0804",67759:"4b8950e9",68012:"de657462",68243:"5c125432",68330:"518baa20",68385:"af9ac9e0",68975:"2176bd9e",69051:"a45434fa",69090:"e4af6a2d",69441:"a2d3b782",69500:"fea00b33",69565:"d7756765",69847:"ee1ed8c4",69867:"50c94cd7",70036:"64793643",70131:"795feea1",70262:"6ffa71f8",70672:"81faadf7",70702:"3ed2c247",70741:"c72fb457",71036:"048a2137",71128:"5b027e06",71146:"dc46868d",71419:"fbd7f063",71431:"f162eb70",71469:"b4c9bdc9",71508:"b64e38ac",71658:"837a3e8d",72468:"b6d824a3",72521:"a2947dce",72558:"901c0002",72908:"42478870",73013:"da20989d",73570:"aee4c48a",73590:"499ba0c7",73638:"6afb304f",73670:"962afcd6",73684:"fdc13b44",73887:"afdc90ee",73899:"35144e55",74121:"c9c3a302",74192:"f1a7576f",74292:"c87de583",74598:"adaf2bab",74683:"fce92293",74711:"ee924e36",74758:"066ec25f",75393:"9d954fea",75526:"dea8b3ed",75574:"83ce5e05",75756:"ff445556",75827:"f880b41b",75860:"87f23a60",75885:"39d8d90f",75970:"f0f0c9e0",76288:"54305ae0",76401:"5215d6a1",76590:"9e3bbdc0",76594:"fbe7d2e8",76741:"ca69ab29",76742:"ed480930",76809:"3b7ac723",76811:"a3a64d88",76814:"bca46e3f",77579:"8e2e6ad6",78171:"533d3ffb",78294:"4e418365",78327:"ef02483f",78345:"641a79fb",78384:"7089c5e9",78393:"42d5a18c",78645:"259bd0c5",78887:"adb54813",78949:"f5d62c05",78951:"2297cc0d",79087:"bc5075fb",79133:"0810f675",79204:"a97e7f15",79321:"0aeeb10b",79505:"1385dc12",79528:"85d49e2b",79573:"9f724635",79590:"25539fcb",80053:"935f2afb",80239:"0f187495",80389:"e110487c",80409:"2716246c",80453:"e4932c64",80816:"8eb5a1d8",80843:"5d34a3e0",80920:"2a615d1d",81090:"db98aa0c",81135:"9ac95129",81302:"2e9194de",81420:"8364cffd",81486:"f26f0cdb",82209:"43adcc08",82214:"7ddf2558",82308:"6b93e189",82452:"41bc8270",82882:"ee85e3b6",83036:"c6cd348e",83101:"b6358757",83256:"6203860c",83304:"a112d798",83350:"da81302a",83511:"ea645227",83709:"7cca0223",83800:"9a46388f",84266:"0c06981f",84279:"c55525a9",84805:"9ee0eb8a",84897:"e8903528",84951:"8df1c5c9",85064:"c344252c",85219:"ae8e07b1",85454:"7cbc5997",85526:"46ddaac3",85985:"08cebe36",86057:"b6915d5f",86180:"9ca2f55b",86198:"cf4609e7",86405:"ae06c6f1",86438:"8d5ae15a",86487:"d817bad3",86840:"ab8fc1e5",86873:"98c40af1",86894:"add2b463",87019:"2554564d",87091:"6eb5397d",87305:"ebfee794",87823:"54b7d866",87862:"85434a08",87888:"536309bb",87954:"5b767225",88005:"541d824c",88394:"07af796b",88426:"23002826",88427:"a12ac645",88599:"385e6aa6",88863:"64042be6",88925:"7c7e3f2e",88963:"c78f4965",89141:"640b2864",89204:"76f2b92e",89217:"68c90bbc",89340:"9ec15741",89509:"9eec1b69",89659:"6042c76a",89758:"db6287e5",90393:"110cdc73",90533:"b2b675dd",90717:"7c97d78d",90742:"0d27e988",91186:"d0ecf97a",91414:"fae9d50a",91799:"035d9dc3",92149:"889c25c7",92505:"73496ed9",92972:"fbe6399d",93089:"a6aa9e1f",93392:"f0b5617d",93464:"fd6d4018",93521:"e37577e1",94120:"2c4528c6",94190:"6bcded04",94368:"a94703ab",94829:"0c7b26d1",94908:"7cf19012",94937:"e93eaee1",95053:"9d107aac",95085:"f7aec19e",95181:"c80bf43d",95534:"0f1457e8",96163:"8383ea83",96434:"6e870323",96591:"daf8bbf9",96781:"5f22e924",96854:"0cbbedcd",97227:"0cde639a",97485:"2345a3b7",97517:"c15d2dfd",97550:"2f2ad190",97607:"cb3c2681",97727:"7d66ff10",97920:"1a4e3797",98025:"d0c63040",98112:"341e5e63",98169:"39e353ee",98195:"43ac2fb4",98202:"8f5a650f",98228:"9dc56d2c",98280:"46540e82",98761:"f4a6cc60",98825:"9f7aca5a",99248:"01980361",99259:"a737efbc",99346:"7ee32c60",99701:"06946b11",99731:"5fbdd67a",99815:"9cc47562",99958:"cb7a22d0"}[e]||e)+"."+{123:"15f0843b",683:"c6b37097",912:"e600d19b",1005:"1892f936",1463:"a2af7a01",1907:"6c45d32c",1953:"02ec29c7",2017:"675e3a3f",2040:"3e0471c0",2110:"96eb956a",2143:"9652dab0",2234:"4bfa22ff",2626:"432b79d4",2709:"1b3ed19f",2821:"6c749b3f",2860:"74a30512",2864:"c41def5c",3168:"0f97d1eb",3197:"7cd49fce",3530:"f0741411",3552:"1df53c92",4254:"c860079d",4309:"e2370fbb",4392:"e5918289",4590:"d96f4ce1",4669:"f89115ab",4675:"530bb499",5200:"c5657158",5488:"3bb1668c",5662:"24ac2d20",5730:"c7f859d2",5768:"32815697",5934:"117faab0",6237:"2013e644",6650:"61b2642b",7561:"294b5752",7582:"a2583f43",7687:"17f39501",8256:"a15ed2a8",8482:"f0a18bf2",8548:"83d460ef",8622:"55ee408d",8833:"0f0a356d",8891:"3de22752",10001:"6c571dcd",10290:"e336b372",10725:"10361e64",10817:"d2a655ad",10823:"efe3fb50",10898:"4b60a714",11209:"8bc49a07",11364:"ad0c45e4",11370:"fa8f8948",11477:"66ac60ee",11503:"3c9d786a",11528:"34ba02b1",11713:"2c730e52",11792:"c05ac4f2",11832:"4488e7b2",11852:"95fb156e",11928:"95c6df19",12080:"d95ef8f6",12345:"fcdc5e0b",12429:"7049f69e",12430:"6671c6a7",12594:"8e18c2f6",12666:"65eeecd6",12706:"d220a535",13234:"8b995c9f",13745:"c49cface",13759:"9cf76f87",13894:"4c0ec105",14011:"15311b8e",14032:"d5f26001",14047:"39a7624f",14236:"8bf5231a",14248:"a0e94b0a",14274:"94070f56",14327:"d7e437bd",14422:"85fce851",14575:"fe56d203",14650:"78f7ad75",14799:"cf3d3c22",14845:"46b2c0c2",14973:"00162167",14996:"a94df5fc",15008:"31067901",15388:"378f4eac",15751:"aa68ee3b",15777:"5128fbb5",15954:"192fa5e6",16106:"a0c419b2",16337:"98173ac8",16586:"74979dac",16633:"e84a9aaf",16864:"51ad52bc",16875:"278cdd7d",16899:"6ebe2282",17025:"4beefd67",17107:"f5134be0",17312:"bbec41bd",17343:"f5456093",17375:"98d3c9e8",17577:"f693c062",17905:"6301176f",17993:"9f3b451e",18505:"dd510b8c",18518:"2e308d0f",18603:"373e03fb",18639:"dc540f16",18894:"5830acd4",19373:"32215f88",19520:"255ff9c8",19555:"ce9938dc",19722:"f283ecb4",20090:"009ea077",20101:"c0b7ab5b",20394:"ee8b081e",20505:"ff7be3ee",20850:"ec215865",21260:"1dfb1c2b",21303:"d6a8a3c7",21336:"c26969a8",21592:"44c1c712",21594:"be2cc16e",21740:"b34b512c",21958:"3877e950",22086:"3bc87e7f",22260:"9bffa988",22358:"ea035503",22367:"3f9f5cee",22705:"d5e91da2",22776:"412c68ae",23246:"35deca43",23289:"9f4c7505",23360:"d6c4486e",24033:"9177d581",24190:"14a7e8e4",24265:"40deca28",24302:"f28dfada",24359:"2243da4c",24373:"d86682f7",24460:"0f690627",24490:"31b480b2",24498:"12fbfbca",24681:"159202ed",24783:"cf737cb3",25335:"b98c977a",25450:"7bd18c47",26079:"ae370b77",26244:"e3ec197b",26512:"b2e420d4",26604:"6467f947",26736:"f689e75b",27561:"69fb15e9",27639:"52d99159",27773:"77ad3211",27848:"000d9940",27918:"34f4d4c0",27922:"77e44f6a",27987:"3dc12786",28015:"07782cab",28177:"e2924cc7",29041:"3433e953",29099:"1912a91d",29340:"23187211",29661:"6755808b",29711:"3aff99d8",29737:"37b62454",29824:"24b3cd03",30385:"cb88ed31",30602:"a6a67747",30673:"e55af57b",30866:"51a68d0d",31574:"367b7884",31647:"3684df6d",31653:"778e23f3",31823:"86137961",31935:"68a2c653",33179:"743d0ff3",33206:"eda5b668",33263:"30873c22",33304:"4a2dde3d",33346:"1bf8eeb2",33488:"6f3c7795",33658:"8d13331d",34111:"b8512e71",34339:"290b1fd3",34514:"80672934",34900:"5c522c71",35179:"4c15c05d",35460:"7f8d7aa0",35466:"c0f0bdb5",35491:"e3874e66",36007:"6fa96c37",36666:"fdc41dda",36766:"0347c3f7",36790:"73d48907",37086:"cc65587e",37303:"710f58d0",37379:"171c8b20",37423:"92eaf60c",37530:"c4a292dd",37739:"c7098294",37907:"e2b5944e",37933:"4a399495",38042:"653172d2",38147:"fdfee31a",38262:"a1360d26",38284:"66652ab3",38551:"4e41e2cd",38703:"91819333",38765:"71a4309b",38768:"9406acd6",39087:"4fa1726e",39205:"b12ed716",39252:"385bddae",39599:"b7a0057d",39687:"c508303e",39964:"49043620",40089:"132e7071",40168:"42846a2d",40360:"7b10d781",40653:"93429933",40730:"b508f851",40884:"56b3abf5",40988:"ff5ef31d",41254:"e27c851f",41381:"400a6212",41772:"725994e0",41790:"a622469e",42367:"c01e3167",42709:"64d258b3",42957:"bce4062b",43118:"ea9b7d48",43215:"bb17c578",43347:"51d32080",43362:"3c5a6fb8",43374:"d25191a4",43621:"f0d805f2",44136:"3cf51860",44198:"3cc02137",44280:"a5a00ca8",44639:"b8b669ab",45012:"699e6d90",45249:"3102a347",46065:"9b9ce781",46103:"f2e8965c",46245:"f24d1b39",46383:"78ad74f2",46604:"39ab3af3",46738:"a4885715",46945:"ecbe0d45",46946:"c1991394",47079:"ceeff181",47495:"d625546e",47546:"324e6672",47697:"d3d262f3",47698:"213166fb",47829:"f5273366",48379:"6f8d89af",48417:"c6f2ec7d",48449:"020d1356",48472:"f94a8d77",48610:"4540ba6a",48792:"dbd159f8",48944:"cf564f41",48952:"bb9c8e9b",48976:"77a1ae68",49496:"9953cc32",49594:"4803e223",49612:"a84ac230",49739:"850ee564",49900:"b0c11554",49909:"57565897",50434:"b844103a",50618:"a346d153",50836:"a49d423d",50964:"032a4a30",51538:"79afb707",51566:"410d9bcc",51610:"a8abf49b",51772:"1f02e670",51960:"2706496d",52032:"1371409d",52432:"72f9d4dd",52483:"8979f6c8",52521:"e1eca788",52535:"4a44c4ec",52592:"a168b8ba",52721:"63955f22",52910:"68a9c05a",53244:"a342ead9",53443:"1abe30d7",53608:"0ac6f908",54005:"01911e4d",54069:"15c612ec",54178:"ff284632",54281:"e769dbfb",54379:"03dc8a8a",54583:"0004f8f8",54909:"7be556dc",55178:"7510502f",55256:"c1381430",55273:"657f446a",55338:"417fc2e7",55582:"326852fc",56129:"d1021a57",56204:"3b874ad1",56224:"2175902a",56264:"b3e99992",56664:"c09704a7",56759:"7f8dd4a6",56824:"f6c6b1fb",56962:"e3741010",57182:"0843d1ff",57551:"50c25fec",57720:"231d3ea6",57780:"fcee0973",57971:"9eb89be6",59350:"6da9fa81",59441:"2e0ee51e",59602:"dd405777",60082:"ae82c4c5",60277:"68316610",60299:"9ccecec0",60322:"1ccd0d48",60401:"5bc110c6",60414:"8fb831a8",60614:"2881bf0b",60710:"2c5253dc",61426:"ad11bab6",61496:"3f50a9a0",61823:"a2a79fd0",62139:"bd908545",62303:"54b76df8",62359:"f07389de",62585:"c90246bd",62707:"4405f9c7",62847:"329cf2ce",62887:"99161a81",62933:"e8e06654",63057:"0199b425",63252:"f8043adf",63452:"e589dfd6",63538:"e1467fe8",63548:"96289e1b",63571:"081680bd",63749:"3cb2e0f1",63750:"2ad879b0",63841:"c2a69256",64013:"9251edb3",64068:"22fa79e1",64195:"02ad68f5",64314:"0b3e9eb5",64341:"cc6fa16e",64526:"75603c1c",64909:"db6784d4",65039:"00c46752",65230:"78813260",66114:"ddce52ea",66171:"d5c1b2ff",66250:"cf9f1851",66942:"fc97f220",67175:"2907a66a",67567:"aedbc5f1",67702:"6fb74092",67759:"b3d137ed",68012:"161004f4",68243:"be34af4d",68330:"92543ff6",68385:"67881861",68975:"89cd477b",69051:"058c2865",69090:"11bc7f5e",69441:"c3dee7b8",69500:"c3eab119",69565:"d1faefac",69847:"1d214711",69867:"2f6a82bc",70036:"838ffe2d",70131:"556f08a6",70262:"a5687f81",70672:"67952a60",70702:"acedf7ca",70741:"5735ed47",71036:"e8b17c24",71128:"a9beeeea",71146:"4181a7b7",71419:"06a7ece7",71431:"7c2a8fe7",71469:"f47be3c1",71508:"b9fa4b63",71658:"42466650",72312:"8739f414",72468:"078283e6",72521:"ad85b6b4",72558:"b7f55f91",72908:"81614351",73013:"d2c0220f",73570:"539deb79",73590:"a07b757c",73638:"fc213360",73670:"56c29317",73684:"4a91cbee",73887:"cd734fc7",73899:"3f2872b1",74121:"a0a7a249",74192:"3afe6195",74292:"7bc36fca",74598:"b7071765",74683:"8dfaac74",74711:"5f86623c",74758:"e1d214eb",75393:"17ce9856",75526:"c23e4654",75574:"36d07a69",75756:"139913f3",75827:"1cc4f5e3",75860:"4d0104b4",75885:"cf24ec47",75970:"c7013093",76288:"322d6a13",76401:"20634e24",76590:"7f7c6687",76594:"143e65ca",76741:"fb293bef",76742:"4b5144fb",76809:"748601a3",76811:"24a2a7fe",76814:"2866f9f2",77579:"417e18a3",78171:"b841e645",78294:"41fd0787",78327:"1aeb5f09",78345:"2a78faf9",78384:"134bf9fb",78393:"9c96bc1b",78645:"6d5e254d",78887:"abac955b",78945:"5150309a",78949:"a0f5adae",78951:"a31f93cb",79087:"da760e69",79133:"a317fa55",79204:"88f80f65",79321:"fbde84e0",79505:"9c86bbac",79528:"9566f508",79573:"f2215c7e",79590:"1f7852d7",79677:"ff84d711",80053:"9900e50f",80239:"83c9fa17",80389:"ce184b28",80409:"bee4320c",80453:"78855d14",80816:"2c9aa8b7",80843:"838df7a8",80920:"c6a4e223",81090:"6d450e83",81135:"72daa972",81302:"6ed3f8aa",81420:"774e7dbc",81486:"b794ea48",82209:"89acebf4",82214:"aa1a20e0",82308:"08201d8a",82452:"b88bd7e5",82882:"e23b8401",83036:"7cb85e40",83101:"993031c6",83256:"90123551",83304:"230837a3",83350:"446c7a40",83511:"82fb87ba",83709:"9a73c3ef",83800:"f96d5bc9",84266:"fa2bb7b3",84279:"7679ae4b",84805:"e7295845",84897:"82fff298",84951:"f2356997",85064:"7e1152d4",85219:"f9fc9b60",85454:"e67f6f8a",85526:"cb5ef1b8",85985:"efa483ac",86057:"bfa9e219",86180:"397124c1",86198:"71907238",86405:"7982502d",86438:"466ab492",86487:"ba15b2d0",86840:"8391afb4",86873:"fbafb9a3",86894:"ab7a10d3",87019:"e2f03e00",87091:"e84389fa",87305:"d08daa2b",87823:"a25e11be",87862:"edfbabc8",87888:"58aaf7bf",87954:"d3781cd4",88005:"127f329b",88394:"7e7f6581",88426:"c2264648",88427:"892517a6",88599:"cd0d9600",88863:"7918116c",88925:"da404daf",88963:"14d572fc",89141:"19c9fe67",89204:"2423aa4a",89217:"2d1fdbf6",89340:"a276f235",89509:"d1f357ef",89659:"fdaf9388",89758:"9b635b04",90393:"bc469159",90533:"5b585411",90717:"648f5016",90742:"8e51007e",91186:"4dd1b3d7",91414:"ece4f6a6",91799:"f45b0758",92149:"de1538ba",92505:"ce329dc2",92972:"9d285f1b",93089:"beca3713",93392:"3ba2b97d",93464:"7d6048a5",93521:"b9e4681b",94120:"d38ebd4e",94190:"ff8f8d59",94368:"84041cb0",94829:"db1638b5",94908:"945032ff",94937:"c65a00e9",95053:"edfd0698",95085:"c3c0f029",95181:"0b564bdf",95534:"4fafffdc",96163:"36d0a346",96434:"adeab9ff",96591:"bad594d0",96781:"1b7cb3cf",96854:"6b668811",97227:"f00b953b",97485:"20d709fd",97517:"c4804871",97550:"17e823fe",97607:"d9ccfa82",97727:"e7575e35",97920:"df762252",98025:"7fc9c4e4",98112:"6128984b",98169:"e328c632",98195:"4055e6cc",98202:"e0347b62",98228:"79a73580",98280:"ea981ba9",98761:"9f45f239",98825:"f0f05002",99248:"8717faba",99259:"78e68969",99346:"16da8ddc",99701:"c87f93dd",99731:"a65e7d6b",99815:"b2cb6b4f",99958:"0483d508"}[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:"27918",23002826:"88426",42478870:"72908",45159772:"67175",46604707:"2864",56802612:"19722",64793643:"70036",72822034:"49496",79818576:"24265",88748759:"29340","80d5addc":"123","44f6c623":"683","9cd35a7e":"912","7b3a75e2":"1005","31e124ed":"1463",fda35176:"1907","35847f85":"1953",a45b31ec:"2017","09d8acdc":"2040","8cdd3050":"2110","7d063b53":"2143",e71b04e6:"2234",e6326b0c:"2626","3cc3f22b":"2709","3d99f89d":"2821","94335e76":"2860",ccea3a4d:"3168","8df52c09":"3197","56f8d3dd":"3530",ddb69969:"3552","21c119bb":"4254","07fb059b":"4309","805db72d":"4392",a372a63b:"4590","2067e39b":"4669","790fff8f":"4675",a9ff9f98:"5200","0a9768df":"5488",d0e59ab5:"5662","9a04d7c3":"5730","64e3919b":"5768",a43c0a1c:"5934","30e34e97":"6237",ce7d450a:"6650","22cdf000":"7561",c7fa2f29:"7582","0205c089":"7687",cd521b29:"8256",c3122f65:"8482","759f3f6b":"8548","1b63fe07":"8622","73699c74":"8833",a0d23381:"8891","8eb4e46b":"10001","31d6ca5c":"10290","24b57605":"10725",aa47c437:"10817",bb95e167:"10823","7c673fac":"10898",e8854f45:"11209",c361232e:"11364",ed3575d5:"11370",b2f554cd:"11477",a6e1df93:"11503",d88895d1:"11528",a7023ddc:"11713","44ef7d31":"11792","8e0a64cf":"11832","43ab2c5c":"11852",bc8a7ae5:"11928",c38fd7bd:"12080","37f27a13":"12345","81d5dffa":"12429",b7f27d80:"12430","0cf6d2ee":"12594",dd059938:"12666",b9355076:"12706","7fa80a78":"13234",d3930d00:"13745",d28f320b:"13759","0655bd76":"13894","63b7ed35":"14011",a374712b:"14032","4f6e5aff":"14047","5add9946":"14236","3aebe9a9":"14248","5fc994c2":"14274","6b8dfc08":"14327","548faf69":"14422","36d70216":"14575","97cb0cff":"14650",bf7018cf:"14799","80796e9f":"14845",f92772a6:"14973","6a5d09b2":"14996",f00dda52:"15008","41aa949a":"15388",b31b2138:"15751","388ae04f":"15777","47a776f2":"15954","4cfcdd67":"16106","89c5f7f6":"16337","183053be":"16586","22e7b626":"16633",e7328bb1:"16864",c9815f8a:"16875","8ddbe34c":"16899","795f4ac3":"17025","147ca104":"17107","1ab6957b":"17312","5025c75d":"17343",e3792bbb:"17375","3124e7fd":"17577","590322ab":"17905","4ec5858e":"17993","6cbda4b6":"18505",a7bd4aaa:"18518","7a9c7a9a":"18603",c661d3f1:"18639",f6aef24f:"19373",e0d892c2:"19520","5bf26d11":"19555","67da9612":"20090",be197d78:"20101",e801e723:"20394",ae5745cc:"20505",d14f8ee5:"20850","8b62c48f":"21260",b9979bed:"21303","3e53f2d3":"21336",f92290a0:"21592","56b8c1aa":"21594",b3636d59:"21740","19a6ffde":"21958","51f93b96":"22086",cd0300a2:"22260","812444b5":"22358",d5c4c4ae:"22367","32030e6f":"22705","6f0e603d":"22776","3a244aec":"23246","90c2c848":"23289","80d0bffa":"23360","938b8490":"24033",e79e64be:"24190","963c8ac0":"24302","39c8d3f8":"24359",b8283c8e:"24373","6b207c51":"24460","23464d23":"24490","20e43c84":"24498",e12d4719:"24681","40bcb702":"24783","62f60b5b":"25335","2c773ba3":"25450","4e946086":"26079",ed133f89:"26244","325ddbed":"26512","74bedbb6":"26604","619eeade":"26736","25b43794":"27561","83ee1d6a":"27639","1698e1d1":"27773","30241ed8":"27848","9bd54e26":"27922","281e3fe0":"27987","715a66b3":"28015","029c29d9":"28177","9f25cf08":"29041",d1a0cea3:"29099","5e95c892":"29661","952356a8":"29711",f7b99134:"29737","96795ae1":"29824","49403d8c":"30385",beb2a160:"30602","13c21afe":"30673","6f52e085":"30866","9bd02e6c":"31574","3b5edcc4":"31647",b4f7c3fb:"31653","9e4e2e8b":"31823",cfae12a4:"31935",b3b90a5e:"33179","92a392ff":"33206","230a0014":"33263","59c340d8":"33304","7fbb6eb5":"33346","35d3178b":"33488",ecf43748:"33658","53a1ff94":"34111","5be441ac":"34339","62284ec3":"34514","120f8e9c":"34900","39035dcb":"35179",d0b1075b:"35460","9cd71f2c":"35466","1c82c718":"35491",f8bbda75:"36007","014fa81c":"36666","600a6af1":"36766","998cd6c6":"36790","26b1dccf":"37086",dbd7356d:"37303","3481c063":"37379","7d1194b2":"37423",ee4eba04:"37530","679e6283":"37739","3f56b28d":"37907","10c1e86a":"37933","18ea4958":"38042",af8ed05f:"38147","6b94b48b":"38262",bcdc9a5c:"38284",acacc2b4:"38551",fd4ea388:"38703","318b66a0":"38765",a2dbf4e7:"38768","7b2162ed":"39087","31b83fd6":"39205","5bd755c4":"39252","369bf9e9":"39599","326267d5":"39687",d9cc83f8:"39964",c62d4947:"40089","1aa24188":"40168","60d85392":"40360","44c6aa62":"40653",b3760b7c:"40730",f8d85197:"40884",af09cb5f:"40988","27c45671":"41254","1eef4415":"41381","8c05f4d5":"41772",ce0a947c:"41790","2a89e141":"42367","4f057d99":"42709","2d764dca":"42957","4eaf1272":"43118","779187a6":"43215",e4399142:"43347",b22c1dac:"43362","5cda8f59":"43374","92621e92":"43621",f0ebaa7e:"44136",f34f869b:"44198","52c25d1c":"44280","0dcc1e01":"44639","9e8339c4":"45012","4293ef56":"45249",be937143:"46065",ccc49370:"46103",d2dc1d28:"46245","7ab92eb4":"46383","0e617e7a":"46604","5d41d0b6":"46738","2b4fbe73":"46946","749660c3":"47079","883d241c":"47495","07b5dca2":"47546","688ea354":"47697","66151e3f":"47698","5ba3e239":"47829","103a101a":"48379","1622041d":"48417",dc28c8db:"48449",aebfde4b:"48472","6875c492":"48610","092d0294":"48792",ce19f7d3:"48944",afb6799c:"48952","6299beff":"48976","435e79fb":"49594","2747918f":"49612","72aadbbe":"49739",c9f06a2a:"49900",cec206a7:"49909","186bf65f":"50434","4ece2ef5":"50618",f407a811:"50836",bce2f7e5:"50964",fd21cc65:"51538",eaffcef6:"51566","2e99cb0e":"51610","3634820b":"51960","5ed3387d":"52032","769f10a0":"52432","67644baa":"52483",b8b55b85:"52521","814f3328":"52535","02b9869f":"52592",e1f747d9:"52721","39b05d13":"52910","0fe8a02a":"53244",e9beab12:"53443","9e4087bc":"53608","6156002b":"54005",e00f1d66:"54069","44b117b5":"54178",c709f244:"54281",e90b4b34:"54379",bff0bad2:"54583",ce4b3df7:"54909","4f8601bc":"55178","2bd83684":"55256",c2a527e7:"55273","4aad33a5":"55338","40adba6a":"55582","23da3c05":"56129","714feb36":"56204","39447efc":"56224","390b04b5":"56264","8ae4ee15":"56664","7dd4c8bc":"56759","1d1d00c8":"56824","286194e8":"56962","86405c0e":"57182","10db50b8":"57551","96c3e083":"57720","5024c8a9":"57780",c38062b9:"57971",d5f39101:"59350","45a57db1":"59441",ba4d70ca:"59602",ad6305cb:"60082","85c52577":"60277","0242a13a":"60299","8ddd1f69":"60322",b11b48f8:"60401","1f5f1faf":"60414","4dad0b95":"60614","43d76b0c":"60710",d845213b:"61496","5e3b00c5":"61823","7c785ce9":"62139",b8b9d8e8:"62303","9962ee1e":"62359",cf91d205:"62585","1a6a2ec3":"62707","426b1138":"62847","37703fea":"62887","9f6545b7":"62933",a5dd7d10:"63057","29014e21":"63252","4619ca6c":"63452",dbfa0beb:"63538",efbb6268:"63548",bb98611a:"63571",e8a4c7be:"63749","1a8da153":"63750",a56ad6f0:"63841","01a85c17":"64013",e2bba919:"64068",c4f5d8e4:"64195",e18eec83:"64314",d6a42b72:"64341",d0301901:"64526","3fd111c7":"64909","0bea9cd5":"65039","13362ea9":"65230","0058bf23":"66114","90151e6b":"66171","163b78fe":"66250",f218f265:"66942",d136d263:"67567",ec5d0804:"67702","4b8950e9":"67759",de657462:"68012","5c125432":"68243","518baa20":"68330",af9ac9e0:"68385","2176bd9e":"68975",a45434fa:"69051",e4af6a2d:"69090",a2d3b782:"69441",fea00b33:"69500",d7756765:"69565",ee1ed8c4:"69847","50c94cd7":"69867","795feea1":"70131","6ffa71f8":"70262","81faadf7":"70672","3ed2c247":"70702",c72fb457:"70741","048a2137":"71036","5b027e06":"71128",dc46868d:"71146",fbd7f063:"71419",f162eb70:"71431",b4c9bdc9:"71469",b64e38ac:"71508","837a3e8d":"71658",b6d824a3:"72468",a2947dce:"72521","901c0002":"72558",da20989d:"73013",aee4c48a:"73570","499ba0c7":"73590","6afb304f":"73638","962afcd6":"73670",fdc13b44:"73684",afdc90ee:"73887","35144e55":"73899",c9c3a302:"74121",f1a7576f:"74192",c87de583:"74292",adaf2bab:"74598",fce92293:"74683",ee924e36:"74711","066ec25f":"74758","9d954fea":"75393",dea8b3ed:"75526","83ce5e05":"75574",ff445556:"75756",f880b41b:"75827","87f23a60":"75860","39d8d90f":"75885",f0f0c9e0:"75970","54305ae0":"76288","5215d6a1":"76401","9e3bbdc0":"76590",fbe7d2e8:"76594",ca69ab29:"76741",ed480930:"76742","3b7ac723":"76809",a3a64d88:"76811",bca46e3f:"76814","8e2e6ad6":"77579","533d3ffb":"78171","4e418365":"78294",ef02483f:"78327","641a79fb":"78345","7089c5e9":"78384","42d5a18c":"78393","259bd0c5":"78645",adb54813:"78887",f5d62c05:"78949","2297cc0d":"78951",bc5075fb:"79087","0810f675":"79133",a97e7f15:"79204","0aeeb10b":"79321","1385dc12":"79505","85d49e2b":"79528","9f724635":"79573","25539fcb":"79590","935f2afb":"80053","0f187495":"80239",e110487c:"80389","2716246c":"80409",e4932c64:"80453","8eb5a1d8":"80816","5d34a3e0":"80843","2a615d1d":"80920",db98aa0c:"81090","9ac95129":"81135","2e9194de":"81302","8364cffd":"81420",f26f0cdb:"81486","43adcc08":"82209","7ddf2558":"82214","6b93e189":"82308","41bc8270":"82452",ee85e3b6:"82882",c6cd348e:"83036",b6358757:"83101","6203860c":"83256",a112d798:"83304",da81302a:"83350",ea645227:"83511","7cca0223":"83709","9a46388f":"83800","0c06981f":"84266",c55525a9:"84279","9ee0eb8a":"84805",e8903528:"84897","8df1c5c9":"84951",c344252c:"85064",ae8e07b1:"85219","7cbc5997":"85454","46ddaac3":"85526","08cebe36":"85985",b6915d5f:"86057","9ca2f55b":"86180",cf4609e7:"86198",ae06c6f1:"86405","8d5ae15a":"86438",d817bad3:"86487",ab8fc1e5:"86840","98c40af1":"86873",add2b463:"86894","2554564d":"87019","6eb5397d":"87091",ebfee794:"87305","54b7d866":"87823","85434a08":"87862","536309bb":"87888","5b767225":"87954","541d824c":"88005","07af796b":"88394",a12ac645:"88427","385e6aa6":"88599","64042be6":"88863","7c7e3f2e":"88925",c78f4965:"88963","640b2864":"89141","76f2b92e":"89204","68c90bbc":"89217","9ec15741":"89340","9eec1b69":"89509","6042c76a":"89659",db6287e5:"89758","110cdc73":"90393",b2b675dd:"90533","7c97d78d":"90717","0d27e988":"90742",d0ecf97a:"91186",fae9d50a:"91414","035d9dc3":"91799","889c25c7":"92149","73496ed9":"92505",fbe6399d:"92972",a6aa9e1f:"93089",f0b5617d:"93392",fd6d4018:"93464",e37577e1:"93521","2c4528c6":"94120","6bcded04":"94190",a94703ab:"94368","0c7b26d1":"94829","7cf19012":"94908",e93eaee1:"94937","9d107aac":"95053",f7aec19e:"95085",c80bf43d:"95181","0f1457e8":"95534","8383ea83":"96163","6e870323":"96434",daf8bbf9:"96591","5f22e924":"96781","0cbbedcd":"96854","0cde639a":"97227","2345a3b7":"97485",c15d2dfd:"97517","2f2ad190":"97550",cb3c2681:"97607","7d66ff10":"97727","1a4e3797":"97920",d0c63040:"98025","341e5e63":"98112","39e353ee":"98169","43ac2fb4":"98195","8f5a650f":"98202","9dc56d2c":"98228","46540e82":"98280",f4a6cc60:"98761","9f7aca5a":"98825","01980361":"99248",a737efbc:"99259","7ee32c60":"99346","06946b11":"99701","5fbdd67a":"99731","9cc47562":"99815",cb7a22d0:"99958"}[e]||e,r.p+r.u(e)},(()=>{var e={51303:0,40532: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(/^(40532|51303)$/.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 7c0061e24..bb781b19c 100644 --- a/blog/acf-in-a-project/index.html +++ b/blog/acf-in-a-project/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Latest posts</div><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/making-your-project-multilingual">Making your project multilingual</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/wrapper-as-a-standalone-component">How to use the Wrapper as a standalone component</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/working-with-custom-queries">Working with custom queries</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/multiple-same-components">Using multiple same components</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/block-patterns">Block Patterns</a></li></ul></nav></aside><main class="col col--7" itemscope="" itemtype="https://schema.org/Blog"><article itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Example of using ACF plugin in your project"><header><h1 class="title_f1Hy" itemprop="headline">How to use ACF in your project</h1><div class="container_mt6G margin-vert--md"><time datetime="2022-05-17T00:00:00.000Z" itemprop="datePublished">May 17, 2022</time> · <!-- -->6 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div id="__blog-post-container" class="markdown" itemprop="articleBody"><p>If you've worked with WordPress for a long time, you've heard of the <strong><em>Advanced Custom Fields</em></strong> plugin (<strong><em>ACF</em></strong> 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.</p> diff --git a/blog/adding-blocks-wpcli/index.html b/blog/adding-blocks-wpcli/index.html index 00f169532..c12d80f4e 100644 --- a/blog/adding-blocks-wpcli/index.html +++ b/blog/adding-blocks-wpcli/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Latest posts</div><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/making-your-project-multilingual">Making your project multilingual</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/wrapper-as-a-standalone-component">How to use the Wrapper as a standalone component</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/working-with-custom-queries">Working with custom queries</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/multiple-same-components">Using multiple same components</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/block-patterns">Block Patterns</a></li></ul></nav></aside><main class="col col--7" itemscope="" itemtype="https://schema.org/Blog"><article itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="This blog post covers how to use our WP CLI commands for adding components and blocks into your project."><header><h1 class="title_f1Hy" itemprop="headline">Adding components and blocks with WP-CLI</h1><div class="container_mt6G margin-vert--md"><time datetime="2022-03-14T00:00:00.000Z" itemprop="datePublished">March 14, 2022</time> · <!-- -->3 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div id="__blog-post-container" class="markdown" itemprop="articleBody"><p>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 <a href="/storybook">Storybook</a>.</p> diff --git a/blog/adding-fonts/index.html b/blog/adding-fonts/index.html index 85c12a023..37f493eb4 100644 --- a/blog/adding-fonts/index.html +++ b/blog/adding-fonts/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Latest posts</div><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/making-your-project-multilingual">Making your project multilingual</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/wrapper-as-a-standalone-component">How to use the Wrapper as a standalone component</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/working-with-custom-queries">Working with custom queries</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/multiple-same-components">Using multiple same components</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/block-patterns">Block Patterns</a></li></ul></nav></aside><main class="col col--7" itemscope="" itemtype="https://schema.org/Blog"><article itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="An intro to adding fonts to your project."><header><h1 class="title_f1Hy" itemprop="headline">Adding fonts</h1><div class="container_mt6G margin-vert--md"><time datetime="2022-04-12T00:00:00.000Z" itemprop="datePublished">April 12, 2022</time> · <!-- -->7 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div id="__blog-post-container" class="markdown" itemprop="articleBody"><p>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.</p> @@ -35,18 +35,18 @@ <h2 class="anchor anchorWithStickyNavbar_LWe7" id="importing-fonts-into-your-pro <p>To add these fonts as your base font and secondary font, go to the global manifest located in <strong><em>/src/Blocks</em></strong> and add the following inside <code>globalVariables</code>:</p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">"globalVariables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> // ...</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "baseFont": "SourceSansPro",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "secondaryFont": "NotoSerif",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> // ...</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>Next, you can create a new file called <strong>_<em>typography.scss</em></strong> inside your <strong><em>/assets/styles/parts/utils/</em></strong> folder and add the following:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">@include font-face(global-settings(baseFont), 'SourceSansPro-Light', 300);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">@include font-face(global-settings(baseFont), 'SourceSansPro-LightItalic', 300, italic);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">@include font-face(global-settings(baseFont), 'SourceSansPro-Regular', 400);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">@include font-face(global-settings(baseFont), 'SourceSansPro-Italic', 400, italic);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">@include font-face(global-settings(baseFont), 'SourceSansPro-Bold', 700);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">@include font-face(global-settings(baseFont), 'SourceSansPro-BoldItalic', 700, italic);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">@include font-face(global-settings(secondaryFont), 'NotoSerif-Bold', 700);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">@include font-face(global-settings(secondaryFont), 'NotoSerif-BoldItalic', 700, italic);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">@include font-face(global-settings(secondaryFont), 'NotoSerif-Italic', 400, italic);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">@include font-face(global-settings(secondaryFont), 'NotoSerif-Regular', 400);</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> -<p>If you would like to know more about the <code>font-face</code> mixin, you can take a look at our <a href="/sass">Sass documentation</a>.</p> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@include</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">font-face</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">baseFont</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'SourceSansPro-Light'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">300</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@include</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">font-face</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">baseFont</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'SourceSansPro-LightItalic'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">300</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> italic</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@include</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">font-face</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">baseFont</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'SourceSansPro-Regular'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">400</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@include</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">font-face</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">baseFont</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'SourceSansPro-Italic'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">400</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> italic</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@include</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">font-face</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">baseFont</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'SourceSansPro-Bold'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">700</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@include</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">font-face</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">baseFont</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'SourceSansPro-BoldItalic'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">700</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> italic</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@include</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">font-face</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">secondaryFont</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'NotoSerif-Bold'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">700</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@include</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">font-face</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">secondaryFont</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'NotoSerif-BoldItalic'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">700</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> italic</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@include</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">font-face</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">secondaryFont</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'NotoSerif-Italic'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">400</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> italic</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@include</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">font-face</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">secondaryFont</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'NotoSerif-Regular'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">400</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<p>If you would like to know more about the <code>font-face</code> mixin, you can take a look at our <a href="/docs/basics/library">Sass documentation</a>.</p> <p>Because this is a new file, we have to include it. You can do that inside <strong><em>/assets/styles/parts/_shared.scss</em></strong> file:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">// Project specific.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">@import 'utils/shared-variables';</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">@import 'utils/typography';</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)">// Project specific.</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@import</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'utils/shared-variables'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@import</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'utils/typography'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>Run <code>npm start</code> to rebuild your <strong><em>public</em></strong> folder and assets. If you did everything correctly, your build should pass and you will see your fonts inside the <strong><em>public</em></strong> folder.</p> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="using-only-one-font-in-a-block">Using only one font in a block<a href="#using-only-one-font-in-a-block" class="hash-link" aria-label="Direct link to Using only one font in a block" title="Direct link to Using only one font in a block">​</a></h2> <p>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 <em>Noto Serif</em>.</p> <p>To make our secondary font available for use, we need to first define it as a CSS variable. We can do that in <strong><em>/assets/styles/parts/utils/_shared-variables.scss</em></strong>. The base font is already defined there, so all we need to do is add our secondary font definition below it.</p> <p>To make things a bit more consistent, we may also want to rename <code>--global-font-family</code> CSS variable to <code>--base-font-family</code>. 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:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --base-font-family: var(--global-base-font), -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --secondary-font-family: var(--global-secondary-font), -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--base-font-family</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">--global-base-font</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> -apple-system</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> BlinkMacSystemFont</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'Segoe UI'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> Roboto</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> Helvetica</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> Arial</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> sans-serif</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'Apple Color Emoji'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'Segoe UI Emoji'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'Segoe UI Symbol'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--secondary-font-family</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">--global-secondary-font</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> -apple-system</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> BlinkMacSystemFont</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'Segoe UI'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> Roboto</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> Helvetica</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> Arial</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> sans-serif</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'Apple Color Emoji'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'Segoe UI Emoji'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'Segoe UI Symbol'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>After defining the <code>--secondary-font-family</code> CSS variable, we can go to <strong><em>/src/Blocks/components/heading/heading-style.scss</em></strong> and add the following rule to the <code>.heading</code> class:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain"> font-family: var(--secondary-font-family);</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">font-family</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">--secondary-font-family</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>And that's it! The Heading block will now use the <em>Noto Serif</em> font.</p> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="adding-a-font-picker">Adding a font picker<a href="#adding-a-font-picker" class="hash-link" aria-label="Direct link to Adding a font picker" title="Direct link to Adding a font picker">​</a></h2> <p>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 <code>paragraph</code> block where we want users to have both <em>Source Sans Pro</em> and <em>Noto Serif</em> available.</p> @@ -63,7 +63,7 @@ <h2 class="anchor anchorWithStickyNavbar_LWe7" id="adding-a-font-picker">Adding <p>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.</p> <p><img decoding="async" loading="lazy" alt="Font Picker" src="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==" width="272" height="184" class="img_ev3q"></p> <p>The final step we need to make this work is to add a CSS rule that consumes our variable to <strong><em>/src/Blocks/components/paragraph/paragraph-style.scss</em></strong>:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">.paragraph {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> // ...</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> font-family: var(--paragraph-font-family, var(--base-font-family));</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> // ...</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector" style="color:rgb(255, 121, 198)">.paragraph </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token comment" style="color:rgb(98, 114, 164)">// ...</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">font-family</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">--paragraph-font-family</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">--base-font-family</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token comment" style="color:rgb(98, 114, 164)">// ...</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>After adding this single line of CSS code, your new option for selecting fonts will now be fully functional.</p> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="closing-thoughts">Closing thoughts<a href="#closing-thoughts" class="hash-link" aria-label="Direct link to Closing thoughts" title="Direct link to Closing thoughts">​</a></h2> <p>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.</p> diff --git a/blog/archive/index.html b/blog/archive/index.html index da6d068b7..e2f2a7790 100644 --- a/blog/archive/index.html +++ b/blog/archive/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><header class="hero hero--primary"><div class="container"><h1 class="hero__title">Archive</h1><p class="hero__subtitle">Archive</p></div></header><main><section class="margin-vert--lg"><div class="container"><div class="row"><div class="col col--4 margin-vert--lg"><h3 class="anchor anchorWithStickyNavbar_LWe7" id="2024">2024<a href="#2024" class="hash-link" aria-label="Direct link to 2024" title="Direct link to 2024">​</a></h3><ul><li><a href="/blog/making-your-project-multilingual">February 1, 2024<!-- --> - <!-- -->Making your project multilingual</a></li></ul></div><div class="col col--4 margin-vert--lg"><h3 class="anchor anchorWithStickyNavbar_LWe7" id="2023">2023<a href="#2023" class="hash-link" aria-label="Direct link to 2023" title="Direct link to 2023">​</a></h3><ul><li><a href="/blog/block-patterns">March 1, 2023<!-- --> - <!-- -->Block Patterns</a></li><li><a href="/blog/multiple-same-components">June 12, 2023<!-- --> - <!-- -->Using multiple same components</a></li><li><a href="/blog/working-with-custom-queries">August 1, 2023<!-- --> - <!-- -->Working with custom queries</a></li><li><a href="/blog/wrapper-as-a-standalone-component">September 5, 2023<!-- --> - <!-- -->How to use the Wrapper as a standalone component</a></li></ul></div><div class="col col--4 margin-vert--lg"><h3 class="anchor anchorWithStickyNavbar_LWe7" id="2022">2022<a href="#2022" class="hash-link" aria-label="Direct link to 2022" title="Direct link to 2022">​</a></h3><ul><li><a href="/blog/initial-setup">January 20, 2022<!-- --> - <!-- -->Initial setup and first steps</a></li><li><a href="/blog/components-and-blocks">January 21, 2022<!-- --> - <!-- -->Components and blocks</a></li><li><a href="/blog/adding-blocks-wpcli">March 14, 2022<!-- --> - <!-- -->Adding components and blocks with WP-CLI</a></li><li><a href="/blog/modifying-blocks-color-theme">March 22, 2022<!-- --> - <!-- -->Modifying blocks - Color Theme</a></li><li><a href="/blog/adding-fonts">April 12, 2022<!-- --> - <!-- -->Adding fonts</a></li><li><a href="/blog/using-assets">April 28, 2022<!-- --> - <!-- -->Using assets in a project</a></li><li><a href="/blog/acf-in-a-project">May 17, 2022<!-- --> - <!-- -->How to use ACF in your project</a></li><li><a href="/blog/block-variations">September 7, 2022<!-- --> - <!-- -->Block Variations</a></li><li><a href="/blog/using-cpts-and-taxonomies">December 13, 2022<!-- --> - <!-- -->Using Custom Post Types and Taxonomies</a></li></ul></div></div></div></section></main></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/blog/atom.xml b/blog/atom.xml index d6bebd0d6..5f35d2546 100644 --- a/blog/atom.xml +++ b/blog/atom.xml @@ -542,18 +542,18 @@ <p>To add these fonts as your base font and secondary font, go to the global manifest located in <strong><em>/src/Blocks</em></strong> and add the following inside <code>globalVariables</code>:</p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">"globalVariables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> // ...</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "baseFont": "SourceSansPro",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "secondaryFont": "NotoSerif",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> // ...</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>Next, you can create a new file called <strong>_<em>typography.scss</em></strong> inside your <strong><em>/assets/styles/parts/utils/</em></strong> folder and add the following:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">@include font-face(global-settings(baseFont), 'SourceSansPro-Light', 300);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">@include font-face(global-settings(baseFont), 'SourceSansPro-LightItalic', 300, italic);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">@include font-face(global-settings(baseFont), 'SourceSansPro-Regular', 400);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">@include font-face(global-settings(baseFont), 'SourceSansPro-Italic', 400, italic);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">@include font-face(global-settings(baseFont), 'SourceSansPro-Bold', 700);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">@include font-face(global-settings(baseFont), 'SourceSansPro-BoldItalic', 700, italic);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">@include font-face(global-settings(secondaryFont), 'NotoSerif-Bold', 700);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">@include font-face(global-settings(secondaryFont), 'NotoSerif-BoldItalic', 700, italic);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">@include font-face(global-settings(secondaryFont), 'NotoSerif-Italic', 400, italic);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">@include font-face(global-settings(secondaryFont), 'NotoSerif-Regular', 400);</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> -<p>If you would like to know more about the <code>font-face</code> mixin, you can take a look at our <a href="https://eightshift.com/sass">Sass documentation</a>.</p> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@include</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">font-face</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">baseFont</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'SourceSansPro-Light'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">300</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@include</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">font-face</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">baseFont</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'SourceSansPro-LightItalic'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">300</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> italic</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@include</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">font-face</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">baseFont</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'SourceSansPro-Regular'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">400</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@include</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">font-face</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">baseFont</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'SourceSansPro-Italic'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">400</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> italic</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@include</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">font-face</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">baseFont</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'SourceSansPro-Bold'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">700</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@include</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">font-face</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">baseFont</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'SourceSansPro-BoldItalic'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">700</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> italic</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@include</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">font-face</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">secondaryFont</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'NotoSerif-Bold'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">700</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@include</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">font-face</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">secondaryFont</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'NotoSerif-BoldItalic'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">700</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> italic</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@include</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">font-face</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">secondaryFont</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'NotoSerif-Italic'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">400</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> italic</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@include</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">font-face</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">secondaryFont</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'NotoSerif-Regular'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">400</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<p>If you would like to know more about the <code>font-face</code> mixin, you can take a look at our <a href="https://eightshift.com/docs/basics/library">Sass documentation</a>.</p> <p>Because this is a new file, we have to include it. You can do that inside <strong><em>/assets/styles/parts/_shared.scss</em></strong> file:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">// Project specific.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">@import 'utils/shared-variables';</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">@import 'utils/typography';</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)">// Project specific.</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@import</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'utils/shared-variables'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@import</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'utils/typography'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>Run <code>npm start</code> to rebuild your <strong><em>public</em></strong> folder and assets. If you did everything correctly, your build should pass and you will see your fonts inside the <strong><em>public</em></strong> folder.</p> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="using-only-one-font-in-a-block">Using only one font in a block<a href="https://eightshift.com/blog/adding-fonts#using-only-one-font-in-a-block" class="hash-link" aria-label="Direct link to Using only one font in a block" title="Direct link to Using only one font in a block">​</a></h2> <p>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 <em>Noto Serif</em>.</p> <p>To make our secondary font available for use, we need to first define it as a CSS variable. We can do that in <strong><em>/assets/styles/parts/utils/_shared-variables.scss</em></strong>. The base font is already defined there, so all we need to do is add our secondary font definition below it.</p> <p>To make things a bit more consistent, we may also want to rename <code>--global-font-family</code> CSS variable to <code>--base-font-family</code>. 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:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --base-font-family: var(--global-base-font), -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --secondary-font-family: var(--global-secondary-font), -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--base-font-family</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">--global-base-font</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> -apple-system</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> BlinkMacSystemFont</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'Segoe UI'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> Roboto</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> Helvetica</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> Arial</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> sans-serif</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'Apple Color Emoji'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'Segoe UI Emoji'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'Segoe UI Symbol'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--secondary-font-family</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">--global-secondary-font</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> -apple-system</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> BlinkMacSystemFont</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'Segoe UI'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> Roboto</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> Helvetica</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> Arial</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> sans-serif</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'Apple Color Emoji'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'Segoe UI Emoji'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'Segoe UI Symbol'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>After defining the <code>--secondary-font-family</code> CSS variable, we can go to <strong><em>/src/Blocks/components/heading/heading-style.scss</em></strong> and add the following rule to the <code>.heading</code> class:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain"> font-family: var(--secondary-font-family);</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">font-family</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">--secondary-font-family</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>And that's it! The Heading block will now use the <em>Noto Serif</em> font.</p> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="adding-a-font-picker">Adding a font picker<a href="https://eightshift.com/blog/adding-fonts#adding-a-font-picker" class="hash-link" aria-label="Direct link to Adding a font picker" title="Direct link to Adding a font picker">​</a></h2> <p>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 <code>paragraph</code> block where we want users to have both <em>Source Sans Pro</em> and <em>Noto Serif</em> available.</p> @@ -570,7 +570,7 @@ <p>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.</p> <p><img decoding="async" loading="lazy" alt="Font Picker" src="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==" width="272" height="184" class="img_ev3q"></p> <p>The final step we need to make this work is to add a CSS rule that consumes our variable to <strong><em>/src/Blocks/components/paragraph/paragraph-style.scss</em></strong>:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">.paragraph {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> // ...</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> font-family: var(--paragraph-font-family, var(--base-font-family));</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> // ...</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector" style="color:rgb(255, 121, 198)">.paragraph </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token comment" style="color:rgb(98, 114, 164)">// ...</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">font-family</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">--paragraph-font-family</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">--base-font-family</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token comment" style="color:rgb(98, 114, 164)">// ...</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>After adding this single line of CSS code, your new option for selecting fonts will now be fully functional.</p> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="closing-thoughts">Closing thoughts<a href="https://eightshift.com/blog/adding-fonts#closing-thoughts" class="hash-link" aria-label="Direct link to Closing thoughts" title="Direct link to Closing thoughts">​</a></h2> <p>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.</p> @@ -606,7 +606,7 @@ <img decoding="async" loading="lazy" alt="Color Theme Examples" src="https://eightshift.com/assets/images/color-theme-examples-49d717014747712e8921b795e4804944.webp" width="1067" height="234" class="img_ev3q"></p> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="adding-background">Adding background<a href="https://eightshift.com/blog/modifying-blocks-color-theme#adding-background" class="hash-link" aria-label="Direct link to Adding background" title="Direct link to Adding background">​</a></h2> <p>Initial background styling is fairly straightforward. Navigate to <strong><em>src/Blocks/components/quote/quote-style.scss</em></strong> and paste the following code inside <code>.quote</code> class:</p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">padding</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">calc</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--base-font-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token operator">*</span><span class="token plain"> </span><span class="token number">1.6</span><span class="token unit">rem</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">border-radius</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">calc</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--base-font-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token operator">*</span><span class="token plain"> </span><span class="token number">2</span><span class="token unit">rem</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">background-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">colors</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> light</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">padding</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">calc</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">--base-font-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> * 1.6rem</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">border-radius</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">calc</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">--base-font-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> * 2rem</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">background-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">colors</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> light</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>You may notice we're using <code>calc</code> instead of directly writing values in rems. This way makes it much easier to calculate pixel size since <code>calc(var(--base-font-size) * 1.6rem)</code> equals <code>16px</code>.</p> <p>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.</p> <div class="es-alert es-alert--tip m-0 my-10 pl-10 pr-0 py-4 border-l-4 border-l-infinum border-l-sand-30"><i class="flex gap-1.5 items-center font-sans text-12 uppercase not-italic leading-none font-medium mb-2"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" class="w-6 h-6 text-sand-30"><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"></path></svg><span class="text-grey-500">Tip</span></i><div class="font-sans text-16 text-black"><p>Don't hardcode hex color values directly inside your component. Instead, use colors defined in your global manifest.</p></div></div> @@ -624,9 +624,9 @@ <p>Our next step is to add CSS variables to the Quote component's manifest. Inside <strong><em>manifest.json</em></strong>, on the same level as <code>attributes</code>, add the following code:</p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">"variables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "quoteColorTheme": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "blue": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "quote-background-color": "var(--global-colors-light-blue)",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "quote-icon-color": "var(--global-colors-blue)"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ],</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "green": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "quote-background-color": "var(--global-colors-light-green)",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "quote-icon-color": "var(--global-colors-green)"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ],</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "yellow": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "quote-background-color": "var(--global-colors-light-yellow)",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "quote-icon-color": "var(--global-colors-yellow)"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>Now, navigate back to Quote component's <strong><em>quote-style.scss</em></strong> and replace the <code>background-color</code> which we used for testing with the following:</p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">background-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--quote-background-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">background-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">--quote-background-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>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 <code>&__icon</code> selector, our code should now look like this:</p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector" style="color:rgb(255, 121, 198)">&__icon</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> block</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">margin-bottom</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">1</span><span class="token unit">rem</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--quote-icon-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector" style="color:rgb(255, 121, 198)">&__icon</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> block</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">margin-bottom</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 1rem</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">--quote-icon-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="outputting-css-variables-in-editor">Outputting CSS variables in editor<a href="https://eightshift.com/blog/modifying-blocks-color-theme#outputting-css-variables-in-editor" class="hash-link" aria-label="Direct link to Outputting CSS variables in editor" title="Direct link to Outputting CSS variables in editor">​</a></h2> <p>To make our color theme visible in editor, we have to add few lines of code to <strong><em>src/Blocks/components/quote/components/quote-editor.js</em></strong> file. First, we need to import a few functions. We need <code>useMemo</code> from <strong><em>react</em></strong>, <code>outputCssVariables</code> and <code>getUnique</code> from <strong><em>@eightshift/frontend-libs/scripts</em></strong> and finally, we need data from the global manifest.</p> <p>After importing these and defining a unique constant, your code should look like this:</p> @@ -654,7 +654,7 @@ <h2 class="anchor anchorWithStickyNavbar_LWe7" id="adding-transitions-in-the-editor">Adding transitions in the editor<a href="https://eightshift.com/blog/modifying-blocks-color-theme#adding-transitions-in-the-editor" class="hash-link" aria-label="Direct link to Adding transitions in the editor" title="Direct link to Adding transitions in the editor">​</a></h2> <p>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 <strong><em>quote-editor.scss</em></strong> file inside <strong><em>src/Blocks/components/quote</em></strong> folder.</p> <p>We add the following CSS:</p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector class" style="color:rgb(255, 121, 198)">.quote</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">transition</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> background-color </span><span class="token number">0.3</span><span class="token unit">s</span><span class="token plain"> ease-in-out</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector" style="color:rgb(255, 121, 198)">&__icon</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">transition</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> color </span><span class="token number">0.3</span><span class="token unit">s</span><span class="token plain"> ease-in-out</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector" style="color:rgb(255, 121, 198)">.quote</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">transition</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> background-color 0.3s ease-in-out</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector" style="color:rgb(255, 121, 198)">&__icon</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">transition</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> color 0.3s ease-in-out</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>Because we've added a new file, we have to run <code>npm start</code> again. Now the transition between colors will be much smoother.</p> <p><img decoding="async" loading="lazy" alt="Color Theme Change" src="https://eightshift.com/assets/images/color-theme-change-cd1ede6d92339a8178f33466d37a7e16.gif" width="772" height="338" class="img_ev3q"></p> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="closing-thoughts">Closing thoughts<a href="https://eightshift.com/blog/modifying-blocks-color-theme#closing-thoughts" class="hash-link" aria-label="Direct link to Closing thoughts" title="Direct link to Closing thoughts">​</a></h2> diff --git a/blog/block-patterns/index.html b/blog/block-patterns/index.html index 6598e0bbe..12c225198 100644 --- a/blog/block-patterns/index.html +++ b/blog/block-patterns/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Latest posts</div><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/making-your-project-multilingual">Making your project multilingual</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/wrapper-as-a-standalone-component">How to use the Wrapper as a standalone component</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/working-with-custom-queries">Working with custom queries</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/multiple-same-components">Using multiple same components</a></li><li class="sidebarItem__DBe"><a aria-current="page" class="sidebarItemLink_mo7H sidebarItemLinkActive_I1ZP" href="/blog/block-patterns">Block Patterns</a></li></ul></nav></aside><main class="col col--7" itemscope="" itemtype="https://schema.org/Blog"><article itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Intro to block patterns and examples how to use them"><header><h1 class="title_f1Hy" itemprop="headline">Block Patterns</h1><div class="container_mt6G margin-vert--md"><time datetime="2023-03-01T00:00:00.000Z" itemprop="datePublished">March 1, 2023</time> · <!-- -->4 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div id="__blog-post-container" class="markdown" itemprop="articleBody"><p>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.</p> diff --git a/blog/block-variations/index.html b/blog/block-variations/index.html index 2794d386d..0289f8fd4 100644 --- a/blog/block-variations/index.html +++ b/blog/block-variations/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Latest posts</div><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/making-your-project-multilingual">Making your project multilingual</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/wrapper-as-a-standalone-component">How to use the Wrapper as a standalone component</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/working-with-custom-queries">Working with custom queries</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/multiple-same-components">Using multiple same components</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/block-patterns">Block Patterns</a></li></ul></nav></aside><main class="col col--7" itemscope="" itemtype="https://schema.org/Blog"><article itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Intro to block variations and examples of how to use them"><header><h1 class="title_f1Hy" itemprop="headline">Block Variations</h1><div class="container_mt6G margin-vert--md"><time datetime="2022-09-07T00:00:00.000Z" itemprop="datePublished">September 7, 2022</time> · <!-- -->4 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div id="__blog-post-container" class="markdown" itemprop="articleBody"><p>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!</p> diff --git a/blog/components-and-blocks/index.html b/blog/components-and-blocks/index.html index 43d5c3356..afc7825e3 100644 --- a/blog/components-and-blocks/index.html +++ b/blog/components-and-blocks/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Latest posts</div><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/making-your-project-multilingual">Making your project multilingual</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/wrapper-as-a-standalone-component">How to use the Wrapper as a standalone component</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/working-with-custom-queries">Working with custom queries</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/multiple-same-components">Using multiple same components</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/block-patterns">Block Patterns</a></li></ul></nav></aside><main class="col col--7" itemscope="" itemtype="https://schema.org/Blog"><article itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Explanation of the difference between components and blocks on a practical example"><header><h1 class="title_f1Hy" itemprop="headline">Components and blocks</h1><div class="container_mt6G margin-vert--md"><time datetime="2022-01-21T00:00:00.000Z" itemprop="datePublished">January 21, 2022</time> · <!-- -->4 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div id="__blog-post-container" class="markdown" itemprop="articleBody"><p>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 <a href="/docs/basics/blocks">our documentation</a>. A more specific explanation about using components in a block can be found in the <a href="/docs/basics/blocks-component-in-block/">Component in a Block</a> section.</p> diff --git a/blog/index.html b/blog/index.html index 921441e4a..be727892b 100644 --- a/blog/index.html +++ b/blog/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><main class="col col--9 col--offset-1" itemscope="" itemtype="https://schema.org/Blog"><h1 class="es-big-title">Typing as <wbr> we code</h1><div class="es-blog-grid"><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Examples of using I18n in a project"><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/making-your-project-multilingual">Making your project multilingual</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2024-02-01T00:00:00.000Z" itemprop="datePublished">February 1, 2024</time> · <!-- -->6 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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.</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/i-18-n">i18n</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/multilingual">multilingual</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about Making your project multilingual" href="/blog/making-your-project-multilingual"><b>Read More</b></a></div></footer></article><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Explains the process of using the Wrapper component in WordPress templates."><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/wrapper-as-a-standalone-component">How to use the Wrapper as a standalone component</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2023-09-05T00:00:00.000Z" itemprop="datePublished">September 5, 2023</time> · <!-- -->4 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/kancijan" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/135589039?v=4" alt="Ivan Kancijan" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/kancijan" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Ivan Kancijan</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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?</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/wrapper">wrapper</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/components">components</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about How to use the Wrapper as a standalone component" href="/blog/wrapper-as-a-standalone-component"><b>Read More</b></a></div></footer></article><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Explains the process of registering a new service class, adding a custom query and using it in a block."><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/working-with-custom-queries">Working with custom queries</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2023-08-01T00:00:00.000Z" itemprop="datePublished">August 1, 2023</time> · <!-- -->4 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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?</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/service">service</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/class">class</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/query">query</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about Working with custom queries" href="/blog/working-with-custom-queries"><b>Read More</b></a></div></footer></article><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Explains how to use multiple same components inside"><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/multiple-same-components">Using multiple same components</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2023-06-12T00:00:00.000Z" itemprop="datePublished">June 12, 2023</time> · <!-- -->7 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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.</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/components">components</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/blocks">blocks</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about Using multiple same components" href="/blog/multiple-same-components"><b>Read More</b></a></div></footer></article><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Intro to block patterns and examples how to use them"><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/block-patterns">Block Patterns</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2023-03-01T00:00:00.000Z" itemprop="datePublished">March 1, 2023</time> · <!-- -->4 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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.</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/block">block</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/patterns">patterns</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about Block Patterns" href="/blog/block-patterns"><b>Read More</b></a></div></footer></article><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="How to register and use custom post types and taxonomies with Eightshift Dev Kit"><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/using-cpts-and-taxonomies">Using Custom Post Types and Taxonomies</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2022-12-13T00:00:00.000Z" itemprop="datePublished">December 13, 2022</time> · <!-- -->5 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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.</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/cpt">cpt</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/custom-post-type">custom post type</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/taxonomy">taxonomy</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/taxonomies">taxonomies</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/terms">terms</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about Using Custom Post Types and Taxonomies" href="/blog/using-cpts-and-taxonomies"><b>Read More</b></a></div></footer></article><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Intro to block variations and examples of how to use them"><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/block-variations">Block Variations</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2022-09-07T00:00:00.000Z" itemprop="datePublished">September 7, 2022</time> · <!-- -->4 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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!</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/block">block</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/variations">variations</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about Block Variations" href="/blog/block-variations"><b>Read More</b></a></div></footer></article><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Example of using ACF plugin in your project"><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/acf-in-a-project">How to use ACF in your project</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2022-05-17T00:00:00.000Z" itemprop="datePublished">May 17, 2022</time> · <!-- -->6 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>If you've worked with WordPress for a long time, you've heard of the <strong><em>Advanced Custom Fields</em></strong> plugin (<strong><em>ACF</em></strong> 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.</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/acf">acf</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/advanced-custom-fields">advanced custom fields</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/theme-options">theme options</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about How to use ACF in your project" href="/blog/acf-in-a-project"><b>Read More</b></a></div></footer></article><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Step-by-step guide on how to add assets like images or icons to your theme."><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/using-assets">Using assets in a project</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2022-04-28T00:00:00.000Z" itemprop="datePublished">April 28, 2022</time> · <!-- -->4 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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.</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/assets">assets</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/images">images</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/icons">icons</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about Using assets in a project" href="/blog/using-assets"><b>Read More</b></a></div></footer></article></div><nav class="pagination-nav" aria-label="Blog list page navigation"><a class="pagination-nav__link pagination-nav__link--next" href="/blog/page/2"><div class="pagination-nav__label">Older Entries</div></a></nav><div class="px-side-padding py-10 desktop:py-24 bg-grey-100"><h3 class="text-h3 font-bold font-display mb-4 desktop:mb-20">Start exploring</h3><div class="-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"><a class="hover:no-underline hover:text-infinum w-64 desktop:w-auto" href="https://github.com/infinum/eightshift-boilerplate"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80" width="80" height="80" fill="none" class="text-infinum w-20 h-20 -mx-2"><g clip-path="url(#6242c987-27ea-4f6e-8ebc-c4c779f67374)"><path d="M67 13H13v54h54V13Z" stroke="#D92327" stroke-width="4" stroke-miterlimit="10" stroke-linecap="square" fill="none"></path><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"></path><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" stroke-width="4" stroke-miterlimit="10" stroke-linecap="square" fill="none"></path><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" stroke-width="4" stroke-miterlimit="10" fill="none"></path></g><defs><clipPath id="6242c987-27ea-4f6e-8ebc-c4c779f67374"><path fill="#fff" d="M11 11h58v58H11z"></path></clipPath></defs></svg><h4 class="text-24 font-bold">Eightshift Boilerplate</h4></a><a class="hover:no-underline hover:text-infinum w-64 desktop:w-auto" href="https://github.com/infinum/eightshift-boilerplate-plugin"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80" width="80" height="80" fill="none" class="text-infinum w-20 h-20 -mx-2"><g clip-path="url(#6242c987-27ea-4f6e-8ebc-c4c779f67374)"><path d="M67 13H13v54h54V13Z" stroke="#D92327" stroke-width="4" stroke-miterlimit="10" stroke-linecap="square" fill="none"></path><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"></path><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" stroke-width="4" stroke-miterlimit="10" stroke-linecap="square" fill="none"></path><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" stroke-width="4" stroke-miterlimit="10" fill="none"></path></g><defs><clipPath id="6242c987-27ea-4f6e-8ebc-c4c779f67374"><path fill="#fff" d="M11 11h58v58H11z"></path></clipPath></defs></svg><h4 class="text-24 font-bold">Eightshift Boilerplate Plugin</h4></a><a class="hover:no-underline hover:text-infinum w-64 desktop:w-auto" href="https://github.com/infinum/eightshift-libs"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80" width="80" height="80" fill="none" class="text-infinum w-20 h-20 -mx-2"><g clip-path="url(#6483b84f-b870-4980-baac-7fbb0ef69e71)" stroke="#D92327" stroke-width="4" stroke-miterlimit="10"><path d="M44.43 14v15.36h15.35" stroke-linecap="square" fill="none"></path><path d="M61 67H19V13h26.81L61 28.43V67Z" stroke-linecap="square" fill="none"></path><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" stroke-linecap="square" fill="none"></path><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" stroke-linecap="square" fill="none"></path><path d="M30.96 45.59C25.5 43.67 19 39 19 29" fill="none"></path></g><defs><clipPath id="6483b84f-b870-4980-baac-7fbb0ef69e71"><path fill="#fff" d="M17 11h46v58H17z"></path></clipPath></defs></svg><h4 class="text-24 font-bold">Eightshift Libs</h4></a><a class="hover:no-underline hover:text-infinum w-64 desktop:w-auto" href="https://github.com/infinum/eightshift-frontend-libs"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80" width="80" height="80" fill="none" class="text-infinum w-20 h-20 -mx-2"><g clip-path="url(#d52dd685-4b43-4f14-83c7-7f9f9c5e6138)" stroke="#D92327" stroke-width="4" stroke-miterlimit="10" stroke-linecap="square"><path d="M41.11 14v15.36h15.35" fill="none"></path><path d="M57.46 59.89v6.86H16V13h26.11l15.35 15.36v15" fill="none"></path><path d="M63.68 44h-33v15h33V44Z" fill="none"></path></g><defs><clipPath id="d52dd685-4b43-4f14-83c7-7f9f9c5e6138"><path fill="#fff" d="M14 11h51.68v57.75H14z"></path></clipPath></defs></svg><h4 class="text-24 font-bold">Eightshift Frontend Libs</h4></a><a class="hover:no-underline hover:text-infinum w-64 desktop:w-auto" href="https://github.com/infinum/eightshift-forms"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80" width="80" height="80" fill="none" class="text-infinum w-20 h-20 -mx-2"><g clip-path="url(#b212a30b-8a5c-4319-844a-5cc0a5b35d11)" stroke="#D92327" stroke-width="4" stroke-miterlimit="10"><path d="M57 28H23v22h34V28Z" stroke-linecap="square" fill="none"></path><path d="M33 35v10" fill="none"></path><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" stroke-linecap="square" fill="none"></path></g><defs><clipPath id="b212a30b-8a5c-4319-844a-5cc0a5b35d11"><path fill="#fff" d="M13 13h54v54H13z"></path></clipPath></defs></svg><h4 class="text-24 font-bold">Eightshift Forms</h4></a><a class="hover:no-underline hover:text-infinum w-64 desktop:w-auto" href="https://github.com/infinum/eightshift-docs"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80" width="80" height="80" fill="none" class="text-infinum w-20 h-20 -mx-2"><g clip-path="url(#74116306-3519-4f7a-bb59-c558ed93b8b5)" stroke="#D92327" stroke-width="4" stroke-miterlimit="10"><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" stroke-linecap="square" fill="none"></path><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" stroke-linecap="square" fill="none"></path><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"></path></g><defs><clipPath id="74116306-3519-4f7a-bb59-c558ed93b8b5"><path fill="#fff" d="M9 12h61.41v55.22H9z"></path></clipPath></defs></svg><h4 class="text-24 font-bold">Eightshift Docs</h4></a><a class="hover:no-underline hover:text-infinum w-64 desktop:w-auto" href="https://github.com/infinum/eightshift-storybook"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80" width="80" height="80" fill="none" class="text-infinum w-20 h-20 -mx-2"><path d="M17 21v46h42a4 4 0 0 0 4-4V18" stroke="currentColor" stroke-width="4" stroke-miterlimit="10" fill="none"></path><path d="M20 12h37.5a5.5 5.5 0 1 1 0 11h-7M17 23h19.5" stroke="currentColor" stroke-width="4" stroke-miterlimit="10" fill="none"></path><path d="M36 20h15v29l-7.5-5-7.5 5V20Z" stroke="currentColor" stroke-width="4" stroke-miterlimit="10" fill="none"></path></svg><h4 class="text-24 font-bold">Eightshift Storybook</h4></a><a class="hover:no-underline hover:text-infinum w-64 desktop:w-auto" href="https://github.com/infinum/eightshift-coding-standards"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80" width="80" height="80" fill="none" class="text-infinum w-20 h-20 -mx-2"><g clip-path="url(#c541bc7a-6ebf-4be7-aa73-0a1fe1b59ca1)" stroke="#D92327" stroke-width="4" stroke-miterlimit="10"><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"></path><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"></path><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"></path><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"></path></g><defs><clipPath id="c541bc7a-6ebf-4be7-aa73-0a1fe1b59ca1"><path fill="#fff" d="M7 11h65.22v57.56H7z"></path></clipPath></defs></svg><h4 class="text-24 font-bold">Eightshift Coding Standards for WordPress</h4></a></div></div><div class="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 bg-grey-100"><div class="mb-10 desktop:mb-0 text-center desktop:text-left flex flex-col items-center desktop:block max-w-xl"><h3 class="text-h3 font-bold font-display mb-4 desktop:mb-10">Find more libraries, tools, and design assets free for everyone to use.</h3><a class="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" href="https://infinum.com/open-source" rel="noopener noreferrer" target="_blank"><span class="group-hover:translate-x-3 group-focus:translate-x-3 transition duration-500">Open-source freebies</span><svg class="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"><path d="M.5 8h14M9.234 2.725l5.978 5.979m-5.978 4.57 5.978-5.978" stroke="currentColor" stroke-width="2" fill="none"></path></svg></a></div><img class="w-full" src="/img/homepage/infinum-open-source.svg"></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/blog/initial-setup/index.html b/blog/initial-setup/index.html index c49f7fe7c..cd21f90cd 100644 --- a/blog/initial-setup/index.html +++ b/blog/initial-setup/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Latest posts</div><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/making-your-project-multilingual">Making your project multilingual</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/wrapper-as-a-standalone-component">How to use the Wrapper as a standalone component</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/working-with-custom-queries">Working with custom queries</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/multiple-same-components">Using multiple same components</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/block-patterns">Block Patterns</a></li></ul></nav></aside><main class="col col--7" itemscope="" itemtype="https://schema.org/Blog"><article itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="This blog post describes how to set up Eightshift Boilerplate theme, and covers some of the most common issues that may occur"><header><h1 class="title_f1Hy" itemprop="headline">Initial setup and first steps</h1><div class="container_mt6G margin-vert--md"><time datetime="2022-01-20T00:00:00.000Z" itemprop="datePublished">January 20, 2022</time> · <!-- -->3 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div id="__blog-post-container" class="markdown" itemprop="articleBody"><p>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.</p> diff --git a/blog/making-your-project-multilingual/index.html b/blog/making-your-project-multilingual/index.html index ea15fdf4b..7a97dafe7 100644 --- a/blog/making-your-project-multilingual/index.html +++ b/blog/making-your-project-multilingual/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Latest posts</div><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a aria-current="page" class="sidebarItemLink_mo7H sidebarItemLinkActive_I1ZP" href="/blog/making-your-project-multilingual">Making your project multilingual</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/wrapper-as-a-standalone-component">How to use the Wrapper as a standalone component</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/working-with-custom-queries">Working with custom queries</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/multiple-same-components">Using multiple same components</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/block-patterns">Block Patterns</a></li></ul></nav></aside><main class="col col--7" itemscope="" itemtype="https://schema.org/Blog"><article itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Examples of using I18n in a project"><header><h1 class="title_f1Hy" itemprop="headline">Making your project multilingual</h1><div class="container_mt6G margin-vert--md"><time datetime="2024-02-01T00:00:00.000Z" itemprop="datePublished">February 1, 2024</time> · <!-- -->6 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div id="__blog-post-container" class="markdown" itemprop="articleBody"><p>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.</p> diff --git a/blog/modifying-blocks-color-theme/index.html b/blog/modifying-blocks-color-theme/index.html index 6b082312e..b7cf95b38 100644 --- a/blog/modifying-blocks-color-theme/index.html +++ b/blog/modifying-blocks-color-theme/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Latest posts</div><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/making-your-project-multilingual">Making your project multilingual</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/wrapper-as-a-standalone-component">How to use the Wrapper as a standalone component</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/working-with-custom-queries">Working with custom queries</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/multiple-same-components">Using multiple same components</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/block-patterns">Block Patterns</a></li></ul></nav></aside><main class="col col--7" itemscope="" itemtype="https://schema.org/Blog"><article itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Step-by-step guide on how to modify and expand the functionality of existing blocks."><header><h1 class="title_f1Hy" itemprop="headline">Modifying blocks - Color Theme</h1><div class="container_mt6G margin-vert--md"><time datetime="2022-03-22T00:00:00.000Z" itemprop="datePublished">March 22, 2022</time> · <!-- -->9 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div id="__blog-post-container" class="markdown" itemprop="articleBody"><p>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.</p> @@ -36,7 +36,7 @@ <h2 class="anchor anchorWithStickyNavbar_LWe7" id="what-will-we-do">What will we <img decoding="async" loading="lazy" alt="Color Theme Examples" src="/assets/images/color-theme-examples-49d717014747712e8921b795e4804944.webp" width="1067" height="234" class="img_ev3q"></p> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="adding-background">Adding background<a href="#adding-background" class="hash-link" aria-label="Direct link to Adding background" title="Direct link to Adding background">​</a></h2> <p>Initial background styling is fairly straightforward. Navigate to <strong><em>src/Blocks/components/quote/quote-style.scss</em></strong> and paste the following code inside <code>.quote</code> class:</p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">padding</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">calc</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--base-font-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token operator">*</span><span class="token plain"> </span><span class="token number">1.6</span><span class="token unit">rem</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">border-radius</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">calc</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--base-font-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token operator">*</span><span class="token plain"> </span><span class="token number">2</span><span class="token unit">rem</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">background-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">colors</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> light</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">padding</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">calc</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">--base-font-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> * 1.6rem</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">border-radius</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">calc</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">--base-font-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> * 2rem</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">background-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">colors</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> light</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>You may notice we're using <code>calc</code> instead of directly writing values in rems. This way makes it much easier to calculate pixel size since <code>calc(var(--base-font-size) * 1.6rem)</code> equals <code>16px</code>.</p> <p>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.</p> <div class="es-alert es-alert--tip m-0 my-10 pl-10 pr-0 py-4 border-l-4 border-l-infinum border-l-sand-30"><i class="flex gap-1.5 items-center font-sans text-12 uppercase not-italic leading-none font-medium mb-2"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" class="w-6 h-6 text-sand-30"><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"></path></svg><span class="text-grey-500">Tip</span></i><div class="font-sans text-16 text-black"><p>Don't hardcode hex color values directly inside your component. Instead, use colors defined in your global manifest.</p></div></div> @@ -54,9 +54,9 @@ <h2 class="anchor anchorWithStickyNavbar_LWe7" id="css-variables">CSS variables< <p>Our next step is to add CSS variables to the Quote component's manifest. Inside <strong><em>manifest.json</em></strong>, on the same level as <code>attributes</code>, add the following code:</p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">"variables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "quoteColorTheme": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "blue": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "quote-background-color": "var(--global-colors-light-blue)",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "quote-icon-color": "var(--global-colors-blue)"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ],</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "green": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "quote-background-color": "var(--global-colors-light-green)",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "quote-icon-color": "var(--global-colors-green)"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ],</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "yellow": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "quote-background-color": "var(--global-colors-light-yellow)",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "quote-icon-color": "var(--global-colors-yellow)"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>Now, navigate back to Quote component's <strong><em>quote-style.scss</em></strong> and replace the <code>background-color</code> which we used for testing with the following:</p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">background-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--quote-background-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">background-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">--quote-background-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>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 <code>&__icon</code> selector, our code should now look like this:</p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector" style="color:rgb(255, 121, 198)">&__icon</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> block</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">margin-bottom</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">1</span><span class="token unit">rem</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--quote-icon-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector" style="color:rgb(255, 121, 198)">&__icon</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> block</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">margin-bottom</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 1rem</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">--quote-icon-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="outputting-css-variables-in-editor">Outputting CSS variables in editor<a href="#outputting-css-variables-in-editor" class="hash-link" aria-label="Direct link to Outputting CSS variables in editor" title="Direct link to Outputting CSS variables in editor">​</a></h2> <p>To make our color theme visible in editor, we have to add few lines of code to <strong><em>src/Blocks/components/quote/components/quote-editor.js</em></strong> file. First, we need to import a few functions. We need <code>useMemo</code> from <strong><em>react</em></strong>, <code>outputCssVariables</code> and <code>getUnique</code> from <strong><em>@eightshift/frontend-libs/scripts</em></strong> and finally, we need data from the global manifest.</p> <p>After importing these and defining a unique constant, your code should look like this:</p> @@ -84,7 +84,7 @@ <h2 class="anchor anchorWithStickyNavbar_LWe7" id="adding-options">Adding option <h2 class="anchor anchorWithStickyNavbar_LWe7" id="adding-transitions-in-the-editor">Adding transitions in the editor<a href="#adding-transitions-in-the-editor" class="hash-link" aria-label="Direct link to Adding transitions in the editor" title="Direct link to Adding transitions in the editor">​</a></h2> <p>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 <strong><em>quote-editor.scss</em></strong> file inside <strong><em>src/Blocks/components/quote</em></strong> folder.</p> <p>We add the following CSS:</p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector class" style="color:rgb(255, 121, 198)">.quote</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">transition</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> background-color </span><span class="token number">0.3</span><span class="token unit">s</span><span class="token plain"> ease-in-out</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector" style="color:rgb(255, 121, 198)">&__icon</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">transition</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> color </span><span class="token number">0.3</span><span class="token unit">s</span><span class="token plain"> ease-in-out</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector" style="color:rgb(255, 121, 198)">.quote</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">transition</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> background-color 0.3s ease-in-out</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector" style="color:rgb(255, 121, 198)">&__icon</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">transition</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> color 0.3s ease-in-out</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>Because we've added a new file, we have to run <code>npm start</code> again. Now the transition between colors will be much smoother.</p> <p><img decoding="async" loading="lazy" alt="Color Theme Change" src="/assets/images/color-theme-change-cd1ede6d92339a8178f33466d37a7e16.gif" width="772" height="338" class="img_ev3q"></p> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="closing-thoughts">Closing thoughts<a href="#closing-thoughts" class="hash-link" aria-label="Direct link to Closing thoughts" title="Direct link to Closing thoughts">​</a></h2> diff --git a/blog/multiple-same-components/index.html b/blog/multiple-same-components/index.html index 72fe831bc..594f9dded 100644 --- a/blog/multiple-same-components/index.html +++ b/blog/multiple-same-components/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Latest posts</div><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/making-your-project-multilingual">Making your project multilingual</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/wrapper-as-a-standalone-component">How to use the Wrapper as a standalone component</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/working-with-custom-queries">Working with custom queries</a></li><li class="sidebarItem__DBe"><a aria-current="page" class="sidebarItemLink_mo7H sidebarItemLinkActive_I1ZP" href="/blog/multiple-same-components">Using multiple same components</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/block-patterns">Block Patterns</a></li></ul></nav></aside><main class="col col--7" itemscope="" itemtype="https://schema.org/Blog"><article itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Explains how to use multiple same components inside"><header><h1 class="title_f1Hy" itemprop="headline">Using multiple same components</h1><div class="container_mt6G margin-vert--md"><time datetime="2023-06-12T00:00:00.000Z" itemprop="datePublished">June 12, 2023</time> · <!-- -->7 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div id="__blog-post-container" class="markdown" itemprop="articleBody"><p>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.</p> diff --git a/blog/page/2/index.html b/blog/page/2/index.html index 2dc51f3df..aef8a6275 100644 --- a/blog/page/2/index.html +++ b/blog/page/2/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><main class="col col--9 col--offset-1" itemscope="" itemtype="https://schema.org/Blog"><h1 class="es-big-title">Typing as <wbr> we code</h1><div class="es-blog-grid"><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="An intro to adding fonts to your project."><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/adding-fonts">Adding fonts</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2022-04-12T00:00:00.000Z" itemprop="datePublished">April 12, 2022</time> · <!-- -->7 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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.</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/fonts">fonts</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about Adding fonts" href="/blog/adding-fonts"><b>Read More</b></a></div></footer></article><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Step-by-step guide on how to modify and expand the functionality of existing blocks."><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/modifying-blocks-color-theme">Modifying blocks - Color Theme</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2022-03-22T00:00:00.000Z" itemprop="datePublished">March 22, 2022</time> · <!-- -->9 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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.</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/components">components</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/blocks">blocks</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about Modifying blocks - Color Theme" href="/blog/modifying-blocks-color-theme"><b>Read More</b></a></div></footer></article><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="This blog post covers how to use our WP CLI commands for adding components and blocks into your project."><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/adding-blocks-wpcli">Adding components and blocks with WP-CLI</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2022-03-14T00:00:00.000Z" itemprop="datePublished">March 14, 2022</time> · <!-- -->3 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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 <a href="/storybook">Storybook</a>.</p> diff --git a/blog/rss.xml b/blog/rss.xml index 49c658ffd..e93299621 100644 --- a/blog/rss.xml +++ b/blog/rss.xml @@ -507,18 +507,18 @@ <p>To add these fonts as your base font and secondary font, go to the global manifest located in <strong><em>/src/Blocks</em></strong> and add the following inside <code>globalVariables</code>:</p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">"globalVariables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> // ...</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "baseFont": "SourceSansPro",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "secondaryFont": "NotoSerif",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> // ...</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>Next, you can create a new file called <strong>_<em>typography.scss</em></strong> inside your <strong><em>/assets/styles/parts/utils/</em></strong> folder and add the following:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">@include font-face(global-settings(baseFont), 'SourceSansPro-Light', 300);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">@include font-face(global-settings(baseFont), 'SourceSansPro-LightItalic', 300, italic);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">@include font-face(global-settings(baseFont), 'SourceSansPro-Regular', 400);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">@include font-face(global-settings(baseFont), 'SourceSansPro-Italic', 400, italic);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">@include font-face(global-settings(baseFont), 'SourceSansPro-Bold', 700);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">@include font-face(global-settings(baseFont), 'SourceSansPro-BoldItalic', 700, italic);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">@include font-face(global-settings(secondaryFont), 'NotoSerif-Bold', 700);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">@include font-face(global-settings(secondaryFont), 'NotoSerif-BoldItalic', 700, italic);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">@include font-face(global-settings(secondaryFont), 'NotoSerif-Italic', 400, italic);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">@include font-face(global-settings(secondaryFont), 'NotoSerif-Regular', 400);</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> -<p>If you would like to know more about the <code>font-face</code> mixin, you can take a look at our <a href="https://eightshift.com/sass">Sass documentation</a>.</p> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@include</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">font-face</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">baseFont</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'SourceSansPro-Light'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">300</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@include</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">font-face</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">baseFont</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'SourceSansPro-LightItalic'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">300</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> italic</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@include</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">font-face</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">baseFont</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'SourceSansPro-Regular'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">400</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@include</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">font-face</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">baseFont</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'SourceSansPro-Italic'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">400</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> italic</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@include</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">font-face</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">baseFont</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'SourceSansPro-Bold'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">700</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@include</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">font-face</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">baseFont</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'SourceSansPro-BoldItalic'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">700</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> italic</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@include</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">font-face</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">secondaryFont</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'NotoSerif-Bold'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">700</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@include</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">font-face</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">secondaryFont</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'NotoSerif-BoldItalic'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">700</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> italic</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@include</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">font-face</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">secondaryFont</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'NotoSerif-Italic'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">400</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> italic</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@include</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">font-face</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">secondaryFont</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'NotoSerif-Regular'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">400</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<p>If you would like to know more about the <code>font-face</code> mixin, you can take a look at our <a href="https://eightshift.com/docs/basics/library">Sass documentation</a>.</p> <p>Because this is a new file, we have to include it. You can do that inside <strong><em>/assets/styles/parts/_shared.scss</em></strong> file:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">// Project specific.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">@import 'utils/shared-variables';</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">@import 'utils/typography';</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)">// Project specific.</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@import</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'utils/shared-variables'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@import</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'utils/typography'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>Run <code>npm start</code> to rebuild your <strong><em>public</em></strong> folder and assets. If you did everything correctly, your build should pass and you will see your fonts inside the <strong><em>public</em></strong> folder.</p> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="using-only-one-font-in-a-block">Using only one font in a block<a href="https://eightshift.com/blog/adding-fonts#using-only-one-font-in-a-block" class="hash-link" aria-label="Direct link to Using only one font in a block" title="Direct link to Using only one font in a block">​</a></h2> <p>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 <em>Noto Serif</em>.</p> <p>To make our secondary font available for use, we need to first define it as a CSS variable. We can do that in <strong><em>/assets/styles/parts/utils/_shared-variables.scss</em></strong>. The base font is already defined there, so all we need to do is add our secondary font definition below it.</p> <p>To make things a bit more consistent, we may also want to rename <code>--global-font-family</code> CSS variable to <code>--base-font-family</code>. 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:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --base-font-family: var(--global-base-font), -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --secondary-font-family: var(--global-secondary-font), -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--base-font-family</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">--global-base-font</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> -apple-system</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> BlinkMacSystemFont</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'Segoe UI'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> Roboto</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> Helvetica</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> Arial</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> sans-serif</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'Apple Color Emoji'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'Segoe UI Emoji'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'Segoe UI Symbol'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--secondary-font-family</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">--global-secondary-font</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> -apple-system</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> BlinkMacSystemFont</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'Segoe UI'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> Roboto</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> Helvetica</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> Arial</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> sans-serif</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'Apple Color Emoji'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'Segoe UI Emoji'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'Segoe UI Symbol'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>After defining the <code>--secondary-font-family</code> CSS variable, we can go to <strong><em>/src/Blocks/components/heading/heading-style.scss</em></strong> and add the following rule to the <code>.heading</code> class:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain"> font-family: var(--secondary-font-family);</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">font-family</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">--secondary-font-family</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>And that's it! The Heading block will now use the <em>Noto Serif</em> font.</p> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="adding-a-font-picker">Adding a font picker<a href="https://eightshift.com/blog/adding-fonts#adding-a-font-picker" class="hash-link" aria-label="Direct link to Adding a font picker" title="Direct link to Adding a font picker">​</a></h2> <p>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 <code>paragraph</code> block where we want users to have both <em>Source Sans Pro</em> and <em>Noto Serif</em> available.</p> @@ -535,7 +535,7 @@ <p>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.</p> <p><img decoding="async" loading="lazy" alt="Font Picker" src="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==" width="272" height="184" class="img_ev3q"></p> <p>The final step we need to make this work is to add a CSS rule that consumes our variable to <strong><em>/src/Blocks/components/paragraph/paragraph-style.scss</em></strong>:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">.paragraph {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> // ...</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> font-family: var(--paragraph-font-family, var(--base-font-family));</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> // ...</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector" style="color:rgb(255, 121, 198)">.paragraph </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token comment" style="color:rgb(98, 114, 164)">// ...</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">font-family</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">--paragraph-font-family</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">--base-font-family</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token comment" style="color:rgb(98, 114, 164)">// ...</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>After adding this single line of CSS code, your new option for selecting fonts will now be fully functional.</p> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="closing-thoughts">Closing thoughts<a href="https://eightshift.com/blog/adding-fonts#closing-thoughts" class="hash-link" aria-label="Direct link to Closing thoughts" title="Direct link to Closing thoughts">​</a></h2> <p>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.</p> @@ -567,7 +567,7 @@ <img decoding="async" loading="lazy" alt="Color Theme Examples" src="https://eightshift.com/assets/images/color-theme-examples-49d717014747712e8921b795e4804944.webp" width="1067" height="234" class="img_ev3q"></p> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="adding-background">Adding background<a href="https://eightshift.com/blog/modifying-blocks-color-theme#adding-background" class="hash-link" aria-label="Direct link to Adding background" title="Direct link to Adding background">​</a></h2> <p>Initial background styling is fairly straightforward. Navigate to <strong><em>src/Blocks/components/quote/quote-style.scss</em></strong> and paste the following code inside <code>.quote</code> class:</p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">padding</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">calc</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--base-font-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token operator">*</span><span class="token plain"> </span><span class="token number">1.6</span><span class="token unit">rem</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">border-radius</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">calc</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--base-font-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token operator">*</span><span class="token plain"> </span><span class="token number">2</span><span class="token unit">rem</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">background-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">colors</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> light</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">padding</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">calc</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">--base-font-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> * 1.6rem</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">border-radius</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">calc</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">--base-font-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> * 2rem</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">background-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">colors</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> light</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>You may notice we're using <code>calc</code> instead of directly writing values in rems. This way makes it much easier to calculate pixel size since <code>calc(var(--base-font-size) * 1.6rem)</code> equals <code>16px</code>.</p> <p>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.</p> <div class="es-alert es-alert--tip m-0 my-10 pl-10 pr-0 py-4 border-l-4 border-l-infinum border-l-sand-30"><i class="flex gap-1.5 items-center font-sans text-12 uppercase not-italic leading-none font-medium mb-2"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" class="w-6 h-6 text-sand-30"><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"></path></svg><span class="text-grey-500">Tip</span></i><div class="font-sans text-16 text-black"><p>Don't hardcode hex color values directly inside your component. Instead, use colors defined in your global manifest.</p></div></div> @@ -585,9 +585,9 @@ <p>Our next step is to add CSS variables to the Quote component's manifest. Inside <strong><em>manifest.json</em></strong>, on the same level as <code>attributes</code>, add the following code:</p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">"variables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "quoteColorTheme": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "blue": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "quote-background-color": "var(--global-colors-light-blue)",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "quote-icon-color": "var(--global-colors-blue)"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ],</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "green": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "quote-background-color": "var(--global-colors-light-green)",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "quote-icon-color": "var(--global-colors-green)"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ],</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "yellow": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "quote-background-color": "var(--global-colors-light-yellow)",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "quote-icon-color": "var(--global-colors-yellow)"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>Now, navigate back to Quote component's <strong><em>quote-style.scss</em></strong> and replace the <code>background-color</code> which we used for testing with the following:</p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">background-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--quote-background-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">background-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">--quote-background-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>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 <code>&__icon</code> selector, our code should now look like this:</p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector" style="color:rgb(255, 121, 198)">&__icon</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> block</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">margin-bottom</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">1</span><span class="token unit">rem</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--quote-icon-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector" style="color:rgb(255, 121, 198)">&__icon</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> block</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">margin-bottom</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 1rem</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">--quote-icon-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="outputting-css-variables-in-editor">Outputting CSS variables in editor<a href="https://eightshift.com/blog/modifying-blocks-color-theme#outputting-css-variables-in-editor" class="hash-link" aria-label="Direct link to Outputting CSS variables in editor" title="Direct link to Outputting CSS variables in editor">​</a></h2> <p>To make our color theme visible in editor, we have to add few lines of code to <strong><em>src/Blocks/components/quote/components/quote-editor.js</em></strong> file. First, we need to import a few functions. We need <code>useMemo</code> from <strong><em>react</em></strong>, <code>outputCssVariables</code> and <code>getUnique</code> from <strong><em>@eightshift/frontend-libs/scripts</em></strong> and finally, we need data from the global manifest.</p> <p>After importing these and defining a unique constant, your code should look like this:</p> @@ -615,7 +615,7 @@ <h2 class="anchor anchorWithStickyNavbar_LWe7" id="adding-transitions-in-the-editor">Adding transitions in the editor<a href="https://eightshift.com/blog/modifying-blocks-color-theme#adding-transitions-in-the-editor" class="hash-link" aria-label="Direct link to Adding transitions in the editor" title="Direct link to Adding transitions in the editor">​</a></h2> <p>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 <strong><em>quote-editor.scss</em></strong> file inside <strong><em>src/Blocks/components/quote</em></strong> folder.</p> <p>We add the following CSS:</p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector class" style="color:rgb(255, 121, 198)">.quote</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">transition</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> background-color </span><span class="token number">0.3</span><span class="token unit">s</span><span class="token plain"> ease-in-out</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector" style="color:rgb(255, 121, 198)">&__icon</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">transition</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> color </span><span class="token number">0.3</span><span class="token unit">s</span><span class="token plain"> ease-in-out</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector" style="color:rgb(255, 121, 198)">.quote</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">transition</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> background-color 0.3s ease-in-out</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector" style="color:rgb(255, 121, 198)">&__icon</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">transition</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> color 0.3s ease-in-out</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>Because we've added a new file, we have to run <code>npm start</code> again. Now the transition between colors will be much smoother.</p> <p><img decoding="async" loading="lazy" alt="Color Theme Change" src="https://eightshift.com/assets/images/color-theme-change-cd1ede6d92339a8178f33466d37a7e16.gif" width="772" height="338" class="img_ev3q"></p> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="closing-thoughts">Closing thoughts<a href="https://eightshift.com/blog/modifying-blocks-color-theme#closing-thoughts" class="hash-link" aria-label="Direct link to Closing thoughts" title="Direct link to Closing thoughts">​</a></h2> diff --git a/blog/tags/acf/index.html b/blog/tags/acf/index.html index fd76f4b8e..3a9b64b60 100644 --- a/blog/tags/acf/index.html +++ b/blog/tags/acf/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Latest posts</div><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/making-your-project-multilingual">Making your project multilingual</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/wrapper-as-a-standalone-component">How to use the Wrapper as a standalone component</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/working-with-custom-queries">Working with custom queries</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/multiple-same-components">Using multiple same components</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/block-patterns">Block Patterns</a></li></ul></nav></aside><main class="col col--7" itemscope="" itemtype="https://schema.org/Blog"><header class="margin-bottom--xl"><h1>One post tagged with "acf"</h1><a href="/blog/tags">View All Tags</a></header><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Example of using ACF plugin in your project"><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/acf-in-a-project">How to use ACF in your project</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2022-05-17T00:00:00.000Z" itemprop="datePublished">May 17, 2022</time> · <!-- -->6 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>If you've worked with WordPress for a long time, you've heard of the <strong><em>Advanced Custom Fields</em></strong> plugin (<strong><em>ACF</em></strong> 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.</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/acf">acf</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/advanced-custom-fields">advanced custom fields</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/theme-options">theme options</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about How to use ACF in your project" href="/blog/acf-in-a-project"><b>Read More</b></a></div></footer></article><nav class="pagination-nav" aria-label="Blog list page navigation"></nav></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/blog/tags/advanced-custom-fields/index.html b/blog/tags/advanced-custom-fields/index.html index 4aafa06a1..80115fb2b 100644 --- a/blog/tags/advanced-custom-fields/index.html +++ b/blog/tags/advanced-custom-fields/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Latest posts</div><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/making-your-project-multilingual">Making your project multilingual</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/wrapper-as-a-standalone-component">How to use the Wrapper as a standalone component</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/working-with-custom-queries">Working with custom queries</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/multiple-same-components">Using multiple same components</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/block-patterns">Block Patterns</a></li></ul></nav></aside><main class="col col--7" itemscope="" itemtype="https://schema.org/Blog"><header class="margin-bottom--xl"><h1>One post tagged with "advanced custom fields"</h1><a href="/blog/tags">View All Tags</a></header><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Example of using ACF plugin in your project"><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/acf-in-a-project">How to use ACF in your project</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2022-05-17T00:00:00.000Z" itemprop="datePublished">May 17, 2022</time> · <!-- -->6 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>If you've worked with WordPress for a long time, you've heard of the <strong><em>Advanced Custom Fields</em></strong> plugin (<strong><em>ACF</em></strong> 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.</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/acf">acf</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/advanced-custom-fields">advanced custom fields</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/theme-options">theme options</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about How to use ACF in your project" href="/blog/acf-in-a-project"><b>Read More</b></a></div></footer></article><nav class="pagination-nav" aria-label="Blog list page navigation"></nav></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/blog/tags/assets/index.html b/blog/tags/assets/index.html index 10ee00128..4146ed4e4 100644 --- a/blog/tags/assets/index.html +++ b/blog/tags/assets/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Latest posts</div><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/making-your-project-multilingual">Making your project multilingual</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/wrapper-as-a-standalone-component">How to use the Wrapper as a standalone component</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/working-with-custom-queries">Working with custom queries</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/multiple-same-components">Using multiple same components</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/block-patterns">Block Patterns</a></li></ul></nav></aside><main class="col col--7" itemscope="" itemtype="https://schema.org/Blog"><header class="margin-bottom--xl"><h1>One post tagged with "assets"</h1><a href="/blog/tags">View All Tags</a></header><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Step-by-step guide on how to add assets like images or icons to your theme."><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/using-assets">Using assets in a project</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2022-04-28T00:00:00.000Z" itemprop="datePublished">April 28, 2022</time> · <!-- -->4 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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.</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/assets">assets</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/images">images</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/icons">icons</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about Using assets in a project" href="/blog/using-assets"><b>Read More</b></a></div></footer></article><nav class="pagination-nav" aria-label="Blog list page navigation"></nav></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/blog/tags/block/index.html b/blog/tags/block/index.html index 65b7f89a3..4420d365c 100644 --- a/blog/tags/block/index.html +++ b/blog/tags/block/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Latest posts</div><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/making-your-project-multilingual">Making your project multilingual</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/wrapper-as-a-standalone-component">How to use the Wrapper as a standalone component</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/working-with-custom-queries">Working with custom queries</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/multiple-same-components">Using multiple same components</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/block-patterns">Block Patterns</a></li></ul></nav></aside><main class="col col--7" itemscope="" itemtype="https://schema.org/Blog"><header class="margin-bottom--xl"><h1>2 posts tagged with "block"</h1><a href="/blog/tags">View All Tags</a></header><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Intro to block patterns and examples how to use them"><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/block-patterns">Block Patterns</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2023-03-01T00:00:00.000Z" itemprop="datePublished">March 1, 2023</time> · <!-- -->4 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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.</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/block">block</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/patterns">patterns</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about Block Patterns" href="/blog/block-patterns"><b>Read More</b></a></div></footer></article><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Intro to block variations and examples of how to use them"><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/block-variations">Block Variations</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2022-09-07T00:00:00.000Z" itemprop="datePublished">September 7, 2022</time> · <!-- -->4 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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!</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/block">block</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/variations">variations</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about Block Variations" href="/blog/block-variations"><b>Read More</b></a></div></footer></article><nav class="pagination-nav" aria-label="Blog list page navigation"></nav></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/blog/tags/blocks/index.html b/blog/tags/blocks/index.html index 201835ce2..9fe79aad8 100644 --- a/blog/tags/blocks/index.html +++ b/blog/tags/blocks/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Latest posts</div><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/making-your-project-multilingual">Making your project multilingual</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/wrapper-as-a-standalone-component">How to use the Wrapper as a standalone component</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/working-with-custom-queries">Working with custom queries</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/multiple-same-components">Using multiple same components</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/block-patterns">Block Patterns</a></li></ul></nav></aside><main class="col col--7" itemscope="" itemtype="https://schema.org/Blog"><header class="margin-bottom--xl"><h1>4 posts tagged with "blocks"</h1><a href="/blog/tags">View All Tags</a></header><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Explains how to use multiple same components inside"><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/multiple-same-components">Using multiple same components</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2023-06-12T00:00:00.000Z" itemprop="datePublished">June 12, 2023</time> · <!-- -->7 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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.</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/components">components</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/blocks">blocks</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about Using multiple same components" href="/blog/multiple-same-components"><b>Read More</b></a></div></footer></article><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Step-by-step guide on how to modify and expand the functionality of existing blocks."><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/modifying-blocks-color-theme">Modifying blocks - Color Theme</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2022-03-22T00:00:00.000Z" itemprop="datePublished">March 22, 2022</time> · <!-- -->9 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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.</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/components">components</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/blocks">blocks</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about Modifying blocks - Color Theme" href="/blog/modifying-blocks-color-theme"><b>Read More</b></a></div></footer></article><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="This blog post covers how to use our WP CLI commands for adding components and blocks into your project."><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/adding-blocks-wpcli">Adding components and blocks with WP-CLI</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2022-03-14T00:00:00.000Z" itemprop="datePublished">March 14, 2022</time> · <!-- -->3 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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 <a href="/storybook">Storybook</a>.</p> diff --git a/blog/tags/boilerplate/index.html b/blog/tags/boilerplate/index.html index 28edc3c9f..b9bda41e5 100644 --- a/blog/tags/boilerplate/index.html +++ b/blog/tags/boilerplate/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Latest posts</div><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/making-your-project-multilingual">Making your project multilingual</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/wrapper-as-a-standalone-component">How to use the Wrapper as a standalone component</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/working-with-custom-queries">Working with custom queries</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/multiple-same-components">Using multiple same components</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/block-patterns">Block Patterns</a></li></ul></nav></aside><main class="col col--7" itemscope="" itemtype="https://schema.org/Blog"><header class="margin-bottom--xl"><h1>14 posts tagged with "boilerplate"</h1><a href="/blog/tags">View All Tags</a></header><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Examples of using I18n in a project"><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/making-your-project-multilingual">Making your project multilingual</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2024-02-01T00:00:00.000Z" itemprop="datePublished">February 1, 2024</time> · <!-- -->6 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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.</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/i-18-n">i18n</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/multilingual">multilingual</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about Making your project multilingual" href="/blog/making-your-project-multilingual"><b>Read More</b></a></div></footer></article><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Explains the process of using the Wrapper component in WordPress templates."><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/wrapper-as-a-standalone-component">How to use the Wrapper as a standalone component</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2023-09-05T00:00:00.000Z" itemprop="datePublished">September 5, 2023</time> · <!-- -->4 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/kancijan" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/135589039?v=4" alt="Ivan Kancijan" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/kancijan" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Ivan Kancijan</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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?</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/wrapper">wrapper</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/components">components</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about How to use the Wrapper as a standalone component" href="/blog/wrapper-as-a-standalone-component"><b>Read More</b></a></div></footer></article><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Explains the process of registering a new service class, adding a custom query and using it in a block."><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/working-with-custom-queries">Working with custom queries</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2023-08-01T00:00:00.000Z" itemprop="datePublished">August 1, 2023</time> · <!-- -->4 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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?</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/service">service</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/class">class</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/query">query</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about Working with custom queries" href="/blog/working-with-custom-queries"><b>Read More</b></a></div></footer></article><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Explains how to use multiple same components inside"><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/multiple-same-components">Using multiple same components</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2023-06-12T00:00:00.000Z" itemprop="datePublished">June 12, 2023</time> · <!-- -->7 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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.</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/components">components</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/blocks">blocks</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about Using multiple same components" href="/blog/multiple-same-components"><b>Read More</b></a></div></footer></article><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Intro to block patterns and examples how to use them"><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/block-patterns">Block Patterns</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2023-03-01T00:00:00.000Z" itemprop="datePublished">March 1, 2023</time> · <!-- -->4 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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.</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/block">block</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/patterns">patterns</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about Block Patterns" href="/blog/block-patterns"><b>Read More</b></a></div></footer></article><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="How to register and use custom post types and taxonomies with Eightshift Dev Kit"><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/using-cpts-and-taxonomies">Using Custom Post Types and Taxonomies</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2022-12-13T00:00:00.000Z" itemprop="datePublished">December 13, 2022</time> · <!-- -->5 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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.</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/cpt">cpt</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/custom-post-type">custom post type</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/taxonomy">taxonomy</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/taxonomies">taxonomies</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/terms">terms</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about Using Custom Post Types and Taxonomies" href="/blog/using-cpts-and-taxonomies"><b>Read More</b></a></div></footer></article><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Intro to block variations and examples of how to use them"><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/block-variations">Block Variations</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2022-09-07T00:00:00.000Z" itemprop="datePublished">September 7, 2022</time> · <!-- -->4 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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!</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/block">block</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/variations">variations</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about Block Variations" href="/blog/block-variations"><b>Read More</b></a></div></footer></article><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Example of using ACF plugin in your project"><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/acf-in-a-project">How to use ACF in your project</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2022-05-17T00:00:00.000Z" itemprop="datePublished">May 17, 2022</time> · <!-- -->6 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>If you've worked with WordPress for a long time, you've heard of the <strong><em>Advanced Custom Fields</em></strong> plugin (<strong><em>ACF</em></strong> 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.</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/acf">acf</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/advanced-custom-fields">advanced custom fields</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/theme-options">theme options</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about How to use ACF in your project" href="/blog/acf-in-a-project"><b>Read More</b></a></div></footer></article><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Step-by-step guide on how to add assets like images or icons to your theme."><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/using-assets">Using assets in a project</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2022-04-28T00:00:00.000Z" itemprop="datePublished">April 28, 2022</time> · <!-- -->4 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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.</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/assets">assets</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/images">images</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/icons">icons</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about Using assets in a project" href="/blog/using-assets"><b>Read More</b></a></div></footer></article><nav class="pagination-nav" aria-label="Blog list page navigation"><a class="pagination-nav__link pagination-nav__link--next" href="/blog/tags/boilerplate/page/2"><div class="pagination-nav__label">Older Entries</div></a></nav></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/blog/tags/boilerplate/page/2/index.html b/blog/tags/boilerplate/page/2/index.html index bc8086cf7..f52b673e8 100644 --- a/blog/tags/boilerplate/page/2/index.html +++ b/blog/tags/boilerplate/page/2/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Latest posts</div><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/making-your-project-multilingual">Making your project multilingual</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/wrapper-as-a-standalone-component">How to use the Wrapper as a standalone component</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/working-with-custom-queries">Working with custom queries</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/multiple-same-components">Using multiple same components</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/block-patterns">Block Patterns</a></li></ul></nav></aside><main class="col col--7" itemscope="" itemtype="https://schema.org/Blog"><header class="margin-bottom--xl"><h1>14 posts tagged with "boilerplate"</h1><a href="/blog/tags">View All Tags</a></header><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="An intro to adding fonts to your project."><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/adding-fonts">Adding fonts</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2022-04-12T00:00:00.000Z" itemprop="datePublished">April 12, 2022</time> · <!-- -->7 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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.</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/fonts">fonts</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about Adding fonts" href="/blog/adding-fonts"><b>Read More</b></a></div></footer></article><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Step-by-step guide on how to modify and expand the functionality of existing blocks."><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/modifying-blocks-color-theme">Modifying blocks - Color Theme</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2022-03-22T00:00:00.000Z" itemprop="datePublished">March 22, 2022</time> · <!-- -->9 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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.</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/components">components</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/blocks">blocks</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about Modifying blocks - Color Theme" href="/blog/modifying-blocks-color-theme"><b>Read More</b></a></div></footer></article><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="This blog post covers how to use our WP CLI commands for adding components and blocks into your project."><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/adding-blocks-wpcli">Adding components and blocks with WP-CLI</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2022-03-14T00:00:00.000Z" itemprop="datePublished">March 14, 2022</time> · <!-- -->3 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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 <a href="/storybook">Storybook</a>.</p> diff --git a/blog/tags/class/index.html b/blog/tags/class/index.html index e4b0b67d6..0f5c9348f 100644 --- a/blog/tags/class/index.html +++ b/blog/tags/class/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Latest posts</div><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/making-your-project-multilingual">Making your project multilingual</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/wrapper-as-a-standalone-component">How to use the Wrapper as a standalone component</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/working-with-custom-queries">Working with custom queries</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/multiple-same-components">Using multiple same components</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/block-patterns">Block Patterns</a></li></ul></nav></aside><main class="col col--7" itemscope="" itemtype="https://schema.org/Blog"><header class="margin-bottom--xl"><h1>One post tagged with "class"</h1><a href="/blog/tags">View All Tags</a></header><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Explains the process of registering a new service class, adding a custom query and using it in a block."><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/working-with-custom-queries">Working with custom queries</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2023-08-01T00:00:00.000Z" itemprop="datePublished">August 1, 2023</time> · <!-- -->4 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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?</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/service">service</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/class">class</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/query">query</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about Working with custom queries" href="/blog/working-with-custom-queries"><b>Read More</b></a></div></footer></article><nav class="pagination-nav" aria-label="Blog list page navigation"></nav></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/blog/tags/components/index.html b/blog/tags/components/index.html index 3a191babb..e7256bbf1 100644 --- a/blog/tags/components/index.html +++ b/blog/tags/components/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Latest posts</div><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/making-your-project-multilingual">Making your project multilingual</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/wrapper-as-a-standalone-component">How to use the Wrapper as a standalone component</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/working-with-custom-queries">Working with custom queries</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/multiple-same-components">Using multiple same components</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/block-patterns">Block Patterns</a></li></ul></nav></aside><main class="col col--7" itemscope="" itemtype="https://schema.org/Blog"><header class="margin-bottom--xl"><h1>5 posts tagged with "components"</h1><a href="/blog/tags">View All Tags</a></header><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Explains the process of using the Wrapper component in WordPress templates."><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/wrapper-as-a-standalone-component">How to use the Wrapper as a standalone component</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2023-09-05T00:00:00.000Z" itemprop="datePublished">September 5, 2023</time> · <!-- -->4 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/kancijan" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/135589039?v=4" alt="Ivan Kancijan" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/kancijan" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Ivan Kancijan</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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?</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/wrapper">wrapper</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/components">components</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about How to use the Wrapper as a standalone component" href="/blog/wrapper-as-a-standalone-component"><b>Read More</b></a></div></footer></article><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Explains how to use multiple same components inside"><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/multiple-same-components">Using multiple same components</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2023-06-12T00:00:00.000Z" itemprop="datePublished">June 12, 2023</time> · <!-- -->7 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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.</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/components">components</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/blocks">blocks</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about Using multiple same components" href="/blog/multiple-same-components"><b>Read More</b></a></div></footer></article><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Step-by-step guide on how to modify and expand the functionality of existing blocks."><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/modifying-blocks-color-theme">Modifying blocks - Color Theme</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2022-03-22T00:00:00.000Z" itemprop="datePublished">March 22, 2022</time> · <!-- -->9 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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.</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/components">components</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/blocks">blocks</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about Modifying blocks - Color Theme" href="/blog/modifying-blocks-color-theme"><b>Read More</b></a></div></footer></article><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="This blog post covers how to use our WP CLI commands for adding components and blocks into your project."><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/adding-blocks-wpcli">Adding components and blocks with WP-CLI</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2022-03-14T00:00:00.000Z" itemprop="datePublished">March 14, 2022</time> · <!-- -->3 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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 <a href="/storybook">Storybook</a>.</p> diff --git a/blog/tags/cpt/index.html b/blog/tags/cpt/index.html index 8501a4ea4..c86ed5246 100644 --- a/blog/tags/cpt/index.html +++ b/blog/tags/cpt/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Latest posts</div><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/making-your-project-multilingual">Making your project multilingual</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/wrapper-as-a-standalone-component">How to use the Wrapper as a standalone component</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/working-with-custom-queries">Working with custom queries</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/multiple-same-components">Using multiple same components</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/block-patterns">Block Patterns</a></li></ul></nav></aside><main class="col col--7" itemscope="" itemtype="https://schema.org/Blog"><header class="margin-bottom--xl"><h1>One post tagged with "cpt"</h1><a href="/blog/tags">View All Tags</a></header><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="How to register and use custom post types and taxonomies with Eightshift Dev Kit"><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/using-cpts-and-taxonomies">Using Custom Post Types and Taxonomies</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2022-12-13T00:00:00.000Z" itemprop="datePublished">December 13, 2022</time> · <!-- -->5 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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.</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/cpt">cpt</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/custom-post-type">custom post type</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/taxonomy">taxonomy</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/taxonomies">taxonomies</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/terms">terms</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about Using Custom Post Types and Taxonomies" href="/blog/using-cpts-and-taxonomies"><b>Read More</b></a></div></footer></article><nav class="pagination-nav" aria-label="Blog list page navigation"></nav></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/blog/tags/custom-post-type/index.html b/blog/tags/custom-post-type/index.html index fda69a92e..fe3502aea 100644 --- a/blog/tags/custom-post-type/index.html +++ b/blog/tags/custom-post-type/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Latest posts</div><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/making-your-project-multilingual">Making your project multilingual</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/wrapper-as-a-standalone-component">How to use the Wrapper as a standalone component</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/working-with-custom-queries">Working with custom queries</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/multiple-same-components">Using multiple same components</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/block-patterns">Block Patterns</a></li></ul></nav></aside><main class="col col--7" itemscope="" itemtype="https://schema.org/Blog"><header class="margin-bottom--xl"><h1>One post tagged with "custom post type"</h1><a href="/blog/tags">View All Tags</a></header><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="How to register and use custom post types and taxonomies with Eightshift Dev Kit"><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/using-cpts-and-taxonomies">Using Custom Post Types and Taxonomies</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2022-12-13T00:00:00.000Z" itemprop="datePublished">December 13, 2022</time> · <!-- -->5 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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.</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/cpt">cpt</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/custom-post-type">custom post type</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/taxonomy">taxonomy</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/taxonomies">taxonomies</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/terms">terms</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about Using Custom Post Types and Taxonomies" href="/blog/using-cpts-and-taxonomies"><b>Read More</b></a></div></footer></article><nav class="pagination-nav" aria-label="Blog list page navigation"></nav></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/blog/tags/eightshift/index.html b/blog/tags/eightshift/index.html index 459dddc11..83c70945e 100644 --- a/blog/tags/eightshift/index.html +++ b/blog/tags/eightshift/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Latest posts</div><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/making-your-project-multilingual">Making your project multilingual</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/wrapper-as-a-standalone-component">How to use the Wrapper as a standalone component</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/working-with-custom-queries">Working with custom queries</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/multiple-same-components">Using multiple same components</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/block-patterns">Block Patterns</a></li></ul></nav></aside><main class="col col--7" itemscope="" itemtype="https://schema.org/Blog"><header class="margin-bottom--xl"><h1>14 posts tagged with "eightshift"</h1><a href="/blog/tags">View All Tags</a></header><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Examples of using I18n in a project"><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/making-your-project-multilingual">Making your project multilingual</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2024-02-01T00:00:00.000Z" itemprop="datePublished">February 1, 2024</time> · <!-- -->6 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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.</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/i-18-n">i18n</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/multilingual">multilingual</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about Making your project multilingual" href="/blog/making-your-project-multilingual"><b>Read More</b></a></div></footer></article><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Explains the process of using the Wrapper component in WordPress templates."><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/wrapper-as-a-standalone-component">How to use the Wrapper as a standalone component</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2023-09-05T00:00:00.000Z" itemprop="datePublished">September 5, 2023</time> · <!-- -->4 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/kancijan" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/135589039?v=4" alt="Ivan Kancijan" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/kancijan" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Ivan Kancijan</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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?</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/wrapper">wrapper</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/components">components</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about How to use the Wrapper as a standalone component" href="/blog/wrapper-as-a-standalone-component"><b>Read More</b></a></div></footer></article><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Explains the process of registering a new service class, adding a custom query and using it in a block."><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/working-with-custom-queries">Working with custom queries</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2023-08-01T00:00:00.000Z" itemprop="datePublished">August 1, 2023</time> · <!-- -->4 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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?</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/service">service</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/class">class</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/query">query</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about Working with custom queries" href="/blog/working-with-custom-queries"><b>Read More</b></a></div></footer></article><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Explains how to use multiple same components inside"><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/multiple-same-components">Using multiple same components</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2023-06-12T00:00:00.000Z" itemprop="datePublished">June 12, 2023</time> · <!-- -->7 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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.</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/components">components</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/blocks">blocks</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about Using multiple same components" href="/blog/multiple-same-components"><b>Read More</b></a></div></footer></article><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Intro to block patterns and examples how to use them"><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/block-patterns">Block Patterns</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2023-03-01T00:00:00.000Z" itemprop="datePublished">March 1, 2023</time> · <!-- -->4 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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.</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/block">block</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/patterns">patterns</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about Block Patterns" href="/blog/block-patterns"><b>Read More</b></a></div></footer></article><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="How to register and use custom post types and taxonomies with Eightshift Dev Kit"><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/using-cpts-and-taxonomies">Using Custom Post Types and Taxonomies</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2022-12-13T00:00:00.000Z" itemprop="datePublished">December 13, 2022</time> · <!-- -->5 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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.</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/cpt">cpt</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/custom-post-type">custom post type</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/taxonomy">taxonomy</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/taxonomies">taxonomies</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/terms">terms</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about Using Custom Post Types and Taxonomies" href="/blog/using-cpts-and-taxonomies"><b>Read More</b></a></div></footer></article><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Intro to block variations and examples of how to use them"><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/block-variations">Block Variations</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2022-09-07T00:00:00.000Z" itemprop="datePublished">September 7, 2022</time> · <!-- -->4 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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!</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/block">block</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/variations">variations</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about Block Variations" href="/blog/block-variations"><b>Read More</b></a></div></footer></article><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Example of using ACF plugin in your project"><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/acf-in-a-project">How to use ACF in your project</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2022-05-17T00:00:00.000Z" itemprop="datePublished">May 17, 2022</time> · <!-- -->6 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>If you've worked with WordPress for a long time, you've heard of the <strong><em>Advanced Custom Fields</em></strong> plugin (<strong><em>ACF</em></strong> 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.</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/acf">acf</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/advanced-custom-fields">advanced custom fields</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/theme-options">theme options</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about How to use ACF in your project" href="/blog/acf-in-a-project"><b>Read More</b></a></div></footer></article><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Step-by-step guide on how to add assets like images or icons to your theme."><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/using-assets">Using assets in a project</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2022-04-28T00:00:00.000Z" itemprop="datePublished">April 28, 2022</time> · <!-- -->4 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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.</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/assets">assets</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/images">images</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/icons">icons</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about Using assets in a project" href="/blog/using-assets"><b>Read More</b></a></div></footer></article><nav class="pagination-nav" aria-label="Blog list page navigation"><a class="pagination-nav__link pagination-nav__link--next" href="/blog/tags/eightshift/page/2"><div class="pagination-nav__label">Older Entries</div></a></nav></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/blog/tags/eightshift/page/2/index.html b/blog/tags/eightshift/page/2/index.html index 5fa2c6e62..93334ff32 100644 --- a/blog/tags/eightshift/page/2/index.html +++ b/blog/tags/eightshift/page/2/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Latest posts</div><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/making-your-project-multilingual">Making your project multilingual</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/wrapper-as-a-standalone-component">How to use the Wrapper as a standalone component</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/working-with-custom-queries">Working with custom queries</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/multiple-same-components">Using multiple same components</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/block-patterns">Block Patterns</a></li></ul></nav></aside><main class="col col--7" itemscope="" itemtype="https://schema.org/Blog"><header class="margin-bottom--xl"><h1>14 posts tagged with "eightshift"</h1><a href="/blog/tags">View All Tags</a></header><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="An intro to adding fonts to your project."><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/adding-fonts">Adding fonts</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2022-04-12T00:00:00.000Z" itemprop="datePublished">April 12, 2022</time> · <!-- -->7 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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.</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/fonts">fonts</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about Adding fonts" href="/blog/adding-fonts"><b>Read More</b></a></div></footer></article><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Step-by-step guide on how to modify and expand the functionality of existing blocks."><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/modifying-blocks-color-theme">Modifying blocks - Color Theme</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2022-03-22T00:00:00.000Z" itemprop="datePublished">March 22, 2022</time> · <!-- -->9 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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.</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/components">components</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/blocks">blocks</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about Modifying blocks - Color Theme" href="/blog/modifying-blocks-color-theme"><b>Read More</b></a></div></footer></article><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="This blog post covers how to use our WP CLI commands for adding components and blocks into your project."><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/adding-blocks-wpcli">Adding components and blocks with WP-CLI</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2022-03-14T00:00:00.000Z" itemprop="datePublished">March 14, 2022</time> · <!-- -->3 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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 <a href="/storybook">Storybook</a>.</p> diff --git a/blog/tags/fonts/index.html b/blog/tags/fonts/index.html index 8bfedb259..08821810c 100644 --- a/blog/tags/fonts/index.html +++ b/blog/tags/fonts/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Latest posts</div><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/making-your-project-multilingual">Making your project multilingual</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/wrapper-as-a-standalone-component">How to use the Wrapper as a standalone component</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/working-with-custom-queries">Working with custom queries</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/multiple-same-components">Using multiple same components</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/block-patterns">Block Patterns</a></li></ul></nav></aside><main class="col col--7" itemscope="" itemtype="https://schema.org/Blog"><header class="margin-bottom--xl"><h1>One post tagged with "fonts"</h1><a href="/blog/tags">View All Tags</a></header><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="An intro to adding fonts to your project."><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/adding-fonts">Adding fonts</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2022-04-12T00:00:00.000Z" itemprop="datePublished">April 12, 2022</time> · <!-- -->7 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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.</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/fonts">fonts</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about Adding fonts" href="/blog/adding-fonts"><b>Read More</b></a></div></footer></article><nav class="pagination-nav" aria-label="Blog list page navigation"></nav></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/blog/tags/i-18-n/index.html b/blog/tags/i-18-n/index.html index 242f3174e..b5fe3b8c6 100644 --- a/blog/tags/i-18-n/index.html +++ b/blog/tags/i-18-n/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Latest posts</div><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/making-your-project-multilingual">Making your project multilingual</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/wrapper-as-a-standalone-component">How to use the Wrapper as a standalone component</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/working-with-custom-queries">Working with custom queries</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/multiple-same-components">Using multiple same components</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/block-patterns">Block Patterns</a></li></ul></nav></aside><main class="col col--7" itemscope="" itemtype="https://schema.org/Blog"><header class="margin-bottom--xl"><h1>One post tagged with "i18n"</h1><a href="/blog/tags">View All Tags</a></header><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Examples of using I18n in a project"><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/making-your-project-multilingual">Making your project multilingual</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2024-02-01T00:00:00.000Z" itemprop="datePublished">February 1, 2024</time> · <!-- -->6 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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.</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/i-18-n">i18n</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/multilingual">multilingual</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about Making your project multilingual" href="/blog/making-your-project-multilingual"><b>Read More</b></a></div></footer></article><nav class="pagination-nav" aria-label="Blog list page navigation"></nav></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/blog/tags/icons/index.html b/blog/tags/icons/index.html index f9106ed5a..3e3636915 100644 --- a/blog/tags/icons/index.html +++ b/blog/tags/icons/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Latest posts</div><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/making-your-project-multilingual">Making your project multilingual</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/wrapper-as-a-standalone-component">How to use the Wrapper as a standalone component</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/working-with-custom-queries">Working with custom queries</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/multiple-same-components">Using multiple same components</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/block-patterns">Block Patterns</a></li></ul></nav></aside><main class="col col--7" itemscope="" itemtype="https://schema.org/Blog"><header class="margin-bottom--xl"><h1>One post tagged with "icons"</h1><a href="/blog/tags">View All Tags</a></header><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Step-by-step guide on how to add assets like images or icons to your theme."><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/using-assets">Using assets in a project</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2022-04-28T00:00:00.000Z" itemprop="datePublished">April 28, 2022</time> · <!-- -->4 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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.</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/assets">assets</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/images">images</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/icons">icons</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about Using assets in a project" href="/blog/using-assets"><b>Read More</b></a></div></footer></article><nav class="pagination-nav" aria-label="Blog list page navigation"></nav></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/blog/tags/images/index.html b/blog/tags/images/index.html index bcb9c244c..5842fd415 100644 --- a/blog/tags/images/index.html +++ b/blog/tags/images/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Latest posts</div><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/making-your-project-multilingual">Making your project multilingual</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/wrapper-as-a-standalone-component">How to use the Wrapper as a standalone component</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/working-with-custom-queries">Working with custom queries</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/multiple-same-components">Using multiple same components</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/block-patterns">Block Patterns</a></li></ul></nav></aside><main class="col col--7" itemscope="" itemtype="https://schema.org/Blog"><header class="margin-bottom--xl"><h1>One post tagged with "images"</h1><a href="/blog/tags">View All Tags</a></header><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Step-by-step guide on how to add assets like images or icons to your theme."><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/using-assets">Using assets in a project</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2022-04-28T00:00:00.000Z" itemprop="datePublished">April 28, 2022</time> · <!-- -->4 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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.</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/assets">assets</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/images">images</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/icons">icons</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about Using assets in a project" href="/blog/using-assets"><b>Read More</b></a></div></footer></article><nav class="pagination-nav" aria-label="Blog list page navigation"></nav></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/blog/tags/index.html b/blog/tags/index.html index 1323df93d..2ad8f697d 100644 --- a/blog/tags/index.html +++ b/blog/tags/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Latest posts</div><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/making-your-project-multilingual">Making your project multilingual</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/wrapper-as-a-standalone-component">How to use the Wrapper as a standalone component</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/working-with-custom-queries">Working with custom queries</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/multiple-same-components">Using multiple same components</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/block-patterns">Block Patterns</a></li></ul></nav></aside><main class="col col--7" itemscope="" itemtype="https://schema.org/Blog"><h1>Tags</h1><section class="margin-vert--lg"><article><h2 class="anchor anchorWithStickyNavbar_LWe7" id="A">A<a href="#A" class="hash-link" aria-label="Direct link to A" title="Direct link to A">​</a></h2><ul class="padding--none"><li class="tag_Nnez"><a class="tag_zVej tagWithCount_h2kH" href="/blog/tags/acf">acf<span>1</span></a></li><li class="tag_Nnez"><a class="tag_zVej tagWithCount_h2kH" href="/blog/tags/advanced-custom-fields">advanced custom fields<span>1</span></a></li><li class="tag_Nnez"><a class="tag_zVej tagWithCount_h2kH" href="/blog/tags/assets">assets<span>1</span></a></li></ul><hr></article><article><h2 class="anchor anchorWithStickyNavbar_LWe7" id="B">B<a href="#B" class="hash-link" aria-label="Direct link to B" title="Direct link to B">​</a></h2><ul class="padding--none"><li class="tag_Nnez"><a class="tag_zVej tagWithCount_h2kH" href="/blog/tags/block">block<span>2</span></a></li><li class="tag_Nnez"><a class="tag_zVej tagWithCount_h2kH" href="/blog/tags/blocks">blocks<span>4</span></a></li><li class="tag_Nnez"><a class="tag_zVej tagWithCount_h2kH" href="/blog/tags/boilerplate">boilerplate<span>14</span></a></li></ul><hr></article><article><h2 class="anchor anchorWithStickyNavbar_LWe7" id="C">C<a href="#C" class="hash-link" aria-label="Direct link to C" title="Direct link to C">​</a></h2><ul class="padding--none"><li class="tag_Nnez"><a class="tag_zVej tagWithCount_h2kH" href="/blog/tags/class">class<span>1</span></a></li><li class="tag_Nnez"><a class="tag_zVej tagWithCount_h2kH" href="/blog/tags/components">components<span>5</span></a></li><li class="tag_Nnez"><a class="tag_zVej tagWithCount_h2kH" href="/blog/tags/cpt">cpt<span>1</span></a></li><li class="tag_Nnez"><a class="tag_zVej tagWithCount_h2kH" href="/blog/tags/custom-post-type">custom post type<span>1</span></a></li></ul><hr></article><article><h2 class="anchor anchorWithStickyNavbar_LWe7" id="E">E<a href="#E" class="hash-link" aria-label="Direct link to E" title="Direct link to E">​</a></h2><ul class="padding--none"><li class="tag_Nnez"><a class="tag_zVej tagWithCount_h2kH" href="/blog/tags/eightshift">eightshift<span>14</span></a></li></ul><hr></article><article><h2 class="anchor anchorWithStickyNavbar_LWe7" id="F">F<a href="#F" class="hash-link" aria-label="Direct link to F" title="Direct link to F">​</a></h2><ul class="padding--none"><li class="tag_Nnez"><a class="tag_zVej tagWithCount_h2kH" href="/blog/tags/fonts">fonts<span>1</span></a></li></ul><hr></article><article><h2 class="anchor anchorWithStickyNavbar_LWe7" id="I">I<a href="#I" class="hash-link" aria-label="Direct link to I" title="Direct link to I">​</a></h2><ul class="padding--none"><li class="tag_Nnez"><a class="tag_zVej tagWithCount_h2kH" href="/blog/tags/i-18-n">i18n<span>1</span></a></li><li class="tag_Nnez"><a class="tag_zVej tagWithCount_h2kH" href="/blog/tags/icons">icons<span>1</span></a></li><li class="tag_Nnez"><a class="tag_zVej tagWithCount_h2kH" href="/blog/tags/images">images<span>1</span></a></li></ul><hr></article><article><h2 class="anchor anchorWithStickyNavbar_LWe7" id="M">M<a href="#M" class="hash-link" aria-label="Direct link to M" title="Direct link to M">​</a></h2><ul class="padding--none"><li class="tag_Nnez"><a class="tag_zVej tagWithCount_h2kH" href="/blog/tags/multilingual">multilingual<span>1</span></a></li></ul><hr></article><article><h2 class="anchor anchorWithStickyNavbar_LWe7" id="P">P<a href="#P" class="hash-link" aria-label="Direct link to P" title="Direct link to P">​</a></h2><ul class="padding--none"><li class="tag_Nnez"><a class="tag_zVej tagWithCount_h2kH" href="/blog/tags/patterns">patterns<span>1</span></a></li></ul><hr></article><article><h2 class="anchor anchorWithStickyNavbar_LWe7" id="Q">Q<a href="#Q" class="hash-link" aria-label="Direct link to Q" title="Direct link to Q">​</a></h2><ul class="padding--none"><li class="tag_Nnez"><a class="tag_zVej tagWithCount_h2kH" href="/blog/tags/query">query<span>1</span></a></li></ul><hr></article><article><h2 class="anchor anchorWithStickyNavbar_LWe7" id="S">S<a href="#S" class="hash-link" aria-label="Direct link to S" title="Direct link to S">​</a></h2><ul class="padding--none"><li class="tag_Nnez"><a class="tag_zVej tagWithCount_h2kH" href="/blog/tags/service">service<span>1</span></a></li><li class="tag_Nnez"><a class="tag_zVej tagWithCount_h2kH" href="/blog/tags/setup">setup<span>1</span></a></li></ul><hr></article><article><h2 class="anchor anchorWithStickyNavbar_LWe7" id="T">T<a href="#T" class="hash-link" aria-label="Direct link to T" title="Direct link to T">​</a></h2><ul class="padding--none"><li class="tag_Nnez"><a class="tag_zVej tagWithCount_h2kH" href="/blog/tags/taxonomies">taxonomies<span>1</span></a></li><li class="tag_Nnez"><a class="tag_zVej tagWithCount_h2kH" href="/blog/tags/taxonomy">taxonomy<span>1</span></a></li><li class="tag_Nnez"><a class="tag_zVej tagWithCount_h2kH" href="/blog/tags/terms">terms<span>1</span></a></li><li class="tag_Nnez"><a class="tag_zVej tagWithCount_h2kH" href="/blog/tags/theme-options">theme options<span>1</span></a></li></ul><hr></article><article><h2 class="anchor anchorWithStickyNavbar_LWe7" id="V">V<a href="#V" class="hash-link" aria-label="Direct link to V" title="Direct link to V">​</a></h2><ul class="padding--none"><li class="tag_Nnez"><a class="tag_zVej tagWithCount_h2kH" href="/blog/tags/variations">variations<span>1</span></a></li></ul><hr></article><article><h2 class="anchor anchorWithStickyNavbar_LWe7" id="W">W<a href="#W" class="hash-link" aria-label="Direct link to W" title="Direct link to W">​</a></h2><ul class="padding--none"><li class="tag_Nnez"><a class="tag_zVej tagWithCount_h2kH" href="/blog/tags/wpcli">wpcli<span>1</span></a></li><li class="tag_Nnez"><a class="tag_zVej tagWithCount_h2kH" href="/blog/tags/wrapper">wrapper<span>1</span></a></li></ul><hr></article></section></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/blog/tags/multilingual/index.html b/blog/tags/multilingual/index.html index 670961fbb..a8b6fbf4a 100644 --- a/blog/tags/multilingual/index.html +++ b/blog/tags/multilingual/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Latest posts</div><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/making-your-project-multilingual">Making your project multilingual</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/wrapper-as-a-standalone-component">How to use the Wrapper as a standalone component</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/working-with-custom-queries">Working with custom queries</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/multiple-same-components">Using multiple same components</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/block-patterns">Block Patterns</a></li></ul></nav></aside><main class="col col--7" itemscope="" itemtype="https://schema.org/Blog"><header class="margin-bottom--xl"><h1>One post tagged with "multilingual"</h1><a href="/blog/tags">View All Tags</a></header><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Examples of using I18n in a project"><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/making-your-project-multilingual">Making your project multilingual</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2024-02-01T00:00:00.000Z" itemprop="datePublished">February 1, 2024</time> · <!-- -->6 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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.</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/i-18-n">i18n</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/multilingual">multilingual</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about Making your project multilingual" href="/blog/making-your-project-multilingual"><b>Read More</b></a></div></footer></article><nav class="pagination-nav" aria-label="Blog list page navigation"></nav></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/blog/tags/patterns/index.html b/blog/tags/patterns/index.html index 8b8f1925c..f59641159 100644 --- a/blog/tags/patterns/index.html +++ b/blog/tags/patterns/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Latest posts</div><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/making-your-project-multilingual">Making your project multilingual</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/wrapper-as-a-standalone-component">How to use the Wrapper as a standalone component</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/working-with-custom-queries">Working with custom queries</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/multiple-same-components">Using multiple same components</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/block-patterns">Block Patterns</a></li></ul></nav></aside><main class="col col--7" itemscope="" itemtype="https://schema.org/Blog"><header class="margin-bottom--xl"><h1>One post tagged with "patterns"</h1><a href="/blog/tags">View All Tags</a></header><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Intro to block patterns and examples how to use them"><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/block-patterns">Block Patterns</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2023-03-01T00:00:00.000Z" itemprop="datePublished">March 1, 2023</time> · <!-- -->4 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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.</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/block">block</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/patterns">patterns</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about Block Patterns" href="/blog/block-patterns"><b>Read More</b></a></div></footer></article><nav class="pagination-nav" aria-label="Blog list page navigation"></nav></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/blog/tags/query/index.html b/blog/tags/query/index.html index ebac8dac0..7934d6078 100644 --- a/blog/tags/query/index.html +++ b/blog/tags/query/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Latest posts</div><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/making-your-project-multilingual">Making your project multilingual</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/wrapper-as-a-standalone-component">How to use the Wrapper as a standalone component</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/working-with-custom-queries">Working with custom queries</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/multiple-same-components">Using multiple same components</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/block-patterns">Block Patterns</a></li></ul></nav></aside><main class="col col--7" itemscope="" itemtype="https://schema.org/Blog"><header class="margin-bottom--xl"><h1>One post tagged with "query"</h1><a href="/blog/tags">View All Tags</a></header><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Explains the process of registering a new service class, adding a custom query and using it in a block."><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/working-with-custom-queries">Working with custom queries</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2023-08-01T00:00:00.000Z" itemprop="datePublished">August 1, 2023</time> · <!-- -->4 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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?</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/service">service</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/class">class</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/query">query</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about Working with custom queries" href="/blog/working-with-custom-queries"><b>Read More</b></a></div></footer></article><nav class="pagination-nav" aria-label="Blog list page navigation"></nav></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/blog/tags/service/index.html b/blog/tags/service/index.html index 14eb4e3b2..94136a926 100644 --- a/blog/tags/service/index.html +++ b/blog/tags/service/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Latest posts</div><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/making-your-project-multilingual">Making your project multilingual</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/wrapper-as-a-standalone-component">How to use the Wrapper as a standalone component</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/working-with-custom-queries">Working with custom queries</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/multiple-same-components">Using multiple same components</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/block-patterns">Block Patterns</a></li></ul></nav></aside><main class="col col--7" itemscope="" itemtype="https://schema.org/Blog"><header class="margin-bottom--xl"><h1>One post tagged with "service"</h1><a href="/blog/tags">View All Tags</a></header><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Explains the process of registering a new service class, adding a custom query and using it in a block."><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/working-with-custom-queries">Working with custom queries</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2023-08-01T00:00:00.000Z" itemprop="datePublished">August 1, 2023</time> · <!-- -->4 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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?</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/service">service</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/class">class</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/query">query</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about Working with custom queries" href="/blog/working-with-custom-queries"><b>Read More</b></a></div></footer></article><nav class="pagination-nav" aria-label="Blog list page navigation"></nav></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/blog/tags/setup/index.html b/blog/tags/setup/index.html index eca52bba1..11943a882 100644 --- a/blog/tags/setup/index.html +++ b/blog/tags/setup/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Latest posts</div><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/making-your-project-multilingual">Making your project multilingual</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/wrapper-as-a-standalone-component">How to use the Wrapper as a standalone component</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/working-with-custom-queries">Working with custom queries</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/multiple-same-components">Using multiple same components</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/block-patterns">Block Patterns</a></li></ul></nav></aside><main class="col col--7" itemscope="" itemtype="https://schema.org/Blog"><header class="margin-bottom--xl"><h1>One post tagged with "setup"</h1><a href="/blog/tags">View All Tags</a></header><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="This blog post describes how to set up Eightshift Boilerplate theme, and covers some of the most common issues that may occur"><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/initial-setup">Initial setup and first steps</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2022-01-20T00:00:00.000Z" itemprop="datePublished">January 20, 2022</time> · <!-- -->3 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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.</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/setup">setup</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about Initial setup and first steps" href="/blog/initial-setup"><b>Read More</b></a></div></footer></article><nav class="pagination-nav" aria-label="Blog list page navigation"></nav></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/blog/tags/taxonomies/index.html b/blog/tags/taxonomies/index.html index 04cd00b24..79c238153 100644 --- a/blog/tags/taxonomies/index.html +++ b/blog/tags/taxonomies/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Latest posts</div><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/making-your-project-multilingual">Making your project multilingual</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/wrapper-as-a-standalone-component">How to use the Wrapper as a standalone component</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/working-with-custom-queries">Working with custom queries</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/multiple-same-components">Using multiple same components</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/block-patterns">Block Patterns</a></li></ul></nav></aside><main class="col col--7" itemscope="" itemtype="https://schema.org/Blog"><header class="margin-bottom--xl"><h1>One post tagged with "taxonomies"</h1><a href="/blog/tags">View All Tags</a></header><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="How to register and use custom post types and taxonomies with Eightshift Dev Kit"><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/using-cpts-and-taxonomies">Using Custom Post Types and Taxonomies</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2022-12-13T00:00:00.000Z" itemprop="datePublished">December 13, 2022</time> · <!-- -->5 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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.</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/cpt">cpt</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/custom-post-type">custom post type</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/taxonomy">taxonomy</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/taxonomies">taxonomies</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/terms">terms</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about Using Custom Post Types and Taxonomies" href="/blog/using-cpts-and-taxonomies"><b>Read More</b></a></div></footer></article><nav class="pagination-nav" aria-label="Blog list page navigation"></nav></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/blog/tags/taxonomy/index.html b/blog/tags/taxonomy/index.html index 395c0b7f8..466080515 100644 --- a/blog/tags/taxonomy/index.html +++ b/blog/tags/taxonomy/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Latest posts</div><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/making-your-project-multilingual">Making your project multilingual</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/wrapper-as-a-standalone-component">How to use the Wrapper as a standalone component</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/working-with-custom-queries">Working with custom queries</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/multiple-same-components">Using multiple same components</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/block-patterns">Block Patterns</a></li></ul></nav></aside><main class="col col--7" itemscope="" itemtype="https://schema.org/Blog"><header class="margin-bottom--xl"><h1>One post tagged with "taxonomy"</h1><a href="/blog/tags">View All Tags</a></header><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="How to register and use custom post types and taxonomies with Eightshift Dev Kit"><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/using-cpts-and-taxonomies">Using Custom Post Types and Taxonomies</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2022-12-13T00:00:00.000Z" itemprop="datePublished">December 13, 2022</time> · <!-- -->5 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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.</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/cpt">cpt</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/custom-post-type">custom post type</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/taxonomy">taxonomy</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/taxonomies">taxonomies</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/terms">terms</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about Using Custom Post Types and Taxonomies" href="/blog/using-cpts-and-taxonomies"><b>Read More</b></a></div></footer></article><nav class="pagination-nav" aria-label="Blog list page navigation"></nav></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/blog/tags/terms/index.html b/blog/tags/terms/index.html index 28e3284ab..f48c0aa80 100644 --- a/blog/tags/terms/index.html +++ b/blog/tags/terms/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Latest posts</div><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/making-your-project-multilingual">Making your project multilingual</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/wrapper-as-a-standalone-component">How to use the Wrapper as a standalone component</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/working-with-custom-queries">Working with custom queries</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/multiple-same-components">Using multiple same components</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/block-patterns">Block Patterns</a></li></ul></nav></aside><main class="col col--7" itemscope="" itemtype="https://schema.org/Blog"><header class="margin-bottom--xl"><h1>One post tagged with "terms"</h1><a href="/blog/tags">View All Tags</a></header><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="How to register and use custom post types and taxonomies with Eightshift Dev Kit"><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/using-cpts-and-taxonomies">Using Custom Post Types and Taxonomies</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2022-12-13T00:00:00.000Z" itemprop="datePublished">December 13, 2022</time> · <!-- -->5 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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.</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/cpt">cpt</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/custom-post-type">custom post type</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/taxonomy">taxonomy</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/taxonomies">taxonomies</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/terms">terms</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about Using Custom Post Types and Taxonomies" href="/blog/using-cpts-and-taxonomies"><b>Read More</b></a></div></footer></article><nav class="pagination-nav" aria-label="Blog list page navigation"></nav></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/blog/tags/theme-options/index.html b/blog/tags/theme-options/index.html index 53145243d..acf0035e0 100644 --- a/blog/tags/theme-options/index.html +++ b/blog/tags/theme-options/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Latest posts</div><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/making-your-project-multilingual">Making your project multilingual</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/wrapper-as-a-standalone-component">How to use the Wrapper as a standalone component</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/working-with-custom-queries">Working with custom queries</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/multiple-same-components">Using multiple same components</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/block-patterns">Block Patterns</a></li></ul></nav></aside><main class="col col--7" itemscope="" itemtype="https://schema.org/Blog"><header class="margin-bottom--xl"><h1>One post tagged with "theme options"</h1><a href="/blog/tags">View All Tags</a></header><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Example of using ACF plugin in your project"><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/acf-in-a-project">How to use ACF in your project</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2022-05-17T00:00:00.000Z" itemprop="datePublished">May 17, 2022</time> · <!-- -->6 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>If you've worked with WordPress for a long time, you've heard of the <strong><em>Advanced Custom Fields</em></strong> plugin (<strong><em>ACF</em></strong> 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.</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/acf">acf</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/advanced-custom-fields">advanced custom fields</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/theme-options">theme options</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about How to use ACF in your project" href="/blog/acf-in-a-project"><b>Read More</b></a></div></footer></article><nav class="pagination-nav" aria-label="Blog list page navigation"></nav></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/blog/tags/variations/index.html b/blog/tags/variations/index.html index 022c5541b..501d307f2 100644 --- a/blog/tags/variations/index.html +++ b/blog/tags/variations/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Latest posts</div><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/making-your-project-multilingual">Making your project multilingual</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/wrapper-as-a-standalone-component">How to use the Wrapper as a standalone component</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/working-with-custom-queries">Working with custom queries</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/multiple-same-components">Using multiple same components</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/block-patterns">Block Patterns</a></li></ul></nav></aside><main class="col col--7" itemscope="" itemtype="https://schema.org/Blog"><header class="margin-bottom--xl"><h1>One post tagged with "variations"</h1><a href="/blog/tags">View All Tags</a></header><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Intro to block variations and examples of how to use them"><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/block-variations">Block Variations</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2022-09-07T00:00:00.000Z" itemprop="datePublished">September 7, 2022</time> · <!-- -->4 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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!</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/block">block</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/variations">variations</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about Block Variations" href="/blog/block-variations"><b>Read More</b></a></div></footer></article><nav class="pagination-nav" aria-label="Blog list page navigation"></nav></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/blog/tags/wpcli/index.html b/blog/tags/wpcli/index.html index d08be8df7..78abd19bc 100644 --- a/blog/tags/wpcli/index.html +++ b/blog/tags/wpcli/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Latest posts</div><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/making-your-project-multilingual">Making your project multilingual</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/wrapper-as-a-standalone-component">How to use the Wrapper as a standalone component</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/working-with-custom-queries">Working with custom queries</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/multiple-same-components">Using multiple same components</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/block-patterns">Block Patterns</a></li></ul></nav></aside><main class="col col--7" itemscope="" itemtype="https://schema.org/Blog"><header class="margin-bottom--xl"><h1>One post tagged with "wpcli"</h1><a href="/blog/tags">View All Tags</a></header><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="This blog post covers how to use our WP CLI commands for adding components and blocks into your project."><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/adding-blocks-wpcli">Adding components and blocks with WP-CLI</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2022-03-14T00:00:00.000Z" itemprop="datePublished">March 14, 2022</time> · <!-- -->3 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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 <a href="/storybook">Storybook</a>.</p> diff --git a/blog/tags/wrapper/index.html b/blog/tags/wrapper/index.html index dad0f43ff..108a499eb 100644 --- a/blog/tags/wrapper/index.html +++ b/blog/tags/wrapper/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Latest posts</div><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/making-your-project-multilingual">Making your project multilingual</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/wrapper-as-a-standalone-component">How to use the Wrapper as a standalone component</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/working-with-custom-queries">Working with custom queries</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/multiple-same-components">Using multiple same components</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/block-patterns">Block Patterns</a></li></ul></nav></aside><main class="col col--7" itemscope="" itemtype="https://schema.org/Blog"><header class="margin-bottom--xl"><h1>One post tagged with "wrapper"</h1><a href="/blog/tags">View All Tags</a></header><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Explains the process of using the Wrapper component in WordPress templates."><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/wrapper-as-a-standalone-component">How to use the Wrapper as a standalone component</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2023-09-05T00:00:00.000Z" itemprop="datePublished">September 5, 2023</time> · <!-- -->4 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/kancijan" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/135589039?v=4" alt="Ivan Kancijan" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/kancijan" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Ivan Kancijan</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>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?</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/eightshift">eightshift</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/boilerplate">boilerplate</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/wrapper">wrapper</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/components">components</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about How to use the Wrapper as a standalone component" href="/blog/wrapper-as-a-standalone-component"><b>Read More</b></a></div></footer></article><nav class="pagination-nav" aria-label="Blog list page navigation"></nav></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/blog/using-assets/index.html b/blog/using-assets/index.html index fd1cd7417..219cd8c6f 100644 --- a/blog/using-assets/index.html +++ b/blog/using-assets/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Latest posts</div><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/making-your-project-multilingual">Making your project multilingual</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/wrapper-as-a-standalone-component">How to use the Wrapper as a standalone component</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/working-with-custom-queries">Working with custom queries</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/multiple-same-components">Using multiple same components</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/block-patterns">Block Patterns</a></li></ul></nav></aside><main class="col col--7" itemscope="" itemtype="https://schema.org/Blog"><article itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Step-by-step guide on how to add assets like images or icons to your theme."><header><h1 class="title_f1Hy" itemprop="headline">Using assets in a project</h1><div class="container_mt6G margin-vert--md"><time datetime="2022-04-28T00:00:00.000Z" itemprop="datePublished">April 28, 2022</time> · <!-- -->4 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div id="__blog-post-container" class="markdown" itemprop="articleBody"><p>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.</p> diff --git a/blog/using-cpts-and-taxonomies/index.html b/blog/using-cpts-and-taxonomies/index.html index 2caa89121..ac4f8145f 100644 --- a/blog/using-cpts-and-taxonomies/index.html +++ b/blog/using-cpts-and-taxonomies/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Latest posts</div><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/making-your-project-multilingual">Making your project multilingual</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/wrapper-as-a-standalone-component">How to use the Wrapper as a standalone component</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/working-with-custom-queries">Working with custom queries</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/multiple-same-components">Using multiple same components</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/block-patterns">Block Patterns</a></li></ul></nav></aside><main class="col col--7" itemscope="" itemtype="https://schema.org/Blog"><article itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="How to register and use custom post types and taxonomies with Eightshift Dev Kit"><header><h1 class="title_f1Hy" itemprop="headline">Using Custom Post Types and Taxonomies</h1><div class="container_mt6G margin-vert--md"><time datetime="2022-12-13T00:00:00.000Z" itemprop="datePublished">December 13, 2022</time> · <!-- -->5 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div id="__blog-post-container" class="markdown" itemprop="articleBody"><p>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.</p> diff --git a/blog/working-with-custom-queries/index.html b/blog/working-with-custom-queries/index.html index 807a15a55..99d46864c 100644 --- a/blog/working-with-custom-queries/index.html +++ b/blog/working-with-custom-queries/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Latest posts</div><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/making-your-project-multilingual">Making your project multilingual</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/wrapper-as-a-standalone-component">How to use the Wrapper as a standalone component</a></li><li class="sidebarItem__DBe"><a aria-current="page" class="sidebarItemLink_mo7H sidebarItemLinkActive_I1ZP" href="/blog/working-with-custom-queries">Working with custom queries</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/multiple-same-components">Using multiple same components</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/block-patterns">Block Patterns</a></li></ul></nav></aside><main class="col col--7" itemscope="" itemtype="https://schema.org/Blog"><article itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Explains the process of registering a new service class, adding a custom query and using it in a block."><header><h1 class="title_f1Hy" itemprop="headline">Working with custom queries</h1><div class="container_mt6G margin-vert--md"><time datetime="2023-08-01T00:00:00.000Z" itemprop="datePublished">August 1, 2023</time> · <!-- -->4 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/23059501?v=4" alt="Igor Obradović" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/iobrado" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Igor Obradović</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div id="__blog-post-container" class="markdown" itemprop="articleBody"><p>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?</p> diff --git a/blog/wrapper-as-a-standalone-component/index.html b/blog/wrapper-as-a-standalone-component/index.html index f10eff351..2b681c8c4 100644 --- a/blog/wrapper-as-a-standalone-component/index.html +++ b/blog/wrapper-as-a-standalone-component/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Latest posts</div><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/making-your-project-multilingual">Making your project multilingual</a></li><li class="sidebarItem__DBe"><a aria-current="page" class="sidebarItemLink_mo7H sidebarItemLinkActive_I1ZP" href="/blog/wrapper-as-a-standalone-component">How to use the Wrapper as a standalone component</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/working-with-custom-queries">Working with custom queries</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/multiple-same-components">Using multiple same components</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/block-patterns">Block Patterns</a></li></ul></nav></aside><main class="col col--7" itemscope="" itemtype="https://schema.org/Blog"><article itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Explains the process of using the Wrapper component in WordPress templates."><header><h1 class="title_f1Hy" itemprop="headline">How to use the Wrapper as a standalone component</h1><div class="container_mt6G margin-vert--md"><time datetime="2023-09-05T00:00:00.000Z" itemprop="datePublished">September 5, 2023</time> · <!-- -->4 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/kancijan" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/135589039?v=4" alt="Ivan Kancijan" itemprop="image"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/kancijan" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Ivan Kancijan</span></a></div><small class="avatar__subtitle" itemprop="description">WordPress Engineer</small></div></div></div></div></header><div id="__blog-post-container" class="markdown" itemprop="articleBody"><p>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?</p> diff --git a/docs/additional-libraries/boilerplate-plugin/index.html b/docs/additional-libraries/boilerplate-plugin/index.html index 9a8df1ad0..29f7f46c7 100644 --- a/docs/additional-libraries/boilerplate-plugin/index.html +++ b/docs/additional-libraries/boilerplate-plugin/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/boilerplate">Eightshift Boilerplate</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/additional-libraries/boilerplate-plugin">Eightshift Boilerplate Plugin</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/frontend-libs">Eightshift Frontend Libs</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/libs">Eightshift Libs</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/forms">Eightshift Forms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/docs">Eightshift Docs</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/coding-standards">Eightshift Coding Standards</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/storybook">Eightshift Storybook</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/stubs">Eightshift Libs Stubs</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Additional Libraries</span><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Eightshift Boilerplate Plugin</span><meta itemprop="position" content="2"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Eightshift Boilerplate Plugin</h1></header><p><a href="https://github.com/infinum/eightshift-boilerplate-plugin" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/github/tag/infinum/eightshift-boilerplate-plugin.svg?style=for-the-badge" alt="GitHub tag" class="img_ev3q"></a></p> diff --git a/docs/additional-libraries/boilerplate/index.html b/docs/additional-libraries/boilerplate/index.html index 5f17874a9..12e259567 100644 --- a/docs/additional-libraries/boilerplate/index.html +++ b/docs/additional-libraries/boilerplate/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/additional-libraries/boilerplate">Eightshift Boilerplate</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/boilerplate-plugin">Eightshift Boilerplate Plugin</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/frontend-libs">Eightshift Frontend Libs</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/libs">Eightshift Libs</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/forms">Eightshift Forms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/docs">Eightshift Docs</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/coding-standards">Eightshift Coding Standards</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/storybook">Eightshift Storybook</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/stubs">Eightshift Libs Stubs</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Additional Libraries</span><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Eightshift Boilerplate</span><meta itemprop="position" content="2"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Eightshift Boilerplate</h1></header><p><a href="https://github.com/infinum/eightshift-boilerplate" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/github/tag/infinum/eightshift-boilerplate.svg?style=for-the-badge" alt="GitHub tag" class="img_ev3q"></a></p> diff --git a/docs/additional-libraries/coding-standards/index.html b/docs/additional-libraries/coding-standards/index.html index 25f0b9020..2cefd3b4d 100644 --- a/docs/additional-libraries/coding-standards/index.html +++ b/docs/additional-libraries/coding-standards/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/boilerplate">Eightshift Boilerplate</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/boilerplate-plugin">Eightshift Boilerplate Plugin</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/frontend-libs">Eightshift Frontend Libs</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/libs">Eightshift Libs</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/forms">Eightshift Forms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/docs">Eightshift Docs</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/additional-libraries/coding-standards">Eightshift Coding Standards</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/storybook">Eightshift Storybook</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/stubs">Eightshift Libs Stubs</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Additional Libraries</span><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Eightshift Coding Standards</span><meta itemprop="position" content="2"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Eightshift Coding Standards</h1></header><p><a href="https://github.com/infinum/eightshift-coding-standards" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/github/tag/infinum/eightshift-coding-standards.svg?style=for-the-badge" alt="GitHub tag" class="img_ev3q"></a></p> diff --git a/docs/additional-libraries/docs/index.html b/docs/additional-libraries/docs/index.html index bcb3586ea..b511ff6fe 100644 --- a/docs/additional-libraries/docs/index.html +++ b/docs/additional-libraries/docs/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/boilerplate">Eightshift Boilerplate</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/boilerplate-plugin">Eightshift Boilerplate Plugin</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/frontend-libs">Eightshift Frontend Libs</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/libs">Eightshift Libs</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/forms">Eightshift Forms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/additional-libraries/docs">Eightshift Docs</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/coding-standards">Eightshift Coding Standards</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/storybook">Eightshift Storybook</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/stubs">Eightshift Libs Stubs</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Additional Libraries</span><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Eightshift Docs</span><meta itemprop="position" content="2"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Eightshift Docs</h1></header><p><a href="https://github.com/infinum/eightshift-docs" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/github/tag/infinum/eightshift-docs.svg?style=for-the-badge" alt="GitHub tag" class="img_ev3q"></a></p> diff --git a/docs/additional-libraries/forms/index.html b/docs/additional-libraries/forms/index.html index 86b950598..8b4d12a8c 100644 --- a/docs/additional-libraries/forms/index.html +++ b/docs/additional-libraries/forms/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/boilerplate">Eightshift Boilerplate</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/boilerplate-plugin">Eightshift Boilerplate Plugin</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/frontend-libs">Eightshift Frontend Libs</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/libs">Eightshift Libs</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/additional-libraries/forms">Eightshift Forms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/docs">Eightshift Docs</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/coding-standards">Eightshift Coding Standards</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/storybook">Eightshift Storybook</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/stubs">Eightshift Libs Stubs</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Additional Libraries</span><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Eightshift Forms</span><meta itemprop="position" content="2"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Eightshift Forms</h1></header><p><a href="https://github.com/infinum/eightshift-forms" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/github/tag/infinum/eightshift-forms.svg?style=for-the-badge" alt="GitHub tag" class="img_ev3q"></a></p> diff --git a/docs/additional-libraries/frontend-libs/index.html b/docs/additional-libraries/frontend-libs/index.html index 757f71ebb..9a5ff3952 100644 --- a/docs/additional-libraries/frontend-libs/index.html +++ b/docs/additional-libraries/frontend-libs/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/boilerplate">Eightshift Boilerplate</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/boilerplate-plugin">Eightshift Boilerplate Plugin</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/additional-libraries/frontend-libs">Eightshift Frontend Libs</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/libs">Eightshift Libs</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/forms">Eightshift Forms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/docs">Eightshift Docs</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/coding-standards">Eightshift Coding Standards</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/storybook">Eightshift Storybook</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/stubs">Eightshift Libs Stubs</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Additional Libraries</span><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Eightshift Frontend Libs</span><meta itemprop="position" content="2"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Eightshift Frontend Libs</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/github/tag/infinum/eightshift-frontend-libs.svg?style=for-the-badge" alt="GitHub tag" class="img_ev3q"></a></p> diff --git a/docs/additional-libraries/libs/index.html b/docs/additional-libraries/libs/index.html index e31f5b4e0..76228c367 100644 --- a/docs/additional-libraries/libs/index.html +++ b/docs/additional-libraries/libs/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/boilerplate">Eightshift Boilerplate</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/boilerplate-plugin">Eightshift Boilerplate Plugin</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/frontend-libs">Eightshift Frontend Libs</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/additional-libraries/libs">Eightshift Libs</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/forms">Eightshift Forms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/docs">Eightshift Docs</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/coding-standards">Eightshift Coding Standards</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/storybook">Eightshift Storybook</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/stubs">Eightshift Libs Stubs</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Additional Libraries</span><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Eightshift Libs</span><meta itemprop="position" content="2"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Eightshift Libs</h1></header><p><a href="https://github.com/infinum/eightshift-libs" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/github/tag/infinum/eightshift-libs.svg?style=for-the-badge" alt="GitHub tag" class="img_ev3q"></a></p> diff --git a/docs/additional-libraries/storybook/index.html b/docs/additional-libraries/storybook/index.html index 4232061e3..278731f50 100644 --- a/docs/additional-libraries/storybook/index.html +++ b/docs/additional-libraries/storybook/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/boilerplate">Eightshift Boilerplate</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/boilerplate-plugin">Eightshift Boilerplate Plugin</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/frontend-libs">Eightshift Frontend Libs</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/libs">Eightshift Libs</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/forms">Eightshift Forms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/docs">Eightshift Docs</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/coding-standards">Eightshift Coding Standards</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/additional-libraries/storybook">Eightshift Storybook</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/stubs">Eightshift Libs Stubs</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Additional Libraries</span><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Eightshift Storybook</span><meta itemprop="position" content="2"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Eightshift Storybook</h1></header><p><a href="https://github.com/infinum/eightshift-storybook" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/github/tag/infinum/eightshift-storybook.svg?style=for-the-badge" alt="GitHub tag" class="img_ev3q"></a></p> diff --git a/docs/additional-libraries/stubs/index.html b/docs/additional-libraries/stubs/index.html index 03aca1319..5a5e4fe7c 100644 --- a/docs/additional-libraries/stubs/index.html +++ b/docs/additional-libraries/stubs/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/boilerplate">Eightshift Boilerplate</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/boilerplate-plugin">Eightshift Boilerplate Plugin</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/frontend-libs">Eightshift Frontend Libs</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/libs">Eightshift Libs</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/forms">Eightshift Forms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/docs">Eightshift Docs</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/coding-standards">Eightshift Coding Standards</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/additional-libraries/storybook">Eightshift Storybook</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/additional-libraries/stubs">Eightshift Libs Stubs</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Additional Libraries</span><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Eightshift Libs Stubs</span><meta itemprop="position" content="2"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Eightshift Libs Stubs</h1></header><p><a href="https://github.com/infinum/eightshift-libs-stubs" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/github/tag/infinum/eightshift-libs-stubs.svg?style=for-the-badge" alt="GitHub tag" class="img_ev3q"></a></p> diff --git a/docs/basics/architecture-concepts/index.html b/docs/basics/architecture-concepts/index.html index 4e6dfbc5b..38f796c1f 100644 --- a/docs/basics/architecture-concepts/index.html +++ b/docs/basics/architecture-concepts/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/tips-tricks">Tips & Tricks</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Architecture concepts</span><meta itemprop="position" content="2"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Architecture concepts</h1></header><h2 class="anchor anchorWithStickyNavbar_LWe7" id="project-structure">Project structure<a href="#project-structure" class="hash-link" aria-label="Direct link to Project structure" title="Direct link to Project structure">​</a></h2> diff --git a/docs/basics/autowiring/index.html b/docs/basics/autowiring/index.html index 87fc10559..60fb46753 100644 --- a/docs/basics/autowiring/index.html +++ b/docs/basics/autowiring/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/basics/backend">Backend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/backend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/namespaces">Namespaces</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/basics/autowiring">Autowiring</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/example-class">Example Class</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/manifest">Assets Manifest</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/rest">Rest</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/tips-tricks">Tips & Tricks</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Backend</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Autowiring</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Autowiring</h1></header><p><a href="https://github.com/infinum/eightshift-libs" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/basics/backend/index.html b/docs/basics/backend/index.html index 88012cb18..1c74d7d44 100644 --- a/docs/basics/backend/index.html +++ b/docs/basics/backend/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/basics/backend">Backend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/basics/backend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/namespaces">Namespaces</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/autowiring">Autowiring</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/example-class">Example Class</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/manifest">Assets Manifest</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/rest">Rest</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/tips-tricks">Tips & Tricks</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Backend</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">General</span><meta itemprop="position" content="3"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>General</h1></header><p><a href="https://github.com/infinum/eightshift-libs" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/basics/basics-intro/index.html b/docs/basics/basics-intro/index.html index 7858723e1..215146eda 100644 --- a/docs/basics/basics-intro/index.html +++ b/docs/basics/basics-intro/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/tips-tricks">Tips & Tricks</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Basics</span><meta itemprop="position" content="2"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Basics</h1></header><p>Prior to WordPress 5.0, themes were mostly PHP-based, with JavaScript used only to provide interactive functionality on the website. diff --git a/docs/basics/block-manifest/index.html b/docs/basics/block-manifest/index.html index 82b3cfbd5..b17fdad2b 100644 --- a/docs/basics/block-manifest/index.html +++ b/docs/basics/block-manifest/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/tips-tricks">Tips & Tricks</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Block Manifest</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Block Manifest</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/basics/block-structure/index.html b/docs/basics/block-structure/index.html index 8d357483c..e3910ded1 100644 --- a/docs/basics/block-structure/index.html +++ b/docs/basics/block-structure/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/tips-tricks">Tips & Tricks</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Block Structure</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Block Structure</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/basics/blocks-attributes/index.html b/docs/basics/blocks-attributes/index.html index 6ffc83f7b..ea4a9968b 100644 --- a/docs/basics/blocks-attributes/index.html +++ b/docs/basics/blocks-attributes/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/tips-tricks">Tips & Tricks</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Attributes</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Attributes</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/basics/blocks-component-in-block/index.html b/docs/basics/blocks-component-in-block/index.html index 35f6d961f..d3ec2bc72 100644 --- a/docs/basics/blocks-component-in-block/index.html +++ b/docs/basics/blocks-component-in-block/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/tips-tricks">Tips & Tricks</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Component in a Block</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Component in a Block</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/basics/blocks-component-manifest/index.html b/docs/basics/blocks-component-manifest/index.html index f7a0ea931..4766cfa20 100644 --- a/docs/basics/blocks-component-manifest/index.html +++ b/docs/basics/blocks-component-manifest/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/tips-tricks">Tips & Tricks</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Component Manifest</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Component Manifest</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/basics/blocks-component-structure/index.html b/docs/basics/blocks-component-structure/index.html index 0baa72c32..41ec5260c 100644 --- a/docs/basics/blocks-component-structure/index.html +++ b/docs/basics/blocks-component-structure/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/tips-tricks">Tips & Tricks</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Component Structure</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Component Structure</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/basics/blocks-faq/index.html b/docs/basics/blocks-faq/index.html index 766e172b6..ef8dcd1ab 100644 --- a/docs/basics/blocks-faq/index.html +++ b/docs/basics/blocks-faq/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/tips-tricks">Tips & Tricks</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Faq</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Faq</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/basics/blocks-global-manifest/index.html b/docs/basics/blocks-global-manifest/index.html index 6a0851140..82d5900cc 100644 --- a/docs/basics/blocks-global-manifest/index.html +++ b/docs/basics/blocks-global-manifest/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/tips-tricks">Tips & Tricks</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Global Manifest</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Global Manifest</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/basics/blocks-hooks/index.html b/docs/basics/blocks-hooks/index.html index 861953b2c..fccc8a3ff 100644 --- a/docs/basics/blocks-hooks/index.html +++ b/docs/basics/blocks-hooks/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/tips-tricks">Tips & Tricks</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Hooks</span><meta itemprop="position" content="3"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Hooks</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/basics/blocks-important/index.html b/docs/basics/blocks-important/index.html index 80afab31f..5f0d35677 100644 --- a/docs/basics/blocks-important/index.html +++ b/docs/basics/blocks-important/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/tips-tricks">Tips & Tricks</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Important</span><meta itemprop="position" content="3"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Important</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/basics/blocks-patterns/index.html b/docs/basics/blocks-patterns/index.html index 317ce84e5..1d477014f 100644 --- a/docs/basics/blocks-patterns/index.html +++ b/docs/basics/blocks-patterns/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/tips-tricks">Tips & Tricks</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Patterns</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Patterns</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/basics/blocks-registration/index.html b/docs/basics/blocks-registration/index.html index 60066ca41..b2b2748c2 100644 --- a/docs/basics/blocks-registration/index.html +++ b/docs/basics/blocks-registration/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/tips-tricks">Tips & Tricks</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Registration</span><meta itemprop="position" content="3"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Registration</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/basics/blocks-reusable/index.html b/docs/basics/blocks-reusable/index.html index 8bafcb19c..779bd0665 100644 --- a/docs/basics/blocks-reusable/index.html +++ b/docs/basics/blocks-reusable/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/tips-tricks">Tips & Tricks</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Reusable Blocks</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Reusable Blocks</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/basics/blocks-special-use-cases/index.html b/docs/basics/blocks-special-use-cases/index.html index 16f109639..302dee736 100644 --- a/docs/basics/blocks-special-use-cases/index.html +++ b/docs/basics/blocks-special-use-cases/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/tips-tricks">Tips & Tricks</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Special Use Cases</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Special Use Cases</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/basics/blocks-storybook/index.html b/docs/basics/blocks-storybook/index.html index e0d0aaf4a..9fff6b299 100644 --- a/docs/basics/blocks-storybook/index.html +++ b/docs/basics/blocks-storybook/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/tips-tricks">Tips & Tricks</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Storybook</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Storybook</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/basics/blocks-structure/index.html b/docs/basics/blocks-structure/index.html index a2094f00c..55a247244 100644 --- a/docs/basics/blocks-structure/index.html +++ b/docs/basics/blocks-structure/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/tips-tricks">Tips & Tricks</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Structure</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Structure</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/basics/blocks-styles/index.html b/docs/basics/blocks-styles/index.html index 1c3445583..0fda04e45 100644 --- a/docs/basics/blocks-styles/index.html +++ b/docs/basics/blocks-styles/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/tips-tricks">Tips & Tricks</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Styles</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Styles</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> @@ -33,7 +33,7 @@ <h2 class="anchor anchorWithStickyNavbar_LWe7" id="setup">Setup<a href="#setup" <h2 class="anchor anchorWithStickyNavbar_LWe7" id="details">Details<a href="#details" class="hash-link" aria-label="Direct link to Details" title="Direct link to Details">​</a></h2> <p>CSS variables helper consists of 2 helpers. <code>outputCssVariables</code> helper will output all CSS variables set in your blocks/component manifest and <code>getUnique</code> helper will make sure that variables are applied only to the exact block/component.</p> <p>If you check your rendered website you can see that you have something like this:</p> -<div class="language-html codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-html codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token tag punctuation" style="color:rgb(248, 248, 242)"><</span><span class="token tag" style="color:rgb(255, 121, 198)">div</span><span class="token tag" style="color:rgb(255, 121, 198)"> </span><span class="token tag attr-name" style="color:rgb(241, 250, 140)">class</span><span class="token tag attr-value punctuation attr-equals" style="color:rgb(248, 248, 242)">=</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">"</span><span class="token tag attr-value" style="color:rgb(255, 121, 198)">typography</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">"</span><span class="token tag" style="color:rgb(255, 121, 198)"> </span><span class="token tag attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token tag attr-value punctuation attr-equals" style="color:rgb(248, 248, 242)">=</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">"</span><span class="token tag attr-value" style="color:rgb(255, 121, 198)">210c9bbf733ef5c6aa74c49168ac29a7</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">"</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token tag punctuation" style="color:rgb(248, 248, 242)"><</span><span class="token tag" style="color:rgb(255, 121, 198)">style</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css selector class" style="color:rgb(255, 121, 198)">.typography</span><span class="token style language-css selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token style language-css selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token style language-css selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token style language-css selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token style language-css selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token style language-css"> </span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-color</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css function" style="color:rgb(80, 250, 123)">var</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-colors-black</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-content-align</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> left</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token tag punctuation" style="color:rgb(248, 248, 242)"></</span><span class="token tag" style="color:rgb(255, 121, 198)">style</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ...</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token tag punctuation" style="color:rgb(248, 248, 242)"></</span><span class="token tag" style="color:rgb(255, 121, 198)">div</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-html codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-html codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token tag punctuation" style="color:rgb(248, 248, 242)"><</span><span class="token tag" style="color:rgb(255, 121, 198)">div</span><span class="token tag" style="color:rgb(255, 121, 198)"> </span><span class="token tag attr-name" style="color:rgb(241, 250, 140)">class</span><span class="token tag attr-value punctuation attr-equals" style="color:rgb(248, 248, 242)">=</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">"</span><span class="token tag attr-value" style="color:rgb(255, 121, 198)">typography</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">"</span><span class="token tag" style="color:rgb(255, 121, 198)"> </span><span class="token tag attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token tag attr-value punctuation attr-equals" style="color:rgb(248, 248, 242)">=</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">"</span><span class="token tag attr-value" style="color:rgb(255, 121, 198)">210c9bbf733ef5c6aa74c49168ac29a7</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">"</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token tag punctuation" style="color:rgb(248, 248, 242)"><</span><span class="token tag" style="color:rgb(255, 121, 198)">style</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css selector" style="color:rgb(255, 121, 198)">.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token style language-css"> </span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--typography-color</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css function" style="color:rgb(80, 250, 123)">var</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token style language-css">--global-colors-black</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--typography-content-align</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> left</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token tag punctuation" style="color:rgb(248, 248, 242)"></</span><span class="token tag" style="color:rgb(255, 121, 198)">style</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ...</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token tag punctuation" style="color:rgb(248, 248, 242)"></</span><span class="token tag" style="color:rgb(255, 121, 198)">div</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>This is all that's required for the magic of CSS variables to work! Now let's see it in action and check out all additional features you can use.</p> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="global-variables">Global variables<a href="#global-variables" class="hash-link" aria-label="Direct link to Global variables" title="Direct link to Global variables">​</a></h2> <p>Now that we know how CSS variables are generated, we have one more helper to describe. @@ -42,9 +42,9 @@ <h2 class="anchor anchorWithStickyNavbar_LWe7" id="global-variables">Global vari <p><strong>Global Manifest:</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "namespace": "eightshift-boilerplate",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "background": "#D8262C",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "foreground": "#FFFFFF",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "globalVariables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "customBlocksName": "eightshift-block",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "maxCols": 12,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "breakpoints": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "mobile": 479,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "tablet": 1279,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "desktop": 1919,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "large": 1920</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "containers": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": "1330px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "gutters": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "none": "0",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": "25px",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "big": "50px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "sectionSpacing": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "min": -300,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "max": 300,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "step": 10</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "sectionInSpacing": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "min": 0,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "max": 300,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "step": 10</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "colors": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "name": "Black",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "slug": "black",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "color": "#111111"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "name": "White",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "slug": "white",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "color": "#FFFFFF"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output:</strong></p> -<div class="language-html codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-html codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token tag punctuation" style="color:rgb(248, 248, 242)"><</span><span class="token tag" style="color:rgb(255, 121, 198)">style</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css selector pseudo-class" style="color:rgb(255, 121, 198)">:root</span><span class="token style language-css"> </span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-custom-blocks-name</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> eightshift-block</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-max-cols</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">12</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-breakpoints-mobile</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">479</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-breakpoints-tablet</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">1279</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-breakpoints-desktop</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">1919</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-breakpoints-large</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">1920</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-containers-default</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">1330</span><span class="token style language-css unit">px</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-gutters-none</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">0</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-gutters-default</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">25</span><span class="token style language-css unit">px</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-gutters-big</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">50</span><span class="token style language-css unit">px</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-section-spacing-min</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">-300</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-section-spacing-max</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">300</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-section-spacing-step</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">10</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-section-in-spacing-min</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">0</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-section-in-spacing-max</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">300</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-section-in-spacing-step</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">10</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-colors-black</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css hexcode color">#111111</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-colors-white</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css hexcode color">#FFFFFF</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"></span><span class="token tag punctuation" style="color:rgb(248, 248, 242)"></</span><span class="token tag" style="color:rgb(255, 121, 198)">style</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-html codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-html codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token tag punctuation" style="color:rgb(248, 248, 242)"><</span><span class="token tag" style="color:rgb(255, 121, 198)">style</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css selector" style="color:rgb(255, 121, 198)">:root</span><span class="token style language-css"> </span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-custom-blocks-name</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> eightshift-block</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-max-cols</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 12</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-breakpoints-mobile</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 479</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-breakpoints-tablet</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 1279</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-breakpoints-desktop</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 1919</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-breakpoints-large</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 1920</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-containers-default</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 1330px</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-gutters-none</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 0</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-gutters-default</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 25px</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-gutters-big</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 50px</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-section-spacing-min</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> -300</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-section-spacing-max</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 300</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-section-spacing-step</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 10</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-section-in-spacing-min</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 0</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-section-in-spacing-max</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 300</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-section-in-spacing-step</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 10</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-colors-black</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> #111111</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-colors-white</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> #FFFFFF</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"></span><span class="token tag punctuation" style="color:rgb(248, 248, 242)"></</span><span class="token tag" style="color:rgb(255, 121, 198)">style</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>You can use a global variable like any other CSS variable:</p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--global-colors-white</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">--global-colors-white</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="variables">Variables<a href="#variables" class="hash-link" aria-label="Direct link to Variables" title="Direct link to Variables">​</a></h2> <p>As we said in the beginning, all CSS variables are defined within the block/component manifest.</p> <p>To output an attribute as a CSS variable, you need to set the <code>variables</code> key in the block/component <code>manifest</code> and define the variable markdown.</p> @@ -54,41 +54,41 @@ <h2 class="anchor anchorWithStickyNavbar_LWe7" id="default-type">Default type<a <p><strong>Manifest:</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentClass": "typography",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "attributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographySize": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "string",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": "120-default"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographySize": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-size": "120px",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-line-height": "calc(var(--typography-size) * 1.2)"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output:</strong></p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">120</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-line-height</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">144</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 120px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">--typography-line-height</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 144px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="value-type">Value type<a href="#value-type" class="hash-link" aria-label="Direct link to Value type" title="Direct link to Value type">​</a></h2> <p>Variable <code>value</code> will output all variables depending on attributes value. Everything else is the same as in the default type.</p> <p><strong>Manifest:</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentClass": "typography",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "attributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographySize": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "string",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": "120-default"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographySize": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "120-default": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-size": "120px",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-line-height": "calc(var(--typography-size) * 1.2)"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output:</strong></p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">120</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-line-height</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">144</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 120px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">--typography-line-height</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 144px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="editor-variables">Editor variables<a href="#editor-variables" class="hash-link" aria-label="Direct link to Editor variables" title="Direct link to Editor variables">​</a></h2> <p>Editor variables behave just like regular <code>variables</code>, except they are output only inside the Block Editor. They are mostly used for overriding specific behaviour, e.g. showing a hidden element as half-transparent instead of hiding it completely.</p> <p><strong>Manifest:</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentName": "wrapper",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "title": "Wrapper",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentClass": "wrapper",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "attributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHide": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "boolean",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": false</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHide": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "true": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display": "none"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ],</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variablesEditor": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHide": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "true": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display-opacity": "0.5",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display": "var(--wrapper-display-type, grid)"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output:</strong></p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> none</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-display-opacity</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">0.5</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-display-type</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> grid</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> none</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">--wrapper-display-opacity</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 0.5</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">--wrapper-display-type</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> grid</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="manual-variables">Manual variables<a href="#manual-variables" class="hash-link" aria-label="Direct link to Manual variables" title="Direct link to Manual variables">​</a></h2> <p>Custom CSS variables can be generated and output independently from all the attributes through the <code>variablesCustom</code> key. Add it inside the manifest (top level) and add each variable as an array item. Manual variables will be added at the end of the output.</p> <p><strong>Manifest:</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "attributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> // ...</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variablesCustom": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "--variable1: test1",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "--variable2: test2",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "--variable3: test3"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output:</strong></p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--variable1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--variable2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--variable3</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test3</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">--variable1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">--variable2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">--variable3</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test3</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="manual-variables-inside-the-block-editor">Manual variables inside the Block editor<a href="#manual-variables-inside-the-block-editor" class="hash-link" aria-label="Direct link to Manual variables inside the Block editor" title="Direct link to Manual variables inside the Block editor">​</a></h2> <p>If you want to add manual variables that only apply inside the Block editor you can use the <code>variablesCustomEditor</code> key. Everything works the same as described in the <strong>Manual variables</strong> section. If you define both <code>variablesCustomEditor</code> and <code>variables</code>, both will be output in the editor, but only <code>variables</code> will be output on the frontend.</p> <p><strong>Manifest:</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "attributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> // ...</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variablesCustomEditor": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "--variable1: test1",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "--variable2: test2",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "--variable3: test3"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output:</strong></p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--variable1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--variable2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--variable3</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test3</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">--variable1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">--variable2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">--variable3</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test3</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="additional-options-and-examples">Additional options and examples<a href="#additional-options-and-examples" class="hash-link" aria-label="Direct link to Additional options and examples" title="Direct link to Additional options and examples">​</a></h2> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="color">Color<a href="#color" class="hash-link" aria-label="Direct link to Color" title="Direct link to Color">​</a></h3> <p>Here is an example how to output global variable as a css variable.</p> <p><strong>Manifest:</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentClass": "typography",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "attributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographyColor": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "string",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": "white"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographyColor": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-color": "var(--global-colors-white)"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output:</strong></p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--global-colors-white</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">--typography-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">--global-colors-white</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="responsive">Responsive<a href="#responsive" class="hash-link" aria-label="Direct link to Responsive" title="Direct link to Responsive">​</a></h3> <p>All variables are prepared to be responsive. If you set multiple keys in the manifest list that variable will be outputted in the correct media query. Breakpoints are taken from the global manifest and the order of the output breakpoints.</p> <div class="es-alert es-alert--caution m-0 my-10 pl-10 pr-0 py-4 border-l-4 border-l-infinum border-l-candy-30"><i class="flex gap-1.5 items-center font-sans text-12 uppercase not-italic leading-none font-medium mb-2"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" class="w-6 h-6 text-candy-30"><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"></path></svg><span class="text-grey-500">Important</span></i><div class="font-sans text-16 text-black"><p>Global breakpoints must follow the convention from the smallest size to the largest.</p></div></div> @@ -97,20 +97,20 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="responsive">Responsive<a href <p><strong>Manifest:</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentClass": "typography",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "attributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographySize": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "string",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": "120-default"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographySize": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-size": "30px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "breakpoint": "tablet",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-size": "80px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "breakpoint": "large",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-size": "120px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output:</strong></p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector class" style="color:rgb(255, 121, 198)">.typography</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">30</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">min-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> </span><span class="token atrule number">1279</span><span class="token atrule unit">px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector class" style="color:rgb(255, 121, 198)">.typography</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">80</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">min-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> </span><span class="token atrule number">1920</span><span class="token atrule unit">px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector class" style="color:rgb(255, 121, 198)">.typography</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">120</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector" style="color:rgb(255, 121, 198)">.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 30px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">min-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> 1279px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector" style="color:rgb(255, 121, 198)">.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 80px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">min-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> 1920px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector" style="color:rgb(255, 121, 198)">.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 120px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="responsive-inverse">Responsive Inverse<a href="#responsive-inverse" class="hash-link" aria-label="Direct link to Responsive Inverse" title="Direct link to Responsive Inverse">​</a></h3> <p>By default, we use mobile first approach but if you need desktop first you can use <code>inverse: true</code> key.</p> <div class="es-alert es-alert--caution m-0 my-10 pl-10 pr-0 py-4 border-l-4 border-l-infinum border-l-candy-30"><i class="flex gap-1.5 items-center font-sans text-12 uppercase not-italic leading-none font-medium mb-2"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" class="w-6 h-6 text-candy-30"><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"></path></svg><span class="text-grey-500">Important</span></i><div class="font-sans text-16 text-black"><p>If you have multiple mobile/desktop-first breakpoints, output will sort them mobile-first and then desktop-first after that.</p></div></div> <p><strong>Manifest:</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentClass": "typography",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "attributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographySize": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "string",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": "120-default"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographySize": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-size": "120px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "breakpoint": "tablet",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "inverse": true,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-size": "80px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "breakpoint": "mobile",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "inverse": true,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-size": "320px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output:</strong></p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector class" style="color:rgb(255, 121, 198)">.typography</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">120</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">max-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> </span><span class="token atrule number">1279</span><span class="token atrule unit">px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector class" style="color:rgb(255, 121, 198)">.typography</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">80</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">max-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> </span><span class="token atrule number">479</span><span class="token atrule unit">px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector class" style="color:rgb(255, 121, 198)">.typography</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">30</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector" style="color:rgb(255, 121, 198)">.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 120px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">max-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> 1279px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector" style="color:rgb(255, 121, 198)">.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 80px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">max-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> 479px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector" style="color:rgb(255, 121, 198)">.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 30px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="attribute-value-replacement">Attribute value replacement<a href="#attribute-value-replacement" class="hash-link" aria-label="Direct link to Attribute value replacement" title="Direct link to Attribute value replacement">​</a></h3> <p>Attribute value replacement variable is used to return the attribute value where you want it in the css variables. To use it just put <code>%value%</code> in you css variables.</p> <p><strong>Manifest:</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentClass": "typography",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "attributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographySize": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "string",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": "120"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographySize": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-size": "30px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "breakpoint": "tablet",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-size": "80px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "breakpoint": "large",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-size": "%value%px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output:</strong></p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector class" style="color:rgb(255, 121, 198)">.typography</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">30</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">min-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> </span><span class="token atrule number">1279</span><span class="token atrule unit">px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector class" style="color:rgb(255, 121, 198)">.typography</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">80</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">min-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> </span><span class="token atrule number">1920</span><span class="token atrule unit">px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector class" style="color:rgb(255, 121, 198)">.typography</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">120</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector" style="color:rgb(255, 121, 198)">.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 30px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">min-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> 1279px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector" style="color:rgb(255, 121, 198)">.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 80px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">min-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> 1920px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector" style="color:rgb(255, 121, 198)">.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 120px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="responsive-variables">Responsive variables<a href="#responsive-variables" class="hash-link" aria-label="Direct link to Responsive variables" title="Direct link to Responsive variables">​</a></h2> <p>Responsive variables are used for eliminating unnecessary code duplication. For example, if you have 4 separate attributes used for setting a responsive variable where all the attributes have the same output (e.g. <code>%value%</code>), the variables can get cluttered rather quickly.</p> <p>In a top-level manifest key <code>responsiveAttributes</code>, you can place a new key (e.g. <code>wrapperHide</code>) that represents a common key for your responsive variables. Inside it, you can list your responsive variables (e.g. <code>wrapperHideLarge</code>, <code>wrapperHideDesktop</code>, <code>wrapperHideTablet</code>, <code>wrapperHideMobile</code>) as a key-value pair. The key represents a breakpoint name, and the value represents responsive variable(<code>breakpoint</code>: <code>responsiveVariableName</code>). Afterwards, you can add that common key inside the <code>variables</code> (and/or <code>variablesEditor</code>) key and configure the output template.</p> @@ -122,10 +122,10 @@ <h2 class="anchor anchorWithStickyNavbar_LWe7" id="responsive-variables">Respons <p><strong>Transformed:</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentName": "wrapper",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "title": "Wrapper",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentClass": "wrapper",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "attributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHide": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "boolean",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": false</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "responsiveAttributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHideLarge": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "boolean",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": false</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHideDesktop": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "boolean"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHideTablet": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "boolean"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHideLarge": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "true": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display": "none"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ],</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "false": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display": "var(--wrapper-display-type, grid)"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHideDesktop": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "true": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "inverse": true,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "breakpoint": "desktop",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display": "none"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ],</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "false": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "inverse": true,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "breakpoint": "desktop",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display": "var(--wrapper-display-type, grid)"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHideTablet": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "true": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "inverse": true,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "breakpoint": "desktop",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display": "none"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ],</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "false": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "inverse": true,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "breakpoint": "desktop",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display": "var(--wrapper-display-type, grid)"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output</strong></p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector class" style="color:rgb(255, 121, 198)">.wrapper</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-display-type</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> grid</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">max-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> </span><span class="token atrule number">1920</span><span class="token atrule unit">px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector class" style="color:rgb(255, 121, 198)">.wrapper</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> none</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">max-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> </span><span class="token atrule number">1279</span><span class="token atrule unit">px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector class" style="color:rgb(255, 121, 198)">.wrapper</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-display-type</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> grid</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector" style="color:rgb(255, 121, 198)">.wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">--wrapper-display-type</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> grid</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">max-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> 1920px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector" style="color:rgb(255, 121, 198)">.wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> none</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">max-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> 1279px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector" style="color:rgb(255, 121, 198)">.wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">--wrapper-display-type</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> grid</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Example 2</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentName": "wrapper",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "title": "Wrapper",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentClass": "wrapper",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "attributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHideLarge": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "boolean",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": false</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHideDesktop": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "boolean"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHideTablet": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "boolean"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "responsiveAttributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHide": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "large": "wrapperHideLarge",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "desktop": "wrapperHideDesktop",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "tablet": "wrapperHideTablet"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHide": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "true": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "inverse": true,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display": "none"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ],</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "false": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "inverse": true,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display": "var(--wrapper-display-type, grid)"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHideLarge": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "true": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "inverse": true,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display": "block",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-opacity": 0</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ],</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output</strong></p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector class" style="color:rgb(255, 121, 198)">.wrapper</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> none</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> block</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-opacity</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">0</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/basics/blocks-reusable"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Reusable Blocks</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/basics/blocks-storybook"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Storybook</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#setup" class="table-of-contents__link toc-highlight">Setup</a></li><li><a href="#details" class="table-of-contents__link toc-highlight">Details</a></li><li><a href="#global-variables" class="table-of-contents__link toc-highlight">Global variables</a></li><li><a href="#variables" class="table-of-contents__link toc-highlight">Variables</a></li><li><a href="#default-type" class="table-of-contents__link toc-highlight">Default type</a></li><li><a href="#value-type" class="table-of-contents__link toc-highlight">Value type</a></li><li><a href="#editor-variables" class="table-of-contents__link toc-highlight">Editor variables</a></li><li><a href="#manual-variables" class="table-of-contents__link toc-highlight">Manual variables</a></li><li><a href="#manual-variables-inside-the-block-editor" class="table-of-contents__link toc-highlight">Manual variables inside the Block editor</a></li><li><a href="#additional-options-and-examples" class="table-of-contents__link toc-highlight">Additional options and examples</a><ul><li><a href="#color" class="table-of-contents__link toc-highlight">Color</a></li><li><a href="#responsive" class="table-of-contents__link toc-highlight">Responsive</a></li><li><a href="#responsive-inverse" class="table-of-contents__link toc-highlight">Responsive Inverse</a></li><li><a href="#attribute-value-replacement" class="table-of-contents__link toc-highlight">Attribute value replacement</a></li></ul></li><li><a href="#responsive-variables" class="table-of-contents__link toc-highlight">Responsive variables</a></li></ul></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector" style="color:rgb(255, 121, 198)">.wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> none</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> block</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--wrapper-opacity</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 0</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/basics/blocks-reusable"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Reusable Blocks</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/basics/blocks-storybook"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Storybook</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#setup" class="table-of-contents__link toc-highlight">Setup</a></li><li><a href="#details" class="table-of-contents__link toc-highlight">Details</a></li><li><a href="#global-variables" class="table-of-contents__link toc-highlight">Global variables</a></li><li><a href="#variables" class="table-of-contents__link toc-highlight">Variables</a></li><li><a href="#default-type" class="table-of-contents__link toc-highlight">Default type</a></li><li><a href="#value-type" class="table-of-contents__link toc-highlight">Value type</a></li><li><a href="#editor-variables" class="table-of-contents__link toc-highlight">Editor variables</a></li><li><a href="#manual-variables" class="table-of-contents__link toc-highlight">Manual variables</a></li><li><a href="#manual-variables-inside-the-block-editor" class="table-of-contents__link toc-highlight">Manual variables inside the Block editor</a></li><li><a href="#additional-options-and-examples" class="table-of-contents__link toc-highlight">Additional options and examples</a><ul><li><a href="#color" class="table-of-contents__link toc-highlight">Color</a></li><li><a href="#responsive" class="table-of-contents__link toc-highlight">Responsive</a></li><li><a href="#responsive-inverse" class="table-of-contents__link toc-highlight">Responsive Inverse</a></li><li><a href="#attribute-value-replacement" class="table-of-contents__link toc-highlight">Attribute value replacement</a></li></ul></li><li><a href="#responsive-variables" class="table-of-contents__link toc-highlight">Responsive variables</a></li></ul></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> </body> </html> \ No newline at end of file diff --git a/docs/basics/blocks-transforms/index.html b/docs/basics/blocks-transforms/index.html index cf75bd9c4..d1b49280e 100644 --- a/docs/basics/blocks-transforms/index.html +++ b/docs/basics/blocks-transforms/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/tips-tricks">Tips & Tricks</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Transforms</span><meta itemprop="position" content="3"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Transforms</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/basics/blocks-variations/index.html b/docs/basics/blocks-variations/index.html index 4faaad56c..824826fcc 100644 --- a/docs/basics/blocks-variations/index.html +++ b/docs/basics/blocks-variations/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/tips-tricks">Tips & Tricks</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Variations</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Variations</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/basics/blocks-wrapper/index.html b/docs/basics/blocks-wrapper/index.html index 86796adbc..92af80c48 100644 --- a/docs/basics/blocks-wrapper/index.html +++ b/docs/basics/blocks-wrapper/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/tips-tricks">Tips & Tricks</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Wrapper</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Wrapper</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/basics/blocks/index.html b/docs/basics/blocks/index.html index 09c8b54cd..4b42bce50 100644 --- a/docs/basics/blocks/index.html +++ b/docs/basics/blocks/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/tips-tricks">Tips & Tricks</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Blocks</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Blocks</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/basics/browser-sync/index.html b/docs/basics/browser-sync/index.html index b4eb7ee16..159ae66a1 100644 --- a/docs/basics/browser-sync/index.html +++ b/docs/basics/browser-sync/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/basics/frontend">Frontend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/frontend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/webpack">Webpack</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/library">SCSS Library</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/global-settings">Global Settings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/writing-styles">Writing Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/fonts">Fonts</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/basics/browser-sync">Browsersync</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/dynamic-import">Dynamic Import</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/tips-tricks">Tips & Tricks</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Frontend</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Browsersync</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Browsersync</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/basics/dynamic-import/index.html b/docs/basics/dynamic-import/index.html index 33ef0964c..936c6c9dc 100644 --- a/docs/basics/dynamic-import/index.html +++ b/docs/basics/dynamic-import/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/basics/frontend">Frontend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/frontend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/webpack">Webpack</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/library">SCSS Library</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/global-settings">Global Settings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/writing-styles">Writing Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/fonts">Fonts</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/browser-sync">Browsersync</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/basics/dynamic-import">Dynamic Import</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/tips-tricks">Tips & Tricks</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Frontend</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Dynamic Import</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Dynamic Import</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/basics/example-class/index.html b/docs/basics/example-class/index.html index babcc4328..a7e58a4c4 100644 --- a/docs/basics/example-class/index.html +++ b/docs/basics/example-class/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/basics/backend">Backend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/backend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/namespaces">Namespaces</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/autowiring">Autowiring</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/basics/example-class">Example Class</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/manifest">Assets Manifest</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/rest">Rest</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/tips-tricks">Tips & Tricks</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Backend</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Example Class</span><meta itemprop="position" content="3"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Example Class</h1></header><p><a href="https://github.com/infinum/eightshift-libs" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/basics/extending-classes/index.html b/docs/basics/extending-classes/index.html index 99c68d79d..95b96d9b0 100644 --- a/docs/basics/extending-classes/index.html +++ b/docs/basics/extending-classes/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/basics/backend">Backend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/backend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/namespaces">Namespaces</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/basics/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/autowiring">Autowiring</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/example-class">Example Class</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/manifest">Assets Manifest</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/rest">Rest</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/tips-tricks">Tips & Tricks</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Backend</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Extending Classes</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Extending Classes</h1></header><p><a href="https://github.com/infinum/eightshift-libs" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/basics/fonts/index.html b/docs/basics/fonts/index.html index e8be7fb8a..753252d88 100644 --- a/docs/basics/fonts/index.html +++ b/docs/basics/fonts/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/basics/frontend">Frontend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/frontend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/webpack">Webpack</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/library">SCSS Library</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/global-settings">Global Settings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/writing-styles">Writing Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/basics/fonts">Fonts</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/browser-sync">Browsersync</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/dynamic-import">Dynamic Import</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/tips-tricks">Tips & Tricks</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Frontend</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Fonts</span><meta itemprop="position" content="3"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Fonts</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> @@ -24,7 +24,7 @@ <ul> <li>Put your font files in this folder: <code>assets/fonts</code>.</li> <li>Import each file in the <code>assets/fonts/index.js</code> so that Webpack knows how to process these files in its build process.</li> -<li>In your project, load the font family using font-face <a href="/sass">method</a>. We recommend that you create a new file <code>assets/styles/parts/utils/_defaults.scss</code> and put everything in that file.</li> +<li>In your project, load the font family using font-face <a href="/docs/basics/library">method</a>. We recommend that you create a new file <code>assets/styles/parts/utils/_defaults.scss</code> and put everything in that file.</li> </ul> <p>You can read <a href="/blog/adding-fonts">Igor's blog post about adding fonts to your project</a>.</p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/basics/writing-styles"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Writing Styles</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/basics/browser-sync"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Browsersync</div></a></nav></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> </body> diff --git a/docs/basics/frontend/index.html b/docs/basics/frontend/index.html index fe2658c9a..fc88bf428 100644 --- a/docs/basics/frontend/index.html +++ b/docs/basics/frontend/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/basics/frontend">Frontend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/basics/frontend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/webpack">Webpack</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/library">SCSS Library</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/global-settings">Global Settings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/writing-styles">Writing Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/fonts">Fonts</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/browser-sync">Browsersync</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/dynamic-import">Dynamic Import</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/tips-tricks">Tips & Tricks</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Frontend</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">General</span><meta itemprop="position" content="3"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>General</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/basics/global-settings/index.html b/docs/basics/global-settings/index.html index 67bc0e31a..b1c351189 100644 --- a/docs/basics/global-settings/index.html +++ b/docs/basics/global-settings/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/basics/frontend">Frontend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/frontend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/webpack">Webpack</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/library">SCSS Library</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/basics/global-settings">Global Settings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/writing-styles">Writing Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/fonts">Fonts</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/browser-sync">Browsersync</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/dynamic-import">Dynamic Import</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/tips-tricks">Tips & Tricks</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Frontend</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Global Settings</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Global Settings</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> @@ -30,30 +30,30 @@ <h2 class="anchor anchorWithStickyNavbar_LWe7" id="how-does-this-work">How does <p>You have the file <code>src/Blocks/manifest.json</code> that has a key called <code>globalVariables</code>. We use this key and build the SCSS maps that you can use in your style files.</p> <p>Mind-blowing, right?</p> <p>To use it, write your style in the <code>manifest.json</code> under the <code>globalVariables</code> key, and you can use that variable in your style files like this:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$base-col-number: global-settings(maxCols);</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$base-col-number</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">maxCols</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>Keep in mind that the <code>global-settings</code> is a function that checks the <code>globalVariables</code> map and returns the value depending on the key provided.</p> <p>For example, if you have something like this in your <code>manifest.json</code>:</p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "globalVariables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "maxCols": 12,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "gutters": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "none": "0",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": "25px",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "big": "50px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "colors": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "name": "Primary",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "slug": "primary",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "color": "#3E3E3E"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "name": "Black",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "slug": "black",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "color": "#000000"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="scenario-1">Scenario 1:<a href="#scenario-1" class="hash-link" aria-label="Direct link to Scenario 1:" title="Direct link to Scenario 1:">​</a></h3> <p>You type this in you SCSS files:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$base-col-number: global-settings(maxCols);</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$base-col-number</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">maxCols</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>the output will be: <strong>12</strong></p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="scenario-2">Scenario 2:<a href="#scenario-2" class="hash-link" aria-label="Direct link to Scenario 2:" title="Direct link to Scenario 2:">​</a></h3> <p>You type this in you SCSS files:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$gutters: global-settings(gutters);</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$gutters</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">gutters</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>the output will be a map that you need to loop or fetch individual files using <code>get-map-strict</code> or <code>get-map-deep</code> function:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$gutters: (</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "none": "0",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": "25px",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "big": "50px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">);</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$gutters</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"none"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"0"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"default"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"25px"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"big"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"50px"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>so you can call it like this:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">width: get-map-strict($gutters, default);</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">width</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">get-map-strict</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$gutters</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> default</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="scenario-3">Scenario 3:<a href="#scenario-3" class="hash-link" aria-label="Direct link to Scenario 3:" title="Direct link to Scenario 3:">​</a></h3> <p>"I want to output colors, but they don't follow the structure you mentioned before. Why is that?"</p> <p>Yes, colors are different because we use this manifest to output the colors to the block editors' color palette. Only the colors are like this.</p> <p>Type this into your SCSS files:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$primary-color: global-settings(colors, primary),</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">$black-color: global-settings(colors, black),</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$primary-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">colors</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> primary</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$black-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">colors</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token color">black</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>The output will be:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$primary-color: #3E3E3E;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">$black-color: #000000;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$primary-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token hexcode color">#3E3E3E</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$black-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token hexcode color">#000000</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>so you use it the normal SCSS way:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">color: $primary-color;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">background-color: $black-color;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$primary-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">background-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$black-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <div class="es-alert es-alert--caution m-0 my-10 pl-10 pr-0 py-4 border-l-4 border-l-infinum border-l-candy-30"><i class="flex gap-1.5 items-center font-sans text-12 uppercase not-italic leading-none font-medium mb-2"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" class="w-6 h-6 text-candy-30"><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"></path></svg><span class="text-grey-500">Note</span></i><div class="font-sans text-16 text-black"><p>If you add/remove/change any value in the <code>manifest.json</code> file, please restart your Webpack watch because it won't recognize that change.</p></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/basics/library"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">SCSS Library</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/basics/writing-styles"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Writing Styles</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#why-do-we-use-this" class="table-of-contents__link toc-highlight">Why do we use this?</a></li><li><a href="#how-does-this-work" class="table-of-contents__link toc-highlight">How does this work?</a><ul><li><a href="#scenario-1" class="table-of-contents__link toc-highlight">Scenario 1:</a></li><li><a href="#scenario-2" class="table-of-contents__link toc-highlight">Scenario 2:</a></li><li><a href="#scenario-3" class="table-of-contents__link toc-highlight">Scenario 3:</a></li></ul></li></ul></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> </body> </html> \ No newline at end of file diff --git a/docs/basics/helpers-javascript/index.html b/docs/basics/helpers-javascript/index.html index 6010a52a3..bf9a5f24c 100644 --- a/docs/basics/helpers-javascript/index.html +++ b/docs/basics/helpers-javascript/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/basics/helpers">Helpers</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/basics/helpers-javascript">JavaScript</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/helpers-scss">Scss</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/helpers-php">PHP</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/tips-tricks">Tips & Tricks</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Helpers</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">JavaScript</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/basics/helpers-php/index.html b/docs/basics/helpers-php/index.html index 5e2f515f0..5fbaea7fc 100644 --- a/docs/basics/helpers-php/index.html +++ b/docs/basics/helpers-php/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/basics/helpers">Helpers</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/helpers-javascript">JavaScript</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/helpers-scss">Scss</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/basics/helpers-php">PHP</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/tips-tricks">Tips & Tricks</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Helpers</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">PHP</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>PHP</h1></header><p><a href="https://github.com/infinum/eightshift-libs" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/basics/helpers-scss/index.html b/docs/basics/helpers-scss/index.html index c521a6dc2..072ab2f0a 100644 --- a/docs/basics/helpers-scss/index.html +++ b/docs/basics/helpers-scss/index.html @@ -14,14 +14,14 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/basics/helpers">Helpers</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/helpers-javascript">JavaScript</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/basics/helpers-scss">Scss</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/helpers-php">PHP</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/tips-tricks">Tips & Tricks</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Helpers</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Scss</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Scss</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> <p>For years, we have collected a list of useful SASS mixins, placeholders, and functions you can use in a project. You don't need to have all of this in your project. Check out our documentation and see what we have in store for you.</p> -<p><strong>Visit <a href="/sass">SassDocs</a> for more details.</strong></p> +<p><strong>Visit <a href="/docs/basics/library">SassDocs</a> for more details.</strong></p> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="default-usage">Default usage<a href="#default-usage" class="hash-link" aria-label="Direct link to Default usage" title="Direct link to Default usage">​</a></h2> <p>Eightshift Frontend Libs styles library is already implemented in your WordPress project, so you don't need to worry about implementation.</p> <p>All our sass mixing, functions and helpers are located in <code>node_modules/@eighshift/frontent-libs/styles/scss/eightshift-frontend-libs.scss</code> file.</p> @@ -31,6 +31,6 @@ <h2 class="anchor anchorWithStickyNavbar_LWe7" id="usage-outside-of-eightshift-b <p>In your terminal, install Eightshift Frontend Libs package:</p> <div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">npm install @eightshift/frontend-libs</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>and add this import in your project:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">@import '@eightshift/frontend-libs/styles/index.scss';</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/basics/helpers-javascript"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">JavaScript</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/basics/helpers-php"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">PHP</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#default-usage" class="table-of-contents__link toc-highlight">Default usage</a></li><li><a href="#usage-outside-of-eightshift-boilerplate" class="table-of-contents__link toc-highlight">Usage outside of Eightshift Boilerplate</a></li></ul></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@import</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'@eightshift/frontend-libs/styles/index.scss'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/basics/helpers-javascript"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">JavaScript</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/basics/helpers-php"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">PHP</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#default-usage" class="table-of-contents__link toc-highlight">Default usage</a></li><li><a href="#usage-outside-of-eightshift-boilerplate" class="table-of-contents__link toc-highlight">Usage outside of Eightshift Boilerplate</a></li></ul></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> </body> </html> \ No newline at end of file diff --git a/docs/basics/helpers/index.html b/docs/basics/helpers/index.html index af3b726f6..7f438265b 100644 --- a/docs/basics/helpers/index.html +++ b/docs/basics/helpers/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/basics/helpers">Helpers</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/basics/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/helpers-javascript">JavaScript</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/helpers-scss">Scss</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/helpers-php">PHP</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/tips-tricks">Tips & Tricks</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Helpers</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Helpers</span><meta itemprop="position" content="3"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Helpers</h1></header><p>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:</p> diff --git a/docs/basics/library/index.html b/docs/basics/library/index.html index 3d4cd1481..e7219f945 100644 --- a/docs/basics/library/index.html +++ b/docs/basics/library/index.html @@ -14,19 +14,91 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/basics/frontend">Frontend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/frontend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/webpack">Webpack</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/basics/library">SCSS Library</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/global-settings">Global Settings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/writing-styles">Writing Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/fonts">Fonts</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/browser-sync">Browsersync</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/dynamic-import">Dynamic Import</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/tips-tricks">Tips & Tricks</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Frontend</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">SCSS Library</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>SCSS Library</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> <p>Eightshift Frontend Libs contains a collection of useful SCSS mixins, functions and helpers you can use in projects.</p> <p>For years, we have collected a list of them. At one point, we felt it was ineffective to copy-paste code across multiple projects, so we created Eightshift Frontend Libs. This allows you to use whatever we offer without all that unnecessary clutter.</p> <p>Check out our documentation and import what you need from Eightshift Frontend Libs.</p> -<p><strong>Visit <a href="/sass">SassDocs</a> for more details.</strong></p> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="how-to-use-it">How to use it<a href="#how-to-use-it" class="hash-link" aria-label="Direct link to How to use it" title="Direct link to How to use it">​</a></h2> <p>SCSS mixins, functions, and helpers are located in Eightshift Frontend Libs. Therefore, if you are using our Webpack build, you are all set. You can use it by importing it into your project like this:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">@import '@eightshift/frontend-libs/styles/index.scss';</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> -<p>However, if you used our <code>wp boilerplate init theme</code> command, you are all set. Eightshift Frontend Libs are injected in the <code>_shared.scss</code> file in your project.</p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/basics/webpack"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Webpack</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/basics/global-settings"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Global Settings</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#how-to-use-it" class="table-of-contents__link toc-highlight">How to use it</a></li></ul></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@import</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'@eightshift/frontend-libs/styles/index.scss'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<p>However, if you used our <code>wp boilerplate init theme</code> command, you are all set. Eightshift Frontend Libs are injected in the <code>_shared.scss</code> file in your project.</p> +<h2 class="anchor anchorWithStickyNavbar_LWe7" id="functions">Functions<a href="#functions" class="hash-link" aria-label="Direct link to Functions" title="Direct link to Functions">​</a></h2> +<h3 class="anchor anchorWithStickyNavbar_LWe7" id="calc-dynamic-size"><code>calc-dynamic-size</code><a href="#calc-dynamic-size" class="hash-link" aria-label="Direct link to calc-dynamic-size" title="Direct link to calc-dynamic-size">​</a></h3> +<p>Calculates dynamic sizes using linear function for calculations.</p> +<table><thead><tr><th>Name</th><th>Description</th><th>Type</th></tr></thead><tbody><tr><td><code>$min-size</code></td><td>Smallest allowed size.</td><td><code>Size</code></td></tr><tr><td><code>$max-size</code></td><td>Largest allowed size.</td><td><code>Size</code></td></tr><tr><td><code>$min-width</code></td><td>From which width to start interpolating.</td><td><code>Size</code></td></tr><tr><td><code>$max-width</code></td><td>Width on which to stop interpolating.</td><td><code>Size</code></td></tr></tbody></table> +<p><strong>Example</strong></p> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector" style="color:rgb(255, 121, 198)">.test </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">font-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">calc-dynamic-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">10</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">100</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> mobile</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> desktop</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<p>Output</p> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector" style="color:rgb(255, 121, 198)">.test</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">font-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">calc</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">0.1374 * 100vw + -64.74809px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<h3 class="anchor anchorWithStickyNavbar_LWe7" id="global-config"><code>global-config</code><a href="#global-config" class="hash-link" aria-label="Direct link to global-config" title="Direct link to global-config">​</a></h3> +<p>Function returns global config variable from Eightshift-frontend-libs setup. It expects <code>$global-config</code> key to be available. If the key is not available there is no warning nor error, just <code>null</code> returned.</p> +<table><thead><tr><th>Name</th><th>Description</th><th>Type</th></tr></thead><tbody><tr><td><code>$key</code></td><td>Key from global manifest config.</td><td><code>String</code></td></tr></tbody></table> +<p><strong>Throws</strong> +<em>ERROR</em>: $global-config variable doesnt exist!</p> +<p><strong>Example</strong></p> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector" style="color:rgb(255, 121, 198)">.test </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@if</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token function" style="color:rgb(80, 250, 123)">global-config</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">useRemBaseSize</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">width</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">2</span><span class="token unit">rem</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ...</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<p>Output</p> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector" style="color:rgb(255, 121, 198)">.test</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">width</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 2rem</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<h3 class="anchor anchorWithStickyNavbar_LWe7" id="global-settings"><code>global-settings</code><a href="#global-settings" class="hash-link" aria-label="Direct link to global-settings" title="Direct link to global-settings">​</a></h3> +<p>Function returns the <code>$global_settings</code> variable from Eightshift Frontend libs setup. It expects <code>$global-variables</code> key to be available.</p> +<table><thead><tr><th>Name</th><th>Description</th><th>Type</th></tr></thead><tbody><tr><td><code>$keys</code></td><td>Map keys from global settings.</td><td><code>String</code></td></tr></tbody></table> +<p><strong>Throws</strong> +<em>ERROR</em>: $global-config variable doesnt exist!</p> +<p><strong>Example</strong></p> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector" style="color:rgb(255, 121, 198)">.test </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">width</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">containers</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> default</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<p>Output</p> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector" style="color:rgb(255, 121, 198)">.test</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">width</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 1330px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<h3 class="anchor anchorWithStickyNavbar_LWe7" id="line-height"><code>line-height</code><a href="#line-height" class="hash-link" aria-label="Direct link to line-height" title="Direct link to line-height">​</a></h3> +<p>Transforms the line-height to relative value.</p> +<p>If context is not provided, it will be pulled from the <code>$base-font-size</code>. Line height will be specified without any unit.</p> +<table><thead><tr><th>Name</th><th>Description</th><th>Type</th></tr></thead><tbody><tr><td><code>$pixels</code></td><td>Pixel value that should be converted to relative value.</td><td><code>Number</code></td></tr><tr><td><code>$context</code></td><td>Relative context. Defaults to <code>$base-font-size</code>.</td><td><code>Number</code></td></tr></tbody></table> +<p><strong>Example</strong></p> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector" style="color:rgb(255, 121, 198)">.test </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">font-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">20</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector parent important" style="color:rgb(255, 121, 198)">&</span><span class="token selector" style="color:rgb(255, 121, 198)">__subelement </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">font-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">line-height</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">20</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector parent important" style="color:rgb(255, 121, 198)">&</span><span class="token selector" style="color:rgb(255, 121, 198)">__second-subelement </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">font-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">line-height</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">38</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">32</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<p>Output</p> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)">// $base-font-size = 20.</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token selector" style="color:rgb(255, 121, 198)">.test </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector parent important" style="color:rgb(255, 121, 198)">&</span><span class="token selector" style="color:rgb(255, 121, 198)">__subelement </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">line-height</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector parent important" style="color:rgb(255, 121, 198)">&</span><span class="token selector" style="color:rgb(255, 121, 198)">__second-subelement </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">line-height</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">1.19</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<h2 class="anchor anchorWithStickyNavbar_LWe7" id="mixins">Mixins<a href="#mixins" class="hash-link" aria-label="Direct link to Mixins" title="Direct link to Mixins">​</a></h2> +<h3 class="anchor anchorWithStickyNavbar_LWe7" id="font-face"><code>font-face</code><a href="#font-face" class="hash-link" aria-label="Direct link to font-face" title="Direct link to font-face">​</a></h3> +<p>Creates <code>@font-face</code> definitions. Ideally, should be included in a separate SCSS partial and relatively 'early' in SCSS structure.</p> +<table><thead><tr><th>Name</th><th>Description</th><th>Type</th><th>Default value</th></tr></thead><tbody><tr><td><code>$name</code></td><td>Font family name</td><td><code>String</code></td><td></td></tr><tr><td><code>$path</code></td><td>Path to the font variation file (relative to the <code>public/</code> folder)</td><td><code>String</code></td><td></td></tr><tr><td><code>$weight</code></td><td>Font variation weight</td><td><code>Number</code></td><td><code>400</code></td></tr><tr><td><code>$style</code></td><td>Font variation style</td><td><code>String</code></td><td><code>normal</code></td></tr><tr><td><code>$exts</code></td><td>File extensions of font files</td><td><code>String</code></td><td><code>woff2 woff</code></td></tr></tbody></table> +<p><strong>Example</strong></p> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@include</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">font-face</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string" style="color:rgb(255, 121, 198)">'FontName'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'FontName-Regular'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@include</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">font-face</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string" style="color:rgb(255, 121, 198)">'FontName'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'FontName-Bold'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">700</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@include</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">font-face</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string" style="color:rgb(255, 121, 198)">'FontName2'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'FontName2'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">500</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> normal</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> woff</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<p>Output</p> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token atrule rule">@font-face</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">font-family</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"FontName"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">font-weight</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 400</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">font-style</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> normal</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">src</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token url function" style="color:rgb(80, 250, 123)">url</span><span class="token url punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token url string url" style="color:rgb(255, 121, 198)">"FontName-Regular.woff2"</span><span class="token url punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">format</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string" style="color:rgb(255, 121, 198)">"woff2"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token url function" style="color:rgb(80, 250, 123)">url</span><span class="token url punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token url string url" style="color:rgb(255, 121, 198)">"FontName-Regular.woff"</span><span class="token url punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">format</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string" style="color:rgb(255, 121, 198)">"woff"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">font-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> swap</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@font-face</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">font-family</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"FontName"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">font-weight</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 700</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">font-style</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> normal</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">src</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token url function" style="color:rgb(80, 250, 123)">url</span><span class="token url punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token url string url" style="color:rgb(255, 121, 198)">"FontName-Bold.woff2"</span><span class="token url punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">format</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string" style="color:rgb(255, 121, 198)">"woff2"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token url function" style="color:rgb(80, 250, 123)">url</span><span class="token url punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token url string url" style="color:rgb(255, 121, 198)">"FontName-Bold.woff"</span><span class="token url punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">format</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string" style="color:rgb(255, 121, 198)">"woff"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">font-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> swap</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@font-face</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">font-family</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"FontName2"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">font-weight</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 500</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">font-style</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> normal</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">src</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token url function" style="color:rgb(80, 250, 123)">url</span><span class="token url punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token url string url" style="color:rgb(255, 121, 198)">"FontName2.woff"</span><span class="token url punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">format</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string" style="color:rgb(255, 121, 198)">"woff"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">font-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> swap</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<h3 class="anchor anchorWithStickyNavbar_LWe7" id="underline-text"><code>underline-text</code><a href="#underline-text" class="hash-link" aria-label="Direct link to underline-text" title="Direct link to underline-text">​</a></h3> +<p>This mixin can work in two ways:</p> +<ol> +<li>Include the mixin in the class you want to hover over. Text you want to underline needs to have attached class <code>.underline-text</code> (alternatively, provide a custom class name through the <code>$element</code> parameter). <code>$wrapper</code> should be set to <code>true</code>.</li> +<li>Include the mixin in any element. <code>$wrapper</code> shouldn't be set (= should be set to <code>false</code>)</li> +</ol> +<p>Other parameters are optional and they allow you customize the transition.</p> +<table><thead><tr><th>Name</th><th>Description</th><th>Type</th><th>Default value</th></tr></thead><tbody><tr><td><code>$thickness</code></td><td>Thickness of the line (percentage relative to the current font size)</td><td><code>String</code></td><td><code>10%</code></td></tr><tr><td><code>$duration</code></td><td>Duration of the animation</td><td><code>Seconds</code></td><td><code>0.5s</code></td></tr><tr><td><code>$timing-function</code></td><td>Animation timing function</td><td><code>Timing-function</code></td><td><code>cubic-bezier(0.79, 0.01, 0.22, 0.99)</code></td></tr><tr><td><code>$color</code></td><td>Color of the underline</td><td><code>Color</code></td><td><code>currentColor</code></td></tr><tr><td><code>$wrapper</code></td><td>If wrapper is used as the hover reference</td><td><code>Boolean</code></td><td><code>false</code></td></tr><tr><td><code>$element</code></td><td>Element which you want to add the underline to</td><td><code>String</code></td><td><code>.underline-text</code></td></tr><tr><td><code>$state</code></td><td>When to apply the underline (pseudoselector)</td><td><code>String</code></td><td><code>hover</code></td></tr></tbody></table> +<p><strong>Example</strong></p> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector" style="color:rgb(255, 121, 198)">.test </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@include</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">underline-text</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token selector" style="color:rgb(255, 121, 198)">.test2 </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@include</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">underline-text</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">5</span><span class="token unit">%</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">.7</span><span class="token unit">s</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> ease-in</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token hexcode color">#132031</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token boolean">true</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">".link"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> hover</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token selector" style="color:rgb(255, 121, 198)">.test3 </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@include</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">underline-text</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$timing-function</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> ease</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token hexcode color">#000000</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$wrapper</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token boolean">true</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$element</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">".target-text"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<p>Output</p> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector" style="color:rgb(255, 121, 198)">.test </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> inline</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">transition</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> background-size </span><span class="token number">0.5</span><span class="token unit">s</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">cubic-bezier</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">0.79</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">0.01</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">0.22</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">0.99</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token number">0</span><span class="token unit">s</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> background-position </span><span class="token number">0</span><span class="token unit">s</span><span class="token plain"> step-end </span><span class="token number">0.5</span><span class="token unit">s</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">text-decoration</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> none</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">background-image</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">linear-gradient</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token color">transparent</span><span class="token plain"> </span><span class="token number">90</span><span class="token unit">%</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> currentColor </span><span class="token number">90</span><span class="token unit">%</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> currentColor </span><span class="token number">100</span><span class="token unit">%</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">background-repeat</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> no-repeat</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">background-position-y</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> bottom</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">background-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">0</span><span class="token unit">%</span><span class="token plain"> </span><span class="token number">100</span><span class="token unit">%</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector parent important" style="color:rgb(255, 121, 198)">&</span><span class="token selector" style="color:rgb(255, 121, 198)">:hover </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">background-position-x</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> right</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">background-position-y</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> bottom</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">background-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">100</span><span class="token unit">%</span><span class="token plain"> </span><span class="token number">100</span><span class="token unit">%</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token selector" style="color:rgb(255, 121, 198)">.test2 </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">text-decoration</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> none</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector" style="color:rgb(255, 121, 198)">.link </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> inline</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">transition</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> background-size </span><span class="token number">0.7</span><span class="token unit">s</span><span class="token plain"> ease-in </span><span class="token number">0</span><span class="token unit">s</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> background-position </span><span class="token number">0</span><span class="token unit">s</span><span class="token plain"> step-end </span><span class="token number">0.7</span><span class="token unit">s</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">text-decoration</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> none</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">background-image</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">linear-gradient</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token color">transparent</span><span class="token plain"> </span><span class="token number">95</span><span class="token unit">%</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token hexcode color">#132031</span><span class="token plain"> </span><span class="token number">95</span><span class="token unit">%</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token hexcode color">#132031</span><span class="token plain"> </span><span class="token number">100</span><span class="token unit">%</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">background-repeat</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> no-repeat</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">background-position-y</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> bottom</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">background-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">0</span><span class="token unit">%</span><span class="token plain"> </span><span class="token number">100</span><span class="token unit">%</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector parent important" style="color:rgb(255, 121, 198)">&</span><span class="token selector" style="color:rgb(255, 121, 198)">:hover .link </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">background-position-x</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> right</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">background-position-y</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> bottom</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">background-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">100</span><span class="token unit">%</span><span class="token plain"> </span><span class="token number">100</span><span class="token unit">%</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token selector" style="color:rgb(255, 121, 198)">.test3 </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">text-decoration</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> none</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector" style="color:rgb(255, 121, 198)">.target-text </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> inline</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">transition</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> background-size </span><span class="token number">0.5</span><span class="token unit">s</span><span class="token plain"> ease </span><span class="token number">0</span><span class="token unit">s</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> background-position </span><span class="token number">0</span><span class="token unit">s</span><span class="token plain"> step-end </span><span class="token number">0.5</span><span class="token unit">s</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">text-decoration</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> none</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">background-image</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">linear-gradient</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token color">transparent</span><span class="token plain"> </span><span class="token number">90</span><span class="token unit">%</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token hexcode color">#000000</span><span class="token plain"> </span><span class="token number">90</span><span class="token unit">%</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token hexcode color">#000000</span><span class="token plain"> </span><span class="token number">100</span><span class="token unit">%</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">background-repeat</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> no-repeat</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">background-position-y</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> bottom</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">background-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">0</span><span class="token unit">%</span><span class="token plain"> </span><span class="token number">100</span><span class="token unit">%</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector parent important" style="color:rgb(255, 121, 198)">&</span><span class="token selector" style="color:rgb(255, 121, 198)">:hover .target-text </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">background-position-x</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> right</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">background-position-y</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> bottom</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">background-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">100</span><span class="token unit">%</span><span class="token plain"> </span><span class="token number">100</span><span class="token unit">%</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<h2 class="anchor anchorWithStickyNavbar_LWe7" id="placeholders">Placeholders<a href="#placeholders" class="hash-link" aria-label="Direct link to Placeholders" title="Direct link to Placeholders">​</a></h2> +<h3 class="anchor anchorWithStickyNavbar_LWe7" id="button-reset"><code>button-reset</code><a href="#button-reset" class="hash-link" aria-label="Direct link to button-reset" title="Direct link to button-reset">​</a></h3> +<p>Resets the browser default button styles.</p> +<p><strong>Example</strong></p> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector" style="color:rgb(255, 121, 198)">.test </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@extend</span><span class="token plain"> </span><span class="token placeholder selector" style="color:rgb(255, 121, 198)">%button-reset</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<p>Output</p> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector" style="color:rgb(255, 121, 198)">.test</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">padding</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 0</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">border</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 0</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">appearance</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> none</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">font-family</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> inherit</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<h3 class="anchor anchorWithStickyNavbar_LWe7" id="link-reset"><code>link-reset</code><a href="#link-reset" class="hash-link" aria-label="Direct link to link-reset" title="Direct link to link-reset">​</a></h3> +<p>Resets the browser default link styles.</p> +<p><strong>Example</strong></p> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector" style="color:rgb(255, 121, 198)">.test </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@extend</span><span class="token plain"> </span><span class="token placeholder selector" style="color:rgb(255, 121, 198)">%link-reset</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<p>Output</p> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector" style="color:rgb(255, 121, 198)">.test </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">padding</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">0</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">margin</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">0</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> unset</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">text-decoration</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> none</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector parent important" style="color:rgb(255, 121, 198)">&</span><span class="token selector" style="color:rgb(255, 121, 198)">:hover </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> unset</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<h3 class="anchor anchorWithStickyNavbar_LWe7" id="visually-hidden"><code>visually-hidden</code><a href="#visually-hidden" class="hash-link" aria-label="Direct link to visually-hidden" title="Direct link to visually-hidden">​</a></h3> +<p>Hide information visually but keep it available to screen reader and other assistive technology. <a href="https://www.w3.org/WAI/tutorials/forms/labels/#hiding-the-label-element" target="_blank" rel="noopener noreferrer">More info</a></p> +<p><strong>Example</strong></p> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector" style="color:rgb(255, 121, 198)">.test </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@extend</span><span class="token plain"> </span><span class="token placeholder selector" style="color:rgb(255, 121, 198)">%visually-hidden</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<p>Output</p> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector" style="color:rgb(255, 121, 198)">.test</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">border</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 0</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">clip</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">rect</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">0 0 0 0</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">height</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 1px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">margin</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> -1px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">overflow</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> hidden</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">padding</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 0</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">position</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> absolute</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">width</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 1px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/basics/webpack"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Webpack</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/basics/global-settings"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Global Settings</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#how-to-use-it" class="table-of-contents__link toc-highlight">How to use it</a></li><li><a href="#functions" class="table-of-contents__link toc-highlight">Functions</a><ul><li><a href="#calc-dynamic-size" class="table-of-contents__link toc-highlight"><code>calc-dynamic-size</code></a></li><li><a href="#global-config" class="table-of-contents__link toc-highlight"><code>global-config</code></a></li><li><a href="#global-settings" class="table-of-contents__link toc-highlight"><code>global-settings</code></a></li><li><a href="#line-height" class="table-of-contents__link toc-highlight"><code>line-height</code></a></li></ul></li><li><a href="#mixins" class="table-of-contents__link toc-highlight">Mixins</a><ul><li><a href="#font-face" class="table-of-contents__link toc-highlight"><code>font-face</code></a></li><li><a href="#underline-text" class="table-of-contents__link toc-highlight"><code>underline-text</code></a></li></ul></li><li><a href="#placeholders" class="table-of-contents__link toc-highlight">Placeholders</a><ul><li><a href="#button-reset" class="table-of-contents__link toc-highlight"><code>button-reset</code></a></li><li><a href="#link-reset" class="table-of-contents__link toc-highlight"><code>link-reset</code></a></li><li><a href="#visually-hidden" class="table-of-contents__link toc-highlight"><code>visually-hidden</code></a></li></ul></li></ul></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> </body> </html> \ No newline at end of file diff --git a/docs/basics/manifest/index.html b/docs/basics/manifest/index.html index 6ac931284..0eea5e500 100644 --- a/docs/basics/manifest/index.html +++ b/docs/basics/manifest/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/basics/backend">Backend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/backend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/namespaces">Namespaces</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/autowiring">Autowiring</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/example-class">Example Class</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/basics/manifest">Assets Manifest</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/rest">Rest</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/tips-tricks">Tips & Tricks</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Backend</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Assets Manifest</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Assets Manifest</h1></header><p><a href="https://github.com/infinum/eightshift-libs" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/basics/namespaces/index.html b/docs/basics/namespaces/index.html index 7342b9368..a22dfdc97 100644 --- a/docs/basics/namespaces/index.html +++ b/docs/basics/namespaces/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/basics/backend">Backend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/backend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/basics/namespaces">Namespaces</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/autowiring">Autowiring</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/example-class">Example Class</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/manifest">Assets Manifest</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/rest">Rest</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/tips-tricks">Tips & Tricks</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Backend</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Namespaces</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Namespaces</h1></header><p><a href="https://github.com/infinum/eightshift-libs" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/basics/rest-field/index.html b/docs/basics/rest-field/index.html index a3030fdb5..c7353cf29 100644 --- a/docs/basics/rest-field/index.html +++ b/docs/basics/rest-field/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/basics/backend">Backend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/backend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/namespaces">Namespaces</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/autowiring">Autowiring</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/example-class">Example Class</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/manifest">Assets Manifest</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/basics/rest">Rest</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/rest">REST Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/basics/rest-field">REST Field</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/rest-route">REST Route</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/tips-tricks">Tips & Tricks</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Backend</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Rest</span><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">REST Field</span><meta itemprop="position" content="4"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>REST Field</h1></header><p><a href="https://github.com/infinum/eightshift-libs" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/basics/rest-route/index.html b/docs/basics/rest-route/index.html index 64265d405..aa43bb8f5 100644 --- a/docs/basics/rest-route/index.html +++ b/docs/basics/rest-route/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/basics/backend">Backend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/backend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/namespaces">Namespaces</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/autowiring">Autowiring</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/example-class">Example Class</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/manifest">Assets Manifest</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/basics/rest">Rest</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/rest">REST Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/rest-field">REST Field</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/basics/rest-route">REST Route</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/tips-tricks">Tips & Tricks</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Backend</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Rest</span><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">REST Route</span><meta itemprop="position" content="4"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>REST Route</h1></header><p><a href="https://github.com/infinum/eightshift-libs" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/basics/rest/index.html b/docs/basics/rest/index.html index 779497f7d..e86daf762 100644 --- a/docs/basics/rest/index.html +++ b/docs/basics/rest/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/basics/backend">Backend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/backend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/namespaces">Namespaces</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/autowiring">Autowiring</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/example-class">Example Class</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/manifest">Assets Manifest</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/basics/rest">Rest</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/basics/rest">REST Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/rest-field">REST Field</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/rest-route">REST Route</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/tips-tricks">Tips & Tricks</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Backend</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Rest</span><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">REST Intro</span><meta itemprop="position" content="4"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>REST Intro</h1></header><p><a href="https://github.com/infinum/eightshift-libs" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/basics/tips-tricks/index.html b/docs/basics/tips-tricks/index.html index 74c22fbf3..7ac2643de 100644 --- a/docs/basics/tips-tricks/index.html +++ b/docs/basics/tips-tricks/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/basics/tips-tricks">Tips & Tricks</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Tips & Tricks</span><meta itemprop="position" content="2"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Tips & Tricks</h1></header><p>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.</p> diff --git a/docs/basics/webpack/index.html b/docs/basics/webpack/index.html index 41a934d40..6e7991505 100644 --- a/docs/basics/webpack/index.html +++ b/docs/basics/webpack/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/basics/frontend">Frontend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/frontend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/basics/webpack">Webpack</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/library">SCSS Library</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/global-settings">Global Settings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/writing-styles">Writing Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/fonts">Fonts</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/browser-sync">Browsersync</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/dynamic-import">Dynamic Import</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/tips-tricks">Tips & Tricks</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Frontend</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Webpack</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Webpack</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/basics/wp-cli/index.html b/docs/basics/wp-cli/index.html index 4b6761220..1bdfc08db 100644 --- a/docs/basics/wp-cli/index.html +++ b/docs/basics/wp-cli/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/tips-tricks">Tips & Tricks</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">WP-CLI</span><meta itemprop="position" content="2"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>WP-CLI</h1></header><p><a href="https://github.com/infinum/eightshift-libs" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/basics/writing-styles/index.html b/docs/basics/writing-styles/index.html index b692ccd3d..11ceb21c1 100644 --- a/docs/basics/writing-styles/index.html +++ b/docs/basics/writing-styles/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/basics/frontend">Frontend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/frontend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/webpack">Webpack</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/library">SCSS Library</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/global-settings">Global Settings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/basics/writing-styles">Writing Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/fonts">Fonts</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/browser-sync">Browsersync</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/dynamic-import">Dynamic Import</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/basics/tips-tricks">Tips & Tricks</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Frontend</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Writing Styles</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Writing Styles</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> @@ -39,21 +39,21 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="all-external-variables-must-g <li>you can have multiple values with the same name and just change the top-level map,</li> <li>etc.</li> </ul> -<p>We also have many helpers, which you can check in our <a href="/sass">SASS docs</a>.</p> +<p>We also have many helpers, which you can check in our <a href="/docs/basics/library">SASS docs</a>.</p> <p>In the component map, you should only add things that you will reuse in your component.</p> <p><strong>Examples:</strong></p> <p>A simple variable in a map:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$social-links: (</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> icon-color: global-settings(colors, black),</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">.social-links {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> color: map-get-strict($social-links, icon-color);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$social-links</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">icon-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">colors</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token color">black</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token selector" style="color:rgb(255, 121, 198)">.social-links </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">map-get-strict</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$social-links</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> icon-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>Nested variables in a map:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$social-links: (</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> colors: (</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> dark: global-settings(colors, black),</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> light: global-settings(colors, white),</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ),</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> sizes: (</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> small: 10px,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> big: 20px,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> )</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">.social-links {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> color: map-get-deep($social-links, colors, dark);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> &--light {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> color: map-get-deep($social-links, colors, light);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> &__sizes {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> font-size: map-get-deep($social-links, sizes, small);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> &--big {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> font-size: map-get-deep($social-links, sizes, big);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$social-links</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">colors</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">dark</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">colors</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token color">black</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">light</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">colors</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token color">white</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">sizes</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">small</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">10</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">big</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">20</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token selector" style="color:rgb(255, 121, 198)">.social-links </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">map-get-deep</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$social-links</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> colors</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> dark</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector parent important" style="color:rgb(255, 121, 198)">&</span><span class="token selector" style="color:rgb(255, 121, 198)">--light </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">map-get-deep</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$social-links</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> colors</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> light</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector parent important" style="color:rgb(255, 121, 198)">&</span><span class="token selector" style="color:rgb(255, 121, 198)">__sizes </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">font-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">map-get-deep</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$social-links</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> sizes</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> small</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector parent important" style="color:rgb(255, 121, 198)">&</span><span class="token selector" style="color:rgb(255, 121, 198)">--big </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">font-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">map-get-deep</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$social-links</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> sizes</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> big</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="never-mix-multiple-maps-in-a-single-component">Never mix multiple maps in a single component<a href="#never-mix-multiple-maps-in-a-single-component" class="hash-link" aria-label="Direct link to Never mix multiple maps in a single component" title="Direct link to Never mix multiple maps in a single component">​</a></h3> <p>You want all your styles to be contained to a single component and not dependent on external components. Sometimes this can't be avoided.</p> <p>In that case, you should define a key in the component variable for the external map and define it like this:</p> <p><strong>Example:</strong></p> <p>External map in <code>assets/styles/parts/utils/_z-index.scss</code>:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$zindex: (</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> header: 100,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> drawer: 99,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> overlay: 98,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">);</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$zindex</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">header</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">100</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">drawer</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">99</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">overlay</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">98</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>Your component:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$header: (</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> index: map-get-strict($zindex, header),</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">.header {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> z-index: map-get-strict($header, index);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$header</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">index</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">map-get-strict</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$zindex</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> header</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token selector" style="color:rgb(255, 121, 198)">.header </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">z-index</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">map-get-strict</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$header</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> index</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="where-can-i-define-global-typography-for-all-my-blockscomponents">Where can I define global typography for all my blocks/components?<a href="#where-can-i-define-global-typography-for-all-my-blockscomponents" class="hash-link" aria-label="Direct link to Where can I define global typography for all my blocks/components?" title="Direct link to Where can I define global typography for all my blocks/components?">​</a></h3> <p>Well, nowhere. Try to move your way of thinking from Bootstrap or any other front-end framework where you define global typography in one place.</p> <p>Why is that? Because we use component-based development and you should think in that way. Each component is responsible for its own styles.</p> diff --git a/docs/crash-course/intro/index.html b/docs/crash-course/intro/index.html index f5a88fba7..8d8c6636f 100644 --- a/docs/crash-course/intro/index.html +++ b/docs/crash-course/intro/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/crash-course/intro">Crash Course</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/crash-course/intro">Intro</a></li></ul></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Crash Course</span><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Intro</span><meta itemprop="position" content="2"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Intro</h1></header><p><em>Coming soon</em></p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/legacy/v4/advanced/components-heading-level"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Heading Level</div></a></nav></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/docs/eightshift-frontend-libs/index.html b/docs/eightshift-frontend-libs/index.html index 6d322849a..f6a6caf42 100644 --- a/docs/eightshift-frontend-libs/index.html +++ b/docs/eightshift-frontend-libs/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/welcome">Getting Started</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/welcome">Welcome</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/eightshift-libs">Eightshift Libs</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/eightshift-frontend-libs">Eightshift Frontend Libs</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/requirements">Requirements</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/versions">Versions</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/theme">Create New Theme</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/plugin">Create New Plugin</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Getting Started</span><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Eightshift Frontend Libs</span><meta itemprop="position" content="2"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Eightshift Frontend Libs</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/eightshift-libs/index.html b/docs/eightshift-libs/index.html index 3be6d78a5..a4b345e7d 100644 --- a/docs/eightshift-libs/index.html +++ b/docs/eightshift-libs/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/welcome">Getting Started</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/welcome">Welcome</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/eightshift-libs">Eightshift Libs</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/eightshift-frontend-libs">Eightshift Frontend Libs</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/requirements">Requirements</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/versions">Versions</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/theme">Create New Theme</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/plugin">Create New Plugin</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Getting Started</span><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Eightshift Libs</span><meta itemprop="position" content="2"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Eightshift Libs</h1></header><p><a href="https://github.com/infinum/eightshift-libs" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v4/advanced/browsersync/index.html b/docs/legacy/v4/advanced/browsersync/index.html index 618d5f2de..905cc861d 100644 --- a/docs/legacy/v4/advanced/browsersync/index.html +++ b/docs/legacy/v4/advanced/browsersync/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Guides</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/advanced/docs-sass">Advanced</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/advanced/docs-sass">Sass</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/advanced/webpack">Webpack</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v4/advanced/browsersync">Browsersync</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/advanced/helpers-aliases-helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/advanced/components-color-palette">Custom Components</a></div></li></ul></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v4</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Advanced</span><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Browsersync</span><meta itemprop="position" content="4"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Browsersync</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/v2.0.0/webpack/development.js" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v4/advanced/components-color-palette/index.html b/docs/legacy/v4/advanced/components-color-palette/index.html index c6194d31f..6a3cdc543 100644 --- a/docs/legacy/v4/advanced/components-color-palette/index.html +++ b/docs/legacy/v4/advanced/components-color-palette/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Guides</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/advanced/docs-sass">Advanced</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/advanced/docs-sass">Sass</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/advanced/webpack">Webpack</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/advanced/browsersync">Browsersync</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/advanced/helpers-aliases-helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/advanced/components-color-palette">Custom Components</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v4/advanced/components-color-palette">Color Palette</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/advanced/components-heading-level">Heading Level</a></li></ul></li></ul></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v4</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Advanced</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Custom Components</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Color Palette</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Color Palette</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/v2.0.0/components/color-palette-custom/color-palette-custom.js" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v4/advanced/components-heading-level/index.html b/docs/legacy/v4/advanced/components-heading-level/index.html index 40e99b37b..6aaecb358 100644 --- a/docs/legacy/v4/advanced/components-heading-level/index.html +++ b/docs/legacy/v4/advanced/components-heading-level/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Guides</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/advanced/docs-sass">Advanced</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/advanced/docs-sass">Sass</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/advanced/webpack">Webpack</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/advanced/browsersync">Browsersync</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/advanced/helpers-aliases-helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/advanced/components-color-palette">Custom Components</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/advanced/components-color-palette">Color Palette</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v4/advanced/components-heading-level">Heading Level</a></li></ul></li></ul></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v4</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Advanced</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Custom Components</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Heading Level</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Heading Level</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/v2.0.0/components/heading-level/heading-level.js" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v4/advanced/docs-sass/index.html b/docs/legacy/v4/advanced/docs-sass/index.html index e29dd3462..2f79efe3b 100644 --- a/docs/legacy/v4/advanced/docs-sass/index.html +++ b/docs/legacy/v4/advanced/docs-sass/index.html @@ -14,23 +14,23 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Guides</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/advanced/docs-sass">Advanced</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v4/advanced/docs-sass">Sass</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/advanced/webpack">Webpack</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/advanced/browsersync">Browsersync</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/advanced/helpers-aliases-helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/advanced/components-color-palette">Custom Components</a></div></li></ul></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v4</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Advanced</span><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Sass</span><meta itemprop="position" content="4"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Sass</h1></header><p>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.</p> -<p><strong>Visit <a href="/sass">SassDocs</a> for more details.</strong></p> +<p><strong>Visit <a href="/docs/basics/library">SassDocs</a> for more details.</strong></p> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="default-usage">Default usage<a href="#default-usage" class="hash-link" aria-label="Direct link to Default usage" title="Direct link to Default usage">​</a></h2> <p>Sass mixing, functions, helpers are located in <code>node_modules/@eighshift/frontent-libs/styles/scss/eightshift-frontend-libs.scss</code> file. If you are using our webpack build then you are all set, and you can use it by importing it to your project like this:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">@import 'EighshiftFrontendLibs';</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@import</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'EighshiftFrontendLibs'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="not-using-webpack-build">Not using Webpack Build<a href="#not-using-webpack-build" class="hash-link" aria-label="Direct link to Not using Webpack Build" title="Direct link to Not using Webpack Build">​</a></h2> <p>To be able to use <code>EighshiftFrontendLibs</code> as a shorthand, we have provided and <code>alias</code> in our webpack build under the <code>resolve</code> object key.</p> <p>If you don't use our full build for some reason and want only to use Eightshift Frontend Libs you can provide this in your webpack build:</p> <div class="language-js codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-js codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token literal-property property">resolve</span><span class="token operator">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token literal-property property">alias</span><span class="token operator">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token literal-property property">EighshiftFrontendLibs</span><span class="token operator">:</span><span class="token plain"> path</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token method function property-access" style="color:rgb(80, 250, 123)">resolve</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string" style="color:rgb(255, 121, 198)">'node_modules'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'@eightshift'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'frontend-libs'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'styles'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'scss'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'eightshift-frontend-libs.scss'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>and then importing it like this:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">@import 'EighshiftFrontendLibs';</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@import</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'EighshiftFrontendLibs'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>or you can import it directly like this, but be careful where your node_modules folder is located:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">@import 'node_modules/@eightshift/frontend-libs/styles/scss/eightshift-frontend-libs.scss';</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/legacy/v4/guides/fonts-icon"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Icon font</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/legacy/v4/advanced/webpack"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Webpack</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#default-usage" class="table-of-contents__link toc-highlight">Default usage</a></li><li><a href="#not-using-webpack-build" class="table-of-contents__link toc-highlight">Not using Webpack Build</a></li></ul></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@import</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'node_modules/@eightshift/frontend-libs/styles/scss/eightshift-frontend-libs.scss'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/legacy/v4/guides/fonts-icon"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Icon font</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/legacy/v4/advanced/webpack"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Webpack</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#default-usage" class="table-of-contents__link toc-highlight">Default usage</a></li><li><a href="#not-using-webpack-build" class="table-of-contents__link toc-highlight">Not using Webpack Build</a></li></ul></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> </body> </html> \ No newline at end of file diff --git a/docs/legacy/v4/advanced/helpers-aliases-helpers/index.html b/docs/legacy/v4/advanced/helpers-aliases-helpers/index.html index 3f48ba8df..fbb8ccbc9 100644 --- a/docs/legacy/v4/advanced/helpers-aliases-helpers/index.html +++ b/docs/legacy/v4/advanced/helpers-aliases-helpers/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Guides</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/advanced/docs-sass">Advanced</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/advanced/docs-sass">Sass</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/advanced/webpack">Webpack</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/advanced/browsersync">Browsersync</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/advanced/helpers-aliases-helpers">Helpers</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v4/advanced/helpers-aliases-helpers">Aliases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/advanced/helpers-object-helpers">Object</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/advanced/helpers-components-helpers">Components</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/advanced/helpers-shortcode-helpers">Shortcode</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/advanced/helpers-error-logger-helpers">Error Logger</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/advanced/components-color-palette">Custom Components</a></div></li></ul></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v4</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Advanced</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Helpers</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Aliases</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Aliases</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/v2.0.0/scripts" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> @@ -38,13 +38,13 @@ <h2 class="anchor anchorWithStickyNavbar_LWe7" id="eightshiftblocksautoprefixer" <div class="language-js codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-js codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token keyword module" style="color:rgb(189, 147, 249);font-style:italic">import</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'EightshiftBlocksAutoprefixer'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="eightshiftblocksnormalize">EightshiftBlocksNormalize<a href="#eightshiftblocksnormalize" class="hash-link" aria-label="Direct link to EightshiftBlocksNormalize" title="Direct link to EightshiftBlocksNormalize">​</a></h2> <p>Alias providing <a href="https://www.npmjs.com/package/normalize-scss" target="_blank" rel="noopener noreferrer">Normalize</a>. Check documentation for more details.</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">@import 'EightshiftBlocksNormalize';</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">@include normalize(); // stylelint-disable-line at-rule-empty-line-before</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@import</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'EightshiftBlocksNormalize'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@include</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">normalize</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"> </span><span class="token comment" style="color:rgb(98, 114, 164)">// stylelint-disable-line at-rule-empty-line-before</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="eightshiftblocksmediablender">EightshiftBlocksMediaBlender<a href="#eightshiftblocksmediablender" class="hash-link" aria-label="Direct link to EightshiftBlocksMediaBlender" title="Direct link to EightshiftBlocksMediaBlender">​</a></h2> <p>Alias providing <a href="https://github.com/infinum/media-blender" target="_blank" rel="noopener noreferrer">Media Blender</a>. Check documentation for more details.</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">@import 'EightshiftBlocksMediaBlender';</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@import</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'EightshiftBlocksMediaBlender'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="eightshiftblocksswiperstyle">EightshiftBlocksSwiperStyle<a href="#eightshiftblocksswiperstyle" class="hash-link" aria-label="Direct link to EightshiftBlocksSwiperStyle" title="Direct link to EightshiftBlocksSwiperStyle">​</a></h2> <p>Alias providing <a href="https://www.npmjs.com/package/swiper" target="_blank" rel="noopener noreferrer">Swiper</a>.</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">@import 'EightshiftBlocksSwiperStyle';</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@import</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'EightshiftBlocksSwiperStyle'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="eightshiftblocksdynamicimport">EightshiftBlocksDynamicImport<a href="#eightshiftblocksdynamicimport" class="hash-link" aria-label="Direct link to EightshiftBlocksDynamicImport" title="Direct link to EightshiftBlocksDynamicImport">​</a></h2> <p>To get (require) all the files using the <code>require.context</code> method, we created a helper located <a href="https://github.com/infinum/eightshift-frontend-libs/tree/v2.0.0/scripts/helpers/dynamic-import.js" target="_blank" rel="noopener noreferrer">here</a>.</p> <p>It will find all files recursively in the folder using a regex. The following example will require all <code>assets/index.js</code> files inside the <code>custom</code> folder, so there is no need to add the files to the build manually.</p> @@ -62,10 +62,10 @@ <h2 class="anchor anchorWithStickyNavbar_LWe7" id="eightshiftblocksutilityhelper <div class="language-js codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-js codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token keyword module" style="color:rgb(189, 147, 249);font-style:italic">import</span><span class="token plain"> </span><span class="token imports punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token imports"> media </span><span class="token imports punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"> </span><span class="token keyword module" style="color:rgb(189, 147, 249);font-style:italic">from</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'EightshiftBlocksUtilityHelpersPath/media'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="eightshiftfrontendlibs">EightshiftFrontendLibs<a href="#eightshiftfrontendlibs" class="hash-link" aria-label="Direct link to EightshiftFrontendLibs" title="Direct link to EightshiftFrontendLibs">​</a></h2> <p>Alias providing <a href="https://infinum.github.io/eightshift-frontend-libs/sassdocs/" target="_blank" rel="noopener noreferrer">Eightshift Frontend Libs</a>.</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">@import 'EightshiftFrontendLibs';</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@import</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'EightshiftFrontendLibs'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="eightshifteditorstyleoverride">EightshiftEditorStyleOverride<a href="#eightshifteditorstyleoverride" class="hash-link" aria-label="Direct link to EightshiftEditorStyleOverride" title="Direct link to EightshiftEditorStyleOverride">​</a></h2> <p>It provides the Block Editor overrides on some styles to give better UX for our block.</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">@import 'EightshiftEditorStyleOverride';</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@import</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'EightshiftEditorStyleOverride'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="eightshiftcomponentcolorpalette">EightshiftComponentColorPalette<a href="#eightshiftcomponentcolorpalette" class="hash-link" aria-label="Direct link to EightshiftComponentColorPalette" title="Direct link to EightshiftComponentColorPalette">​</a></h2> <p>Alias providing custom React component. For more details check <a href="/docs/legacy/v4/advanced/components-color-palette">here</a>.</p> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="eightshiftcomponentheadinglevel">EightshiftComponentHeadingLevel<a href="#eightshiftcomponentheadinglevel" class="hash-link" aria-label="Direct link to EightshiftComponentHeadingLevel" title="Direct link to EightshiftComponentHeadingLevel">​</a></h2> diff --git a/docs/legacy/v4/advanced/helpers-components-helpers/index.html b/docs/legacy/v4/advanced/helpers-components-helpers/index.html index 3b4f8f987..4f1b073d9 100644 --- a/docs/legacy/v4/advanced/helpers-components-helpers/index.html +++ b/docs/legacy/v4/advanced/helpers-components-helpers/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Guides</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/advanced/docs-sass">Advanced</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/advanced/docs-sass">Sass</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/advanced/webpack">Webpack</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/advanced/browsersync">Browsersync</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/advanced/helpers-aliases-helpers">Helpers</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/advanced/helpers-aliases-helpers">Aliases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/advanced/helpers-object-helpers">Object</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v4/advanced/helpers-components-helpers">Components</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/advanced/helpers-shortcode-helpers">Shortcode</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/advanced/helpers-error-logger-helpers">Error Logger</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/advanced/components-color-palette">Custom Components</a></div></li></ul></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v4</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Advanced</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Helpers</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Components</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Components</h1></header><p><a href="https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/helpers/class-components.php" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v4/advanced/helpers-error-logger-helpers/index.html b/docs/legacy/v4/advanced/helpers-error-logger-helpers/index.html index 9f9d5c678..2158ca268 100644 --- a/docs/legacy/v4/advanced/helpers-error-logger-helpers/index.html +++ b/docs/legacy/v4/advanced/helpers-error-logger-helpers/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Guides</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/advanced/docs-sass">Advanced</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/advanced/docs-sass">Sass</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/advanced/webpack">Webpack</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/advanced/browsersync">Browsersync</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/advanced/helpers-aliases-helpers">Helpers</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/advanced/helpers-aliases-helpers">Aliases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/advanced/helpers-object-helpers">Object</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/advanced/helpers-components-helpers">Components</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/advanced/helpers-shortcode-helpers">Shortcode</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v4/advanced/helpers-error-logger-helpers">Error Logger</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/advanced/components-color-palette">Custom Components</a></div></li></ul></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v4</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Advanced</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Helpers</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Error Logger</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Error Logger</h1></header><p><a href="https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/helpers/trait-error-logger.php" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v4/advanced/helpers-object-helpers/index.html b/docs/legacy/v4/advanced/helpers-object-helpers/index.html index d448f99bf..7359658d6 100644 --- a/docs/legacy/v4/advanced/helpers-object-helpers/index.html +++ b/docs/legacy/v4/advanced/helpers-object-helpers/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Guides</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/advanced/docs-sass">Advanced</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/advanced/docs-sass">Sass</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/advanced/webpack">Webpack</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/advanced/browsersync">Browsersync</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/advanced/helpers-aliases-helpers">Helpers</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/advanced/helpers-aliases-helpers">Aliases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v4/advanced/helpers-object-helpers">Object</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/advanced/helpers-components-helpers">Components</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/advanced/helpers-shortcode-helpers">Shortcode</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/advanced/helpers-error-logger-helpers">Error Logger</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/advanced/components-color-palette">Custom Components</a></div></li></ul></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v4</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Advanced</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Helpers</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Object</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Object</h1></header><p><a href="https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/helpers/class-object-helper.php" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v4/advanced/helpers-shortcode-helpers/index.html b/docs/legacy/v4/advanced/helpers-shortcode-helpers/index.html index d46f7c5c9..4e5286321 100644 --- a/docs/legacy/v4/advanced/helpers-shortcode-helpers/index.html +++ b/docs/legacy/v4/advanced/helpers-shortcode-helpers/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Guides</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/advanced/docs-sass">Advanced</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/advanced/docs-sass">Sass</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/advanced/webpack">Webpack</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/advanced/browsersync">Browsersync</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/advanced/helpers-aliases-helpers">Helpers</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/advanced/helpers-aliases-helpers">Aliases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/advanced/helpers-object-helpers">Object</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/advanced/helpers-components-helpers">Components</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v4/advanced/helpers-shortcode-helpers">Shortcode</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/advanced/helpers-error-logger-helpers">Error Logger</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/advanced/components-color-palette">Custom Components</a></div></li></ul></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v4</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Advanced</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Helpers</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Shortcode</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Shortcode</h1></header><p><a href="https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/helpers/class-shortcode.php" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v4/advanced/webpack/index.html b/docs/legacy/v4/advanced/webpack/index.html index 86dadbbf4..fbdf54233 100644 --- a/docs/legacy/v4/advanced/webpack/index.html +++ b/docs/legacy/v4/advanced/webpack/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Guides</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/advanced/docs-sass">Advanced</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/advanced/docs-sass">Sass</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v4/advanced/webpack">Webpack</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/advanced/browsersync">Browsersync</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/advanced/helpers-aliases-helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/advanced/components-color-palette">Custom Components</a></div></li></ul></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v4</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Advanced</span><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Webpack</span><meta itemprop="position" content="4"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Webpack</h1></header><p><a href="https://github.com/infinum/eightshift-boilerplate/tree/v4.0.0/webpack.config.js" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--boilerplate-red?style=for-the-badge&logo=wordpress&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v4/guides/blocks-block-from-components/index.html b/docs/legacy/v4/guides/blocks-block-from-components/index.html index 41ddb730d..4e53358a3 100644 --- a/docs/legacy/v4/guides/blocks-block-from-components/index.html +++ b/docs/legacy/v4/guides/blocks-block-from-components/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Guides</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/di-container">Dependency injection container</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/config">Project Config</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/manifest">Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/enqueue">Enqueue</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/post-type">Post Type</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/taxonomy">Taxonomy</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/guides/blocks-registration">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-structure">Blocks Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-structure-block-item">Block Structure Item</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-structure-component">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-structure-manifest">Manifest Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v4/guides/blocks-block-from-components">Creating Block from Components</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-render-block-view-helper">Render Block View Helper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-get-actions-helper">GetActions Helper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-filter-block-attributes-override">Filter Attributes Override</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/i18n">i18n</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/media">Media</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/menu">Menu</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/rest-intro">Rest API</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/columns-post-type">Listing Columns</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/login">Login</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/fonts-custom">Fonts</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/advanced/docs-sass">Advanced</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v4</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Guides</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Creating Block from Components</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Creating Block from Components</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/v2.0.0/blocks/init/src/blocks/custom/button" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> @@ -57,6 +57,6 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="php-view">PHP view<a href="#p <h3 class="anchor anchorWithStickyNavbar_LWe7" id="styling">Styling<a href="#styling" class="hash-link" aria-label="Direct link to Styling" title="Direct link to Styling">​</a></h3> <p>You can style them how you want, but we added some default styles</p> <p><strong>card-style.scss</strong></p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$block-card: (</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> heading: (</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> mobile: (</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> font-size: 24px,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> line-height: 1.33,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ),</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ),</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> paragraph: (</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> mobile: (</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> font-size: 18px,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> line-height: 1.5,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ),</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ),</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">.block-card {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> $this: &;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> &__media {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> margin-bottom: 25px;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> &__img {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> margin: 0 auto;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> &__content {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> text-align: center;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> &__heading {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> @include responsive($block-card, heading);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> font-weight: bold;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> &__paragraph {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> @include responsive($block-card, paragraph);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> margin-top: 15px;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/legacy/v4/guides/blocks-structure-manifest"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Manifest Structure</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/legacy/v4/guides/blocks-render-block-view-helper"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Render Block View Helper</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#folder-structure" class="table-of-contents__link toc-highlight">Folder structure</a></li><li><a href="#manifest" class="table-of-contents__link toc-highlight">Manifest</a></li><li><a href="#components" class="table-of-contents__link toc-highlight">Components</a></li><li><a href="#editor-render" class="table-of-contents__link toc-highlight">Editor render</a></li><li><a href="#php-view" class="table-of-contents__link toc-highlight">PHP view</a></li><li><a href="#styling" class="table-of-contents__link toc-highlight">Styling</a></li></ul></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$block-card</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">heading</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">mobile</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">font-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">24</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">line-height</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">1.33</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">paragraph</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">mobile</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">font-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">18</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">line-height</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">1.5</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token selector" style="color:rgb(255, 121, 198)">.block-card </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$this</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> &</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector parent important" style="color:rgb(255, 121, 198)">&</span><span class="token selector" style="color:rgb(255, 121, 198)">__media </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">margin-bottom</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">25</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector parent important" style="color:rgb(255, 121, 198)">&</span><span class="token selector" style="color:rgb(255, 121, 198)">__img </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">margin</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">0</span><span class="token plain"> auto</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector parent important" style="color:rgb(255, 121, 198)">&</span><span class="token selector" style="color:rgb(255, 121, 198)">__content </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">text-align</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> center</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector parent important" style="color:rgb(255, 121, 198)">&</span><span class="token selector" style="color:rgb(255, 121, 198)">__heading </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@include</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">responsive</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$block-card</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> heading</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">font-weight</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> bold</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector parent important" style="color:rgb(255, 121, 198)">&</span><span class="token selector" style="color:rgb(255, 121, 198)">__paragraph </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@include</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">responsive</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$block-card</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> paragraph</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">margin-top</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">15</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/legacy/v4/guides/blocks-structure-manifest"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Manifest Structure</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/legacy/v4/guides/blocks-render-block-view-helper"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Render Block View Helper</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#folder-structure" class="table-of-contents__link toc-highlight">Folder structure</a></li><li><a href="#manifest" class="table-of-contents__link toc-highlight">Manifest</a></li><li><a href="#components" class="table-of-contents__link toc-highlight">Components</a></li><li><a href="#editor-render" class="table-of-contents__link toc-highlight">Editor render</a></li><li><a href="#php-view" class="table-of-contents__link toc-highlight">PHP view</a></li><li><a href="#styling" class="table-of-contents__link toc-highlight">Styling</a></li></ul></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> </body> </html> \ No newline at end of file diff --git a/docs/legacy/v4/guides/blocks-filter-block-attributes-override/index.html b/docs/legacy/v4/guides/blocks-filter-block-attributes-override/index.html index 6e48e1a75..4ccb5ab55 100644 --- a/docs/legacy/v4/guides/blocks-filter-block-attributes-override/index.html +++ b/docs/legacy/v4/guides/blocks-filter-block-attributes-override/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Guides</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/di-container">Dependency injection container</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/config">Project Config</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/manifest">Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/enqueue">Enqueue</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/post-type">Post Type</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/taxonomy">Taxonomy</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/guides/blocks-registration">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-structure">Blocks Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-structure-block-item">Block Structure Item</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-structure-component">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-structure-manifest">Manifest Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-block-from-components">Creating Block from Components</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-render-block-view-helper">Render Block View Helper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-get-actions-helper">GetActions Helper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v4/guides/blocks-filter-block-attributes-override">Filter Attributes Override</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/i18n">i18n</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/media">Media</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/menu">Menu</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/rest-intro">Rest API</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/columns-post-type">Listing Columns</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/login">Login</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/fonts-custom">Fonts</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/advanced/docs-sass">Advanced</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v4</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Guides</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Filter Attributes Override</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Filter Attributes Override</h1></header><p><a href="https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/blocks/class-blocks.php" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v4/guides/blocks-get-actions-helper/index.html b/docs/legacy/v4/guides/blocks-get-actions-helper/index.html index 7f8d89e12..32fc27121 100644 --- a/docs/legacy/v4/guides/blocks-get-actions-helper/index.html +++ b/docs/legacy/v4/guides/blocks-get-actions-helper/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Guides</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/di-container">Dependency injection container</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/config">Project Config</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/manifest">Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/enqueue">Enqueue</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/post-type">Post Type</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/taxonomy">Taxonomy</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/guides/blocks-registration">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-structure">Blocks Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-structure-block-item">Block Structure Item</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-structure-component">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-structure-manifest">Manifest Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-block-from-components">Creating Block from Components</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-render-block-view-helper">Render Block View Helper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v4/guides/blocks-get-actions-helper">GetActions Helper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-filter-block-attributes-override">Filter Attributes Override</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/i18n">i18n</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/media">Media</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/menu">Menu</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/rest-intro">Rest API</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/columns-post-type">Listing Columns</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/login">Login</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/fonts-custom">Fonts</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/advanced/docs-sass">Advanced</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v4</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Guides</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">GetActions Helper</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>GetActions Helper</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/v2.0.0/scripts/get-actions.js" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v4/guides/blocks-registration/index.html b/docs/legacy/v4/guides/blocks-registration/index.html index a2114518e..caeaeb832 100644 --- a/docs/legacy/v4/guides/blocks-registration/index.html +++ b/docs/legacy/v4/guides/blocks-registration/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Guides</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/di-container">Dependency injection container</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/config">Project Config</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/manifest">Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/enqueue">Enqueue</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/post-type">Post Type</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/taxonomy">Taxonomy</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/guides/blocks-registration">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v4/guides/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-structure">Blocks Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-structure-block-item">Block Structure Item</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-structure-component">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-structure-manifest">Manifest Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-block-from-components">Creating Block from Components</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-render-block-view-helper">Render Block View Helper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-get-actions-helper">GetActions Helper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-filter-block-attributes-override">Filter Attributes Override</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/i18n">i18n</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/media">Media</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/menu">Menu</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/rest-intro">Rest API</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/columns-post-type">Listing Columns</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/login">Login</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/fonts-custom">Fonts</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/advanced/docs-sass">Advanced</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v4</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Guides</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Registration</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Registration</h1></header><p>Block registration works using magic and being able to use them a specific folder structure and naming must be followed. diff --git a/docs/legacy/v4/guides/blocks-render-block-view-helper/index.html b/docs/legacy/v4/guides/blocks-render-block-view-helper/index.html index 46c434beb..bb1b6c611 100644 --- a/docs/legacy/v4/guides/blocks-render-block-view-helper/index.html +++ b/docs/legacy/v4/guides/blocks-render-block-view-helper/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Guides</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/di-container">Dependency injection container</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/config">Project Config</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/manifest">Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/enqueue">Enqueue</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/post-type">Post Type</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/taxonomy">Taxonomy</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/guides/blocks-registration">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-structure">Blocks Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-structure-block-item">Block Structure Item</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-structure-component">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-structure-manifest">Manifest Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-block-from-components">Creating Block from Components</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v4/guides/blocks-render-block-view-helper">Render Block View Helper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-get-actions-helper">GetActions Helper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-filter-block-attributes-override">Filter Attributes Override</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/i18n">i18n</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/media">Media</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/menu">Menu</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/rest-intro">Rest API</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/columns-post-type">Listing Columns</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/login">Login</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/fonts-custom">Fonts</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/advanced/docs-sass">Advanced</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v4</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Guides</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Render Block View Helper</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Render Block View Helper</h1></header><p><a href="https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/blocks/class-blocks.php" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v4/guides/blocks-structure-block-item/index.html b/docs/legacy/v4/guides/blocks-structure-block-item/index.html index 508eb0b93..8d9289ccf 100644 --- a/docs/legacy/v4/guides/blocks-structure-block-item/index.html +++ b/docs/legacy/v4/guides/blocks-structure-block-item/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Guides</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/di-container">Dependency injection container</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/config">Project Config</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/manifest">Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/enqueue">Enqueue</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/post-type">Post Type</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/taxonomy">Taxonomy</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/guides/blocks-registration">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-structure">Blocks Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v4/guides/blocks-structure-block-item">Block Structure Item</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-structure-component">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-structure-manifest">Manifest Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-block-from-components">Creating Block from Components</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-render-block-view-helper">Render Block View Helper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-get-actions-helper">GetActions Helper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-filter-block-attributes-override">Filter Attributes Override</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/i18n">i18n</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/media">Media</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/menu">Menu</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/rest-intro">Rest API</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/columns-post-type">Listing Columns</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/login">Login</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/fonts-custom">Fonts</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/advanced/docs-sass">Advanced</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v4</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Guides</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Block Structure Item</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Block Structure Item</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/v2.0.0/blocks/init/src/blocks/custom/example" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v4/guides/blocks-structure-component/index.html b/docs/legacy/v4/guides/blocks-structure-component/index.html index 036d65d19..2580d5171 100644 --- a/docs/legacy/v4/guides/blocks-structure-component/index.html +++ b/docs/legacy/v4/guides/blocks-structure-component/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Guides</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/di-container">Dependency injection container</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/config">Project Config</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/manifest">Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/enqueue">Enqueue</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/post-type">Post Type</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/taxonomy">Taxonomy</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/guides/blocks-registration">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-structure">Blocks Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-structure-block-item">Block Structure Item</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v4/guides/blocks-structure-component">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-structure-manifest">Manifest Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-block-from-components">Creating Block from Components</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-render-block-view-helper">Render Block View Helper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-get-actions-helper">GetActions Helper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-filter-block-attributes-override">Filter Attributes Override</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/i18n">i18n</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/media">Media</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/menu">Menu</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/rest-intro">Rest API</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/columns-post-type">Listing Columns</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/login">Login</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/fonts-custom">Fonts</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/advanced/docs-sass">Advanced</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v4</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Guides</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Component Structure</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Component Structure</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/v2.0.0/blocks/init/src/blocks/components/button" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v4/guides/blocks-structure-manifest/index.html b/docs/legacy/v4/guides/blocks-structure-manifest/index.html index c1e996e71..287039183 100644 --- a/docs/legacy/v4/guides/blocks-structure-manifest/index.html +++ b/docs/legacy/v4/guides/blocks-structure-manifest/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Guides</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/di-container">Dependency injection container</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/config">Project Config</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/manifest">Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/enqueue">Enqueue</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/post-type">Post Type</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/taxonomy">Taxonomy</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/guides/blocks-registration">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-structure">Blocks Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-structure-block-item">Block Structure Item</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-structure-component">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v4/guides/blocks-structure-manifest">Manifest Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-block-from-components">Creating Block from Components</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-render-block-view-helper">Render Block View Helper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-get-actions-helper">GetActions Helper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-filter-block-attributes-override">Filter Attributes Override</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/i18n">i18n</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/media">Media</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/menu">Menu</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/rest-intro">Rest API</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/columns-post-type">Listing Columns</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/login">Login</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/fonts-custom">Fonts</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/advanced/docs-sass">Advanced</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v4</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Guides</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Manifest Structure</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Manifest Structure</h1></header><p>This file contains all the configuration required for a block to work. It's used in WordPress <a href="https://developer.wordpress.org/block-editor/developers/block-api/block-registration/" target="_blank" rel="noopener noreferrer"><code>registerBlockType</code></a> method to register a block. Using <code>manifest.json</code> we can provide a configuration in JavaScript and PHP part of the block in one file.</p> diff --git a/docs/legacy/v4/guides/blocks-structure/index.html b/docs/legacy/v4/guides/blocks-structure/index.html index 18bfe50e5..8b712427c 100644 --- a/docs/legacy/v4/guides/blocks-structure/index.html +++ b/docs/legacy/v4/guides/blocks-structure/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Guides</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/di-container">Dependency injection container</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/config">Project Config</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/manifest">Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/enqueue">Enqueue</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/post-type">Post Type</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/taxonomy">Taxonomy</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/guides/blocks-registration">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v4/guides/blocks-structure">Blocks Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-structure-block-item">Block Structure Item</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-structure-component">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-structure-manifest">Manifest Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-block-from-components">Creating Block from Components</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-render-block-view-helper">Render Block View Helper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-get-actions-helper">GetActions Helper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/blocks-filter-block-attributes-override">Filter Attributes Override</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/i18n">i18n</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/media">Media</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/menu">Menu</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/rest-intro">Rest API</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/columns-post-type">Listing Columns</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/login">Login</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/fonts-custom">Fonts</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/advanced/docs-sass">Advanced</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v4</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Guides</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Blocks Structure</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Blocks Structure</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/v2.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v4/guides/columns-post-type/index.html b/docs/legacy/v4/guides/columns-post-type/index.html index a959ab51c..dfe3779fd 100644 --- a/docs/legacy/v4/guides/columns-post-type/index.html +++ b/docs/legacy/v4/guides/columns-post-type/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Guides</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/di-container">Dependency injection container</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/config">Project Config</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/manifest">Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/enqueue">Enqueue</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/post-type">Post Type</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/taxonomy">Taxonomy</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/blocks-registration">Blocks</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/i18n">i18n</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/media">Media</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/menu">Menu</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/rest-intro">Rest API</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/guides/columns-post-type">Listing Columns</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v4/guides/columns-post-type">Post Type</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/columns-taxonomy">Taxonomy</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/columns-user">User</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/login">Login</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/fonts-custom">Fonts</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/advanced/docs-sass">Advanced</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v4</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Guides</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Listing Columns</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Post Type</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Post Type</h1></header><p><a href="https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/columns/class-base-post-type-columns.php" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v4/guides/columns-taxonomy/index.html b/docs/legacy/v4/guides/columns-taxonomy/index.html index d64df5b61..5a0d784ea 100644 --- a/docs/legacy/v4/guides/columns-taxonomy/index.html +++ b/docs/legacy/v4/guides/columns-taxonomy/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Guides</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/di-container">Dependency injection container</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/config">Project Config</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/manifest">Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/enqueue">Enqueue</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/post-type">Post Type</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/taxonomy">Taxonomy</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/blocks-registration">Blocks</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/i18n">i18n</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/media">Media</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/menu">Menu</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/rest-intro">Rest API</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/guides/columns-post-type">Listing Columns</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/columns-post-type">Post Type</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v4/guides/columns-taxonomy">Taxonomy</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/columns-user">User</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/login">Login</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/fonts-custom">Fonts</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/advanced/docs-sass">Advanced</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v4</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Guides</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Listing Columns</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Taxonomy</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Taxonomy</h1></header><p><a href="https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/columns/class-base-taxonomy-columns.php" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v4/guides/columns-user/index.html b/docs/legacy/v4/guides/columns-user/index.html index 0362551bd..0f66743d1 100644 --- a/docs/legacy/v4/guides/columns-user/index.html +++ b/docs/legacy/v4/guides/columns-user/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Guides</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/di-container">Dependency injection container</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/config">Project Config</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/manifest">Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/enqueue">Enqueue</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/post-type">Post Type</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/taxonomy">Taxonomy</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/blocks-registration">Blocks</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/i18n">i18n</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/media">Media</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/menu">Menu</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/rest-intro">Rest API</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/guides/columns-post-type">Listing Columns</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/columns-post-type">Post Type</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/columns-taxonomy">Taxonomy</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v4/guides/columns-user">User</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/login">Login</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/fonts-custom">Fonts</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/advanced/docs-sass">Advanced</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v4</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Guides</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Listing Columns</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">User</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>User</h1></header><p><a href="https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/columns/class-base-user-columns.php" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v4/guides/config/index.html b/docs/legacy/v4/guides/config/index.html index 102fe6b70..7e54ab321 100644 --- a/docs/legacy/v4/guides/config/index.html +++ b/docs/legacy/v4/guides/config/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Guides</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/di-container">Dependency injection container</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v4/guides/config">Project Config</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/manifest">Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/enqueue">Enqueue</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/post-type">Post Type</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/taxonomy">Taxonomy</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/blocks-registration">Blocks</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/i18n">i18n</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/media">Media</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/menu">Menu</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/rest-intro">Rest API</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/columns-post-type">Listing Columns</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/login">Login</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/fonts-custom">Fonts</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/advanced/docs-sass">Advanced</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v4</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Guides</span><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Project Config</span><meta itemprop="position" content="4"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Project Config</h1></header><p><a href="https://github.com/infinum/eightshift-boilerplate/tree/v4.0.0/src/class-config.php" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--boilerplate-red?style=for-the-badge&logo=wordpress&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v4/guides/di-container/index.html b/docs/legacy/v4/guides/di-container/index.html index edc32b0a2..cd9980d86 100644 --- a/docs/legacy/v4/guides/di-container/index.html +++ b/docs/legacy/v4/guides/di-container/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Guides</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v4/guides/di-container">Dependency injection container</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/config">Project Config</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/manifest">Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/enqueue">Enqueue</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/post-type">Post Type</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/taxonomy">Taxonomy</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/blocks-registration">Blocks</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/i18n">i18n</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/media">Media</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/menu">Menu</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/rest-intro">Rest API</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/columns-post-type">Listing Columns</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/login">Login</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/fonts-custom">Fonts</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/advanced/docs-sass">Advanced</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v4</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Guides</span><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Dependency injection container</span><meta itemprop="position" content="4"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Dependency injection container</h1></header><p><a href="https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/class-main.php" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v4/guides/enqueue/index.html b/docs/legacy/v4/guides/enqueue/index.html index 254f485f0..14573b82a 100644 --- a/docs/legacy/v4/guides/enqueue/index.html +++ b/docs/legacy/v4/guides/enqueue/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Guides</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/di-container">Dependency injection container</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/config">Project Config</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/manifest">Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v4/guides/enqueue">Enqueue</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/post-type">Post Type</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/taxonomy">Taxonomy</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/blocks-registration">Blocks</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/i18n">i18n</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/media">Media</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/menu">Menu</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/rest-intro">Rest API</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/columns-post-type">Listing Columns</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/login">Login</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/fonts-custom">Fonts</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/advanced/docs-sass">Advanced</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v4</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Guides</span><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Enqueue</span><meta itemprop="position" content="4"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Enqueue</h1></header><p><a href="https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/enqueue" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v4/guides/extending-classes/index.html b/docs/legacy/v4/guides/extending-classes/index.html index 121d77859..bcdf15ad9 100644 --- a/docs/legacy/v4/guides/extending-classes/index.html +++ b/docs/legacy/v4/guides/extending-classes/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Guides</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/di-container">Dependency injection container</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/config">Project Config</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/manifest">Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/enqueue">Enqueue</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/post-type">Post Type</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/taxonomy">Taxonomy</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/blocks-registration">Blocks</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/i18n">i18n</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/media">Media</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/menu">Menu</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/rest-intro">Rest API</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/columns-post-type">Listing Columns</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/login">Login</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/fonts-custom">Fonts</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/advanced/docs-sass">Advanced</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v4</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Guides</span><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Extending Classes</span><meta itemprop="position" content="4"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Extending Classes</h1></header><p><a href="https://github.com/infinum/eightshift-libs/tree/v2.0.0" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v4/guides/fonts-custom/index.html b/docs/legacy/v4/guides/fonts-custom/index.html index 7a9ffc5b8..5e308d9fc 100644 --- a/docs/legacy/v4/guides/fonts-custom/index.html +++ b/docs/legacy/v4/guides/fonts-custom/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Guides</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/di-container">Dependency injection container</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/config">Project Config</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/manifest">Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/enqueue">Enqueue</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/post-type">Post Type</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/taxonomy">Taxonomy</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/blocks-registration">Blocks</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/i18n">i18n</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/media">Media</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/menu">Menu</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/rest-intro">Rest API</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/columns-post-type">Listing Columns</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/login">Login</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/guides/fonts-custom">Fonts</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v4/guides/fonts-custom">Custom fonts</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/fonts-icon">Icon font</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/advanced/docs-sass">Advanced</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v4</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Guides</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Fonts</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Custom fonts</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Custom fonts</h1></header><p>To add a custom font and generate <code>@font-face</code> rules in built CSS file we recommend using PostCSS plugin: <a href="https://github.com/jonathantneal/postcss-font-magician" target="_blank" rel="noopener noreferrer">Font Magician</a>. Before configuring Font Magician, font files need to be included in the build process.</p> @@ -36,6 +36,6 @@ <h2 class="anchor anchorWithStickyNavbar_LWe7" id="font-magician-configuration"> <p>Restart the build process to generate <code>@font-face</code> rules.</p> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="using-the-custom-font">Using the custom font<a href="#using-the-custom-font" class="hash-link" aria-label="Direct link to Using the custom font" title="Direct link to Using the custom font">​</a></h2> <p>To use the custom font in a theme, simply declare a new <code>font-family</code> rule and assign it to the <strong>font name</strong> from the Font Magician configuration. A better approach would be to save the specific <code>font-family</code> values to variables that can be reused:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">// Variable declared in a global variables .scss file.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">$base-font-family: `FontName`, sans-serif,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">// Using the variable in .scss partial</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">body {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> font-family: $base-font-family;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ...</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/legacy/v4/guides/login"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Login</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/legacy/v4/guides/fonts-icon"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Icon font</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#font-files-setup" class="table-of-contents__link toc-highlight">Font files setup</a></li><li><a href="#font-magician-configuration" class="table-of-contents__link toc-highlight">Font Magician configuration</a></li><li><a href="#using-the-custom-font" class="table-of-contents__link toc-highlight">Using the custom font</a></li></ul></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)">// Variable declared in a global variables .scss file.</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$base-font-family</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> `FontName`</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> sans-serif</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)">// Using the variable in .scss partial</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token selector" style="color:rgb(255, 121, 198)">body </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">font-family</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$base-font-family</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ...</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/legacy/v4/guides/login"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Login</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/legacy/v4/guides/fonts-icon"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Icon font</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#font-files-setup" class="table-of-contents__link toc-highlight">Font files setup</a></li><li><a href="#font-magician-configuration" class="table-of-contents__link toc-highlight">Font Magician configuration</a></li><li><a href="#using-the-custom-font" class="table-of-contents__link toc-highlight">Using the custom font</a></li></ul></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> </body> </html> \ No newline at end of file diff --git a/docs/legacy/v4/guides/fonts-icon/index.html b/docs/legacy/v4/guides/fonts-icon/index.html index df39b5d13..48ad6dc49 100644 --- a/docs/legacy/v4/guides/fonts-icon/index.html +++ b/docs/legacy/v4/guides/fonts-icon/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Guides</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/di-container">Dependency injection container</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/config">Project Config</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/manifest">Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/enqueue">Enqueue</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/post-type">Post Type</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/taxonomy">Taxonomy</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/blocks-registration">Blocks</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/i18n">i18n</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/media">Media</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/menu">Menu</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/rest-intro">Rest API</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/columns-post-type">Listing Columns</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/login">Login</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/guides/fonts-custom">Fonts</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/fonts-custom">Custom fonts</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v4/guides/fonts-icon">Icon font</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/advanced/docs-sass">Advanced</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v4</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Guides</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Fonts</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Icon font</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Icon font</h1></header><p>Icons can be added as icon font and will be added in a similar way that the <a href="/docs/legacy/v4/guides/fonts-custom">custom fonts</a> are added. The process of file preparation is a bit different.</p> @@ -39,6 +39,6 @@ <h2 class="anchor anchorWithStickyNavbar_LWe7" id="font-magician-configuration-f <p>Restart the build process to generate new <code>@font-face</code> rules.</p> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="using-the-icon-font">Using the icon font<a href="#using-the-icon-font" class="hash-link" aria-label="Direct link to Using the icon font" title="Direct link to Using the icon font">​</a></h2> <p>Once Font Magician configuration is done new <code>font-family</code> definition will need to be added.</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">// Variable declared in a global variables .scss file.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">$base-icon-family: `IconFontName`,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">// Using the variable in .scss partial</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">.icon {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> font-family: $base-font-family;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ...</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/legacy/v4/guides/fonts-custom"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Custom fonts</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/legacy/v4/advanced/docs-sass"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Sass</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#icon-font-files-setup" class="table-of-contents__link toc-highlight">Icon font files setup</a></li><li><a href="#font-magician-configuration-for-icon-font" class="table-of-contents__link toc-highlight">Font Magician configuration for icon font</a></li><li><a href="#using-the-icon-font" class="table-of-contents__link toc-highlight">Using the icon font</a></li></ul></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)">// Variable declared in a global variables .scss file.</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$base-icon-family</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> `IconFontName`</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)">// Using the variable in .scss partial</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token selector" style="color:rgb(255, 121, 198)">.icon </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">font-family</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$base-font-family</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ...</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/legacy/v4/guides/fonts-custom"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Custom fonts</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/legacy/v4/advanced/docs-sass"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Sass</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#icon-font-files-setup" class="table-of-contents__link toc-highlight">Icon font files setup</a></li><li><a href="#font-magician-configuration-for-icon-font" class="table-of-contents__link toc-highlight">Font Magician configuration for icon font</a></li><li><a href="#using-the-icon-font" class="table-of-contents__link toc-highlight">Using the icon font</a></li></ul></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> </body> </html> \ No newline at end of file diff --git a/docs/legacy/v4/guides/i18n/index.html b/docs/legacy/v4/guides/i18n/index.html index 0c1acb130..6db9663aa 100644 --- a/docs/legacy/v4/guides/i18n/index.html +++ b/docs/legacy/v4/guides/i18n/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Guides</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/di-container">Dependency injection container</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/config">Project Config</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/manifest">Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/enqueue">Enqueue</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/post-type">Post Type</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/taxonomy">Taxonomy</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/blocks-registration">Blocks</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v4/guides/i18n">i18n</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/media">Media</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/menu">Menu</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/rest-intro">Rest API</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/columns-post-type">Listing Columns</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/login">Login</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/fonts-custom">Fonts</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/advanced/docs-sass">Advanced</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v4</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Guides</span><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">i18n</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>i18n</h1></header><p><a href="https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/i18n" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v4/guides/login/index.html b/docs/legacy/v4/guides/login/index.html index 7c970add1..1b1bed820 100644 --- a/docs/legacy/v4/guides/login/index.html +++ b/docs/legacy/v4/guides/login/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Guides</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/di-container">Dependency injection container</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/config">Project Config</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/manifest">Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/enqueue">Enqueue</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/post-type">Post Type</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/taxonomy">Taxonomy</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/blocks-registration">Blocks</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/i18n">i18n</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/media">Media</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/menu">Menu</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/rest-intro">Rest API</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/columns-post-type">Listing Columns</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v4/guides/login">Login</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/fonts-custom">Fonts</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/advanced/docs-sass">Advanced</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v4</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Guides</span><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Login</span><meta itemprop="position" content="4"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Login</h1></header><p><a href="https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/login/class-login.php" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> @@ -25,6 +25,6 @@ <h2 class="anchor anchorWithStickyNavbar_LWe7" id="additional-options">Additional options<a href="#additional-options" class="hash-link" aria-label="Direct link to Additional options" title="Direct link to Additional options">​</a></h2> <p>This class goes great hand in hand with <code>assets/styles/application-admin.scss</code> file. This is the main style entry point for project style used for the <code>WordPress admin screen</code>.</p> <p>For example, you can provide custom login logo image for some custom project styling:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">/* Full path due to wp-login.php is not in the theme folder */</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">.login h1 a { /* stylelint-disable-line selector-no-type */</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> background-image: url('/wp-content/themes/eightshift-boilerplate/public/logo.svg');</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> background-repeat: no-repeat;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> background-position: top center;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> background-size: 49%;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> width: 100%;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> height: 70px;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> margin: 0 auto 15px;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/legacy/v4/guides/columns-user"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">User</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/legacy/v4/guides/fonts-custom"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Custom fonts</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#additional-options" class="table-of-contents__link toc-highlight">Additional options</a></li></ul></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)">/* Full path due to wp-login.php is not in the theme folder */</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token selector" style="color:rgb(255, 121, 198)">.login h1 a </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"> </span><span class="token comment" style="color:rgb(98, 114, 164)">/* stylelint-disable-line selector-no-type */</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">background-image</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token url">url</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string" style="color:rgb(255, 121, 198)">'/wp-content/themes/eightshift-boilerplate/public/logo.svg'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">background-repeat</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> no-repeat</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">background-position</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> top center</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">background-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">49</span><span class="token unit">%</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">width</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">100</span><span class="token unit">%</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">height</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">70</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">margin</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">0</span><span class="token plain"> auto </span><span class="token number">15</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/legacy/v4/guides/columns-user"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">User</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/legacy/v4/guides/fonts-custom"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Custom fonts</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#additional-options" class="table-of-contents__link toc-highlight">Additional options</a></li></ul></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> </body> </html> \ No newline at end of file diff --git a/docs/legacy/v4/guides/manifest/index.html b/docs/legacy/v4/guides/manifest/index.html index cb6aa250e..cba83b9db 100644 --- a/docs/legacy/v4/guides/manifest/index.html +++ b/docs/legacy/v4/guides/manifest/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Guides</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/di-container">Dependency injection container</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/config">Project Config</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v4/guides/manifest">Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/enqueue">Enqueue</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/post-type">Post Type</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/taxonomy">Taxonomy</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/blocks-registration">Blocks</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/i18n">i18n</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/media">Media</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/menu">Menu</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/rest-intro">Rest API</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/columns-post-type">Listing Columns</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/login">Login</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/fonts-custom">Fonts</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/advanced/docs-sass">Advanced</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v4</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Guides</span><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Manifest</span><meta itemprop="position" content="4"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Manifest</h1></header><p><a href="https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/manifest" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v4/guides/media/index.html b/docs/legacy/v4/guides/media/index.html index 3aae776fb..5f2529092 100644 --- a/docs/legacy/v4/guides/media/index.html +++ b/docs/legacy/v4/guides/media/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Guides</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/di-container">Dependency injection container</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/config">Project Config</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/manifest">Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/enqueue">Enqueue</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/post-type">Post Type</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/taxonomy">Taxonomy</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/blocks-registration">Blocks</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/i18n">i18n</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v4/guides/media">Media</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/menu">Menu</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/rest-intro">Rest API</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/columns-post-type">Listing Columns</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/login">Login</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/fonts-custom">Fonts</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/advanced/docs-sass">Advanced</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v4</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Guides</span><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Media</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Media</h1></header><p><a href="https://github.com/infinum/eightshift-boilerplate/tree/v4.0.0/src/media/class-media.php" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--boilerplate-red?style=for-the-badge&logo=wordpress&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v4/guides/menu/index.html b/docs/legacy/v4/guides/menu/index.html index 9ea15094b..8005e7bec 100644 --- a/docs/legacy/v4/guides/menu/index.html +++ b/docs/legacy/v4/guides/menu/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Guides</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/di-container">Dependency injection container</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/config">Project Config</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/manifest">Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/enqueue">Enqueue</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/post-type">Post Type</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/taxonomy">Taxonomy</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/blocks-registration">Blocks</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/i18n">i18n</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/media">Media</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v4/guides/menu">Menu</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/rest-intro">Rest API</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/columns-post-type">Listing Columns</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/login">Login</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/fonts-custom">Fonts</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/advanced/docs-sass">Advanced</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v4</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Guides</span><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Menu</span><meta itemprop="position" content="4"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Menu</h1></header><p><a href="https://github.com/infinum/eightshift-boilerplate/tree/v4.0.0/src/menu/class-menu.php" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--boilerplate-red?style=for-the-badge&logo=wordpress&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v4/guides/post-type/index.html b/docs/legacy/v4/guides/post-type/index.html index 367e16dd1..e284cca44 100644 --- a/docs/legacy/v4/guides/post-type/index.html +++ b/docs/legacy/v4/guides/post-type/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Guides</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/di-container">Dependency injection container</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/config">Project Config</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/manifest">Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/enqueue">Enqueue</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v4/guides/post-type">Post Type</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/taxonomy">Taxonomy</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/blocks-registration">Blocks</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/i18n">i18n</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/media">Media</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/menu">Menu</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/rest-intro">Rest API</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/columns-post-type">Listing Columns</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/login">Login</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/fonts-custom">Fonts</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/advanced/docs-sass">Advanced</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v4</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Guides</span><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Post Type</span><meta itemprop="position" content="4"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Post Type</h1></header><p><a href="https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/custom-post-type/class-base-post-type.php" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v4/guides/rest-field-example/index.html b/docs/legacy/v4/guides/rest-field-example/index.html index 78ad647e4..dea0cf15f 100644 --- a/docs/legacy/v4/guides/rest-field-example/index.html +++ b/docs/legacy/v4/guides/rest-field-example/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Guides</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/di-container">Dependency injection container</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/config">Project Config</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/manifest">Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/enqueue">Enqueue</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/post-type">Post Type</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/taxonomy">Taxonomy</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/blocks-registration">Blocks</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/i18n">i18n</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/media">Media</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/menu">Menu</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/guides/rest-intro">Rest API</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/rest-intro">Rest Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v4/guides/rest-field-example">Field Example</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/rest-route-example">Route Example</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/columns-post-type">Listing Columns</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/login">Login</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/fonts-custom">Fonts</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/advanced/docs-sass">Advanced</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v4</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Guides</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Rest API</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Field Example</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Field Example</h1></header><p><a href="https://github.com/infinum/eightshift-libs/tree/master/src/rest" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v4/guides/rest-intro/index.html b/docs/legacy/v4/guides/rest-intro/index.html index 4534ef317..43dfa4eab 100644 --- a/docs/legacy/v4/guides/rest-intro/index.html +++ b/docs/legacy/v4/guides/rest-intro/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Guides</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/di-container">Dependency injection container</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/config">Project Config</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/manifest">Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/enqueue">Enqueue</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/post-type">Post Type</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/taxonomy">Taxonomy</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/blocks-registration">Blocks</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/i18n">i18n</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/media">Media</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/menu">Menu</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/guides/rest-intro">Rest API</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v4/guides/rest-intro">Rest Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/rest-field-example">Field Example</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/rest-route-example">Route Example</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/columns-post-type">Listing Columns</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/login">Login</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/fonts-custom">Fonts</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/advanced/docs-sass">Advanced</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v4</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Guides</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Rest API</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Rest Intro</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Rest Intro</h1></header><p><a href="https://github.com/infinum/eightshift-libs/tree/master/src/rest" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v4/guides/rest-route-example/index.html b/docs/legacy/v4/guides/rest-route-example/index.html index 9f0d28cb6..d10f28fa8 100644 --- a/docs/legacy/v4/guides/rest-route-example/index.html +++ b/docs/legacy/v4/guides/rest-route-example/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Guides</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/di-container">Dependency injection container</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/config">Project Config</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/manifest">Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/enqueue">Enqueue</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/post-type">Post Type</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/taxonomy">Taxonomy</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/blocks-registration">Blocks</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/i18n">i18n</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/media">Media</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/menu">Menu</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/guides/rest-intro">Rest API</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/rest-intro">Rest Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/rest-field-example">Field Example</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v4/guides/rest-route-example">Route Example</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/columns-post-type">Listing Columns</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/login">Login</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/fonts-custom">Fonts</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/advanced/docs-sass">Advanced</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v4</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Guides</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Rest API</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Route Example</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Route Example</h1></header><p><a href="https://github.com/infinum/eightshift-libs/tree/master/src/rest" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v4/guides/taxonomy/index.html b/docs/legacy/v4/guides/taxonomy/index.html index 7cfc563d4..07ab15ed9 100644 --- a/docs/legacy/v4/guides/taxonomy/index.html +++ b/docs/legacy/v4/guides/taxonomy/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Guides</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/di-container">Dependency injection container</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/config">Project Config</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/manifest">Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/enqueue">Enqueue</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/post-type">Post Type</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v4/guides/taxonomy">Taxonomy</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/blocks-registration">Blocks</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/i18n">i18n</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/media">Media</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/menu">Menu</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/rest-intro">Rest API</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/columns-post-type">Listing Columns</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v4/guides/login">Login</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/fonts-custom">Fonts</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/advanced/docs-sass">Advanced</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v4</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Guides</span><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Taxonomy</span><meta itemprop="position" content="4"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Taxonomy</h1></header><p><a href="https://github.com/infinum/eightshift-libs/tree/v2.0.0/src/custom-taxonomy" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v4/versions/index.html b/docs/legacy/v4/versions/index.html index a10c44097..53364b965 100644 --- a/docs/legacy/v4/versions/index.html +++ b/docs/legacy/v4/versions/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v4/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/guides/extending-classes">Guides</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/advanced/docs-sass">Advanced</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v4</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Versions</span><meta itemprop="position" content="3"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Versions</h1></header><p>Now that you understand what makes Eightshift tick, here is a quick reminder about what library versions this documentation refers to.</p> diff --git a/docs/legacy/v5/basics/autowiring/index.html b/docs/legacy/v5/basics/autowiring/index.html index 958ef4e9a..4f5fcc313 100644 --- a/docs/legacy/v5/basics/autowiring/index.html +++ b/docs/legacy/v5/basics/autowiring/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/backend">Backend Stuff</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/backend">Backend</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/namespaces">Namespaces</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v5/basics/autowiring">Autowiring</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/example-class">Example Class</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/the-structure">The Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/manifest">Manifest</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/rest">Rest</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/frontend">Frontend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/helpers">Helpers</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v5</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Backend Stuff</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Autowiring</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Autowiring</h1></header><p><a href="https://github.com/infinum/eightshift-libs/tree/3.0.0/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v5/basics/backend/index.html b/docs/legacy/v5/basics/backend/index.html index d84c7500b..bb78aeb8f 100644 --- a/docs/legacy/v5/basics/backend/index.html +++ b/docs/legacy/v5/basics/backend/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/backend">Backend Stuff</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v5/basics/backend">Backend</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/namespaces">Namespaces</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/autowiring">Autowiring</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/example-class">Example Class</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/the-structure">The Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/manifest">Manifest</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/rest">Rest</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/frontend">Frontend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/helpers">Helpers</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v5</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Backend Stuff</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Backend</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Backend</h1></header><p><a href="https://github.com/infinum/eightshift-libs/tree/3.0.0/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v5/basics/basics-intro/index.html b/docs/legacy/v5/basics/basics-intro/index.html index c85186cd9..fd24cce61 100644 --- a/docs/legacy/v5/basics/basics-intro/index.html +++ b/docs/legacy/v5/basics/basics-intro/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/backend">Backend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/frontend">Frontend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/helpers">Helpers</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v5</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Basics</span><meta itemprop="position" content="4"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Basics</h1></header><p>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.</p> diff --git a/docs/legacy/v5/basics/block-manifest/index.html b/docs/legacy/v5/basics/block-manifest/index.html index 842ed0fce..0004c4fa3 100644 --- a/docs/legacy/v5/basics/block-manifest/index.html +++ b/docs/legacy/v5/basics/block-manifest/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/backend">Backend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/frontend">Frontend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-intro">Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v5/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/helpers">Helpers</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v5</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Block Manifest</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Block Manifest</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v5/basics/block-structure/index.html b/docs/legacy/v5/basics/block-structure/index.html index aeb272df2..52fca461c 100644 --- a/docs/legacy/v5/basics/block-structure/index.html +++ b/docs/legacy/v5/basics/block-structure/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/backend">Backend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/frontend">Frontend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-intro">Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v5/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/helpers">Helpers</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v5</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Block Structure</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Block Structure</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v5/basics/blocks-attributes/index.html b/docs/legacy/v5/basics/blocks-attributes/index.html index e5771b56d..272367510 100644 --- a/docs/legacy/v5/basics/blocks-attributes/index.html +++ b/docs/legacy/v5/basics/blocks-attributes/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/backend">Backend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/frontend">Frontend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-intro">Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v5/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/helpers">Helpers</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v5</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Attributes</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Attributes</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v5/basics/blocks-component-in-block/index.html b/docs/legacy/v5/basics/blocks-component-in-block/index.html index 0e5417f4d..34855fa55 100644 --- a/docs/legacy/v5/basics/blocks-component-in-block/index.html +++ b/docs/legacy/v5/basics/blocks-component-in-block/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/backend">Backend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/frontend">Frontend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-intro">Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/helpers">Helpers</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v5</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Component in a Block</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Component in a Block</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v5/basics/blocks-component-manifest/index.html b/docs/legacy/v5/basics/blocks-component-manifest/index.html index 626ba2a93..793763c13 100644 --- a/docs/legacy/v5/basics/blocks-component-manifest/index.html +++ b/docs/legacy/v5/basics/blocks-component-manifest/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/backend">Backend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/frontend">Frontend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-intro">Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/helpers">Helpers</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v5</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Component Manifest</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Component Manifest</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v5/basics/blocks-component-structure/index.html b/docs/legacy/v5/basics/blocks-component-structure/index.html index c0f568ef6..e6a888ac6 100644 --- a/docs/legacy/v5/basics/blocks-component-structure/index.html +++ b/docs/legacy/v5/basics/blocks-component-structure/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/backend">Backend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/frontend">Frontend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-intro">Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/helpers">Helpers</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v5</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Component Structure</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Component Structure</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v5/basics/blocks-global-manifest/index.html b/docs/legacy/v5/basics/blocks-global-manifest/index.html index c1c2f3254..7ad111004 100644 --- a/docs/legacy/v5/basics/blocks-global-manifest/index.html +++ b/docs/legacy/v5/basics/blocks-global-manifest/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/backend">Backend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/frontend">Frontend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-intro">Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v5/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/helpers">Helpers</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v5</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Global Manifest</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Global Manifest</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v5/basics/blocks-hooks/index.html b/docs/legacy/v5/basics/blocks-hooks/index.html index e3d646e8a..add007ab3 100644 --- a/docs/legacy/v5/basics/blocks-hooks/index.html +++ b/docs/legacy/v5/basics/blocks-hooks/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/backend">Backend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/frontend">Frontend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-intro">Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v5/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/helpers">Helpers</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v5</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Hooks</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Hooks</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v5/basics/blocks-important/index.html b/docs/legacy/v5/basics/blocks-important/index.html index 715700cfb..da6ac9baf 100644 --- a/docs/legacy/v5/basics/blocks-important/index.html +++ b/docs/legacy/v5/basics/blocks-important/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/backend">Backend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/frontend">Frontend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v5/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-intro">Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/helpers">Helpers</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v5</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Important</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Important</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v5/basics/blocks-intro/index.html b/docs/legacy/v5/basics/blocks-intro/index.html index e33577b4f..50ee20630 100644 --- a/docs/legacy/v5/basics/blocks-intro/index.html +++ b/docs/legacy/v5/basics/blocks-intro/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/backend">Backend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/frontend">Frontend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v5/basics/blocks-intro">Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/helpers">Helpers</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v5</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Intro</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Intro</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v5/basics/blocks-patterns/index.html b/docs/legacy/v5/basics/blocks-patterns/index.html index 62a9f1317..9cb43549a 100644 --- a/docs/legacy/v5/basics/blocks-patterns/index.html +++ b/docs/legacy/v5/basics/blocks-patterns/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/backend">Backend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/frontend">Frontend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-intro">Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v5/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/helpers">Helpers</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v5</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Patterns</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Patterns</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v5/basics/blocks-registration/index.html b/docs/legacy/v5/basics/blocks-registration/index.html index 9b8f188b0..205efaeab 100644 --- a/docs/legacy/v5/basics/blocks-registration/index.html +++ b/docs/legacy/v5/basics/blocks-registration/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/backend">Backend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/frontend">Frontend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-intro">Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v5/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/helpers">Helpers</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v5</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Registration</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Registration</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v5/basics/blocks-reusable/index.html b/docs/legacy/v5/basics/blocks-reusable/index.html index b60ec03e1..30bbf38e7 100644 --- a/docs/legacy/v5/basics/blocks-reusable/index.html +++ b/docs/legacy/v5/basics/blocks-reusable/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/backend">Backend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/frontend">Frontend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-intro">Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v5/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/helpers">Helpers</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v5</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Reusable Blocks</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Reusable Blocks</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v5/basics/blocks-special-use-cases/index.html b/docs/legacy/v5/basics/blocks-special-use-cases/index.html index e7520d964..af4ade482 100644 --- a/docs/legacy/v5/basics/blocks-special-use-cases/index.html +++ b/docs/legacy/v5/basics/blocks-special-use-cases/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/backend">Backend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/frontend">Frontend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-intro">Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v5/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/helpers">Helpers</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v5</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Special Use Cases</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Special Use Cases</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v5/basics/blocks-storybook/index.html b/docs/legacy/v5/basics/blocks-storybook/index.html index a28a85796..e13124125 100644 --- a/docs/legacy/v5/basics/blocks-storybook/index.html +++ b/docs/legacy/v5/basics/blocks-storybook/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/backend">Backend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/frontend">Frontend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-intro">Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v5/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/helpers">Helpers</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v5</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Storybook</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Storybook</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v5/basics/blocks-structure/index.html b/docs/legacy/v5/basics/blocks-structure/index.html index 19c35ce59..042bd1a3c 100644 --- a/docs/legacy/v5/basics/blocks-structure/index.html +++ b/docs/legacy/v5/basics/blocks-structure/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/backend">Backend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/frontend">Frontend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-intro">Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v5/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/helpers">Helpers</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v5</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Structure</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Structure</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v5/basics/blocks-styles/index.html b/docs/legacy/v5/basics/blocks-styles/index.html index 8e766580e..9b0a37fa5 100644 --- a/docs/legacy/v5/basics/blocks-styles/index.html +++ b/docs/legacy/v5/basics/blocks-styles/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/backend">Backend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/frontend">Frontend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-intro">Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v5/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/helpers">Helpers</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v5</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Styles</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Styles</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> @@ -33,7 +33,7 @@ <h2 class="anchor anchorWithStickyNavbar_LWe7" id="setup">Setup<a href="#setup" <h2 class="anchor anchorWithStickyNavbar_LWe7" id="details">Details<a href="#details" class="hash-link" aria-label="Direct link to Details" title="Direct link to Details">​</a></h2> <p>CSS variables helper consists of 2 helpers. <code>outputCssVariables</code> helper will output all CSS variables set in your blocks/component manifest and <code>getUnique</code> helper will make sure that variables are applied only to the exact block/component.</p> <p>If you check your rendered website you can see that you have something like this:</p> -<div class="language-html codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-html codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token tag punctuation" style="color:rgb(248, 248, 242)"><</span><span class="token tag" style="color:rgb(255, 121, 198)">style</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css selector class" style="color:rgb(255, 121, 198)">.typography</span><span class="token style language-css selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token style language-css selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token style language-css selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token style language-css selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token style language-css selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token style language-css"> </span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-color</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css function" style="color:rgb(80, 250, 123)">var</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-colors-black</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-content-align</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> left</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"></span><span class="token tag punctuation" style="color:rgb(248, 248, 242)"></</span><span class="token tag" style="color:rgb(255, 121, 198)">style</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token tag punctuation" style="color:rgb(248, 248, 242)"><</span><span class="token tag" style="color:rgb(255, 121, 198)">div</span><span class="token tag" style="color:rgb(255, 121, 198)"> </span><span class="token tag attr-name" style="color:rgb(241, 250, 140)">class</span><span class="token tag attr-value punctuation attr-equals" style="color:rgb(248, 248, 242)">=</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">"</span><span class="token tag attr-value" style="color:rgb(255, 121, 198)">typography</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">"</span><span class="token tag" style="color:rgb(255, 121, 198)"> </span><span class="token tag attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token tag attr-value punctuation attr-equals" style="color:rgb(248, 248, 242)">=</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">"</span><span class="token tag attr-value" style="color:rgb(255, 121, 198)">210c9bbf733ef5c6aa74c49168ac29a7</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">"</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><span class="token plain">...</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)"></</span><span class="token tag" style="color:rgb(255, 121, 198)">div</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-html codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-html codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token tag punctuation" style="color:rgb(248, 248, 242)"><</span><span class="token tag" style="color:rgb(255, 121, 198)">style</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css selector" style="color:rgb(255, 121, 198)">.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token style language-css"> </span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--typography-color</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css function" style="color:rgb(80, 250, 123)">var</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token style language-css">--global-colors-black</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--typography-content-align</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> left</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"></span><span class="token tag punctuation" style="color:rgb(248, 248, 242)"></</span><span class="token tag" style="color:rgb(255, 121, 198)">style</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token tag punctuation" style="color:rgb(248, 248, 242)"><</span><span class="token tag" style="color:rgb(255, 121, 198)">div</span><span class="token tag" style="color:rgb(255, 121, 198)"> </span><span class="token tag attr-name" style="color:rgb(241, 250, 140)">class</span><span class="token tag attr-value punctuation attr-equals" style="color:rgb(248, 248, 242)">=</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">"</span><span class="token tag attr-value" style="color:rgb(255, 121, 198)">typography</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">"</span><span class="token tag" style="color:rgb(255, 121, 198)"> </span><span class="token tag attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token tag attr-value punctuation attr-equals" style="color:rgb(248, 248, 242)">=</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">"</span><span class="token tag attr-value" style="color:rgb(255, 121, 198)">210c9bbf733ef5c6aa74c49168ac29a7</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">"</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><span class="token plain">...</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)"></</span><span class="token tag" style="color:rgb(255, 121, 198)">div</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>This is all that's required for the magic of CSS variables to work! Now let's see it in action and check out all additional features you can use.</p> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="global-variables">Global variables<a href="#global-variables" class="hash-link" aria-label="Direct link to Global variables" title="Direct link to Global variables">​</a></h2> <p>Now that we know how CSS variables are generated, we have one more helper to describe. @@ -44,9 +44,9 @@ <h2 class="anchor anchorWithStickyNavbar_LWe7" id="global-variables">Global vari <p><strong>Global Manifest:</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "namespace": "eightshift-boilerplate",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "background": "#D8262C",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "foreground": "#FFFFFF",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "globalVariables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "customBlocksName": "eightshift-block",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "maxCols": 12,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "breakpoints": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "mobile": 479,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "tablet": 1279,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "desktop": 1919,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "large": 1920</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "containers": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": "1330px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "gutters": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "none": "0",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": "25px",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "big": "50px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "sectionSpacing": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "min": -300,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "max": 300,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "step": 10</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "sectionInSpacing": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "min": 0,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "max": 300,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "step": 10</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "colors": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "name": "Black",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "slug": "black",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "color": "#111111"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "name": "White",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "slug": "white",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "color": "#FFFFFF"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output:</strong></p> -<div class="language-html codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-html codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token tag punctuation" style="color:rgb(248, 248, 242)"><</span><span class="token tag" style="color:rgb(255, 121, 198)">style</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css selector pseudo-class" style="color:rgb(255, 121, 198)">:root</span><span class="token style language-css"> </span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-custom-blocks-name</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> eightshift-block</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-max-cols</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">12</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-breakpoints-mobile</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">479</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-breakpoints-tablet</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">1279</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-breakpoints-desktop</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">1919</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-breakpoints-large</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">1920</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-containers-default</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">1330</span><span class="token style language-css unit">px</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-gutters-none</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">0</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-gutters-default</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">25</span><span class="token style language-css unit">px</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-gutters-big</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">50</span><span class="token style language-css unit">px</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-section-spacing-min</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">-300</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-section-spacing-max</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">300</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-section-spacing-step</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">10</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-section-in-spacing-min</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">0</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-section-in-spacing-max</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">300</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-section-in-spacing-step</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">10</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-colors-black</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css hexcode color">#111111</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-colors-white</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css hexcode color">#FFFFFF</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"></span><span class="token tag punctuation" style="color:rgb(248, 248, 242)"></</span><span class="token tag" style="color:rgb(255, 121, 198)">style</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-html codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-html codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token tag punctuation" style="color:rgb(248, 248, 242)"><</span><span class="token tag" style="color:rgb(255, 121, 198)">style</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css selector" style="color:rgb(255, 121, 198)">:root</span><span class="token style language-css"> </span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-custom-blocks-name</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> eightshift-block</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-max-cols</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 12</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-breakpoints-mobile</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 479</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-breakpoints-tablet</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 1279</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-breakpoints-desktop</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 1919</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-breakpoints-large</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 1920</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-containers-default</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 1330px</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-gutters-none</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 0</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-gutters-default</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 25px</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-gutters-big</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 50px</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-section-spacing-min</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> -300</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-section-spacing-max</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 300</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-section-spacing-step</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 10</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-section-in-spacing-min</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 0</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-section-in-spacing-max</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 300</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-section-in-spacing-step</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 10</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-colors-black</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> #111111</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-colors-white</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> #FFFFFF</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"></span><span class="token tag punctuation" style="color:rgb(248, 248, 242)"></</span><span class="token tag" style="color:rgb(255, 121, 198)">style</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>You can use a global variable like any other CSS variable:</p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--global-colors-white</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">--global-colors-white</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="variables">Variables<a href="#variables" class="hash-link" aria-label="Direct link to Variables" title="Direct link to Variables">​</a></h2> <p>As we said in the beginning, all CSS variables are defined within the block/component manifest.</p> <p>To output an attribute as a CSS variable, you need to set the <code>variables</code> key in the block/component <code>manifest</code> and define the variable markdown.</p> @@ -56,41 +56,41 @@ <h2 class="anchor anchorWithStickyNavbar_LWe7" id="default-type">Default type<a <p><strong>Manifest:</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentClass": "typography",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "attributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographySize": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "string",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": "120-default"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographySize": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-size": "120px",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-line-height": "calc(var(--typography-size) * 1.2)"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output:</strong></p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">120</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-line-height</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">144</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 120px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">--typography-line-height</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 144px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="value-type">Value type<a href="#value-type" class="hash-link" aria-label="Direct link to Value type" title="Direct link to Value type">​</a></h2> <p>Variable <code>value</code> will output all variables depending on attributes value. Everything else is the same as in the default type.</p> <p><strong>Manifest:</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentClass": "typography",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "attributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographySize": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "string",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": "120-default"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographySize": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "120-default": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-size": "120px",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-line-height": "calc(var(--typography-size) * 1.2)"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output:</strong></p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">120</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-line-height</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">144</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 120px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">--typography-line-height</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 144px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="editor-variables">Editor variables<a href="#editor-variables" class="hash-link" aria-label="Direct link to Editor variables" title="Direct link to Editor variables">​</a></h2> <p>Editor variables behave just like regular <code>variables</code>, except they are output only inside the Block Editor. They are mostly used for overriding specific behaviour, e.g. showing a hidden element as half-transparent instead of hiding it completely.</p> <p><strong>Manifest:</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentName": "wrapper",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "title": "Wrapper",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentClass": "wrapper",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "attributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHide": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "boolean",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": false</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHide": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "true": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display": "none"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ],</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variablesEditor": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHide": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "true": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display-opacity": "0.5",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display": "var(--wrapper-display-type, grid)"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output:</strong></p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> none</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-display-opacity</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">0.5</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-display-type</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> grid</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> none</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">--wrapper-display-opacity</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 0.5</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">--wrapper-display-type</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> grid</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="manual-variables">Manual variables<a href="#manual-variables" class="hash-link" aria-label="Direct link to Manual variables" title="Direct link to Manual variables">​</a></h2> <p>Custom CSS variables can be generated and output independently from all the attributes through the <code>variablesCustom</code> key. Add it inside the manifest (top level) and add each variable as an array item. Manual variables will be added at the end of the output.</p> <p><strong>Manifest:</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "attributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> // ...</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variablesCustom": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "--variable1: test1",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "--variable2: test2",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "--variable3: test3"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output:</strong></p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--variable1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--variable2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--variable3</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test3</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">--variable1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">--variable2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">--variable3</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test3</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="manual-variables-inside-the-block-editor">Manual variables inside the Block editor<a href="#manual-variables-inside-the-block-editor" class="hash-link" aria-label="Direct link to Manual variables inside the Block editor" title="Direct link to Manual variables inside the Block editor">​</a></h2> <p>If you want to add manual variables that only apply inside the Block editor you can use the <code>variablesCustomEditor</code> key. Everything works the same as described in the <em>Manual variables</em> section. If you define both <code>variablesCustomEditor</code> and <code>variables</code>, both will be output in the editor, but only <code>variables</code> will be output on the frontend.</p> <p><strong>Manifest:</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "attributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> // ...</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variablesCustomEditor": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "--variable1: test1",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "--variable2: test2",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "--variable3: test3"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output:</strong></p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--variable1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--variable2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--variable3</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test3</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">--variable1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">--variable2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">--variable3</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test3</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="additional-options-and-examples">Additional options and examples<a href="#additional-options-and-examples" class="hash-link" aria-label="Direct link to Additional options and examples" title="Direct link to Additional options and examples">​</a></h2> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="color">Color<a href="#color" class="hash-link" aria-label="Direct link to Color" title="Direct link to Color">​</a></h3> <p>Here is an example how to output global variable as a css variable.</p> <p><strong>Manifest:</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentClass": "typography",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "attributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographyColor": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "string",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": "white"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographyColor": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-color": "var(--global-colors-white)"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output:</strong></p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--global-colors-white</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">--typography-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">--global-colors-white</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="responsive">Responsive<a href="#responsive" class="hash-link" aria-label="Direct link to Responsive" title="Direct link to Responsive">​</a></h3> <p>All variables are prepared to be responsive. If you set multiple keys in the manifest list that variable will be outputted in the correct media query. Breakpoints are taken from the global manifest and the order of the output breakpoints.</p> <blockquote> @@ -101,7 +101,7 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="responsive">Responsive<a href <p><strong>Manifest:</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentClass": "typography",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "attributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographySize": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "string",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": "120-default"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographySize": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-size": "30px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "breakpoint": "tablet",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-size": "80px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "breakpoint": "large",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-size": "120px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output:</strong></p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector class" style="color:rgb(255, 121, 198)">.typography</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">30</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">min-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> </span><span class="token atrule number">1279</span><span class="token atrule unit">px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector class" style="color:rgb(255, 121, 198)">.typography</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">80</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">min-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> </span><span class="token atrule number">1920</span><span class="token atrule unit">px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector class" style="color:rgb(255, 121, 198)">.typography</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">120</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector" style="color:rgb(255, 121, 198)">.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 30px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">min-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> 1279px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector" style="color:rgb(255, 121, 198)">.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 80px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">min-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> 1920px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector" style="color:rgb(255, 121, 198)">.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 120px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="responsive-inverse">Responsive Inverse<a href="#responsive-inverse" class="hash-link" aria-label="Direct link to Responsive Inverse" title="Direct link to Responsive Inverse">​</a></h3> <p>By default, we use mobile first approach but if you need desktop first you can use <code>inverse: true</code> key.</p> <blockquote> @@ -110,13 +110,13 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="responsive-inverse">Responsiv <p><strong>Manifest:</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentClass": "typography",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "attributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographySize": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "string",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": "120-default"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographySize": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-size": "120px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "breakpoint": "tablet",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "inverse": true,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-size": "80px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "breakpoint": "mobile",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "inverse": true,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-size": "320px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output:</strong></p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector class" style="color:rgb(255, 121, 198)">.typography</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">120</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">max-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> </span><span class="token atrule number">1279</span><span class="token atrule unit">px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector class" style="color:rgb(255, 121, 198)">.typography</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">80</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">max-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> </span><span class="token atrule number">479</span><span class="token atrule unit">px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector class" style="color:rgb(255, 121, 198)">.typography</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">30</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector" style="color:rgb(255, 121, 198)">.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 120px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">max-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> 1279px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector" style="color:rgb(255, 121, 198)">.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 80px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">max-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> 479px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector" style="color:rgb(255, 121, 198)">.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 30px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="attribute-value-replacement">Attribute value replacement<a href="#attribute-value-replacement" class="hash-link" aria-label="Direct link to Attribute value replacement" title="Direct link to Attribute value replacement">​</a></h3> <p>Attribute value replacement variable is used to return the attribute value where you want it in the css variables. To use it just put <code>%value%</code> in you css variables.</p> <p><strong>Manifest:</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentClass": "typography",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "attributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographySize": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "string",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": "120"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographySize": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-size": "30px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "breakpoint": "tablet",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-size": "80px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "breakpoint": "large",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-size": "%value%px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output:</strong></p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector class" style="color:rgb(255, 121, 198)">.typography</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">30</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">min-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> </span><span class="token atrule number">1279</span><span class="token atrule unit">px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector class" style="color:rgb(255, 121, 198)">.typography</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">80</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">min-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> </span><span class="token atrule number">1920</span><span class="token atrule unit">px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector class" style="color:rgb(255, 121, 198)">.typography</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">120</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector" style="color:rgb(255, 121, 198)">.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 30px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">min-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> 1279px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector" style="color:rgb(255, 121, 198)">.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 80px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">min-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> 1920px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector" style="color:rgb(255, 121, 198)">.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 120px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="responsive-variables">Responsive variables<a href="#responsive-variables" class="hash-link" aria-label="Direct link to Responsive variables" title="Direct link to Responsive variables">​</a></h2> <p>Responsive variables are used for eliminating unnecessary code duplication. For example, if you have 4 separate attributes used for setting a responsive variable where all the attributes have the same output (e.g. <code>%value%</code>), the variables can get cluttered rather quickly.</p> <p>In a top-level manifest key <code>responsiveAttributes</code>, you can place a new key (e.g. <code>wrapperHide</code>) that represents a common key for your responsive variables. Inside of it, you can list your responsive variables (e.g. <code>wrapperHideLarge</code>, <code>wrapperHideDesktop</code>, <code>wrapperHideTablet</code>, <code>wrapperHideMobile</code>) as a key-value pair. The key represents a breakpoint name, and the value represents responsive variable(<code>breakpoint</code>: <code>responsiveVariableName</code>). Afterwards, you can add that common key inside the <code>variables</code> (and/or <code>variablesEditor</code>) key and configure the output template.</p> @@ -128,10 +128,10 @@ <h2 class="anchor anchorWithStickyNavbar_LWe7" id="responsive-variables">Respons <p><strong>Transformed:</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentName": "wrapper",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "title": "Wrapper",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentClass": "wrapper",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "attributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHide": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "boolean",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": false</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "responsiveAttributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHideLarge": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "boolean",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": false</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHideDesktop": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "boolean"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHideTablet": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "boolean"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHideLarge": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "true": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display": "none"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ],</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "false": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display": "var(--wrapper-display-type, grid)"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHideDesktop": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "true": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "inverse": true,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "breakpoint": "desktop",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display": "none"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ],</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "false": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "inverse": true,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "breakpoint": "desktop",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display": "var(--wrapper-display-type, grid)"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHideTablet": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "true": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "inverse": true,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "breakpoint": "desktop",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display": "none"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ],</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "false": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "inverse": true,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "breakpoint": "desktop",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display": "var(--wrapper-display-type, grid)"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output</strong></p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector class" style="color:rgb(255, 121, 198)">.wrapper</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-display-type</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> grid</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">max-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> </span><span class="token atrule number">1920</span><span class="token atrule unit">px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector class" style="color:rgb(255, 121, 198)">.wrapper</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> none</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">max-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> </span><span class="token atrule number">1279</span><span class="token atrule unit">px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector class" style="color:rgb(255, 121, 198)">.wrapper</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-display-type</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> grid</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector" style="color:rgb(255, 121, 198)">.wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">--wrapper-display-type</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> grid</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">max-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> 1920px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector" style="color:rgb(255, 121, 198)">.wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> none</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">max-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> 1279px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector" style="color:rgb(255, 121, 198)">.wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">--wrapper-display-type</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> grid</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Example 2</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentName": "wrapper",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "title": "Wrapper",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentClass": "wrapper",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "attributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHideLarge": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "boolean",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": false</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHideDesktop": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "boolean"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHideTablet": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "boolean"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "responsiveAttributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHide": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "large": "wrapperHideLarge",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "desktop": "wrapperHideDesktop",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "tablet": "wrapperHideTablet"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHide": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "true": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "inverse": true,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display": "none"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ],</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "false": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "inverse": true,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display": "var(--wrapper-display-type, grid)"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHideLarge": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "true": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "inverse": true,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display": "block",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-opacity": 0</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ],</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output</strong></p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector class" style="color:rgb(255, 121, 198)">.wrapper</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> none</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> block</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-opacity</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">0</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/legacy/v5/basics/blocks-reusable"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Reusable Blocks</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/legacy/v5/basics/blocks-storybook"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Storybook</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#setup" class="table-of-contents__link toc-highlight">Setup</a></li><li><a href="#details" class="table-of-contents__link toc-highlight">Details</a></li><li><a href="#global-variables" class="table-of-contents__link toc-highlight">Global variables</a></li><li><a href="#variables" class="table-of-contents__link toc-highlight">Variables</a></li><li><a href="#default-type" class="table-of-contents__link toc-highlight">Default type</a></li><li><a href="#value-type" class="table-of-contents__link toc-highlight">Value type</a></li><li><a href="#editor-variables" class="table-of-contents__link toc-highlight">Editor variables</a></li><li><a href="#manual-variables" class="table-of-contents__link toc-highlight">Manual variables</a></li><li><a href="#manual-variables-inside-the-block-editor" class="table-of-contents__link toc-highlight">Manual variables inside the Block editor</a></li><li><a href="#additional-options-and-examples" class="table-of-contents__link toc-highlight">Additional options and examples</a><ul><li><a href="#color" class="table-of-contents__link toc-highlight">Color</a></li><li><a href="#responsive" class="table-of-contents__link toc-highlight">Responsive</a></li><li><a href="#responsive-inverse" class="table-of-contents__link toc-highlight">Responsive Inverse</a></li><li><a href="#attribute-value-replacement" class="table-of-contents__link toc-highlight">Attribute value replacement</a></li></ul></li><li><a href="#responsive-variables" class="table-of-contents__link toc-highlight">Responsive variables</a></li></ul></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector" style="color:rgb(255, 121, 198)">.wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> none</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> block</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--wrapper-opacity</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 0</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/legacy/v5/basics/blocks-reusable"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Reusable Blocks</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/legacy/v5/basics/blocks-storybook"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Storybook</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#setup" class="table-of-contents__link toc-highlight">Setup</a></li><li><a href="#details" class="table-of-contents__link toc-highlight">Details</a></li><li><a href="#global-variables" class="table-of-contents__link toc-highlight">Global variables</a></li><li><a href="#variables" class="table-of-contents__link toc-highlight">Variables</a></li><li><a href="#default-type" class="table-of-contents__link toc-highlight">Default type</a></li><li><a href="#value-type" class="table-of-contents__link toc-highlight">Value type</a></li><li><a href="#editor-variables" class="table-of-contents__link toc-highlight">Editor variables</a></li><li><a href="#manual-variables" class="table-of-contents__link toc-highlight">Manual variables</a></li><li><a href="#manual-variables-inside-the-block-editor" class="table-of-contents__link toc-highlight">Manual variables inside the Block editor</a></li><li><a href="#additional-options-and-examples" class="table-of-contents__link toc-highlight">Additional options and examples</a><ul><li><a href="#color" class="table-of-contents__link toc-highlight">Color</a></li><li><a href="#responsive" class="table-of-contents__link toc-highlight">Responsive</a></li><li><a href="#responsive-inverse" class="table-of-contents__link toc-highlight">Responsive Inverse</a></li><li><a href="#attribute-value-replacement" class="table-of-contents__link toc-highlight">Attribute value replacement</a></li></ul></li><li><a href="#responsive-variables" class="table-of-contents__link toc-highlight">Responsive variables</a></li></ul></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> </body> </html> \ No newline at end of file diff --git a/docs/legacy/v5/basics/blocks-transforms/index.html b/docs/legacy/v5/basics/blocks-transforms/index.html index cda9caac3..8b2422348 100644 --- a/docs/legacy/v5/basics/blocks-transforms/index.html +++ b/docs/legacy/v5/basics/blocks-transforms/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/backend">Backend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/frontend">Frontend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-intro">Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v5/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/helpers">Helpers</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v5</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Transforms</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Transforms</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v5/basics/blocks-variations/index.html b/docs/legacy/v5/basics/blocks-variations/index.html index a4312920f..900f0d320 100644 --- a/docs/legacy/v5/basics/blocks-variations/index.html +++ b/docs/legacy/v5/basics/blocks-variations/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/backend">Backend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/frontend">Frontend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-intro">Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v5/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/helpers">Helpers</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v5</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Variations</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Variations</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v5/basics/blocks-wrapper/index.html b/docs/legacy/v5/basics/blocks-wrapper/index.html index 1ac2a5e48..a61b791d6 100644 --- a/docs/legacy/v5/basics/blocks-wrapper/index.html +++ b/docs/legacy/v5/basics/blocks-wrapper/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/backend">Backend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/frontend">Frontend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-intro">Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v5/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/helpers">Helpers</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v5</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Wrapper</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Wrapper</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v5/basics/blocks/index.html b/docs/legacy/v5/basics/blocks/index.html index fae6e9557..aaab50c8c 100644 --- a/docs/legacy/v5/basics/blocks/index.html +++ b/docs/legacy/v5/basics/blocks/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/backend">Backend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/frontend">Frontend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-intro">Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/helpers">Helpers</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v5</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Blocks</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Blocks</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v5/basics/browser-sync/index.html b/docs/legacy/v5/basics/browser-sync/index.html index 2ef68da30..0597cf3ac 100644 --- a/docs/legacy/v5/basics/browser-sync/index.html +++ b/docs/legacy/v5/basics/browser-sync/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/backend">Backend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/frontend">Frontend Stuff</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/frontend">Front End</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/webpack">Webpack</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/library">Library</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/global-settings">Global Settings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/writing-styles">Writing Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/fonts">Fonts</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v5/basics/browser-sync">Browser Sync</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/dynamic-import">Dynamic Import</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/helpers">Helpers</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v5</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Frontend Stuff</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Browser Sync</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Browser Sync</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v5/basics/dynamic-import/index.html b/docs/legacy/v5/basics/dynamic-import/index.html index bfc7035f0..2eda81e9e 100644 --- a/docs/legacy/v5/basics/dynamic-import/index.html +++ b/docs/legacy/v5/basics/dynamic-import/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/backend">Backend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/frontend">Frontend Stuff</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/frontend">Front End</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/webpack">Webpack</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/library">Library</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/global-settings">Global Settings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/writing-styles">Writing Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/fonts">Fonts</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/browser-sync">Browser Sync</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v5/basics/dynamic-import">Dynamic Import</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/helpers">Helpers</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v5</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Frontend Stuff</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Dynamic Import</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Dynamic Import</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v5/basics/example-class/index.html b/docs/legacy/v5/basics/example-class/index.html index f6340dc1f..f79c3607b 100644 --- a/docs/legacy/v5/basics/example-class/index.html +++ b/docs/legacy/v5/basics/example-class/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/backend">Backend Stuff</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/backend">Backend</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/namespaces">Namespaces</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/autowiring">Autowiring</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v5/basics/example-class">Example Class</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/the-structure">The Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/manifest">Manifest</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/rest">Rest</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/frontend">Frontend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/helpers">Helpers</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v5</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Backend Stuff</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Example Class</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Example Class</h1></header><p><a href="https://github.com/infinum/eightshift-libs/tree/3.0.0/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v5/basics/extending-classes/index.html b/docs/legacy/v5/basics/extending-classes/index.html index 68803cf14..a19aace69 100644 --- a/docs/legacy/v5/basics/extending-classes/index.html +++ b/docs/legacy/v5/basics/extending-classes/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/backend">Backend Stuff</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/backend">Backend</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/namespaces">Namespaces</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v5/basics/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/autowiring">Autowiring</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/example-class">Example Class</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/the-structure">The Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/manifest">Manifest</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/rest">Rest</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/frontend">Frontend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/helpers">Helpers</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v5</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Backend Stuff</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Extending Classes</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Extending Classes</h1></header><p><a href="https://github.com/infinum/eightshift-libs/tree/3.0.0/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v5/basics/fonts/index.html b/docs/legacy/v5/basics/fonts/index.html index d465efc78..603460c2a 100644 --- a/docs/legacy/v5/basics/fonts/index.html +++ b/docs/legacy/v5/basics/fonts/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/backend">Backend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/frontend">Frontend Stuff</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/frontend">Front End</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/webpack">Webpack</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/library">Library</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/global-settings">Global Settings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/writing-styles">Writing Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v5/basics/fonts">Fonts</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/browser-sync">Browser Sync</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/dynamic-import">Dynamic Import</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/helpers">Helpers</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v5</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Frontend Stuff</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Fonts</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Fonts</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> @@ -24,7 +24,7 @@ <ul> <li>Put your font files in this folder: <code>assets/fonts</code>.</li> <li>Import each file in the <code>assets/fonts/index.js</code> so that the Webpack knows how to process these files in its build process.</li> -<li>In your project, load the font family using font-face <a href="/sass">method</a>. We recommend that you create a new file <code>assets/styles/parts/utils/_defaults.scss</code> and put everything in that file.</li> +<li>In your project, load the font family using font-face <a href="/docs/basics/library">method</a>. We recommend that you create a new file <code>assets/styles/parts/utils/_defaults.scss</code> and put everything in that file.</li> </ul></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/legacy/v5/basics/writing-styles"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Writing Styles</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/legacy/v5/basics/browser-sync"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Browser Sync</div></a></nav></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> </body> </html> \ No newline at end of file diff --git a/docs/legacy/v5/basics/frontend/index.html b/docs/legacy/v5/basics/frontend/index.html index 512fbbdd5..538084327 100644 --- a/docs/legacy/v5/basics/frontend/index.html +++ b/docs/legacy/v5/basics/frontend/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/backend">Backend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/frontend">Frontend Stuff</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v5/basics/frontend">Front End</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/webpack">Webpack</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/library">Library</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/global-settings">Global Settings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/writing-styles">Writing Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/fonts">Fonts</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/browser-sync">Browser Sync</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/dynamic-import">Dynamic Import</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/helpers">Helpers</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v5</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Frontend Stuff</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Front End</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Front End</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v5/basics/global-settings/index.html b/docs/legacy/v5/basics/global-settings/index.html index ce86f2f8d..125164cb1 100644 --- a/docs/legacy/v5/basics/global-settings/index.html +++ b/docs/legacy/v5/basics/global-settings/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/backend">Backend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/frontend">Frontend Stuff</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/frontend">Front End</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/webpack">Webpack</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/library">Library</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v5/basics/global-settings">Global Settings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/writing-styles">Writing Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/fonts">Fonts</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/browser-sync">Browser Sync</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/dynamic-import">Dynamic Import</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/helpers">Helpers</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v5</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Frontend Stuff</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Global Settings</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Global Settings</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> @@ -34,30 +34,30 @@ <h2 class="anchor anchorWithStickyNavbar_LWe7" id="how-does-this-work">How does <p>You have the file <code>src/Blocks/manifest.json</code> that has a key called <code>globalVariables</code>. We use this key and build the SCSS maps that you can use in your style files.</p> <p>Mind-blowing, right?</p> <p>To use it, write your style in the <code>manifest.json</code> under the <code>globalVariables</code> key, and you can use that variable in your style files like this:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$base-col-number: global-settings(maxCols);</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$base-col-number</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">maxCols</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>Keep in mind that the <code>global-settings</code> is a function that checks the <code>globalVariables</code> map and returns the value depending on the key provided.</p> <p>For example, if you have something like this in your <code>manifest.json</code>:</p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "globalVariables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "maxCols": 12,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "gutters": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "none": "0",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": "25px",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "big": "50px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "colors": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "name": "Primary",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "slug": "primary",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "color": "#3E3E3E"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "name": "Black",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "slug": "black",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "color": "#000000"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="scenario-1">Scenario 1:<a href="#scenario-1" class="hash-link" aria-label="Direct link to Scenario 1:" title="Direct link to Scenario 1:">​</a></h3> <p>You type this in you SCSS files:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$base-col-number: global-settings(maxCols);</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$base-col-number</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">maxCols</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>the output will be: <strong>12</strong></p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="scenario-2">Scenario 2:<a href="#scenario-2" class="hash-link" aria-label="Direct link to Scenario 2:" title="Direct link to Scenario 2:">​</a></h3> <p>You type this in you SCSS files:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$gutters: global-settings(gutters);</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$gutters</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">gutters</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>the output will be a map that you need to loop or fetch individual files using <code>get-map-strict</code> or <code>get-map-deep</code> function:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$gutters: (</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "none": "0",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": "25px",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "big": "50px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">);</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$gutters</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"none"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"0"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"default"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"25px"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"big"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"50px"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>so you can call it like this:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">width: get-map-strict($gutters, default);</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">width</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">get-map-strict</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$gutters</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> default</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="scenario-3">Scenario 3:<a href="#scenario-3" class="hash-link" aria-label="Direct link to Scenario 3:" title="Direct link to Scenario 3:">​</a></h3> <p>"I want to output colors, but they don't follow the structure you mentioned before. Why is that?"</p> <p>Yes, colors are different because we use this manifest to output the colors to the block editors' color palette. Only the colors are like this.</p> <p>Type this into your SCSS files:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$primary-color: global-settings(colors, primary),</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">$black-color: global-settings(colors, black),</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$primary-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">colors</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> primary</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$black-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">colors</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token color">black</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>The output will be:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$primary-color: #3E3E3E;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">$black-color: #000000;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$primary-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token hexcode color">#3E3E3E</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$black-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token hexcode color">#000000</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>so you use it the normal SCSS way:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">color: $primary-color;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">background-color: $black-color;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$primary-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">background-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$black-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <blockquote> <p>If you add/remove/change any value in the <code>manifest.json</code> file, please restart your Webpack watch because it won't recognize that change.</p> </blockquote></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/legacy/v5/basics/library"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Library</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/legacy/v5/basics/writing-styles"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Writing Styles</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#why-do-we-use-this" class="table-of-contents__link toc-highlight">Why do we use this?</a></li><li><a href="#how-does-this-work" class="table-of-contents__link toc-highlight">How does this work?</a><ul><li><a href="#scenario-1" class="table-of-contents__link toc-highlight">Scenario 1:</a></li><li><a href="#scenario-2" class="table-of-contents__link toc-highlight">Scenario 2:</a></li><li><a href="#scenario-3" class="table-of-contents__link toc-highlight">Scenario 3:</a></li></ul></li></ul></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/docs/legacy/v5/basics/helpers-javascript/index.html b/docs/legacy/v5/basics/helpers-javascript/index.html index c66577445..ac84b27eb 100644 --- a/docs/legacy/v5/basics/helpers-javascript/index.html +++ b/docs/legacy/v5/basics/helpers-javascript/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/backend">Backend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/frontend">Frontend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/helpers">Helpers</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v5/basics/helpers-javascript">JavaScript</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/helpers-scss">Scss</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/helpers-php">PHP</a></li></ul></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v5</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Helpers</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">JavaScript</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>JavaScript</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v5/basics/helpers-php/index.html b/docs/legacy/v5/basics/helpers-php/index.html index 22b1a6dde..206d6c9e2 100644 --- a/docs/legacy/v5/basics/helpers-php/index.html +++ b/docs/legacy/v5/basics/helpers-php/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/backend">Backend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/frontend">Frontend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/helpers">Helpers</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/helpers-javascript">JavaScript</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/helpers-scss">Scss</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v5/basics/helpers-php">PHP</a></li></ul></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v5</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Helpers</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">PHP</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>PHP</h1></header><p><a href="https://github.com/infinum/eightshift-libs/tree/3.0.0/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v5/basics/helpers-scss/index.html b/docs/legacy/v5/basics/helpers-scss/index.html index 039bb8af9..e49e2469f 100644 --- a/docs/legacy/v5/basics/helpers-scss/index.html +++ b/docs/legacy/v5/basics/helpers-scss/index.html @@ -14,14 +14,14 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/backend">Backend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/frontend">Frontend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/helpers">Helpers</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/helpers-javascript">JavaScript</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v5/basics/helpers-scss">Scss</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/helpers-php">PHP</a></li></ul></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v5</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Helpers</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Scss</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Scss</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> <p>For years, we have collected a list of useful SASS mixins, placeholders, and functions you can use in a project. You don't need to have all of this in your project. Check out our documentation and see what we have in store for you.</p> -<p><strong>Visit <a href="/sass">SassDocs</a> for more details.</strong></p> +<p><strong>Visit <a href="/docs/basics/library">SassDocs</a> for more details.</strong></p> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="default-usage">Default usage<a href="#default-usage" class="hash-link" aria-label="Direct link to Default usage" title="Direct link to Default usage">​</a></h2> <p>Eightshift Frontend Libs styles library is already implemented in your WordPress project, so you don't need to worry about implementation.</p> <p>All our sass mixing, functions and helpers are located in <code>node_modules/@eighshift/frontent-libs/styles/scss/eightshift-frontend-libs.scss</code> file.</p> @@ -31,6 +31,6 @@ <h2 class="anchor anchorWithStickyNavbar_LWe7" id="usage-outside-of-eightshift-b <p>In your terminal, install Eightshift Frontend Libs package:</p> <div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">npm install @eightshift/frontend-libs</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>and add this import in your project:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">@import '@eightshift/frontend-libs/styles/index.scss';</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/legacy/v5/basics/helpers-javascript"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">JavaScript</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/legacy/v5/basics/helpers-php"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">PHP</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#default-usage" class="table-of-contents__link toc-highlight">Default usage</a></li><li><a href="#usage-outside-of-eightshift-boilerplate" class="table-of-contents__link toc-highlight">Usage outside of Eightshift Boilerplate</a></li></ul></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@import</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'@eightshift/frontend-libs/styles/index.scss'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/legacy/v5/basics/helpers-javascript"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">JavaScript</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/legacy/v5/basics/helpers-php"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">PHP</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#default-usage" class="table-of-contents__link toc-highlight">Default usage</a></li><li><a href="#usage-outside-of-eightshift-boilerplate" class="table-of-contents__link toc-highlight">Usage outside of Eightshift Boilerplate</a></li></ul></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> </body> </html> \ No newline at end of file diff --git a/docs/legacy/v5/basics/helpers/index.html b/docs/legacy/v5/basics/helpers/index.html index 7e962eac3..28951b2fd 100644 --- a/docs/legacy/v5/basics/helpers/index.html +++ b/docs/legacy/v5/basics/helpers/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/backend">Backend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/frontend">Frontend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/helpers">Helpers</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v5/basics/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/helpers-javascript">JavaScript</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/helpers-scss">Scss</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/helpers-php">PHP</a></li></ul></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v5</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Helpers</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Helpers</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Helpers</h1></header><p>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:</p> diff --git a/docs/legacy/v5/basics/library/index.html b/docs/legacy/v5/basics/library/index.html index fdf72dfa4..84803752f 100644 --- a/docs/legacy/v5/basics/library/index.html +++ b/docs/legacy/v5/basics/library/index.html @@ -14,18 +14,18 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/backend">Backend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/frontend">Frontend Stuff</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/frontend">Front End</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/webpack">Webpack</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v5/basics/library">Library</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/global-settings">Global Settings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/writing-styles">Writing Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/fonts">Fonts</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/browser-sync">Browser Sync</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/dynamic-import">Dynamic Import</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/helpers">Helpers</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v5</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Frontend Stuff</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Library</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Library</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> <p>For years, we have collected a list of useful SASS mixins, functions, and other stuff you can use in a project. At one point, we felt stupid for copy/pasting code across multiple projects, so we created Eightshift Frontend Libs. This library allows you to use whatever we offer without all that unnecessary clutter.</p> <p>Check out our documentation and import what you need from Eightshift Frontend Libs.</p> -<p><strong>Visit <a href="/sass">SassDocs</a> for more details.</strong></p> +<p><strong>Visit <a href="/docs/basics/library">SassDocs</a> for more details.</strong></p> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="how-to-use-it">How to use it<a href="#how-to-use-it" class="hash-link" aria-label="Direct link to How to use it" title="Direct link to How to use it">​</a></h2> <p>Sass mixing, functions, and helpers are located in Eightshift Frontend Libs. Therefore, if you are using our Webpack build, you are all set. You can use it by importing it into your project like this:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">@import '@eightshift/frontend-libs/styles/index.scss';</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@import</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'@eightshift/frontend-libs/styles/index.scss'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>But if you are using our default <code>setup_theme</code> setup, you are all set. Eightshift Frontend Libs are in your project, injected in the <code>_shared.scss</code> file.</p> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="we-have-some-defaults">We have some defaults<a href="#we-have-some-defaults" class="hash-link" aria-label="Direct link to We have some defaults" title="Direct link to We have some defaults">​</a></h2> <p>For Eightshift Boilerplate to look presentable and have some styling, we created some variables and colors for us to use. So if you find some variable in your project and you have no idea where it comes from, that is on us, and your best place to check is <a href="https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/styles/scss/_core.scss" target="_blank" rel="noopener noreferrer">here for global variables</a> and <a href="https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0/styles/scss/_colors.scss" target="_blank" rel="noopener noreferrer">here for colors</a>.</p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/legacy/v5/basics/webpack"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Webpack</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/legacy/v5/basics/global-settings"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Global Settings</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#how-to-use-it" class="table-of-contents__link toc-highlight">How to use it</a></li><li><a href="#we-have-some-defaults" class="table-of-contents__link toc-highlight">We have some defaults</a></li></ul></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/docs/legacy/v5/basics/manifest/index.html b/docs/legacy/v5/basics/manifest/index.html index 6566f520f..cad771240 100644 --- a/docs/legacy/v5/basics/manifest/index.html +++ b/docs/legacy/v5/basics/manifest/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/backend">Backend Stuff</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/backend">Backend</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/namespaces">Namespaces</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/autowiring">Autowiring</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/example-class">Example Class</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/the-structure">The Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v5/basics/manifest">Manifest</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/rest">Rest</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/frontend">Frontend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/helpers">Helpers</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v5</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Backend Stuff</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Manifest</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Manifest</h1></header><p><a href="https://github.com/infinum/eightshift-libs/tree/3.0.0/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v5/basics/namespaces/index.html b/docs/legacy/v5/basics/namespaces/index.html index dd4f7fefd..5257b48a4 100644 --- a/docs/legacy/v5/basics/namespaces/index.html +++ b/docs/legacy/v5/basics/namespaces/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/backend">Backend Stuff</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/backend">Backend</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v5/basics/namespaces">Namespaces</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/autowiring">Autowiring</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/example-class">Example Class</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/the-structure">The Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/manifest">Manifest</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/rest">Rest</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/frontend">Frontend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/helpers">Helpers</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v5</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Backend Stuff</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Namespaces</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Namespaces</h1></header><p><a href="https://github.com/infinum/eightshift-libs/tree/3.0.0/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v5/basics/rest-field/index.html b/docs/legacy/v5/basics/rest-field/index.html index 7c7b181d9..a327aa67c 100644 --- a/docs/legacy/v5/basics/rest-field/index.html +++ b/docs/legacy/v5/basics/rest-field/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/backend">Backend Stuff</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/backend">Backend</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/namespaces">Namespaces</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/autowiring">Autowiring</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/example-class">Example Class</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/the-structure">The Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/manifest">Manifest</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/rest">Rest</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/rest">Rest Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v5/basics/rest-field">Rest Field</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/rest-route">Rest Route</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/frontend">Frontend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/helpers">Helpers</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v5</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Backend Stuff</span><meta itemprop="position" content="4"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Rest</span><meta itemprop="position" content="5"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Rest Field</span><meta itemprop="position" content="6"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Rest Field</h1></header><p><a href="https://github.com/infinum/eightshift-libs/tree/3.0.0/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v5/basics/rest-route/index.html b/docs/legacy/v5/basics/rest-route/index.html index bbd6e6610..d2474b279 100644 --- a/docs/legacy/v5/basics/rest-route/index.html +++ b/docs/legacy/v5/basics/rest-route/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/backend">Backend Stuff</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/backend">Backend</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/namespaces">Namespaces</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/autowiring">Autowiring</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/example-class">Example Class</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/the-structure">The Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/manifest">Manifest</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/rest">Rest</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/rest">Rest Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/rest-field">Rest Field</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v5/basics/rest-route">Rest Route</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/frontend">Frontend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/helpers">Helpers</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v5</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Backend Stuff</span><meta itemprop="position" content="4"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Rest</span><meta itemprop="position" content="5"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Rest Route</span><meta itemprop="position" content="6"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Rest Route</h1></header><p><a href="https://github.com/infinum/eightshift-libs/tree/3.0.0/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v5/basics/rest/index.html b/docs/legacy/v5/basics/rest/index.html index be26195c0..6bbc8d64f 100644 --- a/docs/legacy/v5/basics/rest/index.html +++ b/docs/legacy/v5/basics/rest/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/backend">Backend Stuff</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/backend">Backend</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/namespaces">Namespaces</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/autowiring">Autowiring</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/example-class">Example Class</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/the-structure">The Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/manifest">Manifest</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/rest">Rest</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v5/basics/rest">Rest Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/rest-field">Rest Field</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/rest-route">Rest Route</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/frontend">Frontend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/helpers">Helpers</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v5</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Backend Stuff</span><meta itemprop="position" content="4"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Rest</span><meta itemprop="position" content="5"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Rest Intro</span><meta itemprop="position" content="6"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Rest Intro</h1></header><p><a href="https://github.com/infinum/eightshift-libs/tree/3.0.0/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v5/basics/the-structure/index.html b/docs/legacy/v5/basics/the-structure/index.html index b9ab448fe..ca6e171af 100644 --- a/docs/legacy/v5/basics/the-structure/index.html +++ b/docs/legacy/v5/basics/the-structure/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/backend">Backend Stuff</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/backend">Backend</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/namespaces">Namespaces</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/autowiring">Autowiring</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/example-class">Example Class</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v5/basics/the-structure">The Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/manifest">Manifest</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/rest">Rest</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/frontend">Frontend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/helpers">Helpers</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v5</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Backend Stuff</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">The Structure</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>The Structure</h1></header><p><a href="https://github.com/infinum/eightshift-libs/tree/3.0.0/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v5/basics/webpack/index.html b/docs/legacy/v5/basics/webpack/index.html index 5629d4af9..b7890ba44 100644 --- a/docs/legacy/v5/basics/webpack/index.html +++ b/docs/legacy/v5/basics/webpack/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/backend">Backend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/frontend">Frontend Stuff</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/frontend">Front End</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v5/basics/webpack">Webpack</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/library">Library</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/global-settings">Global Settings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/writing-styles">Writing Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/fonts">Fonts</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/browser-sync">Browser Sync</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/dynamic-import">Dynamic Import</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/helpers">Helpers</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v5</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Frontend Stuff</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Webpack</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Webpack</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v5/basics/wp-cli/index.html b/docs/legacy/v5/basics/wp-cli/index.html index 7afce7df3..cb19d1e52 100644 --- a/docs/legacy/v5/basics/wp-cli/index.html +++ b/docs/legacy/v5/basics/wp-cli/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v5/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/backend">Backend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/frontend">Frontend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/helpers">Helpers</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v5</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">WP-CLI</span><meta itemprop="position" content="4"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>WP-CLI</h1></header><p><a href="https://github.com/infinum/eightshift-libs/tree/3.0.0/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v5/basics/writing-styles/index.html b/docs/legacy/v5/basics/writing-styles/index.html index 56996ba59..ea1f9e052 100644 --- a/docs/legacy/v5/basics/writing-styles/index.html +++ b/docs/legacy/v5/basics/writing-styles/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/backend">Backend Stuff</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/basics/frontend">Frontend Stuff</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/frontend">Front End</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/webpack">Webpack</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/library">Library</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/global-settings">Global Settings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v5/basics/writing-styles">Writing Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/fonts">Fonts</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/browser-sync">Browser Sync</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v5/basics/dynamic-import">Dynamic Import</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/helpers">Helpers</a></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v5</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Frontend Stuff</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Writing Styles</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Writing Styles</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/4.0.0" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eigthshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> @@ -44,21 +44,21 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="all-external-variables-must-g <li>you can have multiple values with the same name and just change the top-level map,</li> <li>etc.</li> </ul> -<p>We also have many helpers, which you can check in our <a href="/sass">SASS docs</a>.</p> +<p>We also have many helpers, which you can check in our <a href="/docs/basics/library">SASS docs</a>.</p> <p>In the component map, you should only add things that you will reuse in your component.</p> <p><strong>Examples:</strong></p> <p>A simple variable in a map:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$social-links: (</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> icon-color: global-settings(colors, black),</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">.social-links {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> color: map-get-strict($social-links, icon-color);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$social-links</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">icon-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">colors</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token color">black</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token selector" style="color:rgb(255, 121, 198)">.social-links </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">map-get-strict</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$social-links</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> icon-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>Nested variables in a map:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$social-links: (</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> colors: (</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> dark: global-settings(colors, black),</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> light: global-settings(colors, white),</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ),</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> sizes: (</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> small: 10px,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> big: 20px,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> )</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">.social-links {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> color: map-get-deep($social-links, colors, dark);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> &--light {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> color: map-get-deep($social-links, colors, light);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> &__sizes {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> font-size: map-get-deep($social-links, sizes, small);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> &--big {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> font-size: map-get-deep($social-links, sizes, big);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$social-links</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">colors</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">dark</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">colors</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token color">black</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">light</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">colors</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token color">white</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">sizes</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">small</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">10</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">big</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">20</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token selector" style="color:rgb(255, 121, 198)">.social-links </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">map-get-deep</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$social-links</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> colors</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> dark</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector parent important" style="color:rgb(255, 121, 198)">&</span><span class="token selector" style="color:rgb(255, 121, 198)">--light </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">map-get-deep</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$social-links</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> colors</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> light</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector parent important" style="color:rgb(255, 121, 198)">&</span><span class="token selector" style="color:rgb(255, 121, 198)">__sizes </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">font-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">map-get-deep</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$social-links</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> sizes</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> small</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector parent important" style="color:rgb(255, 121, 198)">&</span><span class="token selector" style="color:rgb(255, 121, 198)">--big </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">font-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">map-get-deep</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$social-links</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> sizes</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> big</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="never-mix-multiple-maps-in-a-single-component">Never mix multiple maps in a single component<a href="#never-mix-multiple-maps-in-a-single-component" class="hash-link" aria-label="Direct link to Never mix multiple maps in a single component" title="Direct link to Never mix multiple maps in a single component">​</a></h3> <p>You want all your styles to be contained to a single component and not dependent on external components. Sometimes this can't be avoided.</p> <p>In that case, you should define a key in the component variable for the external map and define it like this:</p> <p><strong>Example:</strong></p> <p>External map in <code>assets/styles/parts/utils/_z-index.scss</code>:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$zindex: (</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> header: 100,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> drawer: 99,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> overlay: 98,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">);</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$zindex</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">header</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">100</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">drawer</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">99</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">overlay</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">98</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>Your component:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$header: (</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> index: map-get-strict($zindex, header),</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">.header {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> z-index: map-get-strict($header, index);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$header</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">index</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">map-get-strict</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$zindex</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> header</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token selector" style="color:rgb(255, 121, 198)">.header </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">z-index</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">map-get-strict</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$header</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> index</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="where-can-i-define-global-typography-for-all-my-blockscomponents">Where can I define global typography for all my blocks/components?<a href="#where-can-i-define-global-typography-for-all-my-blockscomponents" class="hash-link" aria-label="Direct link to Where can I define global typography for all my blocks/components?" title="Direct link to Where can I define global typography for all my blocks/components?">​</a></h3> <p>Well, nowhere. Try to move your way of thinking from Bootstrap or any other front-end framework where you define global typography in one place.</p> <p>Why is that? Because we use component-based development and you should think in that way. Each component is responsible for its own styles.</p> diff --git a/docs/legacy/v5/versions/index.html b/docs/legacy/v5/versions/index.html index 2af0520c7..86722aea8 100644 --- a/docs/legacy/v5/versions/index.html +++ b/docs/legacy/v5/versions/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v5/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/basics/basics-intro">Basics</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v5</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Versions</span><meta itemprop="position" content="3"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Versions</h1></header><p>Now that you understand what makes Eightshift tick, here is a quick reminder about what library versions this documentation refers to.</p> diff --git a/docs/legacy/v6/basics/architecture-concepts/index.html b/docs/legacy/v6/basics/architecture-concepts/index.html index 085e7db65..f982ff4fd 100644 --- a/docs/legacy/v6/basics/architecture-concepts/index.html +++ b/docs/legacy/v6/basics/architecture-concepts/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v6/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v6</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Architecture concepts</span><meta itemprop="position" content="4"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Architecture concepts</h1></header><h2 class="anchor anchorWithStickyNavbar_LWe7" id="project-structure">Project structure<a href="#project-structure" class="hash-link" aria-label="Direct link to Project structure" title="Direct link to Project structure">​</a></h2> diff --git a/docs/legacy/v6/basics/autowiring/index.html b/docs/legacy/v6/basics/autowiring/index.html index 52ae1e16c..fafcd3c05 100644 --- a/docs/legacy/v6/basics/autowiring/index.html +++ b/docs/legacy/v6/basics/autowiring/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/backend">Backend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/backend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/namespaces">Namespaces</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v6/basics/autowiring">Autowiring</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/example-class">Example Class</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/manifest">Assets Manifest</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/rest">Rest</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v6</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Backend</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Autowiring</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Autowiring</h1></header><p><a href="https://github.com/infinum/eightshift-libs/tree/4.0.0" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v6/basics/backend/index.html b/docs/legacy/v6/basics/backend/index.html index 841328d78..ffae74b1e 100644 --- a/docs/legacy/v6/basics/backend/index.html +++ b/docs/legacy/v6/basics/backend/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/backend">Backend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v6/basics/backend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/namespaces">Namespaces</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/autowiring">Autowiring</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/example-class">Example Class</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/manifest">Assets Manifest</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/rest">Rest</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v6</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Backend</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">General</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>General</h1></header><p><a href="https://github.com/infinum/eightshift-libs/tree/4.0.0" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v6/basics/basics-intro/index.html b/docs/legacy/v6/basics/basics-intro/index.html index 11b0c0e83..234932792 100644 --- a/docs/legacy/v6/basics/basics-intro/index.html +++ b/docs/legacy/v6/basics/basics-intro/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v6</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Basics</span><meta itemprop="position" content="4"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Basics</h1></header><p>Prior to WordPress 5.0, themes were mostly PHP-based, with JavaScript used only to provide interactive functionality on the website. diff --git a/docs/legacy/v6/basics/block-manifest/index.html b/docs/legacy/v6/basics/block-manifest/index.html index fd12c1155..e5b35861e 100644 --- a/docs/legacy/v6/basics/block-manifest/index.html +++ b/docs/legacy/v6/basics/block-manifest/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v6/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v6</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Block Manifest</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Block Manifest</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v6/basics/block-structure/index.html b/docs/legacy/v6/basics/block-structure/index.html index 194fd8855..bb4774b58 100644 --- a/docs/legacy/v6/basics/block-structure/index.html +++ b/docs/legacy/v6/basics/block-structure/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v6/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v6</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Block Structure</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Block Structure</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v6/basics/blocks-attributes/index.html b/docs/legacy/v6/basics/blocks-attributes/index.html index ee024be10..dfdeaec90 100644 --- a/docs/legacy/v6/basics/blocks-attributes/index.html +++ b/docs/legacy/v6/basics/blocks-attributes/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v6/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v6</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Attributes</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Attributes</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v6/basics/blocks-component-in-block/index.html b/docs/legacy/v6/basics/blocks-component-in-block/index.html index a113b45ab..34e9a6180 100644 --- a/docs/legacy/v6/basics/blocks-component-in-block/index.html +++ b/docs/legacy/v6/basics/blocks-component-in-block/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v6</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Component in a Block</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Component in a Block</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v6/basics/blocks-component-manifest/index.html b/docs/legacy/v6/basics/blocks-component-manifest/index.html index 274b65f08..b5bfec9b6 100644 --- a/docs/legacy/v6/basics/blocks-component-manifest/index.html +++ b/docs/legacy/v6/basics/blocks-component-manifest/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v6</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Component Manifest</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Component Manifest</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v6/basics/blocks-component-structure/index.html b/docs/legacy/v6/basics/blocks-component-structure/index.html index 90ace888a..aa248a040 100644 --- a/docs/legacy/v6/basics/blocks-component-structure/index.html +++ b/docs/legacy/v6/basics/blocks-component-structure/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v6</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Component Structure</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Component Structure</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v6/basics/blocks-faq/index.html b/docs/legacy/v6/basics/blocks-faq/index.html index 09235e1dd..b348740bb 100644 --- a/docs/legacy/v6/basics/blocks-faq/index.html +++ b/docs/legacy/v6/basics/blocks-faq/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v6/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v6</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Faq</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Faq</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v6/basics/blocks-global-manifest/index.html b/docs/legacy/v6/basics/blocks-global-manifest/index.html index d6e43ec01..d861a163b 100644 --- a/docs/legacy/v6/basics/blocks-global-manifest/index.html +++ b/docs/legacy/v6/basics/blocks-global-manifest/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v6/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v6</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Global Manifest</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Global Manifest</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v6/basics/blocks-hooks/index.html b/docs/legacy/v6/basics/blocks-hooks/index.html index 85e0cd550..331d5abfe 100644 --- a/docs/legacy/v6/basics/blocks-hooks/index.html +++ b/docs/legacy/v6/basics/blocks-hooks/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v6/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v6</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Hooks</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Hooks</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v6/basics/blocks-important/index.html b/docs/legacy/v6/basics/blocks-important/index.html index 3f5dac470..cc8c8a453 100644 --- a/docs/legacy/v6/basics/blocks-important/index.html +++ b/docs/legacy/v6/basics/blocks-important/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v6/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v6</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Important</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Important</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v6/basics/blocks-patterns/index.html b/docs/legacy/v6/basics/blocks-patterns/index.html index cd19986a3..e2036d85a 100644 --- a/docs/legacy/v6/basics/blocks-patterns/index.html +++ b/docs/legacy/v6/basics/blocks-patterns/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v6/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v6</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Patterns</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Patterns</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v6/basics/blocks-registration/index.html b/docs/legacy/v6/basics/blocks-registration/index.html index 23c1f150f..233524892 100644 --- a/docs/legacy/v6/basics/blocks-registration/index.html +++ b/docs/legacy/v6/basics/blocks-registration/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v6/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v6</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Registration</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Registration</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v6/basics/blocks-reusable/index.html b/docs/legacy/v6/basics/blocks-reusable/index.html index a41dd4d32..cbf176c05 100644 --- a/docs/legacy/v6/basics/blocks-reusable/index.html +++ b/docs/legacy/v6/basics/blocks-reusable/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v6/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v6</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Reusable Blocks</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Reusable Blocks</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v6/basics/blocks-special-use-cases/index.html b/docs/legacy/v6/basics/blocks-special-use-cases/index.html index 443596dc7..7d18deca1 100644 --- a/docs/legacy/v6/basics/blocks-special-use-cases/index.html +++ b/docs/legacy/v6/basics/blocks-special-use-cases/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v6/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v6</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Special Use Cases</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Special Use Cases</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v6/basics/blocks-storybook/index.html b/docs/legacy/v6/basics/blocks-storybook/index.html index b7d9d2535..9f1e78a96 100644 --- a/docs/legacy/v6/basics/blocks-storybook/index.html +++ b/docs/legacy/v6/basics/blocks-storybook/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v6/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v6</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Storybook</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Storybook</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v6/basics/blocks-structure/index.html b/docs/legacy/v6/basics/blocks-structure/index.html index 24154118b..47d9df201 100644 --- a/docs/legacy/v6/basics/blocks-structure/index.html +++ b/docs/legacy/v6/basics/blocks-structure/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v6/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v6</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Structure</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Structure</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v6/basics/blocks-styles/index.html b/docs/legacy/v6/basics/blocks-styles/index.html index d1c629e6d..3a8468c0a 100644 --- a/docs/legacy/v6/basics/blocks-styles/index.html +++ b/docs/legacy/v6/basics/blocks-styles/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v6/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v6</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Styles</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Styles</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> @@ -33,7 +33,7 @@ <h2 class="anchor anchorWithStickyNavbar_LWe7" id="setup">Setup<a href="#setup" <h2 class="anchor anchorWithStickyNavbar_LWe7" id="details">Details<a href="#details" class="hash-link" aria-label="Direct link to Details" title="Direct link to Details">​</a></h2> <p>CSS variables helper consists of 2 helpers. <code>outputCssVariables</code> helper will output all CSS variables set in your blocks/component manifest and <code>getUnique</code> helper will make sure that variables are applied only to the exact block/component.</p> <p>If you check your rendered website you can see that you have something like this:</p> -<div class="language-html codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-html codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token tag punctuation" style="color:rgb(248, 248, 242)"><</span><span class="token tag" style="color:rgb(255, 121, 198)">div</span><span class="token tag" style="color:rgb(255, 121, 198)"> </span><span class="token tag attr-name" style="color:rgb(241, 250, 140)">class</span><span class="token tag attr-value punctuation attr-equals" style="color:rgb(248, 248, 242)">=</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">"</span><span class="token tag attr-value" style="color:rgb(255, 121, 198)">typography</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">"</span><span class="token tag" style="color:rgb(255, 121, 198)"> </span><span class="token tag attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token tag attr-value punctuation attr-equals" style="color:rgb(248, 248, 242)">=</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">"</span><span class="token tag attr-value" style="color:rgb(255, 121, 198)">210c9bbf733ef5c6aa74c49168ac29a7</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">"</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token tag punctuation" style="color:rgb(248, 248, 242)"><</span><span class="token tag" style="color:rgb(255, 121, 198)">style</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css selector class" style="color:rgb(255, 121, 198)">.typography</span><span class="token style language-css selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token style language-css selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token style language-css selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token style language-css selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token style language-css selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token style language-css"> </span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-color</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css function" style="color:rgb(80, 250, 123)">var</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-colors-black</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-content-align</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> left</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token tag punctuation" style="color:rgb(248, 248, 242)"></</span><span class="token tag" style="color:rgb(255, 121, 198)">style</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ...</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token tag punctuation" style="color:rgb(248, 248, 242)"></</span><span class="token tag" style="color:rgb(255, 121, 198)">div</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-html codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-html codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token tag punctuation" style="color:rgb(248, 248, 242)"><</span><span class="token tag" style="color:rgb(255, 121, 198)">div</span><span class="token tag" style="color:rgb(255, 121, 198)"> </span><span class="token tag attr-name" style="color:rgb(241, 250, 140)">class</span><span class="token tag attr-value punctuation attr-equals" style="color:rgb(248, 248, 242)">=</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">"</span><span class="token tag attr-value" style="color:rgb(255, 121, 198)">typography</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">"</span><span class="token tag" style="color:rgb(255, 121, 198)"> </span><span class="token tag attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token tag attr-value punctuation attr-equals" style="color:rgb(248, 248, 242)">=</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">"</span><span class="token tag attr-value" style="color:rgb(255, 121, 198)">210c9bbf733ef5c6aa74c49168ac29a7</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">"</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token tag punctuation" style="color:rgb(248, 248, 242)"><</span><span class="token tag" style="color:rgb(255, 121, 198)">style</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css selector" style="color:rgb(255, 121, 198)">.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token style language-css"> </span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--typography-color</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css function" style="color:rgb(80, 250, 123)">var</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token style language-css">--global-colors-black</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--typography-content-align</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> left</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token tag punctuation" style="color:rgb(248, 248, 242)"></</span><span class="token tag" style="color:rgb(255, 121, 198)">style</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ...</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token tag punctuation" style="color:rgb(248, 248, 242)"></</span><span class="token tag" style="color:rgb(255, 121, 198)">div</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>This is all that's required for the magic of CSS variables to work! Now let's see it in action and check out all additional features you can use.</p> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="global-variables">Global variables<a href="#global-variables" class="hash-link" aria-label="Direct link to Global variables" title="Direct link to Global variables">​</a></h2> <p>Now that we know how CSS variables are generated, we have one more helper to describe. @@ -44,9 +44,9 @@ <h2 class="anchor anchorWithStickyNavbar_LWe7" id="global-variables">Global vari <p><strong>Global Manifest:</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "namespace": "eightshift-boilerplate",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "background": "#D8262C",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "foreground": "#FFFFFF",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "globalVariables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "customBlocksName": "eightshift-block",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "maxCols": 12,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "breakpoints": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "mobile": 479,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "tablet": 1279,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "desktop": 1919,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "large": 1920</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "containers": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": "1330px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "gutters": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "none": "0",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": "25px",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "big": "50px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "sectionSpacing": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "min": -300,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "max": 300,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "step": 10</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "sectionInSpacing": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "min": 0,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "max": 300,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "step": 10</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "colors": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "name": "Black",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "slug": "black",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "color": "#111111"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "name": "White",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "slug": "white",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "color": "#FFFFFF"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output:</strong></p> -<div class="language-html codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-html codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token tag punctuation" style="color:rgb(248, 248, 242)"><</span><span class="token tag" style="color:rgb(255, 121, 198)">style</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css selector pseudo-class" style="color:rgb(255, 121, 198)">:root</span><span class="token style language-css"> </span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-custom-blocks-name</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> eightshift-block</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-max-cols</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">12</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-breakpoints-mobile</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">479</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-breakpoints-tablet</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">1279</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-breakpoints-desktop</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">1919</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-breakpoints-large</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">1920</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-containers-default</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">1330</span><span class="token style language-css unit">px</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-gutters-none</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">0</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-gutters-default</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">25</span><span class="token style language-css unit">px</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-gutters-big</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">50</span><span class="token style language-css unit">px</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-section-spacing-min</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">-300</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-section-spacing-max</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">300</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-section-spacing-step</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">10</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-section-in-spacing-min</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">0</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-section-in-spacing-max</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">300</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-section-in-spacing-step</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">10</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-colors-black</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css hexcode color">#111111</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-colors-white</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css hexcode color">#FFFFFF</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"></span><span class="token tag punctuation" style="color:rgb(248, 248, 242)"></</span><span class="token tag" style="color:rgb(255, 121, 198)">style</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-html codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-html codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token tag punctuation" style="color:rgb(248, 248, 242)"><</span><span class="token tag" style="color:rgb(255, 121, 198)">style</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css selector" style="color:rgb(255, 121, 198)">:root</span><span class="token style language-css"> </span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-custom-blocks-name</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> eightshift-block</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-max-cols</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 12</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-breakpoints-mobile</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 479</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-breakpoints-tablet</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 1279</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-breakpoints-desktop</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 1919</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-breakpoints-large</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 1920</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-containers-default</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 1330px</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-gutters-none</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 0</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-gutters-default</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 25px</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-gutters-big</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 50px</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-section-spacing-min</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> -300</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-section-spacing-max</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 300</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-section-spacing-step</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 10</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-section-in-spacing-min</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 0</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-section-in-spacing-max</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 300</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-section-in-spacing-step</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 10</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-colors-black</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> #111111</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-colors-white</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> #FFFFFF</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"></span><span class="token tag punctuation" style="color:rgb(248, 248, 242)"></</span><span class="token tag" style="color:rgb(255, 121, 198)">style</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>You can use a global variable like any other CSS variable:</p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--global-colors-white</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">--global-colors-white</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="variables">Variables<a href="#variables" class="hash-link" aria-label="Direct link to Variables" title="Direct link to Variables">​</a></h2> <p>As we said in the beginning, all CSS variables are defined within the block/component manifest.</p> <p>To output an attribute as a CSS variable, you need to set the <code>variables</code> key in the block/component <code>manifest</code> and define the variable markdown.</p> @@ -56,41 +56,41 @@ <h2 class="anchor anchorWithStickyNavbar_LWe7" id="default-type">Default type<a <p><strong>Manifest:</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentClass": "typography",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "attributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographySize": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "string",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": "120-default"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographySize": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-size": "120px",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-line-height": "calc(var(--typography-size) * 1.2)"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output:</strong></p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">120</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-line-height</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">144</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 120px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">--typography-line-height</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 144px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="value-type">Value type<a href="#value-type" class="hash-link" aria-label="Direct link to Value type" title="Direct link to Value type">​</a></h2> <p>Variable <code>value</code> will output all variables depending on attributes value. Everything else is the same as in the default type.</p> <p><strong>Manifest:</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentClass": "typography",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "attributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographySize": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "string",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": "120-default"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographySize": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "120-default": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-size": "120px",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-line-height": "calc(var(--typography-size) * 1.2)"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output:</strong></p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">120</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-line-height</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">144</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 120px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">--typography-line-height</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 144px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="editor-variables">Editor variables<a href="#editor-variables" class="hash-link" aria-label="Direct link to Editor variables" title="Direct link to Editor variables">​</a></h2> <p>Editor variables behave just like regular <code>variables</code>, except they are output only inside the Block Editor. They are mostly used for overriding specific behaviour, e.g. showing a hidden element as half-transparent instead of hiding it completely.</p> <p><strong>Manifest:</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentName": "wrapper",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "title": "Wrapper",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentClass": "wrapper",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "attributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHide": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "boolean",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": false</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHide": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "true": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display": "none"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ],</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variablesEditor": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHide": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "true": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display-opacity": "0.5",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display": "var(--wrapper-display-type, grid)"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output:</strong></p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> none</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-display-opacity</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">0.5</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-display-type</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> grid</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> none</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">--wrapper-display-opacity</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 0.5</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">--wrapper-display-type</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> grid</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="manual-variables">Manual variables<a href="#manual-variables" class="hash-link" aria-label="Direct link to Manual variables" title="Direct link to Manual variables">​</a></h2> <p>Custom CSS variables can be generated and output independently from all the attributes through the <code>variablesCustom</code> key. Add it inside the manifest (top level) and add each variable as an array item. Manual variables will be added at the end of the output.</p> <p><strong>Manifest:</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "attributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> // ...</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variablesCustom": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "--variable1: test1",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "--variable2: test2",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "--variable3: test3"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output:</strong></p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--variable1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--variable2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--variable3</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test3</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">--variable1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">--variable2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">--variable3</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test3</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="manual-variables-inside-the-block-editor">Manual variables inside the Block editor<a href="#manual-variables-inside-the-block-editor" class="hash-link" aria-label="Direct link to Manual variables inside the Block editor" title="Direct link to Manual variables inside the Block editor">​</a></h2> <p>If you want to add manual variables that only apply inside the Block editor you can use the <code>variablesCustomEditor</code> key. Everything works the same as described in the <strong>Manual variables</strong> section. If you define both <code>variablesCustomEditor</code> and <code>variables</code>, both will be output in the editor, but only <code>variables</code> will be output on the frontend.</p> <p><strong>Manifest:</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "attributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> // ...</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variablesCustomEditor": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "--variable1: test1",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "--variable2: test2",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "--variable3: test3"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output:</strong></p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--variable1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--variable2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--variable3</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test3</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">--variable1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">--variable2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">--variable3</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test3</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="additional-options-and-examples">Additional options and examples<a href="#additional-options-and-examples" class="hash-link" aria-label="Direct link to Additional options and examples" title="Direct link to Additional options and examples">​</a></h2> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="color">Color<a href="#color" class="hash-link" aria-label="Direct link to Color" title="Direct link to Color">​</a></h3> <p>Here is an example how to output global variable as a css variable.</p> <p><strong>Manifest:</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentClass": "typography",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "attributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographyColor": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "string",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": "white"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographyColor": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-color": "var(--global-colors-white)"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output:</strong></p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--global-colors-white</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">--typography-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">--global-colors-white</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="responsive">Responsive<a href="#responsive" class="hash-link" aria-label="Direct link to Responsive" title="Direct link to Responsive">​</a></h3> <p>All variables are prepared to be responsive. If you set multiple keys in the manifest list that variable will be outputted in the correct media query. Breakpoints are taken from the global manifest and the order of the output breakpoints.</p> <blockquote> @@ -101,7 +101,7 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="responsive">Responsive<a href <p><strong>Manifest:</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentClass": "typography",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "attributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographySize": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "string",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": "120-default"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographySize": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-size": "30px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "breakpoint": "tablet",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-size": "80px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "breakpoint": "large",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-size": "120px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output:</strong></p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector class" style="color:rgb(255, 121, 198)">.typography</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">30</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">min-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> </span><span class="token atrule number">1279</span><span class="token atrule unit">px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector class" style="color:rgb(255, 121, 198)">.typography</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">80</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">min-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> </span><span class="token atrule number">1920</span><span class="token atrule unit">px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector class" style="color:rgb(255, 121, 198)">.typography</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">120</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector" style="color:rgb(255, 121, 198)">.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 30px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">min-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> 1279px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector" style="color:rgb(255, 121, 198)">.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 80px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">min-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> 1920px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector" style="color:rgb(255, 121, 198)">.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 120px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="responsive-inverse">Responsive Inverse<a href="#responsive-inverse" class="hash-link" aria-label="Direct link to Responsive Inverse" title="Direct link to Responsive Inverse">​</a></h3> <p>By default, we use mobile first approach but if you need desktop first you can use <code>inverse: true</code> key.</p> <blockquote> @@ -110,13 +110,13 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="responsive-inverse">Responsiv <p><strong>Manifest:</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentClass": "typography",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "attributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographySize": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "string",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": "120-default"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographySize": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-size": "120px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "breakpoint": "tablet",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "inverse": true,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-size": "80px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "breakpoint": "mobile",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "inverse": true,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-size": "320px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output:</strong></p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector class" style="color:rgb(255, 121, 198)">.typography</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">120</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">max-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> </span><span class="token atrule number">1279</span><span class="token atrule unit">px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector class" style="color:rgb(255, 121, 198)">.typography</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">80</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">max-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> </span><span class="token atrule number">479</span><span class="token atrule unit">px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector class" style="color:rgb(255, 121, 198)">.typography</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">30</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector" style="color:rgb(255, 121, 198)">.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 120px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">max-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> 1279px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector" style="color:rgb(255, 121, 198)">.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 80px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">max-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> 479px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector" style="color:rgb(255, 121, 198)">.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 30px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="attribute-value-replacement">Attribute value replacement<a href="#attribute-value-replacement" class="hash-link" aria-label="Direct link to Attribute value replacement" title="Direct link to Attribute value replacement">​</a></h3> <p>Attribute value replacement variable is used to return the attribute value where you want it in the css variables. To use it just put <code>%value%</code> in you css variables.</p> <p><strong>Manifest:</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentClass": "typography",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "attributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographySize": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "string",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": "120"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographySize": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-size": "30px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "breakpoint": "tablet",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-size": "80px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "breakpoint": "large",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-size": "%value%px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output:</strong></p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector class" style="color:rgb(255, 121, 198)">.typography</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">30</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">min-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> </span><span class="token atrule number">1279</span><span class="token atrule unit">px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector class" style="color:rgb(255, 121, 198)">.typography</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">80</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">min-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> </span><span class="token atrule number">1920</span><span class="token atrule unit">px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector class" style="color:rgb(255, 121, 198)">.typography</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">120</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector" style="color:rgb(255, 121, 198)">.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 30px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">min-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> 1279px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector" style="color:rgb(255, 121, 198)">.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 80px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">min-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> 1920px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector" style="color:rgb(255, 121, 198)">.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 120px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="responsive-variables">Responsive variables<a href="#responsive-variables" class="hash-link" aria-label="Direct link to Responsive variables" title="Direct link to Responsive variables">​</a></h2> <p>Responsive variables are used for eliminating unnecessary code duplication. For example, if you have 4 separate attributes used for setting a responsive variable where all the attributes have the same output (e.g. <code>%value%</code>), the variables can get cluttered rather quickly.</p> <p>In a top-level manifest key <code>responsiveAttributes</code>, you can place a new key (e.g. <code>wrapperHide</code>) that represents a common key for your responsive variables. Inside of it, you can list your responsive variables (e.g. <code>wrapperHideLarge</code>, <code>wrapperHideDesktop</code>, <code>wrapperHideTablet</code>, <code>wrapperHideMobile</code>) as a key-value pair. The key represents a breakpoint name, and the value represents responsive variable(<code>breakpoint</code>: <code>responsiveVariableName</code>). Afterwards, you can add that common key inside the <code>variables</code> (and/or <code>variablesEditor</code>) key and configure the output template.</p> @@ -132,10 +132,10 @@ <h2 class="anchor anchorWithStickyNavbar_LWe7" id="responsive-variables">Respons <p><strong>Transformed:</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentName": "wrapper",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "title": "Wrapper",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentClass": "wrapper",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "attributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHide": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "boolean",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": false</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "responsiveAttributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHideLarge": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "boolean",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": false</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHideDesktop": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "boolean"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHideTablet": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "boolean"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHideLarge": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "true": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display": "none"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ],</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "false": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display": "var(--wrapper-display-type, grid)"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHideDesktop": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "true": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "inverse": true,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "breakpoint": "desktop",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display": "none"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ],</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "false": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "inverse": true,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "breakpoint": "desktop",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display": "var(--wrapper-display-type, grid)"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHideTablet": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "true": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "inverse": true,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "breakpoint": "desktop",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display": "none"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ],</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "false": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "inverse": true,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "breakpoint": "desktop",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display": "var(--wrapper-display-type, grid)"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output</strong></p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector class" style="color:rgb(255, 121, 198)">.wrapper</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-display-type</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> grid</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">max-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> </span><span class="token atrule number">1920</span><span class="token atrule unit">px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector class" style="color:rgb(255, 121, 198)">.wrapper</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> none</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">max-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> </span><span class="token atrule number">1279</span><span class="token atrule unit">px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector class" style="color:rgb(255, 121, 198)">.wrapper</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-display-type</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> grid</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector" style="color:rgb(255, 121, 198)">.wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">--wrapper-display-type</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> grid</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">max-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> 1920px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector" style="color:rgb(255, 121, 198)">.wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> none</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">max-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> 1279px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector" style="color:rgb(255, 121, 198)">.wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">--wrapper-display-type</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> grid</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Example 2</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentName": "wrapper",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "title": "Wrapper",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentClass": "wrapper",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "attributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHideLarge": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "boolean",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": false</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHideDesktop": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "boolean"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHideTablet": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "boolean"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "responsiveAttributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHide": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "large": "wrapperHideLarge",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "desktop": "wrapperHideDesktop",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "tablet": "wrapperHideTablet"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHide": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "true": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "inverse": true,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display": "none"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ],</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "false": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "inverse": true,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display": "var(--wrapper-display-type, grid)"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHideLarge": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "true": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "inverse": true,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display": "block",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-opacity": 0</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ],</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output</strong></p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector class" style="color:rgb(255, 121, 198)">.wrapper</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> none</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> block</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-opacity</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">0</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/legacy/v6/basics/blocks-reusable"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Reusable Blocks</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/legacy/v6/basics/blocks-storybook"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Storybook</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#setup" class="table-of-contents__link toc-highlight">Setup</a></li><li><a href="#details" class="table-of-contents__link toc-highlight">Details</a></li><li><a href="#global-variables" class="table-of-contents__link toc-highlight">Global variables</a></li><li><a href="#variables" class="table-of-contents__link toc-highlight">Variables</a></li><li><a href="#default-type" class="table-of-contents__link toc-highlight">Default type</a></li><li><a href="#value-type" class="table-of-contents__link toc-highlight">Value type</a></li><li><a href="#editor-variables" class="table-of-contents__link toc-highlight">Editor variables</a></li><li><a href="#manual-variables" class="table-of-contents__link toc-highlight">Manual variables</a></li><li><a href="#manual-variables-inside-the-block-editor" class="table-of-contents__link toc-highlight">Manual variables inside the Block editor</a></li><li><a href="#additional-options-and-examples" class="table-of-contents__link toc-highlight">Additional options and examples</a><ul><li><a href="#color" class="table-of-contents__link toc-highlight">Color</a></li><li><a href="#responsive" class="table-of-contents__link toc-highlight">Responsive</a></li><li><a href="#responsive-inverse" class="table-of-contents__link toc-highlight">Responsive Inverse</a></li><li><a href="#attribute-value-replacement" class="table-of-contents__link toc-highlight">Attribute value replacement</a></li></ul></li><li><a href="#responsive-variables" class="table-of-contents__link toc-highlight">Responsive variables</a></li></ul></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector" style="color:rgb(255, 121, 198)">.wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> none</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> block</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--wrapper-opacity</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 0</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/legacy/v6/basics/blocks-reusable"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Reusable Blocks</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/legacy/v6/basics/blocks-storybook"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Storybook</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#setup" class="table-of-contents__link toc-highlight">Setup</a></li><li><a href="#details" class="table-of-contents__link toc-highlight">Details</a></li><li><a href="#global-variables" class="table-of-contents__link toc-highlight">Global variables</a></li><li><a href="#variables" class="table-of-contents__link toc-highlight">Variables</a></li><li><a href="#default-type" class="table-of-contents__link toc-highlight">Default type</a></li><li><a href="#value-type" class="table-of-contents__link toc-highlight">Value type</a></li><li><a href="#editor-variables" class="table-of-contents__link toc-highlight">Editor variables</a></li><li><a href="#manual-variables" class="table-of-contents__link toc-highlight">Manual variables</a></li><li><a href="#manual-variables-inside-the-block-editor" class="table-of-contents__link toc-highlight">Manual variables inside the Block editor</a></li><li><a href="#additional-options-and-examples" class="table-of-contents__link toc-highlight">Additional options and examples</a><ul><li><a href="#color" class="table-of-contents__link toc-highlight">Color</a></li><li><a href="#responsive" class="table-of-contents__link toc-highlight">Responsive</a></li><li><a href="#responsive-inverse" class="table-of-contents__link toc-highlight">Responsive Inverse</a></li><li><a href="#attribute-value-replacement" class="table-of-contents__link toc-highlight">Attribute value replacement</a></li></ul></li><li><a href="#responsive-variables" class="table-of-contents__link toc-highlight">Responsive variables</a></li></ul></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> </body> </html> \ No newline at end of file diff --git a/docs/legacy/v6/basics/blocks-transforms/index.html b/docs/legacy/v6/basics/blocks-transforms/index.html index 472d29a23..7cb34aa6e 100644 --- a/docs/legacy/v6/basics/blocks-transforms/index.html +++ b/docs/legacy/v6/basics/blocks-transforms/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v6/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v6</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Transforms</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Transforms</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v6/basics/blocks-variations/index.html b/docs/legacy/v6/basics/blocks-variations/index.html index f48b721de..d3d6451cf 100644 --- a/docs/legacy/v6/basics/blocks-variations/index.html +++ b/docs/legacy/v6/basics/blocks-variations/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v6/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v6</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Variations</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Variations</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v6/basics/blocks-wrapper/index.html b/docs/legacy/v6/basics/blocks-wrapper/index.html index b788f9600..f4c422716 100644 --- a/docs/legacy/v6/basics/blocks-wrapper/index.html +++ b/docs/legacy/v6/basics/blocks-wrapper/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v6/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v6</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Wrapper</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Wrapper</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v6/basics/blocks/index.html b/docs/legacy/v6/basics/blocks/index.html index 5f0bb8f01..6d8022ece 100644 --- a/docs/legacy/v6/basics/blocks/index.html +++ b/docs/legacy/v6/basics/blocks/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v6</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Blocks</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Blocks</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v6/basics/browser-sync/index.html b/docs/legacy/v6/basics/browser-sync/index.html index e58920d03..6875f1ff5 100644 --- a/docs/legacy/v6/basics/browser-sync/index.html +++ b/docs/legacy/v6/basics/browser-sync/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/frontend">Frontend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/frontend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/webpack">Webpack</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/library">SCSS Library</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/global-settings">Global Settings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/writing-styles">Writing Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/fonts">Fonts</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v6/basics/browser-sync">Browsersync</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/dynamic-import">Dynamic Import</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v6</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Frontend</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Browsersync</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Browsersync</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v6/basics/dynamic-import/index.html b/docs/legacy/v6/basics/dynamic-import/index.html index 1234a079c..b63529ee8 100644 --- a/docs/legacy/v6/basics/dynamic-import/index.html +++ b/docs/legacy/v6/basics/dynamic-import/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/frontend">Frontend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/frontend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/webpack">Webpack</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/library">SCSS Library</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/global-settings">Global Settings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/writing-styles">Writing Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/fonts">Fonts</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/browser-sync">Browsersync</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v6/basics/dynamic-import">Dynamic Import</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v6</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Frontend</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Dynamic Import</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Dynamic Import</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v6/basics/example-class/index.html b/docs/legacy/v6/basics/example-class/index.html index d2823d20e..10c6ef60c 100644 --- a/docs/legacy/v6/basics/example-class/index.html +++ b/docs/legacy/v6/basics/example-class/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/backend">Backend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/backend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/namespaces">Namespaces</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/autowiring">Autowiring</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v6/basics/example-class">Example Class</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/manifest">Assets Manifest</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/rest">Rest</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v6</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Backend</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Example Class</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Example Class</h1></header><p><a href="https://github.com/infinum/eightshift-libs/tree/4.0.0" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v6/basics/extending-classes/index.html b/docs/legacy/v6/basics/extending-classes/index.html index aad62cae0..d6b602e0f 100644 --- a/docs/legacy/v6/basics/extending-classes/index.html +++ b/docs/legacy/v6/basics/extending-classes/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/backend">Backend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/backend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/namespaces">Namespaces</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v6/basics/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/autowiring">Autowiring</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/example-class">Example Class</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/manifest">Assets Manifest</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/rest">Rest</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v6</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Backend</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Extending Classes</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Extending Classes</h1></header><p><a href="https://github.com/infinum/eightshift-libs/tree/4.0.0" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v6/basics/fonts/index.html b/docs/legacy/v6/basics/fonts/index.html index 13d8eef1e..a9575d36f 100644 --- a/docs/legacy/v6/basics/fonts/index.html +++ b/docs/legacy/v6/basics/fonts/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/frontend">Frontend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/frontend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/webpack">Webpack</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/library">SCSS Library</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/global-settings">Global Settings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/writing-styles">Writing Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v6/basics/fonts">Fonts</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/browser-sync">Browsersync</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/dynamic-import">Dynamic Import</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v6</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Frontend</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Fonts</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Fonts</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> @@ -24,7 +24,7 @@ <ul> <li>Put your font files in this folder: <code>assets/fonts</code>.</li> <li>Import each file in the <code>assets/fonts/index.js</code> so that Webpack knows how to process these files in its build process.</li> -<li>In your project, load the font family using font-face <a href="/sass">method</a>. We recommend that you create a new file <code>assets/styles/parts/utils/_defaults.scss</code> and put everything in that file.</li> +<li>In your project, load the font family using font-face <a href="/docs/basics/library">method</a>. We recommend that you create a new file <code>assets/styles/parts/utils/_defaults.scss</code> and put everything in that file.</li> </ul></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/legacy/v6/basics/writing-styles"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Writing Styles</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/legacy/v6/basics/browser-sync"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Browsersync</div></a></nav></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> </body> </html> \ No newline at end of file diff --git a/docs/legacy/v6/basics/frontend/index.html b/docs/legacy/v6/basics/frontend/index.html index 90f31d02c..ac67217f3 100644 --- a/docs/legacy/v6/basics/frontend/index.html +++ b/docs/legacy/v6/basics/frontend/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/frontend">Frontend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v6/basics/frontend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/webpack">Webpack</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/library">SCSS Library</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/global-settings">Global Settings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/writing-styles">Writing Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/fonts">Fonts</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/browser-sync">Browsersync</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/dynamic-import">Dynamic Import</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v6</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Frontend</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">General</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>General</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v6/basics/global-settings/index.html b/docs/legacy/v6/basics/global-settings/index.html index 5580b5857..12440f643 100644 --- a/docs/legacy/v6/basics/global-settings/index.html +++ b/docs/legacy/v6/basics/global-settings/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/frontend">Frontend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/frontend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/webpack">Webpack</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/library">SCSS Library</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v6/basics/global-settings">Global Settings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/writing-styles">Writing Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/fonts">Fonts</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/browser-sync">Browsersync</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/dynamic-import">Dynamic Import</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v6</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Frontend</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Global Settings</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Global Settings</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> @@ -34,30 +34,30 @@ <h2 class="anchor anchorWithStickyNavbar_LWe7" id="how-does-this-work">How does <p>You have the file <code>src/Blocks/manifest.json</code> that has a key called <code>globalVariables</code>. We use this key and build the SCSS maps that you can use in your style files.</p> <p>Mind-blowing, right?</p> <p>To use it, write your style in the <code>manifest.json</code> under the <code>globalVariables</code> key, and you can use that variable in your style files like this:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$base-col-number: global-settings(maxCols);</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$base-col-number</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">maxCols</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>Keep in mind that the <code>global-settings</code> is a function that checks the <code>globalVariables</code> map and returns the value depending on the key provided.</p> <p>For example, if you have something like this in your <code>manifest.json</code>:</p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "globalVariables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "maxCols": 12,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "gutters": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "none": "0",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": "25px",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "big": "50px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "colors": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "name": "Primary",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "slug": "primary",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "color": "#3E3E3E"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "name": "Black",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "slug": "black",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "color": "#000000"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="scenario-1">Scenario 1:<a href="#scenario-1" class="hash-link" aria-label="Direct link to Scenario 1:" title="Direct link to Scenario 1:">​</a></h3> <p>You type this in you SCSS files:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$base-col-number: global-settings(maxCols);</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$base-col-number</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">maxCols</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>the output will be: <strong>12</strong></p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="scenario-2">Scenario 2:<a href="#scenario-2" class="hash-link" aria-label="Direct link to Scenario 2:" title="Direct link to Scenario 2:">​</a></h3> <p>You type this in you SCSS files:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$gutters: global-settings(gutters);</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$gutters</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">gutters</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>the output will be a map that you need to loop or fetch individual files using <code>get-map-strict</code> or <code>get-map-deep</code> function:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$gutters: (</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "none": "0",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": "25px",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "big": "50px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">);</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$gutters</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"none"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"0"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"default"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"25px"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"big"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"50px"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>so you can call it like this:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">width: get-map-strict($gutters, default);</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">width</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">get-map-strict</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$gutters</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> default</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="scenario-3">Scenario 3:<a href="#scenario-3" class="hash-link" aria-label="Direct link to Scenario 3:" title="Direct link to Scenario 3:">​</a></h3> <p>"I want to output colors, but they don't follow the structure you mentioned before. Why is that?"</p> <p>Yes, colors are different because we use this manifest to output the colors to the block editors' color palette. Only the colors are like this.</p> <p>Type this into your SCSS files:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$primary-color: global-settings(colors, primary),</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">$black-color: global-settings(colors, black),</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$primary-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">colors</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> primary</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$black-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">colors</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token color">black</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>The output will be:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$primary-color: #3E3E3E;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">$black-color: #000000;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$primary-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token hexcode color">#3E3E3E</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$black-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token hexcode color">#000000</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>so you use it the normal SCSS way:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">color: $primary-color;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">background-color: $black-color;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$primary-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">background-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$black-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <blockquote> <p>If you add/remove/change any value in the <code>manifest.json</code> file, please restart your Webpack watch because it won't recognize that change.</p> </blockquote></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/legacy/v6/basics/library"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">SCSS Library</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/legacy/v6/basics/writing-styles"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Writing Styles</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#why-do-we-use-this" class="table-of-contents__link toc-highlight">Why do we use this?</a></li><li><a href="#how-does-this-work" class="table-of-contents__link toc-highlight">How does this work?</a><ul><li><a href="#scenario-1" class="table-of-contents__link toc-highlight">Scenario 1:</a></li><li><a href="#scenario-2" class="table-of-contents__link toc-highlight">Scenario 2:</a></li><li><a href="#scenario-3" class="table-of-contents__link toc-highlight">Scenario 3:</a></li></ul></li></ul></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/docs/legacy/v6/basics/helpers-javascript/index.html b/docs/legacy/v6/basics/helpers-javascript/index.html index d5fcd46b1..84dd4fa94 100644 --- a/docs/legacy/v6/basics/helpers-javascript/index.html +++ b/docs/legacy/v6/basics/helpers-javascript/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/helpers">Helpers</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v6/basics/helpers-javascript">JavaScript</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/helpers-scss">Scss</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/helpers-php">PHP</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v6</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Helpers</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">JavaScript</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v6/basics/helpers-php/index.html b/docs/legacy/v6/basics/helpers-php/index.html index 62ec626a5..1bf8e7619 100644 --- a/docs/legacy/v6/basics/helpers-php/index.html +++ b/docs/legacy/v6/basics/helpers-php/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/helpers">Helpers</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/helpers-javascript">JavaScript</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/helpers-scss">Scss</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v6/basics/helpers-php">PHP</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v6</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Helpers</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">PHP</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>PHP</h1></header><p><a href="https://github.com/infinum/eightshift-libs/tree/4.0.0" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v6/basics/helpers-scss/index.html b/docs/legacy/v6/basics/helpers-scss/index.html index fe7bdf780..51b2e0a52 100644 --- a/docs/legacy/v6/basics/helpers-scss/index.html +++ b/docs/legacy/v6/basics/helpers-scss/index.html @@ -14,14 +14,14 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/helpers">Helpers</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/helpers-javascript">JavaScript</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v6/basics/helpers-scss">Scss</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/helpers-php">PHP</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v6</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Helpers</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Scss</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Scss</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> <p>For years, we have collected a list of useful SASS mixins, placeholders, and functions you can use in a project. You don't need to have all of this in your project. Check out our documentation and see what we have in store for you.</p> -<p><strong>Visit <a href="/sass">SassDocs</a> for more details.</strong></p> +<p><strong>Visit <a href="/docs/basics/library">SassDocs</a> for more details.</strong></p> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="default-usage">Default usage<a href="#default-usage" class="hash-link" aria-label="Direct link to Default usage" title="Direct link to Default usage">​</a></h2> <p>Eightshift Frontend Libs styles library is already implemented in your WordPress project, so you don't need to worry about implementation.</p> <p>All our sass mixing, functions and helpers are located in <code>node_modules/@eighshift/frontent-libs/styles/scss/eightshift-frontend-libs.scss</code> file.</p> @@ -31,6 +31,6 @@ <h2 class="anchor anchorWithStickyNavbar_LWe7" id="usage-outside-of-eightshift-b <p>In your terminal, install Eightshift Frontend Libs package:</p> <div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">npm install @eightshift/frontend-libs</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>and add this import in your project:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">@import '@eightshift/frontend-libs/styles/index.scss';</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/legacy/v6/basics/helpers-javascript"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">JavaScript</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/legacy/v6/basics/helpers-php"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">PHP</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#default-usage" class="table-of-contents__link toc-highlight">Default usage</a></li><li><a href="#usage-outside-of-eightshift-boilerplate" class="table-of-contents__link toc-highlight">Usage outside of Eightshift Boilerplate</a></li></ul></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@import</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'@eightshift/frontend-libs/styles/index.scss'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/legacy/v6/basics/helpers-javascript"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">JavaScript</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/legacy/v6/basics/helpers-php"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">PHP</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#default-usage" class="table-of-contents__link toc-highlight">Default usage</a></li><li><a href="#usage-outside-of-eightshift-boilerplate" class="table-of-contents__link toc-highlight">Usage outside of Eightshift Boilerplate</a></li></ul></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> </body> </html> \ No newline at end of file diff --git a/docs/legacy/v6/basics/helpers/index.html b/docs/legacy/v6/basics/helpers/index.html index 6406dc3fa..6ebbda295 100644 --- a/docs/legacy/v6/basics/helpers/index.html +++ b/docs/legacy/v6/basics/helpers/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/helpers">Helpers</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v6/basics/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/helpers-javascript">JavaScript</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/helpers-scss">Scss</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/helpers-php">PHP</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v6</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Helpers</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Helpers</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Helpers</h1></header><p>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:</p> diff --git a/docs/legacy/v6/basics/library/index.html b/docs/legacy/v6/basics/library/index.html index e0ea19ec7..7ee2c4b32 100644 --- a/docs/legacy/v6/basics/library/index.html +++ b/docs/legacy/v6/basics/library/index.html @@ -14,19 +14,19 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/frontend">Frontend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/frontend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/webpack">Webpack</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v6/basics/library">SCSS Library</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/global-settings">Global Settings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/writing-styles">Writing Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/fonts">Fonts</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/browser-sync">Browsersync</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/dynamic-import">Dynamic Import</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v6</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Frontend</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">SCSS Library</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>SCSS Library</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> <p>Eightshift Frontend Libs contains a collection of useful SCSS mixins, functions and helpers you can use in projects.</p> <p>For years, we have collected a list of them. At one point, we felt it was ineffective to copy-paste code across multiple projects, so we created Eightshift Frontend Libs. This allows you to use whatever we offer without all that unnecessary clutter.</p> <p>Check out our documentation and import what you need from Eightshift Frontend Libs.</p> -<p><strong>Visit <a href="/sass">SassDocs</a> for more details.</strong></p> +<p><strong>Visit <a href="/docs/basics/library">SassDocs</a> for more details.</strong></p> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="how-to-use-it">How to use it<a href="#how-to-use-it" class="hash-link" aria-label="Direct link to How to use it" title="Direct link to How to use it">​</a></h2> <p>SCSS mixins, functions, and helpers are located in Eightshift Frontend Libs. Therefore, if you are using our Webpack build, you are all set. You can use it by importing it into your project like this:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">@import '@eightshift/frontend-libs/styles/index.scss';</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@import</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'@eightshift/frontend-libs/styles/index.scss'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>However, if you used our <code>wp boilerplate setup_theme</code> command, you are all set. Eightshift Frontend Libs are injected in the <code>_shared.scss</code> file in your project.</p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/legacy/v6/basics/webpack"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Webpack</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/legacy/v6/basics/global-settings"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Global Settings</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#how-to-use-it" class="table-of-contents__link toc-highlight">How to use it</a></li></ul></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> </body> </html> \ No newline at end of file diff --git a/docs/legacy/v6/basics/manifest/index.html b/docs/legacy/v6/basics/manifest/index.html index d4ca2a77d..6cf04331a 100644 --- a/docs/legacy/v6/basics/manifest/index.html +++ b/docs/legacy/v6/basics/manifest/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/backend">Backend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/backend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/namespaces">Namespaces</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/autowiring">Autowiring</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/example-class">Example Class</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v6/basics/manifest">Assets Manifest</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/rest">Rest</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v6</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Backend</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Assets Manifest</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Assets Manifest</h1></header><p><a href="https://github.com/infinum/eightshift-libs/tree/4.0.0" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v6/basics/namespaces/index.html b/docs/legacy/v6/basics/namespaces/index.html index 009ed8f1f..81d45056b 100644 --- a/docs/legacy/v6/basics/namespaces/index.html +++ b/docs/legacy/v6/basics/namespaces/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/backend">Backend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/backend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v6/basics/namespaces">Namespaces</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/autowiring">Autowiring</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/example-class">Example Class</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/manifest">Assets Manifest</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/rest">Rest</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v6</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Backend</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Namespaces</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Namespaces</h1></header><p><a href="https://github.com/infinum/eightshift-libs/tree/4.0.0" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v6/basics/rest-field/index.html b/docs/legacy/v6/basics/rest-field/index.html index 2ec687cf9..8544ed335 100644 --- a/docs/legacy/v6/basics/rest-field/index.html +++ b/docs/legacy/v6/basics/rest-field/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/backend">Backend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/backend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/namespaces">Namespaces</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/autowiring">Autowiring</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/example-class">Example Class</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/manifest">Assets Manifest</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/rest">Rest</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/rest">REST Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v6/basics/rest-field">REST Field</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/rest-route">REST Route</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v6</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Backend</span><meta itemprop="position" content="4"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Rest</span><meta itemprop="position" content="5"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">REST Field</span><meta itemprop="position" content="6"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>REST Field</h1></header><p><a href="https://github.com/infinum/eightshift-libs/tree/4.0.0" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v6/basics/rest-route/index.html b/docs/legacy/v6/basics/rest-route/index.html index 22b6b7ada..1208445a8 100644 --- a/docs/legacy/v6/basics/rest-route/index.html +++ b/docs/legacy/v6/basics/rest-route/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/backend">Backend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/backend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/namespaces">Namespaces</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/autowiring">Autowiring</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/example-class">Example Class</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/manifest">Assets Manifest</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/rest">Rest</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/rest">REST Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/rest-field">REST Field</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v6/basics/rest-route">REST Route</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v6</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Backend</span><meta itemprop="position" content="4"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Rest</span><meta itemprop="position" content="5"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">REST Route</span><meta itemprop="position" content="6"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>REST Route</h1></header><p><a href="https://github.com/infinum/eightshift-libs/tree/4.0.0" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v6/basics/rest/index.html b/docs/legacy/v6/basics/rest/index.html index 97a41628f..11927779b 100644 --- a/docs/legacy/v6/basics/rest/index.html +++ b/docs/legacy/v6/basics/rest/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/backend">Backend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/backend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/namespaces">Namespaces</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/autowiring">Autowiring</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/example-class">Example Class</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/manifest">Assets Manifest</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/rest">Rest</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v6/basics/rest">REST Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/rest-field">REST Field</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/rest-route">REST Route</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v6</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Backend</span><meta itemprop="position" content="4"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Rest</span><meta itemprop="position" content="5"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">REST Intro</span><meta itemprop="position" content="6"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>REST Intro</h1></header><p><a href="https://github.com/infinum/eightshift-libs/tree/4.0.0" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v6/basics/tips-tricks/index.html b/docs/legacy/v6/basics/tips-tricks/index.html index abb515f4e..5fdd619fd 100644 --- a/docs/legacy/v6/basics/tips-tricks/index.html +++ b/docs/legacy/v6/basics/tips-tricks/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v6/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v6</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Tips & Tricks</span><meta itemprop="position" content="4"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Tips & Tricks</h1></header><p>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.</p> diff --git a/docs/legacy/v6/basics/webpack/index.html b/docs/legacy/v6/basics/webpack/index.html index 48547c176..579fa392e 100644 --- a/docs/legacy/v6/basics/webpack/index.html +++ b/docs/legacy/v6/basics/webpack/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/frontend">Frontend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/frontend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v6/basics/webpack">Webpack</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/library">SCSS Library</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/global-settings">Global Settings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/writing-styles">Writing Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/fonts">Fonts</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/browser-sync">Browsersync</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/dynamic-import">Dynamic Import</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v6</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Frontend</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Webpack</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Webpack</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v6/basics/wp-cli/index.html b/docs/legacy/v6/basics/wp-cli/index.html index e0792e31b..c667e4e61 100644 --- a/docs/legacy/v6/basics/wp-cli/index.html +++ b/docs/legacy/v6/basics/wp-cli/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v6/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v6</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">WP-CLI</span><meta itemprop="position" content="4"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>WP-CLI</h1></header><p><a href="https://github.com/infinum/eightshift-libs/tree/4.0.0" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v6/basics/writing-styles/index.html b/docs/legacy/v6/basics/writing-styles/index.html index 83c25ae64..8ec9a088b 100644 --- a/docs/legacy/v6/basics/writing-styles/index.html +++ b/docs/legacy/v6/basics/writing-styles/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/basics/frontend">Frontend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/frontend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/webpack">Webpack</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/library">SCSS Library</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/global-settings">Global Settings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v6/basics/writing-styles">Writing Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/fonts">Fonts</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/browser-sync">Browsersync</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/dynamic-import">Dynamic Import</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v6/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v6</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Frontend</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Writing Styles</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Writing Styles</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/5.0.0" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> @@ -41,21 +41,21 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="all-external-variables-must-g <li>you can have multiple values with the same name and just change the top-level map,</li> <li>etc.</li> </ul> -<p>We also have many helpers, which you can check in our <a href="/sass">SASS docs</a>.</p> +<p>We also have many helpers, which you can check in our <a href="/docs/basics/library">SASS docs</a>.</p> <p>In the component map, you should only add things that you will reuse in your component.</p> <p><strong>Examples:</strong></p> <p>A simple variable in a map:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$social-links: (</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> icon-color: global-settings(colors, black),</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">.social-links {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> color: map-get-strict($social-links, icon-color);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$social-links</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">icon-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">colors</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token color">black</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token selector" style="color:rgb(255, 121, 198)">.social-links </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">map-get-strict</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$social-links</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> icon-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>Nested variables in a map:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$social-links: (</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> colors: (</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> dark: global-settings(colors, black),</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> light: global-settings(colors, white),</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ),</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> sizes: (</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> small: 10px,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> big: 20px,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> )</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">.social-links {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> color: map-get-deep($social-links, colors, dark);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> &--light {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> color: map-get-deep($social-links, colors, light);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> &__sizes {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> font-size: map-get-deep($social-links, sizes, small);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> &--big {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> font-size: map-get-deep($social-links, sizes, big);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$social-links</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">colors</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">dark</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">colors</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token color">black</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">light</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">colors</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token color">white</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">sizes</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">small</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">10</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">big</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">20</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token selector" style="color:rgb(255, 121, 198)">.social-links </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">map-get-deep</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$social-links</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> colors</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> dark</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector parent important" style="color:rgb(255, 121, 198)">&</span><span class="token selector" style="color:rgb(255, 121, 198)">--light </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">map-get-deep</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$social-links</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> colors</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> light</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector parent important" style="color:rgb(255, 121, 198)">&</span><span class="token selector" style="color:rgb(255, 121, 198)">__sizes </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">font-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">map-get-deep</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$social-links</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> sizes</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> small</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector parent important" style="color:rgb(255, 121, 198)">&</span><span class="token selector" style="color:rgb(255, 121, 198)">--big </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">font-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">map-get-deep</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$social-links</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> sizes</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> big</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="never-mix-multiple-maps-in-a-single-component">Never mix multiple maps in a single component<a href="#never-mix-multiple-maps-in-a-single-component" class="hash-link" aria-label="Direct link to Never mix multiple maps in a single component" title="Direct link to Never mix multiple maps in a single component">​</a></h3> <p>You want all your styles to be contained to a single component and not dependent on external components. Sometimes this can't be avoided.</p> <p>In that case, you should define a key in the component variable for the external map and define it like this:</p> <p><strong>Example:</strong></p> <p>External map in <code>assets/styles/parts/utils/_z-index.scss</code>:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$zindex: (</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> header: 100,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> drawer: 99,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> overlay: 98,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">);</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$zindex</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">header</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">100</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">drawer</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">99</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">overlay</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">98</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>Your component:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$header: (</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> index: map-get-strict($zindex, header),</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">.header {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> z-index: map-get-strict($header, index);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$header</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">index</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">map-get-strict</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$zindex</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> header</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token selector" style="color:rgb(255, 121, 198)">.header </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">z-index</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">map-get-strict</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$header</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> index</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="where-can-i-define-global-typography-for-all-my-blockscomponents">Where can I define global typography for all my blocks/components?<a href="#where-can-i-define-global-typography-for-all-my-blockscomponents" class="hash-link" aria-label="Direct link to Where can I define global typography for all my blocks/components?" title="Direct link to Where can I define global typography for all my blocks/components?">​</a></h3> <p>Well, nowhere. Try to move your way of thinking from Bootstrap or any other front-end framework where you define global typography in one place.</p> <p>Why is that? Because we use component-based development and you should think in that way. Each component is responsible for its own styles.</p> diff --git a/docs/legacy/v6/versions/index.html b/docs/legacy/v6/versions/index.html index ee0e586b5..61dfe6836 100644 --- a/docs/legacy/v6/versions/index.html +++ b/docs/legacy/v6/versions/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v6/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/basics/basics-intro">Basics</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v6</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Versions</span><meta itemprop="position" content="3"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Versions</h1></header><p>Now that you understand what makes the Eightshift Development Kit tick, here is a quick reminder about what library versions this documentation refers to.</p> diff --git a/docs/legacy/v7/basics/architecture-concepts/index.html b/docs/legacy/v7/basics/architecture-concepts/index.html index 8c54acd4e..5a9e7b76f 100644 --- a/docs/legacy/v7/basics/architecture-concepts/index.html +++ b/docs/legacy/v7/basics/architecture-concepts/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v7/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v7</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Architecture concepts</span><meta itemprop="position" content="4"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Architecture concepts</h1></header><h2 class="anchor anchorWithStickyNavbar_LWe7" id="project-structure">Project structure<a href="#project-structure" class="hash-link" aria-label="Direct link to Project structure" title="Direct link to Project structure">​</a></h2> diff --git a/docs/legacy/v7/basics/autowiring/index.html b/docs/legacy/v7/basics/autowiring/index.html index 7d76ba56e..7248334a8 100644 --- a/docs/legacy/v7/basics/autowiring/index.html +++ b/docs/legacy/v7/basics/autowiring/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/backend">Backend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/backend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/namespaces">Namespaces</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v7/basics/autowiring">Autowiring</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/example-class">Example Class</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/manifest">Assets Manifest</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/rest">Rest</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v7</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Backend</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Autowiring</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Autowiring</h1></header><p><a href="https://github.com/infinum/eightshift-libs/tree/5.0.0" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v7/basics/backend/index.html b/docs/legacy/v7/basics/backend/index.html index d53095f05..2ba46e085 100644 --- a/docs/legacy/v7/basics/backend/index.html +++ b/docs/legacy/v7/basics/backend/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/backend">Backend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v7/basics/backend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/namespaces">Namespaces</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/autowiring">Autowiring</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/example-class">Example Class</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/manifest">Assets Manifest</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/rest">Rest</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v7</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Backend</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">General</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>General</h1></header><p><a href="https://github.com/infinum/eightshift-libs/tree/5.0.0" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v7/basics/basics-intro/index.html b/docs/legacy/v7/basics/basics-intro/index.html index e814e916b..3a86c62ea 100644 --- a/docs/legacy/v7/basics/basics-intro/index.html +++ b/docs/legacy/v7/basics/basics-intro/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v7</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Basics</span><meta itemprop="position" content="4"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Basics</h1></header><p>Prior to WordPress 5.0, themes were mostly PHP-based, with JavaScript used only to provide interactive functionality on the website. diff --git a/docs/legacy/v7/basics/block-manifest/index.html b/docs/legacy/v7/basics/block-manifest/index.html index 2902ad7f4..3ae4df7cc 100644 --- a/docs/legacy/v7/basics/block-manifest/index.html +++ b/docs/legacy/v7/basics/block-manifest/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v7/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v7</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Block Manifest</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Block Manifest</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v7/basics/block-structure/index.html b/docs/legacy/v7/basics/block-structure/index.html index 4854c76d8..6b69ee5af 100644 --- a/docs/legacy/v7/basics/block-structure/index.html +++ b/docs/legacy/v7/basics/block-structure/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v7/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v7</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Block Structure</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Block Structure</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v7/basics/blocks-attributes/index.html b/docs/legacy/v7/basics/blocks-attributes/index.html index 5cb87760f..1585192f0 100644 --- a/docs/legacy/v7/basics/blocks-attributes/index.html +++ b/docs/legacy/v7/basics/blocks-attributes/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v7/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v7</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Attributes</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Attributes</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v7/basics/blocks-component-in-block/index.html b/docs/legacy/v7/basics/blocks-component-in-block/index.html index f8c55cc57..3792fdfd9 100644 --- a/docs/legacy/v7/basics/blocks-component-in-block/index.html +++ b/docs/legacy/v7/basics/blocks-component-in-block/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v7</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Component in a Block</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Component in a Block</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v7/basics/blocks-component-manifest/index.html b/docs/legacy/v7/basics/blocks-component-manifest/index.html index a46b286c9..7620cff2e 100644 --- a/docs/legacy/v7/basics/blocks-component-manifest/index.html +++ b/docs/legacy/v7/basics/blocks-component-manifest/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v7</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Component Manifest</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Component Manifest</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v7/basics/blocks-component-structure/index.html b/docs/legacy/v7/basics/blocks-component-structure/index.html index 7db57dd09..ac212ea10 100644 --- a/docs/legacy/v7/basics/blocks-component-structure/index.html +++ b/docs/legacy/v7/basics/blocks-component-structure/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v7</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Component Structure</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Component Structure</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v7/basics/blocks-faq/index.html b/docs/legacy/v7/basics/blocks-faq/index.html index c16c5a5d0..0830d9227 100644 --- a/docs/legacy/v7/basics/blocks-faq/index.html +++ b/docs/legacy/v7/basics/blocks-faq/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v7/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v7</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Faq</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Faq</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v7/basics/blocks-global-manifest/index.html b/docs/legacy/v7/basics/blocks-global-manifest/index.html index 9a09df3f2..52c119185 100644 --- a/docs/legacy/v7/basics/blocks-global-manifest/index.html +++ b/docs/legacy/v7/basics/blocks-global-manifest/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v7/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v7</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Global Manifest</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Global Manifest</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v7/basics/blocks-hooks/index.html b/docs/legacy/v7/basics/blocks-hooks/index.html index 1f98e3c64..ea77634d2 100644 --- a/docs/legacy/v7/basics/blocks-hooks/index.html +++ b/docs/legacy/v7/basics/blocks-hooks/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v7/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v7</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Hooks</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Hooks</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v7/basics/blocks-important/index.html b/docs/legacy/v7/basics/blocks-important/index.html index f63493495..03499dc54 100644 --- a/docs/legacy/v7/basics/blocks-important/index.html +++ b/docs/legacy/v7/basics/blocks-important/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v7/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v7</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Important</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Important</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v7/basics/blocks-patterns/index.html b/docs/legacy/v7/basics/blocks-patterns/index.html index 9c9b8aa73..35188bc17 100644 --- a/docs/legacy/v7/basics/blocks-patterns/index.html +++ b/docs/legacy/v7/basics/blocks-patterns/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v7/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v7</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Patterns</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Patterns</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v7/basics/blocks-registration/index.html b/docs/legacy/v7/basics/blocks-registration/index.html index 41c546618..310b1da5f 100644 --- a/docs/legacy/v7/basics/blocks-registration/index.html +++ b/docs/legacy/v7/basics/blocks-registration/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v7/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v7</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Registration</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Registration</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v7/basics/blocks-reusable/index.html b/docs/legacy/v7/basics/blocks-reusable/index.html index 3f19a9dc2..8ab31af4c 100644 --- a/docs/legacy/v7/basics/blocks-reusable/index.html +++ b/docs/legacy/v7/basics/blocks-reusable/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v7/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v7</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Reusable Blocks</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Reusable Blocks</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v7/basics/blocks-special-use-cases/index.html b/docs/legacy/v7/basics/blocks-special-use-cases/index.html index 3694e041b..3ca3b4731 100644 --- a/docs/legacy/v7/basics/blocks-special-use-cases/index.html +++ b/docs/legacy/v7/basics/blocks-special-use-cases/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v7/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v7</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Special Use Cases</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Special Use Cases</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v7/basics/blocks-storybook/index.html b/docs/legacy/v7/basics/blocks-storybook/index.html index eaeacf17b..692ab71c8 100644 --- a/docs/legacy/v7/basics/blocks-storybook/index.html +++ b/docs/legacy/v7/basics/blocks-storybook/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v7/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v7</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Storybook</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Storybook</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v7/basics/blocks-structure/index.html b/docs/legacy/v7/basics/blocks-structure/index.html index 1349b8fd7..5f5217652 100644 --- a/docs/legacy/v7/basics/blocks-structure/index.html +++ b/docs/legacy/v7/basics/blocks-structure/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v7/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v7</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Structure</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Structure</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v7/basics/blocks-styles/index.html b/docs/legacy/v7/basics/blocks-styles/index.html index b29208d26..1242943e6 100644 --- a/docs/legacy/v7/basics/blocks-styles/index.html +++ b/docs/legacy/v7/basics/blocks-styles/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v7/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v7</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Styles</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Styles</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> @@ -33,7 +33,7 @@ <h2 class="anchor anchorWithStickyNavbar_LWe7" id="setup">Setup<a href="#setup" <h2 class="anchor anchorWithStickyNavbar_LWe7" id="details">Details<a href="#details" class="hash-link" aria-label="Direct link to Details" title="Direct link to Details">​</a></h2> <p>CSS variables helper consists of 2 helpers. <code>outputCssVariables</code> helper will output all CSS variables set in your blocks/component manifest and <code>getUnique</code> helper will make sure that variables are applied only to the exact block/component.</p> <p>If you check your rendered website you can see that you have something like this:</p> -<div class="language-html codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-html codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token tag punctuation" style="color:rgb(248, 248, 242)"><</span><span class="token tag" style="color:rgb(255, 121, 198)">div</span><span class="token tag" style="color:rgb(255, 121, 198)"> </span><span class="token tag attr-name" style="color:rgb(241, 250, 140)">class</span><span class="token tag attr-value punctuation attr-equals" style="color:rgb(248, 248, 242)">=</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">"</span><span class="token tag attr-value" style="color:rgb(255, 121, 198)">typography</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">"</span><span class="token tag" style="color:rgb(255, 121, 198)"> </span><span class="token tag attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token tag attr-value punctuation attr-equals" style="color:rgb(248, 248, 242)">=</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">"</span><span class="token tag attr-value" style="color:rgb(255, 121, 198)">210c9bbf733ef5c6aa74c49168ac29a7</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">"</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token tag punctuation" style="color:rgb(248, 248, 242)"><</span><span class="token tag" style="color:rgb(255, 121, 198)">style</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css selector class" style="color:rgb(255, 121, 198)">.typography</span><span class="token style language-css selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token style language-css selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token style language-css selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token style language-css selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token style language-css selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token style language-css"> </span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-color</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css function" style="color:rgb(80, 250, 123)">var</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-colors-black</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-content-align</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> left</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token tag punctuation" style="color:rgb(248, 248, 242)"></</span><span class="token tag" style="color:rgb(255, 121, 198)">style</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ...</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token tag punctuation" style="color:rgb(248, 248, 242)"></</span><span class="token tag" style="color:rgb(255, 121, 198)">div</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-html codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-html codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token tag punctuation" style="color:rgb(248, 248, 242)"><</span><span class="token tag" style="color:rgb(255, 121, 198)">div</span><span class="token tag" style="color:rgb(255, 121, 198)"> </span><span class="token tag attr-name" style="color:rgb(241, 250, 140)">class</span><span class="token tag attr-value punctuation attr-equals" style="color:rgb(248, 248, 242)">=</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">"</span><span class="token tag attr-value" style="color:rgb(255, 121, 198)">typography</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">"</span><span class="token tag" style="color:rgb(255, 121, 198)"> </span><span class="token tag attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token tag attr-value punctuation attr-equals" style="color:rgb(248, 248, 242)">=</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">"</span><span class="token tag attr-value" style="color:rgb(255, 121, 198)">210c9bbf733ef5c6aa74c49168ac29a7</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">"</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token tag punctuation" style="color:rgb(248, 248, 242)"><</span><span class="token tag" style="color:rgb(255, 121, 198)">style</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css selector" style="color:rgb(255, 121, 198)">.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token style language-css"> </span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--typography-color</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css function" style="color:rgb(80, 250, 123)">var</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token style language-css">--global-colors-black</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--typography-content-align</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> left</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token tag punctuation" style="color:rgb(248, 248, 242)"></</span><span class="token tag" style="color:rgb(255, 121, 198)">style</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ...</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token tag punctuation" style="color:rgb(248, 248, 242)"></</span><span class="token tag" style="color:rgb(255, 121, 198)">div</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>This is all that's required for the magic of CSS variables to work! Now let's see it in action and check out all additional features you can use.</p> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="global-variables">Global variables<a href="#global-variables" class="hash-link" aria-label="Direct link to Global variables" title="Direct link to Global variables">​</a></h2> <p>Now that we know how CSS variables are generated, we have one more helper to describe. @@ -44,9 +44,9 @@ <h2 class="anchor anchorWithStickyNavbar_LWe7" id="global-variables">Global vari <p><strong>Global Manifest:</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "namespace": "eightshift-boilerplate",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "background": "#D8262C",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "foreground": "#FFFFFF",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "globalVariables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "customBlocksName": "eightshift-block",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "maxCols": 12,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "breakpoints": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "mobile": 479,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "tablet": 1279,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "desktop": 1919,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "large": 1920</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "containers": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": "1330px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "gutters": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "none": "0",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": "25px",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "big": "50px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "sectionSpacing": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "min": -300,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "max": 300,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "step": 10</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "sectionInSpacing": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "min": 0,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "max": 300,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "step": 10</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "colors": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "name": "Black",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "slug": "black",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "color": "#111111"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "name": "White",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "slug": "white",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "color": "#FFFFFF"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output:</strong></p> -<div class="language-html codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-html codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token tag punctuation" style="color:rgb(248, 248, 242)"><</span><span class="token tag" style="color:rgb(255, 121, 198)">style</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css selector pseudo-class" style="color:rgb(255, 121, 198)">:root</span><span class="token style language-css"> </span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-custom-blocks-name</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> eightshift-block</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-max-cols</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">12</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-breakpoints-mobile</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">479</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-breakpoints-tablet</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">1279</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-breakpoints-desktop</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">1919</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-breakpoints-large</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">1920</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-containers-default</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">1330</span><span class="token style language-css unit">px</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-gutters-none</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">0</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-gutters-default</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">25</span><span class="token style language-css unit">px</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-gutters-big</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">50</span><span class="token style language-css unit">px</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-section-spacing-min</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">-300</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-section-spacing-max</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">300</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-section-spacing-step</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">10</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-section-in-spacing-min</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">0</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-section-in-spacing-max</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">300</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-section-in-spacing-step</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">10</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-colors-black</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css hexcode color">#111111</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-colors-white</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css hexcode color">#FFFFFF</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"></span><span class="token tag punctuation" style="color:rgb(248, 248, 242)"></</span><span class="token tag" style="color:rgb(255, 121, 198)">style</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-html codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-html codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token tag punctuation" style="color:rgb(248, 248, 242)"><</span><span class="token tag" style="color:rgb(255, 121, 198)">style</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css selector" style="color:rgb(255, 121, 198)">:root</span><span class="token style language-css"> </span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-custom-blocks-name</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> eightshift-block</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-max-cols</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 12</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-breakpoints-mobile</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 479</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-breakpoints-tablet</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 1279</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-breakpoints-desktop</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 1919</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-breakpoints-large</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 1920</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-containers-default</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 1330px</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-gutters-none</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 0</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-gutters-default</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 25px</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-gutters-big</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 50px</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-section-spacing-min</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> -300</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-section-spacing-max</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 300</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-section-spacing-step</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 10</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-section-in-spacing-min</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 0</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-section-in-spacing-max</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 300</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-section-in-spacing-step</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 10</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-colors-black</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> #111111</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-colors-white</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> #FFFFFF</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"></span><span class="token tag punctuation" style="color:rgb(248, 248, 242)"></</span><span class="token tag" style="color:rgb(255, 121, 198)">style</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>You can use a global variable like any other CSS variable:</p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--global-colors-white</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">--global-colors-white</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="variables">Variables<a href="#variables" class="hash-link" aria-label="Direct link to Variables" title="Direct link to Variables">​</a></h2> <p>As we said in the beginning, all CSS variables are defined within the block/component manifest.</p> <p>To output an attribute as a CSS variable, you need to set the <code>variables</code> key in the block/component <code>manifest</code> and define the variable markdown.</p> @@ -56,41 +56,41 @@ <h2 class="anchor anchorWithStickyNavbar_LWe7" id="default-type">Default type<a <p><strong>Manifest:</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentClass": "typography",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "attributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographySize": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "string",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": "120-default"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographySize": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-size": "120px",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-line-height": "calc(var(--typography-size) * 1.2)"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output:</strong></p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">120</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-line-height</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">144</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 120px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">--typography-line-height</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 144px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="value-type">Value type<a href="#value-type" class="hash-link" aria-label="Direct link to Value type" title="Direct link to Value type">​</a></h2> <p>Variable <code>value</code> will output all variables depending on attributes value. Everything else is the same as in the default type.</p> <p><strong>Manifest:</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentClass": "typography",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "attributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographySize": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "string",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": "120-default"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographySize": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "120-default": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-size": "120px",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-line-height": "calc(var(--typography-size) * 1.2)"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output:</strong></p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">120</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-line-height</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">144</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 120px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">--typography-line-height</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 144px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="editor-variables">Editor variables<a href="#editor-variables" class="hash-link" aria-label="Direct link to Editor variables" title="Direct link to Editor variables">​</a></h2> <p>Editor variables behave just like regular <code>variables</code>, except they are output only inside the Block Editor. They are mostly used for overriding specific behaviour, e.g. showing a hidden element as half-transparent instead of hiding it completely.</p> <p><strong>Manifest:</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentName": "wrapper",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "title": "Wrapper",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentClass": "wrapper",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "attributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHide": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "boolean",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": false</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHide": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "true": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display": "none"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ],</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variablesEditor": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHide": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "true": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display-opacity": "0.5",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display": "var(--wrapper-display-type, grid)"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output:</strong></p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> none</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-display-opacity</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">0.5</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-display-type</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> grid</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> none</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">--wrapper-display-opacity</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 0.5</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">--wrapper-display-type</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> grid</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="manual-variables">Manual variables<a href="#manual-variables" class="hash-link" aria-label="Direct link to Manual variables" title="Direct link to Manual variables">​</a></h2> <p>Custom CSS variables can be generated and output independently from all the attributes through the <code>variablesCustom</code> key. Add it inside the manifest (top level) and add each variable as an array item. Manual variables will be added at the end of the output.</p> <p><strong>Manifest:</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "attributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> // ...</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variablesCustom": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "--variable1: test1",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "--variable2: test2",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "--variable3: test3"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output:</strong></p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--variable1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--variable2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--variable3</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test3</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">--variable1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">--variable2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">--variable3</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test3</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="manual-variables-inside-the-block-editor">Manual variables inside the Block editor<a href="#manual-variables-inside-the-block-editor" class="hash-link" aria-label="Direct link to Manual variables inside the Block editor" title="Direct link to Manual variables inside the Block editor">​</a></h2> <p>If you want to add manual variables that only apply inside the Block editor you can use the <code>variablesCustomEditor</code> key. Everything works the same as described in the <strong>Manual variables</strong> section. If you define both <code>variablesCustomEditor</code> and <code>variables</code>, both will be output in the editor, but only <code>variables</code> will be output on the frontend.</p> <p><strong>Manifest:</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "attributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> // ...</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variablesCustomEditor": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "--variable1: test1",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "--variable2: test2",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "--variable3: test3"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output:</strong></p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--variable1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--variable2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--variable3</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test3</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">--variable1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">--variable2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">--variable3</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test3</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="additional-options-and-examples">Additional options and examples<a href="#additional-options-and-examples" class="hash-link" aria-label="Direct link to Additional options and examples" title="Direct link to Additional options and examples">​</a></h2> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="color">Color<a href="#color" class="hash-link" aria-label="Direct link to Color" title="Direct link to Color">​</a></h3> <p>Here is an example how to output global variable as a css variable.</p> <p><strong>Manifest:</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentClass": "typography",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "attributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographyColor": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "string",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": "white"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographyColor": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-color": "var(--global-colors-white)"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output:</strong></p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--global-colors-white</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">--typography-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">--global-colors-white</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="responsive">Responsive<a href="#responsive" class="hash-link" aria-label="Direct link to Responsive" title="Direct link to Responsive">​</a></h3> <p>All variables are prepared to be responsive. If you set multiple keys in the manifest list that variable will be outputted in the correct media query. Breakpoints are taken from the global manifest and the order of the output breakpoints.</p> <blockquote> @@ -101,7 +101,7 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="responsive">Responsive<a href <p><strong>Manifest:</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentClass": "typography",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "attributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographySize": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "string",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": "120-default"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographySize": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-size": "30px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "breakpoint": "tablet",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-size": "80px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "breakpoint": "large",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-size": "120px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output:</strong></p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector class" style="color:rgb(255, 121, 198)">.typography</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">30</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">min-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> </span><span class="token atrule number">1279</span><span class="token atrule unit">px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector class" style="color:rgb(255, 121, 198)">.typography</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">80</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">min-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> </span><span class="token atrule number">1920</span><span class="token atrule unit">px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector class" style="color:rgb(255, 121, 198)">.typography</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">120</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector" style="color:rgb(255, 121, 198)">.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 30px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">min-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> 1279px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector" style="color:rgb(255, 121, 198)">.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 80px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">min-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> 1920px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector" style="color:rgb(255, 121, 198)">.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 120px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="responsive-inverse">Responsive Inverse<a href="#responsive-inverse" class="hash-link" aria-label="Direct link to Responsive Inverse" title="Direct link to Responsive Inverse">​</a></h3> <p>By default, we use mobile first approach but if you need desktop first you can use <code>inverse: true</code> key.</p> <blockquote> @@ -110,13 +110,13 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="responsive-inverse">Responsiv <p><strong>Manifest:</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentClass": "typography",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "attributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographySize": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "string",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": "120-default"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographySize": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-size": "120px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "breakpoint": "tablet",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "inverse": true,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-size": "80px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "breakpoint": "mobile",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "inverse": true,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-size": "320px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output:</strong></p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector class" style="color:rgb(255, 121, 198)">.typography</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">120</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">max-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> </span><span class="token atrule number">1279</span><span class="token atrule unit">px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector class" style="color:rgb(255, 121, 198)">.typography</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">80</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">max-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> </span><span class="token atrule number">479</span><span class="token atrule unit">px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector class" style="color:rgb(255, 121, 198)">.typography</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">30</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector" style="color:rgb(255, 121, 198)">.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 120px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">max-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> 1279px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector" style="color:rgb(255, 121, 198)">.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 80px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">max-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> 479px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector" style="color:rgb(255, 121, 198)">.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 30px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="attribute-value-replacement">Attribute value replacement<a href="#attribute-value-replacement" class="hash-link" aria-label="Direct link to Attribute value replacement" title="Direct link to Attribute value replacement">​</a></h3> <p>Attribute value replacement variable is used to return the attribute value where you want it in the css variables. To use it just put <code>%value%</code> in you css variables.</p> <p><strong>Manifest:</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentClass": "typography",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "attributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographySize": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "string",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": "120"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographySize": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-size": "30px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "breakpoint": "tablet",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-size": "80px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "breakpoint": "large",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-size": "%value%px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output:</strong></p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector class" style="color:rgb(255, 121, 198)">.typography</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">30</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">min-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> </span><span class="token atrule number">1279</span><span class="token atrule unit">px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector class" style="color:rgb(255, 121, 198)">.typography</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">80</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">min-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> </span><span class="token atrule number">1920</span><span class="token atrule unit">px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector class" style="color:rgb(255, 121, 198)">.typography</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">120</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector" style="color:rgb(255, 121, 198)">.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 30px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">min-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> 1279px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector" style="color:rgb(255, 121, 198)">.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 80px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">min-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> 1920px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector" style="color:rgb(255, 121, 198)">.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 120px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="responsive-variables">Responsive variables<a href="#responsive-variables" class="hash-link" aria-label="Direct link to Responsive variables" title="Direct link to Responsive variables">​</a></h2> <p>Responsive variables are used for eliminating unnecessary code duplication. For example, if you have 4 separate attributes used for setting a responsive variable where all the attributes have the same output (e.g. <code>%value%</code>), the variables can get cluttered rather quickly.</p> <p>In a top-level manifest key <code>responsiveAttributes</code>, you can place a new key (e.g. <code>wrapperHide</code>) that represents a common key for your responsive variables. Inside of it, you can list your responsive variables (e.g. <code>wrapperHideLarge</code>, <code>wrapperHideDesktop</code>, <code>wrapperHideTablet</code>, <code>wrapperHideMobile</code>) as a key-value pair. The key represents a breakpoint name, and the value represents responsive variable(<code>breakpoint</code>: <code>responsiveVariableName</code>). Afterwards, you can add that common key inside the <code>variables</code> (and/or <code>variablesEditor</code>) key and configure the output template.</p> @@ -132,10 +132,10 @@ <h2 class="anchor anchorWithStickyNavbar_LWe7" id="responsive-variables">Respons <p><strong>Transformed:</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentName": "wrapper",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "title": "Wrapper",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentClass": "wrapper",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "attributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHide": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "boolean",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": false</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "responsiveAttributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHideLarge": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "boolean",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": false</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHideDesktop": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "boolean"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHideTablet": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "boolean"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHideLarge": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "true": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display": "none"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ],</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "false": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display": "var(--wrapper-display-type, grid)"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHideDesktop": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "true": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "inverse": true,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "breakpoint": "desktop",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display": "none"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ],</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "false": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "inverse": true,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "breakpoint": "desktop",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display": "var(--wrapper-display-type, grid)"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHideTablet": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "true": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "inverse": true,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "breakpoint": "desktop",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display": "none"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ],</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "false": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "inverse": true,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "breakpoint": "desktop",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display": "var(--wrapper-display-type, grid)"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output</strong></p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector class" style="color:rgb(255, 121, 198)">.wrapper</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-display-type</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> grid</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">max-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> </span><span class="token atrule number">1920</span><span class="token atrule unit">px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector class" style="color:rgb(255, 121, 198)">.wrapper</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> none</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">max-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> </span><span class="token atrule number">1279</span><span class="token atrule unit">px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector class" style="color:rgb(255, 121, 198)">.wrapper</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-display-type</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> grid</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector" style="color:rgb(255, 121, 198)">.wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">--wrapper-display-type</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> grid</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">max-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> 1920px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector" style="color:rgb(255, 121, 198)">.wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> none</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">max-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> 1279px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector" style="color:rgb(255, 121, 198)">.wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">--wrapper-display-type</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> grid</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Example 2</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentName": "wrapper",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "title": "Wrapper",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentClass": "wrapper",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "attributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHideLarge": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "boolean",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": false</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHideDesktop": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "boolean"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHideTablet": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "boolean"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "responsiveAttributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHide": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "large": "wrapperHideLarge",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "desktop": "wrapperHideDesktop",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "tablet": "wrapperHideTablet"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHide": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "true": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "inverse": true,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display": "none"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ],</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "false": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "inverse": true,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display": "var(--wrapper-display-type, grid)"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHideLarge": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "true": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "inverse": true,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display": "block",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-opacity": 0</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ],</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output</strong></p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector class" style="color:rgb(255, 121, 198)">.wrapper</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> none</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> block</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-opacity</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">0</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/legacy/v7/basics/blocks-reusable"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Reusable Blocks</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/legacy/v7/basics/blocks-storybook"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Storybook</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#setup" class="table-of-contents__link toc-highlight">Setup</a></li><li><a href="#details" class="table-of-contents__link toc-highlight">Details</a></li><li><a href="#global-variables" class="table-of-contents__link toc-highlight">Global variables</a></li><li><a href="#variables" class="table-of-contents__link toc-highlight">Variables</a></li><li><a href="#default-type" class="table-of-contents__link toc-highlight">Default type</a></li><li><a href="#value-type" class="table-of-contents__link toc-highlight">Value type</a></li><li><a href="#editor-variables" class="table-of-contents__link toc-highlight">Editor variables</a></li><li><a href="#manual-variables" class="table-of-contents__link toc-highlight">Manual variables</a></li><li><a href="#manual-variables-inside-the-block-editor" class="table-of-contents__link toc-highlight">Manual variables inside the Block editor</a></li><li><a href="#additional-options-and-examples" class="table-of-contents__link toc-highlight">Additional options and examples</a><ul><li><a href="#color" class="table-of-contents__link toc-highlight">Color</a></li><li><a href="#responsive" class="table-of-contents__link toc-highlight">Responsive</a></li><li><a href="#responsive-inverse" class="table-of-contents__link toc-highlight">Responsive Inverse</a></li><li><a href="#attribute-value-replacement" class="table-of-contents__link toc-highlight">Attribute value replacement</a></li></ul></li><li><a href="#responsive-variables" class="table-of-contents__link toc-highlight">Responsive variables</a></li></ul></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector" style="color:rgb(255, 121, 198)">.wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> none</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> block</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--wrapper-opacity</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 0</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/legacy/v7/basics/blocks-reusable"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Reusable Blocks</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/legacy/v7/basics/blocks-storybook"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Storybook</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#setup" class="table-of-contents__link toc-highlight">Setup</a></li><li><a href="#details" class="table-of-contents__link toc-highlight">Details</a></li><li><a href="#global-variables" class="table-of-contents__link toc-highlight">Global variables</a></li><li><a href="#variables" class="table-of-contents__link toc-highlight">Variables</a></li><li><a href="#default-type" class="table-of-contents__link toc-highlight">Default type</a></li><li><a href="#value-type" class="table-of-contents__link toc-highlight">Value type</a></li><li><a href="#editor-variables" class="table-of-contents__link toc-highlight">Editor variables</a></li><li><a href="#manual-variables" class="table-of-contents__link toc-highlight">Manual variables</a></li><li><a href="#manual-variables-inside-the-block-editor" class="table-of-contents__link toc-highlight">Manual variables inside the Block editor</a></li><li><a href="#additional-options-and-examples" class="table-of-contents__link toc-highlight">Additional options and examples</a><ul><li><a href="#color" class="table-of-contents__link toc-highlight">Color</a></li><li><a href="#responsive" class="table-of-contents__link toc-highlight">Responsive</a></li><li><a href="#responsive-inverse" class="table-of-contents__link toc-highlight">Responsive Inverse</a></li><li><a href="#attribute-value-replacement" class="table-of-contents__link toc-highlight">Attribute value replacement</a></li></ul></li><li><a href="#responsive-variables" class="table-of-contents__link toc-highlight">Responsive variables</a></li></ul></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> </body> </html> \ No newline at end of file diff --git a/docs/legacy/v7/basics/blocks-transforms/index.html b/docs/legacy/v7/basics/blocks-transforms/index.html index 57f99a2bf..de6b64836 100644 --- a/docs/legacy/v7/basics/blocks-transforms/index.html +++ b/docs/legacy/v7/basics/blocks-transforms/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v7/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v7</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Transforms</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Transforms</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v7/basics/blocks-variations/index.html b/docs/legacy/v7/basics/blocks-variations/index.html index 65ad147e3..d85fa8fb0 100644 --- a/docs/legacy/v7/basics/blocks-variations/index.html +++ b/docs/legacy/v7/basics/blocks-variations/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v7/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v7</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Variations</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Variations</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v7/basics/blocks-wrapper/index.html b/docs/legacy/v7/basics/blocks-wrapper/index.html index 4d546b7b1..cef2b468e 100644 --- a/docs/legacy/v7/basics/blocks-wrapper/index.html +++ b/docs/legacy/v7/basics/blocks-wrapper/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v7/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v7</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Wrapper</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Wrapper</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v7/basics/blocks/index.html b/docs/legacy/v7/basics/blocks/index.html index b9b386b86..fa7a24222 100644 --- a/docs/legacy/v7/basics/blocks/index.html +++ b/docs/legacy/v7/basics/blocks/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v7</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Blocks</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Blocks</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v7/basics/browser-sync/index.html b/docs/legacy/v7/basics/browser-sync/index.html index 5e7105742..5e54f26f0 100644 --- a/docs/legacy/v7/basics/browser-sync/index.html +++ b/docs/legacy/v7/basics/browser-sync/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/frontend">Frontend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/frontend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/webpack">Webpack</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/library">SCSS Library</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/global-settings">Global Settings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/writing-styles">Writing Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/fonts">Fonts</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v7/basics/browser-sync">Browsersync</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/dynamic-import">Dynamic Import</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v7</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Frontend</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Browsersync</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Browsersync</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v7/basics/dynamic-import/index.html b/docs/legacy/v7/basics/dynamic-import/index.html index cca1e6d6b..346b9e0cd 100644 --- a/docs/legacy/v7/basics/dynamic-import/index.html +++ b/docs/legacy/v7/basics/dynamic-import/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/frontend">Frontend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/frontend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/webpack">Webpack</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/library">SCSS Library</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/global-settings">Global Settings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/writing-styles">Writing Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/fonts">Fonts</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/browser-sync">Browsersync</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v7/basics/dynamic-import">Dynamic Import</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v7</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Frontend</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Dynamic Import</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Dynamic Import</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v7/basics/example-class/index.html b/docs/legacy/v7/basics/example-class/index.html index 81de95f78..4077d5638 100644 --- a/docs/legacy/v7/basics/example-class/index.html +++ b/docs/legacy/v7/basics/example-class/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/backend">Backend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/backend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/namespaces">Namespaces</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/autowiring">Autowiring</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v7/basics/example-class">Example Class</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/manifest">Assets Manifest</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/rest">Rest</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v7</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Backend</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Example Class</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Example Class</h1></header><p><a href="https://github.com/infinum/eightshift-libs/tree/5.0.0" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v7/basics/extending-classes/index.html b/docs/legacy/v7/basics/extending-classes/index.html index 7f5bb3af2..381846a1c 100644 --- a/docs/legacy/v7/basics/extending-classes/index.html +++ b/docs/legacy/v7/basics/extending-classes/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/backend">Backend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/backend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/namespaces">Namespaces</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v7/basics/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/autowiring">Autowiring</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/example-class">Example Class</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/manifest">Assets Manifest</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/rest">Rest</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v7</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Backend</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Extending Classes</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Extending Classes</h1></header><p><a href="https://github.com/infinum/eightshift-libs/tree/5.0.0" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v7/basics/fonts/index.html b/docs/legacy/v7/basics/fonts/index.html index 31fc6a4bf..21afca275 100644 --- a/docs/legacy/v7/basics/fonts/index.html +++ b/docs/legacy/v7/basics/fonts/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/frontend">Frontend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/frontend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/webpack">Webpack</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/library">SCSS Library</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/global-settings">Global Settings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/writing-styles">Writing Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v7/basics/fonts">Fonts</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/browser-sync">Browsersync</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/dynamic-import">Dynamic Import</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v7</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Frontend</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Fonts</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Fonts</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> @@ -24,7 +24,7 @@ <ul> <li>Put your font files in this folder: <code>assets/fonts</code>.</li> <li>Import each file in the <code>assets/fonts/index.js</code> so that Webpack knows how to process these files in its build process.</li> -<li>In your project, load the font family using font-face <a href="/sass">method</a>. We recommend that you create a new file <code>assets/styles/parts/utils/_defaults.scss</code> and put everything in that file.</li> +<li>In your project, load the font family using font-face <a href="/docs/basics/library">method</a>. We recommend that you create a new file <code>assets/styles/parts/utils/_defaults.scss</code> and put everything in that file.</li> </ul></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/legacy/v7/basics/writing-styles"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Writing Styles</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/legacy/v7/basics/browser-sync"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Browsersync</div></a></nav></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> </body> </html> \ No newline at end of file diff --git a/docs/legacy/v7/basics/frontend/index.html b/docs/legacy/v7/basics/frontend/index.html index 40b28323a..b74115de1 100644 --- a/docs/legacy/v7/basics/frontend/index.html +++ b/docs/legacy/v7/basics/frontend/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/frontend">Frontend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v7/basics/frontend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/webpack">Webpack</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/library">SCSS Library</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/global-settings">Global Settings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/writing-styles">Writing Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/fonts">Fonts</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/browser-sync">Browsersync</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/dynamic-import">Dynamic Import</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v7</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Frontend</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">General</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>General</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v7/basics/global-settings/index.html b/docs/legacy/v7/basics/global-settings/index.html index 3e7ceca2e..e005d5d14 100644 --- a/docs/legacy/v7/basics/global-settings/index.html +++ b/docs/legacy/v7/basics/global-settings/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/frontend">Frontend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/frontend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/webpack">Webpack</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/library">SCSS Library</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v7/basics/global-settings">Global Settings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/writing-styles">Writing Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/fonts">Fonts</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/browser-sync">Browsersync</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/dynamic-import">Dynamic Import</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v7</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Frontend</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Global Settings</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Global Settings</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> @@ -34,30 +34,30 @@ <h2 class="anchor anchorWithStickyNavbar_LWe7" id="how-does-this-work">How does <p>You have the file <code>src/Blocks/manifest.json</code> that has a key called <code>globalVariables</code>. We use this key and build the SCSS maps that you can use in your style files.</p> <p>Mind-blowing, right?</p> <p>To use it, write your style in the <code>manifest.json</code> under the <code>globalVariables</code> key, and you can use that variable in your style files like this:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$base-col-number: global-settings(maxCols);</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$base-col-number</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">maxCols</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>Keep in mind that the <code>global-settings</code> is a function that checks the <code>globalVariables</code> map and returns the value depending on the key provided.</p> <p>For example, if you have something like this in your <code>manifest.json</code>:</p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "globalVariables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "maxCols": 12,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "gutters": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "none": "0",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": "25px",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "big": "50px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "colors": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "name": "Primary",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "slug": "primary",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "color": "#3E3E3E"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "name": "Black",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "slug": "black",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "color": "#000000"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="scenario-1">Scenario 1:<a href="#scenario-1" class="hash-link" aria-label="Direct link to Scenario 1:" title="Direct link to Scenario 1:">​</a></h3> <p>You type this in you SCSS files:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$base-col-number: global-settings(maxCols);</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$base-col-number</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">maxCols</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>the output will be: <strong>12</strong></p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="scenario-2">Scenario 2:<a href="#scenario-2" class="hash-link" aria-label="Direct link to Scenario 2:" title="Direct link to Scenario 2:">​</a></h3> <p>You type this in you SCSS files:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$gutters: global-settings(gutters);</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$gutters</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">gutters</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>the output will be a map that you need to loop or fetch individual files using <code>get-map-strict</code> or <code>get-map-deep</code> function:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$gutters: (</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "none": "0",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": "25px",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "big": "50px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">);</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$gutters</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"none"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"0"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"default"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"25px"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"big"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"50px"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>so you can call it like this:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">width: get-map-strict($gutters, default);</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">width</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">get-map-strict</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$gutters</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> default</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="scenario-3">Scenario 3:<a href="#scenario-3" class="hash-link" aria-label="Direct link to Scenario 3:" title="Direct link to Scenario 3:">​</a></h3> <p>"I want to output colors, but they don't follow the structure you mentioned before. Why is that?"</p> <p>Yes, colors are different because we use this manifest to output the colors to the block editors' color palette. Only the colors are like this.</p> <p>Type this into your SCSS files:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$primary-color: global-settings(colors, primary),</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">$black-color: global-settings(colors, black),</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$primary-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">colors</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> primary</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$black-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">colors</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token color">black</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>The output will be:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$primary-color: #3E3E3E;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">$black-color: #000000;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$primary-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token hexcode color">#3E3E3E</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$black-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token hexcode color">#000000</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>so you use it the normal SCSS way:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">color: $primary-color;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">background-color: $black-color;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$primary-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">background-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$black-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <blockquote> <p>If you add/remove/change any value in the <code>manifest.json</code> file, please restart your Webpack watch because it won't recognize that change.</p> </blockquote></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/legacy/v7/basics/library"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">SCSS Library</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/legacy/v7/basics/writing-styles"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Writing Styles</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#why-do-we-use-this" class="table-of-contents__link toc-highlight">Why do we use this?</a></li><li><a href="#how-does-this-work" class="table-of-contents__link toc-highlight">How does this work?</a><ul><li><a href="#scenario-1" class="table-of-contents__link toc-highlight">Scenario 1:</a></li><li><a href="#scenario-2" class="table-of-contents__link toc-highlight">Scenario 2:</a></li><li><a href="#scenario-3" class="table-of-contents__link toc-highlight">Scenario 3:</a></li></ul></li></ul></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/docs/legacy/v7/basics/helpers-javascript/index.html b/docs/legacy/v7/basics/helpers-javascript/index.html index e423b9e3a..4403c15b2 100644 --- a/docs/legacy/v7/basics/helpers-javascript/index.html +++ b/docs/legacy/v7/basics/helpers-javascript/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/helpers">Helpers</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v7/basics/helpers-javascript">JavaScript</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/helpers-scss">Scss</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/helpers-php">PHP</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v7</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Helpers</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">JavaScript</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v7/basics/helpers-php/index.html b/docs/legacy/v7/basics/helpers-php/index.html index 7b5bf2666..1bc33d011 100644 --- a/docs/legacy/v7/basics/helpers-php/index.html +++ b/docs/legacy/v7/basics/helpers-php/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/helpers">Helpers</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/helpers-javascript">JavaScript</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/helpers-scss">Scss</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v7/basics/helpers-php">PHP</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v7</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Helpers</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">PHP</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>PHP</h1></header><p><a href="https://github.com/infinum/eightshift-libs/tree/5.0.0" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v7/basics/helpers-scss/index.html b/docs/legacy/v7/basics/helpers-scss/index.html index 57f1e964c..ce40146c8 100644 --- a/docs/legacy/v7/basics/helpers-scss/index.html +++ b/docs/legacy/v7/basics/helpers-scss/index.html @@ -14,14 +14,14 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/helpers">Helpers</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/helpers-javascript">JavaScript</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v7/basics/helpers-scss">Scss</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/helpers-php">PHP</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v7</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Helpers</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Scss</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Scss</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0/blocks/init/src/blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> <p>For years, we have collected a list of useful SASS mixins, placeholders, and functions you can use in a project. You don't need to have all of this in your project. Check out our documentation and see what we have in store for you.</p> -<p><strong>Visit <a href="/sass">SassDocs</a> for more details.</strong></p> +<p><strong>Visit <a href="/docs/basics/library">SassDocs</a> for more details.</strong></p> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="default-usage">Default usage<a href="#default-usage" class="hash-link" aria-label="Direct link to Default usage" title="Direct link to Default usage">​</a></h2> <p>Eightshift Frontend Libs styles library is already implemented in your WordPress project, so you don't need to worry about implementation.</p> <p>All our sass mixing, functions and helpers are located in <code>node_modules/@eighshift/frontent-libs/styles/scss/eightshift-frontend-libs.scss</code> file.</p> @@ -31,6 +31,6 @@ <h2 class="anchor anchorWithStickyNavbar_LWe7" id="usage-outside-of-eightshift-b <p>In your terminal, install Eightshift Frontend Libs package:</p> <div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">npm install @eightshift/frontend-libs</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>and add this import in your project:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">@import '@eightshift/frontend-libs/styles/index.scss';</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/legacy/v7/basics/helpers-javascript"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">JavaScript</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/legacy/v7/basics/helpers-php"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">PHP</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#default-usage" class="table-of-contents__link toc-highlight">Default usage</a></li><li><a href="#usage-outside-of-eightshift-boilerplate" class="table-of-contents__link toc-highlight">Usage outside of Eightshift Boilerplate</a></li></ul></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@import</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'@eightshift/frontend-libs/styles/index.scss'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/legacy/v7/basics/helpers-javascript"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">JavaScript</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/legacy/v7/basics/helpers-php"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">PHP</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#default-usage" class="table-of-contents__link toc-highlight">Default usage</a></li><li><a href="#usage-outside-of-eightshift-boilerplate" class="table-of-contents__link toc-highlight">Usage outside of Eightshift Boilerplate</a></li></ul></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> </body> </html> \ No newline at end of file diff --git a/docs/legacy/v7/basics/helpers/index.html b/docs/legacy/v7/basics/helpers/index.html index 606fd8999..0ce56fbb4 100644 --- a/docs/legacy/v7/basics/helpers/index.html +++ b/docs/legacy/v7/basics/helpers/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/helpers">Helpers</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v7/basics/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/helpers-javascript">JavaScript</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/helpers-scss">Scss</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/helpers-php">PHP</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v7</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Helpers</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Helpers</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Helpers</h1></header><p>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:</p> diff --git a/docs/legacy/v7/basics/library/index.html b/docs/legacy/v7/basics/library/index.html index c98a25ff2..4bcaf6bf1 100644 --- a/docs/legacy/v7/basics/library/index.html +++ b/docs/legacy/v7/basics/library/index.html @@ -14,19 +14,19 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/frontend">Frontend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/frontend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/webpack">Webpack</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v7/basics/library">SCSS Library</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/global-settings">Global Settings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/writing-styles">Writing Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/fonts">Fonts</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/browser-sync">Browsersync</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/dynamic-import">Dynamic Import</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v7</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Frontend</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">SCSS Library</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>SCSS Library</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> <p>Eightshift Frontend Libs contains a collection of useful SCSS mixins, functions and helpers you can use in projects.</p> <p>For years, we have collected a list of them. At one point, we felt it was ineffective to copy-paste code across multiple projects, so we created Eightshift Frontend Libs. This allows you to use whatever we offer without all that unnecessary clutter.</p> <p>Check out our documentation and import what you need from Eightshift Frontend Libs.</p> -<p><strong>Visit <a href="/sass">SassDocs</a> for more details.</strong></p> +<p><strong>Visit <a href="/docs/basics/library">SassDocs</a> for more details.</strong></p> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="how-to-use-it">How to use it<a href="#how-to-use-it" class="hash-link" aria-label="Direct link to How to use it" title="Direct link to How to use it">​</a></h2> <p>SCSS mixins, functions, and helpers are located in Eightshift Frontend Libs. Therefore, if you are using our Webpack build, you are all set. You can use it by importing it into your project like this:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">@import '@eightshift/frontend-libs/styles/index.scss';</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@import</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'@eightshift/frontend-libs/styles/index.scss'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>However, if you used our <code>wp boilerplate setup_theme</code> command, you are all set. Eightshift Frontend Libs are injected in the <code>_shared.scss</code> file in your project.</p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/legacy/v7/basics/webpack"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Webpack</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/legacy/v7/basics/global-settings"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Global Settings</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#how-to-use-it" class="table-of-contents__link toc-highlight">How to use it</a></li></ul></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> </body> </html> \ No newline at end of file diff --git a/docs/legacy/v7/basics/manifest/index.html b/docs/legacy/v7/basics/manifest/index.html index eaa263eb3..9b0e969e1 100644 --- a/docs/legacy/v7/basics/manifest/index.html +++ b/docs/legacy/v7/basics/manifest/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/backend">Backend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/backend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/namespaces">Namespaces</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/autowiring">Autowiring</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/example-class">Example Class</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v7/basics/manifest">Assets Manifest</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/rest">Rest</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v7</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Backend</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Assets Manifest</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Assets Manifest</h1></header><p><a href="https://github.com/infinum/eightshift-libs/tree/5.0.0" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v7/basics/namespaces/index.html b/docs/legacy/v7/basics/namespaces/index.html index bdc2885b4..b9c9c9ad3 100644 --- a/docs/legacy/v7/basics/namespaces/index.html +++ b/docs/legacy/v7/basics/namespaces/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/backend">Backend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/backend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v7/basics/namespaces">Namespaces</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/autowiring">Autowiring</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/example-class">Example Class</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/manifest">Assets Manifest</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/rest">Rest</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v7</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Backend</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Namespaces</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Namespaces</h1></header><p><a href="https://github.com/infinum/eightshift-libs/tree/5.0.0" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v7/basics/rest-field/index.html b/docs/legacy/v7/basics/rest-field/index.html index c61385582..8c95c84e1 100644 --- a/docs/legacy/v7/basics/rest-field/index.html +++ b/docs/legacy/v7/basics/rest-field/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/backend">Backend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/backend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/namespaces">Namespaces</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/autowiring">Autowiring</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/example-class">Example Class</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/manifest">Assets Manifest</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/rest">Rest</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/rest">REST Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v7/basics/rest-field">REST Field</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/rest-route">REST Route</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v7</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Backend</span><meta itemprop="position" content="4"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Rest</span><meta itemprop="position" content="5"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">REST Field</span><meta itemprop="position" content="6"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>REST Field</h1></header><p><a href="https://github.com/infinum/eightshift-libs/tree/5.0.0" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v7/basics/rest-route/index.html b/docs/legacy/v7/basics/rest-route/index.html index 464ffe8cc..30249097f 100644 --- a/docs/legacy/v7/basics/rest-route/index.html +++ b/docs/legacy/v7/basics/rest-route/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/backend">Backend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/backend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/namespaces">Namespaces</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/autowiring">Autowiring</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/example-class">Example Class</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/manifest">Assets Manifest</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/rest">Rest</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/rest">REST Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/rest-field">REST Field</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v7/basics/rest-route">REST Route</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v7</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Backend</span><meta itemprop="position" content="4"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Rest</span><meta itemprop="position" content="5"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">REST Route</span><meta itemprop="position" content="6"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>REST Route</h1></header><p><a href="https://github.com/infinum/eightshift-libs/tree/5.0.0" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v7/basics/rest/index.html b/docs/legacy/v7/basics/rest/index.html index 9eecc2485..3b0faf118 100644 --- a/docs/legacy/v7/basics/rest/index.html +++ b/docs/legacy/v7/basics/rest/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/backend">Backend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/backend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/namespaces">Namespaces</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/autowiring">Autowiring</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/example-class">Example Class</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/manifest">Assets Manifest</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/rest">Rest</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v7/basics/rest">REST Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/rest-field">REST Field</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/rest-route">REST Route</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v7</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Backend</span><meta itemprop="position" content="4"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Rest</span><meta itemprop="position" content="5"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">REST Intro</span><meta itemprop="position" content="6"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>REST Intro</h1></header><p><a href="https://github.com/infinum/eightshift-libs/tree/5.0.0" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v7/basics/tips-tricks/index.html b/docs/legacy/v7/basics/tips-tricks/index.html index 686190157..1193f6146 100644 --- a/docs/legacy/v7/basics/tips-tricks/index.html +++ b/docs/legacy/v7/basics/tips-tricks/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v7/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v7</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Tips & Tricks</span><meta itemprop="position" content="4"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Tips & Tricks</h1></header><p>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.</p> diff --git a/docs/legacy/v7/basics/webpack/index.html b/docs/legacy/v7/basics/webpack/index.html index bd360cbf6..38522ef3d 100644 --- a/docs/legacy/v7/basics/webpack/index.html +++ b/docs/legacy/v7/basics/webpack/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/frontend">Frontend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/frontend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v7/basics/webpack">Webpack</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/library">SCSS Library</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/global-settings">Global Settings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/writing-styles">Writing Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/fonts">Fonts</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/browser-sync">Browsersync</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/dynamic-import">Dynamic Import</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v7</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Frontend</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Webpack</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Webpack</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v7/basics/wp-cli/index.html b/docs/legacy/v7/basics/wp-cli/index.html index e999df303..07ee162f7 100644 --- a/docs/legacy/v7/basics/wp-cli/index.html +++ b/docs/legacy/v7/basics/wp-cli/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v7/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v7</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">WP-CLI</span><meta itemprop="position" content="4"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>WP-CLI</h1></header><p><a href="https://github.com/infinum/eightshift-libs/tree/5.0.0" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v7/basics/writing-styles/index.html b/docs/legacy/v7/basics/writing-styles/index.html index f56feb7ff..8ca99fb70 100644 --- a/docs/legacy/v7/basics/writing-styles/index.html +++ b/docs/legacy/v7/basics/writing-styles/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/basics/frontend">Frontend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/frontend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/webpack">Webpack</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/library">SCSS Library</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/global-settings">Global Settings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v7/basics/writing-styles">Writing Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/fonts">Fonts</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/browser-sync">Browsersync</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/dynamic-import">Dynamic Import</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v7/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v7</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Frontend</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Writing Styles</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Writing Styles</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/6.0.0" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> @@ -41,21 +41,21 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="all-external-variables-must-g <li>you can have multiple values with the same name and just change the top-level map,</li> <li>etc.</li> </ul> -<p>We also have many helpers, which you can check in our <a href="/sass">SASS docs</a>.</p> +<p>We also have many helpers, which you can check in our <a href="/docs/basics/library">SASS docs</a>.</p> <p>In the component map, you should only add things that you will reuse in your component.</p> <p><strong>Examples:</strong></p> <p>A simple variable in a map:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$social-links: (</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> icon-color: global-settings(colors, black),</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">.social-links {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> color: map-get-strict($social-links, icon-color);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$social-links</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">icon-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">colors</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token color">black</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token selector" style="color:rgb(255, 121, 198)">.social-links </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">map-get-strict</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$social-links</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> icon-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>Nested variables in a map:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$social-links: (</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> colors: (</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> dark: global-settings(colors, black),</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> light: global-settings(colors, white),</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ),</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> sizes: (</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> small: 10px,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> big: 20px,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> )</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">.social-links {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> color: map-get-deep($social-links, colors, dark);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> &--light {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> color: map-get-deep($social-links, colors, light);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> &__sizes {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> font-size: map-get-deep($social-links, sizes, small);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> &--big {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> font-size: map-get-deep($social-links, sizes, big);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$social-links</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">colors</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">dark</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">colors</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token color">black</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">light</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">colors</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token color">white</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">sizes</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">small</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">10</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">big</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">20</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token selector" style="color:rgb(255, 121, 198)">.social-links </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">map-get-deep</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$social-links</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> colors</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> dark</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector parent important" style="color:rgb(255, 121, 198)">&</span><span class="token selector" style="color:rgb(255, 121, 198)">--light </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">map-get-deep</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$social-links</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> colors</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> light</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector parent important" style="color:rgb(255, 121, 198)">&</span><span class="token selector" style="color:rgb(255, 121, 198)">__sizes </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">font-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">map-get-deep</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$social-links</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> sizes</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> small</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector parent important" style="color:rgb(255, 121, 198)">&</span><span class="token selector" style="color:rgb(255, 121, 198)">--big </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">font-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">map-get-deep</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$social-links</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> sizes</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> big</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="never-mix-multiple-maps-in-a-single-component">Never mix multiple maps in a single component<a href="#never-mix-multiple-maps-in-a-single-component" class="hash-link" aria-label="Direct link to Never mix multiple maps in a single component" title="Direct link to Never mix multiple maps in a single component">​</a></h3> <p>You want all your styles to be contained to a single component and not dependent on external components. Sometimes this can't be avoided.</p> <p>In that case, you should define a key in the component variable for the external map and define it like this:</p> <p><strong>Example:</strong></p> <p>External map in <code>assets/styles/parts/utils/_z-index.scss</code>:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$zindex: (</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> header: 100,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> drawer: 99,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> overlay: 98,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">);</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$zindex</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">header</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">100</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">drawer</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">99</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">overlay</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">98</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>Your component:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$header: (</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> index: map-get-strict($zindex, header),</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">.header {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> z-index: map-get-strict($header, index);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$header</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">index</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">map-get-strict</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$zindex</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> header</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token selector" style="color:rgb(255, 121, 198)">.header </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">z-index</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">map-get-strict</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$header</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> index</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="where-can-i-define-global-typography-for-all-my-blockscomponents">Where can I define global typography for all my blocks/components?<a href="#where-can-i-define-global-typography-for-all-my-blockscomponents" class="hash-link" aria-label="Direct link to Where can I define global typography for all my blocks/components?" title="Direct link to Where can I define global typography for all my blocks/components?">​</a></h3> <p>Well, nowhere. Try to move your way of thinking from Bootstrap or any other front-end framework where you define global typography in one place.</p> <p>Why is that? Because we use component-based development and you should think in that way. Each component is responsible for its own styles.</p> diff --git a/docs/legacy/v7/versions/index.html b/docs/legacy/v7/versions/index.html index 40fed022c..64c1b357c 100644 --- a/docs/legacy/v7/versions/index.html +++ b/docs/legacy/v7/versions/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v7/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/basics/basics-intro">Basics</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v7</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Versions</span><meta itemprop="position" content="3"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Versions</h1></header><p>Now that you understand what makes the Eightshift Development Kit tick, here is a quick reminder about what library versions this documentation refers to.</p> diff --git a/docs/legacy/v8/basics/architecture-concepts/index.html b/docs/legacy/v8/basics/architecture-concepts/index.html index ce5168d97..7baf4d1d9 100644 --- a/docs/legacy/v8/basics/architecture-concepts/index.html +++ b/docs/legacy/v8/basics/architecture-concepts/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v8/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v8</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Architecture concepts</span><meta itemprop="position" content="4"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Architecture concepts</h1></header><h2 class="anchor anchorWithStickyNavbar_LWe7" id="project-structure">Project structure<a href="#project-structure" class="hash-link" aria-label="Direct link to Project structure" title="Direct link to Project structure">​</a></h2> diff --git a/docs/legacy/v8/basics/autowiring/index.html b/docs/legacy/v8/basics/autowiring/index.html index 5d5190b81..ab1a2ad54 100644 --- a/docs/legacy/v8/basics/autowiring/index.html +++ b/docs/legacy/v8/basics/autowiring/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/backend">Backend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/backend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/namespaces">Namespaces</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v8/basics/autowiring">Autowiring</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/example-class">Example Class</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/manifest">Assets Manifest</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/rest">Rest</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v8</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Backend</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Autowiring</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Autowiring</h1></header><p><a href="https://github.com/infinum/eightshift-libs" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v8/basics/backend/index.html b/docs/legacy/v8/basics/backend/index.html index 03e874f10..bf1fa001a 100644 --- a/docs/legacy/v8/basics/backend/index.html +++ b/docs/legacy/v8/basics/backend/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/backend">Backend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v8/basics/backend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/namespaces">Namespaces</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/autowiring">Autowiring</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/example-class">Example Class</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/manifest">Assets Manifest</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/rest">Rest</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v8</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Backend</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">General</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>General</h1></header><p><a href="https://github.com/infinum/eightshift-libs" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v8/basics/basics-intro/index.html b/docs/legacy/v8/basics/basics-intro/index.html index 8eb4dc437..7847dc389 100644 --- a/docs/legacy/v8/basics/basics-intro/index.html +++ b/docs/legacy/v8/basics/basics-intro/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v8</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Basics</span><meta itemprop="position" content="4"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Basics</h1></header><p>Prior to WordPress 5.0, themes were mostly PHP-based, with JavaScript used only to provide interactive functionality on the website. diff --git a/docs/legacy/v8/basics/block-manifest/index.html b/docs/legacy/v8/basics/block-manifest/index.html index a32b9869b..4fb045044 100644 --- a/docs/legacy/v8/basics/block-manifest/index.html +++ b/docs/legacy/v8/basics/block-manifest/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v8/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v8</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Block Manifest</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Block Manifest</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v8/basics/block-structure/index.html b/docs/legacy/v8/basics/block-structure/index.html index 26d0429b5..3838a8e1b 100644 --- a/docs/legacy/v8/basics/block-structure/index.html +++ b/docs/legacy/v8/basics/block-structure/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v8/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v8</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Block Structure</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Block Structure</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v8/basics/blocks-attributes/index.html b/docs/legacy/v8/basics/blocks-attributes/index.html index 41d455d2d..57bcff1a8 100644 --- a/docs/legacy/v8/basics/blocks-attributes/index.html +++ b/docs/legacy/v8/basics/blocks-attributes/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v8/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v8</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Attributes</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Attributes</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v8/basics/blocks-component-in-block/index.html b/docs/legacy/v8/basics/blocks-component-in-block/index.html index b007f08a5..4ea1390db 100644 --- a/docs/legacy/v8/basics/blocks-component-in-block/index.html +++ b/docs/legacy/v8/basics/blocks-component-in-block/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v8</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Component in a Block</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Component in a Block</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v8/basics/blocks-component-manifest/index.html b/docs/legacy/v8/basics/blocks-component-manifest/index.html index f10af5559..7e0f2eefa 100644 --- a/docs/legacy/v8/basics/blocks-component-manifest/index.html +++ b/docs/legacy/v8/basics/blocks-component-manifest/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v8</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Component Manifest</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Component Manifest</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v8/basics/blocks-component-structure/index.html b/docs/legacy/v8/basics/blocks-component-structure/index.html index 23eeddb60..e82c28b69 100644 --- a/docs/legacy/v8/basics/blocks-component-structure/index.html +++ b/docs/legacy/v8/basics/blocks-component-structure/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v8</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Component Structure</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Component Structure</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v8/basics/blocks-faq/index.html b/docs/legacy/v8/basics/blocks-faq/index.html index 7033d5d55..572b77f3e 100644 --- a/docs/legacy/v8/basics/blocks-faq/index.html +++ b/docs/legacy/v8/basics/blocks-faq/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v8/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v8</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Faq</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Faq</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v8/basics/blocks-global-manifest/index.html b/docs/legacy/v8/basics/blocks-global-manifest/index.html index 209fa9f96..71dc6921b 100644 --- a/docs/legacy/v8/basics/blocks-global-manifest/index.html +++ b/docs/legacy/v8/basics/blocks-global-manifest/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v8/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v8</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Global Manifest</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Global Manifest</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v8/basics/blocks-hooks/index.html b/docs/legacy/v8/basics/blocks-hooks/index.html index 8d4462620..c30bd5246 100644 --- a/docs/legacy/v8/basics/blocks-hooks/index.html +++ b/docs/legacy/v8/basics/blocks-hooks/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v8/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v8</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Hooks</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Hooks</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v8/basics/blocks-important/index.html b/docs/legacy/v8/basics/blocks-important/index.html index 67dde4e23..960da1db7 100644 --- a/docs/legacy/v8/basics/blocks-important/index.html +++ b/docs/legacy/v8/basics/blocks-important/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v8/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v8</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Important</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Important</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v8/basics/blocks-patterns/index.html b/docs/legacy/v8/basics/blocks-patterns/index.html index fd5b79802..4aab3071e 100644 --- a/docs/legacy/v8/basics/blocks-patterns/index.html +++ b/docs/legacy/v8/basics/blocks-patterns/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v8/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v8</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Patterns</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Patterns</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v8/basics/blocks-registration/index.html b/docs/legacy/v8/basics/blocks-registration/index.html index 5850888a5..384c2722a 100644 --- a/docs/legacy/v8/basics/blocks-registration/index.html +++ b/docs/legacy/v8/basics/blocks-registration/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v8/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v8</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Registration</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Registration</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v8/basics/blocks-reusable/index.html b/docs/legacy/v8/basics/blocks-reusable/index.html index f94085143..8a2bf1105 100644 --- a/docs/legacy/v8/basics/blocks-reusable/index.html +++ b/docs/legacy/v8/basics/blocks-reusable/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v8/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v8</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Reusable Blocks</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Reusable Blocks</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v8/basics/blocks-special-use-cases/index.html b/docs/legacy/v8/basics/blocks-special-use-cases/index.html index 2979a5fbc..ef12c6820 100644 --- a/docs/legacy/v8/basics/blocks-special-use-cases/index.html +++ b/docs/legacy/v8/basics/blocks-special-use-cases/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v8/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v8</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Special Use Cases</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Special Use Cases</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v8/basics/blocks-storybook/index.html b/docs/legacy/v8/basics/blocks-storybook/index.html index e6ddc112a..b927a27e5 100644 --- a/docs/legacy/v8/basics/blocks-storybook/index.html +++ b/docs/legacy/v8/basics/blocks-storybook/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v8/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v8</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Storybook</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Storybook</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v8/basics/blocks-structure/index.html b/docs/legacy/v8/basics/blocks-structure/index.html index 5256b3864..8664746b3 100644 --- a/docs/legacy/v8/basics/blocks-structure/index.html +++ b/docs/legacy/v8/basics/blocks-structure/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v8/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v8</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Structure</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Structure</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v8/basics/blocks-styles/index.html b/docs/legacy/v8/basics/blocks-styles/index.html index e25895bb8..dab62ab77 100644 --- a/docs/legacy/v8/basics/blocks-styles/index.html +++ b/docs/legacy/v8/basics/blocks-styles/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v8/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v8</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Styles</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Styles</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> @@ -33,7 +33,7 @@ <h2 class="anchor anchorWithStickyNavbar_LWe7" id="setup">Setup<a href="#setup" <h2 class="anchor anchorWithStickyNavbar_LWe7" id="details">Details<a href="#details" class="hash-link" aria-label="Direct link to Details" title="Direct link to Details">​</a></h2> <p>CSS variables helper consists of 2 helpers. <code>outputCssVariables</code> helper will output all CSS variables set in your blocks/component manifest and <code>getUnique</code> helper will make sure that variables are applied only to the exact block/component.</p> <p>If you check your rendered website you can see that you have something like this:</p> -<div class="language-html codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-html codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token tag punctuation" style="color:rgb(248, 248, 242)"><</span><span class="token tag" style="color:rgb(255, 121, 198)">div</span><span class="token tag" style="color:rgb(255, 121, 198)"> </span><span class="token tag attr-name" style="color:rgb(241, 250, 140)">class</span><span class="token tag attr-value punctuation attr-equals" style="color:rgb(248, 248, 242)">=</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">"</span><span class="token tag attr-value" style="color:rgb(255, 121, 198)">typography</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">"</span><span class="token tag" style="color:rgb(255, 121, 198)"> </span><span class="token tag attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token tag attr-value punctuation attr-equals" style="color:rgb(248, 248, 242)">=</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">"</span><span class="token tag attr-value" style="color:rgb(255, 121, 198)">210c9bbf733ef5c6aa74c49168ac29a7</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">"</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token tag punctuation" style="color:rgb(248, 248, 242)"><</span><span class="token tag" style="color:rgb(255, 121, 198)">style</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css selector class" style="color:rgb(255, 121, 198)">.typography</span><span class="token style language-css selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token style language-css selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token style language-css selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token style language-css selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token style language-css selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token style language-css"> </span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-color</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css function" style="color:rgb(80, 250, 123)">var</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-colors-black</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-content-align</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> left</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token tag punctuation" style="color:rgb(248, 248, 242)"></</span><span class="token tag" style="color:rgb(255, 121, 198)">style</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ...</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token tag punctuation" style="color:rgb(248, 248, 242)"></</span><span class="token tag" style="color:rgb(255, 121, 198)">div</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-html codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-html codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token tag punctuation" style="color:rgb(248, 248, 242)"><</span><span class="token tag" style="color:rgb(255, 121, 198)">div</span><span class="token tag" style="color:rgb(255, 121, 198)"> </span><span class="token tag attr-name" style="color:rgb(241, 250, 140)">class</span><span class="token tag attr-value punctuation attr-equals" style="color:rgb(248, 248, 242)">=</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">"</span><span class="token tag attr-value" style="color:rgb(255, 121, 198)">typography</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">"</span><span class="token tag" style="color:rgb(255, 121, 198)"> </span><span class="token tag attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token tag attr-value punctuation attr-equals" style="color:rgb(248, 248, 242)">=</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">"</span><span class="token tag attr-value" style="color:rgb(255, 121, 198)">210c9bbf733ef5c6aa74c49168ac29a7</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">"</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token tag punctuation" style="color:rgb(248, 248, 242)"><</span><span class="token tag" style="color:rgb(255, 121, 198)">style</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css selector" style="color:rgb(255, 121, 198)">.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token style language-css"> </span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--typography-color</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css function" style="color:rgb(80, 250, 123)">var</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token style language-css">--global-colors-black</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--typography-content-align</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> left</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token tag punctuation" style="color:rgb(248, 248, 242)"></</span><span class="token tag" style="color:rgb(255, 121, 198)">style</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ...</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token tag punctuation" style="color:rgb(248, 248, 242)"></</span><span class="token tag" style="color:rgb(255, 121, 198)">div</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>This is all that's required for the magic of CSS variables to work! Now let's see it in action and check out all additional features you can use.</p> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="global-variables">Global variables<a href="#global-variables" class="hash-link" aria-label="Direct link to Global variables" title="Direct link to Global variables">​</a></h2> <p>Now that we know how CSS variables are generated, we have one more helper to describe. @@ -42,9 +42,9 @@ <h2 class="anchor anchorWithStickyNavbar_LWe7" id="global-variables">Global vari <p><strong>Global Manifest:</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "namespace": "eightshift-boilerplate",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "background": "#D8262C",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "foreground": "#FFFFFF",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "globalVariables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "customBlocksName": "eightshift-block",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "maxCols": 12,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "breakpoints": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "mobile": 479,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "tablet": 1279,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "desktop": 1919,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "large": 1920</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "containers": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": "1330px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "gutters": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "none": "0",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": "25px",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "big": "50px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "sectionSpacing": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "min": -300,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "max": 300,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "step": 10</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "sectionInSpacing": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "min": 0,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "max": 300,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "step": 10</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "colors": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "name": "Black",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "slug": "black",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "color": "#111111"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "name": "White",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "slug": "white",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "color": "#FFFFFF"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output:</strong></p> -<div class="language-html codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-html codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token tag punctuation" style="color:rgb(248, 248, 242)"><</span><span class="token tag" style="color:rgb(255, 121, 198)">style</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css selector pseudo-class" style="color:rgb(255, 121, 198)">:root</span><span class="token style language-css"> </span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-custom-blocks-name</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> eightshift-block</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-max-cols</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">12</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-breakpoints-mobile</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">479</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-breakpoints-tablet</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">1279</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-breakpoints-desktop</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">1919</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-breakpoints-large</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">1920</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-containers-default</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">1330</span><span class="token style language-css unit">px</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-gutters-none</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">0</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-gutters-default</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">25</span><span class="token style language-css unit">px</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-gutters-big</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">50</span><span class="token style language-css unit">px</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-section-spacing-min</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">-300</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-section-spacing-max</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">300</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-section-spacing-step</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">10</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-section-in-spacing-min</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">0</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-section-in-spacing-max</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">300</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-section-in-spacing-step</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">10</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-colors-black</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css hexcode color">#111111</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css variable" style="color:rgb(189, 147, 249);font-style:italic">--global-colors-white</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css hexcode color">#FFFFFF</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"></span><span class="token tag punctuation" style="color:rgb(248, 248, 242)"></</span><span class="token tag" style="color:rgb(255, 121, 198)">style</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-html codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-html codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token tag punctuation" style="color:rgb(248, 248, 242)"><</span><span class="token tag" style="color:rgb(255, 121, 198)">style</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css selector" style="color:rgb(255, 121, 198)">:root</span><span class="token style language-css"> </span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-custom-blocks-name</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> eightshift-block</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-max-cols</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 12</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-breakpoints-mobile</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 479</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-breakpoints-tablet</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 1279</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-breakpoints-desktop</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 1919</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-breakpoints-large</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 1920</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-containers-default</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 1330px</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-gutters-none</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 0</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-gutters-default</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 25px</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-gutters-big</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 50px</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-section-spacing-min</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> -300</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-section-spacing-max</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 300</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-section-spacing-step</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 10</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-section-in-spacing-min</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 0</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-section-in-spacing-max</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 300</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-section-in-spacing-step</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 10</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-colors-black</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> #111111</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">--global-colors-white</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> #FFFFFF</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"></span><span class="token tag punctuation" style="color:rgb(248, 248, 242)"></</span><span class="token tag" style="color:rgb(255, 121, 198)">style</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>You can use a global variable like any other CSS variable:</p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--global-colors-white</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">--global-colors-white</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="variables">Variables<a href="#variables" class="hash-link" aria-label="Direct link to Variables" title="Direct link to Variables">​</a></h2> <p>As we said in the beginning, all CSS variables are defined within the block/component manifest.</p> <p>To output an attribute as a CSS variable, you need to set the <code>variables</code> key in the block/component <code>manifest</code> and define the variable markdown.</p> @@ -54,41 +54,41 @@ <h2 class="anchor anchorWithStickyNavbar_LWe7" id="default-type">Default type<a <p><strong>Manifest:</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentClass": "typography",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "attributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographySize": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "string",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": "120-default"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographySize": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-size": "120px",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-line-height": "calc(var(--typography-size) * 1.2)"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output:</strong></p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">120</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-line-height</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">144</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 120px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">--typography-line-height</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 144px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="value-type">Value type<a href="#value-type" class="hash-link" aria-label="Direct link to Value type" title="Direct link to Value type">​</a></h2> <p>Variable <code>value</code> will output all variables depending on attributes value. Everything else is the same as in the default type.</p> <p><strong>Manifest:</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentClass": "typography",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "attributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographySize": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "string",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": "120-default"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographySize": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "120-default": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-size": "120px",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-line-height": "calc(var(--typography-size) * 1.2)"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output:</strong></p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">120</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-line-height</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">144</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 120px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">--typography-line-height</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 144px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="editor-variables">Editor variables<a href="#editor-variables" class="hash-link" aria-label="Direct link to Editor variables" title="Direct link to Editor variables">​</a></h2> <p>Editor variables behave just like regular <code>variables</code>, except they are output only inside the Block Editor. They are mostly used for overriding specific behaviour, e.g. showing a hidden element as half-transparent instead of hiding it completely.</p> <p><strong>Manifest:</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentName": "wrapper",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "title": "Wrapper",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentClass": "wrapper",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "attributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHide": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "boolean",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": false</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHide": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "true": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display": "none"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ],</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variablesEditor": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHide": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "true": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display-opacity": "0.5",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display": "var(--wrapper-display-type, grid)"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output:</strong></p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> none</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-display-opacity</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">0.5</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-display-type</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> grid</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> none</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">--wrapper-display-opacity</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 0.5</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">--wrapper-display-type</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> grid</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="manual-variables">Manual variables<a href="#manual-variables" class="hash-link" aria-label="Direct link to Manual variables" title="Direct link to Manual variables">​</a></h2> <p>Custom CSS variables can be generated and output independently from all the attributes through the <code>variablesCustom</code> key. Add it inside the manifest (top level) and add each variable as an array item. Manual variables will be added at the end of the output.</p> <p><strong>Manifest:</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "attributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> // ...</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variablesCustom": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "--variable1: test1",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "--variable2: test2",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "--variable3: test3"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output:</strong></p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--variable1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--variable2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--variable3</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test3</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">--variable1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">--variable2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">--variable3</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test3</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="manual-variables-inside-the-block-editor">Manual variables inside the Block editor<a href="#manual-variables-inside-the-block-editor" class="hash-link" aria-label="Direct link to Manual variables inside the Block editor" title="Direct link to Manual variables inside the Block editor">​</a></h2> <p>If you want to add manual variables that only apply inside the Block editor you can use the <code>variablesCustomEditor</code> key. Everything works the same as described in the <strong>Manual variables</strong> section. If you define both <code>variablesCustomEditor</code> and <code>variables</code>, both will be output in the editor, but only <code>variables</code> will be output on the frontend.</p> <p><strong>Manifest:</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "attributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> // ...</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variablesCustomEditor": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "--variable1: test1",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "--variable2: test2",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "--variable3: test3"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output:</strong></p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--variable1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--variable2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--variable3</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test3</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">--variable1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">--variable2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">--variable3</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test3</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="additional-options-and-examples">Additional options and examples<a href="#additional-options-and-examples" class="hash-link" aria-label="Direct link to Additional options and examples" title="Direct link to Additional options and examples">​</a></h2> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="color">Color<a href="#color" class="hash-link" aria-label="Direct link to Color" title="Direct link to Color">​</a></h3> <p>Here is an example how to output global variable as a css variable.</p> <p><strong>Manifest:</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentClass": "typography",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "attributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographyColor": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "string",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": "white"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographyColor": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-color": "var(--global-colors-white)"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output:</strong></p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--global-colors-white</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">--typography-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">--global-colors-white</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="responsive">Responsive<a href="#responsive" class="hash-link" aria-label="Direct link to Responsive" title="Direct link to Responsive">​</a></h3> <p>All variables are prepared to be responsive. If you set multiple keys in the manifest list that variable will be outputted in the correct media query. Breakpoints are taken from the global manifest and the order of the output breakpoints.</p> <div class="es-alert es-alert--caution m-0 my-10 pl-10 pr-0 py-4 border-l-4 border-l-infinum border-l-candy-30"><i class="flex gap-1.5 items-center font-sans text-12 uppercase not-italic leading-none font-medium mb-2"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" class="w-6 h-6 text-candy-30"><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"></path></svg><span class="text-grey-500">Important</span></i><div class="font-sans text-16 text-black"><p>Global breakpoints must follow the convention from the smallest size to the largest.</p></div></div> @@ -97,20 +97,20 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="responsive">Responsive<a href <p><strong>Manifest:</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentClass": "typography",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "attributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographySize": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "string",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": "120-default"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographySize": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-size": "30px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "breakpoint": "tablet",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-size": "80px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "breakpoint": "large",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-size": "120px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output:</strong></p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector class" style="color:rgb(255, 121, 198)">.typography</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">30</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">min-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> </span><span class="token atrule number">1279</span><span class="token atrule unit">px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector class" style="color:rgb(255, 121, 198)">.typography</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">80</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">min-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> </span><span class="token atrule number">1920</span><span class="token atrule unit">px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector class" style="color:rgb(255, 121, 198)">.typography</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">120</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector" style="color:rgb(255, 121, 198)">.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 30px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">min-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> 1279px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector" style="color:rgb(255, 121, 198)">.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 80px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">min-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> 1920px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector" style="color:rgb(255, 121, 198)">.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 120px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="responsive-inverse">Responsive Inverse<a href="#responsive-inverse" class="hash-link" aria-label="Direct link to Responsive Inverse" title="Direct link to Responsive Inverse">​</a></h3> <p>By default, we use mobile first approach but if you need desktop first you can use <code>inverse: true</code> key.</p> <div class="es-alert es-alert--note m-0 my-10 pl-10 pr-0 py-4 border-l-4 border-l-infinum border-l-violet-30"><i class="flex gap-1.5 items-center font-sans text-12 uppercase not-italic leading-none font-medium mb-2"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" class="w-6 h-6 text-violet-30"><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"></path></svg><span class="text-grey-500">Note</span></i><div class="font-sans text-16 text-black"><p>If you have multiple mobile/desktop-first breakpoints, output will sort them mobile first and then desktop first after that.</p></div></div> <p><strong>Manifest:</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentClass": "typography",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "attributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographySize": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "string",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": "120-default"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographySize": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-size": "120px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "breakpoint": "tablet",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "inverse": true,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-size": "80px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "breakpoint": "mobile",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "inverse": true,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-size": "320px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output:</strong></p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector class" style="color:rgb(255, 121, 198)">.typography</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">120</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">max-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> </span><span class="token atrule number">1279</span><span class="token atrule unit">px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector class" style="color:rgb(255, 121, 198)">.typography</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">80</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">max-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> </span><span class="token atrule number">479</span><span class="token atrule unit">px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector class" style="color:rgb(255, 121, 198)">.typography</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">30</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector" style="color:rgb(255, 121, 198)">.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 120px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">max-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> 1279px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector" style="color:rgb(255, 121, 198)">.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 80px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">max-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> 479px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector" style="color:rgb(255, 121, 198)">.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 30px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="attribute-value-replacement">Attribute value replacement<a href="#attribute-value-replacement" class="hash-link" aria-label="Direct link to Attribute value replacement" title="Direct link to Attribute value replacement">​</a></h3> <p>Attribute value replacement variable is used to return the attribute value where you want it in the css variables. To use it just put <code>%value%</code> in you css variables.</p> <p><strong>Manifest:</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentClass": "typography",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "attributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographySize": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "string",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": "120"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typographySize": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-size": "30px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "breakpoint": "tablet",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-size": "80px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "breakpoint": "large",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "typography-size": "%value%px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output:</strong></p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector class" style="color:rgb(255, 121, 198)">.typography</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">30</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">min-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> </span><span class="token atrule number">1279</span><span class="token atrule unit">px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector class" style="color:rgb(255, 121, 198)">.typography</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">80</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">min-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> </span><span class="token atrule number">1920</span><span class="token atrule unit">px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector class" style="color:rgb(255, 121, 198)">.typography</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">120</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector" style="color:rgb(255, 121, 198)">.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 30px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">min-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> 1279px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector" style="color:rgb(255, 121, 198)">.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 80px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">min-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> 1920px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector" style="color:rgb(255, 121, 198)">.typography[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--typography-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 120px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="responsive-variables">Responsive variables<a href="#responsive-variables" class="hash-link" aria-label="Direct link to Responsive variables" title="Direct link to Responsive variables">​</a></h2> <p>Responsive variables are used for eliminating unnecessary code duplication. For example, if you have 4 separate attributes used for setting a responsive variable where all the attributes have the same output (e.g. <code>%value%</code>), the variables can get cluttered rather quickly.</p> <p>In a top-level manifest key <code>responsiveAttributes</code>, you can place a new key (e.g. <code>wrapperHide</code>) that represents a common key for your responsive variables. Inside it, you can list your responsive variables (e.g. <code>wrapperHideLarge</code>, <code>wrapperHideDesktop</code>, <code>wrapperHideTablet</code>, <code>wrapperHideMobile</code>) as a key-value pair. The key represents a breakpoint name, and the value represents responsive variable(<code>breakpoint</code>: <code>responsiveVariableName</code>). Afterwards, you can add that common key inside the <code>variables</code> (and/or <code>variablesEditor</code>) key and configure the output template.</p> @@ -122,10 +122,10 @@ <h2 class="anchor anchorWithStickyNavbar_LWe7" id="responsive-variables">Respons <p><strong>Transformed:</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentName": "wrapper",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "title": "Wrapper",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentClass": "wrapper",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "attributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHide": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "boolean",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": false</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "responsiveAttributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHideLarge": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "boolean",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": false</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHideDesktop": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "boolean"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHideTablet": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "boolean"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHideLarge": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "true": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display": "none"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ],</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "false": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display": "var(--wrapper-display-type, grid)"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHideDesktop": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "true": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "inverse": true,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "breakpoint": "desktop",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display": "none"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ],</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "false": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "inverse": true,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "breakpoint": "desktop",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display": "var(--wrapper-display-type, grid)"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHideTablet": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "true": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "inverse": true,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "breakpoint": "desktop",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display": "none"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ],</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "false": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "inverse": true,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "breakpoint": "desktop",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display": "var(--wrapper-display-type, grid)"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output</strong></p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector class" style="color:rgb(255, 121, 198)">.wrapper</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-display-type</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> grid</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">max-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> </span><span class="token atrule number">1920</span><span class="token atrule unit">px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector class" style="color:rgb(255, 121, 198)">.wrapper</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> none</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">max-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> </span><span class="token atrule number">1279</span><span class="token atrule unit">px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector class" style="color:rgb(255, 121, 198)">.wrapper</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-display-type</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> grid</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector" style="color:rgb(255, 121, 198)">.wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">--wrapper-display-type</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> grid</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">max-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> 1920px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector" style="color:rgb(255, 121, 198)">.wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> none</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token atrule rule">@media</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token atrule property">max-width</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token atrule"> 1279px</span><span class="token atrule punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector" style="color:rgb(255, 121, 198)">.wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">--wrapper-display-type</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> grid</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Example 2</strong></p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentName": "wrapper",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "title": "Wrapper",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "componentClass": "wrapper",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "attributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHideLarge": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "boolean",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": false</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHideDesktop": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "boolean"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHideTablet": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "type": "boolean"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "responsiveAttributes": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHide": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "large": "wrapperHideLarge",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "desktop": "wrapperHideDesktop",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "tablet": "wrapperHideTablet"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHide": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "true": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "inverse": true,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display": "none"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ],</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "false": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "inverse": true,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display": "var(--wrapper-display-type, grid)"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapperHideLarge": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "true": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "inverse": true,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "variable": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-display": "block",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "wrapper-opacity": 0</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ],</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><strong>Output</strong></p> -<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector class" style="color:rgb(255, 121, 198)">.wrapper</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token selector attribute attr-name" style="color:rgb(241, 250, 140)">data-id</span><span class="token selector attribute operator" style="color:rgb(255, 121, 198)">=</span><span class="token selector attribute attr-value" style="color:rgb(255, 121, 198)">'210c9bbf733ef5c6aa74c49168ac29a7'</span><span class="token selector attribute punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> none</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> block</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">--wrapper-opacity</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">0</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/legacy/v8/basics/blocks-reusable"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Reusable Blocks</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/legacy/v8/basics/blocks-storybook"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Storybook</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#setup" class="table-of-contents__link toc-highlight">Setup</a></li><li><a href="#details" class="table-of-contents__link toc-highlight">Details</a></li><li><a href="#global-variables" class="table-of-contents__link toc-highlight">Global variables</a></li><li><a href="#variables" class="table-of-contents__link toc-highlight">Variables</a></li><li><a href="#default-type" class="table-of-contents__link toc-highlight">Default type</a></li><li><a href="#value-type" class="table-of-contents__link toc-highlight">Value type</a></li><li><a href="#editor-variables" class="table-of-contents__link toc-highlight">Editor variables</a></li><li><a href="#manual-variables" class="table-of-contents__link toc-highlight">Manual variables</a></li><li><a href="#manual-variables-inside-the-block-editor" class="table-of-contents__link toc-highlight">Manual variables inside the Block editor</a></li><li><a href="#additional-options-and-examples" class="table-of-contents__link toc-highlight">Additional options and examples</a><ul><li><a href="#color" class="table-of-contents__link toc-highlight">Color</a></li><li><a href="#responsive" class="table-of-contents__link toc-highlight">Responsive</a></li><li><a href="#responsive-inverse" class="table-of-contents__link toc-highlight">Responsive Inverse</a></li><li><a href="#attribute-value-replacement" class="table-of-contents__link toc-highlight">Attribute value replacement</a></li></ul></li><li><a href="#responsive-variables" class="table-of-contents__link toc-highlight">Responsive variables</a></li></ul></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> +<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector" style="color:rgb(255, 121, 198)">.wrapper[data-id='210c9bbf733ef5c6aa74c49168ac29a7']</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> none</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--wrapper-display</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> block</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">--wrapper-opacity</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> 0</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/legacy/v8/basics/blocks-reusable"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Reusable Blocks</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/legacy/v8/basics/blocks-storybook"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Storybook</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#setup" class="table-of-contents__link toc-highlight">Setup</a></li><li><a href="#details" class="table-of-contents__link toc-highlight">Details</a></li><li><a href="#global-variables" class="table-of-contents__link toc-highlight">Global variables</a></li><li><a href="#variables" class="table-of-contents__link toc-highlight">Variables</a></li><li><a href="#default-type" class="table-of-contents__link toc-highlight">Default type</a></li><li><a href="#value-type" class="table-of-contents__link toc-highlight">Value type</a></li><li><a href="#editor-variables" class="table-of-contents__link toc-highlight">Editor variables</a></li><li><a href="#manual-variables" class="table-of-contents__link toc-highlight">Manual variables</a></li><li><a href="#manual-variables-inside-the-block-editor" class="table-of-contents__link toc-highlight">Manual variables inside the Block editor</a></li><li><a href="#additional-options-and-examples" class="table-of-contents__link toc-highlight">Additional options and examples</a><ul><li><a href="#color" class="table-of-contents__link toc-highlight">Color</a></li><li><a href="#responsive" class="table-of-contents__link toc-highlight">Responsive</a></li><li><a href="#responsive-inverse" class="table-of-contents__link toc-highlight">Responsive Inverse</a></li><li><a href="#attribute-value-replacement" class="table-of-contents__link toc-highlight">Attribute value replacement</a></li></ul></li><li><a href="#responsive-variables" class="table-of-contents__link toc-highlight">Responsive variables</a></li></ul></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> </body> </html> \ No newline at end of file diff --git a/docs/legacy/v8/basics/blocks-transforms/index.html b/docs/legacy/v8/basics/blocks-transforms/index.html index 4a24df6a9..7fba2d4c7 100644 --- a/docs/legacy/v8/basics/blocks-transforms/index.html +++ b/docs/legacy/v8/basics/blocks-transforms/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v8/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v8</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Transforms</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Transforms</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v8/basics/blocks-variations/index.html b/docs/legacy/v8/basics/blocks-variations/index.html index f33cd6cf3..ef710dbd3 100644 --- a/docs/legacy/v8/basics/blocks-variations/index.html +++ b/docs/legacy/v8/basics/blocks-variations/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v8/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v8</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Variations</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Variations</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v8/basics/blocks-wrapper/index.html b/docs/legacy/v8/basics/blocks-wrapper/index.html index ed34891af..b9815acbd 100644 --- a/docs/legacy/v8/basics/blocks-wrapper/index.html +++ b/docs/legacy/v8/basics/blocks-wrapper/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v8/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v8</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Wrapper</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Wrapper</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v8/basics/blocks/index.html b/docs/legacy/v8/basics/blocks/index.html index 6312992fb..79930c650 100644 --- a/docs/legacy/v8/basics/blocks/index.html +++ b/docs/legacy/v8/basics/blocks/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-important">Important</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-faq">Faq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-registration">Registration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-structure">Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-global-manifest">Global Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/block-structure">Block Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-structure">Component Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/block-manifest">Block Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-manifest">Component Manifest</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-attributes">Attributes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-component-in-block">Component in a Block</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-wrapper">Wrapper</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-variations">Variations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-patterns">Patterns</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-transforms">Transforms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-special-use-cases">Special Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-reusable">Reusable Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-styles">Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/blocks-storybook">Storybook</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v8</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Blocks</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Blocks</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v8/basics/browser-sync/index.html b/docs/legacy/v8/basics/browser-sync/index.html index e48623926..57fb3fc87 100644 --- a/docs/legacy/v8/basics/browser-sync/index.html +++ b/docs/legacy/v8/basics/browser-sync/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/frontend">Frontend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/frontend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/webpack">Webpack</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/library">SCSS Library</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/global-settings">Global Settings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/writing-styles">Writing Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/fonts">Fonts</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v8/basics/browser-sync">Browsersync</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/dynamic-import">Dynamic Import</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v8</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Frontend</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Browsersync</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Browsersync</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v8/basics/dynamic-import/index.html b/docs/legacy/v8/basics/dynamic-import/index.html index efbf86f10..3cd19783c 100644 --- a/docs/legacy/v8/basics/dynamic-import/index.html +++ b/docs/legacy/v8/basics/dynamic-import/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/frontend">Frontend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/frontend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/webpack">Webpack</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/library">SCSS Library</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/global-settings">Global Settings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/writing-styles">Writing Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/fonts">Fonts</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/browser-sync">Browsersync</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v8/basics/dynamic-import">Dynamic Import</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v8</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Frontend</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Dynamic Import</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Dynamic Import</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v8/basics/example-class/index.html b/docs/legacy/v8/basics/example-class/index.html index 06ac5fe34..d66c47460 100644 --- a/docs/legacy/v8/basics/example-class/index.html +++ b/docs/legacy/v8/basics/example-class/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/backend">Backend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/backend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/namespaces">Namespaces</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/autowiring">Autowiring</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v8/basics/example-class">Example Class</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/manifest">Assets Manifest</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/rest">Rest</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v8</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Backend</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Example Class</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Example Class</h1></header><p><a href="https://github.com/infinum/eightshift-libs" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v8/basics/extending-classes/index.html b/docs/legacy/v8/basics/extending-classes/index.html index f821f0289..8ee930ad5 100644 --- a/docs/legacy/v8/basics/extending-classes/index.html +++ b/docs/legacy/v8/basics/extending-classes/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/backend">Backend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/backend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/namespaces">Namespaces</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v8/basics/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/autowiring">Autowiring</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/example-class">Example Class</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/manifest">Assets Manifest</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/rest">Rest</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v8</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Backend</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Extending Classes</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Extending Classes</h1></header><p><a href="https://github.com/infinum/eightshift-libs" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v8/basics/fonts/index.html b/docs/legacy/v8/basics/fonts/index.html index 93d743829..843764039 100644 --- a/docs/legacy/v8/basics/fonts/index.html +++ b/docs/legacy/v8/basics/fonts/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/frontend">Frontend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/frontend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/webpack">Webpack</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/library">SCSS Library</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/global-settings">Global Settings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/writing-styles">Writing Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v8/basics/fonts">Fonts</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/browser-sync">Browsersync</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/dynamic-import">Dynamic Import</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v8</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Frontend</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Fonts</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Fonts</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> @@ -24,7 +24,7 @@ <ul> <li>Put your font files in this folder: <code>assets/fonts</code>.</li> <li>Import each file in the <code>assets/fonts/index.js</code> so that Webpack knows how to process these files in its build process.</li> -<li>In your project, load the font family using font-face <a href="/sass">method</a>. We recommend that you create a new file <code>assets/styles/parts/utils/_defaults.scss</code> and put everything in that file.</li> +<li>In your project, load the font family using font-face <a href="/docs/basics/library">method</a>. We recommend that you create a new file <code>assets/styles/parts/utils/_defaults.scss</code> and put everything in that file.</li> </ul> <p>You can read <a href="/blog/adding-fonts">Igor's blog post about adding fonts to your project</a>.</p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/legacy/v8/basics/writing-styles"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Writing Styles</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/legacy/v8/basics/browser-sync"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Browsersync</div></a></nav></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> </body> diff --git a/docs/legacy/v8/basics/frontend/index.html b/docs/legacy/v8/basics/frontend/index.html index 210d99d13..3d3185ef4 100644 --- a/docs/legacy/v8/basics/frontend/index.html +++ b/docs/legacy/v8/basics/frontend/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/frontend">Frontend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v8/basics/frontend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/webpack">Webpack</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/library">SCSS Library</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/global-settings">Global Settings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/writing-styles">Writing Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/fonts">Fonts</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/browser-sync">Browsersync</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/dynamic-import">Dynamic Import</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v8</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Frontend</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">General</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>General</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v8/basics/global-settings/index.html b/docs/legacy/v8/basics/global-settings/index.html index 6567eaa91..6032287af 100644 --- a/docs/legacy/v8/basics/global-settings/index.html +++ b/docs/legacy/v8/basics/global-settings/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/frontend">Frontend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/frontend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/webpack">Webpack</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/library">SCSS Library</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v8/basics/global-settings">Global Settings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/writing-styles">Writing Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/fonts">Fonts</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/browser-sync">Browsersync</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/dynamic-import">Dynamic Import</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v8</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Frontend</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Global Settings</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Global Settings</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> @@ -30,30 +30,30 @@ <h2 class="anchor anchorWithStickyNavbar_LWe7" id="how-does-this-work">How does <p>You have the file <code>src/Blocks/manifest.json</code> that has a key called <code>globalVariables</code>. We use this key and build the SCSS maps that you can use in your style files.</p> <p>Mind-blowing, right?</p> <p>To use it, write your style in the <code>manifest.json</code> under the <code>globalVariables</code> key, and you can use that variable in your style files like this:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$base-col-number: global-settings(maxCols);</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$base-col-number</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">maxCols</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>Keep in mind that the <code>global-settings</code> is a function that checks the <code>globalVariables</code> map and returns the value depending on the key provided.</p> <p>For example, if you have something like this in your <code>manifest.json</code>:</p> <div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "globalVariables": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "maxCols": 12,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "gutters": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "none": "0",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": "25px",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "big": "50px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "colors": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "name": "Primary",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "slug": "primary",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "color": "#3E3E3E"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "name": "Black",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "slug": "black",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "color": "#000000"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="scenario-1">Scenario 1:<a href="#scenario-1" class="hash-link" aria-label="Direct link to Scenario 1:" title="Direct link to Scenario 1:">​</a></h3> <p>You type this in you SCSS files:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$base-col-number: global-settings(maxCols);</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$base-col-number</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">maxCols</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>the output will be: <strong>12</strong></p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="scenario-2">Scenario 2:<a href="#scenario-2" class="hash-link" aria-label="Direct link to Scenario 2:" title="Direct link to Scenario 2:">​</a></h3> <p>You type this in you SCSS files:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$gutters: global-settings(gutters);</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$gutters</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">gutters</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>the output will be a map that you need to loop or fetch individual files using <code>get-map-strict</code> or <code>get-map-deep</code> function:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$gutters: (</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "none": "0",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "default": "25px",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "big": "50px"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">);</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$gutters</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"none"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"0"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"default"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"25px"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"big"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"50px"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>so you can call it like this:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">width: get-map-strict($gutters, default);</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">width</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">get-map-strict</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$gutters</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> default</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="scenario-3">Scenario 3:<a href="#scenario-3" class="hash-link" aria-label="Direct link to Scenario 3:" title="Direct link to Scenario 3:">​</a></h3> <p>"I want to output colors, but they don't follow the structure you mentioned before. Why is that?"</p> <p>Yes, colors are different because we use this manifest to output the colors to the block editors' color palette. Only the colors are like this.</p> <p>Type this into your SCSS files:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$primary-color: global-settings(colors, primary),</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">$black-color: global-settings(colors, black),</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$primary-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">colors</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> primary</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$black-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">colors</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token color">black</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>The output will be:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$primary-color: #3E3E3E;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">$black-color: #000000;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$primary-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token hexcode color">#3E3E3E</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$black-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token hexcode color">#000000</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>so you use it the normal SCSS way:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">color: $primary-color;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">background-color: $black-color;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property">color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$primary-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token property">background-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$black-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <div class="es-alert es-alert--note m-0 my-10 pl-10 pr-0 py-4 border-l-4 border-l-infinum border-l-violet-30"><i class="flex gap-1.5 items-center font-sans text-12 uppercase not-italic leading-none font-medium mb-2"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" class="w-6 h-6 text-violet-30"><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"></path></svg><span class="text-grey-500">Note</span></i><div class="font-sans text-16 text-black"><p>If you add/remove/change any value in the <code>manifest.json</code> file, please restart your Webpack watch because it won't recognize that change.</p></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/legacy/v8/basics/library"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">SCSS Library</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/legacy/v8/basics/writing-styles"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Writing Styles</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#why-do-we-use-this" class="table-of-contents__link toc-highlight">Why do we use this?</a></li><li><a href="#how-does-this-work" class="table-of-contents__link toc-highlight">How does this work?</a><ul><li><a href="#scenario-1" class="table-of-contents__link toc-highlight">Scenario 1:</a></li><li><a href="#scenario-2" class="table-of-contents__link toc-highlight">Scenario 2:</a></li><li><a href="#scenario-3" class="table-of-contents__link toc-highlight">Scenario 3:</a></li></ul></li></ul></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> </body> </html> \ No newline at end of file diff --git a/docs/legacy/v8/basics/helpers-javascript/index.html b/docs/legacy/v8/basics/helpers-javascript/index.html index a1bfee5d3..6ff2d0789 100644 --- a/docs/legacy/v8/basics/helpers-javascript/index.html +++ b/docs/legacy/v8/basics/helpers-javascript/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/helpers">Helpers</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v8/basics/helpers-javascript">JavaScript</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/helpers-scss">Scss</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/helpers-php">PHP</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v8</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Helpers</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">JavaScript</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v8/basics/helpers-php/index.html b/docs/legacy/v8/basics/helpers-php/index.html index fd136db86..b3a7fb202 100644 --- a/docs/legacy/v8/basics/helpers-php/index.html +++ b/docs/legacy/v8/basics/helpers-php/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/helpers">Helpers</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/helpers-javascript">JavaScript</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/helpers-scss">Scss</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v8/basics/helpers-php">PHP</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v8</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Helpers</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">PHP</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>PHP</h1></header><p><a href="https://github.com/infinum/eightshift-libs" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v8/basics/helpers-scss/index.html b/docs/legacy/v8/basics/helpers-scss/index.html index a5ad8a95b..d955f56b2 100644 --- a/docs/legacy/v8/basics/helpers-scss/index.html +++ b/docs/legacy/v8/basics/helpers-scss/index.html @@ -14,14 +14,14 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/helpers">Helpers</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/helpers-javascript">JavaScript</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v8/basics/helpers-scss">Scss</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/helpers-php">PHP</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v8</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Helpers</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Scss</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Scss</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs/tree/develop/blocks/init/src/Blocks/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> <p>For years, we have collected a list of useful SASS mixins, placeholders, and functions you can use in a project. You don't need to have all of this in your project. Check out our documentation and see what we have in store for you.</p> -<p><strong>Visit <a href="/sass">SassDocs</a> for more details.</strong></p> +<p><strong>Visit <a href="/docs/basics/library">SassDocs</a> for more details.</strong></p> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="default-usage">Default usage<a href="#default-usage" class="hash-link" aria-label="Direct link to Default usage" title="Direct link to Default usage">​</a></h2> <p>Eightshift Frontend Libs styles library is already implemented in your WordPress project, so you don't need to worry about implementation.</p> <p>All our sass mixing, functions and helpers are located in <code>node_modules/@eighshift/frontend-libs/styles/scss/eightshift-frontend-libs.scss</code> file.</p> @@ -31,6 +31,6 @@ <h2 class="anchor anchorWithStickyNavbar_LWe7" id="usage-outside-of-eightshift-b <p>In your terminal, install Eightshift Frontend Libs package:</p> <div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">npm install @eightshift/frontend-libs</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>and add this import in your project:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">@import '@eightshift/frontend-libs/styles/index.scss';</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/legacy/v8/basics/helpers-javascript"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">JavaScript</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/legacy/v8/basics/helpers-php"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">PHP</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#default-usage" class="table-of-contents__link toc-highlight">Default usage</a></li><li><a href="#usage-outside-of-eightshift-boilerplate" class="table-of-contents__link toc-highlight">Usage outside of Eightshift Boilerplate</a></li></ul></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@import</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'@eightshift/frontend-libs/styles/index.scss'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/legacy/v8/basics/helpers-javascript"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">JavaScript</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/legacy/v8/basics/helpers-php"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">PHP</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#default-usage" class="table-of-contents__link toc-highlight">Default usage</a></li><li><a href="#usage-outside-of-eightshift-boilerplate" class="table-of-contents__link toc-highlight">Usage outside of Eightshift Boilerplate</a></li></ul></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> </body> </html> \ No newline at end of file diff --git a/docs/legacy/v8/basics/helpers/index.html b/docs/legacy/v8/basics/helpers/index.html index accec6d5c..a132b7ede 100644 --- a/docs/legacy/v8/basics/helpers/index.html +++ b/docs/legacy/v8/basics/helpers/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/helpers">Helpers</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v8/basics/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/helpers-javascript">JavaScript</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/helpers-scss">Scss</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/helpers-php">PHP</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v8</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Helpers</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Helpers</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Helpers</h1></header><p>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:</p> diff --git a/docs/legacy/v8/basics/library/index.html b/docs/legacy/v8/basics/library/index.html index 4fa9809ed..8a88f6ede 100644 --- a/docs/legacy/v8/basics/library/index.html +++ b/docs/legacy/v8/basics/library/index.html @@ -14,19 +14,19 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/frontend">Frontend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/frontend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/webpack">Webpack</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v8/basics/library">SCSS Library</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/global-settings">Global Settings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/writing-styles">Writing Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/fonts">Fonts</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/browser-sync">Browsersync</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/dynamic-import">Dynamic Import</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v8</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Frontend</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">SCSS Library</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>SCSS Library</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> <p>Eightshift Frontend Libs contains a collection of useful SCSS mixins, functions and helpers you can use in projects.</p> <p>For years, we have collected a list of them. At one point, we felt it was ineffective to copy-paste code across multiple projects, so we created Eightshift Frontend Libs. This allows you to use whatever we offer without all that unnecessary clutter.</p> <p>Check out our documentation and import what you need from Eightshift Frontend Libs.</p> -<p><strong>Visit <a href="/sass">SassDocs</a> for more details.</strong></p> +<p><strong>Visit <a href="/docs/basics/library">SassDocs</a> for more details.</strong></p> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="how-to-use-it">How to use it<a href="#how-to-use-it" class="hash-link" aria-label="Direct link to How to use it" title="Direct link to How to use it">​</a></h2> <p>SCSS mixins, functions, and helpers are located in Eightshift Frontend Libs. Therefore, if you are using our Webpack build, you are all set. You can use it by importing it into your project like this:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">@import '@eightshift/frontend-libs/styles/index.scss';</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@import</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'@eightshift/frontend-libs/styles/index.scss'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>However, if you used our <code>wp boilerplate init theme</code> command, you are all set. Eightshift Frontend Libs are injected in the <code>_shared.scss</code> file in your project.</p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/legacy/v8/basics/webpack"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Webpack</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/legacy/v8/basics/global-settings"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Global Settings</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#how-to-use-it" class="table-of-contents__link toc-highlight">How to use it</a></li></ul></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> </body> </html> \ No newline at end of file diff --git a/docs/legacy/v8/basics/manifest/index.html b/docs/legacy/v8/basics/manifest/index.html index 1196986cd..189b2855b 100644 --- a/docs/legacy/v8/basics/manifest/index.html +++ b/docs/legacy/v8/basics/manifest/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/backend">Backend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/backend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/namespaces">Namespaces</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/autowiring">Autowiring</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/example-class">Example Class</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v8/basics/manifest">Assets Manifest</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/rest">Rest</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v8</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Backend</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Assets Manifest</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Assets Manifest</h1></header><p><a href="https://github.com/infinum/eightshift-libs" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v8/basics/namespaces/index.html b/docs/legacy/v8/basics/namespaces/index.html index f30f2080b..9e9f3c352 100644 --- a/docs/legacy/v8/basics/namespaces/index.html +++ b/docs/legacy/v8/basics/namespaces/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/backend">Backend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/backend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v8/basics/namespaces">Namespaces</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/autowiring">Autowiring</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/example-class">Example Class</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/manifest">Assets Manifest</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/rest">Rest</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v8</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Backend</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Namespaces</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Namespaces</h1></header><p><a href="https://github.com/infinum/eightshift-libs" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v8/basics/rest-field/index.html b/docs/legacy/v8/basics/rest-field/index.html index bd15b33e9..1073058e4 100644 --- a/docs/legacy/v8/basics/rest-field/index.html +++ b/docs/legacy/v8/basics/rest-field/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/backend">Backend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/backend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/namespaces">Namespaces</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/autowiring">Autowiring</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/example-class">Example Class</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/manifest">Assets Manifest</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/rest">Rest</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/rest">REST Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v8/basics/rest-field">REST Field</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/rest-route">REST Route</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v8</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Backend</span><meta itemprop="position" content="4"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Rest</span><meta itemprop="position" content="5"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">REST Field</span><meta itemprop="position" content="6"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>REST Field</h1></header><p><a href="https://github.com/infinum/eightshift-libs" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v8/basics/rest-route/index.html b/docs/legacy/v8/basics/rest-route/index.html index e0262447b..b21d7a86d 100644 --- a/docs/legacy/v8/basics/rest-route/index.html +++ b/docs/legacy/v8/basics/rest-route/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/backend">Backend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/backend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/namespaces">Namespaces</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/autowiring">Autowiring</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/example-class">Example Class</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/manifest">Assets Manifest</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/rest">Rest</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/rest">REST Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/rest-field">REST Field</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v8/basics/rest-route">REST Route</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v8</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Backend</span><meta itemprop="position" content="4"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Rest</span><meta itemprop="position" content="5"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">REST Route</span><meta itemprop="position" content="6"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>REST Route</h1></header><p><a href="https://github.com/infinum/eightshift-libs" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v8/basics/rest/index.html b/docs/legacy/v8/basics/rest/index.html index 38b954a42..eb9d6741d 100644 --- a/docs/legacy/v8/basics/rest/index.html +++ b/docs/legacy/v8/basics/rest/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/backend">Backend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/backend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/namespaces">Namespaces</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/extending-classes">Extending Classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/autowiring">Autowiring</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/example-class">Example Class</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/manifest">Assets Manifest</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/rest">Rest</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v8/basics/rest">REST Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/rest-field">REST Field</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/rest-route">REST Route</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v8</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Backend</span><meta itemprop="position" content="4"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Rest</span><meta itemprop="position" content="5"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">REST Intro</span><meta itemprop="position" content="6"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>REST Intro</h1></header><p><a href="https://github.com/infinum/eightshift-libs" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v8/basics/tips-tricks/index.html b/docs/legacy/v8/basics/tips-tricks/index.html index 07a9cef01..437ba99b1 100644 --- a/docs/legacy/v8/basics/tips-tricks/index.html +++ b/docs/legacy/v8/basics/tips-tricks/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v8/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v8</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Tips & Tricks</span><meta itemprop="position" content="4"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Tips & Tricks</h1></header><p>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.</p> diff --git a/docs/legacy/v8/basics/webpack/index.html b/docs/legacy/v8/basics/webpack/index.html index 3e7217fa4..11c2b8269 100644 --- a/docs/legacy/v8/basics/webpack/index.html +++ b/docs/legacy/v8/basics/webpack/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/frontend">Frontend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/frontend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v8/basics/webpack">Webpack</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/library">SCSS Library</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/global-settings">Global Settings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/writing-styles">Writing Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/fonts">Fonts</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/browser-sync">Browsersync</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/dynamic-import">Dynamic Import</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v8</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Frontend</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Webpack</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Webpack</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v8/basics/wp-cli/index.html b/docs/legacy/v8/basics/wp-cli/index.html index 12deca6cf..8bd30ef28 100644 --- a/docs/legacy/v8/basics/wp-cli/index.html +++ b/docs/legacy/v8/basics/wp-cli/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v8/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/frontend">Frontend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v8</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">WP-CLI</span><meta itemprop="position" content="4"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>WP-CLI</h1></header><p><a href="https://github.com/infinum/eightshift-libs" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--libs-blue?style=for-the-badge&logo=php&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> diff --git a/docs/legacy/v8/basics/writing-styles/index.html b/docs/legacy/v8/basics/writing-styles/index.html index 49f2c49cb..7b8ad67c8 100644 --- a/docs/legacy/v8/basics/writing-styles/index.html +++ b/docs/legacy/v8/basics/writing-styles/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/architecture-concepts">Architecture concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/backend">Backend</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/basics/frontend">Frontend</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/frontend">General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/webpack">Webpack</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/library">SCSS Library</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/global-settings">Global Settings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v8/basics/writing-styles">Writing Styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/fonts">Fonts</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/browser-sync">Browsersync</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/dynamic-import">Dynamic Import</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/helpers">Helpers</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/legacy/v8/basics/tips-tricks">Tips & Tricks</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v8</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Basics</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Frontend</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Writing Styles</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Writing Styles</h1></header><p><a href="https://github.com/infinum/eightshift-frontend-libs" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/source-eightshift--frontend--libs-yellow?style=for-the-badge&logo=javascript&labelColor=2a2a2a" alt="docs-source" class="img_ev3q"></a></p> @@ -39,21 +39,21 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="all-external-variables-must-g <li>you can have multiple values with the same name and just change the top-level map,</li> <li>etc.</li> </ul> -<p>We also have many helpers, which you can check in our <a href="/sass">SASS docs</a>.</p> +<p>We also have many helpers, which you can check in our <a href="/docs/basics/library">SASS docs</a>.</p> <p>In the component map, you should only add things that you will reuse in your component.</p> <p><strong>Examples:</strong></p> <p>A simple variable in a map:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$social-links: (</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> icon-color: global-settings(colors, black),</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">.social-links {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> color: map-get-strict($social-links, icon-color);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$social-links</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">icon-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">colors</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token color">black</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token selector" style="color:rgb(255, 121, 198)">.social-links </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">map-get-strict</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$social-links</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> icon-color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>Nested variables in a map:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$social-links: (</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> colors: (</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> dark: global-settings(colors, black),</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> light: global-settings(colors, white),</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ),</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> sizes: (</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> small: 10px,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> big: 20px,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> )</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">.social-links {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> color: map-get-deep($social-links, colors, dark);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> &--light {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> color: map-get-deep($social-links, colors, light);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> &__sizes {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> font-size: map-get-deep($social-links, sizes, small);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> &--big {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> font-size: map-get-deep($social-links, sizes, big);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$social-links</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">colors</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">dark</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">colors</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token color">black</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">light</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">global-settings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">colors</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token color">white</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">sizes</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">small</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">10</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">big</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">20</span><span class="token unit">px</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token selector" style="color:rgb(255, 121, 198)">.social-links </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">map-get-deep</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$social-links</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> colors</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> dark</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector parent important" style="color:rgb(255, 121, 198)">&</span><span class="token selector" style="color:rgb(255, 121, 198)">--light </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">color</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">map-get-deep</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$social-links</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> colors</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> light</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector parent important" style="color:rgb(255, 121, 198)">&</span><span class="token selector" style="color:rgb(255, 121, 198)">__sizes </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">font-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">map-get-deep</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$social-links</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> sizes</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> small</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector parent important" style="color:rgb(255, 121, 198)">&</span><span class="token selector" style="color:rgb(255, 121, 198)">--big </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">font-size</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">map-get-deep</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$social-links</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> sizes</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> big</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="never-mix-multiple-maps-in-a-single-component">Never mix multiple maps in a single component<a href="#never-mix-multiple-maps-in-a-single-component" class="hash-link" aria-label="Direct link to Never mix multiple maps in a single component" title="Direct link to Never mix multiple maps in a single component">​</a></h3> <p>You want all your styles to be contained to a single component and not dependent on external components. Sometimes this can't be avoided.</p> <p>In that case, you should define a key in the component variable for the external map and define it like this:</p> <p><strong>Example:</strong></p> <p>External map in <code>assets/styles/parts/utils/_z-index.scss</code>:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$zindex: (</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> header: 100,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> drawer: 99,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> overlay: 98,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">);</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$zindex</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">header</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">100</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">drawer</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">99</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">overlay</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">98</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>Your component:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$header: (</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> index: map-get-strict($zindex, header),</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">.header {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> z-index: map-get-strict($header, index);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token property variable" style="color:rgb(189, 147, 249);font-style:italic">$header</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">index</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">map-get-strict</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$zindex</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> header</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token selector" style="color:rgb(255, 121, 198)">.header </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">z-index</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">map-get-strict</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$header</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> index</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="where-can-i-define-global-typography-for-all-my-blockscomponents">Where can I define global typography for all my blocks/components?<a href="#where-can-i-define-global-typography-for-all-my-blockscomponents" class="hash-link" aria-label="Direct link to Where can I define global typography for all my blocks/components?" title="Direct link to Where can I define global typography for all my blocks/components?">​</a></h3> <p>Well, nowhere. Try to move your way of thinking from Bootstrap or any other front-end framework where you define global typography in one place.</p> <p>Why is that? Because we use component-based development and you should think in that way. Each component is responsible for its own styles.</p> diff --git a/docs/legacy/v8/versions/index.html b/docs/legacy/v8/versions/index.html index 6cdf0c27d..9544a8076 100644 --- a/docs/legacy/v8/versions/index.html +++ b/docs/legacy/v8/versions/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/legacy/v8/versions">Legacy</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/docs/legacy/v8/versions">v8</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/legacy/v8/versions">Versions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v8/basics/basics-intro">Basics</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v7/versions">v7</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v6/versions">v6</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v5/versions">v5</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/legacy/v4/versions">v4</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Legacy</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">v8</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Versions</span><meta itemprop="position" content="3"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Versions</h1></header><p>Now that you understand what makes the Eightshift Development Kit tick, here is a quick reminder about what library versions this documentation refers to.</p> diff --git a/docs/migrations/10-11/index.html b/docs/migrations/10-11/index.html index 6368038cc..236aab8b9 100644 --- a/docs/migrations/10-11/index.html +++ b/docs/migrations/10-11/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/migrations/10-11">Migrations</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/migrations/10-11">Version 10 to 11</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/migrations/9-10">Version 9 to 10</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/migrations/8-9">Version 8 to 9</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/migrations/7-8">Version 7 to 8</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/migrations/6-7">Version 6 to 7</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/migrations/5-6">Version 5 to 6</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Migrations</span><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Version 10 to 11</span><meta itemprop="position" content="2"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Version 10 to 11</h1></header><p>This migration guide contains migration instructions for:</p> diff --git a/docs/migrations/5-6/index.html b/docs/migrations/5-6/index.html index c1a954943..635485b6b 100644 --- a/docs/migrations/5-6/index.html +++ b/docs/migrations/5-6/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/migrations/10-11">Migrations</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/migrations/10-11">Version 10 to 11</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/migrations/9-10">Version 9 to 10</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/migrations/8-9">Version 8 to 9</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/migrations/7-8">Version 7 to 8</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/migrations/6-7">Version 6 to 7</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/migrations/5-6">Version 5 to 6</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Migrations</span><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Version 5 to 6</span><meta itemprop="position" content="2"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Version 5 to 6</h1></header><p>This migration guide is represents migration for:</p> diff --git a/docs/migrations/6-7/index.html b/docs/migrations/6-7/index.html index 12e47173e..72053a95e 100644 --- a/docs/migrations/6-7/index.html +++ b/docs/migrations/6-7/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/migrations/10-11">Migrations</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/migrations/10-11">Version 10 to 11</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/migrations/9-10">Version 9 to 10</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/migrations/8-9">Version 8 to 9</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/migrations/7-8">Version 7 to 8</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/migrations/6-7">Version 6 to 7</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/migrations/5-6">Version 5 to 6</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Migrations</span><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Version 6 to 7</span><meta itemprop="position" content="2"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Version 6 to 7</h1></header><p>This migration guide is represents migration for:</p> @@ -86,6 +86,6 @@ <h2 class="anchor anchorWithStickyNavbar_LWe7" id="optional-changes">Optional ch <ol> <li>Add style changes to <code>src>assets>styles>parts>utils>_core.scss</code> file in the <code>body</code> selector to provide content flickering on render. Here is an example:</li> </ol> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">body {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> //...</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> opacity: var(--es-loaded-opacity, 0);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> transition: {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> property: opacity;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> duration: 0.5s;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> delay: 0.6s;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> };</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/migrations/7-8"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Version 7 to 8</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/migrations/5-6"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Version 5 to 6</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#required-changes" class="table-of-contents__link toc-highlight">Required changes</a></li><li><a href="#improvement-changes" class="table-of-contents__link toc-highlight">Improvement changes:</a></li><li><a href="#optional-changes" class="table-of-contents__link toc-highlight">Optional changes:</a></li></ul></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token selector" style="color:rgb(255, 121, 198)">body </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token comment" style="color:rgb(98, 114, 164)">//...</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">opacity</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">var</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">--es-loaded-opacity</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">0</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token selector" style="color:rgb(255, 121, 198)">transition: </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">property</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> opacity</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">duration</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">0.5</span><span class="token unit">s</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">delay</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">0.6</span><span class="token unit">s</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/migrations/7-8"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Version 7 to 8</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/migrations/5-6"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Version 5 to 6</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#required-changes" class="table-of-contents__link toc-highlight">Required changes</a></li><li><a href="#improvement-changes" class="table-of-contents__link toc-highlight">Improvement changes:</a></li><li><a href="#optional-changes" class="table-of-contents__link toc-highlight">Optional changes:</a></li></ul></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> </body> </html> \ No newline at end of file diff --git a/docs/migrations/7-8/index.html b/docs/migrations/7-8/index.html index 22922e1f8..78c111900 100644 --- a/docs/migrations/7-8/index.html +++ b/docs/migrations/7-8/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/migrations/10-11">Migrations</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/migrations/10-11">Version 10 to 11</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/migrations/9-10">Version 9 to 10</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/migrations/8-9">Version 8 to 9</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/migrations/7-8">Version 7 to 8</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/migrations/6-7">Version 6 to 7</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/migrations/5-6">Version 5 to 6</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Migrations</span><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Version 7 to 8</span><meta itemprop="position" content="2"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Version 7 to 8</h1></header><p>This migration guide contains migration instructions for:</p> @@ -43,9 +43,9 @@ <h2 class="anchor anchorWithStickyNavbar_LWe7" id="required-changes">Required ch </li> <li> <p>We have removed the <code>normalize</code> package from the project as it was unmaintained. Search your project and replace:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">@import 'normalize-scss';</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">@include normalize();</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@import</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'normalize-scss'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@include</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">normalize</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>with this:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">@import '@eightshift/frontend-libs/styles/scss/normalize';</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@import</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'@eightshift/frontend-libs/styles/scss/normalize'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> </li> <li> <p>We've removed <code>@babel/polyfill</code> package, so please remove <code>require('@babel/polyfill');</code> from your project or install it manually if you need to support older browsers.</p> @@ -67,12 +67,12 @@ <h2 class="anchor anchorWithStickyNavbar_LWe7" id="required-changes">Required ch <h3 class="anchor anchorWithStickyNavbar_LWe7" id="swiper-changes">Swiper changes:<a href="#swiper-changes" class="hash-link" aria-label="Direct link to Swiper changes:" title="Direct link to Swiper changes:">​</a></h3> <p><strong>Migration time: ~5min.</strong></p> <p>Swiper is not a dependency of Eightshift Boilerplate, but if you are using Swiper in your project and have something like this:</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">@import '~swiper/swiper.scss';</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">@import '~swiper/modules/pagination/pagination.scss';</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@import</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'~swiper/swiper.scss'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@import</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'~swiper/modules/pagination/pagination.scss'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>please check Swiper's <code>package.json</code> in <code>node_modules/swiper/package.json</code> and find the <code>exports</code> key, find the styles you are using and replace the path for the correct export path. Please note that this export can change depending on the Swiper version you are using.</p> <p>For example, for Swiper <code>8.x.x</code>, you should replace</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">@import '~swiper/swiper.scss';</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">@import '~swiper/modules/pagination/pagination.scss';</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@import</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'~swiper/swiper.scss'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@import</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'~swiper/modules/pagination/pagination.scss'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>with</p> -<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">@import '~swiper/css';</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">@import '~swiper/css/pagination';</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-scss codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scss codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@import</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'~swiper/css'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">@import</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'~swiper/css/pagination'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="storybook-changes">Storybook changes:<a href="#storybook-changes" class="hash-link" aria-label="Direct link to Storybook changes:" title="Direct link to Storybook changes:">​</a></h3> <p><strong>Migration time: ~10min.</strong></p> <ol> @@ -85,7 +85,7 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="storybook-changes">Storybook </li> <li> <p>Open <code>.storybook/preview-body.html</code>. It should look like this:</p> -<div class="language-html codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-html codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token tag punctuation" style="color:rgb(248, 248, 242)"><</span><span class="token tag" style="color:rgb(255, 121, 198)">style</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css selector" style="color:rgb(255, 121, 198)">body</span><span class="token style language-css"> </span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">padding</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">0.75</span><span class="token style language-css unit">em</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">opacity</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> </span><span class="token style language-css number">1</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"></span><span class="token tag punctuation" style="color:rgb(248, 248, 242)"></</span><span class="token tag" style="color:rgb(255, 121, 198)">style</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> +<div class="language-html codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-html codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token tag punctuation" style="color:rgb(248, 248, 242)"><</span><span class="token tag" style="color:rgb(255, 121, 198)">style</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css selector" style="color:rgb(255, 121, 198)">body</span><span class="token style language-css"> </span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">padding</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 0.75em</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css property">opacity</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token style language-css"> 1</span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"> </span><span class="token style language-css punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token style language-css"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token style language-css"></span><span class="token tag punctuation" style="color:rgb(248, 248, 242)"></</span><span class="token tag" style="color:rgb(255, 121, 198)">style</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> </li> <li> <p>Open <code>.storybook/preview-head.html</code>. It should look like this:</p> diff --git a/docs/migrations/8-9/index.html b/docs/migrations/8-9/index.html index 5a75ca338..67510da8b 100644 --- a/docs/migrations/8-9/index.html +++ b/docs/migrations/8-9/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/migrations/10-11">Migrations</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/migrations/10-11">Version 10 to 11</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/migrations/9-10">Version 9 to 10</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/migrations/8-9">Version 8 to 9</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/migrations/7-8">Version 7 to 8</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/migrations/6-7">Version 6 to 7</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/migrations/5-6">Version 5 to 6</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Migrations</span><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Version 8 to 9</span><meta itemprop="position" content="2"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Version 8 to 9</h1></header><p>This migration guide contains migration instructions for:</p> diff --git a/docs/migrations/9-10/index.html b/docs/migrations/9-10/index.html index 89b26e3d4..9e011c4eb 100644 --- a/docs/migrations/9-10/index.html +++ b/docs/migrations/9-10/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/migrations/10-11">Migrations</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/migrations/10-11">Version 10 to 11</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/migrations/9-10">Version 9 to 10</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/migrations/8-9">Version 8 to 9</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/migrations/7-8">Version 7 to 8</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/migrations/6-7">Version 6 to 7</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/migrations/5-6">Version 5 to 6</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Migrations</span><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Version 9 to 10</span><meta itemprop="position" content="2"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Version 9 to 10</h1></header><p>This migration guide contains migration instructions for:</p> diff --git a/docs/plugin/index.html b/docs/plugin/index.html index 283043c9d..b085e85a7 100644 --- a/docs/plugin/index.html +++ b/docs/plugin/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/welcome">Getting Started</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/welcome">Welcome</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/eightshift-libs">Eightshift Libs</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/eightshift-frontend-libs">Eightshift Frontend Libs</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/requirements">Requirements</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/versions">Versions</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/theme">Create New Theme</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/plugin">Create New Plugin</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Getting Started</span><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Create New Plugin</span><meta itemprop="position" content="2"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Create a new WordPress plugin</h1></header><p>Let's create a new plugin!</p> diff --git a/docs/requirements/index.html b/docs/requirements/index.html index 8b9f9427a..ae6de7bf5 100644 --- a/docs/requirements/index.html +++ b/docs/requirements/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/welcome">Getting Started</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/welcome">Welcome</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/eightshift-libs">Eightshift Libs</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/eightshift-frontend-libs">Eightshift Frontend Libs</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/requirements">Requirements</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/versions">Versions</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/theme">Create New Theme</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/plugin">Create New Plugin</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Getting Started</span><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Requirements</span><meta itemprop="position" content="2"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Requirements</h1></header><p>To have the smoothest development and setup experience, you need to install a few things on your computer. diff --git a/docs/theme/index.html b/docs/theme/index.html index 24b51c4e4..8977388f7 100644 --- a/docs/theme/index.html +++ b/docs/theme/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/welcome">Getting Started</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/welcome">Welcome</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/eightshift-libs">Eightshift Libs</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/eightshift-frontend-libs">Eightshift Frontend Libs</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/requirements">Requirements</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/versions">Versions</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/theme">Create New Theme</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/plugin">Create New Plugin</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Getting Started</span><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Create New Theme</span><meta itemprop="position" content="2"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Create a new WordPress theme</h1></header><p>Let's create a new theme!</p> diff --git a/docs/tutorials/intro/index.html b/docs/tutorials/intro/index.html index fa84ecffd..390dfe665 100644 --- a/docs/tutorials/intro/index.html +++ b/docs/tutorials/intro/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/tutorials/intro">Tutorials</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/tutorials/intro">Intro</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Tutorials</span><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Intro</span><meta itemprop="position" content="2"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Intro</h1></header><p>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!</p> diff --git a/docs/versions/index.html b/docs/versions/index.html index 06d308eaa..7856ccc2f 100644 --- a/docs/versions/index.html +++ b/docs/versions/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/welcome">Getting Started</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/welcome">Welcome</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/eightshift-libs">Eightshift Libs</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/eightshift-frontend-libs">Eightshift Frontend Libs</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/requirements">Requirements</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/versions">Versions</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/theme">Create New Theme</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/plugin">Create New Plugin</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Getting Started</span><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Versions</span><meta itemprop="position" content="2"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Versions</h1></header><p>Now that you understand what makes the Eightshift Development Kit tick, here is a quick reminder about what library versions this documentation refers to.</p> diff --git a/docs/welcome/index.html b/docs/welcome/index.html index 688acce11..523c210c2 100644 --- a/docs/welcome/index.html +++ b/docs/welcome/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/welcome">Getting Started</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/welcome">Welcome</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/eightshift-libs">Eightshift Libs</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/eightshift-frontend-libs">Eightshift Frontend Libs</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/requirements">Requirements</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/versions">Versions</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/theme">Create New Theme</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/plugin">Create New Plugin</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/basics/basics-intro">Basics</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorials/intro">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/migrations/10-11">Migrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/additional-libraries/boilerplate">Additional Libraries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/legacy/v8/versions">Legacy</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/crash-course/intro">Crash Course</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Getting Started</span><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Welcome</span><meta itemprop="position" content="2"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Welcome</h1></header><p>Eightshift Development Kit is a modern, developer-friendly solution that makes building large, feature-rich WordPress projects painless. diff --git a/forms/addons/create/addon-boilerplate/index.html b/forms/addons/create/addon-boilerplate/index.html index 2cee0188d..c59ac8e56 100644 --- a/forms/addons/create/addon-boilerplate/index.html +++ b/forms/addons/create/addon-boilerplate/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/php/intro">Customization</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/addons/intro">Addon plugins</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/addons/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/addons/free/intro">Free</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/addons/premium/intro">Premium</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/addons/create/intro">Create an addon</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/addons/create/intro">Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/addons/create/utils-library">Utils library</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/addons/create/requirements">Requirements</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/addons/create/addon-boilerplate">Add-on boilerplate</a></li></ul></li></ul></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Addon plugins</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Create an addon</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Add-on boilerplate</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Add-on boilerplate</h1></header><p>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.</p> diff --git a/forms/addons/create/intro/index.html b/forms/addons/create/intro/index.html index c60449ecb..c9251eb68 100644 --- a/forms/addons/create/intro/index.html +++ b/forms/addons/create/intro/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/php/intro">Customization</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/addons/intro">Addon plugins</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/addons/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/addons/free/intro">Free</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/addons/premium/intro">Premium</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/addons/create/intro">Create an addon</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/addons/create/intro">Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/addons/create/utils-library">Utils library</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/addons/create/requirements">Requirements</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/addons/create/addon-boilerplate">Add-on boilerplate</a></li></ul></li></ul></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Addon plugins</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Create an addon</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Intro</span><meta itemprop="position" content="3"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Intro</h1></header><p>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.</p> diff --git a/forms/addons/create/requirements/index.html b/forms/addons/create/requirements/index.html index daf5d7e99..903102a4c 100644 --- a/forms/addons/create/requirements/index.html +++ b/forms/addons/create/requirements/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/php/intro">Customization</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/addons/intro">Addon plugins</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/addons/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/addons/free/intro">Free</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/addons/premium/intro">Premium</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/addons/create/intro">Create an addon</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/addons/create/intro">Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/addons/create/utils-library">Utils library</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/addons/create/requirements">Requirements</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/addons/create/addon-boilerplate">Add-on boilerplate</a></li></ul></li></ul></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Addon plugins</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Create an addon</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Requirements</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Requirements</h1></header><h2 class="anchor anchorWithStickyNavbar_LWe7" id="add-on-naming-convention">Add-on naming convention<a href="#add-on-naming-convention" class="hash-link" aria-label="Direct link to Add-on naming convention" title="Direct link to Add-on naming convention">​</a></h2> diff --git a/forms/addons/create/utils-library/index.html b/forms/addons/create/utils-library/index.html index 17e538425..23b31740d 100644 --- a/forms/addons/create/utils-library/index.html +++ b/forms/addons/create/utils-library/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/php/intro">Customization</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/addons/intro">Addon plugins</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/addons/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/addons/free/intro">Free</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/addons/premium/intro">Premium</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/addons/create/intro">Create an addon</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/addons/create/intro">Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/addons/create/utils-library">Utils library</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/addons/create/requirements">Requirements</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/addons/create/addon-boilerplate">Add-on boilerplate</a></li></ul></li></ul></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Addon plugins</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Create an addon</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Utils library</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Utils library</h1></header><p>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 <a href="https://github.com/infinum/eightshift-forms-utils" target="_blank" rel="noopener noreferrer">Eightshift Forms Utils package</a>.</p> diff --git a/forms/addons/free/intro/index.html b/forms/addons/free/intro/index.html index 3dc345bb3..528bff403 100644 --- a/forms/addons/free/intro/index.html +++ b/forms/addons/free/intro/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/php/intro">Customization</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/addons/intro">Addon plugins</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/addons/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/addons/free/intro">Free</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/addons/free/intro">Intro</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/addons/premium/intro">Premium</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/addons/create/intro">Create an addon</a></div></li></ul></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Addon plugins</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Free</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Intro</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Intro</h1></header><p><strong>Free plugins:</strong></p> diff --git a/forms/addons/intro/index.html b/forms/addons/intro/index.html index 82191e6b5..b7f4a4651 100644 --- a/forms/addons/intro/index.html +++ b/forms/addons/intro/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/php/intro">Customization</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/addons/intro">Addon plugins</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/addons/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/addons/free/intro">Free</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/addons/premium/intro">Premium</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/addons/create/intro">Create an addon</a></div></li></ul></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Addon plugins</span><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Intro</span><meta itemprop="position" content="2"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Intro</h1></header><p>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.</p> diff --git a/forms/addons/premium/computed-fields/blocks/index.html b/forms/addons/premium/computed-fields/blocks/index.html index e7cd8b5cb..df8fd0e0c 100644 --- a/forms/addons/premium/computed-fields/blocks/index.html +++ b/forms/addons/premium/computed-fields/blocks/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/php/intro">Customization</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/addons/intro">Addon plugins</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/addons/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/addons/free/intro">Free</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/addons/premium/intro">Premium</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/addons/premium/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/addons/premium/computed-fields/intro">Computed fields</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/addons/premium/computed-fields/intro">Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/addons/premium/computed-fields/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/addons/premium/computed-fields/settings">Settings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/addons/premium/computed-fields/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/addons/premium/computed-fields/data-flow">Data flow</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/addons/create/intro">Create an addon</a></div></li></ul></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Addon plugins</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Premium</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Computed fields</span><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Blocks</span><meta itemprop="position" content="4"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Blocks</h1></header><h2 class="anchor anchorWithStickyNavbar_LWe7" id="computed-fields-results-block">Computed fields results block<a href="#computed-fields-results-block" class="hash-link" aria-label="Direct link to Computed fields results block" title="Direct link to Computed fields results block">​</a></h2> diff --git a/forms/addons/premium/computed-fields/data-flow/index.html b/forms/addons/premium/computed-fields/data-flow/index.html index d6ad178db..e81cf7ada 100644 --- a/forms/addons/premium/computed-fields/data-flow/index.html +++ b/forms/addons/premium/computed-fields/data-flow/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/php/intro">Customization</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/addons/intro">Addon plugins</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/addons/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/addons/free/intro">Free</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/addons/premium/intro">Premium</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/addons/premium/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/addons/premium/computed-fields/intro">Computed fields</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/addons/premium/computed-fields/intro">Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/addons/premium/computed-fields/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/addons/premium/computed-fields/settings">Settings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/addons/premium/computed-fields/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/addons/premium/computed-fields/data-flow">Data flow</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/addons/create/intro">Create an addon</a></div></li></ul></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Addon plugins</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Premium</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Computed fields</span><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Data flow</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Data flow</h1></header><p>Here's how data flow in the Computed fields add-on works:</p> diff --git a/forms/addons/premium/computed-fields/how-to-use/index.html b/forms/addons/premium/computed-fields/how-to-use/index.html index e76412e15..84731c61c 100644 --- a/forms/addons/premium/computed-fields/how-to-use/index.html +++ b/forms/addons/premium/computed-fields/how-to-use/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/php/intro">Customization</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/addons/intro">Addon plugins</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/addons/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/addons/free/intro">Free</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/addons/premium/intro">Premium</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/addons/premium/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/addons/premium/computed-fields/intro">Computed fields</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/addons/premium/computed-fields/intro">Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/addons/premium/computed-fields/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/addons/premium/computed-fields/settings">Settings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/addons/premium/computed-fields/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/addons/premium/computed-fields/data-flow">Data flow</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/addons/create/intro">Create an addon</a></div></li></ul></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Addon plugins</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Premium</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Computed fields</span><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">How to use?</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>How to use?</h1></header><p>To use Computed Fields, you must:</p> diff --git a/forms/addons/premium/computed-fields/intro/index.html b/forms/addons/premium/computed-fields/intro/index.html index ea07f9d02..560096e65 100644 --- a/forms/addons/premium/computed-fields/intro/index.html +++ b/forms/addons/premium/computed-fields/intro/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/php/intro">Customization</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/addons/intro">Addon plugins</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/addons/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/addons/free/intro">Free</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/addons/premium/intro">Premium</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/addons/premium/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/addons/premium/computed-fields/intro">Computed fields</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/addons/premium/computed-fields/intro">Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/addons/premium/computed-fields/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/addons/premium/computed-fields/settings">Settings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/addons/premium/computed-fields/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/addons/premium/computed-fields/data-flow">Data flow</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/addons/create/intro">Create an addon</a></div></li></ul></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Addon plugins</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Premium</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Computed fields</span><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Intro</span><meta itemprop="position" content="4"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Intro</h1></header><p>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.</p> diff --git a/forms/addons/premium/computed-fields/settings/index.html b/forms/addons/premium/computed-fields/settings/index.html index 0fa85484e..04be92a8a 100644 --- a/forms/addons/premium/computed-fields/settings/index.html +++ b/forms/addons/premium/computed-fields/settings/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/php/intro">Customization</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/addons/intro">Addon plugins</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/addons/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/addons/free/intro">Free</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/addons/premium/intro">Premium</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/addons/premium/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/addons/premium/computed-fields/intro">Computed fields</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/addons/premium/computed-fields/intro">Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/addons/premium/computed-fields/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/addons/premium/computed-fields/settings">Settings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/addons/premium/computed-fields/blocks">Blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/addons/premium/computed-fields/data-flow">Data flow</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/addons/create/intro">Create an addon</a></div></li></ul></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Addon plugins</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Premium</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Computed fields</span><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Settings</span><meta itemprop="position" content="4"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Settings</h1></header><h2 class="anchor anchorWithStickyNavbar_LWe7" id="computed-fields-setting">Computed fields setting<a href="#computed-fields-setting" class="hash-link" aria-label="Direct link to Computed fields setting" title="Direct link to Computed fields setting">​</a></h2> diff --git a/forms/addons/premium/intro/index.html b/forms/addons/premium/intro/index.html index 8e42da2f4..9140cd750 100644 --- a/forms/addons/premium/intro/index.html +++ b/forms/addons/premium/intro/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/php/intro">Customization</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/addons/intro">Addon plugins</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/addons/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/addons/free/intro">Free</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/addons/premium/intro">Premium</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/addons/premium/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/addons/premium/computed-fields/intro">Computed fields</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/addons/create/intro">Create an addon</a></div></li></ul></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Addon plugins</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Premium</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Intro</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Intro</h1></header><p><strong>Premium plugins:</strong></p> diff --git a/forms/basics/index.html b/forms/basics/index.html index fd8d4c7a6..01a46cca9 100644 --- a/forms/basics/index.html +++ b/forms/basics/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/welcome">Getting Started</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/welcome">Welcome</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/basics">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/first-form">Your first form</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/features/dashboard">Features</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/integrations/intro">Integrations</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/known-issues">Known issues</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/php/intro">Customization</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Getting Started</span><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Basics</span><meta itemprop="position" content="2"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Basics</h1></header><h2 class="anchor anchorWithStickyNavbar_LWe7" id="how-to-use-it">How to use it?<a href="#how-to-use-it" class="hash-link" aria-label="Direct link to How to use it?" title="Direct link to How to use it?">​</a></h2> diff --git a/forms/features/cache/index.html b/forms/features/cache/index.html index 32cb65ca0..6f47ceac8 100644 --- a/forms/features/cache/index.html +++ b/forms/features/cache/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/welcome">Getting Started</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/welcome">Welcome</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/basics">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/first-form">Your first form</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/features/dashboard">Features</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/dashboard">Dashboard</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/conditional-tags">Conditional tags</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/enrichment">Enrichment</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/geolocation">Geolocation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/validation">Validation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/multisteps-forms">Multi-steps forms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/spam-prevention">Spam prevention</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/success-redirect">Success redirects</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/tracking">Tracking</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/security">Security</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/labels">Labels</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/locations">Locations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/features/cache">Cache</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/debug">Debugging</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/fallback-emails">Fallback e-mails</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/import-export">Import/Export</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/migrations">Migrations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/cloudflare">Cloudflare</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/country-list">Country list</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/wpml">WPML</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/entries">Entries</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/show-as">Show As</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/integrations/intro">Integrations</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/known-issues">Known issues</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/php/intro">Customization</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Getting Started</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Features</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Cache</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Cache</h1></header><p>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.</p> diff --git a/forms/features/cloudflare/index.html b/forms/features/cloudflare/index.html index 338e9ec74..02454c122 100644 --- a/forms/features/cloudflare/index.html +++ b/forms/features/cloudflare/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/welcome">Getting Started</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/welcome">Welcome</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/basics">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/first-form">Your first form</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/features/dashboard">Features</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/dashboard">Dashboard</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/conditional-tags">Conditional tags</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/enrichment">Enrichment</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/geolocation">Geolocation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/validation">Validation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/multisteps-forms">Multi-steps forms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/spam-prevention">Spam prevention</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/success-redirect">Success redirects</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/tracking">Tracking</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/security">Security</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/labels">Labels</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/locations">Locations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/cache">Cache</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/debug">Debugging</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/fallback-emails">Fallback e-mails</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/import-export">Import/Export</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/migrations">Migrations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/features/cloudflare">Cloudflare</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/country-list">Country list</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/wpml">WPML</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/entries">Entries</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/show-as">Show As</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/integrations/intro">Integrations</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/known-issues">Known issues</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/php/intro">Customization</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Getting Started</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Features</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Cloudflare</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Cloudflare</h1></header><h2 class="anchor anchorWithStickyNavbar_LWe7" id="what-is-cloudflare">What is Cloudflare?<a href="#what-is-cloudflare" class="hash-link" aria-label="Direct link to What is Cloudflare?" title="Direct link to What is Cloudflare?">​</a></h2> diff --git a/forms/features/conditional-tags/index.html b/forms/features/conditional-tags/index.html index ea5f7c34e..c75807d8b 100644 --- a/forms/features/conditional-tags/index.html +++ b/forms/features/conditional-tags/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/welcome">Getting Started</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/welcome">Welcome</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/basics">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/first-form">Your first form</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/features/dashboard">Features</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/dashboard">Dashboard</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/features/conditional-tags">Conditional tags</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/enrichment">Enrichment</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/geolocation">Geolocation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/validation">Validation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/multisteps-forms">Multi-steps forms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/spam-prevention">Spam prevention</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/success-redirect">Success redirects</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/tracking">Tracking</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/security">Security</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/labels">Labels</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/locations">Locations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/cache">Cache</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/debug">Debugging</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/fallback-emails">Fallback e-mails</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/import-export">Import/Export</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/migrations">Migrations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/cloudflare">Cloudflare</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/country-list">Country list</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/wpml">WPML</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/entries">Entries</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/show-as">Show As</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/integrations/intro">Integrations</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/known-issues">Known issues</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/php/intro">Customization</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Getting Started</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Features</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Conditional tags</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Conditional tags</h1></header><p>Conditional tags are a useful tool that enables you to display or hide form fields based on various conditions.</p> diff --git a/forms/features/country-list/index.html b/forms/features/country-list/index.html index de732e69f..fdbc14620 100644 --- a/forms/features/country-list/index.html +++ b/forms/features/country-list/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/welcome">Getting Started</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/welcome">Welcome</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/basics">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/first-form">Your first form</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/features/dashboard">Features</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/dashboard">Dashboard</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/conditional-tags">Conditional tags</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/enrichment">Enrichment</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/geolocation">Geolocation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/validation">Validation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/multisteps-forms">Multi-steps forms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/spam-prevention">Spam prevention</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/success-redirect">Success redirects</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/tracking">Tracking</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/security">Security</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/labels">Labels</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/locations">Locations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/cache">Cache</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/debug">Debugging</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/fallback-emails">Fallback e-mails</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/import-export">Import/Export</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/migrations">Migrations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/cloudflare">Cloudflare</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/features/country-list">Country list</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/wpml">WPML</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/entries">Entries</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/show-as">Show As</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/integrations/intro">Integrations</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/known-issues">Known issues</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/php/intro">Customization</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Getting Started</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Features</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Country list</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Country list</h1></header><p><a href="https://datahub.io/core/country-list" target="_blank" rel="noopener noreferrer">DataHub</a> 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.</p> diff --git a/forms/features/dashboard/index.html b/forms/features/dashboard/index.html index 65ce1c76d..a04ef3ca0 100644 --- a/forms/features/dashboard/index.html +++ b/forms/features/dashboard/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/welcome">Getting Started</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/welcome">Welcome</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/basics">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/first-form">Your first form</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/features/dashboard">Features</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/features/dashboard">Dashboard</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/conditional-tags">Conditional tags</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/enrichment">Enrichment</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/geolocation">Geolocation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/validation">Validation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/multisteps-forms">Multi-steps forms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/spam-prevention">Spam prevention</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/success-redirect">Success redirects</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/tracking">Tracking</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/security">Security</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/labels">Labels</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/locations">Locations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/cache">Cache</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/debug">Debugging</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/fallback-emails">Fallback e-mails</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/import-export">Import/Export</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/migrations">Migrations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/cloudflare">Cloudflare</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/country-list">Country list</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/wpml">WPML</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/entries">Entries</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/show-as">Show As</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/integrations/intro">Integrations</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/known-issues">Known issues</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/php/intro">Customization</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Getting Started</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Features</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Dashboard</span><meta itemprop="position" content="3"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Dashboard</h1></header><p>The dashboards gives you an overview of the currently active features and enables activating and deactivating of them.</p> diff --git a/forms/features/debug/index.html b/forms/features/debug/index.html index 4ccbbf9e0..b022392bb 100644 --- a/forms/features/debug/index.html +++ b/forms/features/debug/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/welcome">Getting Started</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/welcome">Welcome</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/basics">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/first-form">Your first form</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/features/dashboard">Features</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/dashboard">Dashboard</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/conditional-tags">Conditional tags</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/enrichment">Enrichment</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/geolocation">Geolocation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/validation">Validation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/multisteps-forms">Multi-steps forms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/spam-prevention">Spam prevention</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/success-redirect">Success redirects</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/tracking">Tracking</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/security">Security</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/labels">Labels</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/locations">Locations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/cache">Cache</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/features/debug">Debugging</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/fallback-emails">Fallback e-mails</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/import-export">Import/Export</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/migrations">Migrations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/cloudflare">Cloudflare</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/country-list">Country list</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/wpml">WPML</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/entries">Entries</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/show-as">Show As</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/integrations/intro">Integrations</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/known-issues">Known issues</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/php/intro">Customization</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Getting Started</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Features</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Debugging</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Debugging</h1></header><p>The debugging screen provides configuration options and overrides default functionalities for developers, but caution should be used as these options can break form functionality.</p> diff --git a/forms/features/enrichment/index.html b/forms/features/enrichment/index.html index 3b34aa6cb..af2bb5d87 100644 --- a/forms/features/enrichment/index.html +++ b/forms/features/enrichment/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/welcome">Getting Started</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/welcome">Welcome</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/basics">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/first-form">Your first form</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/features/dashboard">Features</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/dashboard">Dashboard</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/conditional-tags">Conditional tags</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/features/enrichment">Enrichment</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/geolocation">Geolocation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/validation">Validation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/multisteps-forms">Multi-steps forms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/spam-prevention">Spam prevention</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/success-redirect">Success redirects</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/tracking">Tracking</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/security">Security</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/labels">Labels</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/locations">Locations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/cache">Cache</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/debug">Debugging</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/fallback-emails">Fallback e-mails</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/import-export">Import/Export</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/migrations">Migrations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/cloudflare">Cloudflare</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/country-list">Country list</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/wpml">WPML</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/entries">Entries</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/show-as">Show As</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/integrations/intro">Integrations</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/known-issues">Known issues</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/php/intro">Customization</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Getting Started</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Features</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Enrichment</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Enrichment</h1></header><h2 class="anchor anchorWithStickyNavbar_LWe7" id="enrichment">Enrichment<a href="#enrichment" class="hash-link" aria-label="Direct link to Enrichment" title="Direct link to Enrichment">​</a></h2> diff --git a/forms/features/entries/index.html b/forms/features/entries/index.html index 71862c410..f0a125de4 100644 --- a/forms/features/entries/index.html +++ b/forms/features/entries/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/welcome">Getting Started</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/welcome">Welcome</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/basics">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/first-form">Your first form</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/features/dashboard">Features</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/dashboard">Dashboard</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/conditional-tags">Conditional tags</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/enrichment">Enrichment</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/geolocation">Geolocation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/validation">Validation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/multisteps-forms">Multi-steps forms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/spam-prevention">Spam prevention</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/success-redirect">Success redirects</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/tracking">Tracking</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/security">Security</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/labels">Labels</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/locations">Locations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/cache">Cache</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/debug">Debugging</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/fallback-emails">Fallback e-mails</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/import-export">Import/Export</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/migrations">Migrations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/cloudflare">Cloudflare</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/country-list">Country list</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/wpml">WPML</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/features/entries">Entries</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/show-as">Show As</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/integrations/intro">Integrations</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/known-issues">Known issues</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/php/intro">Customization</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Getting Started</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Features</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Entries</span><meta itemprop="position" content="3"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Entries</h1></header><p>Entries collection will allow you to store every form submission in the database and preview the data from WordPress admin.</p> diff --git a/forms/features/fallback-emails/index.html b/forms/features/fallback-emails/index.html index fe5c71d16..69e4615b9 100644 --- a/forms/features/fallback-emails/index.html +++ b/forms/features/fallback-emails/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/welcome">Getting Started</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/welcome">Welcome</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/basics">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/first-form">Your first form</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/features/dashboard">Features</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/dashboard">Dashboard</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/conditional-tags">Conditional tags</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/enrichment">Enrichment</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/geolocation">Geolocation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/validation">Validation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/multisteps-forms">Multi-steps forms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/spam-prevention">Spam prevention</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/success-redirect">Success redirects</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/tracking">Tracking</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/security">Security</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/labels">Labels</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/locations">Locations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/cache">Cache</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/debug">Debugging</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/features/fallback-emails">Fallback e-mails</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/import-export">Import/Export</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/migrations">Migrations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/cloudflare">Cloudflare</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/country-list">Country list</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/wpml">WPML</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/entries">Entries</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/show-as">Show As</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/integrations/intro">Integrations</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/known-issues">Known issues</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/php/intro">Customization</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Getting Started</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Features</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Fallback e-mails</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Fallback e-mails</h1></header><p>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.</p> diff --git a/forms/features/geolocation/index.html b/forms/features/geolocation/index.html index c4d29e086..d662e2a63 100644 --- a/forms/features/geolocation/index.html +++ b/forms/features/geolocation/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/welcome">Getting Started</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/welcome">Welcome</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/basics">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/first-form">Your first form</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/features/dashboard">Features</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/dashboard">Dashboard</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/conditional-tags">Conditional tags</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/enrichment">Enrichment</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/features/geolocation">Geolocation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/validation">Validation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/multisteps-forms">Multi-steps forms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/spam-prevention">Spam prevention</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/success-redirect">Success redirects</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/tracking">Tracking</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/security">Security</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/labels">Labels</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/locations">Locations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/cache">Cache</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/debug">Debugging</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/fallback-emails">Fallback e-mails</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/import-export">Import/Export</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/migrations">Migrations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/cloudflare">Cloudflare</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/country-list">Country list</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/wpml">WPML</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/entries">Entries</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/show-as">Show As</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/integrations/intro">Integrations</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/known-issues">Known issues</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/php/intro">Customization</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Getting Started</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Features</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Geolocation</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Geolocation</h1></header><p>Geolocation is a feature that allows you to show different versions of the forms based on the user's geolocation location.</p> diff --git a/forms/features/import-export/index.html b/forms/features/import-export/index.html index 558ad3b32..61c5d8eb8 100644 --- a/forms/features/import-export/index.html +++ b/forms/features/import-export/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/welcome">Getting Started</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/welcome">Welcome</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/basics">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/first-form">Your first form</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/features/dashboard">Features</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/dashboard">Dashboard</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/conditional-tags">Conditional tags</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/enrichment">Enrichment</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/geolocation">Geolocation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/validation">Validation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/multisteps-forms">Multi-steps forms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/spam-prevention">Spam prevention</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/success-redirect">Success redirects</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/tracking">Tracking</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/security">Security</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/labels">Labels</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/locations">Locations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/cache">Cache</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/debug">Debugging</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/fallback-emails">Fallback e-mails</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/features/import-export">Import/Export</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/migrations">Migrations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/cloudflare">Cloudflare</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/country-list">Country list</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/wpml">WPML</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/entries">Entries</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/show-as">Show As</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/integrations/intro">Integrations</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/known-issues">Known issues</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/php/intro">Customization</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Getting Started</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Features</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Import/Export</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Import/Export</h1></header><p>The import/export feature enables forms to be easily transferred between projects, allowing for efficient creation and modification across different environments.</p> diff --git a/forms/features/labels/index.html b/forms/features/labels/index.html index d1f89e243..cbbe046a6 100644 --- a/forms/features/labels/index.html +++ b/forms/features/labels/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/welcome">Getting Started</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/welcome">Welcome</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/basics">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/first-form">Your first form</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/features/dashboard">Features</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/dashboard">Dashboard</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/conditional-tags">Conditional tags</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/enrichment">Enrichment</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/geolocation">Geolocation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/validation">Validation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/multisteps-forms">Multi-steps forms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/spam-prevention">Spam prevention</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/success-redirect">Success redirects</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/tracking">Tracking</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/security">Security</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/features/labels">Labels</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/locations">Locations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/cache">Cache</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/debug">Debugging</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/fallback-emails">Fallback e-mails</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/import-export">Import/Export</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/migrations">Migrations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/cloudflare">Cloudflare</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/country-list">Country list</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/wpml">WPML</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/entries">Entries</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/show-as">Show As</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/integrations/intro">Integrations</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/known-issues">Known issues</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/php/intro">Customization</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Getting Started</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Features</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Labels</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Labels</h1></header><p>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.</p> diff --git a/forms/features/locations/index.html b/forms/features/locations/index.html index 359e88051..090c8113a 100644 --- a/forms/features/locations/index.html +++ b/forms/features/locations/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/welcome">Getting Started</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/welcome">Welcome</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/basics">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/first-form">Your first form</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/features/dashboard">Features</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/dashboard">Dashboard</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/conditional-tags">Conditional tags</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/enrichment">Enrichment</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/geolocation">Geolocation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/validation">Validation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/multisteps-forms">Multi-steps forms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/spam-prevention">Spam prevention</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/success-redirect">Success redirects</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/tracking">Tracking</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/security">Security</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/labels">Labels</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/features/locations">Locations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/cache">Cache</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/debug">Debugging</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/fallback-emails">Fallback e-mails</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/import-export">Import/Export</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/migrations">Migrations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/cloudflare">Cloudflare</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/country-list">Country list</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/wpml">WPML</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/entries">Entries</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/show-as">Show As</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/integrations/intro">Integrations</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/known-issues">Known issues</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/php/intro">Customization</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Getting Started</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Features</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Locations</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Locations</h1></header><p>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.</p> diff --git a/forms/features/migrations/index.html b/forms/features/migrations/index.html index 8e0cc07b7..87d7d6bfb 100644 --- a/forms/features/migrations/index.html +++ b/forms/features/migrations/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/welcome">Getting Started</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/welcome">Welcome</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/basics">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/first-form">Your first form</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/features/dashboard">Features</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/dashboard">Dashboard</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/conditional-tags">Conditional tags</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/enrichment">Enrichment</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/geolocation">Geolocation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/validation">Validation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/multisteps-forms">Multi-steps forms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/spam-prevention">Spam prevention</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/success-redirect">Success redirects</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/tracking">Tracking</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/security">Security</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/labels">Labels</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/locations">Locations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/cache">Cache</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/debug">Debugging</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/fallback-emails">Fallback e-mails</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/import-export">Import/Export</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/features/migrations">Migrations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/cloudflare">Cloudflare</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/country-list">Country list</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/wpml">WPML</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/entries">Entries</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/show-as">Show As</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/integrations/intro">Integrations</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/known-issues">Known issues</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/php/intro">Customization</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Getting Started</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Features</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Migrations</span><meta itemprop="position" content="3"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Migrations</h1></header><p>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.</p> diff --git a/forms/features/multisteps-forms/index.html b/forms/features/multisteps-forms/index.html index 1be9db8fd..a368f580b 100644 --- a/forms/features/multisteps-forms/index.html +++ b/forms/features/multisteps-forms/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/welcome">Getting Started</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/welcome">Welcome</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/basics">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/first-form">Your first form</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/features/dashboard">Features</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/dashboard">Dashboard</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/conditional-tags">Conditional tags</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/enrichment">Enrichment</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/geolocation">Geolocation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/validation">Validation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/features/multisteps-forms">Multi-steps forms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/spam-prevention">Spam prevention</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/success-redirect">Success redirects</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/tracking">Tracking</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/security">Security</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/labels">Labels</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/locations">Locations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/cache">Cache</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/debug">Debugging</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/fallback-emails">Fallback e-mails</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/import-export">Import/Export</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/migrations">Migrations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/cloudflare">Cloudflare</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/country-list">Country list</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/wpml">WPML</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/entries">Entries</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/show-as">Show As</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/integrations/intro">Integrations</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/known-issues">Known issues</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/php/intro">Customization</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Getting Started</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Features</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Multi-steps forms</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Multi-steps forms</h1></header><p>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.</p> diff --git a/forms/features/security/index.html b/forms/features/security/index.html index 7083028c6..3e5d830b1 100644 --- a/forms/features/security/index.html +++ b/forms/features/security/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/welcome">Getting Started</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/welcome">Welcome</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/basics">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/first-form">Your first form</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/features/dashboard">Features</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/dashboard">Dashboard</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/conditional-tags">Conditional tags</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/enrichment">Enrichment</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/geolocation">Geolocation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/validation">Validation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/multisteps-forms">Multi-steps forms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/spam-prevention">Spam prevention</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/success-redirect">Success redirects</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/tracking">Tracking</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/features/security">Security</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/labels">Labels</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/locations">Locations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/cache">Cache</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/debug">Debugging</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/fallback-emails">Fallback e-mails</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/import-export">Import/Export</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/migrations">Migrations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/cloudflare">Cloudflare</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/country-list">Country list</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/wpml">WPML</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/entries">Entries</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/show-as">Show As</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/integrations/intro">Integrations</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/known-issues">Known issues</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/php/intro">Customization</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Getting Started</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Features</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Security</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Security</h1></header><p>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.</p> diff --git a/forms/features/show-as/index.html b/forms/features/show-as/index.html index 8f7fe0b0f..abeef293c 100644 --- a/forms/features/show-as/index.html +++ b/forms/features/show-as/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/welcome">Getting Started</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/welcome">Welcome</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/basics">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/first-form">Your first form</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/features/dashboard">Features</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/dashboard">Dashboard</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/conditional-tags">Conditional tags</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/enrichment">Enrichment</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/geolocation">Geolocation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/validation">Validation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/multisteps-forms">Multi-steps forms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/spam-prevention">Spam prevention</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/success-redirect">Success redirects</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/tracking">Tracking</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/security">Security</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/labels">Labels</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/locations">Locations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/cache">Cache</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/debug">Debugging</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/fallback-emails">Fallback e-mails</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/import-export">Import/Export</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/migrations">Migrations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/cloudflare">Cloudflare</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/country-list">Country list</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/wpml">WPML</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/entries">Entries</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/features/show-as">Show As</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/integrations/intro">Integrations</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/known-issues">Known issues</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/php/intro">Customization</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Getting Started</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Features</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Show As</span><meta itemprop="position" content="3"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Show As</h1></header><p>When using the <code>Show As</code> 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.</p> diff --git a/forms/features/spam-prevention/index.html b/forms/features/spam-prevention/index.html index 3ce6b43cd..be58e07ff 100644 --- a/forms/features/spam-prevention/index.html +++ b/forms/features/spam-prevention/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/welcome">Getting Started</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/welcome">Welcome</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/basics">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/first-form">Your first form</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/features/dashboard">Features</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/dashboard">Dashboard</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/conditional-tags">Conditional tags</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/enrichment">Enrichment</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/geolocation">Geolocation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/validation">Validation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/multisteps-forms">Multi-steps forms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/features/spam-prevention">Spam prevention</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/success-redirect">Success redirects</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/tracking">Tracking</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/security">Security</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/labels">Labels</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/locations">Locations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/cache">Cache</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/debug">Debugging</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/fallback-emails">Fallback e-mails</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/import-export">Import/Export</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/migrations">Migrations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/cloudflare">Cloudflare</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/country-list">Country list</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/wpml">WPML</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/entries">Entries</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/show-as">Show As</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/integrations/intro">Integrations</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/known-issues">Known issues</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/php/intro">Customization</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Getting Started</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Features</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Spam prevention</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Spam prevention</h1></header><p>We use <a href="https://www.google.com/recaptcha/about/" target="_blank" rel="noopener noreferrer">Google reCAPTCHA</a> service for spam prevention. You can use the free version or the Enterprise version of reCAPTCHA v3.</p> diff --git a/forms/features/success-redirect/index.html b/forms/features/success-redirect/index.html index efabb28ba..baf81f56e 100644 --- a/forms/features/success-redirect/index.html +++ b/forms/features/success-redirect/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/welcome">Getting Started</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/welcome">Welcome</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/basics">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/first-form">Your first form</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/features/dashboard">Features</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/dashboard">Dashboard</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/conditional-tags">Conditional tags</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/enrichment">Enrichment</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/geolocation">Geolocation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/validation">Validation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/multisteps-forms">Multi-steps forms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/spam-prevention">Spam prevention</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/features/success-redirect">Success redirects</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/tracking">Tracking</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/security">Security</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/labels">Labels</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/locations">Locations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/cache">Cache</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/debug">Debugging</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/fallback-emails">Fallback e-mails</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/import-export">Import/Export</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/migrations">Migrations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/cloudflare">Cloudflare</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/country-list">Country list</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/wpml">WPML</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/entries">Entries</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/show-as">Show As</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/integrations/intro">Integrations</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/known-issues">Known issues</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/php/intro">Customization</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Getting Started</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Features</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Success redirects</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Success redirects</h1></header><p>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 <em>Success redirects</em> feature. This option can be found in each integration's Form settings, or in Global settings.</p> diff --git a/forms/features/tracking/index.html b/forms/features/tracking/index.html index 15f738470..326a7596a 100644 --- a/forms/features/tracking/index.html +++ b/forms/features/tracking/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/welcome">Getting Started</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/welcome">Welcome</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/basics">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/first-form">Your first form</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/features/dashboard">Features</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/dashboard">Dashboard</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/conditional-tags">Conditional tags</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/enrichment">Enrichment</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/geolocation">Geolocation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/validation">Validation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/multisteps-forms">Multi-steps forms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/spam-prevention">Spam prevention</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/success-redirect">Success redirects</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/features/tracking">Tracking</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/security">Security</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/labels">Labels</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/locations">Locations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/cache">Cache</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/debug">Debugging</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/fallback-emails">Fallback e-mails</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/import-export">Import/Export</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/migrations">Migrations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/cloudflare">Cloudflare</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/country-list">Country list</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/wpml">WPML</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/entries">Entries</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/show-as">Show As</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/integrations/intro">Integrations</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/known-issues">Known issues</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/php/intro">Customization</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Getting Started</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Features</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Tracking</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Tracking</h1></header><p>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.</p> diff --git a/forms/features/validation/index.html b/forms/features/validation/index.html index 50604e443..e2c87f3aa 100644 --- a/forms/features/validation/index.html +++ b/forms/features/validation/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/welcome">Getting Started</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/welcome">Welcome</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/basics">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/first-form">Your first form</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/features/dashboard">Features</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/dashboard">Dashboard</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/conditional-tags">Conditional tags</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/enrichment">Enrichment</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/geolocation">Geolocation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/features/validation">Validation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/multisteps-forms">Multi-steps forms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/spam-prevention">Spam prevention</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/success-redirect">Success redirects</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/tracking">Tracking</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/security">Security</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/labels">Labels</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/locations">Locations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/cache">Cache</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/debug">Debugging</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/fallback-emails">Fallback e-mails</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/import-export">Import/Export</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/migrations">Migrations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/cloudflare">Cloudflare</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/country-list">Country list</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/wpml">WPML</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/entries">Entries</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/show-as">Show As</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/integrations/intro">Integrations</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/known-issues">Known issues</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/php/intro">Customization</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Getting Started</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Features</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Validation</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Validation</h1></header><p>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.</p> diff --git a/forms/features/wpml/index.html b/forms/features/wpml/index.html index b3edb0093..29bd9a92a 100644 --- a/forms/features/wpml/index.html +++ b/forms/features/wpml/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/welcome">Getting Started</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/welcome">Welcome</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/basics">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/first-form">Your first form</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/features/dashboard">Features</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/dashboard">Dashboard</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/conditional-tags">Conditional tags</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/enrichment">Enrichment</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/geolocation">Geolocation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/validation">Validation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/multisteps-forms">Multi-steps forms</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/spam-prevention">Spam prevention</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/success-redirect">Success redirects</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/tracking">Tracking</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/security">Security</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/labels">Labels</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/locations">Locations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/cache">Cache</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/debug">Debugging</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/fallback-emails">Fallback e-mails</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/import-export">Import/Export</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/migrations">Migrations</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/cloudflare">Cloudflare</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/country-list">Country list</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/features/wpml">WPML</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/entries">Entries</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/features/show-as">Show As</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/integrations/intro">Integrations</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/known-issues">Known issues</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/php/intro">Customization</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Getting Started</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Features</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">WPML</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>WPML</h1></header><p>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 (<em>translations</em>) to forms.</p> diff --git a/forms/first-form/index.html b/forms/first-form/index.html index f2c9b2b6a..ac89e80f8 100644 --- a/forms/first-form/index.html +++ b/forms/first-form/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/welcome">Getting Started</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/welcome">Welcome</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/basics">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/first-form">Your first form</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/features/dashboard">Features</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/integrations/intro">Integrations</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/known-issues">Known issues</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/php/intro">Customization</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Getting Started</span><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Your first form</span><meta itemprop="position" content="2"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Your first form</h1></header><p>Adding your first form and displaying it on the frontend is simple:</p> diff --git a/forms/integrations/active-campaign/index.html b/forms/integrations/active-campaign/index.html index c595b9a26..a21862fb8 100644 --- a/forms/integrations/active-campaign/index.html +++ b/forms/integrations/active-campaign/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/welcome">Getting Started</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/welcome">Welcome</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/basics">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/first-form">Your first form</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/features/dashboard">Features</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/integrations/intro">Integrations</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/intro">Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/integrations/active-campaign">ActiveCampaign</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/airtable">Airtable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/clearbit">Clearbit</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/goodbits">Goodbits</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/greenhouse">Greenhouse</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/hubspot">Hubspot</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/jira">Jira</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/mailchimp">Mailchimp</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/mailer">Mailer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/mailerlite">MailerLite</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/moments">Moments</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/workable">Workable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/pipedrive">Pipedrive</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/known-issues">Known issues</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/php/intro">Customization</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Getting Started</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Integrations</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">ActiveCampaign</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>ActiveCampaign</h1></header><p>ActiveCampaign is an integrated email marketing, automation, sales software, and CRM platform.</p> diff --git a/forms/integrations/airtable/index.html b/forms/integrations/airtable/index.html index 04120b51e..fb62e8121 100644 --- a/forms/integrations/airtable/index.html +++ b/forms/integrations/airtable/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/welcome">Getting Started</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/welcome">Welcome</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/basics">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/first-form">Your first form</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/features/dashboard">Features</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/integrations/intro">Integrations</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/intro">Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/active-campaign">ActiveCampaign</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/integrations/airtable">Airtable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/clearbit">Clearbit</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/goodbits">Goodbits</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/greenhouse">Greenhouse</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/hubspot">Hubspot</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/jira">Jira</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/mailchimp">Mailchimp</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/mailer">Mailer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/mailerlite">MailerLite</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/moments">Moments</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/workable">Workable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/pipedrive">Pipedrive</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/known-issues">Known issues</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/php/intro">Customization</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Getting Started</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Integrations</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Airtable</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Airtable</h1></header><p>Airtable is an platform that makes it easy to build powerful, custom applications.</p> diff --git a/forms/integrations/clearbit/index.html b/forms/integrations/clearbit/index.html index 0a2c6db57..1948b9598 100644 --- a/forms/integrations/clearbit/index.html +++ b/forms/integrations/clearbit/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/welcome">Getting Started</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/welcome">Welcome</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/basics">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/first-form">Your first form</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/features/dashboard">Features</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/integrations/intro">Integrations</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/intro">Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/active-campaign">ActiveCampaign</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/airtable">Airtable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/integrations/clearbit">Clearbit</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/goodbits">Goodbits</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/greenhouse">Greenhouse</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/hubspot">Hubspot</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/jira">Jira</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/mailchimp">Mailchimp</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/mailer">Mailer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/mailerlite">MailerLite</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/moments">Moments</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/workable">Workable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/pipedrive">Pipedrive</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/known-issues">Known issues</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/php/intro">Customization</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Getting Started</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Integrations</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Clearbit</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Clearbit</h1></header><p>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.</p> diff --git a/forms/integrations/goodbits/index.html b/forms/integrations/goodbits/index.html index 384aeedc2..56276fc8f 100644 --- a/forms/integrations/goodbits/index.html +++ b/forms/integrations/goodbits/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/welcome">Getting Started</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/welcome">Welcome</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/basics">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/first-form">Your first form</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/features/dashboard">Features</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/integrations/intro">Integrations</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/intro">Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/active-campaign">ActiveCampaign</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/airtable">Airtable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/clearbit">Clearbit</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/integrations/goodbits">Goodbits</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/greenhouse">Greenhouse</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/hubspot">Hubspot</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/jira">Jira</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/mailchimp">Mailchimp</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/mailer">Mailer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/mailerlite">MailerLite</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/moments">Moments</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/workable">Workable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/pipedrive">Pipedrive</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/known-issues">Known issues</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/php/intro">Customization</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Getting Started</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Integrations</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Goodbits</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Goodbits</h1></header><p>Goodbits is an service that helps you and your business create stellar newsletters from the best links your team and customers are reading.</p> diff --git a/forms/integrations/greenhouse/index.html b/forms/integrations/greenhouse/index.html index 50b75483e..896fee0db 100644 --- a/forms/integrations/greenhouse/index.html +++ b/forms/integrations/greenhouse/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/welcome">Getting Started</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/welcome">Welcome</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/basics">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/first-form">Your first form</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/features/dashboard">Features</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/integrations/intro">Integrations</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/intro">Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/active-campaign">ActiveCampaign</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/airtable">Airtable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/clearbit">Clearbit</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/goodbits">Goodbits</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/integrations/greenhouse">Greenhouse</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/hubspot">Hubspot</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/jira">Jira</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/mailchimp">Mailchimp</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/mailer">Mailer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/mailerlite">MailerLite</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/moments">Moments</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/workable">Workable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/pipedrive">Pipedrive</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/known-issues">Known issues</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/php/intro">Customization</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Getting Started</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Integrations</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Greenhouse</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Greenhouse</h1></header><p>Greenhouse is an sourcing automation tool to help hiring teams find, reach and engage top talent quickly and effectively.</p> diff --git a/forms/integrations/hubspot/index.html b/forms/integrations/hubspot/index.html index ec6faa554..64bcb1c1d 100644 --- a/forms/integrations/hubspot/index.html +++ b/forms/integrations/hubspot/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/welcome">Getting Started</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/welcome">Welcome</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/basics">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/first-form">Your first form</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/features/dashboard">Features</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/integrations/intro">Integrations</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/intro">Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/active-campaign">ActiveCampaign</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/airtable">Airtable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/clearbit">Clearbit</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/goodbits">Goodbits</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/greenhouse">Greenhouse</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/integrations/hubspot">Hubspot</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/jira">Jira</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/mailchimp">Mailchimp</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/mailer">Mailer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/mailerlite">MailerLite</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/moments">Moments</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/workable">Workable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/pipedrive">Pipedrive</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/known-issues">Known issues</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/php/intro">Customization</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Getting Started</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Integrations</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Hubspot</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Hubspot</h1></header><p>Hubspot is an CRM platform that connects everything scaling companies need to deliver a best-in-class customer experience into one place.</p> diff --git a/forms/integrations/intro/index.html b/forms/integrations/intro/index.html index 2fa257926..169cf2c3b 100644 --- a/forms/integrations/intro/index.html +++ b/forms/integrations/intro/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/welcome">Getting Started</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/welcome">Welcome</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/basics">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/first-form">Your first form</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/features/dashboard">Features</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/integrations/intro">Integrations</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/integrations/intro">Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/active-campaign">ActiveCampaign</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/airtable">Airtable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/clearbit">Clearbit</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/goodbits">Goodbits</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/greenhouse">Greenhouse</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/hubspot">Hubspot</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/jira">Jira</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/mailchimp">Mailchimp</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/mailer">Mailer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/mailerlite">MailerLite</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/moments">Moments</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/workable">Workable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/pipedrive">Pipedrive</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/known-issues">Known issues</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/php/intro">Customization</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Getting Started</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Integrations</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Intro</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Intro</h1></header><p>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.</p> diff --git a/forms/integrations/jira/index.html b/forms/integrations/jira/index.html index 577897303..778bcea4d 100644 --- a/forms/integrations/jira/index.html +++ b/forms/integrations/jira/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/welcome">Getting Started</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/welcome">Welcome</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/basics">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/first-form">Your first form</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/features/dashboard">Features</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/integrations/intro">Integrations</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/intro">Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/active-campaign">ActiveCampaign</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/airtable">Airtable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/clearbit">Clearbit</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/goodbits">Goodbits</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/greenhouse">Greenhouse</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/hubspot">Hubspot</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/integrations/jira">Jira</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/mailchimp">Mailchimp</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/mailer">Mailer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/mailerlite">MailerLite</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/moments">Moments</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/workable">Workable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/pipedrive">Pipedrive</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/known-issues">Known issues</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/php/intro">Customization</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Getting Started</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Integrations</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Jira</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Jira</h1></header><p>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.</p> diff --git a/forms/integrations/mailchimp/index.html b/forms/integrations/mailchimp/index.html index fa49a0f1e..79659ac2f 100644 --- a/forms/integrations/mailchimp/index.html +++ b/forms/integrations/mailchimp/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/welcome">Getting Started</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/welcome">Welcome</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/basics">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/first-form">Your first form</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/features/dashboard">Features</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/integrations/intro">Integrations</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/intro">Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/active-campaign">ActiveCampaign</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/airtable">Airtable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/clearbit">Clearbit</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/goodbits">Goodbits</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/greenhouse">Greenhouse</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/hubspot">Hubspot</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/jira">Jira</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/integrations/mailchimp">Mailchimp</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/mailer">Mailer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/mailerlite">MailerLite</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/moments">Moments</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/workable">Workable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/pipedrive">Pipedrive</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/known-issues">Known issues</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/php/intro">Customization</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Getting Started</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Integrations</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Mailchimp</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Mailchimp</h1></header><p>Mailchimp is an comprehensive email marketing platform that fulfills all your requirements of email correspondence with customers, affiliates, and more.</p> diff --git a/forms/integrations/mailer/index.html b/forms/integrations/mailer/index.html index bfba79ebd..92d5f291a 100644 --- a/forms/integrations/mailer/index.html +++ b/forms/integrations/mailer/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/welcome">Getting Started</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/welcome">Welcome</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/basics">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/first-form">Your first form</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/features/dashboard">Features</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/integrations/intro">Integrations</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/intro">Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/active-campaign">ActiveCampaign</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/airtable">Airtable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/clearbit">Clearbit</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/goodbits">Goodbits</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/greenhouse">Greenhouse</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/hubspot">Hubspot</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/jira">Jira</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/mailchimp">Mailchimp</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/integrations/mailer">Mailer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/mailerlite">MailerLite</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/moments">Moments</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/workable">Workable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/pipedrive">Pipedrive</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/known-issues">Known issues</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/php/intro">Customization</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Getting Started</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Integrations</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Mailer</span><meta itemprop="position" content="3"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Mailer</h1></header><p>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.</p> diff --git a/forms/integrations/mailerlite/index.html b/forms/integrations/mailerlite/index.html index 1f1beef8b..37926d25b 100644 --- a/forms/integrations/mailerlite/index.html +++ b/forms/integrations/mailerlite/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/welcome">Getting Started</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/welcome">Welcome</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/basics">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/first-form">Your first form</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/features/dashboard">Features</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/integrations/intro">Integrations</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/intro">Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/active-campaign">ActiveCampaign</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/airtable">Airtable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/clearbit">Clearbit</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/goodbits">Goodbits</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/greenhouse">Greenhouse</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/hubspot">Hubspot</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/jira">Jira</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/mailchimp">Mailchimp</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/mailer">Mailer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/integrations/mailerlite">MailerLite</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/moments">Moments</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/workable">Workable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/pipedrive">Pipedrive</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/known-issues">Known issues</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/php/intro">Customization</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Getting Started</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Integrations</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">MailerLite</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>MailerLite</h1></header><p>MailerLite is an email service provider that makes it easier to plan email marketing campaigns for any growing business.</p> diff --git a/forms/integrations/moments/index.html b/forms/integrations/moments/index.html index a9b04a11a..bf8720314 100644 --- a/forms/integrations/moments/index.html +++ b/forms/integrations/moments/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/welcome">Getting Started</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/welcome">Welcome</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/basics">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/first-form">Your first form</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/features/dashboard">Features</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/integrations/intro">Integrations</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/intro">Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/active-campaign">ActiveCampaign</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/airtable">Airtable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/clearbit">Clearbit</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/goodbits">Goodbits</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/greenhouse">Greenhouse</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/hubspot">Hubspot</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/jira">Jira</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/mailchimp">Mailchimp</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/mailer">Mailer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/mailerlite">MailerLite</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/integrations/moments">Moments</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/workable">Workable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/pipedrive">Pipedrive</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/known-issues">Known issues</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/php/intro">Customization</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Getting Started</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Integrations</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Moments</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Moments</h1></header><p>Moments is an service that allows you to easily send relevant content derived from important customer information, their interests, and activities.</p> diff --git a/forms/integrations/pipedrive/index.html b/forms/integrations/pipedrive/index.html index a801ffd86..66e44d41e 100644 --- a/forms/integrations/pipedrive/index.html +++ b/forms/integrations/pipedrive/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/welcome">Getting Started</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/welcome">Welcome</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/basics">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/first-form">Your first form</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/features/dashboard">Features</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/integrations/intro">Integrations</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/intro">Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/active-campaign">ActiveCampaign</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/airtable">Airtable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/clearbit">Clearbit</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/goodbits">Goodbits</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/greenhouse">Greenhouse</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/hubspot">Hubspot</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/jira">Jira</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/mailchimp">Mailchimp</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/mailer">Mailer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/mailerlite">MailerLite</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/moments">Moments</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/workable">Workable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/integrations/pipedrive">Pipedrive</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/known-issues">Known issues</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/php/intro">Customization</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Getting Started</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Integrations</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Pipedrive</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Pipedrive</h1></header><p>Pipedrive is a web-based Sales CRM and pipeline management solution that enables businesses to plan their sales activities and monitor deals.</p> diff --git a/forms/integrations/workable/index.html b/forms/integrations/workable/index.html index 71e7bbd3c..2132d66b4 100644 --- a/forms/integrations/workable/index.html +++ b/forms/integrations/workable/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/welcome">Getting Started</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/welcome">Welcome</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/basics">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/first-form">Your first form</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/features/dashboard">Features</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/integrations/intro">Integrations</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/intro">Intro</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/active-campaign">ActiveCampaign</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/airtable">Airtable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/clearbit">Clearbit</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/goodbits">Goodbits</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/greenhouse">Greenhouse</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/hubspot">Hubspot</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/jira">Jira</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/mailchimp">Mailchimp</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/mailer">Mailer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/mailerlite">MailerLite</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/moments">Moments</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/integrations/workable">Workable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/integrations/pipedrive">Pipedrive</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/known-issues">Known issues</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/php/intro">Customization</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Getting Started</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Integrations</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Workable</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Workable</h1></header><p>Workable is an sourcing automation tool to help hiring teams find, reach and engage top talent quickly and effectively.</p> diff --git a/forms/javascript/events/available-events/index.html b/forms/javascript/events/available-events/index.html index 9174cffc3..19c86c4b1 100644 --- a/forms/javascript/events/available-events/index.html +++ b/forms/javascript/events/available-events/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/intro">PHP</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/javascript/events/available-events">Events</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/javascript/events/available-events">Available events</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/events/how-to-use">How to use?</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/state/how-to-use">State</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/manual-initiation">Manual initiation</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">JavaScript</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Events</span><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Available events</span><meta itemprop="position" content="4"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Available events</h1></header><p>You can listen to these events by using the <code>on</code> method on the <code>Event</code> facade.</p> diff --git a/forms/javascript/events/how-to-use/index.html b/forms/javascript/events/how-to-use/index.html index ac0e85e07..d9f9eae3d 100644 --- a/forms/javascript/events/how-to-use/index.html +++ b/forms/javascript/events/how-to-use/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/intro">PHP</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/javascript/events/available-events">Events</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/events/available-events">Available events</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/javascript/events/how-to-use">How to use?</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/state/how-to-use">State</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/manual-initiation">Manual initiation</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">JavaScript</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Events</span><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">How to use?</span><meta itemprop="position" content="4"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>How to use?</h1></header><h3 class="anchor anchorWithStickyNavbar_LWe7" id="esformsaftercaptchainit">esFormsAfterCaptchaInit<a href="#esformsaftercaptchainit" class="hash-link" aria-label="Direct link to esFormsAfterCaptchaInit" title="Direct link to esFormsAfterCaptchaInit">​</a></h3> diff --git a/forms/javascript/intro/index.html b/forms/javascript/intro/index.html index ad35e8ad8..6c2480958 100644 --- a/forms/javascript/intro/index.html +++ b/forms/javascript/intro/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/intro">PHP</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/javascript/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/events/available-events">Events</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/state/how-to-use">State</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/manual-initiation">Manual initiation</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">JavaScript</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Intro</span><meta itemprop="position" content="3"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Intro</h1></header><p>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.</p> diff --git a/forms/javascript/manual-initiation/index.html b/forms/javascript/manual-initiation/index.html index ab4a0d543..699f7d883 100644 --- a/forms/javascript/manual-initiation/index.html +++ b/forms/javascript/manual-initiation/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/intro">PHP</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/events/available-events">Events</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/state/how-to-use">State</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/javascript/manual-initiation">Manual initiation</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">JavaScript</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Manual initiation</span><meta itemprop="position" content="3"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Manual initiation</h1></header><p>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.</p> diff --git a/forms/javascript/state/captcha/index.html b/forms/javascript/state/captcha/index.html index 0e8c7e568..d4af6f9a9 100644 --- a/forms/javascript/state/captcha/index.html +++ b/forms/javascript/state/captcha/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/intro">PHP</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/events/available-events">Events</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/javascript/state/how-to-use">State</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/">State</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/store">Store</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/form">Form</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/utils">Utils</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/conditional-tags">Conditional tags</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/enrichment">Enrichment</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/step">Step</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/javascript/state/captcha">Captcha</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/manual-initiation">Manual initiation</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">JavaScript</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">State</span><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Captcha</span><meta itemprop="position" content="4"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Captcha</h1></header><p>The <code>captcha</code> object contains methods used in spam protection.</p> diff --git a/forms/javascript/state/conditional-tags/index.html b/forms/javascript/state/conditional-tags/index.html index 69271c83b..b1b2472a3 100644 --- a/forms/javascript/state/conditional-tags/index.html +++ b/forms/javascript/state/conditional-tags/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/intro">PHP</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/events/available-events">Events</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/javascript/state/how-to-use">State</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/">State</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/store">Store</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/form">Form</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/utils">Utils</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/javascript/state/conditional-tags">Conditional tags</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/enrichment">Enrichment</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/step">Step</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/captcha">Captcha</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/manual-initiation">Manual initiation</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">JavaScript</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">State</span><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Conditional tags</span><meta itemprop="position" content="4"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Conditional tags</h1></header><p>The <code>conditionalTags</code> object contains methods used to manipulate conditional logic.</p> diff --git a/forms/javascript/state/enrichment/index.html b/forms/javascript/state/enrichment/index.html index 3f9c79c18..8acf950d0 100644 --- a/forms/javascript/state/enrichment/index.html +++ b/forms/javascript/state/enrichment/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/intro">PHP</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/events/available-events">Events</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/javascript/state/how-to-use">State</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/">State</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/store">Store</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/form">Form</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/utils">Utils</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/conditional-tags">Conditional tags</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/javascript/state/enrichment">Enrichment</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/step">Step</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/captcha">Captcha</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/manual-initiation">Manual initiation</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">JavaScript</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">State</span><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Enrichment</span><meta itemprop="position" content="4"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Enrichment</h1></header><p>The <code>enrichment</code> object contains methods to work with the enrichment of the form.</p> diff --git a/forms/javascript/state/form/index.html b/forms/javascript/state/form/index.html index dc059d9be..33e4de89a 100644 --- a/forms/javascript/state/form/index.html +++ b/forms/javascript/state/form/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/intro">PHP</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/events/available-events">Events</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/javascript/state/how-to-use">State</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/">State</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/store">Store</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/javascript/state/form">Form</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/utils">Utils</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/conditional-tags">Conditional tags</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/enrichment">Enrichment</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/step">Step</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/captcha">Captcha</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/manual-initiation">Manual initiation</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">JavaScript</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">State</span><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Form</span><meta itemprop="position" content="4"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Form</h1></header><p>The <code>form</code> object contains all getters and setters for managing the form. All methods are connected to the <code>formId</code> value.</p> diff --git a/forms/javascript/state/how-to-use/index.html b/forms/javascript/state/how-to-use/index.html index 3edc4bb74..b1ee7698d 100644 --- a/forms/javascript/state/how-to-use/index.html +++ b/forms/javascript/state/how-to-use/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/intro">PHP</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/events/available-events">Events</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/javascript/state/how-to-use">State</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/javascript/state/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/">State</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/store">Store</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/form">Form</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/utils">Utils</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/conditional-tags">Conditional tags</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/enrichment">Enrichment</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/step">Step</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/captcha">Captcha</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/manual-initiation">Manual initiation</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">JavaScript</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">State</span><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">How to use?</span><meta itemprop="position" content="4"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>How to use?</h1></header><p>As mentioned earlier, Eightshift Forms utilizes the <code>esForms</code> global window object to manage the state. This approach ensures consistency across various functionalities and components.</p> diff --git a/forms/javascript/state/index.html b/forms/javascript/state/index.html index 4a156fd04..52e3644be 100644 --- a/forms/javascript/state/index.html +++ b/forms/javascript/state/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/intro">PHP</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/events/available-events">Events</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/javascript/state/how-to-use">State</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/javascript/state/">State</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/store">Store</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/form">Form</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/utils">Utils</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/conditional-tags">Conditional tags</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/enrichment">Enrichment</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/step">Step</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/captcha">Captcha</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/manual-initiation">Manual initiation</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">JavaScript</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">State</span><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">State</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>State</h1></header><p>State object contains all the information about the current state of the forms, global settings, elements and etc. diff --git a/forms/javascript/state/step/index.html b/forms/javascript/state/step/index.html index a8df1e957..fae356b2d 100644 --- a/forms/javascript/state/step/index.html +++ b/forms/javascript/state/step/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/intro">PHP</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/events/available-events">Events</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/javascript/state/how-to-use">State</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/">State</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/store">Store</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/form">Form</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/utils">Utils</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/conditional-tags">Conditional tags</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/enrichment">Enrichment</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/javascript/state/step">Step</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/captcha">Captcha</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/manual-initiation">Manual initiation</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">JavaScript</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">State</span><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Step</span><meta itemprop="position" content="4"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Step</h1></header><p>The <code>step</code> object contains methods used in multi-step/multi-flow forms.</p> diff --git a/forms/javascript/state/store/index.html b/forms/javascript/state/store/index.html index aa5fa82c2..f1d8645eb 100644 --- a/forms/javascript/state/store/index.html +++ b/forms/javascript/state/store/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/intro">PHP</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/events/available-events">Events</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/javascript/state/how-to-use">State</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/">State</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/javascript/state/store">Store</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/form">Form</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/utils">Utils</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/conditional-tags">Conditional tags</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/enrichment">Enrichment</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/step">Step</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/captcha">Captcha</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/manual-initiation">Manual initiation</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">JavaScript</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">State</span><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Store</span><meta itemprop="position" content="4"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Store</h1></header><p>The <code>store</code> object contains all getters and setters for managing the application's state.</p> diff --git a/forms/javascript/state/utils/index.html b/forms/javascript/state/utils/index.html index 009a96bfc..dceb3cca8 100644 --- a/forms/javascript/state/utils/index.html +++ b/forms/javascript/state/utils/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/intro">PHP</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/events/available-events">Events</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/javascript/state/how-to-use">State</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/">State</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/store">Store</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/form">Form</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/javascript/state/utils">Utils</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/conditional-tags">Conditional tags</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/enrichment">Enrichment</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/step">Step</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/state/captcha">Captcha</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/javascript/manual-initiation">Manual initiation</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">JavaScript</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">State</span><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Utils</span><meta itemprop="position" content="4"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Utils</h1></header><p>The <code>utils</code> object contains helper methods for miscellaneous functionalities such as showing/hiding loaders and setting/unsetting errors.</p> diff --git a/forms/known-issues/index.html b/forms/known-issues/index.html index 45c409eb9..0f9da1e34 100644 --- a/forms/known-issues/index.html +++ b/forms/known-issues/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/welcome">Getting Started</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/welcome">Welcome</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/basics">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/first-form">Your first form</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/features/dashboard">Features</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/integrations/intro">Integrations</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/known-issues">Known issues</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/php/intro">Customization</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Getting Started</span><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Known issues</span><meta itemprop="position" content="2"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Known issues</h1></header><p>Here we list all known issues and their workaround.</p> diff --git a/forms/php/actions/how-to-use/index.html b/forms/php/actions/how-to-use/index.html index 4c526779f..8fda24140 100644 --- a/forms/php/actions/how-to-use/index.html +++ b/forms/php/actions/how-to-use/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/actions/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/actions/migrations">Migrations</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Actions</span><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">How to use?</span><meta itemprop="position" content="4"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>How to use?</h1></header><p>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.</p> diff --git a/forms/php/actions/migrations/index.html b/forms/php/actions/migrations/index.html index dbb804922..b55508b45 100644 --- a/forms/php/actions/migrations/index.html +++ b/forms/php/actions/migrations/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/actions/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/actions/migrations">Migrations</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Actions</span><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Migrations</span><meta itemprop="position" content="4"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Migrations</h1></header><p>Based on the migration version you can run custom actions before migration is triggered.</p> diff --git a/forms/php/filters/admin/settings-data/index.html b/forms/php/filters/admin/settings-data/index.html index bb47ab76e..0a778d058 100644 --- a/forms/php/filters/admin/settings-data/index.html +++ b/forms/php/filters/admin/settings-data/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/admin/settings-data">Settings data</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Admin</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Settings data</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Settings data</h1></header><p>This filter allows adding a custom settings page in the WordPress admin area. Useful when creating custom option pages for Forms add-on plugins.</p> diff --git a/forms/php/filters/block/checkboxes/additional-content/index.html b/forms/php/filters/block/checkboxes/additional-content/index.html index f70f4ad1a..a3ed231d0 100644 --- a/forms/php/filters/block/checkboxes/additional-content/index.html +++ b/forms/php/filters/block/checkboxes/additional-content/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Forms</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/form/redirect-timeout">Form</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/form-selector/form-templates">Form selector</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/field/style-options">Field</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/input/additional-content">Input</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/textarea/additional-content">Textarea</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/select/additional-content">Select</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/file/preview-remove-label">File</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/checkboxes/additional-content">Checkboxes</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/block/checkboxes/additional-content">Additional content</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/radios/additional-content">Radios</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/phone/additional-content">Phone</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/country/alternative-data-set">Country</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/date/additional-content">Date</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/submit/component">Submit</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/step/component-prev">Step</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/rating/additional-content">Rating</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Block</span><meta itemprop="position" content="4"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Checkboxes</span><meta itemprop="position" content="5"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Additional content</span><meta itemprop="position" content="6"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Additional content</h1></header><p>Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc.</p><div class="language-php codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-php codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token function" style="color:rgb(80, 250, 123)">add_filter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'es_forms_block_checkboxes_additional_content'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">function</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token keyword return-type" style="color:rgb(189, 147, 249);font-style:italic">string</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'<custom-string>'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/forms/php/filters/block/file/additional-content"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Additional content</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/forms/php/filters/block/radios/additional-content"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Additional content</div></a></nav></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/forms/php/filters/block/country/additional-content/index.html b/forms/php/filters/block/country/additional-content/index.html index 25bd2a60a..daa621165 100644 --- a/forms/php/filters/block/country/additional-content/index.html +++ b/forms/php/filters/block/country/additional-content/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Forms</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/form/redirect-timeout">Form</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/form-selector/form-templates">Form selector</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/field/style-options">Field</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/input/additional-content">Input</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/textarea/additional-content">Textarea</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/select/additional-content">Select</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/file/preview-remove-label">File</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/checkboxes/additional-content">Checkboxes</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/radios/additional-content">Radios</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/phone/additional-content">Phone</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/country/alternative-data-set">Country</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/country/alternative-data-set">Alternative datasets</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/block/country/additional-content">Additional content</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/date/additional-content">Date</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/submit/component">Submit</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/step/component-prev">Step</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/rating/additional-content">Rating</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Block</span><meta itemprop="position" content="4"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Country</span><meta itemprop="position" content="5"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Additional content</span><meta itemprop="position" content="6"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Additional content</h1></header><p>Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc.</p><div class="language-php codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-php codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token function" style="color:rgb(80, 250, 123)">add_filter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'es_forms_block_country_additional_content'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">function</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token keyword return-type" style="color:rgb(189, 147, 249);font-style:italic">string</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'<custom-string>'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/forms/php/filters/block/country/alternative-data-set"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Alternative datasets</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/forms/php/filters/block/date/additional-content"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Additional content</div></a></nav></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/forms/php/filters/block/country/alternative-data-set/index.html b/forms/php/filters/block/country/alternative-data-set/index.html index 6f5341fa4..07a3b4cc0 100644 --- a/forms/php/filters/block/country/alternative-data-set/index.html +++ b/forms/php/filters/block/country/alternative-data-set/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Forms</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/form/redirect-timeout">Form</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/form-selector/form-templates">Form selector</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/field/style-options">Field</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/input/additional-content">Input</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/textarea/additional-content">Textarea</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/select/additional-content">Select</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/file/preview-remove-label">File</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/checkboxes/additional-content">Checkboxes</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/radios/additional-content">Radios</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/phone/additional-content">Phone</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/country/alternative-data-set">Country</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/block/country/alternative-data-set">Alternative datasets</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/country/additional-content">Additional content</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/date/additional-content">Date</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/submit/component">Submit</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/step/component-prev">Step</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/rating/additional-content">Rating</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Block</span><meta itemprop="position" content="4"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Country</span><meta itemprop="position" content="5"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Alternative datasets</span><meta itemprop="position" content="6"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Alternative datasets</h1></header><p>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.</p> diff --git a/forms/php/filters/block/date/additional-content/index.html b/forms/php/filters/block/date/additional-content/index.html index a22b29bfc..efcba40bc 100644 --- a/forms/php/filters/block/date/additional-content/index.html +++ b/forms/php/filters/block/date/additional-content/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Forms</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/form/redirect-timeout">Form</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/form-selector/form-templates">Form selector</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/field/style-options">Field</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/input/additional-content">Input</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/textarea/additional-content">Textarea</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/select/additional-content">Select</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/file/preview-remove-label">File</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/checkboxes/additional-content">Checkboxes</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/radios/additional-content">Radios</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/phone/additional-content">Phone</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/country/alternative-data-set">Country</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/date/additional-content">Date</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/block/date/additional-content">Additional content</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/submit/component">Submit</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/step/component-prev">Step</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/rating/additional-content">Rating</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Block</span><meta itemprop="position" content="4"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Date</span><meta itemprop="position" content="5"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Additional content</span><meta itemprop="position" content="6"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Additional content</h1></header><p>Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc.</p><div class="language-php codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-php codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token function" style="color:rgb(80, 250, 123)">add_filter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'es_forms_block_date_additional_content'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">function</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token keyword return-type" style="color:rgb(189, 147, 249);font-style:italic">string</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'<custom-string>'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/forms/php/filters/block/country/additional-content"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Additional content</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/forms/php/filters/block/submit/component"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Custom form submit button</div></a></nav></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/forms/php/filters/block/field/additional-content/index.html b/forms/php/filters/block/field/additional-content/index.html index 51bd6d89d..b8e70935a 100644 --- a/forms/php/filters/block/field/additional-content/index.html +++ b/forms/php/filters/block/field/additional-content/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Forms</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/form/redirect-timeout">Form</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/form-selector/form-templates">Form selector</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/field/style-options">Field</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/field/style-options">Custom field styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/field/style-classes">Custom field classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/block/field/additional-content">Additional content</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/input/additional-content">Input</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/textarea/additional-content">Textarea</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/select/additional-content">Select</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/file/preview-remove-label">File</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/checkboxes/additional-content">Checkboxes</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/radios/additional-content">Radios</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/phone/additional-content">Phone</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/country/alternative-data-set">Country</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/date/additional-content">Date</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/submit/component">Submit</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/step/component-prev">Step</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/rating/additional-content">Rating</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Block</span><meta itemprop="position" content="4"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Field</span><meta itemprop="position" content="5"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Additional content</span><meta itemprop="position" content="6"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Additional content</h1></header><p>Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc.</p><div class="language-php codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-php codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token function" style="color:rgb(80, 250, 123)">add_filter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'es_forms_block_field_additional_content'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">function</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token keyword return-type" style="color:rgb(189, 147, 249);font-style:italic">string</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'<custom-string>'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/forms/php/filters/block/field/style-classes"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Custom field classes</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/forms/php/filters/block/input/additional-content"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Additional content</div></a></nav></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/forms/php/filters/block/field/style-classes/index.html b/forms/php/filters/block/field/style-classes/index.html index 65525267e..a29a6e233 100644 --- a/forms/php/filters/block/field/style-classes/index.html +++ b/forms/php/filters/block/field/style-classes/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Forms</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/form/redirect-timeout">Form</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/form-selector/form-templates">Form selector</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/field/style-options">Field</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/field/style-options">Custom field styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/block/field/style-classes">Custom field classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/field/additional-content">Additional content</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/input/additional-content">Input</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/textarea/additional-content">Textarea</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/select/additional-content">Select</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/file/preview-remove-label">File</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/checkboxes/additional-content">Checkboxes</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/radios/additional-content">Radios</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/phone/additional-content">Phone</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/country/alternative-data-set">Country</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/date/additional-content">Date</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/submit/component">Submit</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/step/component-prev">Step</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/rating/additional-content">Rating</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Block</span><meta itemprop="position" content="4"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Field</span><meta itemprop="position" content="5"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Custom field classes</span><meta itemprop="position" content="6"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Custom field classes</h1></header><p>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.</p> diff --git a/forms/php/filters/block/field/style-options/index.html b/forms/php/filters/block/field/style-options/index.html index 4198ab58a..6ff25bb6c 100644 --- a/forms/php/filters/block/field/style-options/index.html +++ b/forms/php/filters/block/field/style-options/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Forms</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/form/redirect-timeout">Form</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/form-selector/form-templates">Form selector</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/field/style-options">Field</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/block/field/style-options">Custom field styles</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/field/style-classes">Custom field classes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/field/additional-content">Additional content</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/input/additional-content">Input</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/textarea/additional-content">Textarea</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/select/additional-content">Select</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/file/preview-remove-label">File</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/checkboxes/additional-content">Checkboxes</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/radios/additional-content">Radios</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/phone/additional-content">Phone</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/country/alternative-data-set">Country</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/date/additional-content">Date</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/submit/component">Submit</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/step/component-prev">Step</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/rating/additional-content">Rating</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Block</span><meta itemprop="position" content="4"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Field</span><meta itemprop="position" content="5"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Custom field styles</span><meta itemprop="position" content="6"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Custom field styles</h1></header><p>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 <code>value</code> provided.</p> diff --git a/forms/php/filters/block/file/additional-content/index.html b/forms/php/filters/block/file/additional-content/index.html index 30a6b9750..7f750ab4a 100644 --- a/forms/php/filters/block/file/additional-content/index.html +++ b/forms/php/filters/block/file/additional-content/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Forms</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/form/redirect-timeout">Form</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/form-selector/form-templates">Form selector</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/field/style-options">Field</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/input/additional-content">Input</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/textarea/additional-content">Textarea</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/select/additional-content">Select</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/file/preview-remove-label">File</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/file/preview-remove-label">Uploaded item remove button label</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/block/file/additional-content">Additional content</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/checkboxes/additional-content">Checkboxes</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/radios/additional-content">Radios</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/phone/additional-content">Phone</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/country/alternative-data-set">Country</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/date/additional-content">Date</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/submit/component">Submit</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/step/component-prev">Step</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/rating/additional-content">Rating</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Block</span><meta itemprop="position" content="4"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">File</span><meta itemprop="position" content="5"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Additional content</span><meta itemprop="position" content="6"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Additional content</h1></header><p>Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc.</p><div class="language-php codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-php codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token function" style="color:rgb(80, 250, 123)">add_filter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'es_forms_block_file_additional_content'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">function</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token keyword return-type" style="color:rgb(189, 147, 249);font-style:italic">string</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'<custom-string>'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/forms/php/filters/block/file/preview-remove-label"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Uploaded item remove button label</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/forms/php/filters/block/checkboxes/additional-content"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Additional content</div></a></nav></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/forms/php/filters/block/file/preview-remove-label/index.html b/forms/php/filters/block/file/preview-remove-label/index.html index e7ff1c1ee..ba336e722 100644 --- a/forms/php/filters/block/file/preview-remove-label/index.html +++ b/forms/php/filters/block/file/preview-remove-label/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Forms</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/form/redirect-timeout">Form</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/form-selector/form-templates">Form selector</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/field/style-options">Field</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/input/additional-content">Input</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/textarea/additional-content">Textarea</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/select/additional-content">Select</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/file/preview-remove-label">File</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/block/file/preview-remove-label">Uploaded item remove button label</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/file/additional-content">Additional content</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/checkboxes/additional-content">Checkboxes</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/radios/additional-content">Radios</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/phone/additional-content">Phone</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/country/alternative-data-set">Country</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/date/additional-content">Date</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/submit/component">Submit</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/step/component-prev">Step</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/rating/additional-content">Rating</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Block</span><meta itemprop="position" content="4"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">File</span><meta itemprop="position" content="5"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Uploaded item remove button label</span><meta itemprop="position" content="6"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Uploaded item remove button label</h1></header><p>This filter allows you to change the label for the <em>Remove</em> 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 <code>Dropzone.js</code> supports.</p> diff --git a/forms/php/filters/block/form-selector/additional-content/index.html b/forms/php/filters/block/form-selector/additional-content/index.html index bcad6f44b..d109d6b17 100644 --- a/forms/php/filters/block/form-selector/additional-content/index.html +++ b/forms/php/filters/block/form-selector/additional-content/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Forms</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/form/redirect-timeout">Form</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/form-selector/form-templates">Form selector</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form-selector/form-templates">Form templates</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/block/form-selector/additional-content">Additional content</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/field/style-options">Field</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/input/additional-content">Input</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/textarea/additional-content">Textarea</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/select/additional-content">Select</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/file/preview-remove-label">File</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/checkboxes/additional-content">Checkboxes</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/radios/additional-content">Radios</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/phone/additional-content">Phone</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/country/alternative-data-set">Country</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/date/additional-content">Date</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/submit/component">Submit</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/step/component-prev">Step</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/rating/additional-content">Rating</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Block</span><meta itemprop="position" content="4"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Form selector</span><meta itemprop="position" content="5"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Additional content</span><meta itemprop="position" content="6"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Additional content</h1></header><p>Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc.</p><div class="language-php codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-php codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token function" style="color:rgb(80, 250, 123)">add_filter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'es_forms_block_form_selector_additional_content'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">function</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token keyword return-type" style="color:rgb(189, 147, 249);font-style:italic">string</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'<custom-string>'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/forms/php/filters/block/form-selector/form-templates"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Form templates</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/forms/php/filters/block/field/style-options"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Custom field styles</div></a></nav></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/forms/php/filters/block/form-selector/form-templates/index.html b/forms/php/filters/block/form-selector/form-templates/index.html index 664e73c89..fe540745d 100644 --- a/forms/php/filters/block/form-selector/form-templates/index.html +++ b/forms/php/filters/block/form-selector/form-templates/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Forms</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/form/redirect-timeout">Form</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/form-selector/form-templates">Form selector</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/block/form-selector/form-templates">Form templates</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form-selector/additional-content">Additional content</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/field/style-options">Field</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/input/additional-content">Input</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/textarea/additional-content">Textarea</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/select/additional-content">Select</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/file/preview-remove-label">File</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/checkboxes/additional-content">Checkboxes</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/radios/additional-content">Radios</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/phone/additional-content">Phone</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/country/alternative-data-set">Country</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/date/additional-content">Date</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/submit/component">Submit</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/step/component-prev">Step</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/rating/additional-content">Rating</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Block</span><meta itemprop="position" content="4"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Form selector</span><meta itemprop="position" content="5"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Form templates</span><meta itemprop="position" content="6"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Form templates</h1></header><p>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.</p> diff --git a/forms/php/filters/block/form/additional-content/index.html b/forms/php/filters/block/form/additional-content/index.html index 93165c5ba..f17644e78 100644 --- a/forms/php/filters/block/form/additional-content/index.html +++ b/forms/php/filters/block/form/additional-content/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Forms</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/form/redirect-timeout">Form</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/redirect-timeout">Redirect timeout</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/hide-global-msg-timeout">Global message timeout</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/success-redirect-url">Success redirect URL</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/success-redirect-variation">Success redirect variation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/success-redirect-variation-options">Success redirect variation options</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/tracking-event-name">Tracking event name</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/tracking-additional-data">Tracking additional data</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/data-type-selector">Data type selector</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/phone-sync">Phone sync</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/global-msg-headings">Global msg headings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/block/form/additional-content">Additional content</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/pre-response-addon-data">Pre-Response add-on Data</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/pre-response-success-redirect-data">Pre-Response Success Redirect Data</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/additional-hidden-fields">Additional hidden fields</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/form-selector/form-templates">Form selector</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/field/style-options">Field</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/input/additional-content">Input</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/textarea/additional-content">Textarea</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/select/additional-content">Select</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/file/preview-remove-label">File</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/checkboxes/additional-content">Checkboxes</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/radios/additional-content">Radios</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/phone/additional-content">Phone</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/country/alternative-data-set">Country</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/date/additional-content">Date</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/submit/component">Submit</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/step/component-prev">Step</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/rating/additional-content">Rating</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Block</span><meta itemprop="position" content="4"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Form</span><meta itemprop="position" content="5"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Additional content</span><meta itemprop="position" content="6"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Additional content</h1></header><p>Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc.</p><div class="language-php codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-php codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token function" style="color:rgb(80, 250, 123)">add_filter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'es_forms_block_form_additional_content'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">function</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token keyword return-type" style="color:rgb(189, 147, 249);font-style:italic">string</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'<custom-string>'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/forms/php/filters/block/form/global-msg-headings"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Global msg headings</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/forms/php/filters/block/form/pre-response-addon-data"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Pre-Response add-on Data</div></a></nav></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/forms/php/filters/block/form/additional-hidden-fields/index.html b/forms/php/filters/block/form/additional-hidden-fields/index.html index 34a5cead1..cae62d24e 100644 --- a/forms/php/filters/block/form/additional-hidden-fields/index.html +++ b/forms/php/filters/block/form/additional-hidden-fields/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Forms</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/form/redirect-timeout">Form</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/redirect-timeout">Redirect timeout</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/hide-global-msg-timeout">Global message timeout</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/success-redirect-url">Success redirect URL</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/success-redirect-variation">Success redirect variation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/success-redirect-variation-options">Success redirect variation options</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/tracking-event-name">Tracking event name</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/tracking-additional-data">Tracking additional data</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/data-type-selector">Data type selector</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/phone-sync">Phone sync</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/global-msg-headings">Global msg headings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/additional-content">Additional content</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/pre-response-addon-data">Pre-Response add-on Data</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/pre-response-success-redirect-data">Pre-Response Success Redirect Data</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/block/form/additional-hidden-fields">Additional hidden fields</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/form-selector/form-templates">Form selector</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/field/style-options">Field</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/input/additional-content">Input</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/textarea/additional-content">Textarea</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/select/additional-content">Select</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/file/preview-remove-label">File</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/checkboxes/additional-content">Checkboxes</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/radios/additional-content">Radios</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/phone/additional-content">Phone</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/country/alternative-data-set">Country</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/date/additional-content">Date</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/submit/component">Submit</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/step/component-prev">Step</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/rating/additional-content">Rating</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Block</span><meta itemprop="position" content="4"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Form</span><meta itemprop="position" content="5"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Additional hidden fields</span><meta itemprop="position" content="6"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Additional hidden fields</h1></header><p>Allows adding custom hidden fields to the form block. These fields will <strong>not</strong> be visible in the Block Editor. Useful if external data needs to be passed through the form.</p> diff --git a/forms/php/filters/block/form/data-type-selector/index.html b/forms/php/filters/block/form/data-type-selector/index.html index 05a6875d9..5055c6a63 100644 --- a/forms/php/filters/block/form/data-type-selector/index.html +++ b/forms/php/filters/block/form/data-type-selector/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Forms</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/form/redirect-timeout">Form</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/redirect-timeout">Redirect timeout</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/hide-global-msg-timeout">Global message timeout</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/success-redirect-url">Success redirect URL</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/success-redirect-variation">Success redirect variation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/success-redirect-variation-options">Success redirect variation options</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/tracking-event-name">Tracking event name</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/tracking-additional-data">Tracking additional data</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/block/form/data-type-selector">Data type selector</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/phone-sync">Phone sync</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/global-msg-headings">Global msg headings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/additional-content">Additional content</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/pre-response-addon-data">Pre-Response add-on Data</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/pre-response-success-redirect-data">Pre-Response Success Redirect Data</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/additional-hidden-fields">Additional hidden fields</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/form-selector/form-templates">Form selector</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/field/style-options">Field</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/input/additional-content">Input</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/textarea/additional-content">Textarea</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/select/additional-content">Select</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/file/preview-remove-label">File</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/checkboxes/additional-content">Checkboxes</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/radios/additional-content">Radios</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/phone/additional-content">Phone</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/country/alternative-data-set">Country</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/date/additional-content">Date</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/submit/component">Submit</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/step/component-prev">Step</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/rating/additional-content">Rating</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Block</span><meta itemprop="position" content="4"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Form</span><meta itemprop="position" content="5"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Data type selector</span><meta itemprop="position" content="6"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Data type selector</h1></header><p>This filter will add a new data attribute to the form element. It is used to identify the form type in the frontend.</p> diff --git a/forms/php/filters/block/form/global-msg-headings/index.html b/forms/php/filters/block/form/global-msg-headings/index.html index 540412cd9..24b73a72d 100644 --- a/forms/php/filters/block/form/global-msg-headings/index.html +++ b/forms/php/filters/block/form/global-msg-headings/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Forms</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/form/redirect-timeout">Form</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/redirect-timeout">Redirect timeout</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/hide-global-msg-timeout">Global message timeout</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/success-redirect-url">Success redirect URL</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/success-redirect-variation">Success redirect variation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/success-redirect-variation-options">Success redirect variation options</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/tracking-event-name">Tracking event name</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/tracking-additional-data">Tracking additional data</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/data-type-selector">Data type selector</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/phone-sync">Phone sync</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/block/form/global-msg-headings">Global msg headings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/additional-content">Additional content</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/pre-response-addon-data">Pre-Response add-on Data</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/pre-response-success-redirect-data">Pre-Response Success Redirect Data</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/additional-hidden-fields">Additional hidden fields</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/form-selector/form-templates">Form selector</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/field/style-options">Field</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/input/additional-content">Input</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/textarea/additional-content">Textarea</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/select/additional-content">Select</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/file/preview-remove-label">File</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/checkboxes/additional-content">Checkboxes</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/radios/additional-content">Radios</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/phone/additional-content">Phone</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/country/alternative-data-set">Country</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/date/additional-content">Date</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/submit/component">Submit</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/step/component-prev">Step</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/rating/additional-content">Rating</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Block</span><meta itemprop="position" content="4"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Form</span><meta itemprop="position" content="5"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Global msg headings</span><meta itemprop="position" content="6"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Global msg headings</h1></header><p>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.</p> diff --git a/forms/php/filters/block/form/hide-global-msg-timeout/index.html b/forms/php/filters/block/form/hide-global-msg-timeout/index.html index 1f226d03d..847466ae3 100644 --- a/forms/php/filters/block/form/hide-global-msg-timeout/index.html +++ b/forms/php/filters/block/form/hide-global-msg-timeout/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Forms</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/form/redirect-timeout">Form</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/redirect-timeout">Redirect timeout</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/block/form/hide-global-msg-timeout">Global message timeout</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/success-redirect-url">Success redirect URL</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/success-redirect-variation">Success redirect variation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/success-redirect-variation-options">Success redirect variation options</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/tracking-event-name">Tracking event name</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/tracking-additional-data">Tracking additional data</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/data-type-selector">Data type selector</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/phone-sync">Phone sync</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/global-msg-headings">Global msg headings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/additional-content">Additional content</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/pre-response-addon-data">Pre-Response add-on Data</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/pre-response-success-redirect-data">Pre-Response Success Redirect Data</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/additional-hidden-fields">Additional hidden fields</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/form-selector/form-templates">Form selector</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/field/style-options">Field</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/input/additional-content">Input</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/textarea/additional-content">Textarea</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/select/additional-content">Select</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/file/preview-remove-label">File</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/checkboxes/additional-content">Checkboxes</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/radios/additional-content">Radios</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/phone/additional-content">Phone</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/country/alternative-data-set">Country</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/date/additional-content">Date</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/submit/component">Submit</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/step/component-prev">Step</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/rating/additional-content">Rating</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Block</span><meta itemprop="position" content="4"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Form</span><meta itemprop="position" content="5"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Global message timeout</span><meta itemprop="position" content="6"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Global message timeout</h1></header><p>This filter allows you to change the timeout of all global messages (e.g. after successful form submission), in milliseconds.</p> diff --git a/forms/php/filters/block/form/phone-sync/index.html b/forms/php/filters/block/form/phone-sync/index.html index cfa286078..985f924d7 100644 --- a/forms/php/filters/block/form/phone-sync/index.html +++ b/forms/php/filters/block/form/phone-sync/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Forms</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/form/redirect-timeout">Form</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/redirect-timeout">Redirect timeout</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/hide-global-msg-timeout">Global message timeout</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/success-redirect-url">Success redirect URL</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/success-redirect-variation">Success redirect variation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/success-redirect-variation-options">Success redirect variation options</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/tracking-event-name">Tracking event name</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/tracking-additional-data">Tracking additional data</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/data-type-selector">Data type selector</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/block/form/phone-sync">Phone sync</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/global-msg-headings">Global msg headings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/additional-content">Additional content</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/pre-response-addon-data">Pre-Response add-on Data</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/pre-response-success-redirect-data">Pre-Response Success Redirect Data</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/additional-hidden-fields">Additional hidden fields</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/form-selector/form-templates">Form selector</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/field/style-options">Field</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/input/additional-content">Input</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/textarea/additional-content">Textarea</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/select/additional-content">Select</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/file/preview-remove-label">File</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/checkboxes/additional-content">Checkboxes</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/radios/additional-content">Radios</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/phone/additional-content">Phone</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/country/alternative-data-set">Country</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/date/additional-content">Date</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/submit/component">Submit</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/step/component-prev">Step</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/rating/additional-content">Rating</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Block</span><meta itemprop="position" content="4"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Form</span><meta itemprop="position" content="5"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Phone sync</span><meta itemprop="position" content="6"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Phone sync</h1></header><p>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.</p> diff --git a/forms/php/filters/block/form/pre-response-addon-data/index.html b/forms/php/filters/block/form/pre-response-addon-data/index.html index d98fc5b75..40f00f78e 100644 --- a/forms/php/filters/block/form/pre-response-addon-data/index.html +++ b/forms/php/filters/block/form/pre-response-addon-data/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Forms</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/form/redirect-timeout">Form</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/redirect-timeout">Redirect timeout</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/hide-global-msg-timeout">Global message timeout</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/success-redirect-url">Success redirect URL</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/success-redirect-variation">Success redirect variation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/success-redirect-variation-options">Success redirect variation options</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/tracking-event-name">Tracking event name</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/tracking-additional-data">Tracking additional data</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/data-type-selector">Data type selector</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/phone-sync">Phone sync</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/global-msg-headings">Global msg headings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/additional-content">Additional content</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/block/form/pre-response-addon-data">Pre-Response add-on Data</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/pre-response-success-redirect-data">Pre-Response Success Redirect Data</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/additional-hidden-fields">Additional hidden fields</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/form-selector/form-templates">Form selector</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/field/style-options">Field</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/input/additional-content">Input</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/textarea/additional-content">Textarea</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/select/additional-content">Select</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/file/preview-remove-label">File</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/checkboxes/additional-content">Checkboxes</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/radios/additional-content">Radios</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/phone/additional-content">Phone</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/country/alternative-data-set">Country</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/date/additional-content">Date</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/submit/component">Submit</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/step/component-prev">Step</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/rating/additional-content">Rating</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Block</span><meta itemprop="position" content="4"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Form</span><meta itemprop="position" content="5"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Pre-Response add-on Data</span><meta itemprop="position" content="6"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Pre-Response add-on Data</h1></header><p>Allows adding custom data to the API response when the form is submitted.</p> diff --git a/forms/php/filters/block/form/pre-response-success-redirect-data/index.html b/forms/php/filters/block/form/pre-response-success-redirect-data/index.html index f210818df..72a7b0fde 100644 --- a/forms/php/filters/block/form/pre-response-success-redirect-data/index.html +++ b/forms/php/filters/block/form/pre-response-success-redirect-data/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Forms</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/form/redirect-timeout">Form</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/redirect-timeout">Redirect timeout</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/hide-global-msg-timeout">Global message timeout</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/success-redirect-url">Success redirect URL</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/success-redirect-variation">Success redirect variation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/success-redirect-variation-options">Success redirect variation options</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/tracking-event-name">Tracking event name</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/tracking-additional-data">Tracking additional data</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/data-type-selector">Data type selector</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/phone-sync">Phone sync</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/global-msg-headings">Global msg headings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/additional-content">Additional content</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/pre-response-addon-data">Pre-Response add-on Data</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/block/form/pre-response-success-redirect-data">Pre-Response Success Redirect Data</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/additional-hidden-fields">Additional hidden fields</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/form-selector/form-templates">Form selector</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/field/style-options">Field</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/input/additional-content">Input</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/textarea/additional-content">Textarea</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/select/additional-content">Select</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/file/preview-remove-label">File</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/checkboxes/additional-content">Checkboxes</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/radios/additional-content">Radios</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/phone/additional-content">Phone</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/country/alternative-data-set">Country</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/date/additional-content">Date</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/submit/component">Submit</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/step/component-prev">Step</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/rating/additional-content">Rating</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Block</span><meta itemprop="position" content="4"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Form</span><meta itemprop="position" content="5"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Pre-Response Success Redirect Data</span><meta itemprop="position" content="6"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Pre-Response Success Redirect Data</h1></header><p>Allows adding data to the API response key, which is used when passing data to the success redirect URL.</p> diff --git a/forms/php/filters/block/form/redirect-timeout/index.html b/forms/php/filters/block/form/redirect-timeout/index.html index ba130b5ff..95f71b606 100644 --- a/forms/php/filters/block/form/redirect-timeout/index.html +++ b/forms/php/filters/block/form/redirect-timeout/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Forms</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/form/redirect-timeout">Form</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/block/form/redirect-timeout">Redirect timeout</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/hide-global-msg-timeout">Global message timeout</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/success-redirect-url">Success redirect URL</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/success-redirect-variation">Success redirect variation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/success-redirect-variation-options">Success redirect variation options</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/tracking-event-name">Tracking event name</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/tracking-additional-data">Tracking additional data</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/data-type-selector">Data type selector</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/phone-sync">Phone sync</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/global-msg-headings">Global msg headings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/additional-content">Additional content</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/pre-response-addon-data">Pre-Response add-on Data</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/pre-response-success-redirect-data">Pre-Response Success Redirect Data</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/additional-hidden-fields">Additional hidden fields</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/form-selector/form-templates">Form selector</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/field/style-options">Field</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/input/additional-content">Input</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/textarea/additional-content">Textarea</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/select/additional-content">Select</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/file/preview-remove-label">File</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/checkboxes/additional-content">Checkboxes</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/radios/additional-content">Radios</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/phone/additional-content">Phone</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/country/alternative-data-set">Country</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/date/additional-content">Date</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/submit/component">Submit</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/step/component-prev">Step</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/rating/additional-content">Rating</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Block</span><meta itemprop="position" content="4"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Form</span><meta itemprop="position" content="5"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Redirect timeout</span><meta itemprop="position" content="6"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Redirect timeout</h1></header><p>This filter allows you to change the delay for the redirect after a successful form submission, in milliseconds.</p> diff --git a/forms/php/filters/block/form/success-redirect-url/index.html b/forms/php/filters/block/form/success-redirect-url/index.html index f357ca035..4be851c3f 100644 --- a/forms/php/filters/block/form/success-redirect-url/index.html +++ b/forms/php/filters/block/form/success-redirect-url/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Forms</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/form/redirect-timeout">Form</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/redirect-timeout">Redirect timeout</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/hide-global-msg-timeout">Global message timeout</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/block/form/success-redirect-url">Success redirect URL</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/success-redirect-variation">Success redirect variation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/success-redirect-variation-options">Success redirect variation options</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/tracking-event-name">Tracking event name</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/tracking-additional-data">Tracking additional data</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/data-type-selector">Data type selector</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/phone-sync">Phone sync</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/global-msg-headings">Global msg headings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/additional-content">Additional content</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/pre-response-addon-data">Pre-Response add-on Data</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/pre-response-success-redirect-data">Pre-Response Success Redirect Data</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/additional-hidden-fields">Additional hidden fields</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/form-selector/form-templates">Form selector</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/field/style-options">Field</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/input/additional-content">Input</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/textarea/additional-content">Textarea</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/select/additional-content">Select</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/file/preview-remove-label">File</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/checkboxes/additional-content">Checkboxes</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/radios/additional-content">Radios</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/phone/additional-content">Phone</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/country/alternative-data-set">Country</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/date/additional-content">Date</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/submit/component">Submit</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/step/component-prev">Step</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/rating/additional-content">Rating</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Block</span><meta itemprop="position" content="4"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Form</span><meta itemprop="position" content="5"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Success redirect URL</span><meta itemprop="position" content="6"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Success redirect URL</h1></header><p>This filter allows you to override the success redirect URL, regardless of the one selected in Settings. With the <code>$formType</code> parameter you can customize the URL for each form type.</p> diff --git a/forms/php/filters/block/form/success-redirect-variation-options/index.html b/forms/php/filters/block/form/success-redirect-variation-options/index.html index 619d72252..58edc1c93 100644 --- a/forms/php/filters/block/form/success-redirect-variation-options/index.html +++ b/forms/php/filters/block/form/success-redirect-variation-options/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Forms</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/form/redirect-timeout">Form</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/redirect-timeout">Redirect timeout</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/hide-global-msg-timeout">Global message timeout</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/success-redirect-url">Success redirect URL</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/success-redirect-variation">Success redirect variation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/block/form/success-redirect-variation-options">Success redirect variation options</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/tracking-event-name">Tracking event name</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/tracking-additional-data">Tracking additional data</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/data-type-selector">Data type selector</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/phone-sync">Phone sync</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/global-msg-headings">Global msg headings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/additional-content">Additional content</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/pre-response-addon-data">Pre-Response add-on Data</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/pre-response-success-redirect-data">Pre-Response Success Redirect Data</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/additional-hidden-fields">Additional hidden fields</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/form-selector/form-templates">Form selector</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/field/style-options">Field</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/input/additional-content">Input</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/textarea/additional-content">Textarea</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/select/additional-content">Select</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/file/preview-remove-label">File</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/checkboxes/additional-content">Checkboxes</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/radios/additional-content">Radios</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/phone/additional-content">Phone</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/country/alternative-data-set">Country</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/date/additional-content">Date</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/submit/component">Submit</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/step/component-prev">Step</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/rating/additional-content">Rating</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Block</span><meta itemprop="position" content="4"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Form</span><meta itemprop="position" content="5"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Success redirect variation options</span><meta itemprop="position" content="6"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Success redirect variation options</h1></header><p>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.</p> diff --git a/forms/php/filters/block/form/success-redirect-variation/index.html b/forms/php/filters/block/form/success-redirect-variation/index.html index 44c13798e..2bb983319 100644 --- a/forms/php/filters/block/form/success-redirect-variation/index.html +++ b/forms/php/filters/block/form/success-redirect-variation/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Forms</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/form/redirect-timeout">Form</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/redirect-timeout">Redirect timeout</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/hide-global-msg-timeout">Global message timeout</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/success-redirect-url">Success redirect URL</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/block/form/success-redirect-variation">Success redirect variation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/success-redirect-variation-options">Success redirect variation options</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/tracking-event-name">Tracking event name</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/tracking-additional-data">Tracking additional data</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/data-type-selector">Data type selector</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/phone-sync">Phone sync</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/global-msg-headings">Global msg headings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/additional-content">Additional content</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/pre-response-addon-data">Pre-Response add-on Data</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/pre-response-success-redirect-data">Pre-Response Success Redirect Data</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/additional-hidden-fields">Additional hidden fields</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/form-selector/form-templates">Form selector</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/field/style-options">Field</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/input/additional-content">Input</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/textarea/additional-content">Textarea</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/select/additional-content">Select</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/file/preview-remove-label">File</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/checkboxes/additional-content">Checkboxes</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/radios/additional-content">Radios</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/phone/additional-content">Phone</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/country/alternative-data-set">Country</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/date/additional-content">Date</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/submit/component">Submit</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/step/component-prev">Step</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/rating/additional-content">Rating</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Block</span><meta itemprop="position" content="4"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Form</span><meta itemprop="position" content="5"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Success redirect variation</span><meta itemprop="position" content="6"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Success redirect variation</h1></header><p>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.</p> diff --git a/forms/php/filters/block/form/tracking-additional-data/index.html b/forms/php/filters/block/form/tracking-additional-data/index.html index 6a2782762..0e38a97f0 100644 --- a/forms/php/filters/block/form/tracking-additional-data/index.html +++ b/forms/php/filters/block/form/tracking-additional-data/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Forms</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/form/redirect-timeout">Form</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/redirect-timeout">Redirect timeout</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/hide-global-msg-timeout">Global message timeout</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/success-redirect-url">Success redirect URL</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/success-redirect-variation">Success redirect variation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/success-redirect-variation-options">Success redirect variation options</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/tracking-event-name">Tracking event name</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/block/form/tracking-additional-data">Tracking additional data</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/data-type-selector">Data type selector</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/phone-sync">Phone sync</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/global-msg-headings">Global msg headings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/additional-content">Additional content</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/pre-response-addon-data">Pre-Response add-on Data</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/pre-response-success-redirect-data">Pre-Response Success Redirect Data</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/additional-hidden-fields">Additional hidden fields</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/form-selector/form-templates">Form selector</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/field/style-options">Field</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/input/additional-content">Input</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/textarea/additional-content">Textarea</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/select/additional-content">Select</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/file/preview-remove-label">File</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/checkboxes/additional-content">Checkboxes</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/radios/additional-content">Radios</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/phone/additional-content">Phone</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/country/alternative-data-set">Country</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/date/additional-content">Date</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/submit/component">Submit</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/step/component-prev">Step</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/rating/additional-content">Rating</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Block</span><meta itemprop="position" content="4"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Form</span><meta itemprop="position" content="5"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Tracking additional data</span><meta itemprop="position" content="6"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Tracking additional data</h1></header><p>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 <a href="/forms/php/filters/block/form/tracking-event-name">Tracking event name</a> filter.</p> diff --git a/forms/php/filters/block/form/tracking-event-name/index.html b/forms/php/filters/block/form/tracking-event-name/index.html index 83b335fab..45ccf39a9 100644 --- a/forms/php/filters/block/form/tracking-event-name/index.html +++ b/forms/php/filters/block/form/tracking-event-name/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Forms</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/form/redirect-timeout">Form</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/redirect-timeout">Redirect timeout</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/hide-global-msg-timeout">Global message timeout</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/success-redirect-url">Success redirect URL</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/success-redirect-variation">Success redirect variation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/success-redirect-variation-options">Success redirect variation options</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/block/form/tracking-event-name">Tracking event name</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/tracking-additional-data">Tracking additional data</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/data-type-selector">Data type selector</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/phone-sync">Phone sync</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/global-msg-headings">Global msg headings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/additional-content">Additional content</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/pre-response-addon-data">Pre-Response add-on Data</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/pre-response-success-redirect-data">Pre-Response Success Redirect Data</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/form/additional-hidden-fields">Additional hidden fields</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/form-selector/form-templates">Form selector</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/field/style-options">Field</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/input/additional-content">Input</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/textarea/additional-content">Textarea</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/select/additional-content">Select</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/file/preview-remove-label">File</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/checkboxes/additional-content">Checkboxes</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/radios/additional-content">Radios</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/phone/additional-content">Phone</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/country/alternative-data-set">Country</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/date/additional-content">Date</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/submit/component">Submit</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/step/component-prev">Step</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/rating/additional-content">Rating</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Block</span><meta itemprop="position" content="4"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Form</span><meta itemprop="position" content="5"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Tracking event name</span><meta itemprop="position" content="6"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Tracking event name</h1></header><p>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.</p> diff --git a/forms/php/filters/block/forms/style-options/index.html b/forms/php/filters/block/forms/style-options/index.html index 56baa7ba0..6c5082d62 100644 --- a/forms/php/filters/block/forms/style-options/index.html +++ b/forms/php/filters/block/forms/style-options/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/forms/style-options">Forms</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/block/forms/style-options">Custom form styles</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/form/redirect-timeout">Form</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/form-selector/form-templates">Form selector</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/field/style-options">Field</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/input/additional-content">Input</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/textarea/additional-content">Textarea</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/select/additional-content">Select</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/file/preview-remove-label">File</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/checkboxes/additional-content">Checkboxes</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/radios/additional-content">Radios</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/phone/additional-content">Phone</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/country/alternative-data-set">Country</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/date/additional-content">Date</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/submit/component">Submit</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/step/component-prev">Step</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/rating/additional-content">Rating</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Block</span><meta itemprop="position" content="4"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Forms</span><meta itemprop="position" content="5"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Custom form styles</span><meta itemprop="position" content="6"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Custom form styles</h1></header><p>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 <code>value</code> provided.</p> diff --git a/forms/php/filters/block/input/additional-content/index.html b/forms/php/filters/block/input/additional-content/index.html index a8f0fbb61..8261af494 100644 --- a/forms/php/filters/block/input/additional-content/index.html +++ b/forms/php/filters/block/input/additional-content/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Forms</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/form/redirect-timeout">Form</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/form-selector/form-templates">Form selector</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/field/style-options">Field</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/input/additional-content">Input</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/block/input/additional-content">Additional content</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/textarea/additional-content">Textarea</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/select/additional-content">Select</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/file/preview-remove-label">File</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/checkboxes/additional-content">Checkboxes</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/radios/additional-content">Radios</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/phone/additional-content">Phone</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/country/alternative-data-set">Country</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/date/additional-content">Date</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/submit/component">Submit</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/step/component-prev">Step</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/rating/additional-content">Rating</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Block</span><meta itemprop="position" content="4"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Input</span><meta itemprop="position" content="5"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Additional content</span><meta itemprop="position" content="6"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Additional content</h1></header><p>Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc.</p><div class="language-php codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-php codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token function" style="color:rgb(80, 250, 123)">add_filter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'es_forms_block_input_additional_content'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">function</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token keyword return-type" style="color:rgb(189, 147, 249);font-style:italic">string</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'<custom-string>'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/forms/php/filters/block/field/additional-content"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Additional content</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/forms/php/filters/block/textarea/additional-content"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Additional content</div></a></nav></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/forms/php/filters/block/phone/additional-content/index.html b/forms/php/filters/block/phone/additional-content/index.html index 19a348867..b806c500d 100644 --- a/forms/php/filters/block/phone/additional-content/index.html +++ b/forms/php/filters/block/phone/additional-content/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Forms</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/form/redirect-timeout">Form</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/form-selector/form-templates">Form selector</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/field/style-options">Field</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/input/additional-content">Input</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/textarea/additional-content">Textarea</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/select/additional-content">Select</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/file/preview-remove-label">File</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/checkboxes/additional-content">Checkboxes</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/radios/additional-content">Radios</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/phone/additional-content">Phone</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/block/phone/additional-content">Additional content</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/country/alternative-data-set">Country</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/date/additional-content">Date</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/submit/component">Submit</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/step/component-prev">Step</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/rating/additional-content">Rating</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Block</span><meta itemprop="position" content="4"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Phone</span><meta itemprop="position" content="5"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Additional content</span><meta itemprop="position" content="6"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Additional content</h1></header><p>Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc.</p><div class="language-php codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-php codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token function" style="color:rgb(80, 250, 123)">add_filter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'es_forms_block_phone_additional_content'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">function</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token keyword return-type" style="color:rgb(189, 147, 249);font-style:italic">string</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'<custom-string>'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/forms/php/filters/block/radios/additional-content"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Additional content</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/forms/php/filters/block/country/alternative-data-set"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Alternative datasets</div></a></nav></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/forms/php/filters/block/radios/additional-content/index.html b/forms/php/filters/block/radios/additional-content/index.html index 1497ed482..9658221a8 100644 --- a/forms/php/filters/block/radios/additional-content/index.html +++ b/forms/php/filters/block/radios/additional-content/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Forms</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/form/redirect-timeout">Form</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/form-selector/form-templates">Form selector</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/field/style-options">Field</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/input/additional-content">Input</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/textarea/additional-content">Textarea</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/select/additional-content">Select</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/file/preview-remove-label">File</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/checkboxes/additional-content">Checkboxes</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/radios/additional-content">Radios</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/block/radios/additional-content">Additional content</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/phone/additional-content">Phone</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/country/alternative-data-set">Country</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/date/additional-content">Date</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/submit/component">Submit</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/step/component-prev">Step</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/rating/additional-content">Rating</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Block</span><meta itemprop="position" content="4"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Radios</span><meta itemprop="position" content="5"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Additional content</span><meta itemprop="position" content="6"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Additional content</h1></header><p>Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc.</p><div class="language-php codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-php codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token function" style="color:rgb(80, 250, 123)">add_filter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'es_forms_block_radios_additional_content'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">function</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token keyword return-type" style="color:rgb(189, 147, 249);font-style:italic">string</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'<custom-string>'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/forms/php/filters/block/checkboxes/additional-content"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Additional content</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/forms/php/filters/block/phone/additional-content"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Additional content</div></a></nav></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/forms/php/filters/block/rating/additional-content/index.html b/forms/php/filters/block/rating/additional-content/index.html index 3bf2928a4..7e0a9a81a 100644 --- a/forms/php/filters/block/rating/additional-content/index.html +++ b/forms/php/filters/block/rating/additional-content/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Forms</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/form/redirect-timeout">Form</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/form-selector/form-templates">Form selector</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/field/style-options">Field</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/input/additional-content">Input</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/textarea/additional-content">Textarea</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/select/additional-content">Select</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/file/preview-remove-label">File</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/checkboxes/additional-content">Checkboxes</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/radios/additional-content">Radios</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/phone/additional-content">Phone</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/country/alternative-data-set">Country</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/date/additional-content">Date</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/submit/component">Submit</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/step/component-prev">Step</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/rating/additional-content">Rating</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/block/rating/additional-content">Additional content</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Block</span><meta itemprop="position" content="4"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Rating</span><meta itemprop="position" content="5"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Additional content</span><meta itemprop="position" content="6"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Additional content</h1></header><p>Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc.</p><div class="language-php codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-php codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token function" style="color:rgb(80, 250, 123)">add_filter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'es_forms_block_rating_additional_content'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">function</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token keyword return-type" style="color:rgb(189, 147, 249);font-style:italic">string</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'<custom-string>'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/forms/php/filters/block/step/component-next"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Multi-step form "Next" button</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/forms/php/filters/blocks/allowed-blocks"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Allowed blocks</div></a></nav></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/forms/php/filters/block/select/additional-content/index.html b/forms/php/filters/block/select/additional-content/index.html index 7821fbfab..63b03bbdf 100644 --- a/forms/php/filters/block/select/additional-content/index.html +++ b/forms/php/filters/block/select/additional-content/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Forms</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/form/redirect-timeout">Form</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/form-selector/form-templates">Form selector</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/field/style-options">Field</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/input/additional-content">Input</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/textarea/additional-content">Textarea</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/select/additional-content">Select</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/block/select/additional-content">Additional content</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/file/preview-remove-label">File</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/checkboxes/additional-content">Checkboxes</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/radios/additional-content">Radios</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/phone/additional-content">Phone</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/country/alternative-data-set">Country</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/date/additional-content">Date</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/submit/component">Submit</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/step/component-prev">Step</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/rating/additional-content">Rating</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Block</span><meta itemprop="position" content="4"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Select</span><meta itemprop="position" content="5"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Additional content</span><meta itemprop="position" content="6"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Additional content</h1></header><p>Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc.</p><div class="language-php codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-php codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token function" style="color:rgb(80, 250, 123)">add_filter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'es_forms_block_select_additional_content'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">function</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token keyword return-type" style="color:rgb(189, 147, 249);font-style:italic">string</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'<custom-string>'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/forms/php/filters/block/textarea/additional-content"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Additional content</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/forms/php/filters/block/file/preview-remove-label"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Uploaded item remove button label</div></a></nav></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/forms/php/filters/block/step/component-next/index.html b/forms/php/filters/block/step/component-next/index.html index dad6a7d02..93fe98596 100644 --- a/forms/php/filters/block/step/component-next/index.html +++ b/forms/php/filters/block/step/component-next/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Forms</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/form/redirect-timeout">Form</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/form-selector/form-templates">Form selector</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/field/style-options">Field</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/input/additional-content">Input</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/textarea/additional-content">Textarea</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/select/additional-content">Select</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/file/preview-remove-label">File</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/checkboxes/additional-content">Checkboxes</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/radios/additional-content">Radios</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/phone/additional-content">Phone</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/country/alternative-data-set">Country</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/date/additional-content">Date</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/submit/component">Submit</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/step/component-prev">Step</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/step/component-prev">Multi-step form "Previous" button</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/block/step/component-next">Multi-step form "Next" button</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/rating/additional-content">Rating</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Block</span><meta itemprop="position" content="4"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Step</span><meta itemprop="position" content="5"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Multi-step form "Next" button</span><meta itemprop="position" content="6"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Multi-step form "Next" button</h1></header><p>This filter allows you to provide custom markup for the multi-step form "Next" button.</p> diff --git a/forms/php/filters/block/step/component-prev/index.html b/forms/php/filters/block/step/component-prev/index.html index 5ba8a1032..76210e75d 100644 --- a/forms/php/filters/block/step/component-prev/index.html +++ b/forms/php/filters/block/step/component-prev/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Forms</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/form/redirect-timeout">Form</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/form-selector/form-templates">Form selector</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/field/style-options">Field</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/input/additional-content">Input</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/textarea/additional-content">Textarea</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/select/additional-content">Select</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/file/preview-remove-label">File</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/checkboxes/additional-content">Checkboxes</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/radios/additional-content">Radios</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/phone/additional-content">Phone</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/country/alternative-data-set">Country</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/date/additional-content">Date</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/submit/component">Submit</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/step/component-prev">Step</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/block/step/component-prev">Multi-step form "Previous" button</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/step/component-next">Multi-step form "Next" button</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/rating/additional-content">Rating</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Block</span><meta itemprop="position" content="4"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Step</span><meta itemprop="position" content="5"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Multi-step form "Previous" button</span><meta itemprop="position" content="6"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Multi-step form "Previous" button</h1></header><p>This filter allows you to provide custom markup for the multi-step form "Previous" button.</p> diff --git a/forms/php/filters/block/submit/additional-content/index.html b/forms/php/filters/block/submit/additional-content/index.html index 6dd6945c0..84f17c6ef 100644 --- a/forms/php/filters/block/submit/additional-content/index.html +++ b/forms/php/filters/block/submit/additional-content/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Forms</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/form/redirect-timeout">Form</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/form-selector/form-templates">Form selector</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/field/style-options">Field</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/input/additional-content">Input</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/textarea/additional-content">Textarea</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/select/additional-content">Select</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/file/preview-remove-label">File</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/checkboxes/additional-content">Checkboxes</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/radios/additional-content">Radios</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/phone/additional-content">Phone</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/country/alternative-data-set">Country</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/date/additional-content">Date</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/submit/component">Submit</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/submit/component">Custom form submit button</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/block/submit/additional-content">Additional content</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/step/component-prev">Step</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/rating/additional-content">Rating</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Block</span><meta itemprop="position" content="4"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Submit</span><meta itemprop="position" content="5"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Additional content</span><meta itemprop="position" content="6"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Additional content</h1></header><p>Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc.</p><div class="language-php codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-php codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token function" style="color:rgb(80, 250, 123)">add_filter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'es_forms_block_submit_additional_content'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">function</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token keyword return-type" style="color:rgb(189, 147, 249);font-style:italic">string</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'<custom-string>'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/forms/php/filters/block/submit/component"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Custom form submit button</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/forms/php/filters/block/step/component-prev"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Multi-step form "Previous" button</div></a></nav></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/forms/php/filters/block/submit/component/index.html b/forms/php/filters/block/submit/component/index.html index a368297dd..642a9cf7c 100644 --- a/forms/php/filters/block/submit/component/index.html +++ b/forms/php/filters/block/submit/component/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Forms</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/form/redirect-timeout">Form</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/form-selector/form-templates">Form selector</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/field/style-options">Field</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/input/additional-content">Input</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/textarea/additional-content">Textarea</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/select/additional-content">Select</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/file/preview-remove-label">File</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/checkboxes/additional-content">Checkboxes</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/radios/additional-content">Radios</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/phone/additional-content">Phone</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/country/alternative-data-set">Country</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/date/additional-content">Date</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/submit/component">Submit</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/block/submit/component">Custom form submit button</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/block/submit/additional-content">Additional content</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/step/component-prev">Step</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/rating/additional-content">Rating</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Block</span><meta itemprop="position" content="4"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Submit</span><meta itemprop="position" content="5"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Custom form submit button</span><meta itemprop="position" content="6"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Custom form submit button</h1></header><p>This filter allows you to provide custom markup for the form submit button.</p> diff --git a/forms/php/filters/block/textarea/additional-content/index.html b/forms/php/filters/block/textarea/additional-content/index.html index 30a33f82b..0e0ae3243 100644 --- a/forms/php/filters/block/textarea/additional-content/index.html +++ b/forms/php/filters/block/textarea/additional-content/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Forms</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/form/redirect-timeout">Form</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/form-selector/form-templates">Form selector</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/field/style-options">Field</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/input/additional-content">Input</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/block/textarea/additional-content">Textarea</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-6 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/block/textarea/additional-content">Additional content</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/select/additional-content">Select</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/file/preview-remove-label">File</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/checkboxes/additional-content">Checkboxes</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/radios/additional-content">Radios</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/phone/additional-content">Phone</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/country/alternative-data-set">Country</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/date/additional-content">Date</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/submit/component">Submit</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/step/component-prev">Step</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-5 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/rating/additional-content">Rating</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Block</span><meta itemprop="position" content="4"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Textarea</span><meta itemprop="position" content="5"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Additional content</span><meta itemprop="position" content="6"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Additional content</h1></header><p>Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc.</p><div class="language-php codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-php codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token function" style="color:rgb(80, 250, 123)">add_filter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'es_forms_block_textarea_additional_content'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">function</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token keyword return-type" style="color:rgb(189, 147, 249);font-style:italic">string</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'<custom-string>'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/forms/php/filters/block/input/additional-content"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Additional content</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/forms/php/filters/block/select/additional-content"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Additional content</div></a></nav></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/forms/php/filters/blocks/additional-blocks/index.html b/forms/php/filters/blocks/additional-blocks/index.html index c6db6c036..251b10ba8 100644 --- a/forms/php/filters/blocks/additional-blocks/index.html +++ b/forms/php/filters/blocks/additional-blocks/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Allowed blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/blocks/additional-blocks">Additional blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/blocks/media-breakpoints">Media breakpoints</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Additional blocks</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Additional blocks</h1></header><p>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.</p> diff --git a/forms/php/filters/blocks/allowed-blocks/index.html b/forms/php/filters/blocks/allowed-blocks/index.html index 25e3dd05f..c5500f004 100644 --- a/forms/php/filters/blocks/allowed-blocks/index.html +++ b/forms/php/filters/blocks/allowed-blocks/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Allowed blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/blocks/additional-blocks">Additional blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/blocks/media-breakpoints">Media breakpoints</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Allowed blocks</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Allowed blocks</h1></header><p>Allows setting a custom list of the allowed blocks within the form editor. It will override the project settings. diff --git a/forms/php/filters/blocks/media-breakpoints/index.html b/forms/php/filters/blocks/media-breakpoints/index.html index 1ed24e260..049bb1d62 100644 --- a/forms/php/filters/blocks/media-breakpoints/index.html +++ b/forms/php/filters/blocks/media-breakpoints/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Allowed blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/blocks/additional-blocks">Additional blocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/blocks/media-breakpoints">Media breakpoints</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Blocks</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Media breakpoints</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Media breakpoints</h1></header><p>By default, we use 4 breakpoints in our responsive design system, defined <a href="https://github.com/infinum/eightshift-forms/blob/develop/src/Blocks/manifest.json" target="_blank" rel="noopener noreferrer">here</a> within the <code>breakpoints</code> key.</p> diff --git a/forms/php/filters/enrichment/manual-map/index.html b/forms/php/filters/enrichment/manual-map/index.html index 571153593..91eea5bb0 100644 --- a/forms/php/filters/enrichment/manual-map/index.html +++ b/forms/php/filters/enrichment/manual-map/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Manual map</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Enrichment</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Manual map</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Manual map</h1></header><p><em>Enrichment</em> is a feature that allows storing URL parameters or cookie values in the browser <code>localStorage</code>, allowing their use during form submissions, in case they are not available after the user returns to the page.</p> diff --git a/forms/php/filters/entries/pre-post-params/index.html b/forms/php/filters/entries/pre-post-params/index.html index bd12c402f..727a1cd22 100644 --- a/forms/php/filters/entries/pre-post-params/index.html +++ b/forms/php/filters/entries/pre-post-params/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Pre-Post Params</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Entries</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Pre-Post Params</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Pre-Post Params</h1></header><p>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.</p> diff --git a/forms/php/filters/general/http-request-timeout/index.html b/forms/php/filters/general/http-request-timeout/index.html index de4304d9f..bb7cdd3ec 100644 --- a/forms/php/filters/general/http-request-timeout/index.html +++ b/forms/php/filters/general/http-request-timeout/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/general/http-request-timeout">HTTP request timeout</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/general/locale">Locale</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">General</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">HTTP request timeout</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>HTTP request timeout</h1></header><p>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.</p> diff --git a/forms/php/filters/general/locale/index.html b/forms/php/filters/general/locale/index.html index 3453a0d56..e77c1ab1c 100644 --- a/forms/php/filters/general/locale/index.html +++ b/forms/php/filters/general/locale/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/general/http-request-timeout">HTTP request timeout</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/general/locale">Locale</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">General</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Locale</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Locale</h1></header><p>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.</p> diff --git a/forms/php/filters/general/scripts-dependency/index.html b/forms/php/filters/general/scripts-dependency/index.html index 70615fbf9..71a1bf041 100644 --- a/forms/php/filters/general/scripts-dependency/index.html +++ b/forms/php/filters/general/scripts-dependency/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><main class="docMainContainer_TBSr docMainContainerEnhanced_lQrH"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><div class="theme-doc-markdown markdown"><header><h1>Scripts dependency</h1></header><p>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.</p> diff --git a/forms/php/filters/geolocation/countries/index.html b/forms/php/filters/geolocation/countries/index.html index d53a5281f..3c969dd64 100644 --- a/forms/php/filters/geolocation/countries/index.html +++ b/forms/php/filters/geolocation/countries/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/geolocation/db-location">DB location</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/geolocation/phar-location">Phar location</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/geolocation/countries">Countries</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Geolocation</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Countries</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Countries</h1></header><p>This filter provides you with the ability to add/remove/edit countries list and countries groups used to filter forms.</p> diff --git a/forms/php/filters/geolocation/db-location/index.html b/forms/php/filters/geolocation/db-location/index.html index 61a69781e..05b5c899b 100644 --- a/forms/php/filters/geolocation/db-location/index.html +++ b/forms/php/filters/geolocation/db-location/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/geolocation/db-location">DB location</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/geolocation/phar-location">Phar location</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/geolocation/countries">Countries</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Geolocation</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">DB location</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>DB location</h1></header><p>Geolocation database file (<code>.mmdb</code>) path on your server. Useful if you want to provide your own IP geolocation library.</p> diff --git a/forms/php/filters/geolocation/phar-location/index.html b/forms/php/filters/geolocation/phar-location/index.html index c3b47133b..395f1a568 100644 --- a/forms/php/filters/geolocation/phar-location/index.html +++ b/forms/php/filters/geolocation/phar-location/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/geolocation/db-location">DB location</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/geolocation/phar-location">Phar location</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/geolocation/countries">Countries</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Geolocation</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Phar location</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Phar location</h1></header><p>Geolocation <code>.phar</code> file path on your server. Useful if you want to provide the geolocation service yourself.</p> diff --git a/forms/php/filters/how-to-use/index.html b/forms/php/filters/how-to-use/index.html index 2cc27cbb7..6370608aa 100644 --- a/forms/php/filters/how-to-use/index.html +++ b/forms/php/filters/how-to-use/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">How to use?</span><meta itemprop="position" content="4"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>How to use?</h1></header><p>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.</p> diff --git a/forms/php/filters/integrations/active-campaign/index.html b/forms/php/filters/integrations/active-campaign/index.html index a8b4bb719..4c060eef1 100644 --- a/forms/php/filters/integrations/active-campaign/index.html +++ b/forms/php/filters/integrations/active-campaign/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/integrations/active-campaign">ActiveCampaign</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/airtable">Airtable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/clearbit">Clearbit</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/goodbits">Goodbits</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/greenhouse">Greenhouse</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/hubspot">HubSpot</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/jira">Jira</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/mailchimp">Mailchimp</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/mailer">Mailer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/mailerlite">MailerLite</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/moments">Moments</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/workable">Workable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/pipedrive">Pipedrive</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Integrations</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">ActiveCampaign</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>ActiveCampaign</h1></header><h2>Data filter</h2><p>Allows modifying form field data before it's shown in the Block Editor or output on the frontend.</p><p>Useful if, for example, you want to ensure that all fields fit into a 2-column layout.</p><p>Overrides any Block Editor changes!</p><div class="language-php codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-php codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token function" style="color:rgb(80, 250, 123)">add_filter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'es_forms_integrations_active_campaign_data'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'getIntegrationFilterData'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">10</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)">/**</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * Manipulate form fields data before it is sent to the Block Editor.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> *</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param array<mixed> $data Form fields data.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param string $formId Form ID.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> *</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @return array<mixed></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> */</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">function</span><span class="token plain"> </span><span class="token function-definition function" style="color:rgb(80, 250, 123)">getIntegrationFilterData</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$data</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">string</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formId</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token keyword return-type" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">foreach</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$data</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">as</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$index</span><span class="token plain"> </span><span class="token operator">=></span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$field</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$field</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'component'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">??</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">''</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">if</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token operator">!</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">continue</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$name</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$field</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">"</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string double-quoted-string interpolation variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">Name"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">??</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">''</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">if</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token operator">!</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$name</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">continue</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">switch</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$name</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">case</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'firstname'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">case</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'lastname'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$data</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$index</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">"</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string double-quoted-string interpolation variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">FieldWidthMobile"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token number">12</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$data</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$index</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">"</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string double-quoted-string interpolation variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">FieldWidthLarge"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token number">6</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$data</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$index</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">"</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string double-quoted-string interpolation variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">DisabledOptions"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">array_merge</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$data</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$index</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">"</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string double-quoted-string interpolation variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">DisabledOptions"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">"</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string double-quoted-string interpolation variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">FieldWidthMobile"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">"</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string double-quoted-string interpolation variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">FieldWidthLarge"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">break</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$data</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h2>Order filter</h2><p>Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor.</p><p>Not all fields need to have an order defined. For example, you may want to make sure <code>firstname</code>, <code>lastname</code> and <code>email</code> are displayed first, but other fields follow their Block editor order.</p><div class="language-php codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-php codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token function" style="color:rgb(80, 250, 123)">add_filter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'es_forms_integrations_active_campaign_order'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'getIntegrationOrder'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)">/**</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * Forces form field order for the provided fields. For other fields, Block editor order is used.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> *</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @return array<string></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> */</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">function</span><span class="token plain"> </span><span class="token function-definition function" style="color:rgb(80, 250, 123)">getIntegrationOrder</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token keyword return-type" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'firstname'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'lastname'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'email'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h2>Pre-post ID filter</h2><p>Allows updating item IDs sent to external integrations to which the form data is sent.</p><div class="language-php codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-php codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token function" style="color:rgb(80, 250, 123)">add_filter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'es_forms_integrations_active_campaign_pre_post_id'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'getIntegrationPrePostId'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">10</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">3</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)">/**</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * Modifies integration item ID.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * </span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param string $itemId Integration item ID.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param array<mixed> $params Params to be sent to the integration.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param string $formId Form ID.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * </span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @return array<mixed></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> */</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">function</span><span class="token plain"> </span><span class="token function-definition function" style="color:rgb(80, 250, 123)">getIntegrationPrePostId</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">string</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$itemId</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$params</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">string</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formId</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token keyword return-type" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$itemId</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h2>Pre-post parameters filter</h2><p>Allows modifying form field data before it's sent to <!-- -->external integration<!-- -->. Useful if you want to make values derived from the sent data, or add new fields.</p><div class="language-php codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-php codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token function" style="color:rgb(80, 250, 123)">add_filter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'es_forms_integrations_active_campaign_pre_post_params'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'getIntegrationPrePostParams'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">10</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)">/**</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * Modifies form field data before it's sent to external integration.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> *</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param array<string, mixed> $params Array of params.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param string $formId Form ID.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> *</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @return array<string, mixed></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> */</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">function</span><span class="token plain"> </span><span class="token function-definition function" style="color:rgb(80, 250, 123)">getIntegrationPrePostParams</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$params</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">string</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formId</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token keyword return-type" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formSubmissionPageLt</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$params</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'form_submission_page_lt'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'value'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">??</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">''</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">if</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formSubmissionPageLt</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$params</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'ib-submission-source'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'name'</span><span class="token plain"> </span><span class="token operator">=></span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'ib-submission-source'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'value'</span><span class="token plain"> </span><span class="token operator">=></span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formSubmissionPageLt</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'type'</span><span class="token plain"> </span><span class="token operator">=></span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'text'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'internalType'</span><span class="token plain"> </span><span class="token operator">=></span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">''</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$params</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/forms/php/filters/geolocation/countries"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Countries</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/forms/php/filters/integrations/airtable"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Airtable</div></a></nav></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/forms/php/filters/integrations/airtable/index.html b/forms/php/filters/integrations/airtable/index.html index ea8949ace..4ce52aca5 100644 --- a/forms/php/filters/integrations/airtable/index.html +++ b/forms/php/filters/integrations/airtable/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/active-campaign">ActiveCampaign</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/integrations/airtable">Airtable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/clearbit">Clearbit</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/goodbits">Goodbits</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/greenhouse">Greenhouse</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/hubspot">HubSpot</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/jira">Jira</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/mailchimp">Mailchimp</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/mailer">Mailer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/mailerlite">MailerLite</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/moments">Moments</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/workable">Workable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/pipedrive">Pipedrive</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Integrations</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Airtable</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Airtable</h1></header><h2>Data filter</h2><p>Allows modifying form field data before it's shown in the Block Editor or output on the frontend.</p><p>Useful if, for example, you want to ensure that all fields fit into a 2-column layout.</p><p>Overrides any Block Editor changes!</p><div class="language-php codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-php codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token function" style="color:rgb(80, 250, 123)">add_filter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'es_forms_integrations_airtable_data'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'getIntegrationFilterData'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">10</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)">/**</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * Manipulate form fields data before it is sent to the Block Editor.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> *</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param array<mixed> $data Form fields data.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param string $formId Form ID.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> *</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @return array<mixed></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> */</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">function</span><span class="token plain"> </span><span class="token function-definition function" style="color:rgb(80, 250, 123)">getIntegrationFilterData</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$data</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">string</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formId</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token keyword return-type" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">foreach</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$data</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">as</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$index</span><span class="token plain"> </span><span class="token operator">=></span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$field</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$field</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'component'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">??</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">''</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">if</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token operator">!</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">continue</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$name</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$field</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">"</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string double-quoted-string interpolation variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">Name"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">??</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">''</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">if</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token operator">!</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$name</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">continue</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">switch</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$name</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">case</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'firstname'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">case</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'lastname'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$data</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$index</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">"</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string double-quoted-string interpolation variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">FieldWidthMobile"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token number">12</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$data</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$index</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">"</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string double-quoted-string interpolation variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">FieldWidthLarge"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token number">6</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$data</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$index</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">"</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string double-quoted-string interpolation variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">DisabledOptions"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">array_merge</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$data</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$index</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">"</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string double-quoted-string interpolation variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">DisabledOptions"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">"</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string double-quoted-string interpolation variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">FieldWidthMobile"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">"</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string double-quoted-string interpolation variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">FieldWidthLarge"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">break</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$data</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h2>Order filter</h2><p>Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor.</p><p>Not all fields need to have an order defined. For example, you may want to make sure <code>firstname</code>, <code>lastname</code> and <code>email</code> are displayed first, but other fields follow their Block editor order.</p><div class="language-php codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-php codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token function" style="color:rgb(80, 250, 123)">add_filter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'es_forms_integrations_airtable_order'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'getIntegrationOrder'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)">/**</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * Forces form field order for the provided fields. For other fields, Block editor order is used.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> *</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @return array<string></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> */</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">function</span><span class="token plain"> </span><span class="token function-definition function" style="color:rgb(80, 250, 123)">getIntegrationOrder</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token keyword return-type" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'firstname'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'lastname'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'email'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h2>Pre-post ID filter</h2><p>Allows updating item IDs sent to external integrations to which the form data is sent.</p><div class="language-php codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-php codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token function" style="color:rgb(80, 250, 123)">add_filter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'es_forms_integrations_airtable_pre_post_id'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'getIntegrationPrePostId'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">10</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">3</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)">/**</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * Modifies integration item ID.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * </span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param string $itemId Integration item ID.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param array<mixed> $params Params to be sent to the integration.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param string $formId Form ID.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * </span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @return array<mixed></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> */</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">function</span><span class="token plain"> </span><span class="token function-definition function" style="color:rgb(80, 250, 123)">getIntegrationPrePostId</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">string</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$itemId</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$params</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">string</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formId</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token keyword return-type" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$itemId</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h2>Pre-post parameters filter</h2><p>Allows modifying form field data before it's sent to <!-- -->external integration<!-- -->. Useful if you want to make values derived from the sent data, or add new fields.</p><div class="language-php codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-php codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token function" style="color:rgb(80, 250, 123)">add_filter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'es_forms_integrations_airtable_pre_post_params'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'getIntegrationPrePostParams'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">10</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)">/**</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * Modifies form field data before it's sent to external integration.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> *</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param array<string, mixed> $params Array of params.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param string $formId Form ID.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> *</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @return array<string, mixed></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> */</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">function</span><span class="token plain"> </span><span class="token function-definition function" style="color:rgb(80, 250, 123)">getIntegrationPrePostParams</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$params</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">string</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formId</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token keyword return-type" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formSubmissionPageLt</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$params</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'form_submission_page_lt'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'value'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">??</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">''</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">if</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formSubmissionPageLt</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$params</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'ib-submission-source'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'name'</span><span class="token plain"> </span><span class="token operator">=></span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'ib-submission-source'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'value'</span><span class="token plain"> </span><span class="token operator">=></span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formSubmissionPageLt</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'type'</span><span class="token plain"> </span><span class="token operator">=></span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'text'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'internalType'</span><span class="token plain"> </span><span class="token operator">=></span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">''</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$params</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/forms/php/filters/integrations/active-campaign"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">ActiveCampaign</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/forms/php/filters/integrations/clearbit"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Clearbit</div></a></nav></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/forms/php/filters/integrations/clearbit/index.html b/forms/php/filters/integrations/clearbit/index.html index 47de8ae39..464f23f78 100644 --- a/forms/php/filters/integrations/clearbit/index.html +++ b/forms/php/filters/integrations/clearbit/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/active-campaign">ActiveCampaign</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/airtable">Airtable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/integrations/clearbit">Clearbit</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/goodbits">Goodbits</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/greenhouse">Greenhouse</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/hubspot">HubSpot</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/jira">Jira</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/mailchimp">Mailchimp</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/mailer">Mailer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/mailerlite">MailerLite</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/moments">Moments</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/workable">Workable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/pipedrive">Pipedrive</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Integrations</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Clearbit</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Clearbit</h1></header><h2 class="anchor anchorWithStickyNavbar_LWe7" id="map">Map<a href="#map" class="hash-link" aria-label="Direct link to Map" title="Direct link to Map">​</a></h2> diff --git a/forms/php/filters/integrations/goodbits/index.html b/forms/php/filters/integrations/goodbits/index.html index 39b228106..6476fe2bc 100644 --- a/forms/php/filters/integrations/goodbits/index.html +++ b/forms/php/filters/integrations/goodbits/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/active-campaign">ActiveCampaign</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/airtable">Airtable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/clearbit">Clearbit</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/integrations/goodbits">Goodbits</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/greenhouse">Greenhouse</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/hubspot">HubSpot</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/jira">Jira</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/mailchimp">Mailchimp</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/mailer">Mailer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/mailerlite">MailerLite</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/moments">Moments</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/workable">Workable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/pipedrive">Pipedrive</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Integrations</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Goodbits</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Goodbits</h1></header><h2>Data filter</h2><p>Allows modifying form field data before it's shown in the Block Editor or output on the frontend.</p><p>Useful if, for example, you want to ensure that all fields fit into a 2-column layout.</p><p>Overrides any Block Editor changes!</p><div class="language-php codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-php codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token function" style="color:rgb(80, 250, 123)">add_filter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'es_forms_integrations_goodbits_data'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'getIntegrationFilterData'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">10</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)">/**</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * Manipulate form fields data before it is sent to the Block Editor.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> *</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param array<mixed> $data Form fields data.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param string $formId Form ID.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> *</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @return array<mixed></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> */</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">function</span><span class="token plain"> </span><span class="token function-definition function" style="color:rgb(80, 250, 123)">getIntegrationFilterData</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$data</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">string</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formId</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token keyword return-type" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">foreach</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$data</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">as</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$index</span><span class="token plain"> </span><span class="token operator">=></span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$field</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$field</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'component'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">??</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">''</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">if</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token operator">!</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">continue</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$name</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$field</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">"</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string double-quoted-string interpolation variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">Name"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">??</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">''</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">if</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token operator">!</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$name</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">continue</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">switch</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$name</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">case</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'firstname'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">case</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'lastname'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$data</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$index</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">"</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string double-quoted-string interpolation variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">FieldWidthMobile"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token number">12</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$data</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$index</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">"</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string double-quoted-string interpolation variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">FieldWidthLarge"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token number">6</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$data</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$index</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">"</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string double-quoted-string interpolation variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">DisabledOptions"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">array_merge</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$data</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$index</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">"</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string double-quoted-string interpolation variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">DisabledOptions"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">"</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string double-quoted-string interpolation variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">FieldWidthMobile"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">"</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string double-quoted-string interpolation variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">FieldWidthLarge"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">break</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$data</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h2>Order filter</h2><p>Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor.</p><p>Not all fields need to have an order defined. For example, you may want to make sure <code>firstname</code>, <code>lastname</code> and <code>email</code> are displayed first, but other fields follow their Block editor order.</p><div class="language-php codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-php codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token function" style="color:rgb(80, 250, 123)">add_filter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'es_forms_integrations_goodbits_order'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'getIntegrationOrder'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)">/**</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * Forces form field order for the provided fields. For other fields, Block editor order is used.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> *</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @return array<string></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> */</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">function</span><span class="token plain"> </span><span class="token function-definition function" style="color:rgb(80, 250, 123)">getIntegrationOrder</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token keyword return-type" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'firstname'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'lastname'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'email'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h2>Pre-post ID filter</h2><p>Allows updating item IDs sent to external integrations to which the form data is sent.</p><div class="language-php codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-php codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token function" style="color:rgb(80, 250, 123)">add_filter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'es_forms_integrations_goodbits_pre_post_id'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'getIntegrationPrePostId'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">10</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">3</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)">/**</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * Modifies integration item ID.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * </span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param string $itemId Integration item ID.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param array<mixed> $params Params to be sent to the integration.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param string $formId Form ID.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * </span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @return array<mixed></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> */</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">function</span><span class="token plain"> </span><span class="token function-definition function" style="color:rgb(80, 250, 123)">getIntegrationPrePostId</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">string</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$itemId</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$params</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">string</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formId</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token keyword return-type" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$itemId</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h2>Pre-post parameters filter</h2><p>Allows modifying form field data before it's sent to <!-- -->external integration<!-- -->. Useful if you want to make values derived from the sent data, or add new fields.</p><div class="language-php codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-php codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token function" style="color:rgb(80, 250, 123)">add_filter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'es_forms_integrations_goodbits_pre_post_params'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'getIntegrationPrePostParams'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">10</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)">/**</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * Modifies form field data before it's sent to external integration.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> *</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param array<string, mixed> $params Array of params.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param string $formId Form ID.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> *</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @return array<string, mixed></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> */</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">function</span><span class="token plain"> </span><span class="token function-definition function" style="color:rgb(80, 250, 123)">getIntegrationPrePostParams</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$params</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">string</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formId</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token keyword return-type" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formSubmissionPageLt</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$params</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'form_submission_page_lt'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'value'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">??</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">''</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">if</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formSubmissionPageLt</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$params</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'ib-submission-source'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'name'</span><span class="token plain"> </span><span class="token operator">=></span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'ib-submission-source'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'value'</span><span class="token plain"> </span><span class="token operator">=></span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formSubmissionPageLt</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'type'</span><span class="token plain"> </span><span class="token operator">=></span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'text'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'internalType'</span><span class="token plain"> </span><span class="token operator">=></span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">''</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$params</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/forms/php/filters/integrations/clearbit"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Clearbit</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/forms/php/filters/integrations/greenhouse"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Greenhouse</div></a></nav></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/forms/php/filters/integrations/greenhouse/index.html b/forms/php/filters/integrations/greenhouse/index.html index 8a6ed3813..f0fccab2f 100644 --- a/forms/php/filters/integrations/greenhouse/index.html +++ b/forms/php/filters/integrations/greenhouse/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/active-campaign">ActiveCampaign</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/airtable">Airtable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/clearbit">Clearbit</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/goodbits">Goodbits</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/integrations/greenhouse">Greenhouse</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/hubspot">HubSpot</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/jira">Jira</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/mailchimp">Mailchimp</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/mailer">Mailer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/mailerlite">MailerLite</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/moments">Moments</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/workable">Workable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/pipedrive">Pipedrive</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Integrations</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Greenhouse</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Greenhouse</h1></header><h2>Data filter</h2><p>Allows modifying form field data before it's shown in the Block Editor or output on the frontend.</p><p>Useful if, for example, you want to ensure that all fields fit into a 2-column layout.</p><p>Overrides any Block Editor changes!</p><div class="language-php codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-php codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token function" style="color:rgb(80, 250, 123)">add_filter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'es_forms_integrations_greenhouse_data'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'getIntegrationFilterData'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">10</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)">/**</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * Manipulate form fields data before it is sent to the Block Editor.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> *</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param array<mixed> $data Form fields data.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param string $formId Form ID.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> *</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @return array<mixed></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> */</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">function</span><span class="token plain"> </span><span class="token function-definition function" style="color:rgb(80, 250, 123)">getIntegrationFilterData</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$data</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">string</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formId</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token keyword return-type" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">foreach</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$data</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">as</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$index</span><span class="token plain"> </span><span class="token operator">=></span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$field</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$field</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'component'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">??</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">''</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">if</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token operator">!</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">continue</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$name</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$field</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">"</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string double-quoted-string interpolation variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">Name"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">??</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">''</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">if</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token operator">!</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$name</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">continue</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">switch</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$name</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">case</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'firstname'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">case</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'lastname'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$data</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$index</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">"</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string double-quoted-string interpolation variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">FieldWidthMobile"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token number">12</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$data</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$index</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">"</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string double-quoted-string interpolation variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">FieldWidthLarge"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token number">6</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$data</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$index</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">"</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string double-quoted-string interpolation variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">DisabledOptions"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">array_merge</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$data</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$index</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">"</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string double-quoted-string interpolation variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">DisabledOptions"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">"</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string double-quoted-string interpolation variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">FieldWidthMobile"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">"</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string double-quoted-string interpolation variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">FieldWidthLarge"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">break</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$data</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h2>Order filter</h2><p>Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor.</p><p>Not all fields need to have an order defined. For example, you may want to make sure <code>firstname</code>, <code>lastname</code> and <code>email</code> are displayed first, but other fields follow their Block editor order.</p><div class="language-php codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-php codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token function" style="color:rgb(80, 250, 123)">add_filter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'es_forms_integrations_greenhouse_order'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'getIntegrationOrder'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)">/**</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * Forces form field order for the provided fields. For other fields, Block editor order is used.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> *</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @return array<string></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> */</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">function</span><span class="token plain"> </span><span class="token function-definition function" style="color:rgb(80, 250, 123)">getIntegrationOrder</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token keyword return-type" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'firstname'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'lastname'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'email'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h2>Pre-post ID filter</h2><p>Allows updating item IDs sent to external integrations to which the form data is sent.</p><div class="language-php codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-php codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token function" style="color:rgb(80, 250, 123)">add_filter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'es_forms_integrations_greenhouse_pre_post_id'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'getIntegrationPrePostId'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">10</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">3</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)">/**</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * Modifies integration item ID.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * </span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param string $itemId Integration item ID.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param array<mixed> $params Params to be sent to the integration.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param string $formId Form ID.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * </span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @return array<mixed></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> */</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">function</span><span class="token plain"> </span><span class="token function-definition function" style="color:rgb(80, 250, 123)">getIntegrationPrePostId</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">string</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$itemId</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$params</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">string</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formId</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token keyword return-type" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$itemId</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h2>Pre-post parameters filter</h2><p>Allows modifying form field data before it's sent to <!-- -->external integration<!-- -->. Useful if you want to make values derived from the sent data, or add new fields.</p><div class="language-php codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-php codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token function" style="color:rgb(80, 250, 123)">add_filter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'es_forms_integrations_greenhouse_pre_post_params'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'getIntegrationPrePostParams'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">10</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)">/**</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * Modifies form field data before it's sent to external integration.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> *</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param array<string, mixed> $params Array of params.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param string $formId Form ID.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> *</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @return array<string, mixed></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> */</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">function</span><span class="token plain"> </span><span class="token function-definition function" style="color:rgb(80, 250, 123)">getIntegrationPrePostParams</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$params</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">string</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formId</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token keyword return-type" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formSubmissionPageLt</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$params</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'form_submission_page_lt'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'value'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">??</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">''</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">if</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formSubmissionPageLt</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$params</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'ib-submission-source'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'name'</span><span class="token plain"> </span><span class="token operator">=></span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'ib-submission-source'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'value'</span><span class="token plain"> </span><span class="token operator">=></span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formSubmissionPageLt</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'type'</span><span class="token plain"> </span><span class="token operator">=></span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'text'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'internalType'</span><span class="token plain"> </span><span class="token operator">=></span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">''</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$params</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/forms/php/filters/integrations/goodbits"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Goodbits</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/forms/php/filters/integrations/hubspot"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">HubSpot</div></a></nav></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/forms/php/filters/integrations/hubspot/index.html b/forms/php/filters/integrations/hubspot/index.html index 85d8a3fbf..fa9f4ef75 100644 --- a/forms/php/filters/integrations/hubspot/index.html +++ b/forms/php/filters/integrations/hubspot/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/active-campaign">ActiveCampaign</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/airtable">Airtable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/clearbit">Clearbit</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/goodbits">Goodbits</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/greenhouse">Greenhouse</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/integrations/hubspot">HubSpot</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/jira">Jira</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/mailchimp">Mailchimp</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/mailer">Mailer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/mailerlite">MailerLite</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/moments">Moments</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/workable">Workable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/pipedrive">Pipedrive</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Integrations</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">HubSpot</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>HubSpot</h1></header><h2 class="anchor anchorWithStickyNavbar_LWe7" id="files-options-filter">Files options filter<a href="#files-options-filter" class="hash-link" aria-label="Direct link to Files options filter" title="Direct link to Files options filter">​</a></h2> diff --git a/forms/php/filters/integrations/jira/index.html b/forms/php/filters/integrations/jira/index.html index 5a80b38e8..4c83c5222 100644 --- a/forms/php/filters/integrations/jira/index.html +++ b/forms/php/filters/integrations/jira/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/active-campaign">ActiveCampaign</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/airtable">Airtable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/clearbit">Clearbit</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/goodbits">Goodbits</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/greenhouse">Greenhouse</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/hubspot">HubSpot</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/integrations/jira">Jira</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/mailchimp">Mailchimp</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/mailer">Mailer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/mailerlite">MailerLite</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/moments">Moments</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/workable">Workable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/pipedrive">Pipedrive</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Integrations</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Jira</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Jira</h1></header><h2>Pre-post parameters filter</h2><p>Allows modifying form field data before it's sent to <!-- -->external integration<!-- -->. Useful if you want to make values derived from the sent data, or add new fields.</p><div class="language-php codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-php codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token function" style="color:rgb(80, 250, 123)">add_filter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'es_forms_integrations_jira_pre_post_params'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'getIntegrationPrePostParams'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">10</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)">/**</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * Modifies form field data before it's sent to external integration.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> *</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param array<string, mixed> $params Array of params.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param string $formId Form ID.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> *</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @return array<string, mixed></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> */</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">function</span><span class="token plain"> </span><span class="token function-definition function" style="color:rgb(80, 250, 123)">getIntegrationPrePostParams</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$params</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">string</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formId</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token keyword return-type" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formSubmissionPageLt</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$params</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'form_submission_page_lt'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'value'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">??</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">''</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">if</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formSubmissionPageLt</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$params</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'ib-submission-source'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'name'</span><span class="token plain"> </span><span class="token operator">=></span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'ib-submission-source'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'value'</span><span class="token plain"> </span><span class="token operator">=></span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formSubmissionPageLt</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'type'</span><span class="token plain"> </span><span class="token operator">=></span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'text'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'internalType'</span><span class="token plain"> </span><span class="token operator">=></span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">''</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$params</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/forms/php/filters/integrations/hubspot"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">HubSpot</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/forms/php/filters/integrations/mailchimp"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Mailchimp</div></a></nav></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/forms/php/filters/integrations/mailchimp/index.html b/forms/php/filters/integrations/mailchimp/index.html index d712c3dc6..7e2dba390 100644 --- a/forms/php/filters/integrations/mailchimp/index.html +++ b/forms/php/filters/integrations/mailchimp/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/active-campaign">ActiveCampaign</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/airtable">Airtable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/clearbit">Clearbit</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/goodbits">Goodbits</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/greenhouse">Greenhouse</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/hubspot">HubSpot</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/jira">Jira</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/integrations/mailchimp">Mailchimp</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/mailer">Mailer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/mailerlite">MailerLite</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/moments">Moments</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/workable">Workable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/pipedrive">Pipedrive</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Integrations</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Mailchimp</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Mailchimp</h1></header><h2>Data filter</h2><p>Allows modifying form field data before it's shown in the Block Editor or output on the frontend.</p><p>Useful if, for example, you want to ensure that all fields fit into a 2-column layout.</p><p>Overrides any Block Editor changes!</p><div class="language-php codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-php codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token function" style="color:rgb(80, 250, 123)">add_filter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'es_forms_integrations_mailchimp_data'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'getIntegrationFilterData'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">10</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)">/**</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * Manipulate form fields data before it is sent to the Block Editor.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> *</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param array<mixed> $data Form fields data.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param string $formId Form ID.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> *</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @return array<mixed></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> */</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">function</span><span class="token plain"> </span><span class="token function-definition function" style="color:rgb(80, 250, 123)">getIntegrationFilterData</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$data</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">string</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formId</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token keyword return-type" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">foreach</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$data</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">as</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$index</span><span class="token plain"> </span><span class="token operator">=></span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$field</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$field</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'component'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">??</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">''</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">if</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token operator">!</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">continue</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$name</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$field</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">"</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string double-quoted-string interpolation variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">Name"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">??</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">''</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">if</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token operator">!</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$name</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">continue</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">switch</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$name</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">case</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'firstname'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">case</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'lastname'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$data</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$index</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">"</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string double-quoted-string interpolation variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">FieldWidthMobile"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token number">12</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$data</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$index</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">"</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string double-quoted-string interpolation variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">FieldWidthLarge"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token number">6</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$data</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$index</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">"</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string double-quoted-string interpolation variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">DisabledOptions"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">array_merge</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$data</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$index</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">"</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string double-quoted-string interpolation variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">DisabledOptions"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">"</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string double-quoted-string interpolation variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">FieldWidthMobile"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">"</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string double-quoted-string interpolation variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">FieldWidthLarge"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">break</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$data</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h2>Order filter</h2><p>Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor.</p><p>Not all fields need to have an order defined. For example, you may want to make sure <code>firstname</code>, <code>lastname</code> and <code>email</code> are displayed first, but other fields follow their Block editor order.</p><div class="language-php codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-php codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token function" style="color:rgb(80, 250, 123)">add_filter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'es_forms_integrations_mailchimp_order'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'getIntegrationOrder'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)">/**</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * Forces form field order for the provided fields. For other fields, Block editor order is used.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> *</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @return array<string></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> */</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">function</span><span class="token plain"> </span><span class="token function-definition function" style="color:rgb(80, 250, 123)">getIntegrationOrder</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token keyword return-type" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'firstname'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'lastname'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'email'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h2>Pre-post ID filter</h2><p>Allows updating item IDs sent to external integrations to which the form data is sent.</p><div class="language-php codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-php codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token function" style="color:rgb(80, 250, 123)">add_filter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'es_forms_integrations_mailchimp_pre_post_id'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'getIntegrationPrePostId'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">10</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">3</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)">/**</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * Modifies integration item ID.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * </span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param string $itemId Integration item ID.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param array<mixed> $params Params to be sent to the integration.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param string $formId Form ID.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * </span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @return array<mixed></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> */</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">function</span><span class="token plain"> </span><span class="token function-definition function" style="color:rgb(80, 250, 123)">getIntegrationPrePostId</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">string</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$itemId</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$params</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">string</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formId</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token keyword return-type" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$itemId</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h2>Pre-post parameters filter</h2><p>Allows modifying form field data before it's sent to <!-- -->external integration<!-- -->. Useful if you want to make values derived from the sent data, or add new fields.</p><div class="language-php codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-php codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token function" style="color:rgb(80, 250, 123)">add_filter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'es_forms_integrations_mailchimp_pre_post_params'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'getIntegrationPrePostParams'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">10</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)">/**</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * Modifies form field data before it's sent to external integration.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> *</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param array<string, mixed> $params Array of params.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param string $formId Form ID.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> *</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @return array<string, mixed></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> */</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">function</span><span class="token plain"> </span><span class="token function-definition function" style="color:rgb(80, 250, 123)">getIntegrationPrePostParams</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$params</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">string</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formId</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token keyword return-type" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formSubmissionPageLt</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$params</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'form_submission_page_lt'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'value'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">??</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">''</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">if</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formSubmissionPageLt</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$params</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'ib-submission-source'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'name'</span><span class="token plain"> </span><span class="token operator">=></span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'ib-submission-source'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'value'</span><span class="token plain"> </span><span class="token operator">=></span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formSubmissionPageLt</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'type'</span><span class="token plain"> </span><span class="token operator">=></span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'text'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'internalType'</span><span class="token plain"> </span><span class="token operator">=></span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">''</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$params</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/forms/php/filters/integrations/jira"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Jira</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/forms/php/filters/integrations/mailer"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Mailer</div></a></nav></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/forms/php/filters/integrations/mailer/index.html b/forms/php/filters/integrations/mailer/index.html index d788596ef..17da2e684 100644 --- a/forms/php/filters/integrations/mailer/index.html +++ b/forms/php/filters/integrations/mailer/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/active-campaign">ActiveCampaign</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/airtable">Airtable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/clearbit">Clearbit</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/goodbits">Goodbits</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/greenhouse">Greenhouse</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/hubspot">HubSpot</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/jira">Jira</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/mailchimp">Mailchimp</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/integrations/mailer">Mailer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/mailerlite">MailerLite</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/moments">Moments</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/workable">Workable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/pipedrive">Pipedrive</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Integrations</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Mailer</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Mailer</h1></header><h2>Pre-post parameters filter</h2><p>Allows modifying form field data before it's sent to <!-- -->mailer system<!-- -->. Useful if you want to make values derived from the sent data, or add new fields.</p><div class="language-php codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-php codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token function" style="color:rgb(80, 250, 123)">add_filter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'es_forms_integrations_mailer_pre_post_params'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'getIntegrationPrePostParams'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">10</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)">/**</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * Modifies form field data before it's sent to mailer system.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> *</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param array<string, mixed> $params Array of params.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param string $formId Form ID.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> *</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @return array<string, mixed></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> */</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">function</span><span class="token plain"> </span><span class="token function-definition function" style="color:rgb(80, 250, 123)">getIntegrationPrePostParams</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$params</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">string</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formId</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token keyword return-type" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formSubmissionPageLt</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$params</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'form_submission_page_lt'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'value'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">??</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">''</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">if</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formSubmissionPageLt</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$params</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'ib-submission-source'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'name'</span><span class="token plain"> </span><span class="token operator">=></span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'ib-submission-source'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'value'</span><span class="token plain"> </span><span class="token operator">=></span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formSubmissionPageLt</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'type'</span><span class="token plain"> </span><span class="token operator">=></span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'text'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'internalType'</span><span class="token plain"> </span><span class="token operator">=></span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">''</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$params</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/forms/php/filters/integrations/mailchimp"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Mailchimp</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/forms/php/filters/integrations/mailerlite"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">MailerLite</div></a></nav></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/forms/php/filters/integrations/mailerlite/index.html b/forms/php/filters/integrations/mailerlite/index.html index e3af97ab6..351caf1bc 100644 --- a/forms/php/filters/integrations/mailerlite/index.html +++ b/forms/php/filters/integrations/mailerlite/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/active-campaign">ActiveCampaign</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/airtable">Airtable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/clearbit">Clearbit</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/goodbits">Goodbits</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/greenhouse">Greenhouse</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/hubspot">HubSpot</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/jira">Jira</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/mailchimp">Mailchimp</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/mailer">Mailer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/integrations/mailerlite">MailerLite</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/moments">Moments</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/workable">Workable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/pipedrive">Pipedrive</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Integrations</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">MailerLite</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>MailerLite</h1></header><h2>Data filter</h2><p>Allows modifying form field data before it's shown in the Block Editor or output on the frontend.</p><p>Useful if, for example, you want to ensure that all fields fit into a 2-column layout.</p><p>Overrides any Block Editor changes!</p><div class="language-php codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-php codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token function" style="color:rgb(80, 250, 123)">add_filter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'es_forms_integrations_mailerlite_data'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'getIntegrationFilterData'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">10</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)">/**</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * Manipulate form fields data before it is sent to the Block Editor.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> *</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param array<mixed> $data Form fields data.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param string $formId Form ID.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> *</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @return array<mixed></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> */</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">function</span><span class="token plain"> </span><span class="token function-definition function" style="color:rgb(80, 250, 123)">getIntegrationFilterData</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$data</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">string</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formId</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token keyword return-type" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">foreach</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$data</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">as</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$index</span><span class="token plain"> </span><span class="token operator">=></span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$field</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$field</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'component'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">??</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">''</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">if</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token operator">!</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">continue</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$name</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$field</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">"</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string double-quoted-string interpolation variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">Name"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">??</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">''</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">if</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token operator">!</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$name</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">continue</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">switch</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$name</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">case</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'firstname'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">case</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'lastname'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$data</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$index</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">"</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string double-quoted-string interpolation variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">FieldWidthMobile"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token number">12</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$data</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$index</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">"</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string double-quoted-string interpolation variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">FieldWidthLarge"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token number">6</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$data</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$index</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">"</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string double-quoted-string interpolation variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">DisabledOptions"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">array_merge</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$data</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$index</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">"</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string double-quoted-string interpolation variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">DisabledOptions"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">"</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string double-quoted-string interpolation variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">FieldWidthMobile"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">"</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string double-quoted-string interpolation variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">FieldWidthLarge"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">break</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$data</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h2>Order filter</h2><p>Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor.</p><p>Not all fields need to have an order defined. For example, you may want to make sure <code>firstname</code>, <code>lastname</code> and <code>email</code> are displayed first, but other fields follow their Block editor order.</p><div class="language-php codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-php codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token function" style="color:rgb(80, 250, 123)">add_filter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'es_forms_integrations_mailerlite_order'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'getIntegrationOrder'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)">/**</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * Forces form field order for the provided fields. For other fields, Block editor order is used.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> *</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @return array<string></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> */</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">function</span><span class="token plain"> </span><span class="token function-definition function" style="color:rgb(80, 250, 123)">getIntegrationOrder</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token keyword return-type" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'firstname'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'lastname'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'email'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h2>Pre-post ID filter</h2><p>Allows updating item IDs sent to external integrations to which the form data is sent.</p><div class="language-php codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-php codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token function" style="color:rgb(80, 250, 123)">add_filter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'es_forms_integrations_mailerlite_pre_post_id'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'getIntegrationPrePostId'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">10</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">3</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)">/**</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * Modifies integration item ID.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * </span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param string $itemId Integration item ID.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param array<mixed> $params Params to be sent to the integration.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param string $formId Form ID.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * </span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @return array<mixed></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> */</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">function</span><span class="token plain"> </span><span class="token function-definition function" style="color:rgb(80, 250, 123)">getIntegrationPrePostId</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">string</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$itemId</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$params</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">string</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formId</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token keyword return-type" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$itemId</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h2>Pre-post parameters filter</h2><p>Allows modifying form field data before it's sent to <!-- -->external integration<!-- -->. Useful if you want to make values derived from the sent data, or add new fields.</p><div class="language-php codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-php codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token function" style="color:rgb(80, 250, 123)">add_filter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'es_forms_integrations_mailerlite_pre_post_params'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'getIntegrationPrePostParams'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">10</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)">/**</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * Modifies form field data before it's sent to external integration.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> *</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param array<string, mixed> $params Array of params.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param string $formId Form ID.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> *</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @return array<string, mixed></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> */</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">function</span><span class="token plain"> </span><span class="token function-definition function" style="color:rgb(80, 250, 123)">getIntegrationPrePostParams</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$params</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">string</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formId</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token keyword return-type" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formSubmissionPageLt</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$params</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'form_submission_page_lt'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'value'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">??</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">''</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">if</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formSubmissionPageLt</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$params</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'ib-submission-source'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'name'</span><span class="token plain"> </span><span class="token operator">=></span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'ib-submission-source'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'value'</span><span class="token plain"> </span><span class="token operator">=></span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formSubmissionPageLt</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'type'</span><span class="token plain"> </span><span class="token operator">=></span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'text'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'internalType'</span><span class="token plain"> </span><span class="token operator">=></span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">''</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$params</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/forms/php/filters/integrations/mailer"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Mailer</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/forms/php/filters/integrations/moments"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Moments</div></a></nav></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/forms/php/filters/integrations/moments/index.html b/forms/php/filters/integrations/moments/index.html index c0e057927..867f2e4e7 100644 --- a/forms/php/filters/integrations/moments/index.html +++ b/forms/php/filters/integrations/moments/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/active-campaign">ActiveCampaign</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/airtable">Airtable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/clearbit">Clearbit</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/goodbits">Goodbits</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/greenhouse">Greenhouse</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/hubspot">HubSpot</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/jira">Jira</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/mailchimp">Mailchimp</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/mailer">Mailer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/mailerlite">MailerLite</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/integrations/moments">Moments</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/workable">Workable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/pipedrive">Pipedrive</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Integrations</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Moments</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Moments</h1></header><h2>Data filter</h2><p>Allows modifying form field data before it's shown in the Block Editor or output on the frontend.</p><p>Useful if, for example, you want to ensure that all fields fit into a 2-column layout.</p><p>Overrides any Block Editor changes!</p><div class="language-php codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-php codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token function" style="color:rgb(80, 250, 123)">add_filter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'es_forms_integrations_moments_data'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'getIntegrationFilterData'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">10</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)">/**</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * Manipulate form fields data before it is sent to the Block Editor.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> *</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param array<mixed> $data Form fields data.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param string $formId Form ID.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> *</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @return array<mixed></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> */</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">function</span><span class="token plain"> </span><span class="token function-definition function" style="color:rgb(80, 250, 123)">getIntegrationFilterData</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$data</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">string</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formId</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token keyword return-type" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">foreach</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$data</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">as</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$index</span><span class="token plain"> </span><span class="token operator">=></span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$field</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$field</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'component'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">??</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">''</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">if</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token operator">!</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">continue</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$name</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$field</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">"</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string double-quoted-string interpolation variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">Name"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">??</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">''</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">if</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token operator">!</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$name</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">continue</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">switch</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$name</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">case</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'firstname'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">case</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'lastname'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$data</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$index</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">"</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string double-quoted-string interpolation variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">FieldWidthMobile"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token number">12</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$data</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$index</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">"</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string double-quoted-string interpolation variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">FieldWidthLarge"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token number">6</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$data</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$index</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">"</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string double-quoted-string interpolation variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">DisabledOptions"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">array_merge</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$data</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$index</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">"</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string double-quoted-string interpolation variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">DisabledOptions"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">"</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string double-quoted-string interpolation variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">FieldWidthMobile"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">"</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string double-quoted-string interpolation variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">FieldWidthLarge"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">break</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$data</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h2>Order filter</h2><p>Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor.</p><p>Not all fields need to have an order defined. For example, you may want to make sure <code>firstname</code>, <code>lastname</code> and <code>email</code> are displayed first, but other fields follow their Block editor order.</p><div class="language-php codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-php codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token function" style="color:rgb(80, 250, 123)">add_filter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'es_forms_integrations_moments_order'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'getIntegrationOrder'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)">/**</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * Forces form field order for the provided fields. For other fields, Block editor order is used.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> *</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @return array<string></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> */</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">function</span><span class="token plain"> </span><span class="token function-definition function" style="color:rgb(80, 250, 123)">getIntegrationOrder</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token keyword return-type" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'firstname'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'lastname'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'email'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h2>Pre-post ID filter</h2><p>Allows updating item IDs sent to external integrations to which the form data is sent.</p><div class="language-php codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-php codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token function" style="color:rgb(80, 250, 123)">add_filter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'es_forms_integrations_moments_pre_post_id'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'getIntegrationPrePostId'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">10</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">3</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)">/**</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * Modifies integration item ID.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * </span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param string $itemId Integration item ID.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param array<mixed> $params Params to be sent to the integration.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param string $formId Form ID.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * </span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @return array<mixed></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> */</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">function</span><span class="token plain"> </span><span class="token function-definition function" style="color:rgb(80, 250, 123)">getIntegrationPrePostId</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">string</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$itemId</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$params</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">string</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formId</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token keyword return-type" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$itemId</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h2>Pre-post parameters filter</h2><p>Allows modifying form field data before it's sent to <!-- -->external integration<!-- -->. Useful if you want to make values derived from the sent data, or add new fields.</p><div class="language-php codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-php codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token function" style="color:rgb(80, 250, 123)">add_filter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'es_forms_integrations_moments_pre_post_params'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'getIntegrationPrePostParams'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">10</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)">/**</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * Modifies form field data before it's sent to external integration.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> *</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param array<string, mixed> $params Array of params.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param string $formId Form ID.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> *</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @return array<string, mixed></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> */</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">function</span><span class="token plain"> </span><span class="token function-definition function" style="color:rgb(80, 250, 123)">getIntegrationPrePostParams</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$params</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">string</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formId</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token keyword return-type" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formSubmissionPageLt</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$params</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'form_submission_page_lt'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'value'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">??</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">''</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">if</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formSubmissionPageLt</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$params</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'ib-submission-source'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'name'</span><span class="token plain"> </span><span class="token operator">=></span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'ib-submission-source'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'value'</span><span class="token plain"> </span><span class="token operator">=></span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formSubmissionPageLt</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'type'</span><span class="token plain"> </span><span class="token operator">=></span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'text'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'internalType'</span><span class="token plain"> </span><span class="token operator">=></span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">''</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$params</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> diff --git a/forms/php/filters/integrations/pipedrive/index.html b/forms/php/filters/integrations/pipedrive/index.html index 02cc7b87e..c7819a93d 100644 --- a/forms/php/filters/integrations/pipedrive/index.html +++ b/forms/php/filters/integrations/pipedrive/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/active-campaign">ActiveCampaign</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/airtable">Airtable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/clearbit">Clearbit</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/goodbits">Goodbits</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/greenhouse">Greenhouse</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/hubspot">HubSpot</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/jira">Jira</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/mailchimp">Mailchimp</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/mailer">Mailer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/mailerlite">MailerLite</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/moments">Moments</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/workable">Workable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/integrations/pipedrive">Pipedrive</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Integrations</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Pipedrive</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Pipedrive</h1></header><h2>Pre-post parameters filter</h2><p>Allows modifying form field data before it's sent to <!-- -->external integration<!-- -->. Useful if you want to make values derived from the sent data, or add new fields.</p><div class="language-php codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-php codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token function" style="color:rgb(80, 250, 123)">add_filter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'es_forms_integrations_pipedrive_pre_post_params'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'getIntegrationPrePostParams'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">10</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)">/**</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * Modifies form field data before it's sent to external integration.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> *</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param array<string, mixed> $params Array of params.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param string $formId Form ID.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> *</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @return array<string, mixed></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> */</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">function</span><span class="token plain"> </span><span class="token function-definition function" style="color:rgb(80, 250, 123)">getIntegrationPrePostParams</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$params</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">string</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formId</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token keyword return-type" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formSubmissionPageLt</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$params</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'form_submission_page_lt'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'value'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">??</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">''</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">if</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formSubmissionPageLt</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$params</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'ib-submission-source'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'name'</span><span class="token plain"> </span><span class="token operator">=></span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'ib-submission-source'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'value'</span><span class="token plain"> </span><span class="token operator">=></span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formSubmissionPageLt</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'type'</span><span class="token plain"> </span><span class="token operator">=></span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'text'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'internalType'</span><span class="token plain"> </span><span class="token operator">=></span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">''</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$params</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/forms/php/filters/integrations/workable"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Workable</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/forms/php/filters/entries/pre-post-params"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Pre-Post Params</div></a></nav></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/forms/php/filters/integrations/workable/index.html b/forms/php/filters/integrations/workable/index.html index e66078f59..0914ee747 100644 --- a/forms/php/filters/integrations/workable/index.html +++ b/forms/php/filters/integrations/workable/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/active-campaign">ActiveCampaign</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/airtable">Airtable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/clearbit">Clearbit</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/goodbits">Goodbits</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/greenhouse">Greenhouse</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/hubspot">HubSpot</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/jira">Jira</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/mailchimp">Mailchimp</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/mailer">Mailer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/mailerlite">MailerLite</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/moments">Moments</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/integrations/workable">Workable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/integrations/pipedrive">Pipedrive</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Integrations</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Workable</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Workable</h1></header><h2>Data filter</h2><p>Allows modifying form field data before it's shown in the Block Editor or output on the frontend.</p><p>Useful if, for example, you want to ensure that all fields fit into a 2-column layout.</p><p>Overrides any Block Editor changes!</p><div class="language-php codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-php codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token function" style="color:rgb(80, 250, 123)">add_filter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'es_forms_integrations_workable_data'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'getIntegrationFilterData'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">10</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)">/**</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * Manipulate form fields data before it is sent to the Block Editor.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> *</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param array<mixed> $data Form fields data.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param string $formId Form ID.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> *</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @return array<mixed></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> */</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">function</span><span class="token plain"> </span><span class="token function-definition function" style="color:rgb(80, 250, 123)">getIntegrationFilterData</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$data</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">string</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formId</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token keyword return-type" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">foreach</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$data</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">as</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$index</span><span class="token plain"> </span><span class="token operator">=></span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$field</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$field</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'component'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">??</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">''</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">if</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token operator">!</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">continue</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$name</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$field</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">"</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string double-quoted-string interpolation variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">Name"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">??</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">''</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">if</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token operator">!</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$name</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">continue</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">switch</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$name</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">case</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'firstname'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">case</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'lastname'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$data</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$index</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">"</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string double-quoted-string interpolation variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">FieldWidthMobile"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token number">12</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$data</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$index</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">"</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string double-quoted-string interpolation variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">FieldWidthLarge"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token number">6</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$data</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$index</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">"</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string double-quoted-string interpolation variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">DisabledOptions"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">array_merge</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$data</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$index</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">"</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string double-quoted-string interpolation variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">DisabledOptions"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">"</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string double-quoted-string interpolation variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">FieldWidthMobile"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">"</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string double-quoted-string interpolation variable" style="color:rgb(189, 147, 249);font-style:italic">$component</span><span class="token string double-quoted-string interpolation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string double-quoted-string" style="color:rgb(255, 121, 198)">FieldWidthLarge"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">break</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$data</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h2>Order filter</h2><p>Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor.</p><p>Not all fields need to have an order defined. For example, you may want to make sure <code>firstname</code>, <code>lastname</code> and <code>email</code> are displayed first, but other fields follow their Block editor order.</p><div class="language-php codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-php codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token function" style="color:rgb(80, 250, 123)">add_filter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'es_forms_integrations_workable_order'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'getIntegrationOrder'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)">/**</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * Forces form field order for the provided fields. For other fields, Block editor order is used.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> *</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @return array<string></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> */</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">function</span><span class="token plain"> </span><span class="token function-definition function" style="color:rgb(80, 250, 123)">getIntegrationOrder</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token keyword return-type" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'firstname'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'lastname'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'email'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h2>Pre-post ID filter</h2><p>Allows updating item IDs sent to external integrations to which the form data is sent.</p><div class="language-php codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-php codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token function" style="color:rgb(80, 250, 123)">add_filter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'es_forms_integrations_workable_pre_post_id'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'getIntegrationPrePostId'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">10</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">3</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)">/**</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * Modifies integration item ID.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * </span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param string $itemId Integration item ID.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param array<mixed> $params Params to be sent to the integration.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param string $formId Form ID.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * </span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @return array<mixed></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> */</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">function</span><span class="token plain"> </span><span class="token function-definition function" style="color:rgb(80, 250, 123)">getIntegrationPrePostId</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">string</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$itemId</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$params</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">string</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formId</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token keyword return-type" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$itemId</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h2>Pre-post parameters filter</h2><p>Allows modifying form field data before it's sent to <!-- -->external integration<!-- -->. Useful if you want to make values derived from the sent data, or add new fields.</p><div class="language-php codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-php codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token function" style="color:rgb(80, 250, 123)">add_filter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'es_forms_integrations_workable_pre_post_params'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'getIntegrationPrePostParams'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">10</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)">/**</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * Modifies form field data before it's sent to external integration.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> *</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param array<string, mixed> $params Array of params.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @param string $formId Form ID.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> *</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> * @return array<string, mixed></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"> */</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">function</span><span class="token plain"> </span><span class="token function-definition function" style="color:rgb(80, 250, 123)">getIntegrationPrePostParams</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$params</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token keyword type-hint" style="color:rgb(189, 147, 249);font-style:italic">string</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formId</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token keyword return-type" style="color:rgb(189, 147, 249);font-style:italic">array</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formSubmissionPageLt</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$params</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'form_submission_page_lt'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'value'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">??</span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">''</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">if</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formSubmissionPageLt</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$params</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'ib-submission-source'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'name'</span><span class="token plain"> </span><span class="token operator">=></span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'ib-submission-source'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'value'</span><span class="token plain"> </span><span class="token operator">=></span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$formSubmissionPageLt</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'type'</span><span class="token plain"> </span><span class="token operator">=></span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'text'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">'internalType'</span><span class="token plain"> </span><span class="token operator">=></span><span class="token plain"> </span><span class="token string single-quoted-string" style="color:rgb(255, 121, 198)">''</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$params</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/forms/php/filters/integrations/moments"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Moments</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/forms/php/filters/integrations/pipedrive"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Pipedrive</div></a></nav></div></div></div></div></main></div></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/forms/php/filters/scripts/dependency-admin/index.html b/forms/php/filters/scripts/dependency-admin/index.html index 3a8fdf588..f7f4f1da8 100644 --- a/forms/php/filters/scripts/dependency-admin/index.html +++ b/forms/php/filters/scripts/dependency-admin/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Dependency admin</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/scripts/dependency-theme">Dependency theme</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/scripts/dependency-blocks-editor">Dependency blocks editor</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/scripts/dependency-blocks-frontend">Dependency blocks frontend</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/scripts/routes-public">Routes public</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/scripts/routes-private">Routes private</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Scripts</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Dependency admin</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Dependency admin</h1></header><p>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).</p> diff --git a/forms/php/filters/scripts/dependency-blocks-editor/index.html b/forms/php/filters/scripts/dependency-blocks-editor/index.html index a1f3278b7..4a3c0cabd 100644 --- a/forms/php/filters/scripts/dependency-blocks-editor/index.html +++ b/forms/php/filters/scripts/dependency-blocks-editor/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Dependency admin</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/scripts/dependency-theme">Dependency theme</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/scripts/dependency-blocks-editor">Dependency blocks editor</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/scripts/dependency-blocks-frontend">Dependency blocks frontend</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/scripts/routes-public">Routes public</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/scripts/routes-private">Routes private</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Scripts</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Dependency blocks editor</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Dependency blocks editor</h1></header><p>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).</p> diff --git a/forms/php/filters/scripts/dependency-blocks-frontend/index.html b/forms/php/filters/scripts/dependency-blocks-frontend/index.html index 1f2694a13..274169a01 100644 --- a/forms/php/filters/scripts/dependency-blocks-frontend/index.html +++ b/forms/php/filters/scripts/dependency-blocks-frontend/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Dependency admin</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/scripts/dependency-theme">Dependency theme</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/scripts/dependency-blocks-editor">Dependency blocks editor</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/scripts/dependency-blocks-frontend">Dependency blocks frontend</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/scripts/routes-public">Routes public</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/scripts/routes-private">Routes private</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Scripts</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Dependency blocks frontend</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Dependency blocks frontend</h1></header><p>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).</p> diff --git a/forms/php/filters/scripts/dependency-theme/index.html b/forms/php/filters/scripts/dependency-theme/index.html index 4e591fd85..d043dace0 100644 --- a/forms/php/filters/scripts/dependency-theme/index.html +++ b/forms/php/filters/scripts/dependency-theme/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Dependency admin</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/scripts/dependency-theme">Dependency theme</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/scripts/dependency-blocks-editor">Dependency blocks editor</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/scripts/dependency-blocks-frontend">Dependency blocks frontend</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/scripts/routes-public">Routes public</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/scripts/routes-private">Routes private</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Scripts</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Dependency theme</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Dependency theme</h1></header><p>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).</p> diff --git a/forms/php/filters/scripts/routes-private/index.html b/forms/php/filters/scripts/routes-private/index.html index 2cb67e9d7..fbfb8a048 100644 --- a/forms/php/filters/scripts/routes-private/index.html +++ b/forms/php/filters/scripts/routes-private/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Dependency admin</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/scripts/dependency-theme">Dependency theme</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/scripts/dependency-blocks-editor">Dependency blocks editor</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/scripts/dependency-blocks-frontend">Dependency blocks frontend</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/scripts/routes-public">Routes public</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/scripts/routes-private">Routes private</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Scripts</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Routes private</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Routes private</h1></header><p>Allows adding custom routes to the private routes list, available from the Forms global window object.</p> diff --git a/forms/php/filters/scripts/routes-public/index.html b/forms/php/filters/scripts/routes-public/index.html index dd5c880b2..20b8c3c8f 100644 --- a/forms/php/filters/scripts/routes-public/index.html +++ b/forms/php/filters/scripts/routes-public/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Dependency admin</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/scripts/dependency-theme">Dependency theme</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/scripts/dependency-blocks-editor">Dependency blocks editor</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/scripts/dependency-blocks-frontend">Dependency blocks frontend</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/scripts/routes-public">Routes public</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/scripts/routes-private">Routes private</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Scripts</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Routes public</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Routes public</h1></header><p>Allows adding custom routes to the public routes list, available from the Forms global window object.</p> diff --git a/forms/php/filters/validation/force-mimetype-from-fs/index.html b/forms/php/filters/validation/force-mimetype-from-fs/index.html index a3da7c5f4..dc98c874f 100644 --- a/forms/php/filters/validation/force-mimetype-from-fs/index.html +++ b/forms/php/filters/validation/force-mimetype-from-fs/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/filters/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/block/forms/style-options">Block</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/blocks/allowed-blocks">Blocks</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/general/http-request-timeout">General</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/scripts/dependency-admin">Scripts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/geolocation/db-location">Geolocation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/integrations/active-campaign">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/entries/pre-post-params">Entries</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/enrichment/manual-map">Enrichment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Validation</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/filters/validation/force-mimetype-from-fs">Force mimetype from FS</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/admin/settings-data">Admin</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Filters</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Validation</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Force mimetype from FS</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Force mimetype from FS</h1></header><p>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.</p> diff --git a/forms/php/global-variables/geolocation/index.html b/forms/php/global-variables/geolocation/index.html index b48ddd0bd..1fb3ad022 100644 --- a/forms/php/global-variables/geolocation/index.html +++ b/forms/php/global-variables/geolocation/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/global-variables/geolocation">Geolocation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/google-recaptcha">Google reCaptcha</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/integrations/active-campaign">Integrations</a></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Global variables</span><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Geolocation</span><meta itemprop="position" content="4"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Geolocation</h1></header><h3 class="anchor anchorWithStickyNavbar_LWe7" id="es_geolocation_ip">ES_GEOLOCATION_IP<a href="#es_geolocation_ip" class="hash-link" aria-label="Direct link to ES_GEOLOCATION_IP" title="Direct link to ES_GEOLOCATION_IP">​</a></h3> diff --git a/forms/php/global-variables/google-recaptcha/index.html b/forms/php/global-variables/google-recaptcha/index.html index 06de84150..298dcc1c2 100644 --- a/forms/php/global-variables/google-recaptcha/index.html +++ b/forms/php/global-variables/google-recaptcha/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/geolocation">Geolocation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/global-variables/google-recaptcha">Google reCaptcha</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/integrations/active-campaign">Integrations</a></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Global variables</span><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Google reCaptcha</span><meta itemprop="position" content="4"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Google reCaptcha</h1></header><h3 class="anchor anchorWithStickyNavbar_LWe7" id="es_google_recaptcha_site_key">ES_GOOGLE_RECAPTCHA_SITE_KEY<a href="#es_google_recaptcha_site_key" class="hash-link" aria-label="Direct link to ES_GOOGLE_RECAPTCHA_SITE_KEY" title="Direct link to ES_GOOGLE_RECAPTCHA_SITE_KEY">​</a></h3> diff --git a/forms/php/global-variables/how-to-use/index.html b/forms/php/global-variables/how-to-use/index.html index f8446d961..1c59ef2dc 100644 --- a/forms/php/global-variables/how-to-use/index.html +++ b/forms/php/global-variables/how-to-use/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/global-variables/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/geolocation">Geolocation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/google-recaptcha">Google reCaptcha</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/integrations/active-campaign">Integrations</a></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Global variables</span><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">How to use?</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>How to use?</h1></header><p>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.</p> diff --git a/forms/php/global-variables/integrations/active-campaign/index.html b/forms/php/global-variables/integrations/active-campaign/index.html index 714643700..25310739e 100644 --- a/forms/php/global-variables/integrations/active-campaign/index.html +++ b/forms/php/global-variables/integrations/active-campaign/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/geolocation">Geolocation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/google-recaptcha">Google reCaptcha</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/global-variables/integrations/active-campaign">Integrations</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/global-variables/integrations/active-campaign">Active Campaign</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/airtable">Airtable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/clearbit">Clearbit</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/goodbits">Goodbits</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/greenhouse">Greenhouse</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/hubspot">Hubspot</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/jira">Jira</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/mailchimp">Mailchimp</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/mailerlite">MailerLite</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/moments">Moments</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/workable">Workable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/pipedrive">Pipedrive</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Global variables</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Integrations</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Active Campaign</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Active Campaign</h1></header><h3 class="anchor anchorWithStickyNavbar_LWe7" id="es_api_key_active_campaign">ES_API_KEY_ACTIVE_CAMPAIGN<a href="#es_api_key_active_campaign" class="hash-link" aria-label="Direct link to ES_API_KEY_ACTIVE_CAMPAIGN" title="Direct link to ES_API_KEY_ACTIVE_CAMPAIGN">​</a></h3> diff --git a/forms/php/global-variables/integrations/airtable/index.html b/forms/php/global-variables/integrations/airtable/index.html index 8e2fb0aeb..803de6712 100644 --- a/forms/php/global-variables/integrations/airtable/index.html +++ b/forms/php/global-variables/integrations/airtable/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/geolocation">Geolocation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/google-recaptcha">Google reCaptcha</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/global-variables/integrations/active-campaign">Integrations</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/active-campaign">Active Campaign</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/global-variables/integrations/airtable">Airtable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/clearbit">Clearbit</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/goodbits">Goodbits</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/greenhouse">Greenhouse</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/hubspot">Hubspot</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/jira">Jira</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/mailchimp">Mailchimp</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/mailerlite">MailerLite</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/moments">Moments</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/workable">Workable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/pipedrive">Pipedrive</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Global variables</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Integrations</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Airtable</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Airtable</h1></header><h3 class="anchor anchorWithStickyNavbar_LWe7" id="es_api_key_airtable">ES_API_KEY_AIRTABLE<a href="#es_api_key_airtable" class="hash-link" aria-label="Direct link to ES_API_KEY_AIRTABLE" title="Direct link to ES_API_KEY_AIRTABLE">​</a></h3> diff --git a/forms/php/global-variables/integrations/clearbit/index.html b/forms/php/global-variables/integrations/clearbit/index.html index a7090205f..1f0f605a1 100644 --- a/forms/php/global-variables/integrations/clearbit/index.html +++ b/forms/php/global-variables/integrations/clearbit/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/geolocation">Geolocation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/google-recaptcha">Google reCaptcha</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/global-variables/integrations/active-campaign">Integrations</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/active-campaign">Active Campaign</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/airtable">Airtable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/global-variables/integrations/clearbit">Clearbit</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/goodbits">Goodbits</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/greenhouse">Greenhouse</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/hubspot">Hubspot</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/jira">Jira</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/mailchimp">Mailchimp</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/mailerlite">MailerLite</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/moments">Moments</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/workable">Workable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/pipedrive">Pipedrive</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Global variables</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Integrations</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Clearbit</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Clearbit</h1></header><h3 class="anchor anchorWithStickyNavbar_LWe7" id="es_api_key_clearbit">ES_API_KEY_CLEARBIT<a href="#es_api_key_clearbit" class="hash-link" aria-label="Direct link to ES_API_KEY_CLEARBIT" title="Direct link to ES_API_KEY_CLEARBIT">​</a></h3> diff --git a/forms/php/global-variables/integrations/goodbits/index.html b/forms/php/global-variables/integrations/goodbits/index.html index 44913a831..01660ed3a 100644 --- a/forms/php/global-variables/integrations/goodbits/index.html +++ b/forms/php/global-variables/integrations/goodbits/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/geolocation">Geolocation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/google-recaptcha">Google reCaptcha</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/global-variables/integrations/active-campaign">Integrations</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/active-campaign">Active Campaign</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/airtable">Airtable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/clearbit">Clearbit</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/global-variables/integrations/goodbits">Goodbits</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/greenhouse">Greenhouse</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/hubspot">Hubspot</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/jira">Jira</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/mailchimp">Mailchimp</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/mailerlite">MailerLite</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/moments">Moments</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/workable">Workable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/pipedrive">Pipedrive</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Global variables</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Integrations</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Goodbits</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Goodbits</h1></header><h3 class="anchor anchorWithStickyNavbar_LWe7" id="es_api_key_goodbits">ES_API_KEY_GOODBITS<a href="#es_api_key_goodbits" class="hash-link" aria-label="Direct link to ES_API_KEY_GOODBITS" title="Direct link to ES_API_KEY_GOODBITS">​</a></h3> diff --git a/forms/php/global-variables/integrations/greenhouse/index.html b/forms/php/global-variables/integrations/greenhouse/index.html index de42eb927..ba3b8cfc5 100644 --- a/forms/php/global-variables/integrations/greenhouse/index.html +++ b/forms/php/global-variables/integrations/greenhouse/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/geolocation">Geolocation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/google-recaptcha">Google reCaptcha</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/global-variables/integrations/active-campaign">Integrations</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/active-campaign">Active Campaign</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/airtable">Airtable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/clearbit">Clearbit</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/goodbits">Goodbits</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/global-variables/integrations/greenhouse">Greenhouse</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/hubspot">Hubspot</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/jira">Jira</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/mailchimp">Mailchimp</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/mailerlite">MailerLite</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/moments">Moments</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/workable">Workable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/pipedrive">Pipedrive</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Global variables</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Integrations</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Greenhouse</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Greenhouse</h1></header><h3 class="anchor anchorWithStickyNavbar_LWe7" id="es_api_key_greenhouse">ES_API_KEY_GREENHOUSE<a href="#es_api_key_greenhouse" class="hash-link" aria-label="Direct link to ES_API_KEY_GREENHOUSE" title="Direct link to ES_API_KEY_GREENHOUSE">​</a></h3> diff --git a/forms/php/global-variables/integrations/hubspot/index.html b/forms/php/global-variables/integrations/hubspot/index.html index b30791227..1a22eba99 100644 --- a/forms/php/global-variables/integrations/hubspot/index.html +++ b/forms/php/global-variables/integrations/hubspot/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/geolocation">Geolocation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/google-recaptcha">Google reCaptcha</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/global-variables/integrations/active-campaign">Integrations</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/active-campaign">Active Campaign</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/airtable">Airtable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/clearbit">Clearbit</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/goodbits">Goodbits</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/greenhouse">Greenhouse</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/global-variables/integrations/hubspot">Hubspot</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/jira">Jira</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/mailchimp">Mailchimp</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/mailerlite">MailerLite</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/moments">Moments</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/workable">Workable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/pipedrive">Pipedrive</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Global variables</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Integrations</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Hubspot</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Hubspot</h1></header><h3 class="anchor anchorWithStickyNavbar_LWe7" id="es_api_key_hubspot">ES_API_KEY_HUBSPOT<a href="#es_api_key_hubspot" class="hash-link" aria-label="Direct link to ES_API_KEY_HUBSPOT" title="Direct link to ES_API_KEY_HUBSPOT">​</a></h3> diff --git a/forms/php/global-variables/integrations/jira/index.html b/forms/php/global-variables/integrations/jira/index.html index c303f8b30..f9eb4b178 100644 --- a/forms/php/global-variables/integrations/jira/index.html +++ b/forms/php/global-variables/integrations/jira/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/geolocation">Geolocation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/google-recaptcha">Google reCaptcha</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/global-variables/integrations/active-campaign">Integrations</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/active-campaign">Active Campaign</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/airtable">Airtable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/clearbit">Clearbit</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/goodbits">Goodbits</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/greenhouse">Greenhouse</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/hubspot">Hubspot</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/global-variables/integrations/jira">Jira</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/mailchimp">Mailchimp</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/mailerlite">MailerLite</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/moments">Moments</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/workable">Workable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/pipedrive">Pipedrive</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Global variables</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Integrations</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Jira</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Jira</h1></header><h3 class="anchor anchorWithStickyNavbar_LWe7" id="es_api_key_jira">ES_API_KEY_JIRA<a href="#es_api_key_jira" class="hash-link" aria-label="Direct link to ES_API_KEY_JIRA" title="Direct link to ES_API_KEY_JIRA">​</a></h3> diff --git a/forms/php/global-variables/integrations/mailchimp/index.html b/forms/php/global-variables/integrations/mailchimp/index.html index 263231106..9ff7d7acf 100644 --- a/forms/php/global-variables/integrations/mailchimp/index.html +++ b/forms/php/global-variables/integrations/mailchimp/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/geolocation">Geolocation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/google-recaptcha">Google reCaptcha</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/global-variables/integrations/active-campaign">Integrations</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/active-campaign">Active Campaign</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/airtable">Airtable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/clearbit">Clearbit</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/goodbits">Goodbits</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/greenhouse">Greenhouse</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/hubspot">Hubspot</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/jira">Jira</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/global-variables/integrations/mailchimp">Mailchimp</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/mailerlite">MailerLite</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/moments">Moments</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/workable">Workable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/pipedrive">Pipedrive</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Global variables</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Integrations</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Mailchimp</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Mailchimp</h1></header><h3 class="anchor anchorWithStickyNavbar_LWe7" id="es_api_key_mailchimp">ES_API_KEY_MAILCHIMP<a href="#es_api_key_mailchimp" class="hash-link" aria-label="Direct link to ES_API_KEY_MAILCHIMP" title="Direct link to ES_API_KEY_MAILCHIMP">​</a></h3> diff --git a/forms/php/global-variables/integrations/mailerlite/index.html b/forms/php/global-variables/integrations/mailerlite/index.html index d11ad6efd..8ed818d94 100644 --- a/forms/php/global-variables/integrations/mailerlite/index.html +++ b/forms/php/global-variables/integrations/mailerlite/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/geolocation">Geolocation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/google-recaptcha">Google reCaptcha</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/global-variables/integrations/active-campaign">Integrations</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/active-campaign">Active Campaign</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/airtable">Airtable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/clearbit">Clearbit</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/goodbits">Goodbits</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/greenhouse">Greenhouse</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/hubspot">Hubspot</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/jira">Jira</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/mailchimp">Mailchimp</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/global-variables/integrations/mailerlite">MailerLite</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/moments">Moments</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/workable">Workable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/pipedrive">Pipedrive</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Global variables</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Integrations</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">MailerLite</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>MailerLite</h1></header><h3 class="anchor anchorWithStickyNavbar_LWe7" id="es_api_key_mailerlite">ES_API_KEY_MAILERLITE<a href="#es_api_key_mailerlite" class="hash-link" aria-label="Direct link to ES_API_KEY_MAILERLITE" title="Direct link to ES_API_KEY_MAILERLITE">​</a></h3> diff --git a/forms/php/global-variables/integrations/moments/index.html b/forms/php/global-variables/integrations/moments/index.html index b85cedd74..82b2bc030 100644 --- a/forms/php/global-variables/integrations/moments/index.html +++ b/forms/php/global-variables/integrations/moments/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/geolocation">Geolocation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/google-recaptcha">Google reCaptcha</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/global-variables/integrations/active-campaign">Integrations</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/active-campaign">Active Campaign</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/airtable">Airtable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/clearbit">Clearbit</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/goodbits">Goodbits</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/greenhouse">Greenhouse</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/hubspot">Hubspot</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/jira">Jira</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/mailchimp">Mailchimp</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/mailerlite">MailerLite</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/global-variables/integrations/moments">Moments</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/workable">Workable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/pipedrive">Pipedrive</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Global variables</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Integrations</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Moments</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Moments</h1></header><h3 class="anchor anchorWithStickyNavbar_LWe7" id="es_api_key_moments">ES_API_KEY_MOMENTS<a href="#es_api_key_moments" class="hash-link" aria-label="Direct link to ES_API_KEY_MOMENTS" title="Direct link to ES_API_KEY_MOMENTS">​</a></h3> diff --git a/forms/php/global-variables/integrations/pipedrive/index.html b/forms/php/global-variables/integrations/pipedrive/index.html index 8c1da0f8c..0f83def8e 100644 --- a/forms/php/global-variables/integrations/pipedrive/index.html +++ b/forms/php/global-variables/integrations/pipedrive/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/geolocation">Geolocation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/google-recaptcha">Google reCaptcha</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/global-variables/integrations/active-campaign">Integrations</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/active-campaign">Active Campaign</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/airtable">Airtable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/clearbit">Clearbit</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/goodbits">Goodbits</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/greenhouse">Greenhouse</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/hubspot">Hubspot</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/jira">Jira</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/mailchimp">Mailchimp</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/mailerlite">MailerLite</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/moments">Moments</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/workable">Workable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/global-variables/integrations/pipedrive">Pipedrive</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Global variables</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Integrations</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Pipedrive</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Pipedrive</h1></header><h3 class="anchor anchorWithStickyNavbar_LWe7" id="es_api_key_pipedrive">ES_API_KEY_PIPEDRIVE<a href="#es_api_key_pipedrive" class="hash-link" aria-label="Direct link to ES_API_KEY_PIPEDRIVE" title="Direct link to ES_API_KEY_PIPEDRIVE">​</a></h3> diff --git a/forms/php/global-variables/integrations/workable/index.html b/forms/php/global-variables/integrations/workable/index.html index 8f3041588..7d8469c33 100644 --- a/forms/php/global-variables/integrations/workable/index.html +++ b/forms/php/global-variables/integrations/workable/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/how-to-use">How to use?</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/geolocation">Geolocation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/google-recaptcha">Google reCaptcha</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/global-variables/integrations/active-campaign">Integrations</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/active-campaign">Active Campaign</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/airtable">Airtable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/clearbit">Clearbit</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/goodbits">Goodbits</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/greenhouse">Greenhouse</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/hubspot">Hubspot</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/jira">Jira</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/mailchimp">Mailchimp</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/mailerlite">MailerLite</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/moments">Moments</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/global-variables/integrations/workable">Workable</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/global-variables/integrations/pipedrive">Pipedrive</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Global variables</span><meta itemprop="position" content="3"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Integrations</span><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Workable</span><meta itemprop="position" content="5"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Workable</h1></header><h3 class="anchor anchorWithStickyNavbar_LWe7" id="es_api_key_workable">ES_API_KEY_WORKABLE<a href="#es_api_key_workable" class="hash-link" aria-label="Direct link to ES_API_KEY_WORKABLE" title="Direct link to ES_API_KEY_WORKABLE">​</a></h3> diff --git a/forms/php/helpers/index.html b/forms/php/helpers/index.html index f87157383..27e8aa902 100644 --- a/forms/php/helpers/index.html +++ b/forms/php/helpers/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Helpers</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Helpers</h1></header><p>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.</p> diff --git a/forms/php/intro/index.html b/forms/php/intro/index.html index 89a9d4d5e..ab184da37 100644 --- a/forms/php/intro/index.html +++ b/forms/php/intro/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Intro</span><meta itemprop="position" content="3"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Intro</h1></header><p>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.</p> diff --git a/forms/php/wp-cli/index.html b/forms/php/wp-cli/index.html index b84901047..bffd317c4 100644 --- a/forms/php/wp-cli/index.html +++ b/forms/php/wp-cli/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/php/intro">Customization</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/forms/php/intro">PHP</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/intro">Intro</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/global-variables/how-to-use">Global variables</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/php/helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/php/wp-cli">WP-CLI</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/filters/how-to-use">Filters</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/php/actions/how-to-use">Actions</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/javascript/intro">JavaScript</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Customization</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">PHP</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">WP-CLI</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>WP-CLI</h1></header><h2 class="anchor anchorWithStickyNavbar_LWe7" id="what-is-wp-cli">What is WP-CLI?<a href="#what-is-wp-cli" class="hash-link" aria-label="Direct link to What is WP-CLI?" title="Direct link to What is WP-CLI?">​</a></h2> diff --git a/forms/tutorials/playlist/index.html b/forms/tutorials/playlist/index.html index d12d7757e..7948e2d2f 100644 --- a/forms/tutorials/playlist/index.html +++ b/forms/tutorials/playlist/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/welcome">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/php/intro">Customization</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/tutorials/playlist">Tutorials</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/tutorials/playlist">Playlist</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Tutorials</span><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Playlist</span><meta itemprop="position" content="2"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Playlist</h1></header><p>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!</p> diff --git a/forms/welcome/index.html b/forms/welcome/index.html index b95679fa7..36531ff7a 100644 --- a/forms/welcome/index.html +++ b/forms/welcome/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/forms/welcome">Getting Started</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/forms/welcome">Welcome</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/basics">Basics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/first-form">Your first form</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/features/dashboard">Features</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/forms/integrations/intro">Integrations</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/forms/known-issues">Known issues</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/php/intro">Customization</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/tutorials/playlist">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/forms/addons/intro">Addon plugins</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Getting Started</span><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Welcome</span><meta itemprop="position" content="2"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Welcome</h1></header><p>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.</p> diff --git a/index.html b/index.html index 7586c1735..5d0a626a1 100644 --- a/index.html +++ b/index.html @@ -14,9 +14,9 @@ <link rel="search" type="application/opensearchdescription+xml" title="Eightshift Development kit" href="/opensearch.xml"> -<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.9e44150b.css"> -<script src="/assets/js/runtime~main.f4757c83.js" defer="defer"></script> -<script src="/assets/js/main.f78c3430.js" defer="defer"></script> +<script src="https://buttons.github.io/buttons.js" async defer="defer"></script><link rel="stylesheet" href="/assets/css/styles.1a21bc9c.css"> +<script src="/assets/js/runtime~main.23d3248b.js" defer="defer"></script> +<script src="/assets/js/main.fc6966bc.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Eightshift DevKit Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/welcome">DevKit</a><a class="navbar__item navbar__link" href="/forms/welcome">Forms</a><a class="navbar__item navbar__link" href="/storybook/">Storybook</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><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" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0 es-footer-white"><div class="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 bg-grey-100 desktop:pb-36"><div class="space-y-5"><h1 class="text-h2 font-display font-bold max-w-[15ch]">Eightshift Development Kit</h1><p class="text-16 max-w-sm">All the tools you need to start building a modern WordPress project, using all the latest front end development tools.</p><button class="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"><span class="group-hover:translate-x-3 group-focus:translate-x-3 transition duration-500">Get started</span><svg class="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"><path d="M.5 8h14M9.234 2.725l5.978 5.979m-5.978 4.57 5.978-5.978" stroke="currentColor" stroke-width="2" fill="none"></path></svg></button></div><img class="w-full mb-5 desktop:mb-0" src="/img/homepage/w-logo.svg"></div><div class="desktop:grid desktop:grid-cols-12 gap-gutter px-side-padding p-side-padding pt-0 desktop:pb-36 items-center bg-grey-100"><img class="col-start-1 col-span-5 w-full" src="/img/homepage/block-cards.svg"><div class="col-start-7 col-span-6 max-w-lg desktop:max-w-xl"><h1 class="text-h3 font-bold font-display mb-5">A WordPress boilerplate from the future</h1><span class="text-18">Eightshift Development kit makes building complex WordPress themes and plugins painless.<br> <br>Use and extend our block and component collection to build out dynamic Gutenberg blocks. Extract commonly-used UI elements into reusable components. Forget about block registration and save callbacks. Build a REST route in minutes.<br> <br>You'll never want to go back!</span></div></div><div id="get-started"><div class="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"><div class="col-start-1 col-span-3 row-start-1 row-span-full mb-10 desktop:mb-0 max-w-xl"><h3 class="text-36 font-bold mb-4 desktop:mb-1">Get started in minutes, not hours</h3><p class="text-16">Boilerplate your project in a few simple steps. Get instructions for setting up an Eightshift DevKit theme or plugin, run a command (or two) and start coding. It's that easy!</p></div><div class="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"><div><div class="w-20 h-20 bg-infinum text-white rounded-full flex items-center justify-center mb-5"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" width="48" height="48" fill="none" class="w-20 h-20"><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"></path><path d="m28 22 4.621 4.621L28 31.243M23 22l-4.5 4.5L23 31" stroke="currentColor" stroke-width="2" stroke-miterlimit="10" fill="none"></path><path d="M35.917 13H11v22h26V13h-1.083Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" fill="none"></path></svg></div><h4 class="text-h3 font-bold font-display mb-10 max-w-prose-mini">I want a new WordPress theme</h4><a class="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" href="/docs/theme"><span class="group-hover:translate-x-3 group-focus:translate-x-3 transition duration-500">New theme</span><svg class="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"><path d="M.5 8h14M9.234 2.725l5.978 5.979m-5.978 4.57 5.978-5.978" stroke="currentColor" stroke-width="2" fill="none"></path></svg></a></div><div><div class="w-20 h-20 bg-infinum text-white rounded-full flex items-center justify-center mb-5"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" width="48" height="48" fill="none" class="w-20 h-20"><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" stroke-width="2" stroke-linecap="round" fill="none"></path></svg></div><h4 class="text-h3 font-bold font-display mb-10 max-w-prose-mini">I want a new WordPress plugin</h4><a class="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" href="/docs/plugin"><span class="group-hover:translate-x-3 group-focus:translate-x-3 transition duration-500">New plugin</span><svg class="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"><path d="M.5 8h14M9.234 2.725l5.978 5.979m-5.978 4.57 5.978-5.978" stroke="currentColor" stroke-width="2" fill="none"></path></svg></a></div></div></div></div><div class="gap-gutter px-side-padding p-side-padding py-10 desktop:py-24 desktop:grid desktop:grid-cols-12 desktop:auto-rows-auto"><div class="col-start-1 col-span-3 row-start-1 row-span-full mb-10 desktop:mb-0 max-w-xl"><h3 class="text-36 font-bold mb-4 desktop:mb-1">Batteries included</h3><p class="text-16">The DevKit is feature-packed, with a bunch of cool things making the lives of developers and end-users easier!</p></div><div class="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"><div><h4 class="text-24 font-bold mb-1.5">Custom Block Editor blocks</h4><p class="text-16">Build a dynamic block faster than you can say Gutenberg. With automatic block registration and top-notch attribute handling, you'll be shipping blocks in record time.</p></div><div><h4 class="text-24 font-bold mb-1.5">Sustainable, like code should be</h4><p class="text-16">All our code follows battle-tested programming practices. OOP? Check. Unit tests? Double-check. Code doc blocks, linters for coding standards and great documentation? Triple-check.</p></div><div><h4 class="text-24 font-bold mb-1.5">Eightshift Libs</h4><p class="text-16">Library aimed at bringing the modern development tools to your project.</p></div><div><h4 class="text-24 font-bold mb-1.5">WP Boilerplate</h4><p class="text-16">Include features you need, and leave out the ones you don't using our powerful WP-CLI tooling.</p></div><div><h4 class="text-24 font-bold mb-1.5">As responsive as it can get</h4><p class="text-16">Declare breakpoints once, use them everywhere — from media queries to blocks. Override any attribute value for particular breakpoints without breaking a sweat. Need to tweak that width for tablets? Done.</p></div><div><h4 class="text-24 font-bold mb-1.5">A build process to love</h4><p class="text-16">Eightshift Development kit comes with Webpack pre-configured, so you can start building your JavaScript and CSS assets from the start. Vendor prefixes? Polyfills? SCSS compilation? Asset minification? All taken care of!</p></div><div><h4 class="text-24 font-bold mb-1.5">First-class CSS variables</h4><p class="text-16">Forget about conditional classnames: build out CSS variables from attribute values and scope them to a particular block with almost no code.</p></div><div><h4 class="text-24 font-bold mb-1.5">Cache busting</h4><p class="text-16">Each time you build assets, we generate a new URL for each asset file. This means you'll never see the old cached version while developing or after pushing your code to production.</p></div><div><h4 class="text-24 font-bold mb-1.5">OOP: The good way to write PHP code</h4><p class="text-16">Object-oriented programming is at the core of Eightshift Development kit, making your projects cleaner and allowing you to extend and replace functionality.</p></div><div><h4 class="text-24 font-bold mb-1.5">Eightshift Frontend Libs</h4><p class="text-16">A collection of useful front-end utility modules and all the tools you need to start building modern Block Editor dynamic blocks.</p></div></div></div><div class="desktop:grid desktop:grid-cols-12 gap-gutter px-side-padding p-side-padding desktop:py-20 bg-grey-100"><div class="col-start-9 col-span-4 mb-10 desktop:mb-0 max-w-lg desktop:max-w-full row-start-1"><h1 class="text-h3 font-bold font-display mb-5">An editing experience content editors will love</h1><span class="text-18">Provide the ease of use and flexibility that your content editors crave for. Rely on our user-friendly default blocks or use plug&play editor components to build great experiences.</span></div><img class="col-start-1 col-span-6 row-start-1 w-full" src="/img/homepage/block-editor.webp"></div><div class="px-side-padding py-10 desktop:py-24"><h3 class="text-h3 font-bold font-display mb-4 desktop:mb-20">Start exploring</h3><div class="-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"><a class="hover:no-underline hover:text-infinum w-64 desktop:w-auto" href="https://github.com/infinum/eightshift-boilerplate"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80" width="80" height="80" fill="none" class="text-infinum w-20 h-20 -mx-2"><g clip-path="url(#6242c987-27ea-4f6e-8ebc-c4c779f67374)"><path d="M67 13H13v54h54V13Z" stroke="#D92327" stroke-width="4" stroke-miterlimit="10" stroke-linecap="square" fill="none"></path><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"></path><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" stroke-width="4" stroke-miterlimit="10" stroke-linecap="square" fill="none"></path><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" stroke-width="4" stroke-miterlimit="10" fill="none"></path></g><defs><clipPath id="6242c987-27ea-4f6e-8ebc-c4c779f67374"><path fill="#fff" d="M11 11h58v58H11z"></path></clipPath></defs></svg><h4 class="text-24 font-bold">Eightshift Boilerplate</h4></a><a class="hover:no-underline hover:text-infinum w-64 desktop:w-auto" href="https://github.com/infinum/eightshift-boilerplate-plugin"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80" width="80" height="80" fill="none" class="text-infinum w-20 h-20 -mx-2"><g clip-path="url(#6242c987-27ea-4f6e-8ebc-c4c779f67374)"><path d="M67 13H13v54h54V13Z" stroke="#D92327" stroke-width="4" stroke-miterlimit="10" stroke-linecap="square" fill="none"></path><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"></path><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" stroke-width="4" stroke-miterlimit="10" stroke-linecap="square" fill="none"></path><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" stroke-width="4" stroke-miterlimit="10" fill="none"></path></g><defs><clipPath id="6242c987-27ea-4f6e-8ebc-c4c779f67374"><path fill="#fff" d="M11 11h58v58H11z"></path></clipPath></defs></svg><h4 class="text-24 font-bold">Eightshift Boilerplate Plugin</h4></a><a class="hover:no-underline hover:text-infinum w-64 desktop:w-auto" href="https://github.com/infinum/eightshift-libs"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80" width="80" height="80" fill="none" class="text-infinum w-20 h-20 -mx-2"><g clip-path="url(#6483b84f-b870-4980-baac-7fbb0ef69e71)" stroke="#D92327" stroke-width="4" stroke-miterlimit="10"><path d="M44.43 14v15.36h15.35" stroke-linecap="square" fill="none"></path><path d="M61 67H19V13h26.81L61 28.43V67Z" stroke-linecap="square" fill="none"></path><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" stroke-linecap="square" fill="none"></path><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" stroke-linecap="square" fill="none"></path><path d="M30.96 45.59C25.5 43.67 19 39 19 29" fill="none"></path></g><defs><clipPath id="6483b84f-b870-4980-baac-7fbb0ef69e71"><path fill="#fff" d="M17 11h46v58H17z"></path></clipPath></defs></svg><h4 class="text-24 font-bold">Eightshift Libs</h4></a><a class="hover:no-underline hover:text-infinum w-64 desktop:w-auto" href="https://github.com/infinum/eightshift-frontend-libs"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80" width="80" height="80" fill="none" class="text-infinum w-20 h-20 -mx-2"><g clip-path="url(#d52dd685-4b43-4f14-83c7-7f9f9c5e6138)" stroke="#D92327" stroke-width="4" stroke-miterlimit="10" stroke-linecap="square"><path d="M41.11 14v15.36h15.35" fill="none"></path><path d="M57.46 59.89v6.86H16V13h26.11l15.35 15.36v15" fill="none"></path><path d="M63.68 44h-33v15h33V44Z" fill="none"></path></g><defs><clipPath id="d52dd685-4b43-4f14-83c7-7f9f9c5e6138"><path fill="#fff" d="M14 11h51.68v57.75H14z"></path></clipPath></defs></svg><h4 class="text-24 font-bold">Eightshift Frontend Libs</h4></a><a class="hover:no-underline hover:text-infinum w-64 desktop:w-auto" href="https://github.com/infinum/eightshift-forms"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80" width="80" height="80" fill="none" class="text-infinum w-20 h-20 -mx-2"><g clip-path="url(#b212a30b-8a5c-4319-844a-5cc0a5b35d11)" stroke="#D92327" stroke-width="4" stroke-miterlimit="10"><path d="M57 28H23v22h34V28Z" stroke-linecap="square" fill="none"></path><path d="M33 35v10" fill="none"></path><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" stroke-linecap="square" fill="none"></path></g><defs><clipPath id="b212a30b-8a5c-4319-844a-5cc0a5b35d11"><path fill="#fff" d="M13 13h54v54H13z"></path></clipPath></defs></svg><h4 class="text-24 font-bold">Eightshift Forms</h4></a><a class="hover:no-underline hover:text-infinum w-64 desktop:w-auto" href="https://github.com/infinum/eightshift-docs"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80" width="80" height="80" fill="none" class="text-infinum w-20 h-20 -mx-2"><g clip-path="url(#74116306-3519-4f7a-bb59-c558ed93b8b5)" stroke="#D92327" stroke-width="4" stroke-miterlimit="10"><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" stroke-linecap="square" fill="none"></path><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" stroke-linecap="square" fill="none"></path><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"></path></g><defs><clipPath id="74116306-3519-4f7a-bb59-c558ed93b8b5"><path fill="#fff" d="M9 12h61.41v55.22H9z"></path></clipPath></defs></svg><h4 class="text-24 font-bold">Eightshift Docs</h4></a><a class="hover:no-underline hover:text-infinum w-64 desktop:w-auto" href="https://github.com/infinum/eightshift-storybook"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80" width="80" height="80" fill="none" class="text-infinum w-20 h-20 -mx-2"><path d="M17 21v46h42a4 4 0 0 0 4-4V18" stroke="currentColor" stroke-width="4" stroke-miterlimit="10" fill="none"></path><path d="M20 12h37.5a5.5 5.5 0 1 1 0 11h-7M17 23h19.5" stroke="currentColor" stroke-width="4" stroke-miterlimit="10" fill="none"></path><path d="M36 20h15v29l-7.5-5-7.5 5V20Z" stroke="currentColor" stroke-width="4" stroke-miterlimit="10" fill="none"></path></svg><h4 class="text-24 font-bold">Eightshift Storybook</h4></a><a class="hover:no-underline hover:text-infinum w-64 desktop:w-auto" href="https://github.com/infinum/eightshift-coding-standards"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80" width="80" height="80" fill="none" class="text-infinum w-20 h-20 -mx-2"><g clip-path="url(#c541bc7a-6ebf-4be7-aa73-0a1fe1b59ca1)" stroke="#D92327" stroke-width="4" stroke-miterlimit="10"><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"></path><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"></path><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"></path><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"></path></g><defs><clipPath id="c541bc7a-6ebf-4be7-aa73-0a1fe1b59ca1"><path fill="#fff" d="M7 11h65.22v57.56H7z"></path></clipPath></defs></svg><h4 class="text-24 font-bold">Eightshift Coding Standards for WordPress</h4></a></div></div><div class="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"><div class="mb-10 desktop:mb-0 text-center desktop:text-left flex flex-col items-center desktop:block max-w-xl"><h3 class="text-h3 font-bold font-display mb-4 desktop:mb-10">Find more libraries, tools, and design assets free for everyone to use.</h3><a class="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" href="https://infinum.com/open-source" rel="noopener noreferrer" target="_blank"><span class="group-hover:translate-x-3 group-focus:translate-x-3 transition duration-500">Open-source freebies</span><svg class="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"><path d="M.5 8h14M9.234 2.725l5.978 5.979m-5.978 4.57 5.978-5.978" stroke="currentColor" stroke-width="2" fill="none"></path></svg></a></div><img class="w-full" src="/img/homepage/infinum-open-source.svg"></div></div><div class="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"><a href="https://infinum.com"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 18" width="200" height="18" fill="none"><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"></path><path clip-rule="evenodd" fill-rule="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"></path></svg></a><span class="text-14">Made with ❤️ by Infinum team.</span><div class="flex gap-2"><a href="https://facebook.com/infinumcom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://instagram.com/infinumcom/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://twitter.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path></svg></a><a href="https://clutch.co/profile/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><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"></path><circle cx="12.362" cy="11.7211" r="3.18451" fill="currentColor"></circle></svg></a><a href="https://dribbble.com/infinum"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a><a href="https://linkedin.com/company/infinum/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path clip-rule="evenodd" fill-rule="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"></path></svg></a></div></div></div> diff --git a/sass/index.html b/sass/index.html deleted file mode 100644 index 9c5388786..000000000 --- a/sass/index.html +++ /dev/null @@ -1,24 +0,0 @@ -<!doctype html> -<html lang="en" dir="ltr" class="plugin-pages plugin-id-default" data-has-hydrated="false"> -<head> -<meta charset="UTF-8"> -<meta name="generator" content="Docusaurus v3.1.1"> -<title data-rh="true">SCSS | Eightshift Development kit - - - - - - - - - - - - - - - -
- - \ No newline at end of file diff --git a/search/index.html b/search/index.html index 4a7a96ecf..44d41f401 100644 --- a/search/index.html +++ b/search/index.html @@ -14,9 +14,9 @@ - - - + + +

Search the documentation

diff --git a/showcase-infinum/index.html b/showcase-infinum/index.html index 602422324..bb174ea03 100644 --- a/showcase-infinum/index.html +++ b/showcase-infinum/index.html @@ -14,11 +14,11 @@ - - - + + + -

Infinum showcase

See all the awesome websites built by Infinum's WordPress team.

Infinum Academy

Infinum Academy

Learn how to build apps. For free. No practical experience? No problem. People who build apps every day are teaching how to create software from scratch. By the end of the course, you will have built your very own app.

Productive

Productive

Productive is a one-stop shop for agencies of all types and sizes. Start now and get a strong grip on operations and profitability.

UK Safer Internet Centre

UK Safer Internet Centre

Welcome to the UK Safer Internet Centre, where you can find online safety tips, advice and resources to help children and young people stay safe online.

Infinum Learn

Infinum Learn

Courses that will make your onboarding and work at Infinum as easy as possible.

Biller

Biller

Let's make buying easier, by empowering your business buyers to use Buy Now, Pay Later. Add Biller to your checkout and watch your conversion increase.

Greenwich Village

Greenwich Village

The Village Alliance has been a leading advocate for the Greenwich Village community for nearly thirty years.

Immunicom

Immunicom

Immunicom’s Immunopheresis™ is designed to empower patients to best live their lives while receiving revolutionary cancer treatment.

Malta Go

Malta Go

GO is Malta’s leading communications services company. As the first quad play provider in Malta we provide mobile, fixed line, internet and TV services to more than 500,000 customers.

Solplanet

Solplanet

The power of the sun is the future of our planet. Solplanet makes solar for everybody. Easy-to-install, reliable and user-friendly inverters.

Raise The Bar

Raise The Bar

Coca-Cola HBC is helps to align the skills and knowledge in tourism and hospitality through Raise the Bar education program.

VCFA

VCFA

Learn with accomplished teachers and artistic colleagues from around the world. You’ll create new work, refine your vision, and enhance your critical and creative skills.

HAK Revija

HAK Revija

HAK news portal.

Infinum Web

Infinum Web

An independent design and development agency with offices in the US and Europe. We create beautiful apps people love to use.

Crveni nosovi

Crveni nosovi

Our mission is to restore the feeling of joy, happiness and optimism in difficult life circumstances.

Lynx

Lynx

LYNX is a 2m³ vacuum road sweeper exceeding expectations. Modern design, functionality, power and ease of use for clean streets.

DEPT®

DEPT®

Pioneering tech and marketing to help brands stay ahead.

Tarisio

Tarisio

Tarisio is a web-based auction house specializing in stringed instruments and bows. Its online auctions provide a global marketplace for fine violin sales.

Rasco

Rasco

One of the leading manufacturers of municipal equipment in Europe: we produce snow ploughs (snowplow), spreaders, crane mowers and vehicle upgrades.

D66

D66

Democrats 66 is a social-liberal political party in the Netherlands. Its name originates from the year in which it was founded.

Cormeum App

Cormeum App

Heart failure management just got easier. The Cormeum app helps heart failure patients and their providers track what’s important.

Infobip

Infobip

Croatian IT and telecommunications company, offering omnichannel communications, contact center, chatbot, customer engagement, and customer data platforms as well as identity and security.

T2 auctions

T2 auctions

Auctions for the Violin Trade.

Tvornica Snova

Tvornica Snova

Personalized books will allow each child to become the protagonist of their own story.

Let's get in touch

Contact us
+

Infinum showcase

See all the awesome websites built by Infinum's WordPress team.

Lynx

Lynx

LYNX is a 2m³ vacuum road sweeper exceeding expectations. Modern design, functionality, power and ease of use for clean streets.

Solplanet

Solplanet

The power of the sun is the future of our planet. Solplanet makes solar for everybody. Easy-to-install, reliable and user-friendly inverters.

Tvornica Snova

Tvornica Snova

Personalized books will allow each child to become the protagonist of their own story.

Biller

Biller

Let's make buying easier, by empowering your business buyers to use Buy Now, Pay Later. Add Biller to your checkout and watch your conversion increase.

Cormeum App

Cormeum App

Heart failure management just got easier. The Cormeum app helps heart failure patients and their providers track what’s important.

Rasco

Rasco

One of the leading manufacturers of municipal equipment in Europe: we produce snow ploughs (snowplow), spreaders, crane mowers and vehicle upgrades.

Infinum Web

Infinum Web

An independent design and development agency with offices in the US and Europe. We create beautiful apps people love to use.

Infinum Learn

Infinum Learn

Courses that will make your onboarding and work at Infinum as easy as possible.

Raise The Bar

Raise The Bar

Coca-Cola HBC is helps to align the skills and knowledge in tourism and hospitality through Raise the Bar education program.

Malta Go

Malta Go

GO is Malta’s leading communications services company. As the first quad play provider in Malta we provide mobile, fixed line, internet and TV services to more than 500,000 customers.

UK Safer Internet Centre

UK Safer Internet Centre

Welcome to the UK Safer Internet Centre, where you can find online safety tips, advice and resources to help children and young people stay safe online.

Productive

Productive

Productive is a one-stop shop for agencies of all types and sizes. Start now and get a strong grip on operations and profitability.

Greenwich Village

Greenwich Village

The Village Alliance has been a leading advocate for the Greenwich Village community for nearly thirty years.

Infinum Academy

Infinum Academy

Learn how to build apps. For free. No practical experience? No problem. People who build apps every day are teaching how to create software from scratch. By the end of the course, you will have built your very own app.

VCFA

VCFA

Learn with accomplished teachers and artistic colleagues from around the world. You’ll create new work, refine your vision, and enhance your critical and creative skills.

Immunicom

Immunicom

Immunicom’s Immunopheresis™ is designed to empower patients to best live their lives while receiving revolutionary cancer treatment.

HAK Revija

HAK Revija

HAK news portal.

Infobip

Infobip

Croatian IT and telecommunications company, offering omnichannel communications, contact center, chatbot, customer engagement, and customer data platforms as well as identity and security.

T2 auctions

T2 auctions

Auctions for the Violin Trade.

DEPT®

DEPT®

Pioneering tech and marketing to help brands stay ahead.

Crveni nosovi

Crveni nosovi

Our mission is to restore the feeling of joy, happiness and optimism in difficult life circumstances.

Tarisio

Tarisio

Tarisio is a web-based auction house specializing in stringed instruments and bows. Its online auctions provide a global marketplace for fine violin sales.

D66

D66

Democrats 66 is a social-liberal political party in the Netherlands. Its name originates from the year in which it was founded.

Let's get in touch

Contact us
\ No newline at end of file diff --git a/showcase/index.html b/showcase/index.html index 31ab1a690..d89019bf8 100644 --- a/showcase/index.html +++ b/showcase/index.html @@ -14,11 +14,11 @@ - - - + + + -

Showcase

See the awesome websites people are building with Eightshift Boilerplate.

DEPT®

DEPT®

Pioneering tech and marketing to help brands stay ahead.

Immunicom

Immunicom

Immunicom’s Immunopheresis™ is designed to empower patients to best live their lives while receiving revolutionary cancer treatment.

Cormeum App

Cormeum App

Heart failure management just got easier. The Cormeum app helps heart failure patients and their providers track what’s important.

Infinum Learn

Infinum Learn

Courses that will make your onboarding and work at Infinum as easy as possible.

D66

D66

Democrats 66 is a social-liberal political party in the Netherlands. Its name originates from the year in which it was founded.

Infobip

Infobip

Croatian IT and telecommunications company, offering omnichannel communications, contact center, chatbot, customer engagement, and customer data platforms as well as identity and security.

Greenwich Village

Greenwich Village

The Village Alliance has been a leading advocate for the Greenwich Village community for nearly thirty years.

Solplanet

Solplanet

The power of the sun is the future of our planet. Solplanet makes solar for everybody. Easy-to-install, reliable and user-friendly inverters.

Tvornica Snova

Tvornica Snova

Personalized books will allow each child to become the protagonist of their own story.

Infinum Web

Infinum Web

An independent design and development agency with offices in the US and Europe. We create beautiful apps people love to use.

Raise The Bar

Raise The Bar

Coca-Cola HBC is helps to align the skills and knowledge in tourism and hospitality through Raise the Bar education program.

Infinum Academy

Infinum Academy

Learn how to build apps. For free. No practical experience? No problem. People who build apps every day are teaching how to create software from scratch. By the end of the course, you will have built your very own app.

Productive

Productive

Productive is a one-stop shop for agencies of all types and sizes. Start now and get a strong grip on operations and profitability.

Biller

Biller

Let's make buying easier, by empowering your business buyers to use Buy Now, Pay Later. Add Biller to your checkout and watch your conversion increase.

UK Safer Internet Centre

UK Safer Internet Centre

Welcome to the UK Safer Internet Centre, where you can find online safety tips, advice and resources to help children and young people stay safe online.

Want to add your
project to the list?

Open an issue on GitHub
+

Showcase

See the awesome websites people are building with Eightshift Boilerplate.

DEPT®

DEPT®

Pioneering tech and marketing to help brands stay ahead.

Infinum Learn

Infinum Learn

Courses that will make your onboarding and work at Infinum as easy as possible.

Solplanet

Solplanet

The power of the sun is the future of our planet. Solplanet makes solar for everybody. Easy-to-install, reliable and user-friendly inverters.

Infinum Web

Infinum Web

An independent design and development agency with offices in the US and Europe. We create beautiful apps people love to use.

D66

D66

Democrats 66 is a social-liberal political party in the Netherlands. Its name originates from the year in which it was founded.

Greenwich Village

Greenwich Village

The Village Alliance has been a leading advocate for the Greenwich Village community for nearly thirty years.

Biller

Biller

Let's make buying easier, by empowering your business buyers to use Buy Now, Pay Later. Add Biller to your checkout and watch your conversion increase.

Cormeum App

Cormeum App

Heart failure management just got easier. The Cormeum app helps heart failure patients and their providers track what’s important.

Infobip

Infobip

Croatian IT and telecommunications company, offering omnichannel communications, contact center, chatbot, customer engagement, and customer data platforms as well as identity and security.

Productive

Productive

Productive is a one-stop shop for agencies of all types and sizes. Start now and get a strong grip on operations and profitability.

Immunicom

Immunicom

Immunicom’s Immunopheresis™ is designed to empower patients to best live their lives while receiving revolutionary cancer treatment.

Raise The Bar

Raise The Bar

Coca-Cola HBC is helps to align the skills and knowledge in tourism and hospitality through Raise the Bar education program.

Infinum Academy

Infinum Academy

Learn how to build apps. For free. No practical experience? No problem. People who build apps every day are teaching how to create software from scratch. By the end of the course, you will have built your very own app.

Tvornica Snova

Tvornica Snova

Personalized books will allow each child to become the protagonist of their own story.

UK Safer Internet Centre

UK Safer Internet Centre

Welcome to the UK Safer Internet Centre, where you can find online safety tips, advice and resources to help children and young people stay safe online.

Want to add your
project to the list?

Open an issue on GitHub
\ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml index f7786f3cd..d96504a13 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1 +1 @@ -https://eightshift.com/blogweekly0.5https://eightshift.com/blog/acf-in-a-projectweekly0.5https://eightshift.com/blog/adding-blocks-wpcliweekly0.5https://eightshift.com/blog/adding-fontsweekly0.5https://eightshift.com/blog/archiveweekly0.5https://eightshift.com/blog/block-patternsweekly0.5https://eightshift.com/blog/block-variationsweekly0.5https://eightshift.com/blog/components-and-blocksweekly0.5https://eightshift.com/blog/initial-setupweekly0.5https://eightshift.com/blog/making-your-project-multilingualweekly0.5https://eightshift.com/blog/modifying-blocks-color-themeweekly0.5https://eightshift.com/blog/multiple-same-componentsweekly0.5https://eightshift.com/blog/page/2weekly0.5https://eightshift.com/blog/tagsweekly0.5https://eightshift.com/blog/tags/acfweekly0.5https://eightshift.com/blog/tags/advanced-custom-fieldsweekly0.5https://eightshift.com/blog/tags/assetsweekly0.5https://eightshift.com/blog/tags/blockweekly0.5https://eightshift.com/blog/tags/blocksweekly0.5https://eightshift.com/blog/tags/boilerplateweekly0.5https://eightshift.com/blog/tags/boilerplate/page/2weekly0.5https://eightshift.com/blog/tags/classweekly0.5https://eightshift.com/blog/tags/componentsweekly0.5https://eightshift.com/blog/tags/cptweekly0.5https://eightshift.com/blog/tags/custom-post-typeweekly0.5https://eightshift.com/blog/tags/eightshiftweekly0.5https://eightshift.com/blog/tags/eightshift/page/2weekly0.5https://eightshift.com/blog/tags/fontsweekly0.5https://eightshift.com/blog/tags/i-18-nweekly0.5https://eightshift.com/blog/tags/iconsweekly0.5https://eightshift.com/blog/tags/imagesweekly0.5https://eightshift.com/blog/tags/multilingualweekly0.5https://eightshift.com/blog/tags/patternsweekly0.5https://eightshift.com/blog/tags/queryweekly0.5https://eightshift.com/blog/tags/serviceweekly0.5https://eightshift.com/blog/tags/setupweekly0.5https://eightshift.com/blog/tags/taxonomiesweekly0.5https://eightshift.com/blog/tags/taxonomyweekly0.5https://eightshift.com/blog/tags/termsweekly0.5https://eightshift.com/blog/tags/theme-optionsweekly0.5https://eightshift.com/blog/tags/variationsweekly0.5https://eightshift.com/blog/tags/wpcliweekly0.5https://eightshift.com/blog/tags/wrapperweekly0.5https://eightshift.com/blog/using-assetsweekly0.5https://eightshift.com/blog/using-cpts-and-taxonomiesweekly0.5https://eightshift.com/blog/working-with-custom-queriesweekly0.5https://eightshift.com/blog/wrapper-as-a-standalone-componentweekly0.5https://eightshift.com/sassweekly0.5https://eightshift.com/searchweekly0.5https://eightshift.com/showcaseweekly0.5https://eightshift.com/showcase-infinumweekly0.5https://eightshift.com/storybookweekly0.5https://eightshift.com/docs/additional-libraries/boilerplateweekly0.5https://eightshift.com/docs/additional-libraries/boilerplate-pluginweekly0.5https://eightshift.com/docs/additional-libraries/coding-standardsweekly0.5https://eightshift.com/docs/additional-libraries/docsweekly0.5https://eightshift.com/docs/additional-libraries/formsweekly0.5https://eightshift.com/docs/additional-libraries/frontend-libsweekly0.5https://eightshift.com/docs/additional-libraries/libsweekly0.5https://eightshift.com/docs/additional-libraries/storybookweekly0.5https://eightshift.com/docs/additional-libraries/stubsweekly0.5https://eightshift.com/docs/basics/architecture-conceptsweekly0.5https://eightshift.com/docs/basics/autowiringweekly0.5https://eightshift.com/docs/basics/backendweekly0.5https://eightshift.com/docs/basics/basics-introweekly0.5https://eightshift.com/docs/basics/block-manifestweekly0.5https://eightshift.com/docs/basics/block-structureweekly0.5https://eightshift.com/docs/basics/blocksweekly0.5https://eightshift.com/docs/basics/blocks-attributesweekly0.5https://eightshift.com/docs/basics/blocks-component-in-blockweekly0.5https://eightshift.com/docs/basics/blocks-component-manifestweekly0.5https://eightshift.com/docs/basics/blocks-component-structureweekly0.5https://eightshift.com/docs/basics/blocks-faqweekly0.5https://eightshift.com/docs/basics/blocks-global-manifestweekly0.5https://eightshift.com/docs/basics/blocks-hooksweekly0.5https://eightshift.com/docs/basics/blocks-importantweekly0.5https://eightshift.com/docs/basics/blocks-patternsweekly0.5https://eightshift.com/docs/basics/blocks-registrationweekly0.5https://eightshift.com/docs/basics/blocks-reusableweekly0.5https://eightshift.com/docs/basics/blocks-special-use-casesweekly0.5https://eightshift.com/docs/basics/blocks-storybookweekly0.5https://eightshift.com/docs/basics/blocks-structureweekly0.5https://eightshift.com/docs/basics/blocks-stylesweekly0.5https://eightshift.com/docs/basics/blocks-transformsweekly0.5https://eightshift.com/docs/basics/blocks-variationsweekly0.5https://eightshift.com/docs/basics/blocks-wrapperweekly0.5https://eightshift.com/docs/basics/browser-syncweekly0.5https://eightshift.com/docs/basics/dynamic-importweekly0.5https://eightshift.com/docs/basics/example-classweekly0.5https://eightshift.com/docs/basics/extending-classesweekly0.5https://eightshift.com/docs/basics/fontsweekly0.5https://eightshift.com/docs/basics/frontendweekly0.5https://eightshift.com/docs/basics/global-settingsweekly0.5https://eightshift.com/docs/basics/helpersweekly0.5https://eightshift.com/docs/basics/helpers-javascriptweekly0.5https://eightshift.com/docs/basics/helpers-phpweekly0.5https://eightshift.com/docs/basics/helpers-scssweekly0.5https://eightshift.com/docs/basics/libraryweekly0.5https://eightshift.com/docs/basics/manifestweekly0.5https://eightshift.com/docs/basics/namespacesweekly0.5https://eightshift.com/docs/basics/restweekly0.5https://eightshift.com/docs/basics/rest-fieldweekly0.5https://eightshift.com/docs/basics/rest-routeweekly0.5https://eightshift.com/docs/basics/tips-tricksweekly0.5https://eightshift.com/docs/basics/webpackweekly0.5https://eightshift.com/docs/basics/wp-cliweekly0.5https://eightshift.com/docs/basics/writing-stylesweekly0.5https://eightshift.com/docs/crash-course/introweekly0.5https://eightshift.com/docs/eightshift-frontend-libsweekly0.5https://eightshift.com/docs/eightshift-libsweekly0.5https://eightshift.com/docs/legacy/v4/advanced/browsersyncweekly0.5https://eightshift.com/docs/legacy/v4/advanced/components-color-paletteweekly0.5https://eightshift.com/docs/legacy/v4/advanced/components-heading-levelweekly0.5https://eightshift.com/docs/legacy/v4/advanced/docs-sassweekly0.5https://eightshift.com/docs/legacy/v4/advanced/helpers-aliases-helpersweekly0.5https://eightshift.com/docs/legacy/v4/advanced/helpers-components-helpersweekly0.5https://eightshift.com/docs/legacy/v4/advanced/helpers-error-logger-helpersweekly0.5https://eightshift.com/docs/legacy/v4/advanced/helpers-object-helpersweekly0.5https://eightshift.com/docs/legacy/v4/advanced/helpers-shortcode-helpersweekly0.5https://eightshift.com/docs/legacy/v4/advanced/webpackweekly0.5https://eightshift.com/docs/legacy/v4/guides/blocks-block-from-componentsweekly0.5https://eightshift.com/docs/legacy/v4/guides/blocks-filter-block-attributes-overrideweekly0.5https://eightshift.com/docs/legacy/v4/guides/blocks-get-actions-helperweekly0.5https://eightshift.com/docs/legacy/v4/guides/blocks-registrationweekly0.5https://eightshift.com/docs/legacy/v4/guides/blocks-render-block-view-helperweekly0.5https://eightshift.com/docs/legacy/v4/guides/blocks-structureweekly0.5https://eightshift.com/docs/legacy/v4/guides/blocks-structure-block-itemweekly0.5https://eightshift.com/docs/legacy/v4/guides/blocks-structure-componentweekly0.5https://eightshift.com/docs/legacy/v4/guides/blocks-structure-manifestweekly0.5https://eightshift.com/docs/legacy/v4/guides/columns-post-typeweekly0.5https://eightshift.com/docs/legacy/v4/guides/columns-taxonomyweekly0.5https://eightshift.com/docs/legacy/v4/guides/columns-userweekly0.5https://eightshift.com/docs/legacy/v4/guides/configweekly0.5https://eightshift.com/docs/legacy/v4/guides/di-containerweekly0.5https://eightshift.com/docs/legacy/v4/guides/enqueueweekly0.5https://eightshift.com/docs/legacy/v4/guides/extending-classesweekly0.5https://eightshift.com/docs/legacy/v4/guides/fonts-customweekly0.5https://eightshift.com/docs/legacy/v4/guides/fonts-iconweekly0.5https://eightshift.com/docs/legacy/v4/guides/i18nweekly0.5https://eightshift.com/docs/legacy/v4/guides/loginweekly0.5https://eightshift.com/docs/legacy/v4/guides/manifestweekly0.5https://eightshift.com/docs/legacy/v4/guides/mediaweekly0.5https://eightshift.com/docs/legacy/v4/guides/menuweekly0.5https://eightshift.com/docs/legacy/v4/guides/post-typeweekly0.5https://eightshift.com/docs/legacy/v4/guides/rest-field-exampleweekly0.5https://eightshift.com/docs/legacy/v4/guides/rest-introweekly0.5https://eightshift.com/docs/legacy/v4/guides/rest-route-exampleweekly0.5https://eightshift.com/docs/legacy/v4/guides/taxonomyweekly0.5https://eightshift.com/docs/legacy/v4/versionsweekly0.5https://eightshift.com/docs/legacy/v5/basics/autowiringweekly0.5https://eightshift.com/docs/legacy/v5/basics/backendweekly0.5https://eightshift.com/docs/legacy/v5/basics/basics-introweekly0.5https://eightshift.com/docs/legacy/v5/basics/block-manifestweekly0.5https://eightshift.com/docs/legacy/v5/basics/block-structureweekly0.5https://eightshift.com/docs/legacy/v5/basics/blocksweekly0.5https://eightshift.com/docs/legacy/v5/basics/blocks-attributesweekly0.5https://eightshift.com/docs/legacy/v5/basics/blocks-component-in-blockweekly0.5https://eightshift.com/docs/legacy/v5/basics/blocks-component-manifestweekly0.5https://eightshift.com/docs/legacy/v5/basics/blocks-component-structureweekly0.5https://eightshift.com/docs/legacy/v5/basics/blocks-global-manifestweekly0.5https://eightshift.com/docs/legacy/v5/basics/blocks-hooksweekly0.5https://eightshift.com/docs/legacy/v5/basics/blocks-importantweekly0.5https://eightshift.com/docs/legacy/v5/basics/blocks-introweekly0.5https://eightshift.com/docs/legacy/v5/basics/blocks-patternsweekly0.5https://eightshift.com/docs/legacy/v5/basics/blocks-registrationweekly0.5https://eightshift.com/docs/legacy/v5/basics/blocks-reusableweekly0.5https://eightshift.com/docs/legacy/v5/basics/blocks-special-use-casesweekly0.5https://eightshift.com/docs/legacy/v5/basics/blocks-storybookweekly0.5https://eightshift.com/docs/legacy/v5/basics/blocks-structureweekly0.5https://eightshift.com/docs/legacy/v5/basics/blocks-stylesweekly0.5https://eightshift.com/docs/legacy/v5/basics/blocks-transformsweekly0.5https://eightshift.com/docs/legacy/v5/basics/blocks-variationsweekly0.5https://eightshift.com/docs/legacy/v5/basics/blocks-wrapperweekly0.5https://eightshift.com/docs/legacy/v5/basics/browser-syncweekly0.5https://eightshift.com/docs/legacy/v5/basics/dynamic-importweekly0.5https://eightshift.com/docs/legacy/v5/basics/example-classweekly0.5https://eightshift.com/docs/legacy/v5/basics/extending-classesweekly0.5https://eightshift.com/docs/legacy/v5/basics/fontsweekly0.5https://eightshift.com/docs/legacy/v5/basics/frontendweekly0.5https://eightshift.com/docs/legacy/v5/basics/global-settingsweekly0.5https://eightshift.com/docs/legacy/v5/basics/helpersweekly0.5https://eightshift.com/docs/legacy/v5/basics/helpers-javascriptweekly0.5https://eightshift.com/docs/legacy/v5/basics/helpers-phpweekly0.5https://eightshift.com/docs/legacy/v5/basics/helpers-scssweekly0.5https://eightshift.com/docs/legacy/v5/basics/libraryweekly0.5https://eightshift.com/docs/legacy/v5/basics/manifestweekly0.5https://eightshift.com/docs/legacy/v5/basics/namespacesweekly0.5https://eightshift.com/docs/legacy/v5/basics/restweekly0.5https://eightshift.com/docs/legacy/v5/basics/rest-fieldweekly0.5https://eightshift.com/docs/legacy/v5/basics/rest-routeweekly0.5https://eightshift.com/docs/legacy/v5/basics/the-structureweekly0.5https://eightshift.com/docs/legacy/v5/basics/webpackweekly0.5https://eightshift.com/docs/legacy/v5/basics/wp-cliweekly0.5https://eightshift.com/docs/legacy/v5/basics/writing-stylesweekly0.5https://eightshift.com/docs/legacy/v5/versionsweekly0.5https://eightshift.com/docs/legacy/v6/basics/architecture-conceptsweekly0.5https://eightshift.com/docs/legacy/v6/basics/autowiringweekly0.5https://eightshift.com/docs/legacy/v6/basics/backendweekly0.5https://eightshift.com/docs/legacy/v6/basics/basics-introweekly0.5https://eightshift.com/docs/legacy/v6/basics/block-manifestweekly0.5https://eightshift.com/docs/legacy/v6/basics/block-structureweekly0.5https://eightshift.com/docs/legacy/v6/basics/blocksweekly0.5https://eightshift.com/docs/legacy/v6/basics/blocks-attributesweekly0.5https://eightshift.com/docs/legacy/v6/basics/blocks-component-in-blockweekly0.5https://eightshift.com/docs/legacy/v6/basics/blocks-component-manifestweekly0.5https://eightshift.com/docs/legacy/v6/basics/blocks-component-structureweekly0.5https://eightshift.com/docs/legacy/v6/basics/blocks-faqweekly0.5https://eightshift.com/docs/legacy/v6/basics/blocks-global-manifestweekly0.5https://eightshift.com/docs/legacy/v6/basics/blocks-hooksweekly0.5https://eightshift.com/docs/legacy/v6/basics/blocks-importantweekly0.5https://eightshift.com/docs/legacy/v6/basics/blocks-patternsweekly0.5https://eightshift.com/docs/legacy/v6/basics/blocks-registrationweekly0.5https://eightshift.com/docs/legacy/v6/basics/blocks-reusableweekly0.5https://eightshift.com/docs/legacy/v6/basics/blocks-special-use-casesweekly0.5https://eightshift.com/docs/legacy/v6/basics/blocks-storybookweekly0.5https://eightshift.com/docs/legacy/v6/basics/blocks-structureweekly0.5https://eightshift.com/docs/legacy/v6/basics/blocks-stylesweekly0.5https://eightshift.com/docs/legacy/v6/basics/blocks-transformsweekly0.5https://eightshift.com/docs/legacy/v6/basics/blocks-variationsweekly0.5https://eightshift.com/docs/legacy/v6/basics/blocks-wrapperweekly0.5https://eightshift.com/docs/legacy/v6/basics/browser-syncweekly0.5https://eightshift.com/docs/legacy/v6/basics/dynamic-importweekly0.5https://eightshift.com/docs/legacy/v6/basics/example-classweekly0.5https://eightshift.com/docs/legacy/v6/basics/extending-classesweekly0.5https://eightshift.com/docs/legacy/v6/basics/fontsweekly0.5https://eightshift.com/docs/legacy/v6/basics/frontendweekly0.5https://eightshift.com/docs/legacy/v6/basics/global-settingsweekly0.5https://eightshift.com/docs/legacy/v6/basics/helpersweekly0.5https://eightshift.com/docs/legacy/v6/basics/helpers-javascriptweekly0.5https://eightshift.com/docs/legacy/v6/basics/helpers-phpweekly0.5https://eightshift.com/docs/legacy/v6/basics/helpers-scssweekly0.5https://eightshift.com/docs/legacy/v6/basics/libraryweekly0.5https://eightshift.com/docs/legacy/v6/basics/manifestweekly0.5https://eightshift.com/docs/legacy/v6/basics/namespacesweekly0.5https://eightshift.com/docs/legacy/v6/basics/restweekly0.5https://eightshift.com/docs/legacy/v6/basics/rest-fieldweekly0.5https://eightshift.com/docs/legacy/v6/basics/rest-routeweekly0.5https://eightshift.com/docs/legacy/v6/basics/tips-tricksweekly0.5https://eightshift.com/docs/legacy/v6/basics/webpackweekly0.5https://eightshift.com/docs/legacy/v6/basics/wp-cliweekly0.5https://eightshift.com/docs/legacy/v6/basics/writing-stylesweekly0.5https://eightshift.com/docs/legacy/v6/versionsweekly0.5https://eightshift.com/docs/legacy/v7/basics/architecture-conceptsweekly0.5https://eightshift.com/docs/legacy/v7/basics/autowiringweekly0.5https://eightshift.com/docs/legacy/v7/basics/backendweekly0.5https://eightshift.com/docs/legacy/v7/basics/basics-introweekly0.5https://eightshift.com/docs/legacy/v7/basics/block-manifestweekly0.5https://eightshift.com/docs/legacy/v7/basics/block-structureweekly0.5https://eightshift.com/docs/legacy/v7/basics/blocksweekly0.5https://eightshift.com/docs/legacy/v7/basics/blocks-attributesweekly0.5https://eightshift.com/docs/legacy/v7/basics/blocks-component-in-blockweekly0.5https://eightshift.com/docs/legacy/v7/basics/blocks-component-manifestweekly0.5https://eightshift.com/docs/legacy/v7/basics/blocks-component-structureweekly0.5https://eightshift.com/docs/legacy/v7/basics/blocks-faqweekly0.5https://eightshift.com/docs/legacy/v7/basics/blocks-global-manifestweekly0.5https://eightshift.com/docs/legacy/v7/basics/blocks-hooksweekly0.5https://eightshift.com/docs/legacy/v7/basics/blocks-importantweekly0.5https://eightshift.com/docs/legacy/v7/basics/blocks-patternsweekly0.5https://eightshift.com/docs/legacy/v7/basics/blocks-registrationweekly0.5https://eightshift.com/docs/legacy/v7/basics/blocks-reusableweekly0.5https://eightshift.com/docs/legacy/v7/basics/blocks-special-use-casesweekly0.5https://eightshift.com/docs/legacy/v7/basics/blocks-storybookweekly0.5https://eightshift.com/docs/legacy/v7/basics/blocks-structureweekly0.5https://eightshift.com/docs/legacy/v7/basics/blocks-stylesweekly0.5https://eightshift.com/docs/legacy/v7/basics/blocks-transformsweekly0.5https://eightshift.com/docs/legacy/v7/basics/blocks-variationsweekly0.5https://eightshift.com/docs/legacy/v7/basics/blocks-wrapperweekly0.5https://eightshift.com/docs/legacy/v7/basics/browser-syncweekly0.5https://eightshift.com/docs/legacy/v7/basics/dynamic-importweekly0.5https://eightshift.com/docs/legacy/v7/basics/example-classweekly0.5https://eightshift.com/docs/legacy/v7/basics/extending-classesweekly0.5https://eightshift.com/docs/legacy/v7/basics/fontsweekly0.5https://eightshift.com/docs/legacy/v7/basics/frontendweekly0.5https://eightshift.com/docs/legacy/v7/basics/global-settingsweekly0.5https://eightshift.com/docs/legacy/v7/basics/helpersweekly0.5https://eightshift.com/docs/legacy/v7/basics/helpers-javascriptweekly0.5https://eightshift.com/docs/legacy/v7/basics/helpers-phpweekly0.5https://eightshift.com/docs/legacy/v7/basics/helpers-scssweekly0.5https://eightshift.com/docs/legacy/v7/basics/libraryweekly0.5https://eightshift.com/docs/legacy/v7/basics/manifestweekly0.5https://eightshift.com/docs/legacy/v7/basics/namespacesweekly0.5https://eightshift.com/docs/legacy/v7/basics/restweekly0.5https://eightshift.com/docs/legacy/v7/basics/rest-fieldweekly0.5https://eightshift.com/docs/legacy/v7/basics/rest-routeweekly0.5https://eightshift.com/docs/legacy/v7/basics/tips-tricksweekly0.5https://eightshift.com/docs/legacy/v7/basics/webpackweekly0.5https://eightshift.com/docs/legacy/v7/basics/wp-cliweekly0.5https://eightshift.com/docs/legacy/v7/basics/writing-stylesweekly0.5https://eightshift.com/docs/legacy/v7/versionsweekly0.5https://eightshift.com/docs/legacy/v8/basics/architecture-conceptsweekly0.5https://eightshift.com/docs/legacy/v8/basics/autowiringweekly0.5https://eightshift.com/docs/legacy/v8/basics/backendweekly0.5https://eightshift.com/docs/legacy/v8/basics/basics-introweekly0.5https://eightshift.com/docs/legacy/v8/basics/block-manifestweekly0.5https://eightshift.com/docs/legacy/v8/basics/block-structureweekly0.5https://eightshift.com/docs/legacy/v8/basics/blocksweekly0.5https://eightshift.com/docs/legacy/v8/basics/blocks-attributesweekly0.5https://eightshift.com/docs/legacy/v8/basics/blocks-component-in-blockweekly0.5https://eightshift.com/docs/legacy/v8/basics/blocks-component-manifestweekly0.5https://eightshift.com/docs/legacy/v8/basics/blocks-component-structureweekly0.5https://eightshift.com/docs/legacy/v8/basics/blocks-faqweekly0.5https://eightshift.com/docs/legacy/v8/basics/blocks-global-manifestweekly0.5https://eightshift.com/docs/legacy/v8/basics/blocks-hooksweekly0.5https://eightshift.com/docs/legacy/v8/basics/blocks-importantweekly0.5https://eightshift.com/docs/legacy/v8/basics/blocks-patternsweekly0.5https://eightshift.com/docs/legacy/v8/basics/blocks-registrationweekly0.5https://eightshift.com/docs/legacy/v8/basics/blocks-reusableweekly0.5https://eightshift.com/docs/legacy/v8/basics/blocks-special-use-casesweekly0.5https://eightshift.com/docs/legacy/v8/basics/blocks-storybookweekly0.5https://eightshift.com/docs/legacy/v8/basics/blocks-structureweekly0.5https://eightshift.com/docs/legacy/v8/basics/blocks-stylesweekly0.5https://eightshift.com/docs/legacy/v8/basics/blocks-transformsweekly0.5https://eightshift.com/docs/legacy/v8/basics/blocks-variationsweekly0.5https://eightshift.com/docs/legacy/v8/basics/blocks-wrapperweekly0.5https://eightshift.com/docs/legacy/v8/basics/browser-syncweekly0.5https://eightshift.com/docs/legacy/v8/basics/dynamic-importweekly0.5https://eightshift.com/docs/legacy/v8/basics/example-classweekly0.5https://eightshift.com/docs/legacy/v8/basics/extending-classesweekly0.5https://eightshift.com/docs/legacy/v8/basics/fontsweekly0.5https://eightshift.com/docs/legacy/v8/basics/frontendweekly0.5https://eightshift.com/docs/legacy/v8/basics/global-settingsweekly0.5https://eightshift.com/docs/legacy/v8/basics/helpersweekly0.5https://eightshift.com/docs/legacy/v8/basics/helpers-javascriptweekly0.5https://eightshift.com/docs/legacy/v8/basics/helpers-phpweekly0.5https://eightshift.com/docs/legacy/v8/basics/helpers-scssweekly0.5https://eightshift.com/docs/legacy/v8/basics/libraryweekly0.5https://eightshift.com/docs/legacy/v8/basics/manifestweekly0.5https://eightshift.com/docs/legacy/v8/basics/namespacesweekly0.5https://eightshift.com/docs/legacy/v8/basics/restweekly0.5https://eightshift.com/docs/legacy/v8/basics/rest-fieldweekly0.5https://eightshift.com/docs/legacy/v8/basics/rest-routeweekly0.5https://eightshift.com/docs/legacy/v8/basics/tips-tricksweekly0.5https://eightshift.com/docs/legacy/v8/basics/webpackweekly0.5https://eightshift.com/docs/legacy/v8/basics/wp-cliweekly0.5https://eightshift.com/docs/legacy/v8/basics/writing-stylesweekly0.5https://eightshift.com/docs/legacy/v8/versionsweekly0.5https://eightshift.com/docs/migrations/10-11weekly0.5https://eightshift.com/docs/migrations/5-6weekly0.5https://eightshift.com/docs/migrations/6-7weekly0.5https://eightshift.com/docs/migrations/7-8weekly0.5https://eightshift.com/docs/migrations/8-9weekly0.5https://eightshift.com/docs/migrations/9-10weekly0.5https://eightshift.com/docs/pluginweekly0.5https://eightshift.com/docs/requirementsweekly0.5https://eightshift.com/docs/themeweekly0.5https://eightshift.com/docs/tutorials/introweekly0.5https://eightshift.com/docs/versionsweekly0.5https://eightshift.com/docs/welcomeweekly0.5https://eightshift.com/forms/addons/create/addon-boilerplateweekly0.5https://eightshift.com/forms/addons/create/introweekly0.5https://eightshift.com/forms/addons/create/requirementsweekly0.5https://eightshift.com/forms/addons/create/utils-libraryweekly0.5https://eightshift.com/forms/addons/free/introweekly0.5https://eightshift.com/forms/addons/introweekly0.5https://eightshift.com/forms/addons/premium/computed-fields/blocksweekly0.5https://eightshift.com/forms/addons/premium/computed-fields/data-flowweekly0.5https://eightshift.com/forms/addons/premium/computed-fields/how-to-useweekly0.5https://eightshift.com/forms/addons/premium/computed-fields/introweekly0.5https://eightshift.com/forms/addons/premium/computed-fields/settingsweekly0.5https://eightshift.com/forms/addons/premium/introweekly0.5https://eightshift.com/forms/basicsweekly0.5https://eightshift.com/forms/features/cacheweekly0.5https://eightshift.com/forms/features/cloudflareweekly0.5https://eightshift.com/forms/features/conditional-tagsweekly0.5https://eightshift.com/forms/features/country-listweekly0.5https://eightshift.com/forms/features/dashboardweekly0.5https://eightshift.com/forms/features/debugweekly0.5https://eightshift.com/forms/features/enrichmentweekly0.5https://eightshift.com/forms/features/entriesweekly0.5https://eightshift.com/forms/features/fallback-emailsweekly0.5https://eightshift.com/forms/features/geolocationweekly0.5https://eightshift.com/forms/features/import-exportweekly0.5https://eightshift.com/forms/features/labelsweekly0.5https://eightshift.com/forms/features/locationsweekly0.5https://eightshift.com/forms/features/migrationsweekly0.5https://eightshift.com/forms/features/multisteps-formsweekly0.5https://eightshift.com/forms/features/securityweekly0.5https://eightshift.com/forms/features/show-asweekly0.5https://eightshift.com/forms/features/spam-preventionweekly0.5https://eightshift.com/forms/features/success-redirectweekly0.5https://eightshift.com/forms/features/trackingweekly0.5https://eightshift.com/forms/features/validationweekly0.5https://eightshift.com/forms/features/wpmlweekly0.5https://eightshift.com/forms/first-formweekly0.5https://eightshift.com/forms/integrations/active-campaignweekly0.5https://eightshift.com/forms/integrations/airtableweekly0.5https://eightshift.com/forms/integrations/clearbitweekly0.5https://eightshift.com/forms/integrations/goodbitsweekly0.5https://eightshift.com/forms/integrations/greenhouseweekly0.5https://eightshift.com/forms/integrations/hubspotweekly0.5https://eightshift.com/forms/integrations/introweekly0.5https://eightshift.com/forms/integrations/jiraweekly0.5https://eightshift.com/forms/integrations/mailchimpweekly0.5https://eightshift.com/forms/integrations/mailerweekly0.5https://eightshift.com/forms/integrations/mailerliteweekly0.5https://eightshift.com/forms/integrations/momentsweekly0.5https://eightshift.com/forms/integrations/pipedriveweekly0.5https://eightshift.com/forms/integrations/workableweekly0.5https://eightshift.com/forms/javascript/events/available-eventsweekly0.5https://eightshift.com/forms/javascript/events/how-to-useweekly0.5https://eightshift.com/forms/javascript/introweekly0.5https://eightshift.com/forms/javascript/manual-initiationweekly0.5https://eightshift.com/forms/javascript/state/weekly0.5https://eightshift.com/forms/javascript/state/captchaweekly0.5https://eightshift.com/forms/javascript/state/conditional-tagsweekly0.5https://eightshift.com/forms/javascript/state/enrichmentweekly0.5https://eightshift.com/forms/javascript/state/formweekly0.5https://eightshift.com/forms/javascript/state/how-to-useweekly0.5https://eightshift.com/forms/javascript/state/stepweekly0.5https://eightshift.com/forms/javascript/state/storeweekly0.5https://eightshift.com/forms/javascript/state/utilsweekly0.5https://eightshift.com/forms/known-issuesweekly0.5https://eightshift.com/forms/php/actions/how-to-useweekly0.5https://eightshift.com/forms/php/actions/migrationsweekly0.5https://eightshift.com/forms/php/filters/admin/settings-dataweekly0.5https://eightshift.com/forms/php/filters/block/checkboxes/additional-contentweekly0.5https://eightshift.com/forms/php/filters/block/country/additional-contentweekly0.5https://eightshift.com/forms/php/filters/block/country/alternative-data-setweekly0.5https://eightshift.com/forms/php/filters/block/date/additional-contentweekly0.5https://eightshift.com/forms/php/filters/block/field/additional-contentweekly0.5https://eightshift.com/forms/php/filters/block/field/style-classesweekly0.5https://eightshift.com/forms/php/filters/block/field/style-optionsweekly0.5https://eightshift.com/forms/php/filters/block/file/additional-contentweekly0.5https://eightshift.com/forms/php/filters/block/file/preview-remove-labelweekly0.5https://eightshift.com/forms/php/filters/block/form-selector/additional-contentweekly0.5https://eightshift.com/forms/php/filters/block/form-selector/form-templatesweekly0.5https://eightshift.com/forms/php/filters/block/form/additional-contentweekly0.5https://eightshift.com/forms/php/filters/block/form/additional-hidden-fieldsweekly0.5https://eightshift.com/forms/php/filters/block/form/data-type-selectorweekly0.5https://eightshift.com/forms/php/filters/block/form/global-msg-headingsweekly0.5https://eightshift.com/forms/php/filters/block/form/hide-global-msg-timeoutweekly0.5https://eightshift.com/forms/php/filters/block/form/phone-syncweekly0.5https://eightshift.com/forms/php/filters/block/form/pre-response-addon-dataweekly0.5https://eightshift.com/forms/php/filters/block/form/pre-response-success-redirect-dataweekly0.5https://eightshift.com/forms/php/filters/block/form/redirect-timeoutweekly0.5https://eightshift.com/forms/php/filters/block/form/success-redirect-urlweekly0.5https://eightshift.com/forms/php/filters/block/form/success-redirect-variationweekly0.5https://eightshift.com/forms/php/filters/block/form/success-redirect-variation-optionsweekly0.5https://eightshift.com/forms/php/filters/block/form/tracking-additional-dataweekly0.5https://eightshift.com/forms/php/filters/block/form/tracking-event-nameweekly0.5https://eightshift.com/forms/php/filters/block/forms/style-optionsweekly0.5https://eightshift.com/forms/php/filters/block/input/additional-contentweekly0.5https://eightshift.com/forms/php/filters/block/phone/additional-contentweekly0.5https://eightshift.com/forms/php/filters/block/radios/additional-contentweekly0.5https://eightshift.com/forms/php/filters/block/rating/additional-contentweekly0.5https://eightshift.com/forms/php/filters/block/select/additional-contentweekly0.5https://eightshift.com/forms/php/filters/block/step/component-nextweekly0.5https://eightshift.com/forms/php/filters/block/step/component-prevweekly0.5https://eightshift.com/forms/php/filters/block/submit/additional-contentweekly0.5https://eightshift.com/forms/php/filters/block/submit/componentweekly0.5https://eightshift.com/forms/php/filters/block/textarea/additional-contentweekly0.5https://eightshift.com/forms/php/filters/blocks/additional-blocksweekly0.5https://eightshift.com/forms/php/filters/blocks/allowed-blocksweekly0.5https://eightshift.com/forms/php/filters/blocks/media-breakpointsweekly0.5https://eightshift.com/forms/php/filters/enrichment/manual-mapweekly0.5https://eightshift.com/forms/php/filters/entries/pre-post-paramsweekly0.5https://eightshift.com/forms/php/filters/general/http-request-timeoutweekly0.5https://eightshift.com/forms/php/filters/general/localeweekly0.5https://eightshift.com/forms/php/filters/general/scripts-dependencyweekly0.5https://eightshift.com/forms/php/filters/geolocation/countriesweekly0.5https://eightshift.com/forms/php/filters/geolocation/db-locationweekly0.5https://eightshift.com/forms/php/filters/geolocation/phar-locationweekly0.5https://eightshift.com/forms/php/filters/how-to-useweekly0.5https://eightshift.com/forms/php/filters/integrations/active-campaignweekly0.5https://eightshift.com/forms/php/filters/integrations/airtableweekly0.5https://eightshift.com/forms/php/filters/integrations/clearbitweekly0.5https://eightshift.com/forms/php/filters/integrations/goodbitsweekly0.5https://eightshift.com/forms/php/filters/integrations/greenhouseweekly0.5https://eightshift.com/forms/php/filters/integrations/hubspotweekly0.5https://eightshift.com/forms/php/filters/integrations/jiraweekly0.5https://eightshift.com/forms/php/filters/integrations/mailchimpweekly0.5https://eightshift.com/forms/php/filters/integrations/mailerweekly0.5https://eightshift.com/forms/php/filters/integrations/mailerliteweekly0.5https://eightshift.com/forms/php/filters/integrations/momentsweekly0.5https://eightshift.com/forms/php/filters/integrations/pipedriveweekly0.5https://eightshift.com/forms/php/filters/integrations/workableweekly0.5https://eightshift.com/forms/php/filters/scripts/dependency-adminweekly0.5https://eightshift.com/forms/php/filters/scripts/dependency-blocks-editorweekly0.5https://eightshift.com/forms/php/filters/scripts/dependency-blocks-frontendweekly0.5https://eightshift.com/forms/php/filters/scripts/dependency-themeweekly0.5https://eightshift.com/forms/php/filters/scripts/routes-privateweekly0.5https://eightshift.com/forms/php/filters/scripts/routes-publicweekly0.5https://eightshift.com/forms/php/filters/validation/force-mimetype-from-fsweekly0.5https://eightshift.com/forms/php/global-variables/geolocationweekly0.5https://eightshift.com/forms/php/global-variables/google-recaptchaweekly0.5https://eightshift.com/forms/php/global-variables/how-to-useweekly0.5https://eightshift.com/forms/php/global-variables/integrations/active-campaignweekly0.5https://eightshift.com/forms/php/global-variables/integrations/airtableweekly0.5https://eightshift.com/forms/php/global-variables/integrations/clearbitweekly0.5https://eightshift.com/forms/php/global-variables/integrations/goodbitsweekly0.5https://eightshift.com/forms/php/global-variables/integrations/greenhouseweekly0.5https://eightshift.com/forms/php/global-variables/integrations/hubspotweekly0.5https://eightshift.com/forms/php/global-variables/integrations/jiraweekly0.5https://eightshift.com/forms/php/global-variables/integrations/mailchimpweekly0.5https://eightshift.com/forms/php/global-variables/integrations/mailerliteweekly0.5https://eightshift.com/forms/php/global-variables/integrations/momentsweekly0.5https://eightshift.com/forms/php/global-variables/integrations/pipedriveweekly0.5https://eightshift.com/forms/php/global-variables/integrations/workableweekly0.5https://eightshift.com/forms/php/helpersweekly0.5https://eightshift.com/forms/php/introweekly0.5https://eightshift.com/forms/php/wp-cliweekly0.5https://eightshift.com/forms/tutorials/playlistweekly0.5https://eightshift.com/forms/welcomeweekly0.5https://eightshift.com/weekly0.5 \ No newline at end of file +https://eightshift.com/blogweekly0.5https://eightshift.com/blog/acf-in-a-projectweekly0.5https://eightshift.com/blog/adding-blocks-wpcliweekly0.5https://eightshift.com/blog/adding-fontsweekly0.5https://eightshift.com/blog/archiveweekly0.5https://eightshift.com/blog/block-patternsweekly0.5https://eightshift.com/blog/block-variationsweekly0.5https://eightshift.com/blog/components-and-blocksweekly0.5https://eightshift.com/blog/initial-setupweekly0.5https://eightshift.com/blog/making-your-project-multilingualweekly0.5https://eightshift.com/blog/modifying-blocks-color-themeweekly0.5https://eightshift.com/blog/multiple-same-componentsweekly0.5https://eightshift.com/blog/page/2weekly0.5https://eightshift.com/blog/tagsweekly0.5https://eightshift.com/blog/tags/acfweekly0.5https://eightshift.com/blog/tags/advanced-custom-fieldsweekly0.5https://eightshift.com/blog/tags/assetsweekly0.5https://eightshift.com/blog/tags/blockweekly0.5https://eightshift.com/blog/tags/blocksweekly0.5https://eightshift.com/blog/tags/boilerplateweekly0.5https://eightshift.com/blog/tags/boilerplate/page/2weekly0.5https://eightshift.com/blog/tags/classweekly0.5https://eightshift.com/blog/tags/componentsweekly0.5https://eightshift.com/blog/tags/cptweekly0.5https://eightshift.com/blog/tags/custom-post-typeweekly0.5https://eightshift.com/blog/tags/eightshiftweekly0.5https://eightshift.com/blog/tags/eightshift/page/2weekly0.5https://eightshift.com/blog/tags/fontsweekly0.5https://eightshift.com/blog/tags/i-18-nweekly0.5https://eightshift.com/blog/tags/iconsweekly0.5https://eightshift.com/blog/tags/imagesweekly0.5https://eightshift.com/blog/tags/multilingualweekly0.5https://eightshift.com/blog/tags/patternsweekly0.5https://eightshift.com/blog/tags/queryweekly0.5https://eightshift.com/blog/tags/serviceweekly0.5https://eightshift.com/blog/tags/setupweekly0.5https://eightshift.com/blog/tags/taxonomiesweekly0.5https://eightshift.com/blog/tags/taxonomyweekly0.5https://eightshift.com/blog/tags/termsweekly0.5https://eightshift.com/blog/tags/theme-optionsweekly0.5https://eightshift.com/blog/tags/variationsweekly0.5https://eightshift.com/blog/tags/wpcliweekly0.5https://eightshift.com/blog/tags/wrapperweekly0.5https://eightshift.com/blog/using-assetsweekly0.5https://eightshift.com/blog/using-cpts-and-taxonomiesweekly0.5https://eightshift.com/blog/working-with-custom-queriesweekly0.5https://eightshift.com/blog/wrapper-as-a-standalone-componentweekly0.5https://eightshift.com/searchweekly0.5https://eightshift.com/showcaseweekly0.5https://eightshift.com/showcase-infinumweekly0.5https://eightshift.com/storybookweekly0.5https://eightshift.com/docs/additional-libraries/boilerplateweekly0.5https://eightshift.com/docs/additional-libraries/boilerplate-pluginweekly0.5https://eightshift.com/docs/additional-libraries/coding-standardsweekly0.5https://eightshift.com/docs/additional-libraries/docsweekly0.5https://eightshift.com/docs/additional-libraries/formsweekly0.5https://eightshift.com/docs/additional-libraries/frontend-libsweekly0.5https://eightshift.com/docs/additional-libraries/libsweekly0.5https://eightshift.com/docs/additional-libraries/storybookweekly0.5https://eightshift.com/docs/additional-libraries/stubsweekly0.5https://eightshift.com/docs/basics/architecture-conceptsweekly0.5https://eightshift.com/docs/basics/autowiringweekly0.5https://eightshift.com/docs/basics/backendweekly0.5https://eightshift.com/docs/basics/basics-introweekly0.5https://eightshift.com/docs/basics/block-manifestweekly0.5https://eightshift.com/docs/basics/block-structureweekly0.5https://eightshift.com/docs/basics/blocksweekly0.5https://eightshift.com/docs/basics/blocks-attributesweekly0.5https://eightshift.com/docs/basics/blocks-component-in-blockweekly0.5https://eightshift.com/docs/basics/blocks-component-manifestweekly0.5https://eightshift.com/docs/basics/blocks-component-structureweekly0.5https://eightshift.com/docs/basics/blocks-faqweekly0.5https://eightshift.com/docs/basics/blocks-global-manifestweekly0.5https://eightshift.com/docs/basics/blocks-hooksweekly0.5https://eightshift.com/docs/basics/blocks-importantweekly0.5https://eightshift.com/docs/basics/blocks-patternsweekly0.5https://eightshift.com/docs/basics/blocks-registrationweekly0.5https://eightshift.com/docs/basics/blocks-reusableweekly0.5https://eightshift.com/docs/basics/blocks-special-use-casesweekly0.5https://eightshift.com/docs/basics/blocks-storybookweekly0.5https://eightshift.com/docs/basics/blocks-structureweekly0.5https://eightshift.com/docs/basics/blocks-stylesweekly0.5https://eightshift.com/docs/basics/blocks-transformsweekly0.5https://eightshift.com/docs/basics/blocks-variationsweekly0.5https://eightshift.com/docs/basics/blocks-wrapperweekly0.5https://eightshift.com/docs/basics/browser-syncweekly0.5https://eightshift.com/docs/basics/dynamic-importweekly0.5https://eightshift.com/docs/basics/example-classweekly0.5https://eightshift.com/docs/basics/extending-classesweekly0.5https://eightshift.com/docs/basics/fontsweekly0.5https://eightshift.com/docs/basics/frontendweekly0.5https://eightshift.com/docs/basics/global-settingsweekly0.5https://eightshift.com/docs/basics/helpersweekly0.5https://eightshift.com/docs/basics/helpers-javascriptweekly0.5https://eightshift.com/docs/basics/helpers-phpweekly0.5https://eightshift.com/docs/basics/helpers-scssweekly0.5https://eightshift.com/docs/basics/libraryweekly0.5https://eightshift.com/docs/basics/manifestweekly0.5https://eightshift.com/docs/basics/namespacesweekly0.5https://eightshift.com/docs/basics/restweekly0.5https://eightshift.com/docs/basics/rest-fieldweekly0.5https://eightshift.com/docs/basics/rest-routeweekly0.5https://eightshift.com/docs/basics/tips-tricksweekly0.5https://eightshift.com/docs/basics/webpackweekly0.5https://eightshift.com/docs/basics/wp-cliweekly0.5https://eightshift.com/docs/basics/writing-stylesweekly0.5https://eightshift.com/docs/crash-course/introweekly0.5https://eightshift.com/docs/eightshift-frontend-libsweekly0.5https://eightshift.com/docs/eightshift-libsweekly0.5https://eightshift.com/docs/legacy/v4/advanced/browsersyncweekly0.5https://eightshift.com/docs/legacy/v4/advanced/components-color-paletteweekly0.5https://eightshift.com/docs/legacy/v4/advanced/components-heading-levelweekly0.5https://eightshift.com/docs/legacy/v4/advanced/docs-sassweekly0.5https://eightshift.com/docs/legacy/v4/advanced/helpers-aliases-helpersweekly0.5https://eightshift.com/docs/legacy/v4/advanced/helpers-components-helpersweekly0.5https://eightshift.com/docs/legacy/v4/advanced/helpers-error-logger-helpersweekly0.5https://eightshift.com/docs/legacy/v4/advanced/helpers-object-helpersweekly0.5https://eightshift.com/docs/legacy/v4/advanced/helpers-shortcode-helpersweekly0.5https://eightshift.com/docs/legacy/v4/advanced/webpackweekly0.5https://eightshift.com/docs/legacy/v4/guides/blocks-block-from-componentsweekly0.5https://eightshift.com/docs/legacy/v4/guides/blocks-filter-block-attributes-overrideweekly0.5https://eightshift.com/docs/legacy/v4/guides/blocks-get-actions-helperweekly0.5https://eightshift.com/docs/legacy/v4/guides/blocks-registrationweekly0.5https://eightshift.com/docs/legacy/v4/guides/blocks-render-block-view-helperweekly0.5https://eightshift.com/docs/legacy/v4/guides/blocks-structureweekly0.5https://eightshift.com/docs/legacy/v4/guides/blocks-structure-block-itemweekly0.5https://eightshift.com/docs/legacy/v4/guides/blocks-structure-componentweekly0.5https://eightshift.com/docs/legacy/v4/guides/blocks-structure-manifestweekly0.5https://eightshift.com/docs/legacy/v4/guides/columns-post-typeweekly0.5https://eightshift.com/docs/legacy/v4/guides/columns-taxonomyweekly0.5https://eightshift.com/docs/legacy/v4/guides/columns-userweekly0.5https://eightshift.com/docs/legacy/v4/guides/configweekly0.5https://eightshift.com/docs/legacy/v4/guides/di-containerweekly0.5https://eightshift.com/docs/legacy/v4/guides/enqueueweekly0.5https://eightshift.com/docs/legacy/v4/guides/extending-classesweekly0.5https://eightshift.com/docs/legacy/v4/guides/fonts-customweekly0.5https://eightshift.com/docs/legacy/v4/guides/fonts-iconweekly0.5https://eightshift.com/docs/legacy/v4/guides/i18nweekly0.5https://eightshift.com/docs/legacy/v4/guides/loginweekly0.5https://eightshift.com/docs/legacy/v4/guides/manifestweekly0.5https://eightshift.com/docs/legacy/v4/guides/mediaweekly0.5https://eightshift.com/docs/legacy/v4/guides/menuweekly0.5https://eightshift.com/docs/legacy/v4/guides/post-typeweekly0.5https://eightshift.com/docs/legacy/v4/guides/rest-field-exampleweekly0.5https://eightshift.com/docs/legacy/v4/guides/rest-introweekly0.5https://eightshift.com/docs/legacy/v4/guides/rest-route-exampleweekly0.5https://eightshift.com/docs/legacy/v4/guides/taxonomyweekly0.5https://eightshift.com/docs/legacy/v4/versionsweekly0.5https://eightshift.com/docs/legacy/v5/basics/autowiringweekly0.5https://eightshift.com/docs/legacy/v5/basics/backendweekly0.5https://eightshift.com/docs/legacy/v5/basics/basics-introweekly0.5https://eightshift.com/docs/legacy/v5/basics/block-manifestweekly0.5https://eightshift.com/docs/legacy/v5/basics/block-structureweekly0.5https://eightshift.com/docs/legacy/v5/basics/blocksweekly0.5https://eightshift.com/docs/legacy/v5/basics/blocks-attributesweekly0.5https://eightshift.com/docs/legacy/v5/basics/blocks-component-in-blockweekly0.5https://eightshift.com/docs/legacy/v5/basics/blocks-component-manifestweekly0.5https://eightshift.com/docs/legacy/v5/basics/blocks-component-structureweekly0.5https://eightshift.com/docs/legacy/v5/basics/blocks-global-manifestweekly0.5https://eightshift.com/docs/legacy/v5/basics/blocks-hooksweekly0.5https://eightshift.com/docs/legacy/v5/basics/blocks-importantweekly0.5https://eightshift.com/docs/legacy/v5/basics/blocks-introweekly0.5https://eightshift.com/docs/legacy/v5/basics/blocks-patternsweekly0.5https://eightshift.com/docs/legacy/v5/basics/blocks-registrationweekly0.5https://eightshift.com/docs/legacy/v5/basics/blocks-reusableweekly0.5https://eightshift.com/docs/legacy/v5/basics/blocks-special-use-casesweekly0.5https://eightshift.com/docs/legacy/v5/basics/blocks-storybookweekly0.5https://eightshift.com/docs/legacy/v5/basics/blocks-structureweekly0.5https://eightshift.com/docs/legacy/v5/basics/blocks-stylesweekly0.5https://eightshift.com/docs/legacy/v5/basics/blocks-transformsweekly0.5https://eightshift.com/docs/legacy/v5/basics/blocks-variationsweekly0.5https://eightshift.com/docs/legacy/v5/basics/blocks-wrapperweekly0.5https://eightshift.com/docs/legacy/v5/basics/browser-syncweekly0.5https://eightshift.com/docs/legacy/v5/basics/dynamic-importweekly0.5https://eightshift.com/docs/legacy/v5/basics/example-classweekly0.5https://eightshift.com/docs/legacy/v5/basics/extending-classesweekly0.5https://eightshift.com/docs/legacy/v5/basics/fontsweekly0.5https://eightshift.com/docs/legacy/v5/basics/frontendweekly0.5https://eightshift.com/docs/legacy/v5/basics/global-settingsweekly0.5https://eightshift.com/docs/legacy/v5/basics/helpersweekly0.5https://eightshift.com/docs/legacy/v5/basics/helpers-javascriptweekly0.5https://eightshift.com/docs/legacy/v5/basics/helpers-phpweekly0.5https://eightshift.com/docs/legacy/v5/basics/helpers-scssweekly0.5https://eightshift.com/docs/legacy/v5/basics/libraryweekly0.5https://eightshift.com/docs/legacy/v5/basics/manifestweekly0.5https://eightshift.com/docs/legacy/v5/basics/namespacesweekly0.5https://eightshift.com/docs/legacy/v5/basics/restweekly0.5https://eightshift.com/docs/legacy/v5/basics/rest-fieldweekly0.5https://eightshift.com/docs/legacy/v5/basics/rest-routeweekly0.5https://eightshift.com/docs/legacy/v5/basics/the-structureweekly0.5https://eightshift.com/docs/legacy/v5/basics/webpackweekly0.5https://eightshift.com/docs/legacy/v5/basics/wp-cliweekly0.5https://eightshift.com/docs/legacy/v5/basics/writing-stylesweekly0.5https://eightshift.com/docs/legacy/v5/versionsweekly0.5https://eightshift.com/docs/legacy/v6/basics/architecture-conceptsweekly0.5https://eightshift.com/docs/legacy/v6/basics/autowiringweekly0.5https://eightshift.com/docs/legacy/v6/basics/backendweekly0.5https://eightshift.com/docs/legacy/v6/basics/basics-introweekly0.5https://eightshift.com/docs/legacy/v6/basics/block-manifestweekly0.5https://eightshift.com/docs/legacy/v6/basics/block-structureweekly0.5https://eightshift.com/docs/legacy/v6/basics/blocksweekly0.5https://eightshift.com/docs/legacy/v6/basics/blocks-attributesweekly0.5https://eightshift.com/docs/legacy/v6/basics/blocks-component-in-blockweekly0.5https://eightshift.com/docs/legacy/v6/basics/blocks-component-manifestweekly0.5https://eightshift.com/docs/legacy/v6/basics/blocks-component-structureweekly0.5https://eightshift.com/docs/legacy/v6/basics/blocks-faqweekly0.5https://eightshift.com/docs/legacy/v6/basics/blocks-global-manifestweekly0.5https://eightshift.com/docs/legacy/v6/basics/blocks-hooksweekly0.5https://eightshift.com/docs/legacy/v6/basics/blocks-importantweekly0.5https://eightshift.com/docs/legacy/v6/basics/blocks-patternsweekly0.5https://eightshift.com/docs/legacy/v6/basics/blocks-registrationweekly0.5https://eightshift.com/docs/legacy/v6/basics/blocks-reusableweekly0.5https://eightshift.com/docs/legacy/v6/basics/blocks-special-use-casesweekly0.5https://eightshift.com/docs/legacy/v6/basics/blocks-storybookweekly0.5https://eightshift.com/docs/legacy/v6/basics/blocks-structureweekly0.5https://eightshift.com/docs/legacy/v6/basics/blocks-stylesweekly0.5https://eightshift.com/docs/legacy/v6/basics/blocks-transformsweekly0.5https://eightshift.com/docs/legacy/v6/basics/blocks-variationsweekly0.5https://eightshift.com/docs/legacy/v6/basics/blocks-wrapperweekly0.5https://eightshift.com/docs/legacy/v6/basics/browser-syncweekly0.5https://eightshift.com/docs/legacy/v6/basics/dynamic-importweekly0.5https://eightshift.com/docs/legacy/v6/basics/example-classweekly0.5https://eightshift.com/docs/legacy/v6/basics/extending-classesweekly0.5https://eightshift.com/docs/legacy/v6/basics/fontsweekly0.5https://eightshift.com/docs/legacy/v6/basics/frontendweekly0.5https://eightshift.com/docs/legacy/v6/basics/global-settingsweekly0.5https://eightshift.com/docs/legacy/v6/basics/helpersweekly0.5https://eightshift.com/docs/legacy/v6/basics/helpers-javascriptweekly0.5https://eightshift.com/docs/legacy/v6/basics/helpers-phpweekly0.5https://eightshift.com/docs/legacy/v6/basics/helpers-scssweekly0.5https://eightshift.com/docs/legacy/v6/basics/libraryweekly0.5https://eightshift.com/docs/legacy/v6/basics/manifestweekly0.5https://eightshift.com/docs/legacy/v6/basics/namespacesweekly0.5https://eightshift.com/docs/legacy/v6/basics/restweekly0.5https://eightshift.com/docs/legacy/v6/basics/rest-fieldweekly0.5https://eightshift.com/docs/legacy/v6/basics/rest-routeweekly0.5https://eightshift.com/docs/legacy/v6/basics/tips-tricksweekly0.5https://eightshift.com/docs/legacy/v6/basics/webpackweekly0.5https://eightshift.com/docs/legacy/v6/basics/wp-cliweekly0.5https://eightshift.com/docs/legacy/v6/basics/writing-stylesweekly0.5https://eightshift.com/docs/legacy/v6/versionsweekly0.5https://eightshift.com/docs/legacy/v7/basics/architecture-conceptsweekly0.5https://eightshift.com/docs/legacy/v7/basics/autowiringweekly0.5https://eightshift.com/docs/legacy/v7/basics/backendweekly0.5https://eightshift.com/docs/legacy/v7/basics/basics-introweekly0.5https://eightshift.com/docs/legacy/v7/basics/block-manifestweekly0.5https://eightshift.com/docs/legacy/v7/basics/block-structureweekly0.5https://eightshift.com/docs/legacy/v7/basics/blocksweekly0.5https://eightshift.com/docs/legacy/v7/basics/blocks-attributesweekly0.5https://eightshift.com/docs/legacy/v7/basics/blocks-component-in-blockweekly0.5https://eightshift.com/docs/legacy/v7/basics/blocks-component-manifestweekly0.5https://eightshift.com/docs/legacy/v7/basics/blocks-component-structureweekly0.5https://eightshift.com/docs/legacy/v7/basics/blocks-faqweekly0.5https://eightshift.com/docs/legacy/v7/basics/blocks-global-manifestweekly0.5https://eightshift.com/docs/legacy/v7/basics/blocks-hooksweekly0.5https://eightshift.com/docs/legacy/v7/basics/blocks-importantweekly0.5https://eightshift.com/docs/legacy/v7/basics/blocks-patternsweekly0.5https://eightshift.com/docs/legacy/v7/basics/blocks-registrationweekly0.5https://eightshift.com/docs/legacy/v7/basics/blocks-reusableweekly0.5https://eightshift.com/docs/legacy/v7/basics/blocks-special-use-casesweekly0.5https://eightshift.com/docs/legacy/v7/basics/blocks-storybookweekly0.5https://eightshift.com/docs/legacy/v7/basics/blocks-structureweekly0.5https://eightshift.com/docs/legacy/v7/basics/blocks-stylesweekly0.5https://eightshift.com/docs/legacy/v7/basics/blocks-transformsweekly0.5https://eightshift.com/docs/legacy/v7/basics/blocks-variationsweekly0.5https://eightshift.com/docs/legacy/v7/basics/blocks-wrapperweekly0.5https://eightshift.com/docs/legacy/v7/basics/browser-syncweekly0.5https://eightshift.com/docs/legacy/v7/basics/dynamic-importweekly0.5https://eightshift.com/docs/legacy/v7/basics/example-classweekly0.5https://eightshift.com/docs/legacy/v7/basics/extending-classesweekly0.5https://eightshift.com/docs/legacy/v7/basics/fontsweekly0.5https://eightshift.com/docs/legacy/v7/basics/frontendweekly0.5https://eightshift.com/docs/legacy/v7/basics/global-settingsweekly0.5https://eightshift.com/docs/legacy/v7/basics/helpersweekly0.5https://eightshift.com/docs/legacy/v7/basics/helpers-javascriptweekly0.5https://eightshift.com/docs/legacy/v7/basics/helpers-phpweekly0.5https://eightshift.com/docs/legacy/v7/basics/helpers-scssweekly0.5https://eightshift.com/docs/legacy/v7/basics/libraryweekly0.5https://eightshift.com/docs/legacy/v7/basics/manifestweekly0.5https://eightshift.com/docs/legacy/v7/basics/namespacesweekly0.5https://eightshift.com/docs/legacy/v7/basics/restweekly0.5https://eightshift.com/docs/legacy/v7/basics/rest-fieldweekly0.5https://eightshift.com/docs/legacy/v7/basics/rest-routeweekly0.5https://eightshift.com/docs/legacy/v7/basics/tips-tricksweekly0.5https://eightshift.com/docs/legacy/v7/basics/webpackweekly0.5https://eightshift.com/docs/legacy/v7/basics/wp-cliweekly0.5https://eightshift.com/docs/legacy/v7/basics/writing-stylesweekly0.5https://eightshift.com/docs/legacy/v7/versionsweekly0.5https://eightshift.com/docs/legacy/v8/basics/architecture-conceptsweekly0.5https://eightshift.com/docs/legacy/v8/basics/autowiringweekly0.5https://eightshift.com/docs/legacy/v8/basics/backendweekly0.5https://eightshift.com/docs/legacy/v8/basics/basics-introweekly0.5https://eightshift.com/docs/legacy/v8/basics/block-manifestweekly0.5https://eightshift.com/docs/legacy/v8/basics/block-structureweekly0.5https://eightshift.com/docs/legacy/v8/basics/blocksweekly0.5https://eightshift.com/docs/legacy/v8/basics/blocks-attributesweekly0.5https://eightshift.com/docs/legacy/v8/basics/blocks-component-in-blockweekly0.5https://eightshift.com/docs/legacy/v8/basics/blocks-component-manifestweekly0.5https://eightshift.com/docs/legacy/v8/basics/blocks-component-structureweekly0.5https://eightshift.com/docs/legacy/v8/basics/blocks-faqweekly0.5https://eightshift.com/docs/legacy/v8/basics/blocks-global-manifestweekly0.5https://eightshift.com/docs/legacy/v8/basics/blocks-hooksweekly0.5https://eightshift.com/docs/legacy/v8/basics/blocks-importantweekly0.5https://eightshift.com/docs/legacy/v8/basics/blocks-patternsweekly0.5https://eightshift.com/docs/legacy/v8/basics/blocks-registrationweekly0.5https://eightshift.com/docs/legacy/v8/basics/blocks-reusableweekly0.5https://eightshift.com/docs/legacy/v8/basics/blocks-special-use-casesweekly0.5https://eightshift.com/docs/legacy/v8/basics/blocks-storybookweekly0.5https://eightshift.com/docs/legacy/v8/basics/blocks-structureweekly0.5https://eightshift.com/docs/legacy/v8/basics/blocks-stylesweekly0.5https://eightshift.com/docs/legacy/v8/basics/blocks-transformsweekly0.5https://eightshift.com/docs/legacy/v8/basics/blocks-variationsweekly0.5https://eightshift.com/docs/legacy/v8/basics/blocks-wrapperweekly0.5https://eightshift.com/docs/legacy/v8/basics/browser-syncweekly0.5https://eightshift.com/docs/legacy/v8/basics/dynamic-importweekly0.5https://eightshift.com/docs/legacy/v8/basics/example-classweekly0.5https://eightshift.com/docs/legacy/v8/basics/extending-classesweekly0.5https://eightshift.com/docs/legacy/v8/basics/fontsweekly0.5https://eightshift.com/docs/legacy/v8/basics/frontendweekly0.5https://eightshift.com/docs/legacy/v8/basics/global-settingsweekly0.5https://eightshift.com/docs/legacy/v8/basics/helpersweekly0.5https://eightshift.com/docs/legacy/v8/basics/helpers-javascriptweekly0.5https://eightshift.com/docs/legacy/v8/basics/helpers-phpweekly0.5https://eightshift.com/docs/legacy/v8/basics/helpers-scssweekly0.5https://eightshift.com/docs/legacy/v8/basics/libraryweekly0.5https://eightshift.com/docs/legacy/v8/basics/manifestweekly0.5https://eightshift.com/docs/legacy/v8/basics/namespacesweekly0.5https://eightshift.com/docs/legacy/v8/basics/restweekly0.5https://eightshift.com/docs/legacy/v8/basics/rest-fieldweekly0.5https://eightshift.com/docs/legacy/v8/basics/rest-routeweekly0.5https://eightshift.com/docs/legacy/v8/basics/tips-tricksweekly0.5https://eightshift.com/docs/legacy/v8/basics/webpackweekly0.5https://eightshift.com/docs/legacy/v8/basics/wp-cliweekly0.5https://eightshift.com/docs/legacy/v8/basics/writing-stylesweekly0.5https://eightshift.com/docs/legacy/v8/versionsweekly0.5https://eightshift.com/docs/migrations/10-11weekly0.5https://eightshift.com/docs/migrations/5-6weekly0.5https://eightshift.com/docs/migrations/6-7weekly0.5https://eightshift.com/docs/migrations/7-8weekly0.5https://eightshift.com/docs/migrations/8-9weekly0.5https://eightshift.com/docs/migrations/9-10weekly0.5https://eightshift.com/docs/pluginweekly0.5https://eightshift.com/docs/requirementsweekly0.5https://eightshift.com/docs/themeweekly0.5https://eightshift.com/docs/tutorials/introweekly0.5https://eightshift.com/docs/versionsweekly0.5https://eightshift.com/docs/welcomeweekly0.5https://eightshift.com/forms/addons/create/addon-boilerplateweekly0.5https://eightshift.com/forms/addons/create/introweekly0.5https://eightshift.com/forms/addons/create/requirementsweekly0.5https://eightshift.com/forms/addons/create/utils-libraryweekly0.5https://eightshift.com/forms/addons/free/introweekly0.5https://eightshift.com/forms/addons/introweekly0.5https://eightshift.com/forms/addons/premium/computed-fields/blocksweekly0.5https://eightshift.com/forms/addons/premium/computed-fields/data-flowweekly0.5https://eightshift.com/forms/addons/premium/computed-fields/how-to-useweekly0.5https://eightshift.com/forms/addons/premium/computed-fields/introweekly0.5https://eightshift.com/forms/addons/premium/computed-fields/settingsweekly0.5https://eightshift.com/forms/addons/premium/introweekly0.5https://eightshift.com/forms/basicsweekly0.5https://eightshift.com/forms/features/cacheweekly0.5https://eightshift.com/forms/features/cloudflareweekly0.5https://eightshift.com/forms/features/conditional-tagsweekly0.5https://eightshift.com/forms/features/country-listweekly0.5https://eightshift.com/forms/features/dashboardweekly0.5https://eightshift.com/forms/features/debugweekly0.5https://eightshift.com/forms/features/enrichmentweekly0.5https://eightshift.com/forms/features/entriesweekly0.5https://eightshift.com/forms/features/fallback-emailsweekly0.5https://eightshift.com/forms/features/geolocationweekly0.5https://eightshift.com/forms/features/import-exportweekly0.5https://eightshift.com/forms/features/labelsweekly0.5https://eightshift.com/forms/features/locationsweekly0.5https://eightshift.com/forms/features/migrationsweekly0.5https://eightshift.com/forms/features/multisteps-formsweekly0.5https://eightshift.com/forms/features/securityweekly0.5https://eightshift.com/forms/features/show-asweekly0.5https://eightshift.com/forms/features/spam-preventionweekly0.5https://eightshift.com/forms/features/success-redirectweekly0.5https://eightshift.com/forms/features/trackingweekly0.5https://eightshift.com/forms/features/validationweekly0.5https://eightshift.com/forms/features/wpmlweekly0.5https://eightshift.com/forms/first-formweekly0.5https://eightshift.com/forms/integrations/active-campaignweekly0.5https://eightshift.com/forms/integrations/airtableweekly0.5https://eightshift.com/forms/integrations/clearbitweekly0.5https://eightshift.com/forms/integrations/goodbitsweekly0.5https://eightshift.com/forms/integrations/greenhouseweekly0.5https://eightshift.com/forms/integrations/hubspotweekly0.5https://eightshift.com/forms/integrations/introweekly0.5https://eightshift.com/forms/integrations/jiraweekly0.5https://eightshift.com/forms/integrations/mailchimpweekly0.5https://eightshift.com/forms/integrations/mailerweekly0.5https://eightshift.com/forms/integrations/mailerliteweekly0.5https://eightshift.com/forms/integrations/momentsweekly0.5https://eightshift.com/forms/integrations/pipedriveweekly0.5https://eightshift.com/forms/integrations/workableweekly0.5https://eightshift.com/forms/javascript/events/available-eventsweekly0.5https://eightshift.com/forms/javascript/events/how-to-useweekly0.5https://eightshift.com/forms/javascript/introweekly0.5https://eightshift.com/forms/javascript/manual-initiationweekly0.5https://eightshift.com/forms/javascript/state/weekly0.5https://eightshift.com/forms/javascript/state/captchaweekly0.5https://eightshift.com/forms/javascript/state/conditional-tagsweekly0.5https://eightshift.com/forms/javascript/state/enrichmentweekly0.5https://eightshift.com/forms/javascript/state/formweekly0.5https://eightshift.com/forms/javascript/state/how-to-useweekly0.5https://eightshift.com/forms/javascript/state/stepweekly0.5https://eightshift.com/forms/javascript/state/storeweekly0.5https://eightshift.com/forms/javascript/state/utilsweekly0.5https://eightshift.com/forms/known-issuesweekly0.5https://eightshift.com/forms/php/actions/how-to-useweekly0.5https://eightshift.com/forms/php/actions/migrationsweekly0.5https://eightshift.com/forms/php/filters/admin/settings-dataweekly0.5https://eightshift.com/forms/php/filters/block/checkboxes/additional-contentweekly0.5https://eightshift.com/forms/php/filters/block/country/additional-contentweekly0.5https://eightshift.com/forms/php/filters/block/country/alternative-data-setweekly0.5https://eightshift.com/forms/php/filters/block/date/additional-contentweekly0.5https://eightshift.com/forms/php/filters/block/field/additional-contentweekly0.5https://eightshift.com/forms/php/filters/block/field/style-classesweekly0.5https://eightshift.com/forms/php/filters/block/field/style-optionsweekly0.5https://eightshift.com/forms/php/filters/block/file/additional-contentweekly0.5https://eightshift.com/forms/php/filters/block/file/preview-remove-labelweekly0.5https://eightshift.com/forms/php/filters/block/form-selector/additional-contentweekly0.5https://eightshift.com/forms/php/filters/block/form-selector/form-templatesweekly0.5https://eightshift.com/forms/php/filters/block/form/additional-contentweekly0.5https://eightshift.com/forms/php/filters/block/form/additional-hidden-fieldsweekly0.5https://eightshift.com/forms/php/filters/block/form/data-type-selectorweekly0.5https://eightshift.com/forms/php/filters/block/form/global-msg-headingsweekly0.5https://eightshift.com/forms/php/filters/block/form/hide-global-msg-timeoutweekly0.5https://eightshift.com/forms/php/filters/block/form/phone-syncweekly0.5https://eightshift.com/forms/php/filters/block/form/pre-response-addon-dataweekly0.5https://eightshift.com/forms/php/filters/block/form/pre-response-success-redirect-dataweekly0.5https://eightshift.com/forms/php/filters/block/form/redirect-timeoutweekly0.5https://eightshift.com/forms/php/filters/block/form/success-redirect-urlweekly0.5https://eightshift.com/forms/php/filters/block/form/success-redirect-variationweekly0.5https://eightshift.com/forms/php/filters/block/form/success-redirect-variation-optionsweekly0.5https://eightshift.com/forms/php/filters/block/form/tracking-additional-dataweekly0.5https://eightshift.com/forms/php/filters/block/form/tracking-event-nameweekly0.5https://eightshift.com/forms/php/filters/block/forms/style-optionsweekly0.5https://eightshift.com/forms/php/filters/block/input/additional-contentweekly0.5https://eightshift.com/forms/php/filters/block/phone/additional-contentweekly0.5https://eightshift.com/forms/php/filters/block/radios/additional-contentweekly0.5https://eightshift.com/forms/php/filters/block/rating/additional-contentweekly0.5https://eightshift.com/forms/php/filters/block/select/additional-contentweekly0.5https://eightshift.com/forms/php/filters/block/step/component-nextweekly0.5https://eightshift.com/forms/php/filters/block/step/component-prevweekly0.5https://eightshift.com/forms/php/filters/block/submit/additional-contentweekly0.5https://eightshift.com/forms/php/filters/block/submit/componentweekly0.5https://eightshift.com/forms/php/filters/block/textarea/additional-contentweekly0.5https://eightshift.com/forms/php/filters/blocks/additional-blocksweekly0.5https://eightshift.com/forms/php/filters/blocks/allowed-blocksweekly0.5https://eightshift.com/forms/php/filters/blocks/media-breakpointsweekly0.5https://eightshift.com/forms/php/filters/enrichment/manual-mapweekly0.5https://eightshift.com/forms/php/filters/entries/pre-post-paramsweekly0.5https://eightshift.com/forms/php/filters/general/http-request-timeoutweekly0.5https://eightshift.com/forms/php/filters/general/localeweekly0.5https://eightshift.com/forms/php/filters/general/scripts-dependencyweekly0.5https://eightshift.com/forms/php/filters/geolocation/countriesweekly0.5https://eightshift.com/forms/php/filters/geolocation/db-locationweekly0.5https://eightshift.com/forms/php/filters/geolocation/phar-locationweekly0.5https://eightshift.com/forms/php/filters/how-to-useweekly0.5https://eightshift.com/forms/php/filters/integrations/active-campaignweekly0.5https://eightshift.com/forms/php/filters/integrations/airtableweekly0.5https://eightshift.com/forms/php/filters/integrations/clearbitweekly0.5https://eightshift.com/forms/php/filters/integrations/goodbitsweekly0.5https://eightshift.com/forms/php/filters/integrations/greenhouseweekly0.5https://eightshift.com/forms/php/filters/integrations/hubspotweekly0.5https://eightshift.com/forms/php/filters/integrations/jiraweekly0.5https://eightshift.com/forms/php/filters/integrations/mailchimpweekly0.5https://eightshift.com/forms/php/filters/integrations/mailerweekly0.5https://eightshift.com/forms/php/filters/integrations/mailerliteweekly0.5https://eightshift.com/forms/php/filters/integrations/momentsweekly0.5https://eightshift.com/forms/php/filters/integrations/pipedriveweekly0.5https://eightshift.com/forms/php/filters/integrations/workableweekly0.5https://eightshift.com/forms/php/filters/scripts/dependency-adminweekly0.5https://eightshift.com/forms/php/filters/scripts/dependency-blocks-editorweekly0.5https://eightshift.com/forms/php/filters/scripts/dependency-blocks-frontendweekly0.5https://eightshift.com/forms/php/filters/scripts/dependency-themeweekly0.5https://eightshift.com/forms/php/filters/scripts/routes-privateweekly0.5https://eightshift.com/forms/php/filters/scripts/routes-publicweekly0.5https://eightshift.com/forms/php/filters/validation/force-mimetype-from-fsweekly0.5https://eightshift.com/forms/php/global-variables/geolocationweekly0.5https://eightshift.com/forms/php/global-variables/google-recaptchaweekly0.5https://eightshift.com/forms/php/global-variables/how-to-useweekly0.5https://eightshift.com/forms/php/global-variables/integrations/active-campaignweekly0.5https://eightshift.com/forms/php/global-variables/integrations/airtableweekly0.5https://eightshift.com/forms/php/global-variables/integrations/clearbitweekly0.5https://eightshift.com/forms/php/global-variables/integrations/goodbitsweekly0.5https://eightshift.com/forms/php/global-variables/integrations/greenhouseweekly0.5https://eightshift.com/forms/php/global-variables/integrations/hubspotweekly0.5https://eightshift.com/forms/php/global-variables/integrations/jiraweekly0.5https://eightshift.com/forms/php/global-variables/integrations/mailchimpweekly0.5https://eightshift.com/forms/php/global-variables/integrations/mailerliteweekly0.5https://eightshift.com/forms/php/global-variables/integrations/momentsweekly0.5https://eightshift.com/forms/php/global-variables/integrations/pipedriveweekly0.5https://eightshift.com/forms/php/global-variables/integrations/workableweekly0.5https://eightshift.com/forms/php/helpersweekly0.5https://eightshift.com/forms/php/introweekly0.5https://eightshift.com/forms/php/wp-cliweekly0.5https://eightshift.com/forms/tutorials/playlistweekly0.5https://eightshift.com/forms/welcomeweekly0.5https://eightshift.com/weekly0.5 \ No newline at end of file diff --git a/storybook/index.html b/storybook/index.html index dd08fb958..8d138be00 100644 --- a/storybook/index.html +++ b/storybook/index.html @@ -14,9 +14,9 @@ - - - + + +